




已阅读5页,还剩194页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SEEDTIC2000培训教材,第一部分:介绍,什么是数字信号处理器?,Microprocessor(P):一个多IC处理系统的核心器件2种基本的结构:VonNeumann“-冯.诺依曼Harvard“哈弗VonNeumann“:数据、代码共享内存空间数据、代码共享内存总线Example:Intelsx86PentiumProcessorfamilyHarvard“:数据、代码独立存储空间数据、代码独立存储总线,SOC-微控制器(C),用来实现实时控制的核以及输入输出接口都集成在片上确保在嵌入式应用中的高的性价比几乎能满足各类电子产品对运算能力和外设的要求2种P结构(VonNeumann和Harvard)广泛应用于Microcontrollers,DSP-数字信号处理器,类似于微处理器(p.),一个计算系统的核额外的用来加速复杂运算的外设:硬件乘法器(MPY)算术运算单元(ALU)多总线访问机制实现2n次乘法/加法运算的硬件移位寄存器,典型的DSP算法,乘加运算的实现-P,使用PC、通用的C代码编译器例如Visual.Studio.Net实现代码实例:#includeintdata4=1,2,3,4;intcoeff4=8,6,4,2;intmain(void)inti;intresult=0;for(i=0;i4;i+)result+=datai*coeffi;printf(%i,result);return0;,6个基本操作,CPU将要执行的操作?设置指针1指向data0设置指针2指向coeff0读datai到内核读coeffi到内核MPYdatai*coeffi做加法运算修改指针1修改指针2自增;如果i3,返回第三步重复执行3到8被称作“6BasicOperationsofaDSP”DSP能够单周期执行完这6个基本操作,P的执行过程-机器/汇编码,AddressM-CodeAssembly-Instruction10:for(i=0;i4;i+)00411960C745FC00000000movdwordptri,000411967EB09jmpmain+22h004119698B45FCmoveax,dwordptri0041196C83C001addeax,10041196F8945FCmovdwordptri,eax00411972837DFC04cmpdwordptri,4004119767D1Fjgemain+47h11:result+=datai*coeffi;004119788B45FCmoveax,dwordptri0041197B8B4DFCmovecx,dwordptri0041197E8B1485405B4200movedx,dwordptreax*4+425B40h004119850FAF148D505B4200imuledx,dwordptrecx*4+425B50h0041198D8B45F8moveax,dwordptrresult0041199003C2addeax,edx004119928945F8movdwordptrresult,eax00411995EBD2jmpmain+19h(411969h),乘加运算的实现-DSP,使用DSP硬件平台以及Ti的C编译器来实现代码实例:intdata4=1,2,3,4;intcoeff4=8,6,4,2;intmain(void)inti;intresult=0;for(i=0;i4;i+)result+=datai*coeffi;printf(%i,result);return0;,DSP的执行过程-机器/汇编码,AddressMCodeAssemblyInstruction0 x8000FF69SPM00 x80018D040000RMOVLXAR1,#data0 x800376C00000RMOVLXAR7,#coeff0 x80055633ZAPA0 x8006F601RPT#10 x8007564B8781|DMACACC:P,*XAR1+,*XAR7+0 x800910ACADDLACC,P4;,电源级别ADCRFDNADCBGNDADCPWDNADC加电111ADC掉电100ADC关闭000保留10 x保留01x,ADC的低功耗方式,1、给ADC模拟电路的其他部分家电前,给参考电路和带隙电路加电2、ADC完全加电后,需要等待20s,才能进行第一次抓换。3、ADC掉电,3位被同时清除。通过软件设置。,第五部分:F2812数字通信接口(SPI/SCI),SPI模块特点,4个外部引脚:SPISOMI/SPISIMO/SPISTESPICLK2种工作模式:主工作模式、从工作模式波特率:125种不同的可编程速率16级发送和接受FIFO4种时钟配置方法(由时钟极性和时钟相位控制)不带相位延迟的下降沿:SPI在SPICLK高有效,SPI在SPICLK下降沿发送数据,上升沿接受数据带有相位延迟的下降沿:SPICLD高有效,SPI在SPICLK的下降沿的前半周期发送数据,下降沿接受不带相位延迟的上升沿:SPICLK低有效,SPI在SPICLK的上升沿发送数据,下降沿接受数据带有相位延迟的上升沿:SPICLK低有效,SPI在SPICLK的下降沿的前半周期发送数据,下降沿接受数据,串行外围接口SPI的工作流程,SPIDevice#1-Master,SPIDevice#2-Slave,数据同步传输和接受SPI主设备提供时钟,shift,shift,clock,SPI功能框图,SPICLK,SPISOMI,SPISIMO,LSPCLK,baudrate,clockpolarity,clockphase,C28x-SPI主模式,LSB,MSB,SPI功能框图,SPICLK,SPISOMI,SPISIMO,clockphase,C28x-SPI从模式,MSB,LSB,SPI数据格式的调整,可编程数据长度116发送数据少于16位时需要左调整MSB先发送接受数据少于16位时需要右调整用户程序屏蔽MSB,11001001XXXXXXXX,XXXXXXXX11001001,SPIDAT-Processor#1,SPIDAT-Processor#2,SPI-A寄存器,AddressRegisterName0 x007040SPICCRSPI-A配置控制寄存器0 x007041SPICTLSPI-A工作控制寄存器0 x007042SPISTSSPI-A状态寄存器0 x007044SPIBRRSPI-A波特率寄存器0 x007046SPIEMUSPI-A仿真缓冲寄存器0 x007047SPIRXBUFSPI-A串行接受寄存器0 x007048SPITXBUFSPI-A串行发送寄存器0 x007049SPIDATSPI-A串行数据寄存器0 x00704ASPIFFTXSPI-AFIFO发送寄存器0 x00704BSPIFFRXSPI-AFIFO接受寄存器0 x00704CSPIFFCTSPI-AFIFO控制寄存器0 x00704FSPIPRISPI-A极性控制寄存器,SPI-A控制寄存器SPICCR0 x007040,0,1,2,7,6,5-4,reserved,SPICHAR.3-0,字长控制位e.g.0000blength=11111blength=16,SPISWRESET:在改变配置前清除刺位在重新操作开始前设置此位0=SPIflagsreset1=normaloperation,CLOCKPOLARITY0=上升沿输出/下降沿输入1=下降沿输入/上升沿输出,reserved,15-8,3,SPI-A工作控制寄存器SPICTL0 x007041,0,1,2,15-5,4,3,reserved,CLOCKPHASE0=noCLKdelay1=CLKdelayed1/2cycle,OVERRUNINTENABLE0=禁止接受溢出中断(SPISTS.7)1=使能接受溢出中断(SPISTS.7),MASTER/SLAVE0=slave1=master,TALK0=transmissiondisabled,outputpinhi-Zd1=transmissionenabled,SPIINTENABLE0=disabled1=enabled,SPI-A波特率寄存器SPIBRR0 x007044,15-7,6-0,reserved,SPIBITRATE,SPICLKsignal=,SPIBRR=3to127,SPIBRR=0,1,or2,SPI-A状态寄存器SPISTS0 x007042,7,6,4-0,SPIINTFLAG(readonly)传输完成置1如果SPIINTENA设置(SPICTL.0)则置位读SPIBRXUF清零,RECEIVEOVERRUNFLAG(read/clearonly)在SPIRXBUF被读取之前下一次接受完成则1如果OVERRUNINTENA被设置(SPICTL.4)则中断请求写1置0,reserved,reserved,15-8,TXBUFFULL(readonly)写SPITXBUF置位载入SPIDAT清零,5,SPI-AFIFO发送寄存器SPIFFTX0 x00704A,SPIRESET0=复位1=无影响,SPI-AFIFO接受寄存器SPIFFRX0 x00704B,F2812SPI模块功能总结,2种传输方式2线制度工作方式(半工)3线制工作方式(全双工)可编程MASTER/SLAVE工作在MASTER提供主时钟可编程数据位长度116bit125种可编程波特率长度,第五部分:F2812的串行通信接口(SCI),F2812SCI模块特点,2个外部引脚:SCITXD/SCIRXD2种工作模式:全双工、半双工波特率:可编程达到64K不同的速率双缓冲接受发送模式16级发送接受FIFO(发送8bit、接受16bit)自动波特率检测硬件逻辑2个唤醒多处理器模式空闲线地址位,F2812SCI通信模块,SCITXBUF,TXSHF,SCIDevice#1,SCIRXD,SCITXD,SCITXD,SCIRXD,SCIDevice#2,8,SCIRXBUF,RXSHF,8,SCITXBUF,TXSHF,8,SCIRXBUF,RXSHF,8,全双工,SCI-A可编程数据格式,Start,LSB,2,3,4,5,7,MSB,Parity,Stop1,Addr/Data,6,只在地址模式种有效,Stop2,NRZ(nonreturntozero)format,StartBit,LSBofData,多数表决,FallingEdgeDetected,SCIRXD,SCICLK(Internal),123456781234567812,Note:8SCICLK/每个数据位,多处理器唤醒方式,允许一个处理器在同一个串行线上有效的向其他处理器发送数据块2种模式:地址线空闲;地址位操作顺序设置SLEEP=1,当地址被检测的时候处理器才能被中断,软件清零所有的传输都是以地址帧开始接收到的地址帧临时唤醒所有BUS上的处理器处理器比较收到的SCI地址与本身的SCI地址(匹配)只有当地址匹配的时候处理器才开始接受数据,空闲线多处理器方式,帧内块的空闲块在SCIRXD变高10个位(或更多)之后,接收器在下降沿之后被唤醒2种发送快启动信号前一数据块的最后一帧的发送与下一数据块的地址帧的发送之间时间延长,能产生一段10bit或更长的空闲时间设置TXWAKE(SCICTL1.3)=1,产生11bit的空闲时间,LastData,ST,SP,ST,Data,SCIRXD/SCITXD,帧内块,SP,SP,LastData,ST,Addr,SP,=10;10的空闲周期,=10;10的空闲周期,地址帧跟随10bit或更多位空闲周期后,第一个数据帧,SP,ST,Addr,空闲周期10,地址位唤醒方式,所有帧都包含一个额外的地址位,判决地址/数据当地址位被检测到的时候唤醒只要在SCITXBUF写入地址前置位TXWAKE=1,自动设置帧内数据/地址的设定,LastData,ST,ST,Data,SCIRXD/SCITXD,BlockofFrames,SP,SP,LastData,ST,Addr,SP,空闲周期无特别限制,块中首个帧是地址位地址位=1,第一个数据帧,0,1,0,0,SP,在停止位前无额外的空闲位,SCI-A寄存器,AddressRegisterName0 x007050SCICCRSCI-A通信控制寄存器0 x007051SCICTL1SCI-A控制寄存器10 x007052SCIHBAUDSCI-A波特率寄存器,高位0 x007053SCILBAUDSCI-A波特率寄存器,低位0 x007054SCICTL2SCI-A控制寄存器20 x007055SCIRXSTSCI-A接受状态寄存器0 x007056SCIRXEMUSCI-A接受仿真数据寄存器0 x007057SCIRXBUFSCI-A接受数据寄存器0 x007059SCITXBUFSCI-A发送数据寄存器0 x00705ASCIFFTXSCI-AFIFO发送寄存器0 x00705BSCIFFRXSCI-AFIFO接受寄存器0 x00705CSCIFFCTSCI-AFIFO控制寄存器0 x00705FSCIPRISCI-A极性控制寄存器,SCI-A通信控制寄存器SCICCR0 x007050,ADDR/IDLEMODE,STOPBITS,EVEN/ODDPARITY,PARITYENABLE,LOOPBACKENABLE,SCICHAR2,SCICHAR1,SCICHAR0,0=1Stopbit1=2Stopbits,0=Odd1=Even,0=Disabled1=Enabled,0=Disabled1=Enabled,0=Idle-linemode1=Addr-bitmode,7,6,5,4,3,2,1,0,#ofdatabits=(binary+1)e.g.110bgives7databits,SCI-BCommunicationsControlRegister(SCICCR)0 x007750,SCI-A控制寄存器1SCICTL10 x007051,TXWAKE,reserved,RXERRINTENA,SWRESET,reserved,SLEEP,TXENA,RXENA,0=ReceiveErrorInterruptdisabled1=ReceiveErrorInterruptenabled,Write0=ResetSCIWrite1=releasefromReset,Transmitterwakeupmethodselect1=wakeupmodedependsonSCICCR.30=nowakeupmode,7,6,5,4,3,2,1,0,0=sleepmodedisabled1=sleepmodeenabled,0=transmitterdisabled1=transmitterenabled,0=receiverdisabled1=receiverenabled,SCI-A波特率寄存器,SCI-BBaud-SelectMSbyteRegister(SCIHBAUD)0 x007752SCI-BBaud-SelectLSbyteRegister(SCILBAUD)0 x007753,TXRDY,TXEMPTY,RX/BKINTENA,SCI-A控制寄存器2SCICTL20 x007054,0,TXINTENA,1,7,6,5-2,reserved,SCITXREADY0=SCITXBUFisfull1=SCITXBUFisempty,SCITXEMPTY0=TXBUForshiftregisterareloadedwithdata1=Transmitbufferandshiftregisterbothempty,reserved,15-8,SCI-BControlRegister2(SCICTL2)0 x007754,SCITXINTENA0=DisableTXRDYinterrupt1=EnableTXRDYinterrupt,SCIRX/BKINTENA0=DisableRXRDY/BRKDTinterrupt1=EnableRXRDY/BRKDTinterrupt,SCI-A接受状态寄存器SCIRXST0 x007055,SCI-BReceiverStatusRegister(SCIRXST)0 x007755,OE,RXERROR,RXRDY,BRKDT,FE,PE,RXWAKE,reserved,0=Noerrorflagsset1=Errorflag(s)set,0=nonewcharacterinSCIRXBUF1=newcharacterinSCIRXBUF,1=Breakconditionoccurred0=nobreakcondition,7,6,5,4,3,2,1,0,1=FramingErrordetected,1=OverrunErrordetected,1=ParityErrordetected,1=Receiverwakeupconditiondetected,SCI-AFIFO发送寄存器SCIFFTX0 x00705A,0,TXFFIL2,SCIFFENA,TXFFST0,TXFFST3,TXFFIENA,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,TXFFIL0,TXFFIL1,TXFFIL4,TXFFIL3,TXFFST1,TXFFINTCLR,TXFFST2,TXFFINT,TXFFST4,TXFIFORESET,SCIRST,SCIReset,0=reset1=enableoperation,SCI-AFIFO接受寄存器SCIFFRX0 x00705B,SCI-AFIFO控制寄存器SCIFFCT0 x00705C,0,ABDCLR,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,CDC,ABD,FFTXDLY,TimedelaybetweeneverytransferfromFIFOtotransmitshiftregisterinnumberofSCIbaudclockcycles(0to255),reserved,第五部分:F2812增强型区域网络控制器(CAN),CAN的特征,多主机总线访问带冲突避免的随机访问(CSMA)短帧结构,08个字节的数据长度传输速度从100KBPS到1MBPS远传输距离自动重发机制优化的EMC抗电子干扰干扰特性可靠的错误处理和检错机制,CAN的实现以及分类,CommunicationisidenticalforallimplementationsofCAN.However,therearetwoprincipalhardwareimplementationsandtwoadditionalversionsofdataformats:,BASIC-CAN、FULL-CAN,一个发送缓冲器2个接受缓冲器一个消息接受过滤器软件路由选择提供一个消息服务器扩展的消息接受过滤器可编程邮箱高级错误检测,CAN的数据格式,CAN-Version2.0A11位标识符CAN-Version2.0B29位表示符,CAN的数据帧,DATA-FrameCAN2.0A(11-bit-identifier),DATA-FrameCAN2.0B(29-bit-identifier),CAN数据帧结构,帧起始:标志数据帧和远程帧的起始,仅由一个“显性”位组成仲裁场:标准帧CAN2.0A:11标识符RTR位组成。识别符位由ID-28ID-18扩展帧CAN2.0B:29标识符,、SRR位、IDE位、RTR位。其识别符由ID-28.ID-0。控制场:标准格式:帧包括数据长度代码、IDE位(为显性位,见上文)、及保留位r0扩展格式:的帧包括数据长度代码和两个保留位:r1和r0。其保留位必须发送为显性,但是接收器认可“显性”和“隐性”位的组合。数据场:最大8个字节的消息;0字节数据也被允许CRC场:CRC冗余检查:包含一个由CRC多项式产生的校验和应答场:应答间隙(ACKSLOT)和应答界定符(ACKDELIMITER)。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACKSLOT)期间(发送ACK信号)向发送器发送一“显性”位以示应答。帧结尾:包含应答,错误信息,消息结束,CAN帧格式,开始位(1bit):只在总线空闲时才允许站开始发送(信号)。所有的站必须同步于首先开始发送信息的站的帧起始前沿标识符标识消息名称和优先级;数值越低优先级越高。11bit(ID28-ID18);18bit(ID17-ID0)+11bitRTR(1bit):远程请求发送;ifRTR=1(隐性)帧内无有效数据请求接收端发送数据(数据帧显性,远程帧隐性)IDE(1bit):扩展标识符;ifIDE=1,扩展帧r0(1bit):保留CDL(4bit):数据长度编码08data(0.8byte):数据场CRC(15bit):冗余校验;只检测错误无校正;海明距离6ACK(2bit):应答;每个接收到无错信息的接受者(CRC!)必须先在应答间隔(ACKSLOT)传输一个应答位EOF(7bit=1,隐性):帧结束;5个隐位之后自动一个填充位IFS(3bit=1隐性):帧间空间;用于把数据帧或远程帧与当前帧分离SRR(1bit=隐性):替代远程帧;它在扩展格式的标准帧RTR位位置,因此代替标准帧的RTRr1(1bit):保留,远程帧错误帧过载帧,远程帧:帧起始、仲裁场、控制场、CRC场、应答场、帧结尾RTR隐性没有数据场,数据长度代码的数值是不受制约(0-8任何值)错误帧2个不同的场组成:不同站提供的错误标志(ERRORFLAG)和错误界定符2类错误标志:主动错误标志(6个连续显性)和被动错误标志(6个连续隐性)过载帧2个位场:过载标志和过载界定符3个条件:接收器的内部情况(此接收器对于下一数据帧或远程帧需要有一延时)在间歇的第一和第二字节检测到一个“显性”位。如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个显性位,节点会发送一个过载帧(不是错误帧)。错误计数器不会增加。,CAN数据帧控制场A-B,DLC数据长度编码,CAN的标准,CAN是开放式的系统CAN标准来至于ISO-OSI开放互联系统的7层在汽车通信网络中实现了1、2和7层(对象层、传输层、物理层)物理层没有被标准化TheISO-Standards:CAN:ISO11519-2:layer2,layer1(top)CAN:ISO11898:layer1(bottom)VAN:ISO11519-3:layer2,layer1J1850:ISO11519-4:layer2,layer1,ISO-OSI开放互联协议,OpenSystemsInterconnection(OSI):,Layer1:物理层规定通讯介质的物理特性。如:电气特性和信号交换的解释Layer2:数据链路层消息格式以及传输链路CSMA/CA访问协议Layer7:应用层用户、软件、网络终端,CAN节点的层结构,数据链路层逻辑链路控制子层(LLC)为远程数据请求以及数据传输提供服务。确定由实际要使用的LLC子层接收哪一个报文。为恢复管理和过载通知提供手段。媒体访问控制子层(MAC)控制帧结构、执行仲裁、错误检测、出错标定、故障界定总线上什么时候开始发送新报文及什么时候开始接收报文位定时物理层不同节点之间根据所有的电气属性进行位的实际传输。同一网络的物理层对于所有的节点当然是相同的。,总线访问程序,The“Ethernet”:CSMA/CD,CSMA/CD:CarrierSenseMultipleAccesswithCollisionDetection,Note:ThisProcedureisNOTusedforCAN!Why?,CANBUSCSMA/CD,CSMA/CA=带冲突避免的载波侦听多路访问,如果有冲突则赢者占用总线高优先级的消息不延时越低的标识符优先级越高发送监控电平一致优先级高,不一致退出非破坏性的位判断控制访问,CSMA/CA(cont.),CSMA/CA=如果在仲裁长有冲突则低优先级取消发送高优先级的节点可以继续发送数据同时多个节点发送“线与”仲裁,CAN物理层,CAN-High-Speed(ISO11898):,CAN高速节点,DSPwithon-chipCANmodule,CANTransceiver,CANBUS,Txd,Rxd,CAN_L,CAN_H,SN65HVD23X,CAN错误检测,Bit-Error所发送的位值与所监视的位值不相符合(仲裁和应答间隙除外)Bit-Stuff-Error如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测到一个填充错误。(结束帧除外)CRC-Error接收到的CRC校验和不匹配Form-Error当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错误)Acknowledgement-Error在应答间隙发送器没有收到显性位:消息没有被任何节点节接受,CAN错误处理,在一个节点检测到一个错误之后,所有其他的站由此检测到错误条件并与此同时开始发送错误标志。因此,“显性”位的序列导致一个结果,这个结果就是把个别站发送的不同的错误标志叠加在一起。这个序列的总长度最小为6个位,最大为12个位。,错误检测检测到错误条件的节点都发送错误帧最后收到的消息将被所有节点丢弃错误计数器加1原始的报文重新发送,错误管理:,CAN错误状态,*目的:为了避免错误引起的长期干扰,需要关闭错误的节点*错误的三个状态:,主动错误:“错误主动”的单元可以正常地参与总线通讯并在错误被检测到时发出主动错误标志。被动错误:“错误被动”的单元不允许发送主动错误标志。“错误被动”的单元参与总线通讯,在错误被检测到总线关闭:这个节点独立于CAN,发送和接受都被禁止,节点不能够发送错误帧,只能通过reset才能脱离总线关闭状态,CAN错误计算器,2个错误状态计数器:接受错误计算器(REC)发送错误计数器(TEC)Possiblesituations:a)发送位发送一错误标志:TEC:=TEC+8b)接收器检测到一个错误:REC:=REC+1c)在发送一个错误标志之后接受器接受到一个错误:REC:=REC+8d)再发送一个错误帧期间节点检测一个错误:TEC:=TEC+1e)成功发送:TEC:=TEC-1f)接受成功:REC:=REC-1,State-Diagram:,F281XCAN特征,完全兼容CAN2.0B支持高达1Mbps的传输速率32个可编程邮箱可配置为发送和接受可用标准或者扩展的标识符配置可编程的接受顾虑屏蔽支持数据帧和远程帧支持08字节的数据在接受和发送的消息种使用一个32位的时间标志使用具有2个中断级别的可编程中断方案对发送和接受的超时现象使用一种可编程的中断操作总线活动的可编程唤醒自测试模式,F281XCAN中断模块,32,32,32,32,数据,地址,eCAN0INT,eCAN1INT,F281X存储区映射,数据空间,CAN,0 x006000,0 x000000,0 x3FFFFF,0 x0061FF,6080,6040,61FF,控制/状态寄存器,消息对象时戳32*32,邮箱0,邮箱1,邮箱31,局部接受掩码32*32,消息对象超时32*32,60C0,6108,6100,16BYTE*32=512,消息对象(邮箱)结构,消息标识符29bit用于扩展标识符11bit用于标准标识符标识符扩展位,IDE(MSGID.31)接受屏蔽使能位,AME(MSGID.30)自动应答模式位,AAM(MSGID.29)发送优先级,TPL(MSGCTRL.12-8)远端发送请求位,RTR(MSGCTRL.4)数据长度代码,DLC(MSGCTRL.3-0)最多8个字节的数据区,CAN控制/状态寄存器,6000,6002,6004,6006,6008,600A,600C,600E,6010,6012,6014,6016,6018,601A,601C,6020,6022,6024,6026,6028,602A,602C,602E,6030,6032,601E,31,0,31,0,6034,6036,6038,603A,603C,603E,CAN邮箱使能寄存器(CANME)0 x006000,15,16,31,CANME15:0,CANME31:16,0,0=邮箱RAM被禁止,可以被CPU作为普通RAM使用1=邮箱被使能。对任何标识符区域写操作前,邮箱必须被禁止,CAN邮箱指向寄存器(CANMD)0 x006002,15,16,31,CANMD15:0,CANMD31:16,0,0=对应的邮箱被定义成发送邮箱1=对应的邮箱被定义成接受邮箱,CAN发送请求置位寄存器(CANTRS)0 x006004,15,16,31,CANTRS15:0,CANTRS31:16,0,当邮箱准备发送时,CPU设置TRS.n位为1开始发送0=无操作。注意:在发送成功后,该位将被CAN模块清零1=置位该位发送对应邮箱的消息。可以同时置位多个bit以同时发送多个消息用户软件置位或者在远程发送请求种由CAN模块置位,CAN发送请求复位寄存器(CANTRR)0 x006006,15,16,31,CANTRR15:0,CANTRR31:16,0,当消息发送成功或失败时被置位。只能通过CPU或者内部逻辑来置位0=无操作。1=取消一次发送请求(如果当前消息没有被处理率),CAN发送相应寄存器(CANTA)0 x006008,15,16,31,CANTA15:0,CANTA31:16,0,发送成功则置位0=消息没有被发送1=如果信箱N中的消息被发送成功,则该基础拿起的比特为N被置位注意:软件写1复位TA,CAN失败相应寄存器(CANAA)0 x00600A,15,16,31,CANAA15:0,CANAA31:16,0,如果邮箱N中的消息发送失败,则AA.n位和AAIF(GIF.14)置位,同时也产生中断0=发送没有失败1=邮箱N的发送失败注意:通过软件写1编程复位一个AA位,CAN消息接受未决寄存器(CANRMP)0 x00600C,15,16,31,CANRMP15:0,CANRMP31:16,0,如果邮箱N中有消息,则由CPU或内部逻辑置位0=邮箱没有消息1=邮箱有一个有效消息Note:软件写1复位ARMP,CAN接受消息丢失寄存器(CANRML)0 x00600E,15,16,31,CANRML15:0,CANRML31:16,0,如果邮箱N种原有的消息被复位则置位0=无消息被覆盖1=一个旧的消息被新消息覆盖Note:软件写1复位ARML,CAN远程帧未决寄存器(CANRFP)0 x006010,15,16,31,CANRFP15:0,CANRFP31:16,0,CAN接收到远程帧就置位(如果一个远程帧已经被存储在一个邮箱中则不置位)0=没有接受到远程帧1=接受到一个远程帧Note:想对应的TRR位写1来复位RFP位,CAN全局接受屏蔽寄存器(CANGAM)0 x006012,15,16,31,CANGAM15:0,CANGAM28:16,0,接收屏蔽标识符扩展位(AMI)0=消息邮箱的标识符扩展位决定那个消息被接受,接受邮箱的IDE决定比较的比特位的数目,此时不用过滤器1=可以接受标准和扩展帧.如果是扩展帧,标识符的29个比特位都要存储到邮箱中,并且全局接受屏蔽寄存器的所有29位都被用于过滤。如果是标准帧,则只使用标识符的首个11位(28-18)和全局接受屏蔽。Note:接受邮箱的IDE位值为1,并且会被所发送消息覆盖,AMI,reserved,30-29,28,Note:全局接受屏蔽用于SCC模式。如果相应的邮箱的AME(MID.30)被置位,则全局接受屏蔽用于6-15号邮箱。接收到的消息只存储到第一个具有匹配标识符的邮箱中,全局接受屏蔽寄存位(GAM):允许屏蔽输入消息的任何标识符位0=所接受的消息标识位必须与MID寄存器相对应位匹配1=所接受的消息标识符dontcareNote:ToresetaRFPbitbysoftware:writea1intothecorrespondingTRRbit!,CAN主控制寄存器(CANMC)0 x006014,15,16,31,reserved,0,MBCC,MBNR,邮箱时间标志寄存器清除(MBCC):SCC模式中该位保留并且收EALLOW保护0=nooperation1=16号邮箱成功发送或接受后,时间标志计数器复位,ABO,CDR,WUBA,DBO,PDR,CCR,SCB,TCC,SRES,STM,4,14,13,12,11,10,9,8,7,6,5,时间戳计数器MSB复位(TCC):SCC模式中该位保留并且收EALLOW保护0=nooperation1=timestampcounterMSBisresetto0,SCCCompatibilitybit(SCB):SCC模式中该位保留并且收EALLOW保护0=SCCmode1=highendCAN(HECC)mode,ChangeConfigurationRequest(CCR):EALLOW保护0=软件请求通常操作1=软件请求写SCC配置寄存器-CANBTC,接受屏蔽寄存器-CANGAM,LAM0LAM3进行写操作。置位后,对CANBTC处理之前CPU需等待直到CANES的CCE标志为1,CANMasterControlRegister(CANMC)0 x006014,邮箱中的数据字节顺序:EALLOW保护MDH31:0andMDL31:00=MDH31:0:Byte4,5,6,7;MDL31:0:Byte0,1,2,31=MDH31:0:Byte7,6,5,4;MDL31:0:Byte3,2,1,0,总线唤醒位(WUBA):EALLOW保护0=对PDR写入0模块离开功率下降模式1=检测到任何总线活动都离开下降模式,改变数据区域请求位(CDR)0=CPU请求普通操作1=CPU对由MBNR.4-0(MC.4-0)确定的邮箱的数据区写NOTE:访问邮箱之后软件清零.,自动开启总线(ABO):EALLOW保护0=无反应,总线永远关闭1=“总线关闭后,接收到128*11个隐性位之后模块自动返回到开启状态,自测试模式(STM):EALLOW保护0=正常模式1=模块自己产生应答信号,SoftwareReset(SRES)0=noeffect1=CANModulereset,邮箱号(MBNR)1=MBNR.4只用于ECAN模式,对SCC保留0=CPU请求对其数据区写操作,功率下降模式请求位(PDR):EALLOW保护0=normaloperation1=powerdownmodeisrequested.NOTE:从低功耗模式唤醒后,此位自动由eCAN模块清零,CAN位时配置,CAN协议规范把名义上的(位时间)分割成4个不同的时间段:SYNC_SEG用来同步总线上不同的节点长度:1个时间量(TQ)PROP_SEG补偿网络内的物理延迟时间总线上信号传播时间,输入比较器延迟和输出比较器延迟之和的2倍可编程1-8个TQPHASE_SEG1补偿上升沿相位偏移可编程1-8个TQPHASE_SEG2补偿下降沿相位偏移可编程2-8个TQ,CAN位时配置,tseg1:PROP_SEG+PHASE_SEG1tseg2:PHASE_SEG2TQ:SYNCSEGCAN标称位时=TQ+tseg1+tseg2,CAN位时配置,当决定个比特位段时要遵守CAN位定时规则:tseg1tseg23/BRPtseg116TQ3/BRPtseg28TQ1TQsjwMIN4*TQ,tseg2BRP5(ifthreesamplemodeisused),CAN位定时寄存器(CANBTC)0 x006016,波特率预定标(BRP)时间量定义(TQ):,Note:withanexternalclockof30MHzandaPLL*5:SYSCLK=150MHz,同步跳跃宽度(SJW),TimeSegment1(tseg1),TimeSegment2(tseg2),采样数SAM)0=采样点采样一次1=3个采样值多数判决,CAN位定时寄存器(CANBTC)0 x006016,CAN位时间示例,SYSCLK=150MHz位时间的80%采样:Example50KBPS:TQ=(199+1)/150MHz=1.334nstseg1=1.334ns(10+1)=14.674nstCAN=20.010nstseg2=1.334ns(2+1)=4.002ns,CAN错误与状态寄存器(CANES)0 x006018,警告状态(EW)0=valuesofbotherrorcountersarelessthan961=oneerrorcounterhasreached96,被动错误(EP)0=CANisinErrorActiveMode1=CANisinErrorPassiveMode,总线关闭(BO)0=normaloperation1=CANTEC计数到256.CAN模块关闭总线。配置ABO和128*11bit后退出总线关闭状态,填充位错误(SE)0=normaloperation1=astuffbiterrorhasoccurred.,应答错误(ACKE)0=normaloperation1=CANmodulehasnotreceivedanACK.,CRC错误(CRCE)0=normaloperation1=awrongCRCwasreceived.,隐性错误(SA1)0=检测到一个隐性位1=没有检测到一个隐性位,位错误(BE)0=没有检测到比特位错误1=接受的比特位与在仲裁区外或发送仲裁区时发送的不匹配(发送一个显性,接受一个隐性),格式错误(FE)0=没有检测到格式错误1=检测到错误,意味着一个或多个固定格式的比特位区域出现电平错误,发送模式(TM)0=CANprotocolkernelisnottransmittingamessage.1=CANprotocolkernelistransmittingamessage.,接受模式(RM)0=CANprotocolkernelisnotreceivingamessage.1=CANprotocolkernelisreceivingamessage.,功率下降确认(PDA)0=normaloperation1=CANmodule
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身音乐节行业深度调研及发展项目商业计划书
- 光伏一体化建筑智能照明行业跨境出海项目商业计划书
- 秘密花园露营基地行业跨境出海项目商业计划书
- 食品安全与营养评估行业跨境出海项目商业计划书
- 餐饮配送线上推广行业跨境出海项目商业计划书
- 国庆假期派对活动方案
- 国庆服装活动方案
- 团校培训活动方案
- 品牌样品抽奖活动方案
- 国民体质监测活动方案
- 完整版高中古诗文必背72篇【原文+注音+翻译】
- 反分裂反渗透教育主题班会
- 2024年甘肃省普通高校招生本科批(C段)历史类投档最低分数线
- 2024年福州第十一中学招聘笔试真题
- 【泉州:寒街孤影寻暖意 一抹亮色映霜花】中原地产2024年泉州楼市分析报告正式版
- 小学生反分裂课件
- 外科病房医院感染防控工作职责
- DB34∕T 3262.2-2018 普通公路养护预算 第二部分:定额
- 2025年省定远县第三批“曲阳雁归”工程公开招录50名村(社区)干部高频重点提升(共500题)附带答案详解
- 旅游学概论(李天元)课件
- 大数据技术原理与应用-林子雨版-课后习题答案(文档).文档
评论
0/150
提交评论