基于UCOS_和LwIP的串口设备联网技术研究_谌进

电子设计工程
Electronic Design Engineering
第23卷
Vol.23
第10期No.102015年5月May 2015
在传统的工业控制领域,主要采用的RS-232、RS-485或RS-422串口与主机通讯,而串口通讯又有很多无法克服的缺点,比如传输速率低、通讯距离短、无法远程控制和集中管理等[1]。如何解决传统工
控领域的串口通讯设备的缺点,让用户在原有串口设备的资源上实现串口与主机之间的经济、高效、可靠的通讯是本文研究的重点。本文设计了一种基于
UCOS-II 和LwIP 的串口设备联网技术的系统设计方案,通
过以太网线实现串口设备与主机之间双向数据传递,实现
RS-232/422/485串口设备与主机之间的网络通讯。
1系统总体方案设计
在系统设计总体方案中:STM32微控制器通过串口实现
对用户串口设备信息的透明传输,该信息经过轻量型协议栈的处理,实现串口信息到以太网信息的转换,然后经以太网传递给客户端,由客户端实现对信息的管理;与此同时,通过客户端发送信息,经以太网传递给STM32微控制器,由协议栈的处理,之后将信息由以太网传递给串口,再传递给用户设备,从而实现用户设备和客户端之间的双向通信[2]。串口设备联网总体框图如图1所示。
2硬件电路设计
基于STM32的嵌入式串口设备联网技术的系统设计,硬
件主要分为3部分,即STM32F107VCT6最小工作系统、
SP339串口控制芯片和MCU 组成的串口通信模块、STM32F107VCT6内部集成MAC ,外部PHY 芯片DM9161和
集成变压器HR911105A 组成的网络通信模块。
2.1STM32嵌入式MCU 最小工作系统设计
STM32F107VCT6微型处理器的最小系统电路主要由
图1
系统总体框图
Fig.1Structure diagram of the power control unit test system
收稿日期:2014-09-05
稿件编号:201409051
基金项目:公益性行业(气象)科研专项资助项目(GYHY201306070)
作者简介:谌进(1987—),男,湖北随州人,硕士研究生。研究方向:物联网,嵌入式开发。
基于UCOS-II 和LwIP 的串口设备联网技术研究
谌进1,马尚昌
1,2
,张素娟1,2,杨笔锋1
(1.成都信息工程学院电子工程学院,四川成都610225;2.中国气象局大气探测重点开放实验室,四川成都610225)摘要:文中介绍一种基于高性能处理器STM32的嵌入式串口设备联网技术的系统设计,该系统充分利用UCOS-II 实时操作系统和LwIP 轻量型网络协议栈的特点,采用DM9161快速以太网PHY 和STM32微处理器等组成,通过以太网实现上位机客户端到串口的数据信息的双向传输,完成串口数据的网络通信。最后对系统进行了测试,结果表明基于UCOS-II 和LwIP 的串口设备联网系统设计是正确和高效的。
关键词:LwIP ;UCOS-II ;STM32;串口设备;联网技术;串口转以太网;双向通信中图分类号:TN919.6
文献标识码:A
文章编号:1674-6236(2015)10-0075-04
Serial port equipment networking technology research based on UCOS-II and LwIP
SHEN Jin 1,MA Shang -chang 1,2,ZHANG Su -juan 1,2,YANG Bi -feng 1
stkx(1.School of Electronic Engineering ,Chengdu University of Information Technology ,Chengdu 610225,China ;
2.CMA.Key Laboratory of Atmospheric Sounding-KLAS ,Chengdu 610225,China )
Abstract:This article introduces a kind of serial port equipment networking technology of system design based on high -performance processor STM32.The system makes full use of UCOS II real -time operating system and LwIP lightweight characteristics of the network protocol stack ,using DM9161fast Ethernet PHY and STM32microprocessor ,etc.Through Ethernet to realize the data of the serial port of PC client to the two -way transmission of information ,we can complete the data of network communication.Finally ,the system was tested ,the results show that the system based on UCOS-II and LwIP is correct and efficient.
Key words:LwIP ;UCOS -II ;STM32;a serial port equipment ;networking technology ;a serial
port signals
converted to
Ethernet ;both -way communication
DOI:10.14022/jki.dzsjgc.2015.10.025
图3
网络通信模块设计框图
Fig.3Network communication module design block diagram
图2串口通信模块硬件设计原理图
Fig.2Serial port communication module hardware design principle diagram
主控芯片、时钟电路、电源电路、下载电路、复位电路和滤波电容电路等组成[3]。主控芯片为STM32F107VCT6,各种高性能工业标准接口在芯片内部高度集成。时钟电路由
25MHz 无源晶振构成。电源适配器将220V 交流电转换
为5V 直流电,再由芯片ASM1117将之转换为3.3V 后可对芯片直接供电,即完成电源电路的设计。下载电路采用Jlink 的下载方式,需要在MDK 编译环境下做相应的配置,操作简单方便。复位电路设计为按键复位。当按键开关断开时,为上电复位;当按键开关接通时,按键RESET 端经电阻与Vcc 电源接通而实现。滤波电容电路采用并联电容电路的方式来提高滤波的效率,从而得到更加平滑地直流输出[4]。
2.2STM32嵌入式MCU 串口通信模块设计
STM32嵌入式MCU 串口通信模块在通信过程如下:用
户设备串口信号(RS-232/485/422)通过拨码开关的设置进行接入,通过SP339将RS-232/485/422信号转换成LVTTL 电平信号,该电平信号输入到STM32微控制器,并由STM32微控制器将串口设备信号发送到LwIP 网络协议栈,之后将信号由网线传入到客户端。与此同时,客户端发下来的信息由网线传输到LwIP 网络协议栈,通过LwIP 网络协议栈传输至
STM32微控制器,经过STM32微控制器的处理将信号转换成LVTTL 电平信号,再由SP339将LVTTL 电平信号转换与用
户设备对应的RS-232/422/RS485信号。串口通信模块硬件设计原理图如图2所示
胀锚螺栓
2.3STM32嵌入式MCU 网络通信模块设计
STM32F107VCT6微型处理器网络通信模块由集成变压
器HR911105A 、外接网络物理层(PHY )接口和介质访问控制器(MAC )组成。网络通信模块设计框图如图3所示。
STM32F107VCT6芯片内部集成了介质访问控制器
(MAC ),通过外接10/100M 的DM9161网络物理层芯片(PHY ),内部MAC 与外部的PHY 通过媒体独立接口(MII )或是简化媒体独立接口(RMII )传输以太网数据包。
STM32F107VCT6的总线时钟频率可达72MHz ,因此在本设
计中直接采用了RMII 接入方式,相比MII 的方式可以减少一半的接入的信号线的数量,同时支持平行交叉网线自适应。内部MAC 接收到来自PHY 传递的数据包并将其通过
FIFO 传递给直接内存访问(DMA ),最终由DMA 将以太网数
据包直接传递给总线,同理,通过总线传递到DMA 的数据包可以由DM9161PHY 传递到HR911105A 。
3
软件系统设计
3.1
UCOS-II 操作系统和LwIP 协议简介
实时嵌入式操作系统UCOS-II 包括资源同步、资源管
理、任务之间的相互通信等特点,由于该系统是一个实时可
剥夺系统内核,可最多支持64个任务,并且可以利用任务不同的优先级来调度任务间的运行,因此可以很方便地为用户所调用。与此同时,它也具备了可以实时测量其运行性能、任务之间通过信号量和消息邮箱进行通信以及同时等待多个信号量和消息队列等其它实时内核中没有的特性[5]。
LwIP (Light Weight (轻型)IP 协议)是一个小型开源的TCP/IP 协议栈,由瑞典计算机科学院(SICS )的Adam Dunkels
所开发,可以运行在有操作系统和无操作系统的环境下。
LwIP 在保留了TCP 协议主要功能同时实现了对RAM 的尽
发票导出可能少的占用,40KB 左右的ROM 和十几KB 的RAM 就可以正常运行,这使得LwIP 协议栈在中低端的嵌入式系统中
《电子设计工程》2015年第10期
图4
系统初始化流程
Fig.4
System initialization process
有着广泛的运用[6]。
3.2UCOS-II 操作系统的移植
UCOS-II 中V2.91版本的源代码在STM32F107的移植
过程中,主要分为不需要修改和需要修改两部分。不需要修改的文件只需添加到工程目录中即可,在这里重点介绍需要修改部分。需要修改源代码的文件为OS_CPU.C 、COS_CPU.H 及OS_CPU_A.ASM [7]。
OS_CPU.C 中要修改的函数是OSTaskStkInit ,其它的9个
函数不需要包含任何代码,但是必须声明。OSTaskStkInit 的作用是把任务堆栈初始化。堆栈中的LR 和PC 需初始化为任务的入口地址值,便于任务切换时跳转到正确执行语句的地方。
OS_CPU.H 头文件中需要修改的内容有两部分:与处理
器相关的少量代码部分和与编译器相关的数据类型重定义部分。其中与处理器相关部分代码包括任务切换宏定义、处理器堆栈增长方向及临界区访问处理。
OS_CPU_A.ASM 汇编文件中有4个函数需要修改:分别
OSSstartHighRdy 、OSCtxSw 、OSIntCtxSw 和OSTickISR 。
OSSstartHighRdy 函数只在操作系统开始调度任务前执行一
次,目的是启动多任务调度。OSCtxSW 是任务切换函数。在任务执行过程中,UCOS-II 内核会启动OSCtxSW 进行任务切换,确保进入就绪态的任务始终是当前任务优先级最高的任务。汇编函数OSIntCtxSW 是中断级任务切换函数。若在任务执行时有中断发生,且中断服务程序所执行的任务比正在运行的任务的优先级更高时,这时候中断服务程序所执行的任务就会进入就绪态,在中断返回之前,UCOS-II 内核就会调用函数OSIntCtxSw 。系统时钟节拍的中断服务函数是
OSTickISR 。处理器STM32F107VCT6中有一个专门用来定义
系统时钟节拍定时器SysTick 。本移植过程用SysTick 产生每
200ms 一次的时钟节拍中断。3.3
LwIP 协议栈的移植
STM32嵌入式MCU 串口设备联网技术在设计时既要实
现TCP/IP 通信,还要实现与串口交换数据。在设计中采用
LwIP 精简协议,将需要实现的各种功能分解成各自独立的任
数据库探针务,通过优先级的调度,使各项任务能够有条不紊的运行[7]。任务之间可以通过信号量、消息队列、消息邮箱等进行通信,既保证了系统的实时性,又降低了实现的难度。LwIP 协议栈将顶层应用层之外的所有协议集和底层硬件驱动都封装在一个库里,实现了在编写程序过程中最大的通用性[8]。协议栈通过接口与底层硬件和顶层应用通信,完成网络协议栈的4层功能:物理层完成对STM32微处理器的以太网控制器驱动;接口层通过ARP 协议完成对集成访问介质MAC 的辨识;网络层完成最基本的网络传输协议,包括IP 、ICMP 等协议;网络传输层管理网络数据按照一定的格式进行传输,
LwIP 为联机网络进行高可靠性的数据通信提供了基础。3.4应用程序设计3.4.1
系统初始化流程
STM32嵌入式MCU 串口设备联网技术的应用程序设计如下:当目标板上电后,通过IAR 编译器将编译无误的程序代码通过Jlink 下载到MCU 内,程序启动UCOS-II 操作系统,在操作系统内对目标板进行串口,LED 状态灯等外设的初始化,LwIP 协议栈的初始化,之后进行UCOS-II 实时操作系统的多任务调度,及任务间的消息的传递处理,从而实现串口到以太网口之间的数据的发送与接收,完成串口设备联网技术的系统设计[9]。如图4所示。
3.4.2RAW-API 下客户端与服务器
基于RAW-API 进行的TCP/IP 编程,能够很好地将TCP/
茶叶中的提取
IP 协议栈的代码和应用程序的代码相结合。程序以回调函数
为基础的事件驱动,同时TCP/IP 代码也能够直接回调函数。
TCP/IP 代码和应用程序的代码在同一个线程里面运行。RAW-API 函数在程序代码的执行时间更短,并且它在运行
时占用的内存资源更少。在CODE 和RAM 都较小的嵌入式系统中,该方法有十分明显的优势。
4测试结果
在STM32嵌入式串口设备联网技术的系统设计测试过
程中,利用网络调试助手来模拟客户端,服务器程序编写在
STM32MCU 内部。经过测试,当拨码开关分别设置0101、1010
和1111(分别对应为RS485、RS232和RS422信号的接入方式)时,网络调试助手能够准确无误地接收串口发送过来的数据,与此同时,串口也能够准确无误地接收客户端发送来的数据。实验结果如图5和图6所示。
5结束语
设备连入互联网是科技发展的趋势,随着科技的进步,
更多的自身具有联网功能的设备将会逐步取代按照传统
谌进,等
基于UCOS-II 和LwIP 的串口设备联网技术研究
图6网络接收数据显示
Fig.6The data display of network received
图5串口接收数据显示
Fig.5The data display of serial port received
信方式工作的串口设备,但这个过程会比较漫长。如何让传统的通信方式工作的串口设备在不改变现有串口设备软硬件条件下能够连接到网络,本文提供了一种经济实用的串口设备联网的系统设计方案[10]。该方案结构简单、性能可靠而且性价比高,经过实际测试和验证,具有很好的应用效果。参考文献:
[1]周超.基于Cortex-M3的以太网串口服务器的设计与实现
[D].武汉:武汉理工大学,2012.
[2]周鹏,黄灿,江楠.串口与网络结合的通信方案的研究[J].
计算机与网络,2011(15):68-70.
ZHOU Peng ,HUANG Can ,JIANG Nan.A serial port and network combined with the study of the communication plan[J].Computer and Network ,2011(15):68-70.
[3]张少兵,王会彬.基于ARM Cortex M3的以太网串口服务器
设计与实现[J].军民两用技术与产品,2013(9)
:53-58
(下转第82页)
5结论
通过Gmsh 软件创建三维集成电路模型并生成网格化
文件,利用Matlab 软件提取有限元参数,得到刚度矩阵,利用层次矩阵(H-matrix)表示刚度矩阵。获得了不同模型的热分布图,得到了不同模型刚度矩阵求逆所消耗的存储空间和运算时间。进一步分析表明,随刚度矩阵行列数目的增加,求对应逆矩阵所需的运算时间和存储空间呈线性变化关系。仿真结果对三维集成电路的设计有指导作用。参考文献:
[1]王乃龙,刘森,周润德.用有限差分法实现集成电路的电热
耦合模拟[J].微电子学,2004,34(3):295-297.
WANG Nai-long,LIU Miao,ZHOU Run-de.Electro-Thermal simulation of integrated circuits using finite difference method[J].Microelectronics ,2004,34(3):295-297.
[2]王凤娟,朱樟明,王宁,等.考虑硅通孔的三维集成电路最
高层温度模型[J].计算物理,2012(4):109-113.
WANG Feng -juan ,ZHU Zhang -ming ,WANG Ning ,et al.A thermal model for top layer of three-dimensional integrated circuits with through silicon via [J].Chinese Journal of Computational Physics ,2012(4):109-113.
[3]杜秀云,唐祯安.三维集成电路工作热载荷工况的有限元
仿真[J].系统仿真学报,2012(2):49-52.
手套加工DU Xiu -yun,TANG Zhen -an.Finite element simulation for 3D-IC of working process under thermal loads [J].Journal of System Simulation ,2012(2):49-52.
[4]李文石.二维和三维集成电路的热阻计算[J].微电子学,
2005(5):40-43.
LI Wen -shi.Computation of thermal resistance for 2D -and 3D-IC ’s[J].Microelectronics ,2005(5):40-43.
[5]胡辉勇,张鹤鸣,贾新章,等.Si-SiGe 材料三维CMOS 集成电
路技术研究[J].半导体学报,2007(5):49-53.
HU Hui -yong,ZHANG He -ming,JIA Xin-zhang,et al.Study on Si -SiGe three -dimensional CMOS integrated circuits [J].Chinese Journal of Semiconductors ,2007(5):49-53.
[6]曾攀.有限元分析基础教程[M].北京:清华大学出版社,
2008.
[7]Geuzaine C,Jean -Francois Remacle.Gmsh:a three -dimen -sional finite element mesh generator [J].International Journal for Numerical Methods in Engineering,2009,79(11):1309-1331.
[8]Mario Bebendorf.Hierarchical Matrices[M].Germany:Springer,
2008.
图7
求解刚度矩阵的逆耗费的CPU 运算时间
Fig.7To solve the stiffness matrix of the inverse
consuming CPU operation time
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第78页)
ZHANG Shao -bing ,WANG Hui -bing.Based on ARM archi -tecture design and implementation of Cortex M3Ethernet serial server [J].Dual -use Technologies and Products ,2013
(9):53-58.
[4]北京东方讯科技发展有限公司.串口设备联网服务器
EIC -NC20方案[EB/OL].www.gkong/Company/eastcent/SolutionDetail.ashx?id=5049,2007-03-23.[5]任哲.嵌入式实时操作系统uC/OS-II 原理及应用[M].2版.北
京:北京航空航天大学出版社,2009.
[6]Jean J.Labrosse.嵌入式实时操作系统uC/OS-II[M].2版.邵
贝贝,译.北京:北京航空航天大学出版社,2003.
[7]史涛,沈天飞,李斌.用于车速传感器性能测试平台的串
行口-以太网桥设计[J].电子技术应用,2007(4):19-22.
SHI Tao ,SHEN Tian -fei ,LI Bin.Speed sensor performance test platform for serial port -Ethernet bridge design[J].Elec -tronic Technology Applications ,2007(4):19-22.
[8]上海卓岚信息科技有限公司.串口转TCPIP 的TCP 工作模
式选择[EB/OL].www.zlmcu/document/tcp_work_
mode.html ,2010-12-22.
[9]黄天戍,汪汝宁,袁学文.TCP/IP 协议栈在嵌入式异构网
络互联中的应用[J].单片机与嵌入式系统应用,2004(9):
30-33.
HUANG Tian -shu ,WANG Ru -ning ,YUAN Xue -wen.TCP/IP protocol stack in embedded application of heterogeneous network interconnection [J].Microcontroller and Embedded Systems Applications ,2004(9):30-33.
[10]马修才,马尚昌,张素娟,等.串口设备联网及其关键技术
分析[J].成都信息工程学院学报,2014(6):24-27.
MA Xiu -cai ,MA Shang -chang ,ZHANG Su -juan ,et al.A serial port devices connected to the Internet and its key technology is analyzed [J].Journal of Chengdou University of Information Technology ,2014(6):24-27.

本文发布于:2024-09-22 09:45:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/217294.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:串口   设备   任务   系统   设计   实现   电路   协议
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议