基于单片机的CAN总线通信系统

时间:2024-02-03 点赞:45215 浏览:87776 作者原创标记本站原创

本文是一篇软件开发论文范文,软件开发类函授毕业论文,关于基于单片机的CAN总线通信系统相关毕业论文的格式范文。适合软件开发及数据库及总线方面的的大学硕士和本科毕业论文以及软件开发相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】CAN,全称为“ControllerAreaNetwork"即控制器局域网,是国际上应用最广泛的现场总线之一.在自动化领域的应用非常广泛,其特点是结构简单、成木低,但速度高、实时性和可靠性好.CANoe是德国Vector公司开发的一款功能非常强大的CAN总线开发测试软件,可以实现真实总线的实时监控,半实物仿真和全虚拟总线的仿真.它包含CAN网络数据库编辑器CANdb++,虚拟节点CANPL语高编程,用户自定义而板组件PanelGenerator以及一些集成的调试监控组件,能满足各种开发测试的需要.木文将介绍如何基于这些工具模拟CAN总线的数据通信,实现特定的一些功能.

【关 键 词】CAN;总线;通信

一、CAN总线数据库的设计

CANdb++是CANoe内置的工具,用来描述CAN总线的一些对象,这些对象包括:

(1)CAN节点.具体包括CAN总线网络中所有节点的名称以及通信1D.

(2)信号signal.信号signal代表一种类型的变量,一般用消息中的一位或者几位来表示.一般包含的主要信息有:startBit,即开始位;length即这个变量的长度是多少位的.除此之外还有最大值最小值的设置等等.

(3)消息Message:Message.的实质就是在CAN总线上通信的数据帧,一个Message包含的主要信息有:ID,表明这个数据帧是从哪个节点发出的:DLC,也就是数据帧的长度,即多少个字节(Byte):信号signal,一个消息一般含有一个或多个信号.

(4)环境变量(environmentvariables).环境变量是信号的另一个身份,用以在CANPL编程和Panel而板时进行变量绑定.

由美国公司SiliconLaboratories研发出的单片机C8051F040在内部嵌入了CAN总线控制器CAN2.0B,使CAN总线与单片机之间的通信更加简捷方便.CAN总线采用了新技术与独特设计,为分布式控制系统实现各节点之间的实时、可靠的数据通信提供强了有力的技术支持.

因此,本文阐述了单片机C8051F040及内嵌CAN总线模块,利用对CAN总线网络进行数据传输,实现了CAN总线的数据通信.

二、增强型单片机C8051F040简介

C8051F040采用的微控制器内核是CIP51,它完全兼容MCS51TM的指令集,其外部设备与标准的8052的外设完全相同,包括5个16Bit的计数器/定时器、256Byte的内部RAM,128Byte的特殊功能寄存器(R)、2个全双工串口及8个8bit的I/0端口.CIP51微控制器内核采用了流水结构,这就使得指令的执行速度得到了极大的提升.CIP51微控制器内核还包括256Byte的RAM,其中高128Byte为双映射.通用RAM的高128Byte采用间接寻址方式,128Byte的R地址空间采用直接寻址方式.CIP51微控制器内核的R地址空间含有256个R页.通过R分页,CIP51微控制器内核可以实现对控制和配置片内外设的R的控制.该芯片内还含有片内调试接口JTAG,方便进行软件开发调试.


三、CAN2.0控制器简介

C8051F040单片机内部集成了Bosch公司的CAN控制器,可以用来实现CAN总线的数据通信,BoschCAN由下面几部分组成:CAN内核(CAN协议控制器和用来完成消息串/并行转换的接收和发送移位寄存器)、报文RAM(含有32个报文对象)、报文处理状态机制(控制管理功能)和CAN控制寄存器(配置C_CAN模块等).

CAN内核是模块对总线网络进行数据传输的核心,主要完成的功能是对CAN协议进行解析,并通过串/并移位寄存器实现通信节点间的数据通信:报文RAM含有32个报文对象,每个报文对象都可以存取通信节点的相关信息及数据身份码等:当通信节点的数据在网络上进行传输时,CAN控制寄存器可以对其进行信息管理的设置:报文处理状态机制主要是完成控制管理功能,实现CAN核、报文RAM和CAN控制寄存器之间的数据传输,并向CIP-51微控制器内核提供有关总线状态和消息对象的数据收发完成的中断标志

在CAN控制器寄存器中有3个寄存器可以通过CIP51微控制器内核的特殊功能寄存器直接访问,其它的寄存器只能通过CANODATH,CANODATL和CANOADR寄存器以地址索引的方式间接访问.CANODAT(CANODATH和CANODATL)用来存储数据,CANOADR用来存储地址.如果想要读/写某一个CAN寄存器,可以先把该寄存器的索引号写到CANOADR中,然后从CANODAT中就可以读/写该寄存器了.

四、数据通信的硬件结构

以机控制单元FFR和C8051F040通信为例,控制单元FFR的接口支持CAN协议,通信双方为FFR和C8051F040.FFR发出CAN帧数据,C8051F040接收CAN帧数据.同样,C8051F040发出的CAN帧数据,FFR接收CAN帧数据,这样就完成了两个支持CAN协议的硬件间的通信.

五、数据通信软件设计

软件开发集成环境采用KEIL公司的μVision3它可以用来编译C源码,连接和重定位目标文件和库文件、创建HEX文件、调试目标程序等,本文采用C51语言设计数据通信程序,C51是以ANSIC为基础发展起来的,主要用于满足单片机编程的需求.

C51语言虽然继承了标准C语言的绝大部分的特性,而且基本语法相同,但其本身又在特定的硬件结构上有所扩展,如关键字shit,dataidata,plot.等,同时更加注重了对系统资源的利用.数据通信软件主要包括初始化程序、接收程序和发送程序.

六、结论

随着通信技术的快速发展,CAN总线通信得到广泛的应用,本文以控制单元FFR和C8051F040为通信双方,介绍了CAN通信总线,C8051F040单片机,实现了CAN总线的数据通信,为系统与主机通信提供了参考.

相关论文

基于单片机的多机通信系统设计

本文是一篇单片机论文范文,单片机方面有关毕业论文模板,关于基于单片机的多机通信系统设计相关大学毕业论文范文。适合单片机及计算机及集成。

基于CAN总线的汽车内部网络系统

该文为关于控制系统相关毕业论文提纲范文,与基于CAN总线的汽车内部网络系统相关论文格式要求,可作为论文格式专业控制系统论文写作研究的大。

现场总线控制系统通信原理

本文是一篇控制系统论文范文,控制系统类本科毕业论文范文,关于现场总线控制系统通信原理相关函授毕业论文范文。适合控制系统及通信原理及软。

基于CAN总线的智能控制系统设计

本文是一篇控制系统论文范文,控制系统类有关毕业论文,关于基于CAN总线的智能控制系统设计相关毕业论文参考文献格式范文。适合控制系统及总。