基于ARM的CANopen现场总线设备通信的研究与实现
VIP免费
摘 要
现场总线具有协议简单开放、容错能力强、实时性高、成本低等特点,近年来
得到了迅猛的发展和应用,它的出现标志着工业控制技术领域进入了一个新时代
CAN 总线是国际上应用最广泛的现场总线之一。嵌入式系统技术是目前电子产品
设计领域最为热门的技术之一,已经广泛的应用于军事、消费电子、网络通信、工
业控制等各个领域,ARM、Linux、u COS_Ⅱ 等概念已经深入人心。CANopen 协
议是基于 CAN 总线的高层应用层协议,是为标准的嵌入式网络开发而设计的,
是具有灵活配置能力的开放式协议,其应用进一步提高系统的通讯效率及灵活性,
而且可以使产品具有很好的兼容性。
课题研究的基于 ARM 的CANopen 现场总线设备通信的实现,正是将这两种
热门技术结合到一起,以 CAN 和CANopen 作为通信协议,借助 UP-NETARM300
开发平台,实现 S3C44B0X 处理器的 CAN 接口的扩展,并以此为基础实现对挂
接在 CAN 网络中的 CANopen 设备通信参数的测试和配置,为 CANopen 设备间的
有效通讯奠定基础。
基于 ARM 的CANopen 设备通信的实现,通过 SDO 报文获取 CANopen 设备
的通信参数并进行显示,使设备间的信息交换更加透明,从而能及时处理突发的
通信出错情况,提高通信效率。同时,也能对未配置过的 CANopen 设备按照默认
参数表进行配置,为建立设备间的正常通信提供基础。
关键词: 现场总线 CANopen S3C440BX 网络通信
1
1
ABSTRACT
As fieldbuses have simple and opening protocols, better fault-tolerance, high real-
time, low cost and so on, they are developed and applied rapidly in recent years, which
indicates the new age for the industrial automation control technology. Embedded
system technology is one of the most popular electronical design technology which is
used most widely in the military affairs, electrical consumption, network
communication and industrial control. The concepts such as ARM 、Linux and u
COS_Ⅱ are very impressed. CANopen is the application protocol of CAN, which is
designed for the standard development of embedded network and is used to improve the
communication efficiency and flexibility of system, and makes products with good
compatibility.
The achievement of CANopen fieldbus device communication based on ARM gets
the two popular technologies together. It is designed based on CAN and CANopen
protocol by UP-NETARM300 hardware platform and expands the CAN interface for
the MCU S3C44B0X in order to test and configure the communication parameters of
CANopen device in the communication network. It lays a foundation for effective
communication between CANopen devices.
The achievement of CANopen device communication based on ARM can get and
display the communication parameters of CANopen device by the SDO, which makes
the information exchange between devices clearer. Thus, consumers can deal with
emergent communication errors more promptly, consequently reducing the Bit Error
Rate. It is also used to configure the communication parameters of CANopen device
according to the default parameter table, providing the basis for normal communication
between devices.
Key Word: Filedbus, CANopen, S3C440BX,
network communication
2
目 录
中文摘要
ABSTRACT
第一章 绪 论 ………………………………………………………………………….1
§1.1 研究背景 …………………………………………………………………….1
§1.2 国内外研究现状 …………………………………………………………….2
§1.3 研究意义 …………………………………………………………………….3
§1.4 研究内容与实施方案 ……………………………………………………….4
第二章 通信协议研究 ………………………………………………………………...6
§2.1 CAN 协议研究 ………………………………………………………………6
§2.1.1 CAN 总线技术概述 ……………………………………………………6
§2.1.2 CAN 协议层次模型 ……………………………………………………8
§2.1.3 CAN 报文 ………………………………………………………………8
§2.1.4 错误处理 ...............................................................................................11
§2.2 CANopen 协议研究 ………………………………………………………..11
§2.2.1 CANopen 协议通讯模型 ......................................................................11
§2.2.2 CANopen 协议设备模型 ......................................................................12
§2.2.3 CANopen 核心概念 ..............................................................................13
§2.2.4 CANopen 报文(通讯对象) ……………………………………………
14
§2.2.5 CANopen 标识符 ………………………………………………………
18
第三章 硬件电路设计 ……………………………………………………………….20
§3.1 硬件选择 ……………………………………………………………………20
§ 3.2 微处理器 S3C44B0X …………………………………………………..……21
§ 3.3 CAN 控制器 SJA1000 ………………………………………………………..22
§3.4 CAN 发送器 TJA1050 ………………………………………………………
25
§3.5 微处理器与控制器接口电路设计 ………………………………………….26
§3.6 控制器与收发器接口电路设计 …………………………………………….27
第四章 软件开发平台搭建 ………………………………………………………….29
§4.1 PC 与UP-NETARM300 的硬件连接 ………………………………………29
§4.2 PC 软件环境的建立 ………………………………………………………..29
§4.2.1 ADS1.2 集成开发环境
………………………………………………..29
§4.2.2 JTAG 驱动程序的安装 ………………….…………………………….31
§4.3 UP-NETARM300 软件环境的建立 ………………………………………..31
§4.3.1 实时操作系统的选择 ………………………………………………...31
§4.3.2 u C/OS_Ⅱ 向ARM7 的移植 …………………………………………
32
3
3
§4.3.3 扩展外设驱动设计 …………………………………………………...41
第五章 总线通信程序的设计 ……………………………………………………….44
§5.1 主程序设计 …………………………………………………………………44
§5.2 CAN 接口初始化程序设计 ………………………………………………...46
§5.3 CAN 总线数据收发程序设计 ……………………………………………..48
§5.3.1 数据接收子程序设计
………………………………………………….50
§5.3.2 数据发送子程序设计
………………………………………………….52
§5.4 测试通信参数程序设计 …………………………………………………...54
§5.5 配置通信参数程序设计 …………………………………………………...59
第六章 实验调试与分析 …………………………………………………………….61
§6.1 实验调试中遇到的问题及解决方案 ………………………………………61
§ 6.2 CANopen 通信的实验数据及其分析 ………………………………………..62
第七章 结论与展望 .....................................................................................................64
§7.1 结论 ………………………………………………………………………...64
§7.2 展望 ………………………………………………………………………...64
参考文献 ……………………………………………………………………………...65
4
第一章 绪 论
第一章 绪 论
§1.1 研究背景
随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速
覆盖从工厂的现场设备层到控制、管理的各个层次,覆盖从工段、车间、工厂、企业
乃至世界各地的市场[1]。信息技术的飞速发展,引起了自动化系统结构的变革,逐
步形成以网络集成自动化系统为基础的企业信息系统。现场总线(fieldbus)就是顺
应这一形势发展起来的新技术,是当今自动化领域技术发展的热点之一,被誉为
自动化领域的计算机局域网[1]。它的出现,标志着工业控制技术领域又一个新时代
的开始,并将对该领域的发展产生重要影响。
现场总线主要应用在生产现场,是在微机化测量控制设备之间实现双向串行
多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。它
在制造业、流程工业、交通、楼宇等方面的自动化系统中具有广泛的应用前景[2]。
现场总线技术将专用微处理器置入传统的测量控制仪表,使它们具有数字计
算和数字通信能力,同时采用了可进行简单连接的双绞线等作为总线,把多个测
量控制仪表连接成网络系统,并按公开、规范的通信协议,在位于现场的多个微
机化测量控制设备之间以及现场仪表与远程监控计算机之间,实现数据传输与信
息交换,从而形成各种适应实际需要的自动控制系统。简而言之,它把单个分散
的测量控制设备作为网络节点,以现场总线为纽带,把它们连接成可以相互交换
信息、共同完成自控任务的网络系统与控制系统[3]。
现场总线通讯协议是现场总线技术的核心,它的结构是根据国际标准化组织
提供的 ISO/OSI 模型来制定的。标准 ISO/OSI 模型有七层框架,但根据工业控制的
特点,多数总线协议都是采用了其中的物理层、数据链路层和应用层,这样可以
保 证 实 时 通 信 , 在 此 基 础 上 已 经 发 展 起 来 了 FF 、LonWorks
、CAN、Profibus、ControlNet 等总线协议[4]。其中的 CAN(Controller Area Network)即
控制器局域网络,是世界上应用最广泛的现场总线之一,能有效支持分布式控制
和实时控制。因其可靠性高、抗干扰性强、开发简单、造价低廉及其短帧传输和无破
坏仲裁技术等优点而被广泛应用,与一般的通信总线相比,CAN 总线的数据通信
具有突出的可靠性、实时性和灵活性。
CAN协议只定义了物理层和数据链路层,并未指出流量控制、节点地址分配、
通信建立、设备连接标准等具体的细则[5]。有些复杂的应用问题需要一个更高层次
的协议——应用层协议来实现。CANopen协议正是基于CAN总线协议的高层协议,
它是具有灵活配置能力的开放式协议,已经成为基于CAN总线的分布式自动化系
统的标准协议,它与CAN协议构成一个完整的网络协议,使得CAN总线的功能更
加丰富,进一步推进了CAN总线在工业领域的推广和应用。
此外,ARM即Advanced RISC Machines的缩写,既可以认为是一个公司的名
字,也可以认为是一类微处理器的通称,还可以认为是如今最流行的一种技术的
1
基于 ARM 的CANopen 现场总线设备通信的研究与实现
名字。ARM已经成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC
标准。ARM处理器有三大特点,耗电少功能强、16位/32位双指令集和众多合作伙
伴。因为ARM公司不是生产处理器的,它专门为IC制造商提供各种处理器的解决
方案,所以在各种处理器中它的使用最广,同时应用前景广阔,开发资源丰富,
有利于缩短产品的研发周期。
正是基于ARM的优势和发展趋势,课题采用其作为微处理器,尝试将上述几
种技术结合在一起,开发一个基于ARM处理器的CAN接口,实现CAN网络的
CANopen设备间的通信,对挂接在CAN网络中的CANopen设备进行测试和配置,
以保证CAN网络通信的正常进行,推动现场总线技术的推广应用。
§1.2 国内外研究现状
CANopen最初主要用于嵌入式工业控制系统,因其协议精练、透明、便于理解
又具有较高的实时性和可靠性、数据传输速率高、组网成本低等优点,近年来,在
公共交通、楼宇自动化、医疗设备以及海事电子、食品加工、汽车工业等领域获得大
量应用[6]。
在国外,CANopen协议应用得很广泛,受到了足够的重视。在欧洲,
CANopen协议普遍应用于医疗装置,并进一步扩展应用到保安控制系统中;在美
国,CANopen协议己经成为装载机械和公共运输设备的协议标准,同时也应用于
嵌入式系统[7]。目前,国外已有许多大公司开发了CANopen工具产品,如:德国
VECTOR公司开发CANoe(CAN Open Environment),它是较为成熟的实现测试功
能的CANopen开发软件,是汽车总线网络开发和测试过程中主要应用的软件测试
环境。通过与相应的模块配合,该测试环境能支持多种总线协议的仿真和测试,
如CAN总线、LIN总线、MOST和Flexray总线,支持的总线协议有
J1939、ISO11783、CANopen、DeviceNet等。CANoe能支持总线开发的整个过程——
从最初的设计、仿真到最终的分析测试和产品的售后服务,实现了网络设计、仿真
和测试的无缝集成。CANoe能通过特殊功能“测试特性设置” 支持ECU和网络测
试,有了这些功能,就可以创建各种测试,例如验证单个开发步骤的测试、检查
原型、执行蜕变测试和兼容性测试。但是,CANoe只适用于汽车总线网络的开发和
测试,仅实现了测试功能,没有配置功能,其他领域中则未出现类似测试系统。
在国内,CANopen 的开发应用和研究还处于起步阶段。据了解,中国单片机
公共实验室(BOL)从 1999 年开始研究 CANopen 标准。近几年,北京英贝多嵌入
式网络技术有限公司、大连北方车辆研究所、北京理工大学等单位成功地开发出了
基于 CANopen 的应用系统。这些成果对于 CANopen 在我国的进一步推广而言无
疑是一股动力。国内也有一些公司开发了 CANopen 软件和工具产品。比如中国单
片机公共实验室的CANopen 主/从站协议软件(源代码),可用于开发 CANopen
从站的全部必要功能,并可开发简单的 CANopen 主站。CANopen 主/从站软件根
据 DS301-Version4.01 规范开发,实现了 CANopen DS301-Version4.01 里定义的所
有服务和机制,为了保证高水平的可裁减性和适应能力,本软件可在中心位置进
行配置,通过提供的配置文件,用户可以对系统进行最优化配置,在对软件要求
最小的情况下,可以通过修改中心配置文件来适应不同的硬件,但是该软件仅支
持8051 系列和C16X 系列的微处理,并不支持 ARM 微处理器。该公司还开发了
2
摘要:
展开>>
收起<<
摘要现场总线具有协议简单开放、容错能力强、实时性高、成本低等特点,近年来得到了迅猛的发展和应用,它的出现标志着工业控制技术领域进入了一个新时代CAN总线是国际上应用最广泛的现场总线之一。嵌入式系统技术是目前电子产品设计领域最为热门的技术之一,已经广泛的应用于军事、消费电子、网络通信、工业控制等各个领域,ARM、Linux、uCOS_Ⅱ等概念已经深入人心。CANopen协议是基于CAN总线的高层应用层协议,是为标准的嵌入式网络开发而设计的,是具有灵活配置能力的开放式协议,其应用进一步提高系统的通讯效率及灵活性,而且可以使产品具有很好的兼容性。课题研究的基于ARM的CANopen现场总线设备通信的...
相关推荐
作者:陈辉
分类:高等教育资料
价格:15积分
属性:61 页
大小:1.31MB
格式:DOC
时间:2024-11-19