0引言
随着互联网应用的日益普及,信息共享程度的不断提高,以单片机为中心的数据采集、检测控制等系统接入网络共享信息已成为一种趋势,传统的互联网的应用正从以PC机为中心的时代逐渐转到以单片机系统为中心的时代。
但是,目前在工业控制领域,单片机系统主要通过RS-232、RS-485和CAN总线协议通信,它们无法直接于互联网连接,因此,系统处于与互联网隔绝的状态。这些系统广泛采用低成本的8位单片机,而这种单片机一般只具有RS-232异步串行通信接口,要想接入互联网必须进行通信接口改造,这种改造不仅是接口的物理改造,关键是数据格式的改造和通信协议的转换。因此,本文提出一种RS-232串行通信接口与RJ45以太网接口转换器的设计方案,已有的单片机系统可以通过该转换器接入以太网,进一步接入互联网,这种方案对研发嵌入式网络系统也有借鉴作用。
1转换器的总体结构和工作过程
RS-232串口与RJ45网络接口转换器由控制单元、网络接口单元、电源单元组成,总体结构见图1。其中,控制单元负责数据的收发和数据格式的转换,其核心是单片机;网络接口单元完成数据以太网帧格式的封装和拆封以及信号的变换;电源单元为控制单元和网络接口单元提供电源。
单片机系统具有标准的RS-232串行异步通信接口,若要通过转换器接入互联网,一般首先接入局域网,局域网基本采用以太网,再通过以太网接人互联网。因此,本文提出的转换器的网络接口采用以太网的RJ45接口。如图2所示。
若数据从单片系统发送到互联网,则单片机系统发送的异步串行数据帧经过转换器后,把数据帧转换成以太网数据帧,然后上传到互联网;反之亦然。
2硬件设计
2.1控制单元
该单元由单片机、存储器和锁存器等电路组成,如图3所示。
单片机采用台湾Winbond公司的8位MCU(微控制器)W78E51,该芯片内部有32kB的大容量程序存储器,同时提供ISP在线编程功能,方便程序调试以及软件升。由于W78E51单片机片内RAM十分有限,为了完成数据包的接收和处理,在使用过程中为W78E51扩展一片62256外部数据存储器,临时存储以太网发来的数据帧和RS-232发来的数据,其片选信号/CE连接78E51的P2.7口,/OE和/WE分别连接78E51的/RD和/WR,存储器62256占用单片机的外部数据地址空间0000H~7FFFH,共32 kB;电平转换芯片MAX232外接少量元件就可实现TTL电平与RS-232电平的转换。
2.2网络接口单元
网络控制单元由以太网控制器、存储器和耦合隔离变压器等组成,如图4所示。
网络控制器采用RTL8019AS,它是REALTEK公司生产的高集成度专用以太网接口芯片,支持PNP自动探测,内嵌16 kB的SRAM,具有全双工的通信接口。RTL8019AS是针对ISA总线而设计的,用于实现网络的物理层协议,主要包括网络控制器与网络电缆的物理连接、MAC(介质访问控制)、数据帧的拆装、帧的发送与接收、错误校验、数据信号的编/解码和数据的串/并转换;RTL8019AS的数据包发送/接收过程通过2个DMA操作来完成。本地DMA完成RTL8019As与片内FIFO队列之间的数据传送,作用是完成控制器和网络线的数据交换;远程DMA完成RTL8019AS与外部处理器之间的数据传送。
由于RTL8019AS工作于跳线模式,且IOS0、IOS3接高电平,IOS1、IOS2接低电平,决定了RTL8019AS的I/O基地址为240H,单片机W78E51是靠地址总线和读写总线对RTL8019AS进行操作的,因此把RTL8019AS地址总线的SA0~SA4和SA6分别与单片机地址总线ADDR8~ADDR12和ADDR15相连,SA9接高电平,SA5、SA7、SA8和SA10~SA19全部接地,RTL8019AS的I/O基地址240H映射到单片机地址的8000H,这样W78E51对片外数据存储器8000H的访问就可实现对RTL8019AS基址的操作。RTL8019AS的数据发送、接收引脚TPOUT-、TPOUT-、FPIN-和FPIN+通过隔离滤波变压器20F-01与以太网RJ45接口相连,耦合隔离变压器主要具有信号传输、阻抗匹配、波形修复、杂波抑制以及高电压隔离等作用。 利用W78E51控制RTL8019AS的各项操作,网络数据流通过RJ45接口进入RTL8019AS的缓冲区,然后经过RTL8019AS处理后被W78E51读入到62256暂存,暂存的数据通过RS-232串口传送到单片机系统或其他设备;在向以太网发送数据时,单片机系统或其他设备经RS-232串口发送数据包至W78E51在62256中开辟的数据缓冲区,然后通过远程DMA操作将组帧后的数据写入RTL8019AS的片SRAM,再经RJ45接口发送至以太网。
2.3电源单元
为简化转换器的结构和成本,电源外置,采用两种方式供电,一种是采用USB电源供电,另一种是采用+5 V通用电源器供电。转换器设计了两种电源接口。
3程序流程
程序流程如图5所示。
转换器上电复位后,主程序进入检测以太网数据包的状态,分析接收到的数据包类型做出相应的处理;若单片机系统有数据发送给转换器,则转换器进入串行口中断服务程序,处理接收的串行数据包。
4结束语
该转换器成功应用于某煤矿风机监测系统的改造项目上。改造前,只有与风机检测单片机系统连接的计算机能观测该风机的运行状态,改造后,只要接入矿区局域网的计算机都可以观测到风机的运行状态。
虽然该转换器基本上实现了单片机系统与以太网的通信,但是转换器的功能比较简单,若能把http协议嵌入到转换器,通过Web的方式通信会更好。