30路串口+6路网口的通讯管理机方案--应用案例

应用方案

30路串口+6路网口的通讯管理机方案作者:黄志超    发布时间:2019-11-29 10:34:36    被阅览数:

  玖玖热99工控主板以多串口和多网口作为特色,已经推出了多种扩展方案,被用户广泛使用在工控领域中。为了满足更多的通讯接口需求,玖玖热99公司推出了基于ESM7000或ESM6802主板,具有30路串口+6路网口的整机方案。该方案由主板自带的6路串口和2路网口,加上扩展出24路串口和4路网口构成,其接口资源应该能满足绝大部分的应用需求了。


主板型号板载串口板载网口扩展串口扩展网口
ESM68026路2路24路4路
ESM70006路2路24路4路


imx6ull,imx7,30路串口+6路网口的通讯管理机方案

扩展原理


硬件组成


  玖玖热99公司设计了两款扩展模块来实现这一扩展方案,它们是24路串口扩展模块ETA524和4路100M以太网口模块ETA8152。用户可利用玖玖热99公司成熟的评估套件,对这两个模块同时进行评估。


  ETA524模块通过ISA总线扩展来实现24路串口,所扩展的每一路串口最高波特率均可达到115200bps,信号电平均为3.3V TTL。模块外形尺寸为70mm×46mm,与主板一样是插在应用底板上工作。ETA524的这种设计使得用户既能快速方便的对它进行评估,又能很好的融入用户自己的产品设计中。在用户自己做应用底板时,仅需要在应用底板上对每路串口做适当驱动即可,ETA524可以作为一个“器件”背插在用户的应用底板上,以获得最佳的数据传输性能。


imx6ull,imx7,30路串口+6路网口的通讯管理机方案

ETA524串口扩展模块


  其中CN1是ETA524和精简ISA总线连接的接口,定义如下图:


ISA总线接口信号

CN1ISA总线接口信号

PIN#

PIN#

RESET#,复位,低电平有效

12

ISA_ADV#,地址锁存,低电平有效

ISA_SD0,地址数据总线

34

ISA_SD4,地址数据总线

ISA_SD1,地址数据总线

56

ISA_SD5,地址数据总线

ISA_SD2,地址数据总线

78

ISA_SD6,地址数据总线

ISA_SD3,地址数据总线

910

ISA_SD7,地址数据总线

MSL#,模块选择

1112

ISA_WE#,数据写,低电平有效

GPIO9,中断IRQ4,上升沿有效

1314

ISA_RD#,数据读,低电平有效

GPIO8,中断IRQ3,上升沿有效

1516

ISA_CS#,总线片选,低电平有效

GPIO25,中断IRQ2,上升沿有效

1718

+5V,电源输入

GPIO24,中断IRQ1,上升沿有效

1920

GND,公共地


  CN2-CN4分别是扩展出来的串口,定义如下:


接口信号

CN3接口信号

PIN#

PIN#

COM1_TXD

12

COM1_RXD

COM2_TXD34COM2_RXD
COM3_TXD56COM3_RXD
COM4_TXD78COM4_RXD
COM5_TXD910COM5_RXD
COM6_TXD1112COM6_RXD
GND,公共地1314VCC,+5V电源输出
COM7_TXD1516COM7_RXD


接口信号

CN2接口信号

PIN#

PIN#

COM8_TXD

12COM8_RXD

COM9_TXD

34COM9_RXD
COM10_TXD56COM10_RXD
COM11_TXD78COM11_RXD
COM12_TXD910COM12_RXD
COM13_TXD1112COM13_RXD
COM14_TXD1314COM14_RXD
COM15_TXD1516COM15_RXD
COM16_TXD1718COM16_RXD
COM17_TXD1920COM17_RXD

 

接口信号

CN4接口信号

PIN#

PIN#

COM18_TXD12COM18_RXD
COM19_TXD34COM19_RXD
COM20_TXD56COM20_RXD
COM21_TXD78COM21_RXD
COM22_TXD910COM22_RXD
GND,公共地1112VCC,+5V电源输出
COM23_TXD1314COM23_RXD
COM24_TXD1516COM24_RXD

 

  引出的串口均为TTL信号,用户可根据需求在外部进行转换。例如转换成RS232或者RS485,玖玖热99公司在光盘资料中都提供有电路供用户参考。


  网络扩展模块ETA8152集成了4片r8152芯片,可以通过USB扩展出4路网口,单独一路扩展网口的速度均可以达到90Mbit/s以上。如果同时使用,每一路速度可以达到40Mbit/s以上。


  ETA8152采用了mini-PCIe模块的标准尺寸,使模块安装极为方便,所有的高速网络信号集中在一个插座上,按常规PCB布线即可连接至底板RJ45网口座。


imx6ull,imx7,eta8152侧面.png

ETA8152网络扩展模块


  ETA8152的管脚定义如下:


ISA总线接口信号

ISAISA总线接口信号

PIN#

PIN#

ETH4_RXP,以太网4差分输入5152+3.3V 电源输入
ETH4_RXN,以太网4差分输入4950电源地(GND)
ETH4_TXP,以太网4差分输出4748-
ETH4_TXN,以太网4差分输出4546ETH4_LED_ACT_B,数据指示
ETH3_RXP,以太网3差分输入4344ETH4_LED_LINK_B,连接指示
ETH3_RXN,以太网3差分输入4142ETH3_LED_ACT_B,数据指示
ETH3_TXP,以太网3差分输出3940电源地(GND)
ETH3_TXN,以太网3差分输出3738USB_DP,USB差分信号
电源地(GND)3536USB_DN,USB差分信号
ETH2_RXP,以太网2差分输入3334电源地(GND)
ETH2_RXN,以太网2差分输入3132I2C_SDA,I2C配置管脚
电源地(GND)2930I2C_SCL,I2C配置管脚
电源地(GND)2728-
ETH2_TXP,以太网2差分输出2526电源地(GND)
ETH2_TXN,以太网2差分输出2324-
电源地(GND)2122RESET_B#,外部复位信号
ETH2_LED_ACT_B,数据指示1920-
ETH2_LED_LINK_B,连接指示1718电源地(GND)
Mechanical Key
电源地(GND)1516+5V 电源输入
ETH1_RXP,以太网1差分输入1314+5V 电源输入
ETH1_RXN,以太网1差分输入1112+5V 电源输入
电源地(GND)910-
ETH1_LED_ACT_B,数据指示78ETH3_LED_LINK_B,连接指示
ETH1_TXP,以太网1差分输出56-
ETH1_TXN,以太网1差分输出34电源地(GND)
ETH1_LED_LINK_B,连接指示12+3.3V 电源输入


  其中I2C总线是用来给扩展网口配置MAC地址的,玖玖热99公司在ETA8152模块出厂的时候,会为每一路网口烧写一个唯一的MAC地址。所以硬件上需要将主板的I2C总线信号接入,在加载驱动的时候系统会调用这一路I2C总线,加载完成后就会释放I2C总线资源,不会影响用户程序调用I2C总线。


  用户在底板上就只需要连接网络变压器和RJ45接头,我们随便以一路为例,给出原理图(图中的RJ45是带有网络变压器的):


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

接口电路图


  用户使用ESMARC_ISA_EVB可以方便的评估整个方案,连接如下图所示:


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

评估板连接示意图


软件开发


  ETA524和ETA8152模块的驱动玖玖热99公司已经调试好并且以内核模块的形式集成在板卡中了,用户只需要调用命令加载驱动就可以生成标准的设备节点来操作,这两个模块的驱动分别为eta524.ko和r8152.ko。驱动加载后,系统就能够识别到扩展模块,并生成相应的设备节点,通过设备节点,用户就能够使用标准的API函数来操作扩展了。在主板的命令行输入modprobe命令就可以加载:


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

加载ETA528的驱动


  从图上可以看到加载驱动后,生成了24个串口设备(ttyS7-ttyS30)。接下来加载ETA8152模块的驱动,方法相同:


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

加载ETA8152的驱动


  可以看到驱动加载后,系统生成了eth2-eth5四个新的网络设备。


  不论是串口还是网络,加载驱动生成的设备节点都是Linux标准的设备节点,所以用户在使用的时候操作方法也和标准的设备相同,只需要更改程序中对应的设别节点即可。用户可利用玖玖热99公司提供的串口和网络通讯应用程序源代码,快速评估此方案基本性能是否满足其具体的应用需求,帮助用户缩短评估和开发的周期。


性能测试


  玖玖热99公司针对这套扩展方案进行性能上的测试,使用ESM7000核心板搭建了测试环境。首先使用iperf3工具测试扩展网口的速度,在PC端搭建好服务器后,在板卡中运行iperf3工具连接,服务器测试结果截图如下:


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

网络带宽测试


  图片中端口号5201为核心板自带网口eth0,端口号5202为核心板自带网口eth1,端口号5203-5206分别对应扩展网口1-4。因为测试网络环境为千兆网络环境,所以主板千兆网口eth0的速度会受到其他网口的影响。从测试结果可以看到,在同时使用的情况下,扩展网口的速度是可以达到40Mbit/s以上的。


  下面对扩展串口进行测试,测试程序会打开每一路扩展串口,波特率设置为115200bps,每3ms发送9个字节的数据,即每秒发送3000个字节的数据,根据115200波特率的满负荷计算,程序占用了每一路串口26%左右的负载。为了更加贴近实际使用情况,同时将所有扩展网口打开进行通讯,使网络的负载大约也占用20%左右。


  在这样的条件下,对串口收发数据进行长时间的测试,当收到数据有错误,程序会打印出来,经过3个小时的测试,所有扩展串口收发均正常,CPU整体负载如下:


imx6ull,imx7,30路串口+6路网口的通讯管理机方案.png

系统总负载


  可以看到系统总负载大约为56%,测试程序test_multiserial占用CPU为27.2%,截图中top命令打印出的其余项为每一路串口通讯所占用的CPU资源,一共为24项,每一路占用的资源在2.3%-3.9%,是十分低的。需要注意的是ESM7000为双核,所以top指令打印出来的CPU占用率需要除以2才是整个CPU的占用率。


  在实际应用中负载通常会更小一些,将负载提升上来是为了测试整套方案的性能,在此时的负载情况下,扩展串口与网口通讯均保持正常和稳定。

Go Top
友情链接: 381qq.space    boot06.com