资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,多通道缓冲串口,多通道缓冲串口McBSP,一、概述,1、McBSP的功能,全双工通信,双缓冲数据寄存器,允许连续的数据流。,收发独立的帧信号和时钟信号,可以与工业标准的编,/,解码器,以及其它串行,A/D,、,D/A,接口,数据传输可以利用外部时钟、或是片内的可编程时钟。,DMA,为,McBSP,服务时,串口数据读写具有自动缓冲能力。,2、其它的特点,可与多达,128,个通道进行收发;,支持传输的数据字长可以是,8bit,、,12bit,、,16bit,、,20bit,、,24bit,、,32bit,内置,u,律和,A,律压扩硬件。,对,8bit,数据的传输,可选择,LSB,先传,还是,MSB,先传。,可设置帧同步信号和数据时钟信号的极性。,内部传输时钟和帧同步信号可编程程度高。,u律(m-Law)压扩主要用在北美和日本等地区的数字电话通信中。m为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。A律(A-Law)压扩主要用在欧洲和中国大陆等地区的数字电话通信中。A为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。,一、基本结构,C5509有三个多通道缓冲串口McBSP,每个McBSP可以分为,收发通道,、,时钟与帧同步,、,多通道选择,和,串口事件,等4部分。McBSP在外部通过若干管脚与其它,串行器件,相连,在内部通过16位的外设总线与,CPU和DMA控制器,相连。,外时钟,2、接收通道,接收的数据到达,管脚DR,,在接收时钟,CLKR的上升沿(或下降沿),被逐位依次移入,RSR,。收满一个字后,被拷贝到,缓冲寄存器RBR,,再拷贝到数据接收寄存器,DRR,,同时设置接收标志位,RRDY,,并通过串口事件通知CPU或DMA已经接到数据。CPU或DMA可以通过外设总线从DRR读取接收到的数据。,3、发送通道,CPU或DMA将数据写入数据,发送寄存器DXR,,接着拷贝到,发送移位寄存器XSR,,在发送帧同步FSX后,CLKR的上升沿(或下降沿)到来时,XSR的内容被逐位依次移到,发送管脚DX,上,。同时,McBSP也会设置发完标志,XRDY,,并通过串口事件通知CPU或DMA数据已发出去。,这种,多级缓冲方式,使得,片内的数据搬移,和,外部数据的通信,可以同时进行。,4、时钟与帧同步(时钟和帧同步具有灵活的信号形式和设置手段),McBSP的时钟与帧同步由一组,寄存器,和一个,采样速率发生器SRG,组成。用户可以通过寄存器设定相应的参数,采样速率发生器SRG就会根据这些参数将,输入参考时钟,变为所需要的,串口时钟,和,帧同步信号,。,(1)采样速率发生器的输入参考时钟,SRG的工作原理:通过对输入,参考时钟进行分频得到,所需要串口时钟和帧同步信号。可供选择的输入参考时钟有4个。,来自,CLKX,脚,的,发送时钟,来自,CLKR,脚的,接收时钟,来自,CLKS,脚的,输入时钟,(,外时钟,),来自时钟发生器的,CPU,时钟,究竟选用哪个时钟,由,采样速率发生寄存器2(SRGR2),中的,CLKSM,字段和,管脚控制寄存器(PCR),中的,SCLKME,字段来确定。,当 SCLKME0,CLKSM0时,选择,CLKS脚上,的输入信号为输入参考时钟;,当 SCLKME 0,CLKSM1时,选择,CPU时钟,作为参考时钟;,当 SCLKME 1,CLKSM0时,选择,CLKR脚上,的时钟为参考时钟;,当 SCLKME 1,CLKSM1时,选择,CLKX脚上,的时钟为参考时钟。,(2)采样速率发生器的输出时钟和帧同步,输入的参考时钟经过分频产生SRG,输出时钟CLKG,。分频次数由采样速率发生寄存器1(SRGR1)中的,CLKDV字段(8bit),根据如下公式决定:,F,CLKG,=F,clocksource,/(CLKDV+1),1,CLKGDV255,串口的最高时钟速率为CPU时钟的一半,(3)时钟信号的方向性和极性,时钟管脚CLKX和CLKR的方向分别由,管脚控制寄存器(PCR),中的CLKXM和CLKRM字段控制,而,CLKS管脚则只能是输入,。,当,CLKX(R)M,1,时,,CLKX(R),由,CLKG,驱动,,为输出,;,当,CLKX(R)M,0,时,,CLKX(R),由,外部管脚驱动,,为输入,。,(4)帧同步信号的方向和极性,发送帧同步FSX的方向由,管脚控制寄存器(PCR),中的FSXM字段和采样速率发生寄存器2(SRGR2)中的FSGM字段共同确定。,当,FSXM=0,,,FSGM=x,时,,FSX,为输入,,由外部信号源驱动;,当,FSXM=1,,,FSGM=0,时,,FSX,为输出,,由,DXR,到,XSR,的拷贝动作驱动;,当,FSXM=1,,,FSGM=1,时,,FSX,为输出,,由,FSG,驱动。,发送帧同步,FSX,的极性由管脚控制寄存器,(PCR),中的,FSXP,字段确定。,当,FSXP,0,时,,FSX,为正极性,,即高电平有效;,当,FSXP,1,时,,FSX,为负极性,,即低电平有效。,(5)同步,SRG的输入参考时钟可以是,内部时钟(CPU时钟),,也可以是外部输入时钟(来自CLKX、CLKR或CLKS管脚)。当采用外部时钟源时,一般,需要同步,。同步与否由,采样速率发生器2(SRGR2),中的GSYNC字段控制。,当,GSYNC=0,时,,,SRG,将自由运行,并按,CLKGDV,、,FPER,和,FWID,等参数的配置产生输出时钟;,当,GSYNC=1,时,,,CLKG,和,FSG,将同步到外部输入时钟。,5、多通道选择,(在一帧数据中,最多可包含128个数据单元,每个数据单元对应一个通道),McBSP属于多通道串口,最多可以有,128个通道,,其多通道选择部分由多通道控制寄存器,MCR,、接收通道使能寄存器,RCER,和发送通道使能寄存器,XCER,构成。,多通道控制寄存器,MCR,作为总控制,可以禁止或使能全部,128,个通道。,RCER,和,XCER,可以分别禁止或使能,某个接收和发送通道,。每个寄存器控制,16,个通道。因此,,128,个通道需要,8,个通道使能寄存器。,6、串口事件,McBSP可以发起6个串口事件,接收中断,RINT,发送中断,XINT,接收同步事件,REVT,A_bis,模式的接收同步事件,REVTA,发送同步事件,XEVT,A_bis,模式的发送同步事件,XEVTA,RINT,和,XINT,与,CPU,相连,可以中断,CPU,REVT,、,REVTA,、,XEVT,和,XINT,则与,DMA,控制器相连,可以用于,DMA,同步事件,触发,DMA,传输,收发中断的产生分别由,串口控制寄存器1,(SPCR1),中的,RINTM,字段和,串口控制寄存器2,(SPCR2),中的,XINTM,字段控制。,1、多通道缓冲模式,是,McBSP,的一种常规模式。在此模式下,根据其所处的地位有可分为,主方和从方,。,主方提供通信所需的,时钟和帧同步,,所以其时钟和帧同步都由内部,SRG,驱动,为输出;,从方所需的,时钟和帧同步来自主方,,其时钟和帧同步由外部器件驱动,为输入。,在多通道缓冲模式下,传输由帧同步上升沿,(,或下降沿,),触发,并在时钟上升沿,(,或下降沿,),收,(,发,),一个数据比特,支持,1,到,128,个传输通道的多通道传输。,2、SPI模式,SPI协议是一种,主从配置,的,支持,一个主方,,,一个或多个从方,的串行通信协议。,由4个信号构成:,串行数据输入MISO,(主设备输入、从设备输出)、,串行数据输出MOSI,(主设备输出、从设备输入),、,移位时钟SCK,和,从方使能SS,。,McBSP的时钟停止模式,:指其时钟会在每次数据传输结束时停止,并在下次数据传输时立即启动或延时半个周期后再启动。,在 McBSP中有两种回环,在复位时,,McBSP,内部将从图中,(1),的位置进行回环,,此时若向,DXR,写一个数,,4,个周期以后就能从,DRR,收到该数据。,在复位以后,通过,串口控制寄存器,1(SPCR1),中的,DLB,的控制使,McBSP,内部从图中,(2),的位置进行回环。,当,DLB=0,时,不回环;,当,DLB=1,时,从位置,(2),进行回环。,(1),(2),5、GPIO 模式,McBSP处于复位状态时,它的7个管脚在,管脚控制寄存器PCR,和,串口控制寄存器SPCR,的控制下可以用作通用输入输出(GPIO)。,其中,CLKX,、,CLKR,、,FSX,和,FSR,既可设为,输入又可设为输出,,输入,/,输出电平值由相应的极性控制位确定,;,DX,只能为输出;,DR,和,CLKS,则只能为输入。,三、收发格式与参数设置,帧同步有效表示一帧串行数据传输的开始。,每次收发数据传输都从,帧同步,开始,每个数据帧可以有两个阶段,即阶段1和阶段2,每个阶段可有1到128个字,每个字可以是8、12、16、20、24、或32比特。,数据比特的延迟,:当帧同步有效后,一般在其后的,第一个时钟周期,启动该帧的传输,如果需要,数据的发送/接收的起始时刻相对于帧信号的起始点可以存在,一定的延时,。延时范围可以从0到2个周期的传输时钟。,由于收发通道寄存器都是16位的,所以对字长不足或超过16比特的数据可以进行,左对齐或右对齐调整,。选择左对齐时,McBSP将用0填充LSB;选择右对齐时,McBSP可以用0填充MSB,也可用符号扩展方式填充MSB。,四、异常处理,每个多通道缓冲串口,McBSP,有下列5个事件会导致错误:,接收过速,,由标志,RFULL=1,表示;,接受帧同步错误,,由标志,RSYNCERR,1,表示;,发送数据重写,;,发送寄存器空,,由标志,=0,表示;,发送帧同步错误,,由标志,XSYNCERR=1,表示。,3、发送寄存器空,与发送数据重写相对应,发送寄存器空则是由于CPU或DMA,写入太慢,,使得发送帧同步出现时,,DXR,还未写入新值,这样,XSR,中的值就会不断重发,直到,DXR,写入新值为止。,4、接受帧同步错误,接受帧同步错误是指在当前数据帧的所有数据比特,还未收完时出现了帧同步信号,。由于帧同步表示一帧的开始,所以出现帧同步时,接收器就会停止当前帧的接收并重新开始下一帧的接收,从而造成当前帧数据的丢失。,5、发送帧同步错误,与接收帧同步错误相对应,发送帧同步错误是指,当前帧的所有数据比特未发送完之前出现了发送帧同步信号,。此时,发送器将终止当前帧的传送,并重新开始下一帧的传送。,
展开阅读全文