CAN总线及应用
苏州大学计算机科学与技术学院 王宜怀
1
整理课件
一、目标定位
目标:以MSCAN08和MSCAN12为示例,讲述CAN现场总线,初步掌握CAN总线技术的应用。
基本要求:标准,支持标准和扩展数据帧
位速率可编程,最大1Mbps
数据帧长度为0~8字节
支持远程请求帧
1个FIFO接收缓冲区,3个具有局部优先级的FIFO发送缓冲区
标识符验收模式可配置成1个32位过滤码、2个16位过滤码、4个8位过滤码,或者关闭滤波器
内置低通滤波的远程唤醒功能
自环工作模式
18
整理课件
MSCAN08外部引脚
MSCAN08有2根外部引脚:CANRX(输入)和CANTX(输出)
CANTX代表CAN上的逻辑电平:0为高电平(显性),1为低电平(隐性)。MSCAN08模块构建的典型的CAN系统如图所示:
19
整理课件
MSCAN08通信接口电路
20
整理课件
MSCAN08的编程结构—内存映射
21
整理课件
MSCAN08的编程结构—报文收发缓冲区
22
整理课件
MSCAN08的编程结构—寄存器
23
整理课件
MSCAN08通信实现
初始化
24
整理课件
MSCAN08通信实现
发送和接收函数
25
整理课件
MSCAN08自环通信测试实例
(1).回环工作方式测试工程文件列表
26
整理课件
MSCAN08自环通信测试实例
(2).回环工作方式C语言主程序
27
整理课件
MSCAN08正常通信测试实例
(1).查询方式服务器节点C语言主程序
28
整理课件
MSCAN08正常通信测试实例
(2).查询方式客户节点C语言主程序
29
整理课件
MSCAN12模块简介
MSCAN12特性(与MSCAN08几乎相同):
支持标准和扩展数据帧格式
数据长度为0~8字节
位速率可编程,最大1Mbps
支持远程帧
拥有5个FIFO机制的接收缓冲区,3个具有局部优先级的发送缓冲区
具有灵活的标识符验收模式
…………
30
整理课件
MSCAN12模块框图
31
整理课件
MSCAN12外部引脚
32
整理课件
MSCAN12报文缓冲区结构
报文缓冲区组织图
33
整理课件
MSCAN12编程结构—内存映射
34
整理课件
MSCAN12编程结构—寄存器
1) MSCAN控制寄存器0(CANCTL0)
2) MSCAN控制寄存器1(CANCTL1)
3) MSCAN总线时钟寄存器0(CANBTR0)
4) MSCAN总线时钟寄存器1(CANBTR1)
5) MSCAN接收器标志寄存器(CANRFLG)
6) MSCAN接收器中断使能寄存器(CANRIER)
7) MSCAN发送器标志寄存器(CANTFLG)
8) MSCAN发送器中断使能寄存器(CANTIER)
9) MSCAN发送器消息中止控制寄存器(CANTARQ)
10) MSCAN发送器消息中止控制寄存器(CANTAAK)
11) MSCAN发送缓冲区选择寄存器(CANTBSEL)
12) MSCAN标识符验收控制寄存器(CANTIDAC)
13) MSCAN接收错误计数寄存器(CANRXERR)
14) MSCAN发送错误计数寄存器(CANTXERR)
15) MSCAN标识符验收码寄存器(CANIDAR0~7)
16) MSCAN标识符屏蔽寄存器(CANIDMR0~7)
35
整理课件
MSCAN12模块的自环通信实例
MSCAN12通信头文件()
(1)CAN通信寄存器及标志位定义
(2)CAN通信用到的设置量定义
(3)CAN通信相关函数声明
(4)CAN通信初始化
MSCAN12通信函数文件( )
(1)CAN通信初始化:void CANInit(void)
(2)CAN发送1帧数据:INT8U CANSND1DFRM(INT16U ID,INT8U * DataBUF, INT8U LEN)
(3)查找空闲发送缓冲区:INT8U GetSNDBUF(void)
(4)CAN接收1帧数据:INT8U CANRCV1FRM(INT8U * CANRCVBUF)
36
整理课件
MSCAN12模块的自环通信实例
1.
第1步:定义常量,初始化变量
第2步:禁止总中断
第3步:芯片初始化
第4步:模块初始化(串口初始化、MSCAN12初始化)
第5步:开放SCI0接收中断
第6步:开放总
《can总线及应用》 来自淘豆网m.daumloan.com转载请标明出处.