您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 现场总线技术 CH6A CANINI 辅助资料
现场总线技术第六章CH6A-辅助资料教材:现场总线CAN原理与应用技术作者:绕运涛、邹继军、郑勇荟中国矿业大学机电工程学院2012-09中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术2模式寄存器模式寄存器MOD,CAN地址0模式寄存器的内容是用来改变CAN控制器的行为,CPU把控制寄存器作为读/写寄存器,以设置这些位(保留位读出值为逻辑0)位符号名称值功能MOD.7~5---保留MOD.4SM睡眠模式(注1)1睡眠:没有CAN中断等待和总线活动时,CAN控制器进入睡眠模式0唤醒:从睡眠状态中唤醒MOD.3AFM验收滤波器模式(注2)1单:选择单个验收滤波器(32位长度)0双:选择两个验收滤波器(每个有16位长度)MOD.2STM自检模式(注2)1自检:此模式可以使用自接收请求命令在没有任何其它活动的节点参与时进行一个节点检测;即使没有接收后的应答,CAN控制器也会成功发送0正常:成功发送时必须发送应答信号MOD.1LOM只听模式(注2、3)1只听:这种模式中,即使成功接收报文,CAN控制器也不向总线发送应答信号;错误计数器停止在当前值0正常模式MOD.0RM复位模式(注4)1复位:检测到复位模式位被置位时,终止当前正在进行的接收/发送报文,进入复位模式0正常:复位模式位接收到'1-0'的跳变后,CAN控制器回到工作模式中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术3时钟分频寄存器时钟分频寄存器,CDR,CAN地址31注1:此位不能写,读出总是0CD.2-CD.0复位模式和工作模式中一样,CD.2-CD.0是可以无限制访问这些位是用来定义外部CLKOUT引脚上的输出时钟频率中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术4时钟分频寄存器(续1)ClockOFF,时钟关闭设置这一位可禁止SJA1000的外部CLKOUT引脚只有在复位模式中才可以写访问如果置位此位CLKOUT引脚在睡眠模式中是低而其它情况下是高RXINTEN此位允许TX1输出用来做专用接收中断输出当一条已接收的报文成功的通过验收滤波器时,一个位时间长度的接收中断脉冲就会在TX1引脚输出(帧的最后一位期间),极性和输出驱动可以通过输出控制寄存器编程编程复位模式中只能写访问CBP置位CDR.6可以中止CAN输入比较器(复位模式中),主要用于SJA1000外接发送接收电路时此时内部延时被减少这将会导致总线长度最大可能值的增加如果CBP被置位只有RX0被激活,未被使用的RX1输入应被连接到一个确定的电平例如VSSCAN模式定义CAN模式0---CAN控制器工作于BasicCAN模式1---CAN控制器工作于PeliCAN模式只有在复位模式中是可以写中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术5中断允许寄存器位符号名称值功能描述IER.7BEIE总线错误中断允许1如果检测到总线错误,则CAN控制器请求相应的中断0禁止IER.6ALIE仲裁丢失中断允许1如果CAN控制器已丢失了仲裁,则请求相应的中断0禁止IER.5EPIE错误认可中断允许1若CAN控制器的错误状态改变(从认可到激活或反之),则请求相应的中断0禁止IER.4WUIE唤醒中断允许;注11如果睡眠模式中的CAN控制器被唤醒,则请求相应的中断0禁止IER.3DOIE数据溢出中断允许1如果数据溢出状态位被置位(见状态寄存器;表14),CAN控制器请求相应的中断0禁止IER.2EIE出错报警中断允许1如果错误或总线状态改变(见状态寄存器;表14),CAN控制器请求相应的中断0禁止IER.1TIE发送中断允许1当报文被成功发送或发送缓冲器又可访问(例如,中止发送命令后)时,CAN控制器请求相应的中断0禁止IER.0RIE接收中断允许;注21当接收缓冲器状态是’满’时,CAN控制器请求相应的中断0禁止中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术6中断寄存器位符号名称值功能描述IR.7BEI总线错误中断1当CAN控制器检测到总线错误,且中断使能寄存器中的BEIE被置位时此位被置位0复位IR.6ALI仲裁丢失中断1当CAN控制器丢失仲裁,变为接收器和中断使能寄存器的ALIE被置位时,此位置位0复位IR.5EPI错误认可中断1当CAN控制器到达错误认可状态(至少一个错误计数器超过协议规定的值127)或从错误认可状态又进入错误激活状态以及中断寄存器的EPIE位被置位时此位被置10复位IR.4WUI唤醒中断;注11当CAN控制器在睡眠模式中检测到总线的活动且中断寄存器的WUIE位被置1时此位被置位0复位IR.3DOI数据溢出中断1数据溢出状态位有0-1跳变且中断寄存器的DOIE位被置位时此位被置10复位IR.2EI出错报警中断1错误状态位和总线状态位的改变和中断寄存器的EIE位被置位时此位被置10复位IR.1TI发送中断1发送缓冲器状态从’0-1’(释放)跳变且中断寄存器的TIE位被置位时此位被置10复位IR.0RI接收中断;注21接收FIFO不空且中断寄存器的RIE位被置位时此位被置10复位;RXFIFO中无可用报文中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术7扩展帧滤波扩展帧格式如果接收的报文是扩展帧格式报文,包括RTR位的全部标识码将被用于数据滤波为了成功接收报文每个位的比较后都必须发出接受信号ACRAMRID中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术8总线时序寄存器0总线时序寄存器0,BTR0,CAN地址6总线定时寄存器0定义波特率预制器BRP(BaudRatePrescaler)和同步跳转宽度SJW(SynchronizationJumpWidth)复位模式有效时,BTR0寄存器可读/写如果选择PeliCAN模式,此寄存器在工作模式中只读,在BasicCAN模式中读出值总是FFH波特率预置器域CAN系统时钟tSCL的周期可编程,而且决定了相应的位时序CAN系统时钟由如下公式计算tSCL=2tCLKX(32XBRP.5+16XBRP.4+8XBRP.3+4XBRP.2+2XBRP.1+BRP.0+1)tCLK:XTAL的振荡周期=1/fXTAL同步调转宽度位域为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关信号边沿重新同步同步跳转宽度tSJW定义了每一位的位周期再被重新同步时缩短或延长的时钟周期的最大数目tSJW=tSCL(2XSJW.1+SJW.0+1)BTR0=#03H,tSCL=8tCLKBit.7Bit.6Bit.5Bit.4Bit.3Bit.2Bit.1Bit.0SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术9总线定时寄存器1BTR1,CAN地址7定义每个位周期的长度、采样点位置和在每个采样点的采样数目在复位模式中,寄存器可以读/写访问在PeliCAN模式的工作模式中,这个寄存器只读,在BasicCAN模式中读出值总是FFHBit.7Bit.6Bit.5Bit.4Bit.3Bit.2Bit.1Bit.0SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0采样数目SAMSAM=0,单倍采样,每位采样1次。建议使用在高速总线上(SAEC级)SAM=1,三倍采样,每位采样3次。建议在中低速总线上使用(SAEA,B级),可以有效消除总线上的毛刺时间段1和时间段2TSEG1和TSEG2决定每一位的时钟周期数目和采样点的位置tSYNCSEG=1XtSCLtTSEG1=tSCLX(8XTSEG1.3+4XTSEG1.2+2XTSEG1.1+TSEG1.0+1)tTSEG2=tSCLX(4XTSEG2.2+2XTSEG2.1+TSEG2.1+1)BTR1=FF,三倍采样,每位周期=tTSEG2+tTSEG1=8*tSCL+16*tSCL=24*tSCL如果XTAL=24MHz,CAN总线的为速率=24/8/24=125K中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术10总线定时寄存器1(续)tSCL=4tCLKBRP=000001tSEG1=6tSCLTSEG1=0101tTSEG2=3tSCLTSEG2=010中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术11输出控制寄存器输出控制寄存器OCR,CAN地址8由软件控制不同输出驱动配置在复位模式中,寄存器可被读/写访问在PeliCAN模式的工作模式中,这个寄存器只读,在BasicCAN模式中读出值总是FFHBit.7Bit.6Bit.5Bit.4Bit.3Bit.2Bit.1Bit.0OCTP1OCTN1OCPOL1OCTP0OCTN0OCPOL0OCMODE1OCMODE0OCMODE1OCMODE0说明00双相输出模式01测试输出模式10正常输出模式11时钟输出模式中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术12RX缓冲器起始地址寄存器RBSA寄存器,CAN地址30反映接收缓冲器窗口中存放接收到的报文第一个字节的内部RAM地址内部RAM起始于CAN地址32,可以被CPU读/写访问(复位模式只能写)例子如果RBSA=24(十进制),当前在接收缓冲器窗口(CAN地址16~28)中的可视报文被存储在内部起始地址为24的RAM中因为RAM也被直接列入CAN地址空间(起始地址32等于RAM地址0),所以这条信息也可以用CAN地址56及随后字节地址访问CAN地址=RBSA+32=24+32=56如果信息超过RAM地址63会从地址0继续(RAM地址64开始是TX缓冲区空间)当FIFO中至少有一条可用报文时就将会执行释放接收缓冲器命令,释放接收缓冲器后RBSA更新为下一条报文的开始硬件复位时指针初始化为00H软件复位(设置为复位模式,MOD.0=1)时指针保持原值,但FIFO被清空虽然RAM的内容是不会改变,但下一条接收的或传送的信息将会覆盖当前在接收缓冲器窗口的可视信息RX缓冲器起始地址寄存器在工作模式中只读,在复位模式中是可读/写必须注意,写访问RBSA首次有效是在下一个内部时钟的上升沿PeliCAN寄存器中国矿业大学机电工程学院-张有忠©版权所有2004-10现场总线技术13TX错误计数寄存器TX错误计数寄存器,TXERR,CAN地址15TX错误计数寄存器反映了发送错误计数器的当前值工作模式中,只读;复位模式中,可写硬件复位后,寄存器被初始化为0如果总线关闭,TX错误计数器被初始化为127来计算总线定义的最小时间(128个总线空闲信号)。这段时间里读TX错误计数器将反映出总线关闭恢复的状态信息在总线关闭时,向TXERR写0-254范围的值会清除总线关闭标志在复位模式被清除后,控制器会等待一个11位的连续隐性位(总线空闲)软件复位(MOD.0=1)时,发送错误计数器的值不受影响向TXERR写入255会引起CPU驱动的总线关闭事件只有复位模式被取消,由该寄存器引起的错误或总线状态的改变、错误报警和错误中断才有可能发生结束复位模式后,如果有总线错误事件发生,新的TX计数器内容起作用,且总线关闭被同样的执行,这意味着重新进入复位模式TX错误计数器被初始化到127、RX计数器被清0、所有的相关状态和中断寄存器位被置1复位模式的清除将会执行协议规定的总线关闭恢复序列(等待128个总线空闲信号)如果在总线关闭恢复(TXERR0)之前又进入复位模式,总线关闭保持有效且TXERR被锁定BIT.7BIT.6BIT.5BIT.4BIT.3BIT.2BIT.1BIT.0TXERR.7TXERR.
本文标题:现场总线技术 CH6A CANINI 辅助资料
链接地址:https://www.777doc.com/doc-4074653 .html