DSP片上外围电路.ppt
《DSP片上外围电路.ppt》由会员分享,可在线阅读,更多相关《DSP片上外围电路.ppt(121页珍藏版)》请在三一办公上搜索。
1、第五章 DSP片上外围电路,数字信号处理系统设计与实践,上 海 交 通 大 学 电 子 工 程 系,通用输入输出,定时器,时钟产生逻辑,多通道缓冲串行口 McBSP,DMA,HPI,外部总线,小结,主要内容,通用输入输出,监测外部接口器件的状态,可作为中断信号的一种替代不会导致程序被打断,跳转控制输入脚 BIO,XC指令是在流水线的译码阶段检测BIO状态,其它的条件指令(如BC、CC和RC等)是在流 水线的读阶段检测BIO状态,举例:XC 2,BIOBIO为低,执行后面一条双字或2条单字指令,通用输入输出(续),XF的状态由状态寄存器ST1中的XF位置控制,复位时XF管脚输出高电平,外部标志输
2、出脚 XF,SSBX和RSBX指令取指与XF生效的时间关系,定时器,CPU时钟信号输入,定时器软件可编程,16位分频及4位预分频,由TIM、PRD、TCR三个寄存器控制,5402两个、5416一个,定时器(续),定时器周期寄存器PRD对TIM重新加载计数值,定时控制寄存器TCR 设置定时器控制及状态位,保留,Soft,Free,PSC,TRB,TSS,TDDR,15-12,11,10,9-6,5,4,3-0,定时器寄存器TIM由PRD加载计数值并递减计数,定时器(续),定时器的结构框图,定时器(续),定时中断速率计算公式,tc(C)是CPU时钟CLKOUT的周期,定时器初始化,将TCR中的TS
3、S置1,停止定时器工作,设定PRD的数值,设定TDDR的数值,并且启动定时器:将TSS 清0和将TRB置1,时钟产生逻辑,结构,内部振荡电路,锁相环(PLL)电路,参考时钟源,两种时钟源,选用外接晶振,直接使用外部时钟,外接晶振与DSP的X1和X2/CLKIN引脚连接,通过CLKMD引脚选择使用内部振荡电路,从X2/CLKIN直接接入,PLL的状态设置,硬件设置方法(复位后时钟工作模式)(C5402),PLL的状态设置(续),软件设置方法,PLL模式:输入时钟经过了倍频处理,获得原来的 0.25至15倍间的一个频率。,分频模式:输入时钟2分频或4分频,此时包括PLL 在内的模拟电路全部关闭以降
4、低功耗。,CLKMD字段,PLLMUL,PLLDIV,PLLCOUNT,PLLON/OFF,PLLNDIV,PLLSTATUS,15-12,11,10-3,2,1,0,PLL系数,PLLCOUNT,针对PLL模式下,在频率锁定的过程中PLL不能给 DSP提供稳定时钟。,使用PLLCOUNT将PLL延迟一段时间后再输出时钟。,PLLCOUNT计算公式:,PLLCOUNT最大锁定时间为25516个输入时钟周期,由DIV(分频)模式切换到PLL模式时,启动PLLCOUNT。在锁定过程中,时钟发生器仍然工作在DIV模式。,从PLL模式切换到DIV模式时,不需要PLLCOUNT延时。,多通道缓冲串行口
5、McBSP,主要特点,全双工通信能力(最大速率1/2CPU clock),双缓冲发送和三缓冲接收数据寄存器,以实现连续的数据流收发,接收和发送具有独立的帧同步信号和移位时钟,支持与工业标准编解码器、串口A/D和D/A转换器以及SPI设备的无缝连接,多通道缓冲串行口 McBSP(续),主要特点(续),支持多达128个通道的接收和发送,支持宽度为8、12、16、24和32位比特数据的收发,具有m律与A律数据压扩功能,8比特数据传输可选择低位在前或高位在前,帧同步信号和数据移位时钟的极性、速率可编程。,移位时钟可由外部提供,也可由内部编程产生,对CPU产生收发中断或对DMA控制器发送事件,EF01,
6、E23A,D6C5,输入/输出缓冲,串口设备,Data,Clock,Frame Sync,McBSP,DMA,内部/外部存储器,多通道缓冲串行口 McBSP(续),通常和DMA一起工作,多通道缓冲串行口 McBSP(续),DMA和McBSP音频系统(例),多通道缓冲串行口 McBSP(续),Ping-Pong Buffer(1/4),多通道缓冲串行口 McBSP(续),Ping-Pong Buffer(2/4),多通道缓冲串行口 McBSP(续),Ping-Pong Buffer(3/4),多通道缓冲串行口 McBSP(续),Ping-Pong Buffer(4/4),McBSP结构,5402
7、二个McBSP5416三个McBSP5416McBSP可设成通用I/O口,DR接收串行数据DX发送串行数据CLKX发送时钟CLKR接收时钟CLKS外部时钟FSR接收帧同步信号FSX发送帧同步信号,McBSP的中断和事件信号,x 取0,1,2分别代表McBSP 0,1 or 2。,时钟和帧同步控制寄存器,McBSP寄存器,McBSP寄存器(续),McBSP配置,通过SPCR1,SPCR2 和 PCR 寄存器配置设定特定操作位及状态信息。PCR 在正常串口工作模式时,配置 McBSP 管脚的输入或输出。在接收器和/或发射器复位时,配置输入输出脚为通用I/O口。,McBSP配置 SPCR1 寄存器配
8、置,DLB=数字环回模式 RINTM=接收中断模式 RJUST=接收符号扩展和校验模式 RSYNCERR=接收同步错误CLKSTP=时钟停止模式 RFULL=接收移位寄存器满DXENA=DX 延迟使能 RRDY=接收机准备好ABIS=A-bis 模式 RRST=接收机复位,McBSP配置 SPCR2 寄存器配置,FREE=自由运行模式(硬件仿真)SOFT=软件位模式(硬件仿真)FRST=帧同步发生器复位GRST=采样率发生器复位。,XINTM位 XINTM=00 XINT由XRDY驱动 XINTM=01 多通道时XINT在块或帧结束时产生 XINTM=10 XINT在接收到帧同步时产生 XIN
9、TM=11 XINT由XSYNCERR产生,McBSP配置 PCR管脚控制寄存器配置,XIOEN=发送端通用IO模式RIOEN=接收端通用IO模式FSXM=发送帧同步模式FSRM=接收帧同步模式CLKXM,CLKRM=发送(接收)时钟模式CLKS_STAT=CLKS 为通用IO时状态DX_STAT,DR_STAT=DX(DR)为通用IO时状态FSXP,FSRP=发送(接收)帧同步信号极性CLKXP,CLKRP=发送(接收)时钟信号极性,McBSP配置 RCR1接收控制寄存器,RCR1设置McBSP接收时第一相(FIRST PHASE)的接收帧长度(从1个字到128个字、接收字长度(8、12、1
10、6、20、24、32bits)。,(R/X)WDLEN1位(R/X)WDLEN1=000 8 比特(R/X)WDLEN1=001 12 比特(R/X)WDLEN1=010 16 比特(R/X)WDLEN1=011 20 比特(R/X)WDLEN1=100 24 比特(R/X)WDLEN1=101 32 比特(R/X)WDLEN1=11X 保留,RCR2设置McBSP接收时是否允许第二相(RPHASE=1)。如果允许,设置McBSP接收时第二相的接收帧长度(从1个字到128个字、接收字长度(8、12、16、20、24、32bits)。此外,RCR2设置McBSP接收时的接收压缩模式、接收同步帧忽
11、略模式、接收数据延迟。,McBSP配置 RCR2接收控制寄存器,XCR1、XCR2设置和RCR1、RCR2相同,略去,(R/X)COMPAND位 仅当RWDLEN=000b时,即字长为8 bit时有效(R/X)COMPAND=00 无压扩处理,最高位先传输(R/X)COMPAND=01 无压扩处理,最低位先传输(R/X)COMPAND=10 对接收数据用m律解压(R/X)COMPAND=11 对接收数据用A律解压,McBSP子地址写入,举例:将01h写入到SPCR10(串口0控制寄存器1)1、将0h写入SPSA0(地址:0038H)。此时,地址0039H指向SPCR10。2、将01h写到003
12、9H地址,就对应于写到SPCR10。参考代码:,SPCR1_SUBADDR.set 0hSPSA0.set 38h;address is 38h for port 0SPCR10.set 39h;address is 39h for port 0STM#SPCR1_SUBADDR,SPSA0h;Store SPCR1;sub-address into SPSA0STM#01h,SPCR10;Storing 01h into SPCR10.,McBSP0编程(C语言)举例,void McBsp0_Set(unsigned int val,unsigned int addr)/写McBsp控制寄存
13、器0SPSA0=addr;SPSD0=val;,void init_McBsp0()/初始化串口0,MCBSP为从器件McBsp0_Set(0 x0000,SPCR1);/串行接口接收器被禁止并且处于复位状态McBsp0_Set(0 x0000,SPCR2);/串行发送接收器被禁止并且处于复位状态McBsp0_Set(0 x000C,PCR);/时钟和帧信号由外部驱动McBsp0_Set(0 x0040,RCR1);/每帧一段,每段一字McBsp0_Set(0 x0004,RCR2);/Ignore FS after the firstMcBsp0_Set(0 x0040,XCR1);/16
14、BITsMcBsp0_Set(0 x0004,XCR2);/Ignore FS after the firstMcBsp0_Set(0 x0040,SPCR2);/启动McBsp串口0McBsp0_Set(0 x0001,SPCR1);McBsp0_Set(0 x00C1,SPCR2);,DSP硬件复位(RS=0)。接收机,发射机及采样率发生器(SRGR)处于复位状态。DSP复位后(RS=1),GRST、FRST、RRST、XRST都等于0,整个串口处于复位状态。,通过设置RRST、XRST和GRST字段分别复位接收部分、发送部分和采样速率发生器。,串行口复位,FSR、FSX、CLKR和CLK
15、X的极性。,单相帧或双相帧选择。,各相的每帧字数(1-128)和各相的每字位数(8.32)。,除第一个帧同步脉冲外,随后的帧同步脉冲是重新开 始串行数据流还是被忽略。,从帧同步脉冲到第一个数据位的延迟数可以是0、1或 2比特。,接收数据可以选择右对齐或左对齐、符号扩展或零扩展。,数据帧同步的参数,帧同步和时钟信号产生模式,接收和发送帧同步脉冲:,1)内部采样率发生器(SRGR)2)外部源驱动帧同步信号由PCR的FS(R/X)M位选定。而FSR受SRGR2中的GSYNC影响。,时钟信号:,接收和发送时钟信号由PCR的CLK(R/X)M位可选外部输入或内部输出。,采样率时钟发生器,采样率时钟发生器
16、(续),分频器的三个参数,数据位时钟分频(CLKGDV)帧周期分频(FPER)帧脉冲宽度分频(FWID),寄存器SRGR1,FWID:帧宽度,CLKGDV:时钟分频数,15-8,7-0,寄存器SRGR2,GSYNC,CLKSP,CLKSM,FSGM,FPER,15,14,13,12,11-0,采样率发生器的两个控制寄存器SRGR1,2,采样率发生器时钟和帧同步信号设置的例子,采样率发生器时钟和帧同步信号设置的例子(续),多通道缓冲串行口 McBSP(续),双相传输示例,多通道缓冲串行口 McBSP(续),数据延迟,多通道缓冲串行口 McBSP(续),帧同步有效到串行数据有效可有0、1、2个时钟
17、延迟,McBSP典型的串行接收和串行发送例子,McBSP寄存器的参数设置,(R/X)FRLEN1=0b,每帧一个字;(R/X)PHASE=0,单相帧;(R/X)FRLEN2=X,(R/X)WDLEN2=X,任意;(R/X)WDLEN1=000b,字长8比特CLK(X/R)P=0,在CLKR下降沿采样接收数据,在 CLKX上升沿采样发送数据;FS(R/X)P=0,帧同步脉冲高有效;(R/X)DATDLY=01b,一比特延迟。,多通道缓冲串行口 McBSP(续),McBSP典型的串行接收和串行发送例子(续),McBSP串行数据接收,多通道缓冲串行口 McBSP(续),McBSP典型的串行接收和串行
18、发送例子(续),McBSP串行数据发送,多通道缓冲串行口 McBSP(续),帧同步比特位(R/X)FIG,(R/X)FIG=0:每一个帧同步脉冲触发数据传输,(R/X)FIG=1:忽略帧同步,忽略帧同步主要作用,对数据进行打包以降低总线带宽,消除非预期帧同步的影响,多通道缓冲串行口 McBSP(续),m-LAW/A-LAW的压扩硬件处理,压扩硬件结构,压扩的数据转换格式,多通道缓冲串行口 McBSP(续),压扩硬件对内部数据实现压扩处理,方法一:当串行口的发送和接收部分都处于复位状态时,DRR1和DXR1内部通过压扩逻辑连接在一起,数据从DXR1写入并根据XCOMPAND处理,然后根据RCOM
19、PAND再处理,在4个CPU时钟后DRR1中读出数据。,方法二:在数字环模式下,McBSP也实现了一种内连。数据处理与第一种方法相同,但它可以提供中断信号(或同步事件)给CPU(或DMA)。,多通道缓冲串行口 McBSP(续),多通道缓冲串行口 McBSP(续),u-law数据压缩曲线,关于A-law/u-law数据压缩与扩展说明,u-law数据压缩编码,多通道缓冲串行口 McBSP(续),13位数据压缩到7位,u-law数据扩展解码,多通道缓冲串行口 McBSP(续),7位数据扩展到13位,A-law数据压缩曲线,多通道缓冲串行口 McBSP(续),多通道缓冲串行口 McBSP(续),A-l
20、aw数据压缩编码,12位数据压缩到7位,A-law数据扩展解码,多通道缓冲串行口 McBSP(续),7位数据扩展到12位,McBSP 举例,接收16个16-bit 字到DSP SARAM,外部CLK/FS,no CPU int,-Bit/CLKR shifted into RSR-RSR RBR-RBR DRR(RRDY=1)-REVT sync event activates DMA(no McBSP setup)-DMA transfers DRR to SARAMrepeat,工作过程,多通道操作(基于TDM),允许McBSP只对特定的通道信息作处理,McBSP必须设置为单相模式((R/
21、X)PHASE=0),字段(R/X)FRLEN1中的数值表明了允许的通道数目,C5400系列McBSP最多可允许128个通道数据,128个通道分成8个块,每块包含16个连续通道,128个通道分为两个区A和B(或8个区A,B.H),A区包含偶数块即第0、2、4和6块,B区包含奇数块即第1、3、5和7块,多通道缓冲串行口 McBSP(续),多通道缓冲串行口 McBSP(续),多通道分区模式,2分区模式(如C5410 or C5420 等)偶数块(0,2,4,6)分到A区,奇数块(1,3,5,7)分到B区最多可选32个通道,8分区模式(如C5416 or C5510 等)块07自动分配到AH区最多可
22、选128个通道,接收和发送的分区数量独立设置,多通道控制寄存器MCR1,2,多通道控制寄存器MCR1,多通道控制寄存器MCR2,多通道缓冲串行口 McBSP(续),接收,发送,多通道缓冲串行口 McBSP(续),多通道控制寄存器MCR1位说明(接收控制),15-9 rsvd 保留,Function,Name,Bit,8-7 RPBBLK 接收区B块,RPBBLK=00 Block 1.Channel 16 to channel 31RPBBLK=01 Block 3.Channel 48 to channel 63RPBBLK=10 Block 5.Channel 80 to channel
23、95RPBBLK=11 Block 7.Channel 112 to channel 127,RPABLK=00 Block 0.Channel 0 to channel 15RPABLK=01 Block 2.Channel 32 to channel 47RPABLK=10 Block 4.Channel 64 to channel 79RPABLK=11 Block 6.Channel 96 to channel 111,65 RPABLK 接收区A块,多通道缓冲串行口 McBSP(续)MCR1续,4-2 RCBLK 接收当前块,Function,Name,Bit,RCBLK=000 B
24、lock 0.Channel 0 to channel 15RCBLK=001 Block 1.Channel 16 to channel 31RCBLK=010 Block 2.Channel 32 to channel 47RCBLK=011 Block 3.Channel 48 to channel 63RCBLK=100 Block 4.Channel 64 to channel 79RCBLK=101 Block 5.Channel 80 to channel 95RCBLK=110 Block 6.Channel 96 to channel 111RCBLK=111 Block 7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 外围 电路
链接地址:https://www.31ppt.com/p-5428156.html