EDN China > 设计实例 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 实现基于TCP/IP的多串口转换网关

来源:单片机及嵌入式系统应用 /东华理工学院 刘通良 周建勇 潘仕彬 何为民?? 2007年02月07日 ?? 收藏0

? 3.2? 多串口扩展芯片——GM8123

??? GM8123可将一个全双工的标准串口扩展成3个标准串口,并能通过外部引脚控制。选用该芯片是基于它的自身特点:

①采用写控制字的方式对芯片进行控制,控制简单;

②数据格式10位或11位可选;

③拥有3个子串口.且各子串口波特率可调(统一调节);

④两种模式(单道模式和多道模式)可通过1根引脚控制;

⑤在多通道工作模式下,各子串口的波特率等于母串口波特率的4分频;

⑥在多通道工作模式下,接收时地址线SRADD1~0向MCU返回接收子通道的地址,MCU接收到母串口送来的数据后,就可根据SRADDl~0状态判断数据是从哪一个子串口送来的,发送时先由MCU选择子串口再向母串口发送数据;

⑦与标准串口通信格式兼容,TTL电平输出;

⑧每位采样16次,提高数据正确性;

⑨宽工作电压为2.3~6.7 V。

⑩输入地址引脚有50~80 kΩ下拉电阻,其他输入

引脚有50~80 kΩ上拉电阻(OSCI除外)。


??? 3.3各串口的特点及应用分析

??? 系统中两组串口利用的资源不同,在速率上它们之间存在差异。串口COMl、COM2和COM3通过GM8123扩展微控制器的UARTO得到,适合传输速率较慢、数据量小的设备;COM4是微控制器的UARTl,相对于第一组串

口能很好的适应传输速率较快的设备。


??? GM8123工作在多道模式,各子串口必须设置统一波特率,不适用于各串口设备工作波特率不一致、又要求同时工作的场合,这也是该芯片的不足之处。实际应用中,COM1、COM2和COM3应该连接类型、速率相同的设备。COM4的波特率可以根据需求具体配置,这样,系统的4个串口从速率上可以形成两种应用方案:一是4个串口配置相同波特率;二是每l组配置1个波特率值。


??? 综上所述,系统提供了由2组4个串口、两级优先级控制、2种波特率配置方案构成的多串口实现方法。

 

??? 4? 工作原理

??? 4.1? 帧的统一化

??? 系统4个串口源的数据要作为以太网帧的一部分,为了向设备提供透明的接口和区分数据源,需要制定统一的帧格式。帧格式如图2所示,其中串口号字段用来区分数据源;帧头、帧尾作为一个串口帧的起始分界(可自定义);数据部分是来自串口的原始数据流。同样,网口发送数据也要有一致的帧格式,如图3所示。显然,串口帧是作为UDP层的协议数据进行传输的。

帧格式
帧格式


 

??? 4.2系统数据流向分析

??? 多串口转换网关,实现多个串口和一个网口间的数据转换,关键是多个串口数据如何送到网络上、网络数据又怎样转到多个串口。其中,串口链路层完成串口数据收发功能,串口网络层作为TCP/IP应用层的一部分,实现串口帧的封装。发送是入协议栈的过程,如图4所示,接收是出协议栈的过程(图略),不同之处在于对数据的收/发处理。

?

 系统数据流向分析

??? 多串口到网口的数据转换传输:串口链路层,接收来自测控设备的数据,交给串口网络层,该层完成串口数据帧的封装并放入以太网的发送缓冲区。当系统规定的UDP打包时间到或已经有4个串口数据帧时,打UDP包,并逐层下送,直到把数据送上物理介质,完成比特流的传输。


??? 为了能一次传输尽量多的数据,系统对数据长度作了严格定义:串口数据帧的数据段最大长度为300个字节;网口发送帧的数据段最多允许4个串口数据帧。同时,还要满足具体应用对实时性的要求:对每一个串口规定一个最长响应时间。时间到时,不管是否已接收:300个字节都要对串口数据进行封装,并放人以太网发送缓冲区;同时,为了避免系统由于等待以太网发送缓冲区串口帧数达到4,而造成串口数据不能实时发送,要求在一定的时间内进行一次以太网通信,而不必等待4个串口帧到齐才打包传输。


??? 这样,系统对数据容量和时间的双重规定,能保证具体应用对实时性的要求,并能一次传输尽量多的数据,降低了由于时间上的“空等”造成系统实时性差的可能性。4个串口在串口层完成的功能是相同的,仅以COMl为例,给出串口层上数据流,如图5所示。

串口层上数据流

??? 图6说明了多串口数据帧等待打包传输的过程。

多串口数据帧等待打包传输的过程

??? 网口数据到多串口的数据流向,是对以太网链路层的数据帧向上逐层解包的过程。如图7所示,将收到的以太网帧,依次去掉每层的协议头分解出应用层数据,再以0x24和OxOa为分界分离,根据串口号字段的值,将信息发送到相应的设备,完成预定的控制。

网口数据到多串口的数据处理

 

??


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

TCP/IP? 串口? 网关?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈