0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术工控主板EM9360的GPIO介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2019-11-14 09:34 次阅读

英创公司的ARM9工控主板产品 EM9360是一款预装WinCE操作系统,以多种通讯接口、支持各种扩展为其技术特色。EM9360的板载的3路以太网接口、6路串口以及1路CAN接口,均带有标准的WinCE驱动程序,支持应用程序通过WinCE相应的API函数来操作各路网络接口。此外EM9360还与英创公司其他ARM9主板一样,带有精简ISA扩展总线以及12位通用GPIO,精简ISA总线的基本使用方法可参考英创网站的相关信息,而本文则主要介绍EM9360主板中12位GPIO的各种使用方法。
EM9360的12位通用数字IO的各种使用方法列表如下:

数字IO

高位地址

时间同步

外部中断

RS485

矩阵键盘

GPIO0

PPS_IN#

GPIO1

PPS_OUT#

GPIO2

IRQ2

GPIO3

IRQ3

GPIO4

ISA_SA5

4X4矩阵键盘

GPIO5

ISA_SA6

GPIO6

ISA_SA7

COM2_RST#

GPIO7

ISA_SA8

COM3_RST#

GPIO8

ISA_SA9

COM4_RST#

GPIO9

ISA_SA10

COM5_RST#

GPIO10

ISA_SA11

COM6_RST#

GPIO11

ISA_SA12

COM7_RST#

通用GPIO
EM9360上电后的各位IO均处于数字输入状态,通过相应的API函数(定义在em9360_isa_dio.h文件中)这12位GPIO可独立设置为输入或输出,输出电平也可独立设置。
精简ISA总线的高位地址线
基本的精简ISA总线只包含低5为地址总线SA0 – SA4,对大多数IO类型的扩展,5位地址线已足够使用。为了支持存储器类型的扩展,EM9360提供对高位地址总线的支持,其中的SA5 – SA12与GPIO4 – GPIO11复用管脚。为了激活高位地址总线,应用程序需在程序初始化阶段,通用调用API函数

int ISA_ReadUchar( int nSeg, UINT nOffset, UCHAR* pRdValue );

进行一次“哑读”即可。具体需要激活的高位地址还可通过偏移量nOffset的输入值来选择,但至少需要激活SA5和SA6这2位地址总线。举例说明如下:

1、激活SA5和SA6,而其他的还是保持为GPIO,则nOffset = 0x007F;

2、激活SA5–SA7,而其他的还是保持为GPIO,则nOffset = 0x00FF;

3、激活SA5–SA12,最大访问8KB空间,则nOffset = 0x1FFF;

在使用高位地址扩展时,需要注意以下事宜:

·精简ISA总线有2个片选输出,其中CS1#只支持最大1KB的访问空间,而CS0#则可支持最大8KB的访问空间,所以通常用CS0#作为存储器单元的片选控制。

·若客户应用还需要访问更大空间,EM9360还可引出SA13 – SA15信号,使CS0#的访问空间达到64KB。

精简ISA总线扩展的存储器单元一般只能用作数据存储,不能作为程序运行空间。

·激活的地址线应当是由小至大,连续地址空间。

时间同步功能

EM9360支持时间同步功能,基本的使用方法是应用程序打开“PPS1:”设备驱动程序,此时GPIO0将自动转为同步脉冲输入PPS_IN#(低电平有效)。PPS驱动程序被PPS_IN#脉冲触发后,将立即发送时间同步事件,供上层应用线程做必要处理。根据用户设置,PPS驱动程序还可在GPIO1上输出同步脉冲PPS_OUT#(同样是低电平有效),以及自动对当前时间进行整秒调整。

更多的外部中断

基本的精简ISA总线只提供1条外部硬件中断输入IRQ1,上升沿有效。若客户应用需要扩展更多的通讯接口,如增加第二路CAN接口、增加8路串口等等,这时仅仅一条外部中断就不够了,需要更多的外部中断支持,GPIO2和GPIO3则可用于外部中断输入。事实上EM9360的驱动已可支持类似这样的扩展,感兴趣的客户可与英创公司联系了解进一步的使用方法。

作为RS485接口的RST#

GPIO6–GPIO11还可分别作为COM2 – COM7的RTS#控制信号,低电平有效。对RS485接口,若需要使用RTS方向控制方案,则在设置串口参数时,需要特别地把RTS控制段设置为RTS_CONTROL_TOGGLE,相关的代码如下所示:

DCB dcb; // 定义参数控制块

GetCommState( m_hSer, &dcb ); // 读取当前参数块

dcb.fRtsControl = RTS_CONTROL_TOGGLE; // 设置RTS方向控制

SetCommState(m_hSer, &dcb); // 重设串口参数

上述代码中m_hSer为打开串口文件“COMx:”的文件句柄。

在使用RS485通讯时,一般把RTS#有效(低电平)作为发送状态,RTS#无效(高电平)为接收状态。从发送状态切换回接收状态,作为方向控制信号的RTS#,可能会有最长1ms的延时,因此为了防止系统出现收发状态冲突的情况,RS485的波特率最好不超过9600bps。

矩阵键盘

EM9360支持由GPIO驱动的4×4矩阵键盘,具体配置如下:

虚拟键码

GPIO5 - KIN0

GPIO7 - KIN1

GPIO8 - KIN2

GPIO10 - KIN3

GPIO4 - KOUT0

VK_ESCAPE

VK_0

VK_DECIMAL

VK_BACK

GPIO6 - KOUT1

VK_CAPITAL

VK_1

VK_2

VK_3

GPIO8 - KOUT2

VK_SPACE

VK_4

VK_5

VK_6

GPIO10 - KOUT3

VK_RETURN

VK_7

VK_8

VK_9

EM9360已内置了基于GPIO的矩阵键盘驱动程序,加载方法是在应用程序中调用:

HANDLE hDevice = NULL;
hDevice = ActivateDevice( TEXT('Drivers\\gpio_keypad'), 0);

注意在应用程序退出时,应卸载该驱动程序,以避免矩阵键盘驱动程序被反复加载。

我们会根据客户的应用需求,对EM9360的GPIO赋予更多的功能,但无论GPIO有多少功能,在面向具体应用时,每位GPIO只能选择一种应用。对此,客户在进行GPIO功能配置时需特别小心,避免在一个管脚选择多种功能,造成运行结果异常,长期处于这种异常状态还可能导致主板硬件损坏。
已购买EM9360的客户,若需要使用本文所介绍的新增功能,如RS485 RTS#方向控制等,一般需要更新内核和SDK。可以把主板寄回由我们免费更新内核,并从英创公司网站上下载新的SDK,就可使用本文所介绍的全部功能了。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34605
收藏 人收藏

    评论

    相关推荐

    支持Linux高级客户自行移植内核

    上市)  该项服务具体说明和实施流程参见:支持客户进行Linux移植  需要该服务的客户需与签订技术保密协议,并承诺严格履行协议:
    发表于 01-18 13:52

    工控主板产品选型指南

      成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有超16年的从业经历。
    发表于 02-28 11:28

    主板中预装Modbus通讯协议

    modbus_Master.h,与原来的静态库保持不变,相应各个API函数的说明请参见网站技术天地文章《Wince下的Modbus主控通讯协议》、《
    发表于 10-20 10:40

    WinCE工控主板对音频播放的支持

    连接。工控主板的I2S接口与GPIO是复用的,除I2S外,还需要使用几位GPIO模拟一路SP
    发表于 08-24 11:16

    英创工控主板的掉电数据保护功能

    本文所指的英创工控主板包括EM9160、EM9260、EM9360 以及EM9161 这4 个产
    发表于 06-09 16:20 29次下载

    英创信息技术ARM9工控板利用COM组件远程设置网络过程

    为了满足客户多网络的需求,英创公司推出了有3个网络接口的嵌入式主板——EM9360
    的头像 发表于 11-05 09:46 1135次阅读
    英创<b class='flag-5'>信息技术</b>ARM9<b class='flag-5'>工控</b>板利用COM组件远程设置网络过程

    英创信息技术工控主板的复位管理介绍

    AT91SAM9芯片的各个产品线的启动特点,这些产品包括:EM9160、EM9260、EM9360EM9360G、EM9160L等。用户在
    的头像 发表于 11-14 10:03 1339次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>的复位管理<b class='flag-5'>介绍</b>

    英创信息技术英创工控主板可编程时钟的应用介绍

    时钟信号来实现。为此,英创提供了一个静态库函数EM9x60_Timer_API.lib,在EM9160、EM9260与EM9360系统上,可以实现输出高精度的时钟信号,频率范围在0Hz
    的头像 发表于 11-15 09:57 1171次阅读
    英创<b class='flag-5'>信息技术</b>英创<b class='flag-5'>工控</b><b class='flag-5'>主板</b>可编程时钟的应用<b class='flag-5'>介绍</b>

    英创信息技术工控主板EM9160介绍

    在基于工控主板EM9160的嵌入式应用中,经常需要与具有SPI接口的芯片或电路单元,进行数据通讯。通常情况下,我们建议采用基于GPIO的SPI通讯协议实现方案,其优点是灵活性,客户可使
    的头像 发表于 01-14 11:16 1123次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>EM</b>9160<b class='flag-5'>介绍</b>

    英创信息技术主板EM9360 IRIG-B码校时方案

    EM9360是英创公司推出的基于AT91SAM9260的同时支持3网口,6串口和CAN通讯接口的高性能ARM9工控主板。经过我们精心的设计,使得EM9360还具有了强大的扩展功能,最终
    的头像 发表于 01-14 14:31 1214次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>主板</b><b class='flag-5'>EM9360</b> IRIG-B码校时方案

    英创信息技术EM9560工控主板GPIO的使用介绍

    EM9560工控主板是以EM9460工控主板为基础,并针对客户应用的需求,增加了更多通用数字IO
    的头像 发表于 01-15 14:48 1319次阅读

    英创信息技术EM9280的GPIO特色及应用简介

    EM9280是英创公司即将推出的新型工控主板产品。与英创公司的其他主板产品一样,EM9280带有32位通用数字IO(以下简称
    的头像 发表于 01-15 15:28 1040次阅读

    英创信息技术EM9280工控主板对音频的支持介绍

    对于需要使用音频播放应用的工控系统,我们设计了专门的音频扩展模块ETA972,ETA972可与英创的大部份工控主板配合使用。EM9280是我们主推的一款高价比
    的头像 发表于 01-16 09:15 1305次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>EM</b>9280<b class='flag-5'>工控</b><b class='flag-5'>主板</b>对音频的支持<b class='flag-5'>介绍</b>

    英创信息技术工控主板快速GPIO操作介绍

    英创公司EM928x系列和EM335x系列的工控主板均有32位GPIO0 GPIO31并且为可独
    的头像 发表于 01-17 09:56 2256次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>快速<b class='flag-5'>GPIO</b>操作<b class='flag-5'>介绍</b>

    英创信息技术WinCE工控主板对音频播放的支持

    。英创工控主板的I2S接口与GPIO是复用的,除I2S外,还需要使用几位GPIO模拟一路SPI接口,用于对CS4272进行初始化设置。英创各系列工控
    的头像 发表于 02-06 11:26 1426次阅读
    英创<b class='flag-5'>信息技术</b>WinCE<b class='flag-5'>工控</b><b class='flag-5'>主板</b>对音频播放的支持