版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 串行通信接口本章内容:本章内容:7.1 SCI7.1 SCI模块概述模块概述7.2 SCI7.2 SCI模块的结构模块的结构7.3 SCI7.3 SCI的寄存器的寄存器7.4 SCI7.4 SCI应用实例应用实例7.5 7.5 串行外设接口串行外设接口SPISPI7.6 7.6 增强型增强型CANCAN总线总线eCANeCAN7.7 7.7 多通道缓冲串行口多通道缓冲串行口McBSPMcBSP 28x DSP的通信接口包括异步串行通信接口的通信接口包括异步串行通信接口(SCI)、串行外设接口串行外设接口(SPI)、控制器局域网络、控制器局域网络(CAN)接口、多通接口、多通道缓冲串口道
2、缓冲串口(McBSP)、芯片间总线、芯片间总线(I2C)接口等。接口等。11/16/202117.1 SCI模块概述模块概述 28x DSP的的SCI(Serial Communication Interface) 串行通信接口模块是一个标准的异步串串行通信接口模块是一个标准的异步串行口行口(UART)。可以和。可以和RS232/485设备接口。设备接口。 可以半双工或全双工操作。可以半双工或全双工操作。 可以通过波特率选择寄存器可以通过波特率选择寄存器设置波特率设置波特率。 数据格式:数据格式:一个起始位、一个起始位、18位数据位、可选位数据位、可选择奇择奇/偶偶/无校验位、一个或两个停止位
3、。无校验位、一个或两个停止位。11/16/20212SCI-UART (2 modules aboard)lTwo wake up multiprocessor modes idle-line and address bitlHalf or full duplex operationl16-level transmit / receive FIFO bufferlAuto-baud-detect Hardware LogicSCITXDSCIRXDSystemControl BlockSCIAENCLKPeripheral BusSCITXINTSCIRXINTSCIRegistersLow
4、SpeedPrescalerLSPCLKCPUSYSCLKOUTInterrupt Handling ModuleGPIOMUXSCI/CPU InterfaceCommunication PeripheralsCommunication Peripherals SCI (UART)11/16/20213SCI模块与模块与CPU接口框图接口框图11/16/20214SCI模块的模块的结构框图结构框图7.2 SCI7.2 SCI模块的结构模块的结构11/16/20215串行通信接口串行通信接口SCI的结构:的结构:发送器发送器(TX)及其寄存器及其寄存器 接收器接收器(RX)及其寄存器及其寄存器
5、 可编程波特率发生器可编程波特率发生器 控制和状态寄存器控制和状态寄存器 1. 串行通信接口的信号串行通信接口的信号11/16/202162. 多处理器和异步通信模式多处理器和异步通信模式3. 串行通信接口可编程数据格式串行通信接口可编程数据格式 4. SCI多处理器通信多处理器通信 串行通信接口串行通信接口SCI有两个多处理器协议有两个多处理器协议: 空闲线多处空闲线多处理器模式和地址位多处理器模式。理器模式和地址位多处理器模式。 数据的基本单位为字符,它的长度是数据的基本单位为字符,它的长度是18位。数据的位。数据的每个字符包括一个起始位、一个或者两个停止位、一个可每个字符包括一个起始位、
6、一个或者两个停止位、一个可选的奇偶校验位和一个地址位。选的奇偶校验位和一个地址位。 多处理器通信格式允许一个处理器在同一串行线上与多处理器通信格式允许一个处理器在同一串行线上与其他的处理器进行有效的数据块传输。在一个串行线上,其他的处理器进行有效的数据块传输。在一个串行线上,在同一时刻只允许存在一个发送器。在同一时刻只允许存在一个发送器。 11/16/202175. 空闲线多处理器模式空闲线多处理器模式空闲线多处理器模式的数据格式空闲线多处理器模式的数据格式 数据块与数据块之间通过较长的空闲时间分开,而且这数据块与数据块之间通过较长的空闲时间分开,而且这个空闲时间比数据块内部帧与帧之间的空闲时
7、间长得多。空个空闲时间比数据块内部帧与帧之间的空闲时间长得多。空闲线协议通过在某一帧之后使用闲线协议通过在某一帧之后使用10位或更多的空闲时间来指位或更多的空闲时间来指示一个新数据块的开始。示一个新数据块的开始。 11/16/202186. 地址位多处理器模式地址位多处理器模式地址位多处理器模式的数据格式地址位多处理器模式的数据格式 在该模式中,帧信息的最后一个数据位后紧跟着一个称在该模式中,帧信息的最后一个数据位后紧跟着一个称之为地址位的附加位。在数据块中,第一个帧的地址位设为之为地址位的附加位。在数据块中,第一个帧的地址位设为1,其他帧的地址位都要设成,其他帧的地址位都要设成0。 11/1
8、6/202197. SCI通信格式通信格式SCI异步通信格式异步通信格式 每一帧都由一个起始位、每一帧都由一个起始位、1至至8个数据位、一个可选的奇个数据位、一个可选的奇偶校验位和偶校验位和12个停止位组成。每个数据位有个停止位组成。每个数据位有8个个SCICLK周周期。处理器通过对每个位的中间期。处理器通过对每个位的中间3次采样值来确定该位的值。次采样值来确定该位的值。这些采样分别出现在第这些采样分别出现在第4个、第个、第5个和第个和第6个时钟周期,而且个时钟周期,而且根据多数表决根据多数表决(3取取2)原则确定该位的值。原则确定该位的值。 11/16/202110通信模式中通信模式中SCI
9、RX信号时序图信号时序图 通信模式中通信模式中SCITX信号时序图信号时序图 11/16/2021118. 串行通信接口中断串行通信接口中断 SCI接收器和发送器都能产生中断。接收器和发送器都能产生中断。SCICTL2寄存器中寄存器中包含有一个标志位包含有一个标志位(TXRDY),它用于指示当前中断的状态,它用于指示当前中断的状态,同时同时SCIRXST寄存器也包含两个中断标志位寄存器也包含两个中断标志位(RXRDY和和BRKDT)和一个和一个RX ERROR中断标志中断标志(由由FE、OE和和PE等条件等条件进行逻辑或产生进行逻辑或产生)。发送器和接收器分别拥有各自的中断使能。发送器和接收器
10、分别拥有各自的中断使能位。位。 SCI接收器和发送器都有各自的中断向量。中断申请既可接收器和发送器都有各自的中断向量。中断申请既可设置为高优先级也可以设置为低优先级,这由设置为高优先级也可以设置为低优先级,这由SCI模块向模块向PIE控制器送出的优先级标志位决定。当控制器送出的优先级标志位决定。当RX和和TX中断都分配在中断都分配在同一个优先级时,为了减小发生接收溢出的概率,接收器中同一个优先级时,为了减小发生接收溢出的概率,接收器中断总是比发送器中断的优先级高。断总是比发送器中断的优先级高。 11/16/2021129. SCI波特率计算波特率计算SCI模块的波特率(模块的波特率(1BRR6
11、5535 )81)(BRRLSPCLKBAUD波特率选择寄存器波特率选择寄存器(SCIHBAUD, SCILBAUD)的值的值BRR 18BAUDLSPCLKBRRBRR=0 时时16LSPCLKBAUD11/16/2021137.3 SCI7.3 SCI的寄存器的寄存器 SCI通信控制寄存器通信控制寄存器: SCICCR SCI控制寄存器控制寄存器1: SCICTL1 波特率选择寄存器波特率选择寄存器: SCIHBAUD, SCILBAUD SCI控制寄存器控制寄存器2: SCICTL2 SCI接收状态寄存器接收状态寄存器: SCIRXST SCI接收数据缓冲寄存器接收数据缓冲寄存器: SC
12、IRXBUF SCI发送数据缓冲寄存器发送数据缓冲寄存器: SCITXBUF SCI优先级控制寄存器优先级控制寄存器: SCIPRI11/16/202114SCI通信控制寄存器通信控制寄存器( SCICCR) SCI通信控制寄存器通信控制寄存器(SCI Communication Control Register, SCICCR)定义了字符格式、协议和通信模式。定义了字符格式、协议和通信模式。位位7 STOP BITS: 设置设置SCI停止位的个数停止位的个数 。1/0:2/1个停止位。个停止位。位位6 EVEN/ODD PARITY:SCI奇偶校验选择位。奇偶校验选择位。 1:偶校验。:偶校
13、验。 位位5 PARITY ENABLE:SCI奇偶校验使能位。奇偶校验使能位。 1:使能。:使能。 位位4 LOOP BACK ENA:自测模式使能位。:自测模式使能位。 1:使能。:使能。 位位3 ADDR/IDLE MODE:SCI多处理器模式选择位。多处理器模式选择位。 1:选择地址位模:选择地址位模式。式。 0:选择空闲线模式。:选择空闲线模式。 位位20 SCICHAR20:字符长度选择位。:字符长度选择位。 11/16/202115字符的长度选择字符的长度选择 11/16/202116SCI控制寄存器控制寄存器1(SCICTL1) SCI控制寄存器控制寄存器1(SCI Contr
14、ol Register 1, SCICTL1)控制接收控制接收/发送的使能,发送的使能,TXWAKE和和SLEEP功能,以及功能,以及SCI软件重启动。软件重启动。位位6 RX ERR INT ENA:SCI接收错误中断使能位。接收错误中断使能位。1:使能使能 位位5 SW RESET:SCI软件复位位软件复位位(低电平有效低电平有效)。 位位3 TXWAKE:SCI发送器唤醒方法选择位。发送器唤醒方法选择位。位位2 SLEEP:SCI休眠位。休眠位。1: 休眠模式。检测地址字节。休眠模式。检测地址字节。 位位1 TXENA:SCI发送使能位。发送使能位。 1:使能发送。:使能发送。 位位0
15、RXENA:SCI接收使能位接收使能位 。1:使能接收。:使能接收。 11/16/202117波特率选择寄存器波特率选择寄存器( SCIHBAUD, SCILBAUD) 81)(BRRLSPCLKBAUD18BAUDLSPCLKBRR16LSPCLKBAUD SCI模块的波特率按下式计算(模块的波特率按下式计算(1BRR65535)16位波特率选择寄存器中的值位波特率选择寄存器中的值BRR为为如果如果BRR=0, BRR=0, 则则 包括波特率选择高字节寄存器包括波特率选择高字节寄存器SCIHBAUD和低字节寄存和低字节寄存器器SCILBAUD。二者内确定了。二者内确定了SCI的波特率。的波特
16、率。11/16/202118SCI控制寄存器控制寄存器2(SCI Control Register 2, SCICTL2) 位位7 TXRDY:发送缓冲寄存器准备就绪标志位。:发送缓冲寄存器准备就绪标志位。1:准备接收数据。:准备接收数据。 位位6 TXEMPTY:发送器空标志位。:发送器空标志位。 位位1 RX/BK INT ENA:接收缓冲器:接收缓冲器/间断中断使能位。间断中断使能位。1:使能。:使能。位位0 TX INT ENA:发送缓冲寄存器:发送缓冲寄存器(SCITXBUF)中断使能位。中断使能位。 11/16/202119SCI接收状态寄存器接收状态寄存器: SCIRXST SC
17、I接收状态寄存器接收状态寄存器(SCI Receiver Status Register, SCIRXST)包含了包含了7位接收器的状态标志位接收器的状态标志(其中两个可以产生中断请求其中两个可以产生中断请求)。 位位7 RX ERROR:SCI接收器错误标志位。接收器错误标志位。位位6 RXRDY:SCI接收器准备就绪标志位。接收器准备就绪标志位。 位位5 BRKDT:SCI间断检测标志位。间断检测标志位。 位位4 FE:SCI帧错误帧错误(Frame Error)标志位。标志位。 位位3 OE:SCI溢出错误标志位。溢出错误标志位。 位位2 PE:SCI奇奇/偶校验错误标志位。偶校验错误标
18、志位。 位位l RXWAKE:SCI接收器唤醒检测标志位。接收器唤醒检测标志位。 11/16/202120SCI接收数据缓冲寄存器接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF) 接收数据缓冲寄存器接收数据缓冲寄存器(SCIRXEMU,SCIRXBUF)用于用于接收数据,将数据从寄存器接收数据,将数据从寄存器RXSHF转移到转移到SCIRXEMU和和SCIRXBUF中。中。 仿真数据缓冲器寄存器仿真数据缓冲器寄存器SCIRXEMU主要是由仿真器主要是由仿真器(EMU)使用。使用。 11/16/202121SCI发送数据缓冲寄存器发送数据缓冲寄存器(SCITXBUF) SCI优先级控制寄
19、存器优先级控制寄存器(SCI Priority Control Register, SCIPRI) 位位43 SCI SOFT和和SCI FREE:当一个仿真悬挂事件产生:当一个仿真悬挂事件产生时,这两位决定其后如何操作。时,这两位决定其后如何操作。00 : 一旦仿真悬挂,立即停止。一旦仿真悬挂,立即停止。10:一旦仿真悬挂,在完成当前的接收:一旦仿真悬挂,在完成当前的接收/发送操作后停止。发送操作后停止。x1:SCI操作不受仿真挂起影响。操作不受仿真挂起影响。 11/16/2021227.4 SCI应用实例应用实例例,例,DSP通过通过RS-232与与PC机串行通信。包括硬件接口电路与机串行
20、通信。包括硬件接口电路与通信软件。通信软件。+C1+ C5+C3+C4+C2Vcc162738495DB 9C1+1C1-3C2-5GND15V-6V+2Vcc16TIOUT14R1IN13R1OUT12T1IN11C2+4MAX3232RXDTXD1F1F1F1F1FDSPPC PC机采用串口调试工具软件,将机采用串口调试工具软件,将PC机键盘的输入发送给机键盘的输入发送给DSP,DSP收到收到PC机发来的数据后,回送同一数据给机发来的数据后,回送同一数据给PC机,并机,并在在PC机屏幕上显示出来。机屏幕上显示出来。 DSP通过通过MAX3232电平转换电路与电平转换电路与PC机串行通信机串
21、行通信 11/16/202123/采用查询方式编写的采用查询方式编写的DSP通信程序。通信程序。 SCIA将接收到的数据字节后回送将接收到的数据字节后回送#include DSP281x_Device.hunsigned int RecieveChar; void Scia_init( ) /SCIA初始化程序初始化程序 EALLOW; GpioMuxRegs.GPFMUX.all = 0 x0030; / 设置设置GPIOF4,5为通信端口为通信端口 EDIS; SciaRegs.SCICTL2.all = 0 x0000; / 禁止接收和发送中断禁止接收和发送中断 SciaRegs.SCI
22、LBAUD = 0 x00E7; / 波特率波特率9600SciaRegs.SCIHBAUD = 0 x0001; SciaRegs.SCICCR.all = 0 x0007; / 1个停止位,禁止校验,个停止位,禁止校验,8位字符位字符 / 禁止自测试,异步空闲线协议禁止自测试,异步空闲线协议SciaRegs.SCICTL1.all = 0 x0023; / 脱离复位状态,使能接收发送脱离复位状态,使能接收发送11/16/202124void main(void)InitSysCtrl();/ 系统初始化系统初始化 DINT; / 禁止和清除所有的禁止和清除所有的CPU中断中断IER = 0
23、 x0000;IFR = 0 x0000;Scia_init(); / SCIA初始化初始化while (1) while(SciaRegs.SCIRXST.bit.RXRDY != 1) / XRDY1表示接收到数据表示接收到数据 RecieveChar=SciaRegs.SCIRXBUF.all; SciaRegs.SCITXBUF = RecieveChar+1; / 接收到的字符接收到的字符RecieveChar送回送回 while(SciaRegs.SCICTL2.bit.TXRDY = 0) while(SciaRegs.SCICTL2.bit.TXEMPTY = 0) 11/16
24、/202125/采用中断方式编写的采用中断方式编写的DSP通信程序。通信程序。#include DSP281x_Device.h“interrupt void scirxinta_isr(void); /SCIA串行接收中断服务程序串行接收中断服务程序unsigned int RecieveChar; void Scia_init( ) /SCIA初始化程序初始化程序,同查询方式同查询方式 EALLOW; GpioMuxRegs.GPFMUX.all = 0 x0030; / 设置设置GPIOF4,5为通信端口为通信端口11/16/202126void main(void)InitSysCtr
25、l();/ 系统初始化系统初始化DINT; /禁止和清除所有的禁止和清除所有的CPU中断中断IER = 0 x0000;IFR = 0 x0000;Scia_init(); / SCIA初始化初始化InitPieCtrl();/PIE初始化初始化InitPieVectTable();/中断向量表初始化中断向量表初始化EALLOW;PieVectTable.RXAINT=&scirxinta_isr; /SCIA中断向量中断向量EDIS;PieCtrlRegs.PIEIER9.bit.INTx1=1; /使能使能SCIRXINTA中断中断IER|=M_INT9;EINT;ERTM;/开放
26、全局实时调试中断开放全局实时调试中断DBGMwhile (1) ; 11/16/202127interrupt void scirxinta_isr(void) /SCIA串行接收中断服务程序串行接收中断服务程序EINT; /允许中断嵌套允许中断嵌套RX=SciaRegs.SCIRXBUF.bit.RXDT;RecieveChar=SciaRegs.SCIRXBUF.all;SciaRegs.SCITXBUF = RecieveChar; /接收到的字符接收到的字符RecieveChar送回送回while(SciaRegs.SCICTL2.bit.TXRDY =0) PieCtrlRegs.P
27、IEACK.all=PIEACK_GROUP9; 11/16/202128/*另例。另例。2812A板:使用直连的串口通信电缆板:使用直连的串口通信电缆; 启动串口调试助手启动串口调试助手.exe;PC机发送一个机发送一个“.”为结束标志。波特率为为结束标志。波特率为9600 bit/s。数据格式为。数据格式为l位位起始位,起始位,8位数据位、一个停止位,无奇偶校验位。查询方式位数据位、一个停止位,无奇偶校验位。查询方式 */#include DSP281x_Device.h“/头文件头文件 void scia_loopback_init(void); /函数声明函数声明 void scia_
28、fifo_init(void);void scia_xmit(int a);void error(int);void wait(int nWait);interrupt void scia_rx_isr(void);interrupt void scia_tx_isr(void);Uint16 LoopCount;/定义全局变量定义全局变量 Uint16 ErrorCount; char cString17= Hello PC!,Over| ,cReceive,cBuffer17,cAnswer16=Oh,you say;11/16/202129void main(void) char Rec
29、eivedChar; int i,k=0,nLen,bReceive=0;InitSysCtrl(); /初始化初始化PLL、WD和时钟和时钟 EALLOW; GpioMuxRegs.GPFMUX.all=0 x0030; /选择选择GPIOF为为SCI-A引脚引脚EDIS; DINT; /禁止中断禁止中断 IER = 0 x0000;IFR = 0 x0000;InitPieVectTable(); /初始化初始化PIE向量表向量表 EnableInterrupts();/使能使能CPU和和PIE中断中断 11/16/202130 LoopCount = 0; ErrorCount = 0;
30、 scia_fifo_init(); /初始化初始化SCI FIFO scia_loopback_init(); /初始化初始化 SCI回送回送 for ( i=0;i16;i+ )scia_xmit(cStringi); /向向PC发送发送Hello PC!,Over| while(SciaRegs.SCIFFTX.bit.TXFFST !=0) for(;)11/16/202131k=0; bReceive=0; while(1) while(SciaRegs.SCIFFRX.bit.RXFIFST =0) / 如果接受寄存器不为如果接受寄存器不为0则跳出则跳出 ReceivedChar
31、= SciaRegs.SCIRXBUF.all; cBufferk=ReceivedChar; if ( ReceivedChar=.)cBufferk+1=0;nLen=k+1;bReceive=1;break; k+; k%=16; 11/16/202132 if ( bReceive=1 ) for ( i=0;i10;i+ )scia_xmit(cAnsweri); while(SciaRegs.SCIFFTX.bit.TXFFST !=0) scia_xmit();for ( i=0;inLen;i+ )scia_xmit(cBufferi); while(SciaRegs.SCIF
32、FTX.bit.TXFFST !=0) scia_xmit();wait(1024);for ( i=9;i16;i+ ) scia_xmit(cStringi); while(SciaRegs.SCIFFTX.bit.TXFFST !=0) 11/16/202133void error(int ErrorFlag) ErrorCount+;/ Test 1,SCIA DLB, 8-bit word, baud rate 0 x000F, default, 1 STOP bit, no parity void scia_loopback_init() / Note: Clocks were t
33、urned on to the SCIA peripheral / in the InitSysCtrl() function SciaRegs.SCICCR.all =0 x0007; / 1 stop bit, No loopback ,No parity,8 char bits,/ async mode, idle-line protocolSciaRegs.SCICTL1.all =0 x0003; / enable TX, RX, internal SCICLK, / Disable RX ERR, SLEEP, TXWAKESciaRegs.SCICTL2.all =0 x0003
34、; SciaRegs.SCICTL2.bit.TXINTENA =1;SciaRegs.SCICTL2.bit.RXBKINTENA =1; SciaRegs.SCIHBAUD =0 x0001;11/16/202134SciaRegs.SCILBAUD =0 x00e7;/波特率波特率 9600bpsSciaRegs.SCICCR.bit.LOOPBKENA =0; / disable loop back SciaRegs.SCICTL1.all =0 x0023; / Relinquish SCI from Reset /void scia_xmit(int a)/由由SCI发送一个字符发
35、送一个字符a SciaRegs.SCITXBUF=a; /void scia_fifo_init() /初始化初始化SCI FIFO SciaRegs.SCIFFTX.all=0 xE040; SciaRegs.SCIFFRX.all=0 x204f; SciaRegs.SCIFFCT.all=0 x0; void wait(int nWait) int i,j,k=0;for ( i=0;inWait;i+ )for ( j=0;j64;j+ ) k+;11/16/2021357.5 串行外设接口串行外设接口SPI 串行外设接口的结构与工作原理串行外设接口的结构与工作原理 SPI引脚功能的选
36、择引脚功能的选择 SPI的多机通信的多机通信 SPI应用应用 SPI是一种串行总线的外设接口,它只需是一种串行总线的外设接口,它只需3根引脚线根引脚线(发送,接收与时钟)就可以与外部设备相连。(发送,接收与时钟)就可以与外部设备相连。 SPI为为同步通信接口,两台通信设备在同一个时钟下工作。同步通信接口,两台通信设备在同一个时钟下工作。 采用采用SPI接口的芯片如接口的芯片如A/D、D/A、移位寄存器、显、移位寄存器、显示驱动器、日历时钟、示驱动器、日历时钟、I/O、E2PROM、语音电路等越来、语音电路等越来越多,越多, 传输速度高达几十传输速度高达几十Mbps。例如。例如MAX5121为带
37、为带SPI接口的接口的12位位D/A转换器芯片。转换器芯片。11/16/202136串行外设接口串行外设接口(SPI)模块框图模块框图(从模式从模式 ) 11/16/202137SPI 主从连接主从连接 11/16/202138SPI相关寄存器相关寄存器SPI配置控制寄存器配置控制寄存器: SPICCRSPI控制寄存器控制寄存器: SPICTLSPI状态寄存器状态寄存器: SPISTSSPI波特率寄存器波特率寄存器: SPIBRRSPI接收缓冲寄存器接收缓冲寄存器: SPIRXBUFSPI发送缓冲寄存器发送缓冲寄存器: SPITXBUFSPI 串行数据寄存器串行数据寄存器: SPIDATSPI
38、优先级控制寄存器优先级控制寄存器: SPIPRI11/16/2021397.6 7.6 增强型增强型CANCAN总线模块总线模块eCANeCAN CAN( CAN(控制器局域网控制器局域网Controller Area Network) ) 总线最总线最初是德国初是德国BOSH公司为实现汽车内部测量与执行部件之间的公司为实现汽车内部测量与执行部件之间的数据通信而设计的现场总线(数据通信而设计的现场总线(Field Bus), ,它是一种多主机它是一种多主机局部网络系统。它支持分布式控制和实时控制串行通信网局部网络系统。它支持分布式控制和实时控制串行通信网络络, ,带有带有CANCAN网卡的网卡
39、的PCPC主机及其带有片内主机及其带有片内CANCAN控制器的硬件模控制器的硬件模块可以很方便地连接到同一块可以很方便地连接到同一CANCAN总线上总线上。 结构与工作原理结构与工作原理 eCAN模块的模块的引脚功能的选择引脚功能的选择邮箱、控制寄存器邮箱、控制寄存器 eCAN的的应用应用11/16/202140Communications PortsMailbox RAM(512 bytes)32-MessageMailboxMessage eControllerEnhanced eCAN Controller32DataAddressControls323232Memory Managem
40、entUnitCPU Interface,Receive Control UnitTimer Management UniteCAN Control RegisterseCAN Protocol KernelCommunicationBuffers* 3.3-V CAN TransceiverCAN Bus* The communication buffers are transparent to the user and are not accessible by user codeOn-Chip CAN Controller (eCAN)Industrial Networkingl2.0B
41、 compliant l32 Mailboxesl32 Local receive masksl32 Interrupt maskslLow-power modelProgrammable wake-up on bus activitylAutomatic reply to a remote message requestlTime-stamping of messages11/16/202141CAN总线的主要特性总线的主要特性 能以多主方式工作。能以多主方式工作。能以点对点、一点对多点及全局广播等方式传送和接收数据。能以点对点、一点对多点及全局广播等方式传送和接收数据。网络上的节点可分成不
42、同的优先级,以满足不同的实时要求。网络上的节点可分成不同的优先级,以满足不同的实时要求。CAN总线采用短帧结构,每帧字节数最多为总线采用短帧结构,每帧字节数最多为8个,可满足通常工业个,可满足通常工业领域中控制命令、工作状态及测试数据的要求。领域中控制命令、工作状态及测试数据的要求。采用不归零(采用不归零(NRZ)编码)编码/解码方式。解码方式。采用循环冗余码校验采用循环冗余码校验(CRC)、帧检测、信号出错检测、总线监控、帧检测、信号出错检测、总线监控、位填充等位填充等5种错误监测和纠错措施,从而达到很高的可靠性。种错误监测和纠错措施,从而达到很高的可靠性。使用简单方便。使用简单方便。采用独
43、特的位仲裁技术,具有很高的实时性。采用独特的位仲裁技术,具有很高的实时性。传输速率可达传输速率可达1Mbps, 传输距离可达传输距离可达40m。速率。速率5kbps时,距离可时,距离可达达10km。配置灵活,系统可扩充性好。增删节点不会对系统造成大的影响。配置灵活,系统可扩充性好。增删节点不会对系统造成大的影响。可采用廉价的双绞线作通讯介质,接口简单,安装方便。可采用廉价的双绞线作通讯介质,接口简单,安装方便。11/16/202142CANCAN信息包格式信息包格式 一个有效的一个有效的CAN数据帧由帧起始、仲裁场、控制场、数据场、校验场、数据帧由帧起始、仲裁场、控制场、数据场、校验场、应答场
44、和帧结束等应答场和帧结束等7种位场构成。种位场构成。Field:Field:场场/ /域域/ /字段字段标准格式数据帧包括标准格式数据帧包括1)帧起始)帧起始SOF (Start of Frame)。 包含一个显性位,用于硬同步。包含一个显性位,用于硬同步。2)仲裁场)仲裁场(Arbitration Filed) 。包含。包含11个报文标识位个报文标识位ID和一个和一个RTR(Remote Transmission Request 远程发送请求远程发送请求) 位。位。3)控制场)控制场(Control Field)。包括。包括2位备用位和位备用位和4位数据长度位位数据长度位DLC。4)数据场)
45、数据场(Data Field)。5)循环冗余校验场)循环冗余校验场(CRC Field)。包括。包括15位位CRC序列和序列和1位界定符。位界定符。6)应答场)应答场(ACK Field)。包含应答间隙和应答界定符个。包含应答间隙和应答界定符个1位,应答间隙位,应答间隙为隐性位。为隐性位。7)帧结束)帧结束EOF (End of Frame)。包括。包括7个隐性位。个隐性位。SOF11-位标识符SRRIDE18-标识符RTRr0r1DLC0.8 位数据CRC ACKEOF11/16/202143C28x DSP CAN控制器控制器 CAN模块是完全的模块是完全的CAN控制控制 器。全面兼容器。
46、全面兼容 CAN2.0B协议。协议。 CAN模块是一个模块是一个16位的外设,对它的访问分成控制位的外设,对它的访问分成控制/状态寄存状态寄存器的访问和邮箱的器的访问和邮箱的RAMRAM访问。访问。 有有6个邮箱(个邮箱(MBOX05),其长度为其长度为08个字节。它们是个字节。它们是4816的的RAM区,区,CPU或或CAN可按可按16位读或写。每个邮箱为位读或写。每个邮箱为816位的位的RAM,邮箱,邮箱0、1只用作接收,邮箱只用作接收,邮箱4、5只用作发只用作发送,而邮箱送,而邮箱2、3可用作接收或发送。可用作接收或发送。 对邮箱对邮箱0、1和和2、3有局域接收屏蔽寄存器。有局域接收屏蔽
47、寄存器。 可编程的位定时器。中断配置可编程。可编程的位定时器。中断配置可编程。 可编程的可编程的CAN总线唤醒功能。自动恢复远程请求。总线唤醒功能。自动恢复远程请求。 当发送时出错或仲裁时丢失数据,当发送时出错或仲裁时丢失数据,CAN控制器有自动重发送控制器有自动重发送功能。功能。 总线错误诊断功能。总线错误诊断功能。 具有自测试模式和网络模式。具有自测试模式和网络模式。11/16/202144DSPHCPL263082C250330330120Vcc+5VCANTXCANRXGNDRCANHCANLTXDRXDCAN驱动器接口电路驱动器接口电路 11/16/2021457.7 7.7 多通道缓冲串行口多通道缓冲串行口McBSPMcBSP 多通道缓冲串行口多通道缓冲串行口(Multichannel Buffered Serial Port,McBSP)是连接是连接DSP和其他和其他McBSP兼容器件的串行接口。兼容器件的串行接口。McBSP具有较强的串行具有较强的串行通信功能。通信功能。 11/16/202146McBSP的主要特点的主要特点 (1) 全双
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届海南省临高县新盈中学高三假期自主综合能力测试(一)数学试题
- 餐饮住房合同
- 不动产买卖合同解除协议模板
- 毕业生就业协议书入户地址
- 手术对骨骼健康的影响
- 防溺水模拟演练课件
- 山东省烟台招远市(五四制)2024-2025学年九年级上学期期中考试化学试题(含答案)
- 河北省石家庄市栾城区2024-2025学年七年级上学期期中生物学试题(含答案)
- 《化妆棉》规范要求
- 福建省泉州市安溪县2024-2025学年高三上学期11月期中测评试题 数学(含解析)
- 山体爆破施工方案(审核版)
- 普通话培训教案
- 基坑支护(护坡)工程冬季施工方案
- 英语六个简单句基本句型讲解(课堂PPT)
- 江苏省房屋建筑和市政基础设施工程施工招标评标办法
- 新建加油站工程施工组织设计方案
- 余姚农业信息综合服务系统需求说明
- 司法涉案目的评估指南
- 光伏电站消纳利用率计算导则
- 焓熵图(膨胀线)
- 前后鼻音生字表
评论
0/150
提交评论