随着企业规模的扩大和Internet技术的广泛普及,全球各个领域的不同企业已经对“让设备联网”达成共识,而在工业控制和通信设备中,更多的却是符合RS232标准的串行口设备。如何将多个串行口的数据转发到网络上,实现设备的远程控制、数据的远程传输便成了一个亟待解决的问题。同时,考虑到成本问题,以往设备又不可能全部淘汰,因此,本文提出一种基于TCP/IP的多串口转换网关,可从根本上解决这一难题。
多串口转换网关使得串口数据流到以太网数据流的传输成为可能。它能连接多个RS232串口设备,并将串口数据进行选择和处理,把RS232接口的数据流转化成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化。采用此种方案,无需淘汰原有串口设备,多台设备可同时入网,既可以提高设备利用率,又节约组网费用,还可在已有的网络基础上简化布线复杂度。采用串口扩展芯片
(1)TCP/lP协议转换模块
它是一个微型的以太网接入模块,由微控制器(MCU)、网卡接口芯片、EEPROM 93C46、片外512 KBSRAM芯片IS6lLV5128以及辅助元件构成。微控制器控制网卡接口芯片进行网络通信,实现地址解析协议(ARP)、Internet控制报文协议(ICMP)、IP协议、用户数据报协议(UDP)等协议的解析和封包。将以太网发送缓冲区的串口帧封装在UDP包中,并传给IP层;同时,接收以太网数据帧并向上层层解包,分离应用层数据,然后数据的解析处理交由多串口发送模块完成,实现RS232串口流与以太网端口流的透明转换。
(2)多串口收发控制模块
实现多个RS232串口数据流的收/发控制,包括微控制器、串口扩展芯片(GM8123)、MAX232等元件。
微控制器控制
当两组串口同时有数据请求时,首先,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次,提高数据正确性;
⑨宽工作电压为2.3~6.7 V。
⑩输入地址引脚有50~80 kΩ下拉电阻,其他输入引脚有50~80 kΩ上拉电阻(OSCI除外)。
来源:21IC电子网