2.6can总线通讯实验

2.6can总线通讯实验

ID:35129111

大小:65.50 KB

页数:7页

时间:2019-03-19

2.6can总线通讯实验_第1页
2.6can总线通讯实验_第2页
2.6can总线通讯实验_第3页
2.6can总线通讯实验_第4页
2.6can总线通讯实验_第5页
资源描述:

《2.6can总线通讯实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.6CAN总线通讯实验一、实验目的掌握CAN总线通讯原理。学习MCP2510的CAN总线通讯的驱动开发。掌握Linux系统中断在CAN总线通讯程序中使用。二、实验内容学习CAN总线通讯原理,了解CAN总线的结构,阅读CAN控制器MCP2510的芯片文档,掌握MCP2510的相关寄存器的功能和使用方法。编程实现两台CAN总线控制器之间的通讯。RM接收到CAN总线的数据后会在于终端显示,同时使用CAN控制器发送的数据也会在终端反显。MCP2510设置成自回环的模式,CAN总线数据自发自收。三、预备知识有C语言基础了解CAN总线了解Li

2、nux驱动的基本流程四、实验设备及工具硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。软件:PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境五、实验原理1、CAN总线概述CAN全称为ControllerAreaNetwork,即控制器局域网,是国际上应用最广泛的现场总线之一。最初CAN总线被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如,发动机管理系统、变速箱控制器、仪表装备、电子主干系统中

3、均嵌入CAN控制装置。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。但是,实际应用中节点数目受网络硬件的电气特性所限制。例如,当使用PhilipsP82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN的主要优点包括:低成本◆极高的总线利用率◆很远的数据传输距离(长达10公里)◆高速的数据传输速率(高达1Mbit/s)◆可根据报文的ID决定接收或屏蔽该报文◆可靠的错误处理和检错

4、机制◆发送的信息遭到破坏后可自动重发◆节点在错误严重的情况下具有自动退出总线的功能◆报文不包含源地址或目标地址仅用标志符来指示功能信息优先级信2、CAN总线的电气特征CAN能够使用多种物理介质进行传输,例如:双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L,静态时均是2.5V左右,此时状态表示为逻辑1也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑0,称为“显性”。此时,通常电压值为CAN_H=3.5V和CAN_L=1.5V。当“显性”位和“隐性”位同时发送的时候,最后总线数值将

5、为“显性”。这种特性,为CAN总线的总裁奠定了基础。CAN总线的一个位时间可以分成四个部分:同步段,传播段,相位段1和相位段2,每段的时间份额的数目都是可以通过CAN总线控制器(比如MCP2510)编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值BRP决定:tq=BRP/tsys。如图2.6.1所示:图2.6.1CAN总线的一个位时间上述四个部分的设定和CAN总线的同步、仲裁等信息有关,请读者参考CAN总线方面的相关资料。3、CAN总线的MAC帧结构如图2.6.2所示,CAN总线的帧数据有两种格式:标准格式和扩展格

6、式。在MCP2510中,同时支持下面两种CAN总线的帧格式。图2.6.2CAN总线的帧数据4、UP-NETARM2410-S上的CAN总线控制器MCP2510UP-NETARM2410-S上采用MicroChip公司的MCP2510CAN总线控制器。其特点如下:◆支持标准格式和扩展格式的CAN数据帧结构◆0-8字节的有效数据长度,支持远程帧◆最大1Mbps的可编程波特率◆两个支持过滤器(Fliter、Mask)的接收缓冲区,三个发送缓冲区◆支持回环(LoopBack)模式◆SPI高速串行总线,最大5MHz(4.5V供电)◆3V到5.

7、5V供电UP-NETARM2410-S上采用使用RJ11标准接口作为CAN总线接口,接口如图2.6.3所示:图2.6.3CAN总线接口与MCP2510芯片系统中,S3C2410通过SPI同步串行接口和MCP2510相连。MCP2510的片选信号,通过接在S3C2410的Bank5上的锁存器(74HC753)来控制。可以定义如下宏,来实现对Bank5上的锁存器的操作。#defineEXIOADDR(*(volatileunsignedshort*)0xa000000)//bank5externunsignedshortintEXIOR

8、eg;#defineSETEXIOBIT(bit)do{EXIOReg

9、=bit;XIOADDR=EXIOReg;}while(0)#defineCLREXIOBIT(bit)do{EXIOReg&=(~bit);EXIOADDR=E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。