串口以太网转换器(共3篇)
串口以太网转换器 篇1
0 引 言
随着互联网应用的日益普及, 信息共享程度的不断提高, 以单片机为中心的数据采集、检测控制等系统接入网络共享信息已成为一种趋势, 传统的互联网的应用正从以PC机为中心的时代逐渐转到以单片机系统为中心的时代[1]。
但是, 目前在工业控制领域, 单片机系统主要通过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, 该芯片内部有32 kB的大容量程序存
储器, 同时提供ISP在线编程功能, 方便程序调试以及软件升级[2]。由于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与外部处理器之间的数据传送[3]。
由于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-、TPIN-和 TPIN+通过隔离滤波变压器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 结束语
该转换器成功应用于某煤矿风机监测系统的改造项目上。改造前, 只有与风机检测单片机系统连接的计算机能观测该风机的运行状态[4], 改造后, 只要接入矿区局域网的计算机都可以观测到风机的运行状态。
虽然该转换器基本上实现了单片机系统与以太网的通信, 但是转换器的功能比较简单, 若能把http协议嵌入到转换器, 通过Web的方式通信会更好。
摘要:随着网络的发展, 以单片机为中心的数据采集、检测控制等系统接入网络共享信息已成为一种趋势, 但由于单片机系统的RS-232串口与RJ45网络接口不兼容, 使得单片机系统接入网络存在困难。文中提出了一种单片机RS-232串口与RJ45以太网接口转换器的设计方案, 转换器总体结构由控制单元、网络接口单元、电源单元组成。还设计了每个单元的硬件电路, 并给出了程序流程以及转换器的工作过程。该转换器成功应用于风机监测系统的改造项目。
关键词:RS-232串行口,RJ45以太网接口,转换器
参考文献
[1]蒋峰.基于Internet的数据采集系统的设计与实现[J].广西轻工业, 2007, 23 (1) :71-72.
[2]郭健, 董猛.实时操作系统μC/OS-Ⅱ在W78E516B上的移植[J].山西电子技术, 2006 (5) :27-28.
[3]RTL8019AS手册[EB/OL].http://www.efw520.com/down/dc0014-8019as-cn.pdf.
[4]刘小明.矿井通风机监测系统[J].矿山机械, 2006 (12) .
串口以太网转换器 篇2
随着网络技术的快速发展与深入, 工业生产设备, 如电气、车床控制设备, 需借助Local Area Network (LAN) 网络进行数据采集、指令传送、数据传输以及设备网络化管理生产。设备网络化是现代工业技术发展的一个必要手段, 但是, 目前在工业生产领域中, 大部分工业设备不具备与现有网络直接对接的接口。以太网采用的是TCP/IP协议, 而工业设备最常用的通讯接口为RS-232/422/485串口, 在不改变原有设备结构的基础上为其添加串口/网络转换接口, 使其满足TCP/IP 协议传输标准, 是串口设备上网的低成本解决方案。
嵌入式以太网接口解决方案多采用16位或32位微处理器, 该方案能顺利解决嵌入式以太网通信问题, 但是经济成本较高。在保证通信性能前提下, 为了节约经济成本, 本项目采用Microchip公司生产的低成本、高性能PIC18F系列8位微处理器作为硬件开发平台, 并搭建精简的Microchip TCP/IP协议栈软件工作平台, 最终完成系统通信功能的开发。
1 系统硬件平台设计
本系统的硬件功能主要分为两部分:一部分是数据采集模块, 主要利用PIC18F452芯片对设备的数据进行采集;第二部分就是通信模块, 对串口数据帧和以太网数据帧进行转换。首先, 介绍使用的PIC18F452微处理器。PIC18F452微处理器是Microchip公司推出的一款增强型8位单片机, 采用精简指令集 (RISC) 的设计, 有两级流水线, 最高运行频率可达到10MIPS, 能够满足系统对实时性的要求;C编译器优化体系结构, 兼容PIC16与PIC17指令源代码;指令总线16位宽, 数据总线8位宽;单片机内部有32K字节的FLASH程序存储器, 1.5K字节的数据存储器和256字节的EEPROM, 便于系统的扩展;自带8×8硬件乘法器;中断资源丰富, 提供18个中断源, 两个中断优先级, 并且中断优先级可配置。PIC18F452单片机配备了较为丰富的外围模块, 极大地简化了开发过程中单片机外围电路的设计工作。同时, PIC18F系列单片机提供功能强大的指令集, 绝大部分指令为单字 (2个字节) 存储, 单周期执行, 使得系统的指令传输执行效率高。PIC18F452单片机采用低电压工作模式以及待机睡眠模式, 高速FLASH/EEPROM技术, 使得PIC18F452单片机功耗低, 这对中小企业的工业控制系统具有非常实际的意义。
系统的硬件设计模式如图1所示, 该图描述了系统硬件的模块设计, 系统主要包括串口数据模块, 该模块对串口数据进行采集以及处理;数据处理模块是CPU模块, 控制数据在缓冲区输入输出, 调配资源;以太网控制模块完成以太网通信功能。
2 系统模块功能设计
实现网口和串口通信功能, 需要将串口数据格式转化为网口数据格式。所以数据帧格式的定义与转换是最基本的内容。串口帧包含两部分:需要传输的数据与串口号, 这样就知道传输的数据是来自哪个设备。来自设备的数据可能是不等长的, 为了传输的方便, 可以把串口帧的长度设置为定值, 不足长度的帧, 在结束符后补0。本系统采用全双工工作方式, 即设备和网络之间双向传输数据。在实现过程中, 一条路径:从串口设备采集的数据还原成基本数据之后, 送到数据缓冲区存放, 然后交付网络发送模块打成网络数据包, 发送到目的地址。另一条路径, 获取网络数据包, 去掉网络传输控制信息, 交付数据缓冲区, 然后由串口处理单元将数据处理成串口帧发送出去。串口帧数据转化为网口帧数据, 需要在数据帧前加上网络控制信息, 比如TCP头、IP头等。针对不同的网络设备, 需要完成MAC地址的获取。对硬件模块也需设置各项网络控制参数, 如波特率、缓冲区大小等等。下面详细介绍各功能模块的硬件以及软件开发技术。
2.1 串口通信模块
该系统中设备硬件接口均采用RS-232异步串行接口。Uart通用异步接发器 (Universal Asynchronous Receiver/ Transmitter) 部分主要是用于计算机并行数据与设备的串行数据之间的通信转换。首先, 设备的RS-232串行接口经过电平转换后接入Uart部分。然后, Uart将接收到的数据帧去掉起始位、停止位以及奇偶校验位, 把数据发送到FIFO (First In First Out) 队列中, 若FIFO队列中数据满了, 则Uart部分设置为忙状态, 直到CPU将数据从队列中取走之后, Uart设为空闲, 开始下一轮数据的获取。RS-232串口通信模块需预先设置好通信参数, 比如:波特率、数据位、停止位、校验位等。因为该模块数据每次传输数据量小, 所以采用较简单奇偶校验方法, 即可满足工业要求。该模块串口通信模块采用中断控制, 每次按照字节进行读取数据。在向网络发送时, 数据先送入接收移位寄存器, 然后再送入FIFO中;从网络接收数据时, 数据总线上写入16个字节, 发送FIFO中, 然后再送入移位寄存器转换成串行数据输出。
2.2 TCP/ IP 协议栈的实现
TCP/IP协议族是控制网络传输的基本协议, 但是, 作为工业控制, 不需要具备在各个层工作的每一个协议。本系统采用Microchip TCP/IP协议栈实现数据的传输控制。Microchip TCP/IP协议栈采用模块化设计, 每个模块的实现代码是一个独立的源文件, 在使用时才被添加到Stack Task协议栈。Microchip TCP/IP协议与传统的TCP/IP模型有所不同, 其增加了两个新模块:“Stack Task”和“ARP Task”。Stack Task主要是管理协议栈及其所有模块的操作, 而ARP Task管理地址解析协议层的服务。图2描述了Microchip TCP/IP协议栈的工作层次。本系统采用了Microchip TCP/IP协议栈, 可以完成多任务处理, 而且由于Microchip TCP/IP协议栈独立于任何操作系统, 可以方便地进行软件移植。
考虑到微处理器的性能指标和实际工业的应用需求, 本系统完成了ARP (Address Resolution Protocol, 地址解析协议) 、IP (Internet Protocol, 网际协议) 、TCP (Transmission Control Protocol, 传输控制协议) 的程序开发。因为PIC18F452单片机内嵌了以太网控制芯片RTL8019AS, 其是RealTek公司高度集成的全双工以太网控制芯片, 集成了IEEE802.3协议标准的介质访问控制子层 (MAC) 和物理层的性能, 所以在系统开发过程中无需对网络互联层以下的数据流进行处理。同时, RTL8019AS采用8/16位总线模式, 与NE2000相兼容, 支持存储器瞬时读写, 所以可以完成数据字节的读出与写入操作。
2.3 以太网通信模块设计
实现以太网通信, 首先要在网络通信模块设置MAC地址、IP地址、子网掩码以及网关等参数。这些参数通过宏定义放在单片机的ROM中。以太网传输数据是按照包进行的, 每次操作的单位是一个IP数据包, 而串口每次只能得到一个字节, 所以需要对数据格式进行转换。
以太网接口通信模块的流程是由主程序main函数调用taskmain函数, 先对系统进行初始化、硬件初始化、参数初始化, 然后创建数据处理任务, 调用stack task函数将数据处理任务放入队列中, 调用net2000函数对网络设备进行初始化, 建立路由表, 调用connect函数完成网络协议的三次握手。网络连接成功后, 对传输的数据包地址调用ARP函数进行解析, 调用data_send和data_receive函数将处理好的数据交付给目标地址, 传输完毕后关闭socket连接。
为了系统能稳定有效地工作, 需要对系统运行一段时间后接发数据的大小进行统计, 设置大小合理的FIFO队列以及数据传输速率。
3 结语
本文通过分析以太网技术在工控领域的应用, 提出了一种低成本、高性能的嵌入式以太网解决方案。采用PIC18F452单片机、RTL8019AS以太网控制芯片, 完成了硬件平台的搭建, 实现串口与网络接口转换的功能。该系统在武汉市四维电气有限公司的电力设备中使用, 系统功能稳定、有效。在后期的维护中, 对系统的数据进行了评估, 设置大小合理的缓冲区, 对系统进行了优化。
参考文献
[1]约翰B皮特曼.PIC18F452微控制器嵌入式设计[M].郑红, 董云凤, 译.北京:科学出版社, 2005.
[2]汤宏萍, 王竹平.嵌入式TCP/IP协议栈的设计与实现[J].微电子学与计算机, 2008 (6) .
[3]杨国宇, 顾威.基于PIC18F458单片机的数据采集和通讯系统[J].工业控制计算机, 2006 (19) .
串口以太网转换器 篇3
工业领域中控制设备使用的串口通信抗干扰性不强,而以太网通信具有更好的抗干扰性,并且控制设备和以太网具有联网的趋势。在传统的安全防护、机房监控、工业控制、医疗设备、智能楼宇等领域中,有成千上万的感应器、PLC、控制器、监测器、读卡器等RS-232串口设备。它们都是通过RS-232串口与PC进行数据通信、数据交换和数据管理。随着社会需求的发展,人们要求更大的系统、更加稳定的系统、更大数据流量的系统。这使得现有的RS-232串口通信不能满足社会的需求。随着TCP/IP网络的快速普及,TCP/IP网络得到了极大的丰富,TCP/IP网络已经延伸到社会的各个角落。由于TCP/IP网络是基于复杂环境下设计的,具有自动纠错功能,所以通信质量非常稳定,不受外部环境干扰;而RS-232串口通信抗干扰能力比较差,容易出错。随着TCP/IP网络的发展,其通信流量不断地提高,现在TCP/IP网络中100M已经成为标准配置,而且1000M数据接口也正在普及当中。而RS-232串口通信速率一般最大只可以达到100K左右,而且随着速率的提高,其稳定性、通信距离都会成反比发生相应的变化。所以,串口转以太网已是一个潮流。
本文提出了一种以高性能微处理器Cortex-M3芯片STM32F107VCT6和以太网控制芯片DP83848CVV为核心的转换系统,把从串口(RS-232)中接收到的数据,通过以太网进行传输,提高了传输数据的抗干扰性,节省了更新换代成本,达到了远程监控、远程通信的目的。
1 系统硬件设计
本系统主要由三大模块组成,分别是由微处理器芯片STM32F107VCT6与板机接口温度和湿度传感芯片STLM75M2E构成的MCU模块,由网口控制芯片DP83848CVV与含RJ45和网络变压器的HR911105A构成的网口模块,由串口控制芯片MAX-232与RS-232接口构成的串口模块。设备发送过来的信息通过串口模块之后,送入MCU进行处理,然后通过网口模块发送至以太网进行显示。如图一所示为服务器的系统设计框图。
1.1 MCU模块
本系统设计中使用了在嵌入式应用方面性价比很高的Cortex-M3 STM32F107VCT6作为处理器。Cortex-M3类型的STM32F107VCT6处理器采用表面贴片的100管脚LQFP封装,最高工作频率为72MHz,工作温度为-40℃~+85℃。其具有提供丰富的外围接口(包括CAN、I2C、SPI、UART、USART、USB等),低功耗、门数少、中断延迟小、调试容易,支持u CO/OS-III实时操作系统,支持TCP/IP协议栈中的IP/ICMP/TCP/UDP/DHCP等协议,动态获取IP,支持标准socket编程等优点。除此之外,MCU中还包括了板机接口温度和湿度传感器STLM75M2E,其采用Tube封装箱体,最高可达9位数字输出,数字输出总线接口为2-wire或I2C,工作温度范围为-55℃~+125℃,全温标准度为+/-3C(MAX)。MCU模块的功能是将串口发送过来的数据信息和通过温度传感器采集到的主芯片的工作温度实时地传送至网口模块中。图二为温度传感电路设计图。图中STLM75M2E的管脚1、2和3分别与主芯片的93、92和91管脚相连,从而构成温度监控电路。
1.2 串口模块
几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准。RS-232-C是一种很常用的串行数据传输总线标准,采用的接口是9芯或25芯的D型插头。由于RS-232-C标准所定义的高、低电平信号与STM32F107VCT6系统的LVTTL电路所定义的高、低电平信号完全不同,所以,两者间要进行通信必须经过信号电平的转换。目前常使用的电平转换芯片为ST3232ECTR。
本系统采用ST3232ECTR芯片设计了一个TSSOP—16封装的缓冲器和线路驱动器实现电平的转换。ST3232ECTR的数据传输速率为0.25Mbps,工作电源3~5V,电流0.3m A,其在本系统中设计电路如图三所示。图三中USART2接口中,2号接口与ST3232ECTR的14脚相连,作为本服务器的发送通路,发送处理器处理后的信息数据至网络上;3号接口与ST3232ECTR的13脚相连,作为本服务器的接收通路,接收从网络中发送回来的控制信息。ST3232ECTR芯片的9、10、11和12管脚分别与主芯片STM32F107VCT6的84、85、86和87管脚相连,作为处理器和RS-232接口的收发通路。
1.3 网口模块
以太网控制芯片DP83848CVV是一个单端口的物理层收发器,拥有一个MII/SNI(媒体独立接口/串行网络接口)接口。该控制芯片通过网络变压器接RJ45来实现全部的10/100M以太网物理层功能,包括物理层编码子层(PCS)、物理层介质连接设备(PMA)、双绞线物理媒介相关子层(TP-PMD)、10Base-Tx编解码和双绞线媒介访问单元(TP-MAU)。PECL接口支持连接一个外部的100Base-FX光纤收发器。这款芯片使用先进的CMOS工艺制作以满足低压低功耗的需求。DP83848CVV可以在NIC、MAU、CNR、ACR、以太网HUB或以太网交换机中使用。另外,DP83848CVV也可以用于有以太网MAC并且需要一个物理上的双绞线连接或一个光纤PECL接口以连接一个外部的100Base-FX光纤收发器模块的嵌入式系统。如图四所示,为本系统中以太网控制器设计电路图。
以太网变压器HR911105A主要包含了RJ45和网络变压器。RJ45连接器俗称水晶头,就是连接网卡或HUB的那个透明的插头,是用来连接双绞线的两端。RJ45是一种网络接口规范,类似的还有RJ11接口,就是平常所用的“电话接口”,用来连接电话线。双绞线的两端必须都安装这种RJ45插头,以便插在网卡(NIC)、集线器(Hub)或交换机(Switch)的RJ45接口上,进行网络通讯。
1.4 下载接口电路
本系统设计中采用20针的JTAG接口作为下载口,如表一中JTAG接口的管脚和STM32F107V CT6的管脚连接。
2 系统软件设计
本系统要实现UDP/IP通信,还要实现和串口交换数据,若用一般的前后台系统,设计起来将是相当复杂,而且性能也要受到影响。因此,在设计中采用了嵌入式操作系统,把需要实现的各种功能分解成一个个独立的任务,按照任务的优先级,使各个任务独占CPU来运行。任务之间通过信号量、消息队列、邮箱等进行通信,这样既保证了系统的实时性,又简化了实现的难度。本系统中使用的嵌入式操作系统是u CO/OS-III。u CO/OS-III是一个可扩展的、可固化的、抢占式的实时内核,其管理的任务个数不受限制。u CO/OS-III是第三代内核,提供了现代实时内核所期望的所有功能,包括资源管理、同步、内部任务交流等。u CO/OS-III也提供了很多在其他实时内核中所没有的特性,比如能在运行时测量运行性能、直接发送信号或消息给任务、任务能同时等待多个信号量和消息队列、可以定义多个同一个优先级的任务等。同时,要在嵌入式实时操作系统实现串口和网口之间的通信,必须将TCP/IP协议移植到该操作系统上,本系统中移植了TCP/IP的协议u C/TCP-IP。TCP/IP协议的应用层使用了超文本传输协议http,并在应用层通过建立任务函数的方式,实现服务器的网口和串口之间转发和接收的功能。
2.1 操作系统和TCP/IP协议在STM32F107VC-T6上的运行
u CO/OS-III是运行在目标板上的操作系统,负责对应用程序进行解译、任务调度、主从机通信。IAR软件是PC机上的开发工具,配置参数并编译生成适合指定目标板的可执行代码,然后下载到目标板中运行。为了实现串口和网口之间的通信,将TCP/IP协议程序移植到IAR软件上的嵌入式操作系统上。在嵌入式操作系统上,通过建立任务,并使用操作系统中的内核函数,例如消息邮箱、信号量、消息队列等,保证操作系统上的功能应用函数进行实时和可靠的相互通信。操作系统开始运行时,需要对本系统的软件部分进行初始化工作,如程序段1所示:
2.2 串口程序设计
本串口驱动程序是基于中断方式实现的。为了平衡高速的以太网传输,使用了数据队列来做数据缓存,在内存中分配了1KB的发送缓冲池和2KB的接收缓冲池,使以太网部件无需等待串口部件。采用模块化设计方法,上层应用程序只需调用发送函数和接收函数就可以实现对串口数据的读写。程序段2所示为在应用层中调用串口发送和接收函数:
对于嵌入式操作系统中创建的任务而言,任务函数实现其具体功能时,如程序段2所示,函数中必须要有一个while(1)死循环和必要的系统延时函数OSTime DlyH MSM()(参数已省略),才能保证任务函数的正常调用和运行。
2.3 应用程序设计
通过移植u CO/OS-III操作系统、编写串口驱动程序模块,就为应用程序的设计建立了一个很好的平台。应用程序的编写只需调用系统服务或者是调用各种API函数,从而大大简化应用程序设计的复杂度。在系统设计中,TCP/IP协议的应用层使用的是超文本传输协议http。在应用程序中,初始化各个全局变量后,调用SOCKET API函数建立服务器通讯方式,如图五所示。
在具体通讯时,本系统作为服务器,监听客户端(一般是PC机)的连接。建立连接后,该任务把客户端通过以太网发送来的数据保存到串口发送缓冲池中,串口驱动程序会自动地把数据发送给串口设备。然后,程序判断串口接收缓冲池是否有数据,若有,就调用SOCKET API函数中的BSP_Ser_Wr Str(ser_buf)函数把串口接收缓冲池的数据转发给以太网,送到客户端。该任务一直处于这样一个循环中,从而实现了串口数据的网络传输。本系统使用了串口转以太网调试助手,用于串口和网口之间收发信息的测试。同时,本系统的客户端使用了自主制作的一个网页,与串口服务器进行C/S方式工作。
2.4 网页制作
为了进一步对串口和网口之间通信机制的研究和测试,本系统研究过程中制作了一个简单的网页,如图七所示。在该网页上,可以使用网页上的控件控制硬件电路板上指示灯的工作,以便检测网口的通信,如图七中的LED1转换和LED2转换控件。同时,在该网页上可以实时地显示MCU模块中温度传感器检测到的温度,如图七中的开发板环境温度部分。该部分主要是用于测试串口通信的稳定性和有效性。除此之外,本系统设计中建立了两个超链,这是为本系统串口服务器后续扩展使用所设计的。同时,可以在本地主机上配置好网络IP地址和子网掩码以及对应的网关,将作为控制设备的PC机、串口服务器和网页显示客户端PC连成一个局域网。构造好局域网址之后,就可以在局域网的其他主机上访问请求服务器,进行网页的访问。该网页的访问地址是http://192.168.1.65。如图六、图七为本地主机网络地址信息的配置图和网页图。
3 总结语
通过本系统的研究表明,串口和网口的通信正常,实时性和稳定性都实现得较好,并且硬件电路制作简单,功耗较低,工作稳定。本系统串口服务器可以进行串口和网口的通信,可以通过以太网远程管理串口设备,也可以把串口设备返回的数据封装成IP数据包,然后通过网口传输至网络中,实时地显示串口设备的工作状态。本设计系统中加入了网页控制部分,并可以建立超链接,这部分是本系统设计为将来进行系统功能的扩展使用的模块。本设计系统串口服务器可用于携带有串口RS-232的设备,可以与网络进行通信,实时地反映设备工作时的特性。串口服务器可应用于安全防护、机房监控、工业控制、医疗设备、智能楼宇、科学研究等领域中,无论是对日常生活,还是工业控制和科学研究,都具有重要的意义。
摘要:本文提出了一种低成本、高性能的以太网串口服务器的软硬件设计方案。该服务器以Cortex-M3的芯片STM32F107VCT6为核心控制器,采用DP83848CVV以太网控制器处理网络数据,使用通信串行接口RS-232传输数据。同时,将TCP/IP协议移植到uCO/OS-III实时操作系统中,并用嵌入式系统建立实时多任务,使串口服务器能够以TCP/UDP模式在网口和串口端进行相互通信。研究证明,本服务器能实时、稳定地传输数据,并可以与设置好IP地址的网页进行相应数据的通信。
关键词:串口服务器,STM32F107VCT6,嵌入式系统,TCP/IP,uCO/OS-III
参考文献
[1]肖利平.基于Lwip的嵌入式串口服务器的设计与实现[J].电子科技,2009,22(05):11-13.
[2]焦海波,刘健康.嵌入式网络系统设计——基于Atmel ARM7系列[M].北京:北京航空航天大学出版社,2008.
[3]徐荣珍,张敏聪,李从心.基于ARM和TCP/IP协议的嵌入式串口网络转换器设计[J].电子器件,2006,(03).
[4]徐爱钧.IAR EWARM V5嵌入式系统应用编程与开发[M].北京:北京航空航天大学出版社,2009.
[5]任哲.嵌入式实时操作系统μC/OS-II原理及应用(第2版)[M].北京:北京航空航天大学出版社,2009.
[7](美)Jean J.Labrosse,著.邵贝贝,等,译.嵌入式实时操作系统μCOS-Ⅱ[M].北京:北京航空航天大学出版社,2003.
[8]李小坚,赵山林,等.Protel DXP电路设计与制版实用教程(第2版)[M].北京:人民邮电出版社,2009.
[9]百度文库.以太网转串口模块[EB/OL].http://wenku.baidu.com/view/8dc54e81e53a580216fcfed c.html.