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

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

3天内不再提示

基于EM9460的ETA501使用方法

英创信息技术 作者:英创信息技术 2019-10-27 11:09 次阅读

异步串行通讯口(UART)是在工业自动化中应用最为广泛的通讯接口之一,其接口形式包括RS232C、RS485RS422。作为以网络通讯为特色的英利嵌入式Linux主板,常常会面临支持多串口的应用。如按照国电标准,对于智能电表终端设备就有8串口的要求;国家环保局对监测设备的标准规范中也有8串口的要求等。目前英利EM9x60系列工控主板上均自带6个串口,为了方便客户高效、低成本地实现多串口的扩展,我们专门设计了采用USB接口转换的2串口扩展单元ETA501作为客户实际扩展的参考。ETA501模块利用英利工控主板上的一个USB接口即可很方便地实现基于英利Linux嵌入式主板的8串口应用方案。同时,通过精简ISA总线扩展串口的应用方案参见《英利工控主板10串口应用方案》。

本文将以EM9460为例介绍ETA501的使用方法,该方法同样适用于英利的其他Linux嵌入式主板产品,如EM9160、EM9260等。

该方案的系统构成如下图所示:

由EM9460嵌入式主板与ETA501构成的8串口系统

ETA501是USB转双串口扩展模块,USB2.0兼容,支持即插即用。扩展的每个串口通道支持7、8或9位数据位,1或2位停止位,奇偶校验;支持从50bps到12Mbps的通讯波特率;具有自动硬件或软件流控功能。用户可通过以下步骤来快速实现8串口应用方案:

1、原型评估
ETA501产品外观及结构布局如下:

ETA501 USB转双串口模块

ETA501布局图

其中,CN1和CN2是两个9线TTL电平串口(输出高电平3.3V,输入5V兼容),它们按相同的线序排列,信号定义如下:

信号名称及简要描述 PIN# 信号名称及简要描述
DCD# 1 2 DSR#
RXD 3 4 RTS#
TXD 5 6 CTS#
DTR# 7 8 RI#
GND 9 10 VCC(+5V)


CN3:标准USB Plugs,信号定义如下:

信号名称及简要描述 PIN#
1 V BUS(+5V)
2 D-
3 D+
4 GND


通讯指示灯:
D1:TXD1——扩展串口1数据发送指示灯
D2:RXD1——扩展串口1数据接收指示灯
D3:TXD2——扩展串口2数据发送指示灯
D4:RXD2——扩展串口2数据接收指示灯

从英利公司购买EM9x60开发评估套件和ETA501,通过USB进行连接,可进行快速的功能评估。USB转串口的驱动程序已经固化在英利嵌入式Linux工控主板中,在此基础上,客户可利用英利公司为ETA501提供的基本通讯应用程序源代码快速评估多串口扩展单元的基本性能是否满足其具体的应用需求。

2、设计应用产品
ETA501的接插件布局以及信号定义详见《ETA501 USB转双串口模块使用手册》,客户在作具体应用设计时,可将ETA501直接设计在相应的应用电路中,根据需要修改各个串口的驱动形式,如RS232C、RS485、RS422等。在应用底板设计过程中当然还需要参考相应嵌入式Linux主板的评估底板电路原理图和PCB图。

3、应用程序开发
在Linux应用环境中对扩展的双串口的编程方法与标准的串口应用程序完全一样,只是需要注意打开扩展串口的设备名称有所不同,对于扩展串口需采用“/dev/ttyUSBx”,而不是板卡上的串口名称“/dev/ttySx”。

英利所提供的扩展驱动库文件放置在根文件系统/lib/modules/2.6.30目录下,相关的驱动文件包括:
/lib/modules/2.6.30/usbserial.ko
/lib/modules/2.6.30/vizzini.ko

在使用时需要首先载入该驱动功能模块,在Linux操作系统下,一般是利用系统的内部指令insmod来实现向系统内核载入模块:
[root@EM9X60 /mnt/nandflash]# insmod /lib/modules/2.6.30/usbserial.ko
[root@EM9X60 /mnt/nandflash]#insmod /lib/modules/2.6.30/vizzini.ko

在嵌入式领域的应用中,往往是需要自动加载模式的方式,这一功能可通过编程来实现,利用C++中的构造函数以及析构函数可以很好地实现驱动功能模块的自动载入和自动卸载。

定义一个class CSerial 串口通讯类,在该类中主要实现串口通讯应用的功能。

其构造函数:
CSerial:: CSerial ( )
{
system( 'insmod /lib/modules/2.6.30/usbserial.ko' ); // 载入扩展串口驱动模块
system( 'insmod /lib/modules/2.6.30/vizzini.ko' );
}

对应的析构函数:
CSerial::~CSerial( )
{
system( 'rmmod vizzini.ko' ); // 卸载驱动模块
system( 'rmmod usbserial.ko' );
}

应用程序中,一旦定义了class CSerial 的实例就实现了键盘模块的自动载入。后续就可按照标准打开串口设备文件的方式操作扩展串口。在Linux系统中,所有的设备文件都位于“/dev”目录下,EM9460板卡上6个串口所对应的设备名依次为:“/dev/ttyS1”、“/dev/ttyS2”、“/dev/ttyS3”、“/dev/ttyS4”、“/dev/ttyS5”、“/dev/ttyS6”,通过ETA501 USB转双串口的设备名依次为:“/dev/ttyUSB0”、“/dev/ttyUSB1”。

为了方便统一应用程序,可以做以下的操作,如:

if( PortNo>6 )
sprintf( portname, '/dev/ttyUSB%d', PortNo-6); // PortNo为串口端口号,从7开始
else
sprintf( portname, '/dev/ttyS%d', PortNo ); // PortNo为串口端口号,从1开始
m_fd = open( portname,O_RDWR | O_NOCTTY | O_NONBLOCK);

具体串口通讯的细节可参考《英利Linux工控主板应用程序编程手册》中的相关章节。如果还需要更多的串口扩展,可参阅《英利工控主板10串口应用方案》中的介绍作进一步的串口扩展。客户可以综合这两个方案并进行拓展应用,以扩展出符合自己需求数量的串口。

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

    关注

    87

    文章

    10987

    浏览量

    206723
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34605
收藏 人收藏

    评论

    相关推荐

    ETA501 USB转双串口模块使用手册详细资料免费下载

    ETA501 是一款基于英利嵌入式 Linux 工控主板的 USB 转双串口模块,USB2.0 兼容,支持即插即用。ETA501 扩展的每个串口通道提供 128 个字节的发送 FIFO 以及 384
    发表于 11-21 08:00 1次下载
    <b class='flag-5'>ETA501</b> USB转双串口模块使用手册详细资料免费下载

    EM9460工控主板数据手册资料免费下载

    EM9460 是一款专为高效低成本工控应用而设计的嵌入式 Linux 主板,其硬件核心为工业级的 ARM9 芯片 AT91SAM9260,预装嵌入式 Linux-2.6 实时多任务操作系统,并针对
    发表于 11-21 08:00 12次下载

    EM9460工控主板为例的串口扩展应用方案

    本文以EM9460工控主板为例,然而该方案完全适用于英利EM9x60系列工控主板。
    的头像 发表于 10-27 11:14 2308次阅读
    <b class='flag-5'>EM9460</b>工控主板为例的串口扩展应用方案

    基于EM9000的数采控制方案

    这个ARM解决方案是基于EM9000基础上,配合ETA197、ETA724、ETA203、ETA205、
    的头像 发表于 10-27 11:29 1193次阅读
    基于<b class='flag-5'>EM</b>9000的数采控制方案

    英创信息技术EM9560工控主板简介

    EM9460是英创公司2011年初推出的一款基于Linux-2.6.30操作系统的低成本嵌入式主板产品,该产品以其优异的性价比得到了广大客户的认可。随着EM9460的深入应用,客户又对我们提出
    的头像 发表于 01-15 14:48 1252次阅读

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

    EM9560工控主板是以EM9460工控主板为基础,并针对客户应用的需求,增加了更多通用数字IO,于2012年初推出的一款低成本嵌入式主板产品。该产品保持了Linux操作系统作为客户应用程序的软件
    的头像 发表于 01-15 14:48 1319次阅读

    英创信息技术EM9560工控主板专用数字IO的使用介绍

    平台,其基本接口功能API函数上也与前期产品EM9460完全兼容,从而保证了客户的应用程序可不加修改的直接运行于EM9560。 为了充分利用主板宝贵的管脚资源,我们为EM9560的精简ISA总线配置了更加灵活的
    的头像 发表于 01-15 14:25 1185次阅读
    英创信息技术<b class='flag-5'>EM</b>9560工控主板专用数字IO的使用介绍

    英创信息技术EM9X60利用串口实现ISO7816介绍

    英利EM9160、EM9460系列产品,均以丰富的串口资源为特色,已大量地应用于工业环境中,特别是在电力系统中应用。最近公司即将推出一款新的产品EM9560工控主板,该主板是是以EM9460
    的头像 发表于 01-15 14:49 2178次阅读
    英创信息技术<b class='flag-5'>EM</b>9X60利用串口实现ISO7816介绍

    英创信息技术EM9460 USB虚拟串口应用简介

    ,最方便的方法就是利用EM9460中的USB device设备口和PC机的USB主控口相连,在EM9460的USB device驱动实现将其映射为一个虚拟串口的功能,PC和EM9460
    的头像 发表于 02-03 08:59 1416次阅读
    英创信息技术<b class='flag-5'>EM9460</b> USB虚拟串口应用简介

    英创信息技术其他功能模块简介

    ETA972 音频播放模块 ETA501 USB转双串口通信模块 ETA972是可与英创工控主板配套使用的音频模块,实现音频解码模拟输出。主要是与CE版本的ESM6802、ESM3354
    的头像 发表于 02-12 11:07 1035次阅读

    示波器的使用方法(三):示波器的使用方法详解

    示波器的使用方法并非很难,重点在于正确使用示波器的使用方法。往期文章中,小编对模拟示波器的使用方法和数字示波器的使用方法均有所介绍。为增进大家对示波器的
    的头像 发表于 12-24 20:37 2471次阅读

    AD9460 SIMULINK ADIsimADC型号

    AD9460 Simulink ADIsimADC Model
    发表于 03-24 20:25 1次下载
    AD<b class='flag-5'>9460</b> SIMULINK ADIsimADC型号

    Ansys EM工具包用于开关电源磁性器件电热耦合仿真的使用方法

    Ansys EM工具包用于开关电源磁性器件电热耦合仿真的使用方法说明。
    发表于 04-16 14:23 24次下载

    EVAD9460 AD9460 评估板

    本页提供AD9460的评估板文档和订购信息。
    发表于 06-06 11:44 2次下载
    EVAD<b class='flag-5'>9460</b> AD<b class='flag-5'>9460</b> 评估板

    EVAL-AD9460 EVAL-AD9460评估板

    电子发烧友网为你提供ADI(ti)EVAL-AD9460相关产品参数、数据手册,更有EVAL-AD9460的引脚图、接线图、封装手册、中文资料、英文资料,EVAL-AD9460真值表,EVAL-AD
    发表于 09-02 11:00