EM335x是基于Cortex-A8的高性价比嵌入式主板产品线,包括已推出的EM335x、EM3352,以及即将推出的EM3354、EM3356等(本文后续统称EM335x)。EM335x可通过它的精简ISA总线,连接英创的多串口扩展模块ETA503或ETA508,方便的实现EM335x的多串口扩展。本文主要介绍EM335x多串口扩展的相关技术事宜。
精简ISA总线接口
EM335x评估底板(EM335x-EVB)的CN2为精简ISA总线接口,其接口信号与GPIO12 – GPIO23复用管脚。对串口扩展模块来说使用的具体管脚信号如下表所示:
ISA_SD[0..7]为地址数据时分复用的双向总线信号,与控制信号ISA_CS#、ISA_ADV#、ISA_RD#和ISA_WE#配合,实现总线数据的读入和写出。具体的总线时序请参考EM335x数据手册。ISA_IRQ为多串口扩展模块的共享中断请求输入,必须由EM335x主板的GPIO24充当。ISA信号以#为后缀的信号,表示低电平有效。
多串口扩展模块ETA503 / ETA508
ETA503为4串口扩展模块,ETA508为8串口扩展模块。ETA503扩展的4路串口均为9线制标准UART串口,而ETA508扩展的8路串口则为3线制串口。两种模块的信号电平均为+3.3V LVTTL电平。有关这种模块详细的技术说明请参考它们的数据手册。两种模块均通过其CN1插座与EM335x的精简ISA总线相连,具体信号说明如下:
由于ETA508都是从英创EM9X60产品线发展起来的,为了兼容两种产品线,ISA_SD4 – ISA_SD7这4条数据线在CN1中被重复放置了两次,在设计接口电路时,上述所列的信号均不能少。另ETA508模块的电源和地线是通过模块的CN2接口引入的。
注意:
(1)ETA503的CN1的布局方向与ETA508是不同的!为了方便客户PCB的设计,英创工程师专门制作了ETA503/ETA508兼容的PCB器件库,需要的客户可来邮件索取。
(2)EM335x的所有ISA接口信号均为3.3V LVTTL电平,且不是+5V兼容的,因此禁止把5V信号或电源接到ISA信号管脚上,否则会造成EM335x主板的损坏!
(3)由于ISA总线的速度较高,ETA503 / ETA508在PCB中的布局应尽可能靠近EM335x总线接口所在位置,即CN2,以保证总线信号的完整性。
应用程序对扩展串口的操作
无论是在Linux平台,还是在WinCE平台,应用程序对扩展串口的操作,都是通过打开其对应的设备驱动文件来实现的,其具体的设备文件名如下:
需要注意的是在WinCE平台,扩展串口号为COM20 – COM27,与主板上的串口号(COM2 – COM7)并不连续,而Linux平台的设备节点名称是与主板串口节点连续命名的。打开串口后的操作,都可通过标准函数实现各个功能。
尽管每路扩展串口的最高波特率均为115200bps,但考虑尽可能降低ISA总线的负载,建议把高波特率串口首先配置在主板的COM2 – COM6(CE平台)或ttyS1 – ttyS5(Linux平台),然后再在ETA503 / ETA508上部署,最后使用EM335x的低速串口COM7或ttyS6。
串口驱动程序的加载
ETA503 / ETA508的驱动程序已经包含在EM335x的内核中,通过适当方式加载这个驱动,就可进行串口操作了。
对Linux平台,驱动程序为eta503_serial.ko,存放在跟文件系统的/lib/modules//3.12.10路径下,用标准insmod命令即可实现加载。
对CE平台,在启动系统后,telnet登录到CE的命令窗口,若要启动ETA503,则带参数4执行eta503set.exe:
若要启动ETA508,则带参数8执行eta503set.exe:
执行命令后重启系统,ETA503或ETA508的驱动就会自动加载。应用程序就可操作这些串口了。
评估与技术支持
我们为第一次使用ETA503或ETA508的客户准备了评估模块,可与EM335x的评估套件直接连接使用,如图所示:
早期售出的EM335x主板有可能没有包括ETA503 / ETA508的驱动。若有串口扩展需求的客户,请联系英创技术支持(support@emtronix.com)以更新内核。
ETA503 / ETA508是英创自由知识产权产品,没有提供它们的电路图。数据手册仅对模块管脚信号进行说明。
全部0条评论
快来发表一下你的评论吧 !