第4章飞思卡尔微控制器与mscanp关pt课件

上传人:痛*** 文档编号:172843613 上传时间:2022-12-07 格式:PPT 页数:91 大小:7.57MB
返回 下载 相关 举报
第4章飞思卡尔微控制器与mscanp关pt课件_第1页
第1页 / 共91页
第4章飞思卡尔微控制器与mscanp关pt课件_第2页
第2页 / 共91页
第4章飞思卡尔微控制器与mscanp关pt课件_第3页
第3页 / 共91页
点击查看更多>>
资源描述
汽车车载网络技术及应用汽车车载网络技术及应用第四章第四章 飞思卡尔微控制器与飞思卡尔微控制器与MSCANq4.1 飞思卡尔微控制器飞思卡尔微控制器q4.2 飞思卡尔的飞思卡尔的MSCAN模块模块q4.3 MSCAN模块的功能描述模块的功能描述汽车车载网络技术及应用汽车车载网络技术及应用概述概述 n飞思卡尔半导体是全球最大的半导体公司之一,设计制造嵌入式半导体飞思卡尔半导体是全球最大的半导体公司之一,设计制造嵌入式半导体产品;产品;n是车用微控制器(是车用微控制器(MCUMCU)领域排名第一的供应商,具有)领域排名第一的供应商,具有2020年的汽车电子经年的汽车电子经验;验;n飞思卡尔的微控制器按照飞思卡尔的微控制器按照CPUCPU字长分为字长分为8 8位、位、1616位、位、3232位三种位三种8位16位32位信息娱乐系统信息娱乐系统目前,飞思卡尔的目前,飞思卡尔的各各MCU中广泛使用中广泛使用CAN模块设计。模块设计。汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔对汽车的了解飞思卡尔对汽车的了解汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-车身电子车身电子汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-底盘底盘汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-辅助驾驶辅助驾驶汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-信息娱乐系统信息娱乐系统汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-车内联网车内联网车联网(车联网(IOV:Internetof Vehicle)是指车与车、车与路、车与人、车与传)是指车与车、车与路、车与人、车与传感设备等交互,实现车辆与公众网络通信的动态移动通信系统。它可以通过感设备等交互,实现车辆与公众网络通信的动态移动通信系统。它可以通过车与车、车与人、车与路互联互通实现信息共享,收集车辆、道路和环境的车与车、车与人、车与路互联互通实现信息共享,收集车辆、道路和环境的信息,并在信息网络平台上对多源采集的信息进行加工、计算、共享和安全信息,并在信息网络平台上对多源采集的信息进行加工、计算、共享和安全发布,根据不同的功能需求对车辆进行有效的引导与监管,以及提供专业的发布,根据不同的功能需求对车辆进行有效的引导与监管,以及提供专业的多媒体与移动互联网应用服务。多媒体与移动互联网应用服务。汽车车载网络技术及应用汽车车载网络技术及应用飞思卡尔在汽车领域的应用飞思卡尔在汽车领域的应用-动力系统控制动力系统控制汽车车载网络技术及应用汽车车载网络技术及应用MCU选择标准选择标准nMCU在其内存中包含按照在其内存中包含按照OEM(定点生产定点生产)的规定根据车的规定根据车辆需求设计的功能逻辑辆需求设计的功能逻辑nMCU处理输入和控制:处理输入和控制:q BCM(车身控制模块车身控制模块)连接器管脚上由缓冲器电路从逻辑连接器管脚上由缓冲器电路从逻辑电平转化的输出电平转化的输出q 通过通信链路发送到其他车辆模块的信息通过通信链路发送到其他车辆模块的信息n低运行电流至关重要:低运行电流至关重要:运行电流越大,调节器功耗越大,运行电流越大,调节器功耗越大,散热越多散热越多n较低休眠电流至关重要:较低休眠电流至关重要:当发动机关闭,电池电压不是通当发动机关闭,电池电压不是通过交流发电机充电时,过交流发电机充电时,MCU从运行模式进入低功耗模式从运行模式进入低功耗模式(睡眠)。睡眠电流越大,电池用完的时间越快(睡眠)。睡眠电流越大,电池用完的时间越快n从睡眠到运行模式的快速转换至关重要:从睡眠到运行模式的快速转换至关重要:某些某些BCM功能功能要求唤醒之后短时间内进行操作(从睡眠转换到运行)要求唤醒之后短时间内进行操作(从睡眠转换到运行)汽车车载网络技术及应用汽车车载网络技术及应用MCU选择标准选择标准nMCU内置功能:内置功能:nFlash、ROM、EEPROMn管脚输出管脚输出n封装选择封装选择n功能功能n低功率低功率n开发支持开发支持n成本成本 质量质量 软件可用性软件可用性n可扩展性和灵活性:可扩展性和灵活性:n兼容性(重复使用)兼容性(重复使用)n移植选择移植选择n外围设备外围设备汽车车载网络技术及应用汽车车载网络技术及应用汽车性能和集成汽车性能和集成汽车车载网络技术及应用汽车车载网络技术及应用4.1 飞思卡尔微控制器飞思卡尔微控制器 4.1.1 MC9S08DZ60微控制器微控制器n说明:说明:qS08DZS08DZ系列提供了飞思卡尔最低成本的内嵌系列提供了飞思卡尔最低成本的内嵌CANCAN的微控制器;的微控制器;q将内嵌将内嵌CANCAN、内嵌、内嵌EPROMEPROM和片上仿真和片上仿真/调试模块组合在一起;调试模块组合在一起;n主要特性主要特性q8 位位HCS08 中央处理器(中央处理器(CPU)n 40-MHz HCS08 CPU(20-MHz 总线)总线)n HC08 指令集,带附加的指令集,带附加的BGND(后台调制模式)指令后台调制模式)指令n 支持最多支持最多32 个中断个中断/复位源复位源q片内存储器片内存储器n整个工作电压和温度范围内可读取整个工作电压和温度范围内可读取/编程编程/擦除的擦除的Flash 存储器存储器n MC9S08DZ60=60Kn 最大最大2K的的EEPROM在线可编程内存;在线可编程内存;支持支持8字节单页或字节单页或4 字节双字节双页擦除分区;页擦除分区;执行执行Flash 程序的同时可进行编程和擦除操作;支程序的同时可进行编程和擦除操作;支持擦除取消操作持擦除取消操作n 最大最大4K 的随机存取内存(的随机存取内存(RAM)汽车车载网络技术及应用汽车车载网络技术及应用MCS9S08DZ60微控制器微控制器n主要特性主要特性q省电模式省电模式n 两种超低功耗停止模式两种超低功耗停止模式n 降低功耗的等待模式降低功耗的等待模式n 超低功耗实时时钟中断,在运行、等待和停止模式下均可操作超低功耗实时时钟中断,在运行、等待和停止模式下均可操作q时钟源选项时钟源选项n多功能时钟生成器(多功能时钟生成器(MCG)PLL 和和FLL 模式(在使用内部温度模式(在使用内部温度补偿时补偿时FLL 能够达到能够达到1.5%内的偏差);带微调功能的内部参考时内的偏差);带微调功能的内部参考时钟源;带可选择晶体振荡器或陶瓷谐振器的外部参考时钟源。钟源;带可选择晶体振荡器或陶瓷谐振器的外部参考时钟源。q开发支持开发支持n 单线背景调试接口单线背景调试接口n 片上及在线仿真(片上及在线仿真(ICE)q -40 C 125 C的运行温度范围的运行温度范围q 2.7V 5.5V的运行电压范围的运行电压范围汽车车载网络技术及应用汽车车载网络技术及应用MCS9S08DZ60微控制器微控制器n主要特性主要特性q外围设备外围设备n ADC数模转换器数模转换器 24 通道,通道,12 位分辨率,位分辨率,2.5uS 转换时间,转换时间,自动比较功能,自动比较功能,1.7 mV/C 温度传感器,包含内部能隙参考温度传感器,包含内部能隙参考源通道源通道n ACMPx 两个模拟比较器,支持比较器输出的上升、下降两个模拟比较器,支持比较器输出的上升、下降或任意边沿触发的中断;可选择与内部参考电压源进行比较或任意边沿触发的中断;可选择与内部参考电压源进行比较n MSCAN CAN协议协议 V2.0 A 和和B;支持标准和扩展数据帧;支持标准和扩展数据帧;支持远程帧;支持远程帧;5 个带有个带有FIFO 存储机制的接收缓冲器;灵活的存储机制的接收缓冲器;灵活的接收识别符过滤器,可编程如下:接收识别符过滤器,可编程如下:2 x 32 位、位、4 x 16 位或位或8 x 8 位位n SCIx 两个串行通信接口两个串行通信接口SCI,可支持可支持LIN 2.0协议和协议和SAE J2602协议协议;全双工;主节点支持;全双工;主节点支持break 信号生成;从节点支信号生成;从节点支持中断信号检测;支持激活边沿唤醒持中断信号检测;支持激活边沿唤醒汽车车载网络技术及应用汽车车载网络技术及应用MCS9S08DZ60微控制器微控制器n主要特性主要特性q外围设备外围设备n SPI(串口外围设备接口模块)(串口外围设备接口模块)全双工或单线双向;双重缓冲发射和全双工或单线双向;双重缓冲发射和接收;主从模式选择;支持高位优先或低位优先的移位接收;主从模式选择;支持高位优先或低位优先的移位n IIC 支持最高支持最高100kbps的总线波特率;多主节点模式运行;可编程的从的总线波特率;多主节点模式运行;可编程的从地址;通用呼叫地址;逐字节数据传输驱动的中断地址;通用呼叫地址;逐字节数据传输驱动的中断n TPMx 一个一个6 通道(通道(TPM1)和一个)和一个2 通道(通道(TPM2);可支持输入捕);可支持输入捕捉,输出比较,或每个通道带缓冲的边沿对齐捉,输出比较,或每个通道带缓冲的边沿对齐PWM 输出输出n RTC (实时时钟计数器)(实时时钟计数器)8 位模数计数器,带基于二进制或十进制的位模数计数器,带基于二进制或十进制的预分频器;实时时钟功能,使用外部晶体和预分频器;实时时钟功能,使用外部晶体和RTC 来确保精确时基、时间、来确保精确时基、时间、日历或任务调度功能;内带低功耗振荡器(日历或任务调度功能;内带低功耗振荡器(1 kHz),用于周期唤醒而不),用于周期唤醒而不需要外部器件需要外部器件q输入输入/输出输出n 53个通用输入个通用输入/输出(输出(I/O)管脚和)管脚和1 个专用输入管脚个专用输入管脚n 24个中断管脚,每个管脚带触发极性选择个中断管脚,每个管脚带触发极性选择n 所有输入管脚上带电压滞后和可配置的上下拉器件所有输入管脚上带电压滞后和可配置的上下拉器件n 所有输入管脚上可配置输出斜率和驱动强度所有输入管脚上可配置输出斜率和驱动强度汽车车载网络技术及应用汽车车载网络技术及应用MCS9S08DZ60内部结构内部结构n内部结构内部结构内核:内核:中央处理器中央处理器CUP后台调试控制器后台调试控制器BDC断点控制器断点控制器BKP用户闪存用户闪存60k,用于,用于存放用户程序和数据,存放用户程序和数据,在正常运行时为只读在正常运行时为只读4k的的RAM存储器用做存储器用做堆栈、保存中间结果堆栈、保存中间结果及动态数据。及动态数据。2k的的EEROM保存组保存组态、设置信息等半永态、设置信息等半永久数据。久数据。汽车车载网络技术及应用汽车车载网络技术及应用4.1.2 飞思卡尔飞思卡尔16位微控制器位微控制器MC9S12XEP100汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用 4.2 飞思卡尔的飞思卡尔的MSCAN模块模块nMSCAN 即CAN控制器q CAN协议的实施协议的实施-CAN 2.0A/B版版n 标准和扩展数据帧标准和扩展数据帧n 0 8字节的数据长度字节的数据长度n 高达高达1Mbps的可编程比特率的可编程比特率n 支持远程帧支持远程帧q 带带FIFO存储机制的存储机制的5个接收缓冲器个接收缓冲器q 带内部优先级分配功能的带内部优先级分配功能的3个发送缓冲器个发送缓冲器q 灵活的可屏蔽标识符过滤器:灵活的可屏蔽标识符过滤器:n 2个个32位扩展标识符过滤器位扩展标识符过滤器n 4个个16位过滤器位过滤器n 8个个8位过滤器位过滤器4.2.1 MSCAN模块的特性模块的特性汽车车载网络技术及应用汽车车载网络技术及应用4.2.2 MSCAN模块的结构模块的结构nMSCAN结构图结构图RXCAN:MSCAN接收器输入管脚;接收器输入管脚;TXCAN:MSCAN发送器输出管脚;发送器输出管脚;TXCAN输出管脚代表输出管脚代表CAN总线上的逻辑层,即:总线上的逻辑层,即:0=显性状态;显性状态;1=隐性状态隐性状态.汽车车载网络技术及应用汽车车载网络技术及应用典型典型CAN系统系统CAN总线系统总线系统汽车车载网络技术及应用汽车车载网络技术及应用4.2.3 MSCAN模块的寄存器的介绍模块的寄存器的介绍汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用1、MSCAN控制寄存器(控制寄存器(1)控制寄存器控制寄存器0(CANCTL0)D7RXFRM位,已收到帧标记位,已收到帧标记D6RXACT位,接收器使能状态位,接收器使能状态D5CSWAI位,在等待模式中位,在等待模式中CAN停止停止汽车车载网络技术及应用汽车车载网络技术及应用(1)MSCAN控制寄存器控制寄存器0(CANCTL0)D4SYNCH位,同步状态位,同步状态D3TIME位,计时器使能位,计时器使能D2WUPE位,唤醒使能位,唤醒使能D1SLPRQ位,睡眠模式请求位,睡眠模式请求D0INITRQ位,初始化模式请求位,初始化模式请求汽车车载网络技术及应用汽车车载网络技术及应用(2)MSCAN控制寄存器控制寄存器1(CANCTL1)D1,D0:未定义:未定义D7CANE位,位,MSCAN使能使能D6CLKSRC位,位,MSCAN时钟源时钟源D5LOOPB位,闭环自测模式位,闭环自测模式D4LISTEN位,监听模式位,监听模式汽车车载网络技术及应用汽车车载网络技术及应用(2)MSCAN控制寄存器控制寄存器1(CANCTL1)D3BORM位,总线脱离恢复模式位,总线脱离恢复模式D2WUPM位,唤醒模式位,唤醒模式D1SLPAK位,睡眠模式确认位,睡眠模式确认D0INITAK位,初始化模式确认位,初始化模式确认汽车车载网络技术及应用汽车车载网络技术及应用(1 1)MSCAN总线定时寄存器总线定时寄存器0(CANBTR0)lD7D6SJW1:0D7D6SJW1:0,同步跳转宽度,同步跳转宽度lD5D0BRP5:0D5D0BRP5:0,波特率预分频器,波特率预分频器数据位D7D6D5D4D3D2D1D0定义SJW1SJW0BRP5BRP4BRP3BRP2BRP1BRP0复位000000002、MSCAN总线定时寄存器总线定时寄存器汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用(2 2)MSCANMSCAN总线定时寄存器总线定时寄存器1(CANBTR1)1(CANBTR1)lD7SAMPD7SAMP位,采样位,采样lD6D6D4TSEG22:0D4TSEG22:0位,时间段位,时间段2 2lD3D3D0TSEG13:0D0TSEG13:0位,时间段位,时间段1 1数据位D7D6D5D4D3D2D1D0定义SAMP TSEG22 TSEG21 TSEG20 TSEG13 TSEG12 TSEG11 TSEG10复位00000000汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用lD5D5,D4D4,D3D3,D2D2:未定义:未定义lD7WUPIFD7WUPIF位,唤醒中断标位,唤醒中断标lD6CSCIFD6CSCIF位,位,CANCAN状态变化中断标志状态变化中断标志lD5D5D4RSTAT1:0D4RSTAT1:0位,接收器状态位位,接收器状态位lD3D3D2TSTAT1:0D2TSTAT1:0位,发送器状态位位,发送器状态位lD1OVRIFD1OVRIF位,溢出中断标志位,溢出中断标志lD0RXFD0RXF位,接收缓冲器已满标志位,接收缓冲器已满标志3、MSCAN接收器标志寄存器接收器标志寄存器(CANRFLG)汽车车载网络技术及应用汽车车载网络技术及应用lD7WUPIED7WUPIE位,唤醒中断使能位,唤醒中断使能lD6CSCIED6CSCIE位,位,CANCAN状态变化中断使能状态变化中断使能lD5D5D4RSTATE1:0D4RSTATE1:0,位接收器状态变化使能,位接收器状态变化使能lD3D3D2TSTATE1:0D2TSTATE1:0,发送器状态变化使能,发送器状态变化使能lD1OVRIED1OVRIE位,溢出中断使能位,溢出中断使能lD0RXFIED0RXFIE位,总接收器已满中断使能位,总接收器已满中断使能数据位D7D6D5D4D3D2D1D0定义WUPIECSCIERSTATE1 RSTATE0 TSTATE1 TSTATE0OVRIERXFIE复位000 0 0 0 004、MSCAN接收器中断使能寄存器接收器中断使能寄存器(CANRIER)汽车车载网络技术及应用汽车车载网络技术及应用uD7D7D3D3未定义未定义uD2D2D0TXE2:0D0TXE2:0位,发送器缓冲器空位,发送器缓冲器空5、MSCAN发送器标志寄存器发送器标志寄存器(CANTFLG)汽车车载网络技术及应用汽车车载网络技术及应用lD7D7D3D3未定义未定义lD2D2D0TXEIE2:0D0TXEIE2:0位,发送器空中断使能位,发送器空中断使能6、MSCAN发送器中断使能寄存器发送器中断使能寄存器(CANTIER)汽车车载网络技术及应用汽车车载网络技术及应用lD7D7D3D3未定义未定义lD2D2D0ABTRQ2:0D0ABTRQ2:0位,中止请求位,中止请求7、MSCAN发送器报文中止请求寄存器发送器报文中止请求寄存器(CANTARQ)汽车车载网络技术及应用汽车车载网络技术及应用lD7D7D0D0未定义未定义lD2D2D0ABTAK2:0D0ABTAK2:0位,中止确认位,中止确认8、MSCAN发送器报文中止确认寄存器发送器报文中止确认寄存器(CANTAAK)汽车车载网络技术及应用汽车车载网络技术及应用lD7D7D3D3未定义未定义lD2D2D0TX 2:0D0TX 2:0位,发送缓冲器选择位,发送缓冲器选择9、MSCAN发送缓冲器选择寄存器发送缓冲器选择寄存器(CANTBSEL)汽车车载网络技术及应用汽车车载网络技术及应用10、MSCAN标识符验收控制寄存器标识符验收控制寄存器(CANIDAC)汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用11、MSCAN保留寄存器保留寄存器(Reserved)汽车车载网络技术及应用汽车车载网络技术及应用12、MSCAN其他寄存器其他寄存器(CANMISC)汽车车载网络技术及应用汽车车载网络技术及应用13、MSCAN接收错误计数器接收错误计数器(CANRXERR)汽车车载网络技术及应用汽车车载网络技术及应用14、MSCAN发送错误计数器发送错误计数器(CANRXERR)汽车车载网络技术及应用汽车车载网络技术及应用15、MSCAN标识符接收寄存器标识符接收寄存器(CANIDAR0-CANIDAR7)汽车车载网络技术及应用汽车车载网络技术及应用16、MSCAN标识符掩码寄存器标识符掩码寄存器(CANIDMR0-CANIDMR7)汽车车载网络技术及应用汽车车载网络技术及应用4.3 MSCAN模块的功能描述模块的功能描述n模块图模块图汽车车载网络技术及应用汽车车载网络技术及应用MSCAN模块功能模块功能n 可编程功能:可编程功能:q集成的低通过滤器提供唤醒功能集成的低通过滤器提供唤醒功能q环回模式支持自检操作环回模式支持自检操作q监听模式支持监听模式支持CAN总线监控总线监控n 单独的信令传输和中断功能,适合所有单独的信令传输和中断功能,适合所有CAN接收器和发接收器和发射器错误状态(警告、被动错误和总线脱离)。射器错误状态(警告、被动错误和总线脱离)。n 可编程的时钟源,可以是系统时钟或晶体振荡器输出可编程的时钟源,可以是系统时钟或晶体振荡器输出n 内部定时器,对接收和发送的消息添加时间戳内部定时器,对接收和发送的消息添加时间戳n 低功耗模式:休眠、电源关闭和低功耗模式:休眠、电源关闭和MSCAN使能使能汽车车载网络技术及应用汽车车载网络技术及应用4.3.2 报文发送基础报文发送基础汽车车载网络技术及应用汽车车载网络技术及应用4.3.3 MSCAN的发送的发送nMSCAN发送结构发送结构q3个发送缓冲区个发送缓冲区q可同时准备多条待发送可同时准备多条待发送的报文,提高实时性;的报文,提高实时性;汽车车载网络技术及应用汽车车载网络技术及应用发送控制相关寄存器发送控制相关寄存器nTXn=1:选择相关报文缓冲区选择相关报文缓冲区nTXn=0:相关报文缓冲区不被选着相关报文缓冲区不被选着n TXEn=1:发送缓冲器为空(已发送或放弃):发送缓冲器为空(已发送或放弃)n TXEn=0:发送缓冲器已满(未发送,已安排好日程):发送缓冲器已满(未发送,已安排好日程)n TXEIEn=1:启动发送中断功能。空的发送缓冲器导致中断。:启动发送中断功能。空的发送缓冲器导致中断。n TXEIEn=0:取消发送中断功能。:取消发送中断功能。n ABTRQn=1:请求中止发送。:请求中止发送。n ABTAKn=1:信息发送中止(未发送):信息发送中止(未发送)n ABTAKn=0:信息发送未中止(已发送):信息发送未中止(已发送)发送器标志寄存器发送器标志寄存器发送器中断使能寄存器发送器中断使能寄存器发送器报文中止请发送器报文中止请求寄存器求寄存器发送器报文中止发送器报文中止确认寄存器确认寄存器汽车车载网络技术及应用汽车车载网络技术及应用MSCAN -发送结构发送结构发送缓冲器选择寄存器发送缓冲器选择寄存器0表示相关报文缓冲区不被选择;1表示选择相关的缓冲区汽车车载网络技术及应用汽车车载网络技术及应用MSCAN发送流程发送流程n 配置:配置:q 将标识符、数据和优先级写入空的发送缓冲器。将标识符、数据和优先级写入空的发送缓冲器。q 安排缓冲器的发送顺序(清除安排缓冲器的发送顺序(清除TXEn)q 启动发送中断(设置启动发送中断(设置TXEIEn)q 优先级值最低的发送缓冲器(安排发送消息的缓冲器)将优先级值最低的发送缓冲器(安排发送消息的缓冲器)将在下一个在下一个IFS期间参与仲裁以接入期间参与仲裁以接入CAN总线总线n 发送中断:发送中断:q 识别已发送完消息的信息缓冲器识别已发送完消息的信息缓冲器q 关闭发送中断关闭发送中断q 测试测试ABTAK(确认标记)(确认标记)q 读取时间戳寄存器(如果启动了读取时间戳寄存器(如果启动了TIME链路的话)链路的话)q 如果发送队列中还有一条消息,请重复上述发送流程。如果发送队列中还有一条消息,请重复上述发送流程。汽车车载网络技术及应用汽车车载网络技术及应用4.3.4 接收结构接收结构接收器标志寄存器接收器标志寄存器(CANRFLG)中有一位中有一位RXF:接收缓冲器已满标接收缓冲器已满标志志0:RxFG 中没有新报文中没有新报文1:接收器:接收器FIFO 非空。非空。RxFG 中有报文中有报文汽车车载网络技术及应用汽车车载网络技术及应用接收流程接收流程n 配置:配置:q 设置设置INITRQ(初始化模式请求)(初始化模式请求)q 配置接收过滤器配置接收过滤器q 启动接收中断启动接收中断q 清除清除INITRQn 接收中断:接收中断:q 读取标识符,执行过滤读取标识符,执行过滤q 读取数据长度代码字段读取数据长度代码字段q 读取数据字段(如果不是远程帧的话)读取数据字段(如果不是远程帧的话)q 读取时间戳(如果启动了时间链路)读取时间戳(如果启动了时间链路)q 释放接收缓冲器释放接收缓冲器汽车车载网络技术及应用汽车车载网络技术及应用MSCAN消息缓冲器消息缓冲器n消息过滤消息过滤q 各信息在接收后被写各信息在接收后被写入到后台接收缓冲器中。入到后台接收缓冲器中。q 只有当只有当CPU达到标识达到标识符接收和标识符掩码寄符接收和标识符掩码寄存器中规定的标准时,存器中规定的标准时,CPU才会被通知读取信才会被通知读取信息。息。q MSCAN的接收寄存的接收寄存器以逐位方式应用于滤器以逐位方式应用于滤波信息的波信息的IDR0IDR3寄寄存器存器。汽车车载网络技术及应用汽车车载网络技术及应用标识符寄存器标识符寄存器n标准标识符(标准标识符(11位)位)q IDE=0q 最小的二进制值代表的标识符的优先级最高。最小的二进制值代表的标识符的优先级最高。q 逻辑逻辑“0”作为显性位发送。作为显性位发送。q 7个最高有效位(个最高有效位(ID10 ID4)不能全部为)不能全部为“1”(隐性)(隐性)汽车车载网络技术及应用汽车车载网络技术及应用标识符寄存器标识符寄存器n扩展标识符(扩展标识符(29位)位)q IDE=1&SRR=1q 最小的二进制值代表的标识符的优先级最高。最小的二进制值代表的标识符的优先级最高。q 逻辑逻辑“0”作为显性位发送。作为显性位发送。q 7个最高有效位(个最高有效位(ID28 ID22)不能全部为)不能全部为“1”(隐性)。(隐性)。汽车车载网络技术及应用汽车车载网络技术及应用数据寄存器数据寄存器本地优先级本地优先级汽车车载网络技术及应用汽车车载网络技术及应用4.3.5 CAN接收过滤器接收过滤器n 标识符接收寄存器标识符接收寄存器(CANIDAR0-7)定义标准)定义标准或扩展标识符的接收模式。或扩展标识符的接收模式。n 在标识符掩码寄存器在标识符掩码寄存器(CANIDMR0-7)中,标)中,标识符接收位可标为识符接收位可标为“dont care(不需留意)(不需留意)”。n接收掩码寄存器中设置的任何位表示不需和消息接收掩码寄存器中设置的任何位表示不需和消息标识符进行比较来确定是否接收。标识符进行比较来确定是否接收。n只有接收寄存器中没有标记的位才和消息标识符只有接收寄存器中没有标记的位才和消息标识符进行比较以确定是否接收。进行比较以确定是否接收。n 各个接收过滤器寄存器可以配置为各个接收过滤器寄存器可以配置为8、16或或32位:位:q 2个个32位过滤器位过滤器q 4个个16位过滤器位过滤器 8个个8位过滤器位过滤器汽车车载网络技术及应用汽车车载网络技术及应用标识符接收控制寄存器标识符接收控制寄存器n接收控制寄存器接收控制寄存器CANIDAC中的一个接收缓冲器中的一个接收缓冲器满标记(满标记(RXF=1)和)和3个标识符击中标记(个标识符击中标记(IDHT标识符有效)向应用软件通知过滤命中。标识符有效)向应用软件通知过滤命中。汽车车载网络技术及应用汽车车载网络技术及应用接收寄存器:接收寄存器:2x32位过滤器位过滤器汽车车载网络技术及应用汽车车载网络技术及应用接收寄存器:接收寄存器:4x16位过滤器位过滤器汽车车载网络技术及应用汽车车载网络技术及应用接收寄存器:接收寄存器:8x8位过滤器位过滤器汽车车载网络技术及应用汽车车载网络技术及应用4.3.6 过滤器举例过滤器举例汽车车载网络技术及应用汽车车载网络技术及应用4.3.8 时钟系统时钟系统MSCANMSCAN时钟发生结构图时钟发生结构图 CANCTL1 CANCTL1寄存器中的时钟源位(寄存器中的时钟源位(CLKSRCCLKSRC)决定内部)决定内部CANCLKCANCLK是连接是连接到晶体振荡器(振荡器时钟)输出还是连接到总线时钟。必须选择能到晶体振荡器(振荡器时钟)输出还是连接到总线时钟。必须选择能满足满足CANCAN协议的振荡器精度要求(高达协议的振荡器精度要求(高达0.4%0.4%)的时钟源。此外,对于)的时钟源。此外,对于高高CANCAN总线速率(总线速率(1 Mbps1 Mbps)来说,要求)来说,要求45%-55%45%-55%的时钟占空比。的时钟占空比。可编程预分频器从可编程预分频器从CANCLKCANCLK生成时间冲量(生成时间冲量(TqTq)时钟。时间冲量是)时钟。时间冲量是MSCANMSCAN所处理时间的原子单位所处理时间的原子单位 f Tq=fCANCLK/(Prescaler value)汽车车载网络技术及应用汽车车载网络技术及应用位时间再分成三段位时间再分成三段SYNC_SEG:SYNC_SEG:该段有一个长度固定的时间冲量,信号边沿预计该段有一个长度固定的时间冲量,信号边沿预计出现在本段。出现在本段。时段时段1 1:本段包括:本段包括CANCAN标准的标准的PROP_SEGPROP_SEG和和PHASE_SEG1PHASE_SEG1。通过设。通过设置参数置参数TSEG1TSEG1,使之包含,使之包含4-164-16个时间冲量,可以对其进行编程个时间冲量,可以对其进行编程时段时段2 2:本段表示:本段表示CAN CAN 标准的标准的PHASE_SEG2PHASE_SEG2。通过设置。通过设置TSEG2TSEG2参参数,使之具有数,使之具有2-82-8个时间冲量长,可以对其进行编程个时间冲量长,可以对其进行编程汽车车载网络技术及应用汽车车载网络技术及应用4.3.9 运行模式运行模式汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用4.3.10 MSCAN的低功耗选项的低功耗选项汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用4.3.11 MSCAN的休眠模式的休眠模式 MSCANMSCAN睡眠模式睡眠模式睡眠请求睡眠请求/确认周期确认周期汽车车载网络技术及应用汽车车载网络技术及应用进入进入/退出睡眠模式的简单状态转换退出睡眠模式的简单状态转换汽车车载网络技术及应用汽车车载网络技术及应用MSCANMSCAN初始化模式初始化模式初始化请求初始化请求/确认周期确认周期4.3.12 MSCAN的初始化的初始化汽车车载网络技术及应用汽车车载网络技术及应用MSCANMSCAN断电模式断电模式lCPUCPU处于停止模式处于停止模式 lCPUCPU处于等待模式且设置了处于等待模式且设置了CSWAICSWAI位位4.3.13 MSCAN断电模式断电模式汽车车载网络技术及应用汽车车载网络技术及应用 可编程唤醒功能可编程唤醒功能 只要检测到只要检测到CANCAN总线有效,就可以对总线有效,就可以对MSCANMSCAN进进行编程以唤醒行编程以唤醒MSCANMSCAN4.3.14 可编程唤醒功能可编程唤醒功能汽车车载网络技术及应用汽车车载网络技术及应用14.3.4 中断中断 中断矢量中断矢量运行运行描述描述中断源中断源CCRCCR掩码掩码本地使能本地使能唤醒中断(唤醒中断(WUPIFWUPIF)I I 位位CANRIER(WUPIE)CANRIER(WUPIE)错误中断错误中断(CSCIF,(CSCIF,OVRIF)OVRIF)I I 位位CANRIER(CSCIE,CANRIER(CSCIE,OVRIE)OVRIE)接入中断接入中断 (RXF)(RXF)I I 位位CANRIER(RXFIE)CANRIER(RXFIE)发送中断发送中断 (TXE2:0)(TXE2:0)I I 位位CANRIER CANRIER(TXEIE2:0)(TXEIE2:0)汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用汽车车载网络技术及应用14.4 MSCAN初始化、报文发送与接收的函数设计初始化、报文发送与接收的函数设计14.5.1 MSCAN14.5.1 MSCAN初始化过程初始化过程判断判断CANECANE,是否处于启动状态。,是否处于启动状态。写入处于初始化模式的配置寄存器。写入处于初始化模式的配置寄存器。清除清除INITRQINITRQ,离开初始化模式,进入正常模式,离开初始化模式,进入正常模式 当当MSCANMSCAN模块处于正常模式下,需要更改只能在初始化模模块处于正常模式下,需要更改只能在初始化模式中写入的寄存器:式中写入的寄存器:CANCAN总线空闲后,通过设置总线空闲后,通过设置SLPRQSLPRQ并等待并等待SLPAKSLPAK进行确认,进行确认,将模块置入睡眠模式。将模块置入睡眠模式。进入初始化模式:确定进入初始化模式:确定INITRQINITRQ并等待并等待INITAKINITAK。写入处于初始化模式的配置寄存器。写入处于初始化模式的配置寄存器。清除清除INITRQINITRQ,离开初始化模式,继续保持正常模式,离开初始化模式,继续保持正常模式汽车车载网络技术及应用汽车车载网络技术及应用14.5.2 MSCAN报文发送报文发送/接收过程接收过程MACANMACAN数据帧的发送和接收使用相同的结构体:数据帧的发送和接收使用相同的结构体:typedef struct CanMsg typedef struct CanMsg uint32 sendID;/msg uint32 sendID;/msg发送方发送方IDID uint8 IDE;/uint8 IDE;/是否为扩展是否为扩展IDID格式格式 uint8 RTR;/uint8 RTR;/是否为远程帧是否为远程帧 uint8 data8;/uint8 data8;/帧数据帧数据 uint8 dataLen;/uint8 dataLen;/帧数据长度帧数据长度 uint8 priority;/uint8 priority;/发送优先级发送优先级 CANMsg;CANMsg;汽车车载网络技术及应用汽车车载网络技术及应用数据帧发送的过程数据帧发送的过程l检查数据长度是否符合发送缓冲区数据长度要求检查数据长度是否符合发送缓冲区数据长度要求l检查总线时钟检查总线时钟l寻找空闲的发送缓冲区,并置位发送器缓冲器空(寻找空闲的发送缓冲区,并置位发送器缓冲器空(TXExTXEx)标志)标志lCPUCPU写入写入CANTBSELCANTBSEL寄存器,为该缓冲器设置一个指针,使缓冲器能寄存器,为该缓冲器设置一个指针,使缓冲器能够在够在CANTXFGCANTXFG地址空间内访问地址空间内访问lCPUCPU将标识符、控制位和数据内容保存到一个发送缓冲器将标识符、控制位和数据内容保存到一个发送缓冲器l清除相关清除相关TXETXE标志,缓冲器标志为发送准备就绪标志,缓冲器标志为发送准备就绪数据帧接收的过程数据帧接收的过程l检测接收标志检测接收标志l检测检测CANCAN协议报文模式标识符协议报文模式标识符l读标识符、数据长度、标识符读标识符、数据长度、标识符l清清RXFRXF标志位标志位汽车车载网络技术及应用汽车车载网络技术及应用14.5.3 MSCAN测试实例测试实例本实例的功能是实现本实例的功能是实现MSCANMSCAN的闭环自测功能的闭环自测功能MainMain函数的代码如下:函数的代码如下:/-/-*/工工 程程 名名:CAN_self :CAN_self */硬件连接硬件连接:连接串口连接串口1 1,用于向,用于向PCPC发送接收到的发送接收到的CANCAN数据数据 */程序描述程序描述:CAN:CAN模块工作在闭环测试模式,接收采用中断方式模块工作在闭环测试模式,接收采用中断方式 */目目 的的:初步掌握初步掌握CANCAN通信的基本知识通信的基本知识 */说说 明明:CAN:CAN通信频率选择为通信频率选择为800k,800k,使用使用SCI1SCI1通信速率为通信速率为9600 9600 */-/-苏州大学飞思卡尔嵌入式系统研发中心苏州大学飞思卡尔嵌入式系统研发中心20112011年年-*void main(void)void main(void)uint8 count50ms=0;uint8 count50ms=0;CANMsg msgSend=/CAN CANMsg msgSend=/CAN测试报文测试报文 1,0,0,TestMsge,8,0 1,0,0,TestMsge,8,0 ;uint8 sciMsg14=Hello!World!;uint8 sciMsg14=Hello!World!;/1 /1 关总中断关总中断 DisableInterrupts();DisableInterrupts();/2 /2 模块初始化模块初始化 MCUInit();/2.1 MCUInit();/2.1 芯片初始化芯片初始化汽车车载网络技术及应用汽车车载网络技术及应用 SCIInit(1,SYSTEM_CLOCK,9600);/2.2 UARTSCIInit(1,SYSTEM_CLOCK,9600);/2.2 UART模块初始化模块初始化 CANInit();/2.3 CANCANInit();/2.3 CAN模块初始化模块初始化 /3/3 开放中断开放中断 EnableSCIReInt();/3.1EnableSCIReInt();/3.1开放开放SCISCI接收中断接收中断 EnableCANReInt();/3.2EnableCANReInt();/3.2开放开放CANCAN接收中断接收中断 EnableInterrupts();/3.3EnableInterrupts();/3.3开放总中断开放总中断 /4/4 主循环主循环 SCISendN(1,sizeof(sciMsg),sciMsg);/4.1SCISendN(1,sizeof(sciMsg),sciMsg);/4.1发送发送Hello!World!Hello!World!汽车车载网络技术及应用汽车车载网络技术及应用 while(1)while(1)Delay(1);Delay(1);count50ms+;count50ms+;/延时延时2s2s if(40=count50ms)if(40=count50ms)/4.1CAN /4.1CAN总线发送总线发送CANCAN数据数据 if(0=CANSendMsg(&msgSend)if(0=CANSendMsg(&msgSend)/4.2 /4.2发送不成功,发送不成功,SCISCI发送错误信息发送错误信息 SCISendN(1,strlen(sendErr),sendErr);SCISendN(1,strlen(sendErr),sendErr);count50ms=0;count50ms=0;汽车车载网络技术及应用汽车车载网络技术及应用对对CANCAN总线数据的接收是在总线数据的接收是在CANCAN中断中实现的,其代码如下:中断中实现的,其代码如下:/CAN/CAN接收中断函数接收中断函数interrupt void isrCAN_Recv(void)interrupt void isrCAN_Recv(void)DisableInterrupts();/DisableInterrupts();/禁止总中断禁止总中断 CANGetMsg(&g_msgGet);/CANCANGetMsg(&g_msgGet);/CAN总线接收数据总线接收数据 SCISendN(1,g_msgGet.dataLen,g_msgGet.data);/SCISCISendN(1,g_msgGet.dataLen,g_msgGet.data);/SCI发送接收的数据到发送接收的数据到PCPC上上 EnableInterrupts();/EnableInterrupts();/开放总中断开放总中断
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!