首页 > 范文大全 > 正文

基于LabVIEW的PC机与Cortex-M3微处理器的以太网通信

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于LabVIEW的PC机与Cortex-M3微处理器的以太网通信范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:以ARM Cortex-M3为核心的嵌入式处理器,配以C/OS-Ⅱ嵌入式操作系统和基于labviewpc构成的嵌入式系统,开发适合于嵌入式设备的以太网络通信。该文还介绍了TCP协议,给出了硬件接口驱动程序的实现,最终实现嵌入式以太网的数据传输。

关键词:以太网;LabVIEW C/OS-Ⅱ;嵌入式系统;ARM cortex-m3

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)03-580-02

Ethernet-embedded communication based on LabVIEW and Cortex-M3 microprocessor

ZHANG Wei

(School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)

Abstract: Microprocessor based on ARM Cortex-M3, C/OS-Ⅱ operating system and PC based on LabVIEW compose of embedded system, research ethernet-embedded communication which is used for embedded equipment. Meanwhile, it introduces that TCP agreement, tell us how to carry out hardware interface drive. Finally, carry out data transmission based on Ethernet-embedded.

Key words: ethernet; LabVIEW C/OS-Ⅱ; embedded system; ARM Cortex-M3

在工业生产环境下,存在种监控设备、检测装备等终端设备,其硬件基本都是基于嵌入式系统开发的。然而,在这些设备中存在很多参数的设置、数据传输等问题。为了解决这些集中的通信问题,此论文综合阐述了系统的设计方案。整个系统以基于LabVIEW软件平台的PC机作为上位机的管理,通过LabVIEW的强大的功能实现通信、波形显示等功能。而各种监控设备和检测装备将围绕Cortex-M3处理器为核心,基于C/OS-Ⅱ嵌入式操作系统和LabVIEW的TCP通信功能,综合叙述TCP协议在本设计中的实现。

1 基于Cortex-M3处理器嵌入式以太网接口设计

1.1 LM3S8000系列处理器介绍

LM3S8000系列处理器是ARM公司于2006年专为工业设备的一款高性价比和高性能的微控制器解决方案。它能够提供高效性能、广泛的集成功能以及按照要求定位的选择,适用于各种关注成本并明确要求具有的过程控制以及链接能力的应用方案。它基于Cortex-M3 处理器内核,采用哈佛结构,即内部的指令和数据总线是相互独立分开的,指令和数据可以从存储器中同时读取,对多个操作可以并行执行,加快了应用程序执行速度。它结合了10/100以太网媒体访问控制(MAC)以及物理层(PHY),标志着ARM Cortex-M3微控制器具备了集成连接能力,还是唯一系列同时集成了10/100以太网MAC和PHY物理层的ARM架构MCU。

它是专为针对工业应用方案设计的,这些应用方案包括远程监控、电子贩售机、测试和测量设备、网络设备和交换机、工厂自动化、HVAC和建筑控制、游戏设备、运动控制、医疗器械、火警安防等。

1.2 LM3S8000处理器的以太网接口设计

LM3S8000系列CPU支持以太网接口,以太网通信需要通过一个网络变换器,此设计采用HR6011680网络变换器进行设计。它由一个完全集成的介质访问控制器(MAC)和网络物理层(PHY)接口器件组成,遵循IEEE 802.3规范,支持10BASE-T和100BASE-TX标准。它具有全双工和半双工的10/100Mbps的工作模式、CRC错误拒绝控制、用户可配置中断、自动MDI/MDI-X交叉校验、自动极性校正和10BASE-T信号接受等功能。其具体设计如图1所示。

2 下位机LM3S8000芯片的以太网通信程序设计

2.1 以太网通信-TCP通信协议

所谓以太网通信,就是利用当今世界上最流行的开放局域网Ethernet作为连接工业I/O控制模块的通信网络。在以太网中,所有计算机被连接一条同轴电缆上,采用具有冲突检测的载波感应多处访问(CSMA/CD)方法,采用竞争机制和总线拓扑结构。以太网通信采用的协议是IEEE802.3和TCP协议。因此,在以太网通信中,TCP协议作为以太网的一种基本通信标准,具有及其重要的作用。

2.2 基于LM3S系列处理器的C/OS-Ⅱ在IAR上的移植

C/OS-Ⅱ是基于优先级的可抢先的硬实时内核,它是一种专门的嵌入式设备设计的内核,被移植到各种开发系统中。C/OS-Ⅱ只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。它具有良好的可扩展性和源码开放,适合于工业中的嵌入式实时操作系统。在IAR的移植过程中,必须配置以下的目录移植:

User目录存放用户代码与设置;如其中的Main.C文件是编写任务的地方,OS_Cfg.H是C/OS-Ⅱ的配置文件;

Middleware用来存放用户自己编写的中间件,如:Uart0.C、Uart0.H串口通讯中间件等;

C/OS-ⅡSource目录存放C/OS-Ⅱ针对LM3S微处理器的移植代码;

Target目录存放针对LM3S的初始化代码;并且提供简单的外设控制API函数,方便用户调试。

2.3 基于IAR操作系统的TCP通信程序设计(包括框图流程、设计代码)

TCP协议是传输控制协议,它是基于IP的面向连接的、端对端的可靠通信协议。因此,服务器和客户端进行TCP通信的时候,必须运用Socket API接口函数来设置IP地址。此设计采用PC作为客户端的模式进行对微处理器的访问。在访问过程中,通过接口函数需要进行监听连接、TCP接受函数、TCP发送函数、TCP连接确认函数、TCP连接关闭函数、SOCKET关闭函数等过程。其通讯过程如图2所示。

此设计采用微处理器作为服务器端、PC作为客户端的模式。Cortex-M3处理器在IAR实时操作系统下,必须对其进行连接函数的编写,其部分程序如下:

s =* socket(0, 0, 0);//建立一个基于TCP通信的Socket

servaddr.sin_addr[0] = NetPort[0].My_Ip[0]; //设定本地SOCKET的IP地址servaddr.sin_addr[1] = NetPort[0].My_Ip[1];

servaddr.sin_addr[2] = NetPort[0].My_Ip[2];

servaddr.sin_addr[3] = NetPort[0].My_Ip[3];

servaddr.sin_port = 80;// 设定监听的本地端口

ei=bind((SOCKET*) &s, (struct sockaddr*) &servaddr,sizeof(servaddr));//绑定(服务器端)IP地址和监听端口

ei = listen((SOCKET *) & s, 4);//监听的连接数是4个连接

Temp = accept((SOCKET *) & s, (struct sockaddr *) & cliaddr, &addrlen );//接受客户端的连接请求

recv(Temp, tempdata, 400, 0 );// 读取数据

send(Temp, httpweb, sizeof(httpweb) - 1, 0 );//发送应答

send(Temp, web, sizeof(web), 0 );//发送网页

memset(tempdata, 0, 400);//清空接受缓存区

close(Temp);//断开连接

微处理器与PC通过以太网口连接,通过LM-link或者其他调试器将此编写好的程序下载到微处理器中,运行后并可访问服务器中的网页。

3 上位机PC的LabVIEW程序设计

3.1 LabVIEW软件简要介绍(功能优势)

LabVIEW软件是美国国家仪器公司的基于图形化G语言的开发环境,是利用PC计算机显示器(CRT)的显示功能模拟传统仪器的控制面板,以多种形式表达输出检测结果,利用PC计算机强大的软件功能实现信号数据的运算、分析、处理,由I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机系统。

3.2 LabVIEW软件的TCP通信的程序设计

TCP通信协议是通过三次握手来初始化,目的是使数据段的发送和接送同步,告诉其他主机其一次可接受的数据量,并建立虚连接。三次握手的过程包括:初始化、接受主机的回复、请求发送数据。在此三个过程中,都可以采用LabVIEW软件很容易实现,其实现程序如图3所示。

4 小结

TCP协议已经成为最为流行及广泛使用的以太网协议,Cortex-M3微处理器正在以其造价和功能上的优势,慢慢地占据大部分市场。因此,采用TCP协议对Cortex-M3微处理器和PC机进行以太网连接,对于工业的数据采集、数据通信和处理等过程是及其重要的研究。在远程图像监控系统、远程温度监控系统等各种工业方面,具有及其广阔的应用前景。

参考文献:

[1] 杨乐平,李海涛,杨磊,等.LabVIEW程序设计与应用[M]. 北京:电子工业出版社,2006.

[2] 陈锡辉,张银鸿.LabVIEW8.2程序设计从入门到精通[M]. 北京:清华大学出版社,2007.

[3] 周立功.EasyARM8962实验教程[M]. 广州:广州致远电子有限公司,2006.

[4] 周立功.Cortex-M3开发指南―基于LM3S8000[M]. 广州:广州致远电子有限公司,2006.

[5] 朱云芳,江桦.Protel 99SE电路设计与制板[M]. 北京:机械工业出版社,2007.

[6] 张新亮,孙军强.LabVIEW驱动一般多功能接口卡的研究[J]. 仪器仪表学报,2000.

[7] LabVIEW User Manual. National Instruments. 2000.

[8] 段海龙,彭辉俊,程健. 基于ARM的嵌入式以太网通信的实现[J].网络通信,2003.

[9] 吴明晖等.基于ARM的嵌入式系统开发与应用[M].北京:人民邮电出版社,2004.

[10] RTL8019AS 用户手册[Z].Realtek Semi-conductor Co.Ltd.

[11] 何轩.基于ARM微处理器的嵌入式以太网接口[J].电子工程师,2005,31(1):72-74.

[12] 袁军.以太网通信功能在ARM微处理器的实现[J].机电产品与创新,2004,17(5):68-70.

[13] Bentham Jeremy. 嵌入式系统Web服务器TCP/IPLean[M].陈向群 译.北京:机械工业出版社,2003.