英创信息技术工控主板EM9360的GPIO介绍
发表于5年前 | 作者: blog | 分类: 嵌入式工控机 | 破蛋日:2020年01月31日 |
接口,均带有标准的WinCE驱动程序,支持应用程序通过WinCE相应的API函数来操作各路网络接口。此外EM9360还与英创公司其他ARM9主板一样,带有精简ISA扩展总线位通用GPIO,可参考英创网站的相关信息,工控主板,而本文则主要介绍EM9360主板中12位GPIO的各种使用方法。
EM9360上电后的各位IO均处于数字输入状态,通过相应的API函数(定义在em9360_isa_dio.h文件中)这12位GPIO可独立设置为输入或输出,输出电平也可独立设置。
基本的精简ISA总线为地址总线,对大多数IO类型的扩展,5位地址线已足够使用。为了支持存储器类型的扩展,EM9360提供对高位地址总线复用管脚。为了激活高位地址总线,应用程序需在程序初始化阶段,通用调用API函数
进行一次“哑读”即可。具体需要激活的高位地址还可通过偏移量nOffset的输入值来选择,但至少需要激活SA5和SA6这2位地址总线,而其他的还是保持为GPIO,则nOffset = 0x007F;
·精简ISA总线KB的访问空间,而CS0#则可支持最大8KB的访问空间,所以通常用CS0#作为
器单元的片选控制。·若客户应用还需要访问更大空间,EM9360还可引出SA13 – SA15信号,使CS0#的访问空间达到64KB。
精简ISA总线扩展的存储器单元一般只能用作数据存储,不能作为程序运行空间。
EM9360支持时间同步功能,基本的使用方法是应用程序打开“PPS1:”设备驱动程序,此时GPIO0将自动转为同步脉冲输入PPS_IN#(低电平有效)。PPS驱动程序被PPS_IN#脉冲触发后,将立即发送时间同步事件,供上层应用线程做必要处理。根据用户设置,PPS驱动程序还可在GPIO1上输出同步脉冲PPS_OUT#(同样是低电平有效),以及自动对当前时间进行整秒调整。
基本的精简ISA总线条外部硬件中断输入IRQ1,上升沿有效。若客户应用需要扩展更多的通讯接口,如增加第二路CAN接口、增加8路串口等等,这时仅仅一条外部中断就不够了,需要更多的外部中断支持,GPIO2和GPIO3则可用于外部中断输入。工控主板!事实上EM9360的驱动已可支持类似这样的扩展,感兴趣的客户可与英创公司联系了解进一步的使用方法。
GPIO6–GPIO11还可分别作为COM2 – COM7的RTS#控制信号,低电平有效。对RS485接口,若需要使用RTS方向控制方案,则在设置串口参数时,需要特别地把RTS控制段设置为RTS_CONTROL_TOGGLE,相关的代码如下所示:
在使用RS485通讯时,一般把RTS#有效(低电平)作为发送状态,RTS#无效(高电平)为接收状态。从发送状态切换回接收状态,作为方向控制信号的RTS#,可能会有最长1ms的延时,因此为了防止系统出现收发状态冲突的情况,RS485的波特率最好不超过9600bps。
), 0);注意在应用程序退出时,应卸载该驱动程序,以避免矩阵键盘驱动程序被反复加载。
我们会根据客户的应用需求,对EM9360的GPIO赋予更多的功能,但无论GPIO有多少功能,在面向具体应用时,每位GPIO只能选择一种应用。对此,客户在进行GPIO功能配置时需特别小心,避免在一个管脚选择多种功能,造成运行结果异常,长期处于这种异常状态还可能导致主板硬件损坏。
文本标签:工控主板
本文地址:http://www.huapuxin.cn/blog/2711.html
除非注明,本站所有文章皆为原创,转载请以链接形式标明本文地址