您好,欢迎访问三七文档
MC9S08DZ60系列,第3版飞思卡尔半导体公司207第12章飞思卡尔控制器局域网(S08MSCANV1)12.1介绍飞思卡尔控制器局域网(MSCAN)是一种通信控制器,它按照1991年9月定义的Bosch规范执行CAN2.0A/B协议。为了全面了解MSCAN规范,我们建议首先阅读Bosch规范,熟悉本文档包含的一些条款和概念。尽管CAN协议并非是汽车应用的专用协议,但它旨在满足车辆串行数据总线的特定规范,如实时处理、车辆在EMI环境中的可靠运行、成本高效性和所需带宽等。MSCAN使用先进的缓冲器安排,实现了可预测的实时性,并简化了应用软件。MSCAN模块应用在MC9S08DZ60系列的所有器件上。第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版208飞思卡尔半导体公司模拟比较器(ACMP1)ACMP1OACMP1-ACMP1+VSSVDDIIC模块(IIC)串行外围设备接口模块(SPI)用户闪存用户RAMMC9S0DZ60=60KHCS08CORECPUBDC6通定时器/PWM模块(TPM1)HCS08系统控制复位和中断运行模式电源管理稳压器COPIRQLVD振荡器(XOSC)多功能时钟管理器RESETVREFLVREFH数模转换器(ADC)MC9S0DZ60=4K24通道,12位BKGD/MS接口(SCI1)串行通信SDASCLMISOSSSPSCKTxD1RxD1XTALEXTAL8(MCG)2通道定时器/PWM模块(TPM2)实时计数器(RTC)调试模块(DBG)IRQPTA3/PIA3/ADP3/ACMP1OPTA4/PIA4/ADP4PTA5/PIA5/ADP5PTA2/PIA2/ADP2/ACMP1-PTA1/PIA1/ADP1/ACMP1+PTA0/PIA0/ADP0/MCLKPORTAPTA6/PIA6/ADP6PTA7/PIA7/ADP7/IRQMOSIPTB3/PIB3/ADP11PTB4/PIB4/ADP12PTB5/PIB5/ADP13PTB2/PIB2/ADP10PTB1/PIB1/ADP9PTB0/PIB0/ADP8PORTBPTB6/PIB6/ADP14PTB7/PIB7/ADP15PTC3/ADP19PTC4/ADP20PTC5/ADP21PTC2/ADP18PTC1/ADP17PTC0/ADP16PORTCPTC6/ADP22PTC7/ADP23PTD3/PID3/TPM1CH1PTD4/PID4/TPM1CH2PTD5/PID5/TPM1CH3PTD2/PID2/TPM1CH0PTD1/PID1/TPM2CH1PTD0/PID0/TPM2CH0PORTDPTD6/PID6/TPM1CH4PTD7/PID7/TPM1CH5PTE3/SPSCKPTE4/SCL/MOSIPTE5/SDA/MISOPTE2/SSPTE1/RxD1PTE0/TxD1PORTEPTE6/TxD2/TXCANPTE7/RxD2/RXCANPTF3/TPM2CLK/SDAPTF4/ACMP2+PTF5/ACMP2-PTF2/TPM1CLK/SCLPTF1/RxD2PTF0/TxD2PORTFPTF6/ACMP2OPTF7PTG1/XTALPTG2PTG3PORTGPTG4PTG5PTG0/EXTALVSSVDDVSSAVDDABKPINT模拟比较器(ACMP2)ACMP2OACMP2-ACMP2+接口(SCI2)串行通信TxD2RxD2网络(MSCAN)控制器区域TxCANRxCAN用户EEPROMMC9S0DZ60=2KADP7-ADP0ADP15-ADP8ADP23-ADP166TPM1CH5-TPM2CH1,TPM2CH0TPM2CLKTPM1CLKTPM1CH0-48管脚和32管脚封装内管脚不连接-32管脚封装内管脚连接-48管脚和32管脚封装中,VREFH/VREFL和VDDA/VSSA内部连接。-VDD和VSS管脚是通过内部方式和32封装的2个管脚连接。MC9S0DZ48=48KMC9S0DZ32=32KMC9S0DZ16=16K图12-1.MC9S08DZ60结构图第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版飞思卡尔半导体公司20912.1.1特性MSCAN的基本特性如下:•实施CAN协议—2.0A/B版—标准和扩展数据帧—0-8字节数据长度—高达1Mbps1的可编程比特率1—支持远程帧•5个具有FIFO存储机制的接收缓冲器•3个具有使用“本地优先”概念的内部优先顺序的发送缓冲器t•灵活可掩码标识符滤波器支持2个全尺寸(32位)扩展标识符滤波器或4个16位滤波器或8个8位滤波器•集成低通滤波器的可编程唤醒功能r•可编程环回模式支持自测操作•可编程监听模式用于CAN总线监控•可编程总线脱离恢复功能•独立的信号和中断功能适用于所有CAN接收器和发射器错误状态(警报、错误严重状态、总线脱离)•可编程MSCAN时钟源,采用总线时钟或振荡器时钟•内部计时器提供给接收和发送的报文的时间标签•三种低功耗模式:睡眠、关机和MSCAN使能•配置寄存器的全局初始化12.1.2运行模式以下运行模式是MSCAN的特定运行模式。详情12.5,“功能描述”。•监听模式•MSCAN睡眠模式•MSCAN初始化模式•MSCAN关机模式•环回自测模式1.DependingontheactualbittimingandtheclockjitterofthePLL.第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版210飞思卡尔半导体公司12.1.3结构图图12-2.MSCAN结构图12.2外部信号描述MSCAN使用两个外部管脚:12.2.1RXCAN—CAN接收器输入管脚ÝRXCAN是MSCAN接收器输入管脚。12.2.2TXCAN—CANT发射器输出管脚TXCAN是MSCAN发送器输出管脚。TXCAN输出管脚代表CAN总线上的逻辑层:0=显性状态1=隐性状态12.2.3CAN系统图12-3.显示了一个具有MSCAN的典型CAN系统.每个CAN节点通过收发器物理连接到CAN总线线路.e.收发器能够驱动CAN总线所需的大电流,并具有对故障CAN或故障节点的电流保护。RXCANTXCAN接收/发送引擎报文过滤和缓冲控制和状态唤醒中断请求错误中断请求接收中断请求发送中断请求CANCLK总线时钟配置振荡器时钟MUXPresc.TqClkMSCAN唤醒寄存器低通滤波器第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版飞思卡尔半导体公司211图12-3.CAN系统12.3寄存器定义本节详细描述MSCAN模块中的所有寄存器和寄存器位。每个描述都包括带有相关图形编号的标准寄存器示意图。寄存器位和字段功能的详细说明在寄存器图后面,按位顺序。该模块中所有寄存器的所有位在寄存器读取过程中都与内部时钟完全同步。12.3.1MSCAN控制寄存器0(CANCTL0)TheCANCTL0寄存器提供了如下所述的MSCAN模块的各种位控制。.注意当初始化模式处于有效(INITRQ=1andINITAK=1).时,除WUPE、INITRQ和SLPRQ外的所有CANCTL0寄存器位都处于复位状态。只要退出初始化模式(INITRQ=0,INITAK=0),该寄存器可以再次写入。读取:任何时间写入:退出初始化模式的任何时间;例外是只读RXACT、SYNCH、RXFRM(只由该模块设置)和INITRQ(也可以在初始化模式中写入)。.76543210RRXFRMRXACTCSWAISYNCHTIMEWUPESLPRQINITRQW复位:00000001=Unimplemented图12-4.控制寄存器0(CANCTL0)CAN总线CAN控制器(MSCAN)收发器CAN节点1CAN节点2CAN节点nCAN_LCAN_HMCUTXCANRXCAN第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版212飞思卡尔半导体公司表12-1.CANCTL0寄存器字段描述字段描述7RXFRM1已收到帧标记—该位是只读和只清除位。当接收器正确收到有效报文(独立于滤波器配置)时,设置该位。设置后,该位一直保持设置,直到通过软件或复位将其清除。清除通过写入1完成。写0被忽略。该位在环回模式中无效。0自上次清除该标记以来未收到有效报文1自上次清除该标记以来收到有效报文6RXACT接收器使能状态—该只读标记表示MSCAN正在接收报文。该标记由接收器前端控制。该位在环回模式中无效。0MSCAN正在发送或空闲21MSCAN正在接收报文(包括仲裁丢失时)25CSWAI2在等待模式中CAN停止—设置此位,可以在等待模式中通过禁止MSCAN模块与CPU总线接口的所有时钟而降低功耗。0在等待模式中,CAN模块不受影œÏ1等待模式中,CAN模块停止计时4SYNCH同步状态—该只读标记显示MSCAN是否与CAN总线同步,是否能够参与通信流程。其设置和清除通过MSCAN进行。0MSCAN与CAN总线不同步1MSCAN与CAN总线同步s3TIME计时器使能—该位使能内部16位字宽自由运行计时器,由位时钟速率计时。如果计时器被使能,16位时间标签将分配给有效TX/RX缓冲器内的每条发送/接收报文。一旦报文在CAN总线上确认,时间标签将被写入适当缓冲器(参见12.4,“报文存储模式”)的昀高字节(0x000E,0x000F)。禁止时,内部计时器复位(所有位都设置为0)。该位在初始化模式中保持低。0禁止内部MSCAN计时器r1使能内部MSCAN计时器r2WUPE3唤醒使能—当检测到CAN上有流量时(参见12.5.5.4,“MSCAN睡眠模式”),该配置位能够让MSCAN从睡眠模式中重启。为了让所选功能发挥作用,在该位进入睡眠模式前必须进行配置。0唤醒禁止—MSCAN忽略CAN上的流量1唤醒使能—MSCAN能够重启第12章飞思卡尔控制器局域网(S08MSCANV1)MC9S08DZ60系列,第3版飞思卡尔半导体公司2131SLPRQ4睡眠模式请求—该位请求MSCAN进入睡眠模式,这是一个内部节电模式(参见12.5.5.4,“MSCAN睡眠模式”)。当CAN总线空闲时,也就是说该模块不接收任何报文且所有发送缓冲器空,睡眠模式请求被受理。通过设置SLPAK=1(参见12.3.2,“控制寄存器1(CANCTL1)”),表示该模块进入睡眠模式。当设置了WUPIF标记时(参见12.3.4.1,“MSCAN接收器标志寄存器(CANRFLG)”),不能设置SLPRQ。睡眠模式维持有效,直到SLPRQ被CPU清除或者根据WUPE的设置,MSCAN检测到CAN总线上有有效并自行清除。0运行中—MSCAN正常工作1睡眠模式请求—当CAN总线空闲时MSCAN进入睡眠模式0INITRQ5,6INITRQ6、7初始化模式请求—当CPU设置该位时,MSCAN切换至初始化模式(参见12.5.5.5,“MSCANI初始化模式”)。任何正在进行的发送或接收都将被中止,与CAN总线的同步也丢失。通过设置INITAK=1(见12.3.2小节“MSCAN控制寄存器1(CANCTL1)”),表示该模块进入初始化模式。以下寄存器进入其硬复位状态并恢复它们的默认值:CANCTL08、CANRFLG9、CANRIER10、CANTFLG、CANTIER、CANTARQ、CANTAAK和CANTBSEL。µ盡SCAN处于初始化模式(INITRQ=1,INITAK=1)时,寄存器CANCTL1、CANBTR0、CANBTR1、CANIDAC、CANIDAR0-7和CANIDMR0-7只能通过CPU写入。错误计数器的值不受初始化模式的影响。当该位通过CPU清除时,MSCAN重启,然后试图与CAN总线同步。如果MSCAN未处于总线脱离状态,它在CAN总线上出现11个连续隐性位后同步。如果MSCAN处于总线
本文标题:飞思卡尔CAN介绍
链接地址:https://www.777doc.com/doc-4277047 .html