《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于以太网技术的车桥追溯管理系统终端设计
基于以太网技术的车桥追溯管理系统终端设计
来源:微型机与应用2013年第21期
王文虎,杨 峰
(湖南文理学院 电气与信息工程学院,湖南 常德 415000)
摘要: 基于Cortex-M3内核的ARM芯片STM32F107所构建的车桥追溯管理系统终端,采用以太网进行数据传输,嵌入μC/OS-II实时操作系统和LwIP协议栈,实现多任务的管理,优化数据的传输。实验表明,终端系统稳定,人机对话界面友好,数据能快速、大量、有效传输,具有很好的应用前景。
Abstract:
Key words :

摘  要: 基于Cortex-M3内核的ARM芯片STM32F107所构建的车桥追溯管理系统终端,采用以太网进行数据传输,嵌入μC/OS-II实时操作系统和LwIP协议栈,实现多任务的管理,优化数据的传输。实验表明,终端系统稳定,人机对话界面友好,数据能快速、大量、有效传输,具有很好的应用前景。
关键词: 车桥总成;STM32F107;以太网;μC/OS-II;LwIP协议栈

 车桥生产企业录入VIN编码时,经常发生人为失误,如工人在记录时的字迹模糊不清、录入员在录入时的操作过失、遗漏单据等现象,阻碍了整个车桥安装进程的进度,降低了劳动生产率,直接影响着企业的经济效益[1]。至此,实时录入工位车桥总成信息的终端具有应用的现实意义。由STM32F107构建的车桥追溯管理系统终端,通过以太网进行数据传输,同时嵌入μC/OS-II实时操作系统实现多任务管理,将工位总成信息传至PC机以进行统一管理。
1 总体方案
 终端采用基于Cortex-M3内核的ARM芯片STM32F107为处理器,构建STM32应用电路、以太网通信电路、人机接口电路、指示报警电路、电源电路,结构框图如图1所示。终端分为上桥终端与工位终端。工位终端安装在装配流水线的相关工序对应的工位,实现流水线工位有效信息的录入;上桥终端安装在装配流水线的上桥工位,实现总成桥类型、数量按当班总调度的要求实时调度与控制。

    终端的数据传输方式如图2所示。PC机作为以太网

2 硬件设计
 终端硬件分为STM32应用单元、以太网通信单元、人机接口单元、指示报警单元等。
2.1 STM32应用单元
 STM32F107是一款性价比极高的微控制器,它集成了丰富的外围功能模块,可满足多种应用场合,适宜于实时控制[2]。STM32的系统时钟可来自3个不同的时钟源,本终端采用HSE时钟为高速外部时钟信号,通过OSC_IN接入一个最高为25 MHz占空比为50%的外部时钟信号提供系统所需的时钟基准。复位方式为系统外部复位,通过按下独立按键,向NRST引脚输入低电平,完成复位。STM32的内核集成了串行线/JTAG调试接口用于接调试器,便于程序的调试。
2.2 以太网通信单元
 以太网通信电路,如图3所示。通过STM32F107的MAC接口与以太网驱动芯片DP83848构成的的PHY(物理层)接口相连接,再与网络变压器、RJ45插槽相连接,从而实现网络通信。STM32F107以太网模块支持两种模式接口:独立介质接口(MII)和简化独立介质接口(RMII)[3]。设计选择独立介质接口(MII),它需要16根数据和控制信号的引脚,支持10 Mb/s、100 Mb/s数据传输。

 DP83848C是一款高性能的满足10M/100M单接口的PHY物理层元器件,它具有低电压损耗特性,同时提供几种智能休眠模式,这样可以减少电能的消耗,提高元器件的可靠性[3]。通过配置DP83848C的MII_MODE引脚为0,SNI_MODE引脚任意,选择为MII模式。AN_EN、AN_0、AN_1引脚上拉3.3 V,自动协商功能使能,且支持10BASE_T半/全双工和100BASE_TX半/全双工两种传输方式。PHY的物理地址由PHYAD[0:4]引脚确定,PHYAD[0]引脚内部有弱上来电阻,PHYAD[4:1]引脚有弱下拉电阻,所以PHY地址默认为00001(01h)。
2.3 其他单元
 人机接口单元包括PS2键盘电路与LCM屏电路,主要用于人机信息的交互。指示报警单元利用LED灯和蜂鸣器对终端的运行情况进行指示、报警,包括网络连接诊断指示、以太网通信指示、终端运行状况指示和硬件错误指示,当终端出现硬件错误与通信错误时,除了LED外,报警电路的蜂鸣器同时响起。电源单元采用美国国家半导体LM2576HVS-3.3芯片将直流+48 V转换为直流+3.3 V,为整个终端提供可靠、稳定的电能。
3 软件设计
 软件上嵌入μC/OS-II实时操作系统[4],建立以太网通信、人机接口、指示报警、终端选择等任务,通过μC/OS-II任务调度,完成任务的切换与运行。嵌入LwIP协议栈,实现TCP/IP协议层的构建。
3.1 LwIP协议栈移植
 μC/OS-II是一个开放源码的实时操作系统,它只是一个实时的任务调度及通信内核,缺少对外围设备和接口的充分支持[5]。而LwIP TCP/IP在保持TCP协议主要功能的基础上减少对RAM的占用,一般它只需要几十KB的RAM和约40 KB的ROM就可以运行,这使LwIP协议栈适合在低端嵌入式系统中使用。它与系统其他部分的相对位置关系如图4所示。

 sys_arch.h中的内容是与OS相关的一些结构和函数,分为四个部份:
 (1)sys_sem_t数据结构及信号量函数
 struct sys_sem_t;sys_sem_new();
 sys_sem_free();sys_sem_signal();
 sys_arch_sem_wait();
 (2)sys_mbox_t消息函数
 sys_mbox_new();sys_mbox_free();
 sys_mbox_post();sys_arch_mbox_fetch();
 (3)系统超时函数
 struct sys_timeouts*
 sys_arch_timeouts(void)
 (4)创建新线程函数
 void sys_thread_new(void(*thread)(void*arg),void*arg);
3.2 任务划分和资源分配
 μC/OS-II是专为嵌入式应用设计的公开源代码的抢占式实时操作系统,它把系统软件分割成多个任务,每个任务负责完成相应工作,系统功能由多个任务协作完成[6]。任务分配方案的好坏将直接影响软件编写效率和性能,系统任务分配如表1所示。在起始任务中建立了一系列的邮箱信号来协调各个任务的运行,资源分配如表2所示。

 终端μC/OS-II系统设置为每隔50 ms进行一次任务切换,以太网任务用于以太网数据的发送与接收;终端选择任务是通过功能按键中断触发来选择任务,进入终端选择界面之后,根据界面的提示,通过PS2键盘选择终端类型;人机接口任务主要完成人机信息的交互;指示报警任务则是最终端的运行状况进行检测、指示、报警。
 在μC/OS-II平台下,各个任务对资源的申请,以及任务间的通信通过操作系统的消息管理模块来进行,可保证任务与任务之间的耦合性最小,增加了系统的稳定系数。
3.3 以太网通信任务
 STM32F107的以太网模块支持通过以太网收发数据,符合IEEE 802.3-2002标准,通过外接的PHY接口,支持10 Mb/s、100 Mb/s秒的数据传输速率。
 (1)以太网任务初始化。针对此任务的变量、标志位以及LwIP协议栈初始化,其包括Heap型内存初始化,Pool型内存初始化,网络配置初始化,宏定义初始化等。
 (2)以太网数据发送与接收。上桥终端发送给工位终端的桥号先传给PC机,再由PC机转发给工位终端。如果由上桥终端直接发送给工位终端,则上桥终端既作服务器,又做客服端,这样增加了终端程序的任务量,至此,将更多的数据传输交给PC机,充分利用PC机的高效性。以太网的数据在以太网中断程序接收,通过μC/OS-II建立的以太网邮箱,将接收到的数据以邮件的形式“投递”到以太网任务进行处理。有以太网邮件的到来才会激活以太网任务,否则,以太网任务一直处于挂起状态。根据终端的类型将接收到的有效数据存储至STM32F107自带的Flash中,防止掉电意外丢失。同时对数据进行处理,通过以太网发送到相应的PC或者终端中。以太网通信任务流程图如图5所示。

 终端上电后,如果是第一次启动,尚未选择终端类型,需要按下功能键,程序会自动进入终端选择界面,通过PS2键盘选择相应的终端,工位终端的选择。
 利用“网络调试助手软件”模拟上位机软件,用来发送和接收各终端的信息。终端作为客户端,PC机作为服务器。在“网络调试助手软件”对话框中设置好IP号、端口号,等待各终端的连接,各终端成功连接之后便可以进行数据传输。上桥终端接收到VIN码后,将其显示在液晶屏上,通过PS2键盘的确认键,每按一次,就发送一组VIN码给工位终端。工位终端接收到VIN码后,进入录入数据界面,如图7所示。输入工序数,确认无误后,再依次输入分成号、工序号、操作者号,点击确认键,数据通过以太网上传给PC机。

 

 

 车桥追溯管理系统终端结合μC/OS-II和以太网技术技术实现了数据远程与实时传输。μC/OS-II实时操作系统的嵌入,大大提高了微处理器利用效率;多任务的建立,既加强了各外设的联系,又优化了以太网数据的传输。实验表明,此终端系统稳定,人机对话界面友好,以太网数据能快速、有效传输,具有广阔的市场前景。
参考文献
[1] 王文虎,李建奇,曾进辉.基于CAN总线的车桥总成数据管理系统设计[J].自动化与仪器仪表,2006(1):12-14.
[2] 黄郑.扩展STM32系列续写32位微控制器优势[J].电子设计应用,2008,1(7):4-6.
[3] 宋鑫,郭勇,谢兴红.RMII模式以太网PHY芯片DP83848C的应用[J].单片机与嵌入式系统应用,2010(8):43-45.
[4] 邵贝贝.嵌入式实时操作系统UC/OS-II[M].北京:北京航空航天大学出版社,2003.
[5] 焦海波.TCP/IP协议栈LwIP的设计与实现[J].信息与控制,2000,29(2):12-14.
[6] 何雅琴.基于UCOS_II的智能窗系统的设计[D].上海:华东师范大学,2007.

此内容为AET网站原创,未经授权禁止转载。