终于有人能把McBSP串行接口讲得明明白白了,网友:涨知识了
一、McBSP 的基本概述
McBSP是TI公司生产的数字信号处理芯片的多通道缓冲串行口。McBSP是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功能。
IVIcBSP包括一个数提通道和一个控割通道,通过7个引槽与外部设备连接。数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX,接收时钟引? CLKR,发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。
二、McBSP可以通过两种方式进行数据传输
EDMA方式:McBSP发送事件通知EDMA通道进行传输,有接收事件REVT和输出事件XEVT,它们都与固定EDMA通道进行了绑定;
CPU方式:McBSP通过中断方式通知CPU进行数据的传输,有接收中断RINT和输出中断XINT,中断的设定由SPCR.RINTM和SPCR.XINTM控制,如果要使用中断方式,应该设为00b;CPU也可以通过查询方式(Polled)来控制数据的传输,主要是通过查询SPCR.RRDY和SPCR.XRDY来实现;
三、McBSP 串 口复位,有两种方式
设备复位:REST引脚置为低电平,所有的串口部件都复位,相应的寄存器也处于复位状态;
寄存器方式复位:跟设备复位不同,寄存器方式复位可以**复位各部件,如单独对接收部件复位等;寄存器复位是通过设置SPCR.XRST...等完成的;
四、McBSP 具有与标准串行接口相同的基本功能
(1)全双工通信;
(2)拥有两级缓冲发送和**缓冲接收数据寄存器,允许连续数据流传输;
(3)为数据发送和接收提供**的帧同步脉冲和时钟信号;
(4)能够与工业标准的***、模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接;
(5)支持外部移位时钟或内部频率可编程移位时钟。
此外,McBSP还具有以下特殊功能:
(1)可以与IOM-2、SPI、AC97等兼容设备直接连接;
(2)支持多通道发送和接收,每个串行口最多支持128通道;
(3)串行字长度可选,包括8、12、16、20、24和32位;
(4)支持μ-Law和A-Law数据压缩扩展;
(5)进行8位数据传输时,可以选择LSB或MSB为起始位;
(6)帧同步脉冲和时钟信号的极性可编程;
(7)内部时钟和帧同步脉冲的产生可编程,具有相当大的灵活性。
五、McBSP 的数据传输过程
MCBSP的接收*作是三缓冲(triple buffered)的,而发送*作是双缓冲(doub丨e buffered)的。寄存器值的使用取决于串行字长是否符合16bits。
如果字长为16bits或小于16bits (8bits、12bits),则只需使用一套寄存器(RSR1,RBR1,DRR1, DXR1, XSRl)。
如果字长大于16bits,则需要使用两套寄存器(RSR1/2, RBR1/2, DRR1/2, DXRl/2,XSRl/2)。
六、数据的压缩和扩展
1、MCBSP的压缩和扩展硬件可以将数据按照律和A-律格式进行压缩和扩展。其示意图如下:
对于使用k律压缩和扩展的数据,要保证其在DXR1中进行14位左对齐,如下图:
对于使用A-律压缩和扩展的数据,要保证其在DXR1中进行13位左对齐,如下图:
2、翻转数据位的顺序
MCBSP默认为最高位先发送,但是对于一些固定的8bits传输协议,需要先进发送最低位的数据^ MCBSP可以通过设置XCR2的XCOMPAND为01,则8bits的数据在通过串行口发送前将会被翻转,这样发送数据时就变成低位优先发送。
七、时钟和帧信号
1、时钟
数据从DR管脚到RSR寄存器及从XSR寄存器到DX管脚是一位一位传送的。每传输一位的时间是由时钟信号的上升沿或下降沿来决定的。
接收时钟信号(CLKR)控制着DR管脚到RSR寄存器的每一个bit的传输;发送时钟信号(CLKX)控制着XSR寄存器到DX管脚的每一个bit的传输。CLKR和CLKX信号可以来自MCBSP的外部时钟引脚,也可以来自MCBSP内部。另外,CLKR和CLKX信号的极性(正或负?)是可编程控制的。
下如示意了时钟信号如何控制每一bit传输的时间:
注:5502的MCBSP的最高频率是DSP的slow peripherals clock的1/2。如果使用DSP的管脚来输入CLKX和CLKR信号,则注意选择合适的输入时钟频率。如果使用内部生成的采样频率,则注意选择适合的输入时钟频率和设置相应的分频数(CLKGDV)。
2、串行字
bits在移位寄存器(RSR或XSR)和数据管脚 间传输时,是按组转移的,一组称为一个串行字(serial word)。一个串行字的bit数是可以由用户来定义的。
从DR管脚进来的数据会先存放在RSR寄存器,直到RSR寄存器存满了一个串行字,然后,这个串行字才会被发往RBR(最后到达DRR)。DX管脚同理。
3、帧和帧同步
把一个或多个串行字当成一个组来进行传输,称为帧。你可以定义一个帧里包含多少个串行字。
一个帧里的字会被连续传输,帧与帧之间则会有停顿。MCBSP使用帧同步信号来确定每一个帧的发送/接收。当帧同步信号产生一个脉冲,则MCBSP开始接收/发送一个帧数据,当下一个帧同步脉冲产生时,就发送下一帧,依此类推。
FSR信号用了开始DR管脚的数据传输,FSX用来开始DX管脚的数据传输。FSR和FSX信号可以来自MCBSP的边界管脚或来自MCBSP内部。
4、检测帧同步信号,即使在reset状态中
MCBSP可以发送传输/接收中断至CPU,用了通知CPU 自己发生了某些特定事件。为了帮助甄别帧同步信号,一些中断可以被发送用来作为帧同步脉冲的响应。将相应的中断模式位设置为10(对于接收,RINTM=10;对于发送,XINTM=10)。
不同于其他的串口中断模式,MCBSP的中断模式在串口的相关部分处于reset状态时仍然在运行。
5、忽略不希望遇到的帧同步脉冲
MCBSP可以配置,用以忽略发送或接收帧同步脉冲。
如果想识别帧同步信号,则对于接收端,设置RFIG=0;对于接收端XFIG=0。
如果想忽略帧同步信号,则对于接收端,设置RFIG=1;对于接收端XFIG=1。
6、帧频率
振频率等于时钟频率除以一个帧持续的时钟周期数,如下图所示:
最大振频率为时钟频率除以一个帧所包含的bit数,如下图:
当帧频率为最大值时,其脉冲与数据波形的关系如下:
示意图中使用的是1-bit的数据延时(1-bit data delay)。
注:对于5502芯片,如果使用0bit延时的帧同步并且使用的是外部时钟,则需要一个多余的帧周期,因而最高帧频率将达不到上述的速度;如果是1-bit或2-bits延时或使用内部时钟,则不需要多余的帧周期,因而可以达到上述的帧频率。
八、帧阶段(Frame Phases)
MCBSP可以通过配置,让一个帧拥有不同的阶段。
一个帧的不同阶段可以拥有不同的字的数量,每个字的bits个数也可以不同。得益于这样的时间,MCBSP的帧可以灵活的传输各种结构的数据。
1、一帧中的阶段数、字数和bits数
一帧中的阶段数、字数和bits数的如何由寄存器决定:
只有一个phase的帧的传输:
有两个phases的帧的传输
九、MCBSP接收
物理数据通路:
接收数据时序图:
下面将描述数据由DR管脚到CPU或DMA的过程:
(1)MCBSP用FSR管脚等待帧同步信号的到来
(2)当帧同步脉冲到来后,MCBSP**相应的数据延迟。数据延迟的数量在RCR2寄存器的RDATDLY位中设定。
(3)MCBSP从DR管脚接收数据,并移位至接收移位寄存器(RSR1/21)中。(如果字长小于或等于16bit,则只使用RSR1寄存器,如果大于16bits则除了RSR1外还要使用RSR2寄存器,数据的高位存在RSR2寄存器中)
(4)当一个完整的字被完全送达后,MCBSP将RSR寄存器中的值拷贝到接收缓冲寄存器(RBR),规定RBR1不被之前的数据占满。(如果字长小于或等于16bit,则只使用RBR1寄存器,如果大于16bits则除了RBR1外还要使用RSR2寄存器,数据的高位存在RBR2寄存器中)
(5)MCBSP将RBR中的数据拷贝到数据接收寄存器(DRR)中,规定DRR1不被之前的数据占满。当DRR1接收到新数据时,SPCR1寄存器的receiver ready bit(RRDY)将置1。这暗示着接收的数据已经准备妥当,可以被CPU或DMA***读取。(如果字长小于或等于16bit,则只使用DRR1寄存器,如果大于16bits则除了DRR1外还要使用DRR2寄存器,数据的高位存在DRR2寄存器中)。如果在由RBR拷贝到DRR的过程中使用了数据扩展或压缩(companding),则RBR1中的8-bit数据将扩展为DRR中左对齐的16-bit数据。如果在拷贝过程中没有使用数据扩展或压缩,则从RBR[1,2]拷贝到DRR[1,2]的数据将进行调整并按照RJUST位进行bit填充。
(6)CPU或DMA***从数据接收寄存器中读取数据。当DRR1的内容被读取后,RRDY将被置0,然后下一个RBR至DRR的拷贝将开始。
注:如果DRR1和DRR2都被使用了(即字长大于16-bit),那么CPU或DMA***必须先读DRR2的数据然后再读DRR1的数据。当DRR1的数据被读取后,下一个RBR至DRR的拷贝周期马上开始。如果先读DRR1的话,则DRR2中的数据将丢失。
十、MCBSP发送
MCBSP发送物理通路示意图:
MCBSP发送时序图:
MCBSP发送数据的过程如下:
(1)CPU或DMA***将数据写入数据发送寄存器(DXR)中。当DXR1中载入数据时,SPCR2寄存器中的tran**itter ready bit(XRDY) 位 被清零,用以表示发送器还未准备好新数据。如果字长超过16-bit,则除了DXR1寄存器外,还需要使用DXR2寄存器;否则,只要使用DXR1寄存器即可。
注:如果DXR1和DXR2寄存器都被使用了,则CPU或DMA***在向DXR寄存器中载入数据时,需要先载入DXR2的数据,然后载入DXR1的数据。当DXR1中被载入数据时,DXR寄存器中的数据会立刻被拷贝入发送移位寄存器(XSR)中。如果DXR2没有被先载入,则先前的DXR2中的数据将被移位至XSR2中,而导致数据错误。
(2)当新数据到达DXR1后,MCBSP将会将数据发送寄存器(DXR)中的内容拷贝入发送移位寄存器(XSR)中。另外,tran**it ready bit将会被置1。由此表示***已经准备好从CPU和DMA***中接收数据。如果字长超过16-bit,则除了XSR1寄存器外,还需要使用XSR2寄存器;否则,只要使用XSR1寄存器即可。
如果数据压缩和扩展(companding)被启用,则MCBSP将DXR1中的16-bit数据压缩为XSR1中的8位数据;如果没有被启用,则MCBSP直接将DXR中的数据传输到XSR而不做任何调整和改动。
(3)MCBSP在FSX管脚上等待传输帧同步信号。
(4)当帧同步脉冲到达时,MCBSP按照XCR2寄存器中的XDATDLY位所设定的数据延迟来**数据延迟。
(5)MCBSP将发送移位寄存器(TXR)中的数据位移位至DX管脚。
八、MCBSP产生的中断和DMA事件
MCBSP通过下述内部信号来通知CPU和DMA***:
一 公司基本情况速览总股本:1.879亿 总发行量 :4690万 发行**:10.69元 募资总额:5.01亿发行市盈率:20.42倍 行业市盈率:19.12倍所属行业:燃气生产和供应 所属区域:陕西
美能能源(001299)12月6日主力资金净买入1125.28万元
截至2022年12月6日收盘,美能能源(001299)报收于27.53元,上涨2.92%,换手率39.8%,成交量18.67万手,成交额5.05亿元。12月6日的资金流向数据方面,主力资金净流入112
截至2022年11月8日收盘,美能能源(001299)报收于22.69元,上涨3.18%,换手率71.38%,成交量33.48万手,成交额7.75亿元。资金流向数据方面,11月8日主力资金净流出399
专访美能能源董事长晏立群:紧随绿色低碳能源**大潮 捕捉清洁能源发展新商机
90年代初,****前沿的深圳还处在草莽创业的时期,那时候,深圳吸引了一批又一批来自全国各地的年轻人,晏立群就是其中之一。从外出闯荡到回乡扎根,从推销液化气灶具到推广应用天然气,从“打工人”到创业者,
美能能源(001299)7月20日股东户数2万户,较上期减少6.82%
近日美能能源披露,截至2023年7月20日公司股东户数为2.0万户,较7月10日减少1465.0户,减幅为6.82%。户均持股数量由上期的8731.0股增加至9370.0股,户均持股市值为15.18万
美能能源2023年3月22日在深交所互动易中披露,截至2023年3月20日公司股东户数为2.27万户,较上期(2023年2月10日)减少3573户,减幅为13.59%。美能能源股东户数低于行业平均水平
美能能源7月24日在交易所互动平台中披露,截至7月20日公司股东户数为20020户,较上期(7月10日)减少1465户,环比降幅为6.82%。证券时报•数据宝统计,截至发稿,美能能源收盘价为16.20
记者 | 陈慧东编辑 | 10月31日上市首日,美能能源(001299.SZ)高开后一路上涨,两次触及涨停**,于10时01分许封上涨停板。截至收盘,该股股价上涨43.97%,报15.39元/股,成交
美能能源2023年7月18日在深交所互动易中披露,截至2023年7月10日公司股东户数为2.15万户,较上期(2023年6月30日)增加59户,增幅为0.28%。美能能源股东户数低于行业平均水平。根据
多主力现身**榜,美能能源换手率达67.90%(11-24)
深交所2022年11月24日交易***息显示,美能能源因属于当日换手率达到20%的证券而登上**榜。美能能源当收22.57元,涨跌幅为-1.53%,换手率67.90%,振幅10.43%,成交额7.
多主力现身**榜,美能能源换手率达47.30%(11-23)
深交所2022年11月23日交易***息显示,美能能源因属于当日换手率达到20%的证券而登上**榜。美能能源当收22.92元,涨跌幅为9.98%,换手率47.30%,振幅12.57%,成交额4.9
11月30日美能能源(001299)**榜数据:机构净买入6.49万元
沪深交易所2022年11月30日公布的交易***息显示,美能能源(001299)因日换手率达到20%的前5只证券登上**榜。此次是近5个交易日内第5次上榜。截至2022年11月30日收盘,美能能源(0
美能能源将开启申购:上半年增收不增利,预计上市时市值20亿元
10月17日,陕西美能清洁能源集团股份有限公司(下称“美能能源”,SZ:001299)披露发行公告,并将于2022年10月18日开启申购。本次上市,美能能源的发行价为10.69元/股,发行市盈率20.
美能能源(001299)11月15日主力资金净卖出2095.05万元
截至2022年11月15日收盘,美能能源(001299)报收于20.1元,下跌1.03%,换手率21.43%,成交量10.05万手,成交额2.01亿元。11月15日的资金流向数据方面,主力资金净流出2
深交所2022年10月31日交易***息显示,美能能源因属于无**涨跌幅**的证券而登上**榜。美能能源当收15.39元,涨跌幅为43.97%,换手率7.15%,振幅23.95%,成交额5142.
陕西又一城燃公司IPO过会,美能能源“内生式增长”成效几何?
华夏时报(www.chinatimes.net.cn)记者 苗诗雨 陆肖肖 北京报道继陕天然气(002267.SZ)后,陕西第二家区域性城燃公司即将于近日上市发售。天然气资源和油气资源丰富的陕西地区,
加码新能源领域投资 美能能源拟投建集团总部暨西安智慧能源研究院
本报记者 殷高峰11月14日,美能能源发布公告称,公司与西安高新区管委会拟签订《美能能源总部暨西安智慧能源研究院建设项目协议书》,公司计划在西安高新区上市企业园建设美能能源总部暨西安智慧能源研究院,总
多主力现身**榜,美能能源换手率达55.10%(11-25)
深交所2022年11月25日交易***息显示,美能能源因属于连续三个交易日内收盘**涨幅偏离值累计20%、当日换手率达到20%的证券而登上**榜。美能能源当收24.83元,涨跌幅为10.01%,换
多主力现身**榜,美能能源换手率达32.22%(05-29)
深交所2023年5月29日交易***息显示,美能能源因属于当日换手率达到20%的证券而登上**榜。美能能源当收18.72元,涨跌幅为3.43%,换手率32.22%,振幅12.43%,成交额2.73
11月7日美能能源(001299)**榜数据:机构净卖出1216.39万元
沪深交易所2022年11月7日公布的交易***息显示,美能能源(001299)因日换手率达到20%的前5只证券登上**榜。此次是近5个交易日内第3次上榜。截至2022年11月7日收盘,美能能源(001