基于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
第一章 绪 论
CANopen 配置工具 CANopen Configuration Studio,它是对 CANopen 设备和系统
进行管理和配置的强大工具,是基于 client/server 架构实现的 windows 程序,应用
范围从经济型设备配置工具(允许轻松管理和配置 CANopen 设备)到复杂的网络
配置工具(自动 PDO 映射和连接功能),但它只能应用在 Windows 系列的PC 上。
可见,国内外已经成功开发的工具软件中有的实现测试功能,有的实现配置
功能,还未开发出既能测试CANopen设备,又能配置该设备的完善系统。课题的
研究结果就是在实现CAN通信的基础上,实现对网络中的CANopen设备或仪器进
行测试和配置。
§1.3 研究意义
课题使用实验室的现有装置进行教学研究,重在研究基于 ARM 处理器的
CAN 总线接口的扩展,实现与 CAN 总线中 CANopen 设备的通信,用于将来的实
验教学与仪器仪表CAN 接口的实现研究。
研究对象是一个普通的 CANopen I/O 设备,具有一定的代表性。为了提高
CAN 总线上 CANopen 设备间的通讯效率,课题在实现基于 ARM 的CANopen 现
场总线设备通信的基础上,对设备进行测试和配置。一方面能测试 CANopen 设备
的通信参数,获悉该设备的节点标识符、错误寄存器值以及其他参数信息,以便
实时监控设备间的信息交换情况,实现及时检错功能。另一方面也可对未配置过
的CANopen 设备进行默认配置,为设备间的正常通讯提供前提。
因此,课题研究既能满足CANopen 协议不断推广带来的市场需求,按用户
的需求进行参数配置,同时还可以通过读取CANopen 设备的错误寄存器来判断
错误来源,及时纠错,保证总线传输效率。
§1.4 研究内容与实施方案
1. 研究内容
课题的研究是以 CAN 和CANopen 作为通信协议,以 ARM 微处理器和 CAN
总线数据收发电路作为硬件平台,完成ARM 处理器的 CAN 接口扩展,并实现如
下功能:
(1)对于已配置通信参数的 CANopen 设备或仪器,实现测试功能。通过发送
SDO 报文访问该设备的对象字典,读取其参数信息,根据错误寄存器的值实现检
错功能。
(2)对于未配置通信参数的 CANopen 设备或仪器,实现默认参数配置。默认
参数配置是将默认参数表中的参数信息下载到需要配置的 CANopen 设备的对象
字典中,从而实现配置功能。
2.实施方案
具体的实施方案包括两个过程,一个是开发过程,一个是测试过程。开发过
程分为硬件开发和软件开发。硬件开发即对硬件接口电路进行设计,完成CAN 接
口扩展,提供 CAN 总线通信的硬件基础;软件开发包括操作系统以及 CAN 总线
通信的开发。第二章会对课题的网络通信协议进行介绍,在掌握通信协议的基础
上才能继续后面的开发。第三章详细介绍了硬件开发的过程。第四章是软件开发的
3
摘要:
展开>>
收起<<
摘要现场总线具有协议简单开放、容错能力强、实时性高、成本低等特点,近年来得到了迅猛的发展和应用,它的出现标志着工业控制技术领域进入了一个新时代CAN总线是国际上应用最广泛的现场总线之一。嵌入式系统技术是目前电子产品设计领域最为热门的技术之一,已经广泛的应用于军事、消费电子、网络通信、工业控制等各个领域,ARM、Linux、uCOS_Ⅱ等概念已经深入人心。CANopen协议是基于CAN总线的高层应用层协议,是为标准的嵌入式网络开发而设计的,是具有灵活配置能力的开放式协议,其应用进一步提高系统的通讯效率及灵活性,而且可以使产品具有很好的兼容性。课题研究的基于ARM的CANopen现场总线设备通信的...
相关推荐
-
生态农业项目商业计划书VIP免费
2024-12-31 34 -
牛奶创业计划书VIP免费
2024-12-31 7 -
南京现实版开心农场VIP免费
2024-12-31 9 -
绿色蔬菜农产品批发创业计划书VIP免费
2024-12-31 11 -
绿色农产品销售创业计划书VIP免费
2024-12-31 9 -
xx蔬菜配送有限公司创业计划书样本VIP免费
2025-01-09 6 -
现代农业生态园创业计划书范文VIP免费
2025-01-09 13 -
农场创业计划书模板VIP免费
2025-01-09 21 -
奉节县特色农产品电子商务创业计划书模板VIP免费
2025-01-09 16 -
中国首家IT高科技化农林项目商业计划书VIP免费
2025-01-09 16
作者:陈辉
分类:高等教育资料
价格:15积分
属性:61 页
大小:1.31MB
格式:DOC
时间:2024-11-19

