基于ARM微处理器的以太网工业智能控制器.docx
《基于ARM微处理器的以太网工业智能控制器.docx》由会员分享,可在线阅读,更多相关《基于ARM微处理器的以太网工业智能控制器.docx(19页珍藏版)》请在冰豆网上搜索。
基于ARM微处理器的以太网工业智能控制器
基于ARM微处理器的以太网工业智能控制器
郭剑锋
(北京机械工业自动化研究所.北京100011)
摘要。
详细描述了采用ARM微处理器和Reaitek全双工以太网控制器RTL8019AS设计一个以
太网通信的硬件平台的过程,并将具有LwlP协议栈和uC/OSII实时操作系统移植到该平台上,使该系统能够实现以太网通信控制功能。
介绍了该设备的应用对象,及在该设备基础上组建一个工业以太网控制系统的应用案例。
关键词。
ARM;以太网:
现场总线;uC/OS¨:
LwlP:
工业控制器中田分类号。
TP39文章编号。
1
009一01
文献标识码。
A
34(2004)03一0075—03
1
现场总线与工业以太网发展现状
以太网及TCP/1P通信技术广泛麻用于商业办公
同时达到10Mbps的速率;内置16KB的SRAM,用于收发缓冲,降低对}i处理器的速度要求。
领域。
近年来,由丁陶际现场总线技术标准化上作没有达剑人们理想的结果,以太网及TCP/IP技术逐步在自动化ff、lk中得到应用,并发展成为-种技术潮流。
H前,我国在以太网应用于工业控制方面的
研究刚刚起步,虽然已经有计多关于D啦以太网方
面的文章,但雉奉J二都是停留在理论的分析与探讨上,真正致力于工业以太网实际应用的方案和工程实例很少。
2基于ARM的以太网工业控制系统
的实现
由于早期的微处理器速度慢,功能简单H价格昂贵,尤法处理Ethemet+TCP/IP的通信机制。
近年来,随着ASIC(ApplicationCircuit)技术及sOC(System
SpecificIntegratedOn
2
刚1硬件体系结构框罔
2软件移植
硬件,F台的软件移植可分为3个部分:
Chip)技术的迅
RTL8019AS驱动程序的编写、uc/OsII操作系统的移植、LwlP协议栈的移植。
(1)uC/OS11实时操作系统的移植
uC/OS
猛发展,国际上的芯片制造商提供了许多功能丰富、处理速度高的芯片,这使得整个网络的瓶颈效麻集中任应用现场总线的设备层上的问题得以解决。
2.1硬件平台的设计
ARM核的AT
9lR4000
1I是一种开放源码的实时嵌入式操作系
统,是‘个町移植、可裁剪、占先式多任务操作系统,已被应用到多种微处理器上,其人部分源码是用ANSIC语言编写的。
移植上作包括以卜儿个内容:
a.修改os_cPU.H中的常量、数据类型和宏;b用c语占改写
OS—CPU—C
8微处理器和
32
RTL8019AS以太网控制器足硬件平台的核心器件。
采用ARM核微处理器具有很高的性价比。
ARM位体系结构日莳被公认为是业界领先的32位嵌入式RISC微处理器结构。
其具有4人特点:
小体积、低功耗、成本低、高性能。
硬件体系结构如图1所示。
以太网控制器RTL8019AS的主要性能:
符合
ETHERNET
C中6个简单的函数;c用汇编语言改
写OS~CPU—AASM中的4个函数;
①OS—cPU.H文件:
OS—CPU。
H包括#define、typedef定义与CPU相关信息。
uC/OSII定义了两个宏米禁止和允许中断:
OS—ENTER_CRITICAL0和
II与IEEE802.3标准;全双_[,收发可
收釉日期:
2003一I2-31
作者筒介:
郭剑锋,咒,在读颁土研究串,主要研究方向为』=业以太刚,嵌入式系统.现场总线技术。
第26卷第3期2004—03
[751
万方数据
1和OLACITlRC.n.
塑l兰生!
翌竺
OS—EXIT_CRITICAL()。
吏现的方法有两种:
a.直接调用处理器指令来禁止巾断和允许中断;b.在OS—ENTER—CRITICAL()中,先将小断状态保存到堆栈IfT,然后禁止中断,而执行OS—EXIT—CRITI—CAL()}I是从堆栈中恢复小断状态。
}l寸不同处理的处理器有不同的字艮,所以uC/
OS
II的移植包括一系列的类型定义,以确保nf移植性。
如IINTl6U数据类型总是代表16位无符号整数,将uC/OS11移植到32位处理器I:
,也就意味着INTl6U实际被声明为无符号短整型数而不是无符号整形数。
②OS—CPU—C.C文件:
OSTaskCreatHookO、
oSTaskDe1HOOk()、OSTaskSWhOOk()、
osTaskstatH00k()、OSTaskCreakHook0这此I响数为崩户定义,实际需要修改的只有OSTaskStklinit()函数。
OSTaskStklinit0J11米初始化任务堆栈,初始状念的堆栈模拟发生一次中断后的堆栈结构。
由十任ARM中堆栈是按32位数据类型束进行操作,所以堆栈数据类型OS—S.TK声明为32位无符号整数。
④OS—CPU—A
ASM文伫这里要实现4个汇编
函数改写:
多任务启动函数中调用OSSTartHightRdy0、任务切换函数OSCtxSw0、中断任务切换OSIntCtxSw0、时钟节拍眼务函数
OSTickISR0。
任务切换函数OSCtxSw0,由任务切换函数
OS—TASK—SWO进入。
如粜任务执行了某个函数,其结果改变r当前任务的状态(如OSTaskSuspend()、OSTimeDly()),或者是改变了别的任务的状态(OSTaskResum0、OSTimeDlyResume())都要引起新的任务调度函数(OSSchedO)执行OS—TASK—SW0。
OSIntCtxSw()足在ISR中被调用的,其代码与
OsCtX
S
W()类似。
要注意的足:
由于
OS
ENTER
0S
EXITCRlTICAI
使用的打法足方法2,所以OSIntCtxSw0中的常量为10。
OSS'tartHightRdy()由OSStart()函数调用,功能足运行优先级最高的任务。
OSTicklSR()是时钟节拍中断,朋户应该在OSStart0运行后,uC/OS11启动运行的第一个任务中初始化侮拍中断。
(2)LwlP协议栈的移植
LwIP协议栈杠没计时就考虑到了将来的移植问
1761第26卷第3期2004
03
万方数据
题,因此把所有与硬件、OS、编译器相关的船份独,虹山束,放在/srclarchLI录下。
因此LwIP杠uC/0Sn上的实现就足修改这个H录r的文件,其它的文件一般不应该修改。
r面分几部份分别说明相麻文件的实现原理和过程。
①与CPU或编译器相关的include文件:
/src/arch/include/arch目jj乏下CC
h、cpu
h、perf.h中有‘
些与CPU或编译器相关的定义,如数据长度,字的高低位顺序等。
这麻该与用户实现uC/0SII时定义的数据长度等参数是一致的。
②sys—arch操作系统相关部分sys—arch.[ohJ巾
的内容是与OS相荚的一些结构和函数,li要可以分为4个部份:
①sys—senl—t信号量;②sys—mbox_t消息;③sys_arch_timeout函数;④sys—thread—new创建新线程。
⑦lib_arch中库函数的实现:
LwIP协议栈中用到了8个外部函数,这些函数通常qJfJ户使用的系统或编译器有关。
(3)刚络没备驱动程序的没计
网络芯片为RealTek的RTL8019as、芯片,这足
ISA
10BASE—T的以太网芯片,与Ne2k兼容。
LwIP
的网络驱动有一定的模型,Isrclnetiflethemetif.c文件即为驱动的模板。
在LwIP中可以有多个网络接口,每个网络接u都对应了・个strtactnetiL这个netif包含r相麻网络接口的属性、收发函数。
LwIP、蒯用netif的疗法netif->input0及netifU>output0进行以太网packet的收、发等操作。
杠驱动・{-扛要做的,就是实现网络接rI的收、发、初始化以及中断处理函数。
驱动程序工作在IP协议模型的网络接口层,它提供给卜层(IP层)的接l_:
】函数如~F:
//网卡初始化函数
voidethernetif_init(structnetif4netif)
枷日帚接收函数,从网络接II接收以太网数据包并把其中的IP报文向IP层发送
voidethemetifinput(structnedf4netif)
//嗍卡发送函数,给TP层传过来的IP报文加
上以太网包头并通过嘲络接口发送
err_t
ethemetifoutput(structnetif。
netiL
struct
pbuf+P,structip—addr+ipaddr)
//网卡中断处理函数ISR
voidethernetifisr(void);
用。
蠹罢p葛:
豢’”嚣鬈黧震:
。
“语束结
务l违廿勺矽似
以J:
的函数都可以分为协议栈本身的处理和对网络接【_I硬件的操作两部分。
uC/OS11和LwlP系统示意图如图2所示。
|剞2
uC/OSIt、LwIP体系结构
2.3应用实例的建立和测试
完成移植修改工作以后,就nr吼在uC/OSII中初始化LwlP,并创建TCP或UDP任务进行测试,。
这部份完全足C语占的实现。
LwlP的初始化必须祥uC/0S11完伞启动之后也就足在任务中进行,因为它的初始化用到r信号量等Os相笑的操作。
关键部分的代码和说明如F:
mainofOSlnit0;
OSTaskcreate(1wip—init—task,&LineNoll,
&1wip_init_stk[TASK—STK—SIZE圳,0);TCP/IP协议,将能通过标准的浏览器(MS
OSTaskCreate(usr—task,&LineNol2,&usr_stk
[TASKSTK_SIZE—1],1);
OSStart0;)
主程序中创建rlwip_inil_task初始化LwIP任务(优先级0)和USr—task用户任务(优先级1)。
1wip—init
task任务中除r初始化硬件时钟和LwlP
之外,迸创建rtcpip—thread(优先级5)和tcpecho_|hread(优先缀6)。
实际上tcpip—thread才足LwlP的t线程,多线程的BerkleyAPI也是基于这个线程实现的,B¨I:
面的tcpecho—thread线程也要{R靠tcpipjhread线程来与外抖通信,这样做的好处趄编程简单,结构清晰。
实用BerkleyAPI实现的tcpecho—thread足‘
个TCPecho服务器,啦听7号端口,编译运行后,
用讲“i地p
i地址7(登录号端)命令町以看到7VIecho万方数据
,server的lHI碌效果。
说明ARP、ICMP、IP、TCPI办议都已止确运行。
3
以太网工业智能控制器的应用
最终实现了一种嵌入式【、毗以太网方案,该片
案将以较高的性能价格比应用』。
T:
业控制领域(以人刚工、№控制系统结构如图3所示)。
图3吼爪网。
:
业控制系统图
网3中以太网T业控制器便是基j二ARMff,Jj:
、Jk以太网智能控制器的产-u|实例,该设备不仅可以连结多个以太嘲I/O设备,还可以级连嵌入式以太网控制器。
该设备采用_r嵌入式webServer和NII]
Intemet
Explorer和NetscapeNavigator)与网络服务器进行通讯,让企业的生产完伞信息化、网络化;而级连同类的嵌入式以太湖控制器后,上层以太网控制器将执负起实时控制现场设备的任务。
其应用对象可
以是:
①车问级生产信息集成:
主要由专用牛产设备、专用测试设备、条码器,PcWL及以太网络设备组成;j三要功能是完成4三l-Hj级生产信息及产品质量信息的管理。
②管理层信息网络:
即支撑_1二厂管理层MIs系统的讣算机网络。
卜要完成如ERP的信息系统。
⑦SCADA系统:
特别足.些区域广泛、含有计算机广域网技术、无线通情技术的scADA系统,如城市供水或污水管网的SCADA系统、水利水文信息监测SCADA系统等。
{口不F口
第26卷第3期2004—03
1771
据美国秘威调查机构ARC报告指出,今后以太网不仅继续垄断商、lk计算机网络通信和丁业控制系统的上层网络通信市场,也可能领导未来现场总线的发展,并有可能取代目前各种现场总线成为唯一的工业控制网络标准。
同时,美国VDC调查报告也
町互操作的现场总线控制系统。
参考文献:
【1】唐济扬.以太刚与现场总线技术…国内外机电一体化技
术,2002,5(5):
7—13.
[2】2冯冬芹,金建祥,周小文,等.Ethernet与现场总线[J]国内
外机电一体化技术,2003,5:
3843
『3】张浩.谭克勤,朱守云现场总线与J二业以太网络应用技
术手册[M】上海:
卜海科学技术出版社,2002
【4】马忠梅.探英慧,叶勇建.等AT91系列ARM核微控制器
结构与开发【M1.北京航空航天人学出版社,2003.
【5]ADAMDLwlP
source
指山,以太网在Dlk控制领域中的应用将越来越广
泛,市场占有率的增长也越来越快。
随着通信、网络技术以及智能仪表的发展,以太网技术有能力延伸到现场,也就是'蜕,有可能将以太网建到现场I/(3级,从而实现办公自动化与II二业自动化的无缝结合,形成真正意义上的全开放、
code[EB/OLlhttp;//wwwSitssd
—adarrdlwip/,2003—12・22
n^^^^^^n^^^^^,、^^^^n^^^^^,、^^^^,、n^^^^^^^^^^^^
【上接第49页】
v=血一at
2
(11J
。
,堕一m
当A=】mIll,脉冲,焊管的运行速度V。
=80m/min时,n,以求得:
Iiil样当A=lmm/脉冲,焊管的运行速度v.=80m/min时,町以求得:
s=1.333t一1.482t2(m)v=1.333t一2.963t
2
(12)(13)(14)
(m/s)
a=一2.963(m/s2J
s“33fIl一—L(1一P“…。
)|+o邯6f(m)4
v=l
.t、885
7l
、’
(5)反向运行段|茔|2中FG段为反向追踪段。
(7)
GH段为反向同步段。
Ⅲ段为反向减速段。
以上各段与正向运动相对应各段的速度曲线完全一致。
正
向运行段和反向运行段伺服电机所接受的脉冲数和脉冲频率完全一致,故当一个工作循环结束时,飞锯机正好停在零位,不存任二次运行的误差。
伺服E锯机采用上述运动曲线后,定尺精度达到了0~+5ram,已超过了我国目前普遍采用的英国BS标准(0~+6ram)。
333(1一P一48852)+0.066(m/s)
(8)
f9)
口=6.51le“…‘(m/s2)
(3)同步段如图2CE段,进入同步段后,焊管相对于飞锯机的伸出量便同定不变了,D点是飞锯车进入同步段后,经过一定的延时开始锯切的时刻,也足锯切油缸开始动作的时刻。
延时时间足由b锯年的速度超调最所决定的。
延时时间越妊,锯切焊管的定尺精度越高。
E点是飞锯车同步结束的时刻,此时飞锯车已完成锯切任务,锯切油缸恢复到原位,飞锯车开始进入正向减速段。
DE段时间是由锯切油缸的锯切周期所决定的。
我们是按照锯切最大蛘管直径设定此值的。
在同步段的位移、速度、加速度分刖为:
s;vpt
V—V。
3结论
(1)到U前为止伺服飞锯机已牛产了12箭,它们都能在各自的生产线上安全、正常的锯切焊管,这证明采用伺服电机的控制系统是完垒可行的。
(2)采用上述运动曲线后,定尺精度优于英国BS标准,证明上述曲线是合理的、较为先进的。
a。
0
参考文献:
【1]柴晓艳,张玉牛,等全自动数控车厢板乜冲击的控制系
统和运动分析口1.制造业自动化,2003(2)
【2]张上华,柴晓艳,等.@325全自动数控飞锯机的传动系统
fJ】.重型机械,2003(2)
(10)
[3】徐微莉,曹柱巾,等自动控制理论与设计(第3版)【M】
海交通大学出版社,2001
L
(4)正向减速段如幽2EF段,飞锯车受制动,按等减速运动,当速度降至零时,转入反向运行段。
在正向减速段的运动方程为:
1
.
s=Axt一."--at‘
1781第26卷第3期2004—03
万方数据
基于ARM微处理器的以太网工业智能控制器
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
引用次数:
郭剑锋北京机械工业自动化研究所,北京,100011制造业自动化MANUFACTURINGAUTOMATION2004,26(3)14次
参考文献(5条)
1.唐济扬以太网与现场总线技术[期刊论文]-国内外机电一体化技术2002(5)
2.冯冬芹.金建祥.周小文Ethernet与现场总线2003
3.张浩.谭克勤.朱守云现场总线与工业以太网络应用技术手册2002
4.马忠梅.徐英慧.叶勇建AT91系列ARM核微控制器结构与开发2003
5.ADAMDLwIPsourcecode2003
相似文献(10条)
1.期刊论文杨晓辉.肖丽娜基于ARM和以太网的远程智能控制仪表的设计-中国仪器仪表2009(12)
采用ARM微控制器LM3S1138和SMSC以太网控制器LAN91C111设计的以太网通信硬件平台,将μC/OS-Ⅱ实时操作系统和LwIP协议栈移植到该平台上.利用ARM和以太网控制芯片实现的接入方案具有高精度、低成本、高传输率等特点,实现了网络数据传输和仪器的远程控制.
2.期刊论文赵艳祥.师五喜.郭文成.郭利进.ZhaoYanxiang.ShiWuxi.GuoWencheng.GuoLijin基于ARM的以太网控制系统的设计与实现-科技广场2009(5)
本文主要设计了基于ARM的以太网控制系统.该系统主要由三层结构组成:
上位机软件、微控制器和控制对象(伺服电机).上位机软件利用VC中的SOCKET编程,在调试、控制等方面给用户带来很大的灵活性.微控制器以ARH(S3C4510B)为核心和控制对象共同组成以太网控制系统中的网络节点.该网络节点是带有传感器和执行器的智能控制器,并能在控制器上运行嵌入式操作系统.
3.期刊论文杨晓辉.肖丽娜.YangXiaohui.XiaoLina基于ARM和以太网的远程智能控制仪表的设计-仪器仪表标准化与计量2009(5)
本文采用ARM微控制器LM3S1138和SMSC以太网控制器LAN91C111设计的以太网通信硬件平台,并将μC/OS-Ⅱ实时操作系统和LwIP协议栈移植到该平台上,利用ARM和以太网控制芯片实现的接入方案具有高精度、低成本,高传输率等特点.实现了网络数据传输和仪器的远程控制.
4.学位论文丁继东基于ARM处理器的串行通信与以太网协议的研究与应用2005
本文分别对串行通信和基于TCP/IP协议的以太网进行研究和分析,在此基础之上设计一个嵌入式系统——基于ARM处理器的串行通信与以太网的协议转换系统,来实现多串口与网口间的数据传输。
文章首先分析了当前串行通信的应用现状和以太网技术的发展动态,通过比较传统单级数据采集系统和经过以太网改造后的二级数据采集系统间的优缺点,指出串口设备网络化的趋势。
然后,在总体上对系统进行设计和功能模块的划分。
接着详细介绍了嵌入式处理器LPC2210的特点和内部结构,以及与以太网芯片RTL8019AS的接口电路设计。
同时,在软件设计方面,对硬件系统的启动代码的设计、串行通信协议及串口驱动的实现、TCP/IP协议的实现、μC/OS-Ⅱ的移植进行了详细论述。
最后,完成了多串口与网口间双向数据传输的功能实现,并对系统进行测试和数据分析。
5.期刊论文殷建松.李晓鹏.刘桂雄.YINJian-Song.LIXiao-Peng.LIUGui-Xiong基于ARM的嵌入式冗余双以太网结构可靠性设计-机电产品开发与创新2005,18(5)
分析并比较三种嵌入式以太网网络结构可靠性,详细介绍了基于ARM的嵌入式冗余双以太网结构的硬件结构及驱动程序的技术实现,该结构有效的提高了工业现场测控网络通讯的可靠性.
6.学位论文张鲁基于嵌入式ARM的视频以太网服务器的设计2005
Internet网络正在经历着飞速的发展,由此各种网络产品也层出不穷。
近年来,随着软硬件资源的成熟与完善,嵌入式系统的应用已成为21世纪热点之一,其应用领域涉及通信、自动化、信息家电、军事等各个方面。
本文主要介绍用ARM和嵌入式Linux开发一个以太网视频服务器,并实现了硬件和软件过程。
全文一共分五章,它们分别介绍课题的背景、详细设计过程和结构框架。
第1章介绍了系统的相关知识、嵌入式系统的概念和课题背景。
包括了系统的工作原理和特点,嵌入式系统的硬件和软件,重点介绍了嵌入式Linux在网络产品中的优点和广泛应用,并把它选作为嵌入式开发的软件系统。
第2章介绍了系统硬件设计,系统结构框图和各个模块,包括ARM的结构、FLASH模块、SDRAM模块,串口模块和以太网模块。
第3章主要介绍了底层硬件BootLoader的设计和完成。
BootLoader就是在操作系统内核运行之前运行的一段程序。
通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
第4章主要介绍了系统的软件结构设计,也就是视频服务器的代码的编 写。
在本章节中主要用Linux实现从串口到以太网传输功能。
同时完成了底 层的驱动程序。
第5章主要介绍了开发环境和调试过程。
通过硬件软件测试后,基本完成了系统所要求的部分功能。
结论介绍了完成的工作情况、达到的目标和实现的性能,同时也为下一步工作作准备。
7.期刊论文廖一鹏.刘大茂基于ARM和μC/OS的以太网转接口设计与应用-工业控制计算机2008,21
(2)TCP/IP及互联网技术在工业领域得到广泛应用,然而大量工业现场设备尚不具备网络接口,主要通过串行口进行通讯,因而无法直接连接到
Internet.设计了基于ARM芯片LPC2214与网络芯片RTLS019AS的以太网转接口,并嵌入实时操作系统μC/OS,在不改变原有光端机结构的基础上,为其添加网络接口,从而为其实现以太网远程监控提供了一种低成本解决方案.
8.学位论文阮洪富基于ARM的以太网抄表系统及控制器设计2004
随着经济的发展和人民生活水平的不断提高,家庭仪表的用途越来越广泛,电表、水表、气表大量地出现在人们的生活中.同时,这些仪表的抄录工作也变得越来越烦琐,工作量变得很大,传统的抄录模式已很难满足社会发展的要求.计算机和通讯技术的发展,使抄表自动化已经成为可能,各种各样的自动
抄表系统不断涌现,它们不仅替代了烦琐的手工劳动,而且为提供更多优质服务奠定了技术基础.该文首先介绍目前几种常见的自动抄表系统,分析它们各自的特点,然后重点介绍以太网抄表系统及其控制器的设计与实现.第一章介绍国内外自动抄表技术的发展状况;第二章分析抄表系统的结构,对其上/下层通讯方式进行了详细的描述,比较了不同通讯方式的优缺点;第三章专门就以太网为通讯方式的抄表系统进行介绍,指出它是一种很有发展前途的抄表手段;第四章和第五章详细介绍以太网抄表系统中控制器的设计,分为硬件和软件两方面,对采用的微处理器(ARM芯片)和嵌入式操作系统(uClinux)也都有详细的介绍.最后,第六章指出该系统设计中的技术难点以及抄表技术今后的发展趋势.
9.学位论文黄修力基于ARM的以太网与CAN总线互联网络接口控制器的研究2008
控制器局域网络(CAN)是一种能有效支持分布式控制或实时控制的串行通信网络,具有高性能和高可靠性的特