实现基于TCP/IP的多串口转换网关.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现基于TCP/IP的多串口转换网关

实现基于TCP/IP的多串口转换网关 2007-03-13 ???? 嵌入式在线 ???? 收藏 | 打印 ??? ?随着企业规模的扩大和InternetRS232标准的串行口设备。如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,因此,本文提出一种基于TCP/IP的多串口转换网关,可从根本上解决这一难题。 ???多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个RS232串口设备,并将串口数据进行选择和处理,把RS232接口的数据流转化成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化。采用此种方案,无需淘汰原有串口设备,多台设备可同时入网,既可以提高设备利用率,又节约组网费用,还可在已有的网络基础上简化布线复杂度。采用串口扩展芯片GM8123可实现低成本、较高速度、控制简单的多串口方案。   ??? 1 在企业自动化系统中,上层企业管理层和生产监控层一般都采用以太网和PC机,而下层车间现场多是RS232串口的测控设备。本文提出的多串口转换网关,能够方便实现上下两层的沟通。 ? 可连接多台串口设备是本系统最大的特点,避免了为每台设备配置一个网关带来的成本较高、组网复杂的弊端。   ?? 2 ??? ??? TCP/IP协议由应用层、UDP层、IP层和数据链路层组成。为了实现透明传输,增加应用进程协议层——串口层。串口层由串口链路层和串口网络层构成。网关在串口层构建,同时解析RS232数据包,并作为TCP/IP网络应用层的数据传输。多串口网关由TCP/IP协议转换模块和多串口收发控制模块组成,结构如图1所示。 ??? (1)TCP/lP协议转换模块 ??? ? 它是一个微型的以太网接入模块,由微控制器(MCU)、网卡接口芯片、EEPROM 93C46、片外512 KBSRAM芯片IS6lLV5128以及辅助元件构成。微控制器控制网卡接口芯片进行网络通信,实现地址解析协议(ARP)、Internet控制报文协议(ICMP)、IP协议、用户数据报协议(UDP)等协议的解析和封包。将以太网发送缓冲区的串口帧封装在UDP包中,并传给IP层;同时,接收以太网数据帧并向上层层解包,分离应用层数据,然后数据的解析处理交由多串口发送模块完成,实现RS232串口流与以太网端口流的透明转换。 ??? (2)多串口收发控制模块 ??? ?? 实现多个RS232串口数据流的收/发控制,包括微控制器、串口扩展芯片(GM8123)、MAX232等元件。微控制器控制GM8123完成多串口数据收发,接收多个串口源数据,封装后写入以太网发送缓冲区打包传输;同时,接收以太网应用层的数据,解析并发送给测控设备。它不关心通信数据的具体意义,只负责接收/发送,封装/拆封串口帧,提供通用接口。   ???? 3 ? ???? 3.1 实现方案——采用串口扩展芯片 在微控制器中有2个UART的基础上,采用GM8123,系统能提供2组(UARTO、UARTl)共4个串行口(COM1、COM2、C0M3、COM4),利用两级优先级控制UARTO和UARTl的中断请求且允许嵌套。在UARTO的中断例程内部,通过查询方式确定数据源是哪个子串口。 ??当两组串口同时有数据请求时,首先,MCU的中断机制判断中断请求的优先级,对优先级高的中断请求优先响应。系统对优先级分配:UART0为2,UARTl为1,即MCU优先响应UART0的中断请求。当UARTO的3个子口同时有数据请求时,通过轮询方式,对各个子口予以响应,即按照子口号的地址由小到大进行响应。这样,就形成了2级中断和4个串口的多串口实现方案。 ??? 3.2 多串口扩展芯片——GM8123 GM8123可将一个全双工的标准串口扩展成3个标准串口,并能通过外部引脚控制。选用该芯片是基于它的自身特点 ? ?? ①采用写控制字的方式对芯片进行控制,控制简单; ?? ②数据格式10位或11位可选; ?? ③拥有3个子串口.且各子串口波特率可调(统一调节); ?? ④两种模式(单道模式和多道模式)可通过1根引脚控制; ?? ⑤在多通道工作模式下,各子串口的波特率等于母串口波特率的4分频; ?? ⑥在多通道工作模式下,接收时地址线SRADD1~0向MCU返回接收子通道的地址,MCU接收到母串口送来的数据后,就可根据SRADDl~0状态判断数据是从哪一个子串口送来的,发送时先由MCU选择子串口再向母串口发送数据; ???⑦与标准串口通信格式兼容,TTL电平输出; ?? ⑧每位采样16次,提高数据正确性; ?? ⑨宽工

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档