基于ti的lm3s系列mcu的can开发

基于ti的lm3s系列mcu的can开发

ID:18196771

大小:2.51 MB

页数:30页

时间:2018-09-15

基于ti的lm3s系列mcu的can开发_第1页
基于ti的lm3s系列mcu的can开发_第2页
基于ti的lm3s系列mcu的can开发_第3页
基于ti的lm3s系列mcu的can开发_第4页
基于ti的lm3s系列mcu的can开发_第5页
资源描述:

《基于ti的lm3s系列mcu的can开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章CAN接口应用1.1概述CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是一种用于连接电子控制单元(ECU)的多主站共用型串行总线标准,并成为国际上应用最广泛的现场总线之一。CAN特别适用于电磁干扰和其它电子噪声强的环境,它可以使用像RS-485这样的平衡差分线或者更稳定可靠的双绞线。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。后来也使用在许多嵌入式控制应用中(比如:工业和医疗)。当总线长度小于40米时位速率

2、可高达1Mbps。位速率会随着节点之间距离的增加而降低(例如:总线长度为500米时位速率为125Kbps)。Luminary公司的LM3S2000/5000/8000系列ARMCortex-M3处理器内建1~3(详细配置请参考芯片手册)路CAN控制器,可同时支持多路CAN总线的操作,使器件可用作网关、开关、工业或汽车应用中多个CAN总线的路由器。1.2特性Stellaris®CAN模块具有以下特性:?支持CAN2.0A/B协议;?位速率可编程(高达1Mbps);?具有32个报文对象;?每个报文对象都具有自己的

3、标识符屏蔽码(过滤器使用后方能使用);?包含可屏蔽中断;?在时间触发的CAN(TTCAN)应用中禁止自动重发送模式;?自测试操作具有可编程的回环模式;?具有可编程的FIFO模式;?数据长度从0到8字节;?通过CAN0Tx和CAN0Rx管脚与外部CANPHY无缝连接。1.3外设驱动库函数说明Stellaris®PeripheralDriverLibrary为用户提供了完整可靠的CAN通信底层API函数,用户通过调用API函数即可完成CAN控制器配置、报文对象配置及CAN中断管理等CAN模块开发工作。使用Stel

4、laris®PeripheralDriverLibrary提供的API函数开发CAN模块应用,必须了解相关的数据结构及枚举类型,下面就先介绍CAN模块API函数所涉及的数据结构及枚举类型。注:在can.h和hw_can.h中我们一直要应用,所有的结构体都是在can.h中已经定义1.3.1数据结构1.tCANBitClkParmstCANBitClkParms是CAN位时钟设置参数的结构类型,其原型定义如程序清单1.1所示。注:后文中将讲到对CAN波特率真设置时,就要对CAN的位时间寄存器进行操作,虽然在驱动库

5、里面已经对其进行了封装,但是我们还要了解它的工作原理.程序清单1.1tCANBitClkParms结构原型typedefstruct{unsignedintuSyncPropPhase1Seg;//这个成员用于保存位时间中的传输段及相位缓冲段1//的和,取值范围2~16unsignedintuPhase2Seg;//这个成员用于保存位时间中的相位缓冲段2的值,//取值范围为1~8unsignedintuSJW;//这个成员用于保存位时间中的同步跳转宽度,取值范围1~4unsignedintuQuantumPr

6、escaler;//CAN波特率预分频值,取值范围为1~1023}tCANBitClkParms;2.tCANMsgObjecttCANMsgObject结构用于组织配置报文对象的所有参数,其原型定义如程序清单1.2所示。程序清单1.2tCANMsgObject结构原型typedefstruct{unsignedlongulMsgID;//11或29位的CAN报文标识符unsignedlongulMsgIDMask;//报文滤波器使能后的标识符掩码,如果不使能报文滤波器的话,可以不用这个数据unsignedl

7、ongulFlags;//由tCANObjFlags列举的配置参数unsignedlongulMsgLen;//报文数据域长度unsignedchar*pucMsgData;//指向配置报文对象数据域数据的指针}tCANMsgObject;1.3.2枚举类型1.tCANObjFlags枚举类型tCANObjFlags中定义的常量将在调用CANMessageSet()和CANMessageGet()函数时的tCANMsgObject型变量中用到,tCANObjFlags的原型定义如程序清单1.3所示。程序清单1

8、.3tCANObjFlags枚举类型typedefenum{MSG_OBJ_TX_INT_ENABLE=0x00000001,//表示将使能或已使能发送中断MSG_OBJ_RX_INT_ENABLE=0x00000002,//表示将使能或已使能接收中断MSG_OBJ_EXTENDED_ID=0x00000004,//表示报文对象将使用或已使用扩展标识符MSG_OBJ_USE_ID_FILTER=0x

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

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

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