CAN总线通信系统上位机通信软件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目次
1 绪论 (1)
1.1 研究背景 (1)
1.2 研究目的和意义 (1)
1.3 国内外发展现状 (2)
1.4 论文结构安排 (2)
2 CAN总线协议分析 (3)
2.1 CAN-bus 规范V2.0 版本 (3)
2.2 CAN控制器SJA1000 (6)
2.3 本章小结 (6)
3 开发环境介绍 (6)
3.1 开发环境 (6)
3.2 CANUSB—Ⅰ/Ⅱ智能CAN接口卡 (7)
3.3 本章小结 (8)
4 CAN通信软件设计 (8)
4.1 驱动程序安装 (8)
4.2 CAN接口卡函数库说明 (8)
4.3 界面设计 (11)
4.4 软件功能实现 (16)
4.5 本章小结 (22)
5 测试及发布 (23)
5.1 软件功能测试 (23)
5.2 程序发布 (24)
5.3 本章小结 (27)
结论 (28)
致谢 (29)
参考文献 (30)
1绪论
现场总线,就是应用于工业现场,采用总线方式连接多个设备,用于传输工业现场各种数据的一类通信系统[1]。CAN(Controller Area Network)总线是现场总线的一个分支,因其具有很高的可靠性和性能价格比,已经成为国际标准,在工业过程监控设备的互连方面得到广泛应用,受到工业界的广泛重视,并已被公认为几种最有前途的现场总线之一。
1.1 研究背景
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术——Computer(计算机技术)、Control(自动控制技术)、Communication(通信技术)、CRT(显示技术)和Change(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统有现场设备、接口与计算设备以及通信设备组成,现场总线(Field bus)就是在这种背景下产生的[2]。
1.2 研究目的和意义
从19世纪发明汽车以来,人们就一直在乘坐的舒适性、安全性和操控性方面不停地对其进行改革和创新,车上的电子设备也越来越多。这些电子设备大多是需要协同工作的,这就要求各部件之间能互相通信[1]。
为了解决汽车通信问题,CAN—bus应运而生,凭借可靠、实时、经济和灵活的特点,CAN总线很快在其他行业得到广泛应用,特别是在工业控制领域更是如鱼得水。现在CAN—bus总线已经成为全球范围内最重要的现场总线之一,甚至引领着现场总线的发展。
工业控制系统涉及众多软、硬件模块,给程序的设计和调试带来一定难度。尤其作为上、下位机间联系纽带的CAN总线通信部分,一旦在整个系统运行期间发生问题,若没有良好的人机界面和测试手段,将很难及时准确地找到并排除故障。同样,在控制系统的研制过程中,为了尽可能地减少故障和缩小故障范围,也应设计相应的测试
软件来具体负责CAN总线通信及接口部分的调试、运行任务。故此,本课题就如何利用VC设计CAN总线测试软件进行介绍。
1.3 国内外发展现状
自从Bosch与Intel公司于1986年正式发布CAN—bus通信方式,宝马(BMW)公司很快于1989年推出第一款使用CAN—bus通信的汽车,从此 CAN—bus开始了其辉煌的历程:(1)1990年,奔驰公司发布了第一辆使用CAN—bus的轿车,现在几乎每一辆新生产的汽车均装配有CAN—bus网络;(2)1993年,CAN—bus总线被制定成为国际标准ISO11898(高速应用)和ISO11519(低速应用);(3)1994年,欧洲成立了CiA厂商协会,美洲成立了ODVA厂商协会,专门支持CAN—bus总线的两大应用层协议——CANopen协议与DeviceNet协议[3]。
在CiA的努力推广下,CAN技术在汽车电子控制系统、电梯控制系统、安全监控系统、医疗仪器、纺织机械、船舶运输等方面均得到了广泛的应用。现已有400多家公司加入了CiA,CiA已成为全球应用CAN技术的权威。
国内在CAN总线方面的研究和应用于国外相比还存在明显的差距,体现在两个方面:(1)国内在自主研究和开发汽车电子CAN网络方面尚处于试验和起步阶段,国内绝大部分的汽车还没有采用汽车总线设计;(2)国内汽车合资企业不少已采用CAN 总线技术,但核心技术掌握在外商手中。为顺应世界汽车工业发展的趋势,我国也相应加强了对CAN总线的研究,并开发具有自主知识产权的CAN总线产品。
CAN技术已应用于家用电器和智能楼宇以及小区建设中。随着无线技术的完善和将无线技术应用到CAN总线系统中研究的不断深入,可以乐观地预计,未来CAN总线技术的应用将无处不在,虚拟的CAN总线即将诞生[5]。
1.4 论文结构安排
本文第一章介绍了CAN总线的研究背景和国内外发展现状,并介绍本课题研究的目的和意义。第二章简单介绍了CAN总线通信规范和SJA1000控制器。第三章简单介绍了开发环境和CAN接口卡。第四章详细介绍了软件的设计过程,包括驱动安装、接口卡函数库说明、界面设计、功能分析与设计。第五章介绍了软件的测试及程序的发布。
2CAN总线协议分析
2.1 CAN-bus 规范V2.0 版本
CAN 规范技术规范由两部分组成:
• A 部分:CAN 的报文格式说明(按CAN1.2 规范定义)。
• B 部分:标准格式和扩展格式的说明。
2.1.1 CAN的分层结构
在CAN V2.0A里,CAN被细分为三个层次:对象层、传输层、物理层。
而在PartB中,CAN被细分为两个层次:数据链路层(逻辑链路控制子层LLC、媒体访问控制子层MAC)、物理层。
2.1.2 报文传输
(1)帧类型
报文传输由5种类型的帧所表示和控制,它们分别是数据帧、远程帧、错误帧、过载帧和帧间隔,其用途如表2.1所列。
表2.1 帧的类型及用途
1)数据帧
数据帧由7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结尾。数据帧各段的功能如表2.2所列。
表2.2 数据帧各段的功能