欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    DSP片上外围电路.ppt

    • 资源ID:5428156       资源大小:1.31MB        全文页数:121页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DSP片上外围电路.ppt

    第五章 DSP片上外围电路,数字信号处理系统设计与实践,上 海 交 通 大 学 电 子 工 程 系,通用输入输出,定时器,时钟产生逻辑,多通道缓冲串行口 McBSP,DMA,HPI,外部总线,小结,主要内容,通用输入输出,监测外部接口器件的状态,可作为中断信号的一种替代不会导致程序被打断,跳转控制输入脚 BIO,XC指令是在流水线的译码阶段检测BIO状态,其它的条件指令(如BC、CC和RC等)是在流 水线的读阶段检测BIO状态,举例:XC 2,BIOBIO为低,执行后面一条双字或2条单字指令,通用输入输出(续),XF的状态由状态寄存器ST1中的XF位置控制,复位时XF管脚输出高电平,外部标志输出脚 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中的TSS置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 在内的模拟电路全部关闭以降低功耗。,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延时。,多通道缓冲串行口 McBSP,主要特点,全双工通信能力(最大速率1/2CPU clock),双缓冲发送和三缓冲接收数据寄存器,以实现连续的数据流收发,接收和发送具有独立的帧同步信号和移位时钟,支持与工业标准编解码器、串口A/D和D/A转换器以及SPI设备的无缝连接,多通道缓冲串行口 McBSP(续),主要特点(续),支持多达128个通道的接收和发送,支持宽度为8、12、16、24和32位比特数据的收发,具有m律与A律数据压扩功能,8比特数据传输可选择低位在前或高位在前,帧同步信号和数据移位时钟的极性、速率可编程。,移位时钟可由外部提供,也可由内部编程产生,对CPU产生收发中断或对DMA控制器发送事件,EF01,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二个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 寄存器配置,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在接收到帧同步时产生 XINTM=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、16、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接收时的接收压缩模式、接收同步帧忽略模式、接收数据延迟。,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写到0039H地址,就对应于写到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控制寄存器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 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和CLKX的极性。,单相帧或双相帧选择。,各相的每帧字数(1-128)和各相的每字位数(8.32)。,除第一个帧同步脉冲外,随后的帧同步脉冲是重新开 始串行数据流还是被忽略。,从帧同步脉冲到第一个数据位的延迟数可以是0、1或 2比特。,接收数据可以选择右对齐或左对齐、符号扩展或零扩展。,数据帧同步的参数,帧同步和时钟信号产生模式,接收和发送帧同步脉冲:,1)内部采样率发生器(SRGR)2)外部源驱动帧同步信号由PCR的FS(R/X)M位选定。而FSR受SRGR2中的GSYNC影响。,时钟信号:,接收和发送时钟信号由PCR的CLK(R/X)M位可选外部输入或内部输出。,采样率时钟发生器,采样率时钟发生器(续),分频器的三个参数,数据位时钟分频(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个时钟延迟,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典型的串行接收和串行发送例子(续),McBSP串行数据发送,多通道缓冲串行口 McBSP(续),帧同步比特位(R/X)FIG,(R/X)FIG=0:每一个帧同步脉冲触发数据传输,(R/X)FIG=1:忽略帧同步,忽略帧同步主要作用,对数据进行打包以降低总线带宽,消除非预期帧同步的影响,多通道缓冲串行口 McBSP(续),m-LAW/A-LAW的压扩硬件处理,压扩硬件结构,压扩的数据转换格式,多通道缓冲串行口 McBSP(续),压扩硬件对内部数据实现压扩处理,方法一:当串行口的发送和接收部分都处于复位状态时,DRR1和DXR1内部通过压扩逻辑连接在一起,数据从DXR1写入并根据XCOMPAND处理,然后根据RCOMPAND再处理,在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-law数据压缩编码,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/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区最多可选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 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 Block 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.Channel 112 to channel 127,1 rsvd 保留,RMCM=0 所有128通道有效RMCM=1 缺省下所有通道无效,需要的通道可由RP(A/B)BLK 和 RCER(A/B)选择。,0 RMCM 接收多通道选择使能,多通道缓冲串行口 McBSP(续),多通道控制寄存器MCR2位说明(发送控制),15-9 rsvd 保留,Function,Name,Bit,8-7 XPABLK 接收区A块,XPBBLK=00 Block 1.Channel 16 to channel 31XPBBLK=01 Block 3.Channel 48 to channel 63XPBBLK=10 Block 5.Channel 80 to channel 95XPBBLK=11 Block 7.Channel 112 to channel 127,XPABLK=00 Block 0.Channel 0 to channel 15XPABLK=01 Block 2.Channel 32 to channel 47XPABLK=10 Block 4.Channel 64 to channel 79XPABLK=11 Block 6.Channel 96 to channel 111,65 XPBBLK 接收区B块,多通道缓冲串行口 McBSP(续)MCR2续,4-2 XCBLK 发送当前块,Function,Name,Bit,XCBLK=000 Block 0.Channel 0 to channel 15XCBLK=001 Block 1.Channel 16 to channel 31XCBLK=010 Block 2.Channel 32 to channel 47XCBLK=011 Block 3.Channel 48 to channel 63XCBLK=100 Block 4.Channel 64 to channel 79XCBLK=101 Block 5.Channel 80 to channel 95XCBLK=110 Block 6.Channel 96 to channel 111XCBLK=111 Block 7.Channel 112 to channel 127,1-0 XMCM,XMCM=00 所有通道有效无屏蔽XMCM=01 缺省下所有通道无效且屏蔽,需要的通道可有选择打开。XMCM=10 所有通道有效但屏蔽XMCM=11 缺省下所有通道无效且屏蔽,有选择打开对称收发模式。,接收通道使能寄存器RCERA/B,发送通道寄存器XCERA/B,多通道缓冲串行口 McBSP(续),SPI操作,SPI接口,McBSP作为SPI主设备参数设置:CLKXM=1;CLKSM=1;FSXM=1;FSGM=0;FSXP=1;XDATDLY=RDATDLY=01b,McBSP作为SPI从设备参数设置:CLKXM=0;CLKSM=1;FSXM=0;FSGM=0;FSXP=1;XDATDLY=RDATDLY=0,多通道缓冲串行口 McBSP(续),SPI操作(续),McBSP作为SPI主设备,McBSP作为SPI从设备,多通道缓冲串行口 McBSP(续),McBSP管脚作为通用I/O脚,多通道缓冲串行口 McBSP(续),直接存储器访问DMA,在一个实时系统中,DMA在无需CPU干涉的情况下实现peripheral/memory 到 memory/peripheral的数据传输:,后台操作:DMA操作独立于CPU独立六通道HPI访问多帧传输(块传输)可编程优先级可编程地址发生器全地址范围(片内存储器、片内外设、片外存储器)可编程字宽、DMA Sync Event、帧计数器块传输时自动初始化事件同步中断产生最大速度:每四个CPU时钟传一个16-bit字,直接存储器访问DMA(续),C54xx的DMA的基本特性:,专用术语,-Element(元素):传递基本单元(1,2 words),-Frame(帧):若干元素(1-64K),-Block(块):若干帧(1-256),源地址,目的地址,SOURCE,DEST,DMA传输取决于:-源/目的地址-通道间优先级-事件同步(可选不同事件)-元素/帧计数-索引(变址)(可选不修改,增/减1和元素/帧变址),Element 1,Element 2,Element 3,Element 4,Frame 1,Frame 2,Frame 3,Frame 4,C54x DMA,直接存储器访问DMA(续),DMABus,C54x DMA资源,直接存储器访问DMA(续),相关设置,DMA控制寄存器两种访问方式,存储器映射寄存器访问、同址寻址方式(子地址),直接存储器访问DMA(续),直接存储器访问DMA(续),DMA寄存器,直接存储器访问DMA(续),DMA寄存器,DMA寄存器,通道优先级和使能控制(DMPREC)寄存器,通道寄存器(通道05),源地址寄存器DMSRC0-5、目的地址寄存器DMDST0-5、元素数目寄存器DMCTR0-5、同步事件选择和帧数目寄存器DMSFC0-5、传输模式控制寄存器DMMCR0-5,全局寄存器,源程序空间页地址DMSRCP、目的程序空间页地址DMDSTP、元素地址索引寄存器DMIDX0-1、帧地址索引寄存器DMFRI0-1、全局源地址重载寄存器DMGSA、全局目的地址重载寄存器DMGDA、全局元素数目重载寄存器DMGCR、全局帧数目重载寄存器DMGFR,直接存储器访问DMA(续),DMPREC寄存器,直接存储器访问DMA(续),FREE:仿真器控制模式。DPRCx:中断优先控制位,=1高优先级;=0低优先级相同优先级中断按循环服务模式。DEx:中断使能控制位,=1使能,C5402的DMA中断复用(不同型号有所区别),DMPREC寄存器(续),直接存储器访问DMA(续),INTOSEL(7-6):中断复用控制位,DMPREC寄存器(续)-C5416的DMA中断复用,直接存储器访问DMA(续),DMSFCn寄存器(同步事件选择和帧数目寄存器),C5402的DMA同步事件(不同型号有所区别),直接存储器访问DMA(续),C5416的DMA同步事件,直接存储器访问DMA(续),DMMCRn寄存器(传输模式控制寄存器),DINM、IMOD和CTMOD位的作用,直接存储器访问DMA(续),(S/D)IND位:源/目的地址传输索引模式,SIND=000 不修改SIND=001 后加1SIND=010 后减1SIND=011 按DMIDX0后加SIND=100 按DMIDX1后加SIND=101 按DMIDX0和DMFRI0后加SIND=110 按DMIDX1和DMFRI1后加SIND=111 保留,DM(S/D)位:DMA源/目的地址空间选择,DMD=00 程序空间DMD=01 数据空间DMD=10 I/O空间DMD=11 保留,直接存储器访问DMA(续)-DMMCRn,DMSA.set 55h;set register locationsDMSDI.set 56hDMSRC5.set 19hDMDST5.set 1AhDMCTR5.set 1BhDMSFC5.set 1ChDMMCR5.set 1DhSTM DMSRC5,DMSA;initialize the subbank address;register to point to DMSRC5STM#1000h,DMSDI;write 1000h to DMSRC5STM#2000h,DMSDI;write 2000h to DMDST5STM#0010h,DMSDI;write 10h to DMCTR5STM#0002h,DMSDI;write 2h to DMSFC5STM#0000h,DMSDI;write 0h to DMMCR5,直接存储器访问DMA(续),通道5寄存器设置(地址自动加模式)举例,多帧方式,直接存储器访问DMA(续),一帧中多个元素,一块中多个帧。元素索引寄存器(DMIDX0,DMIDX1)帧内修改元素地址 帧索引寄存器(DMFRI0,DMFRI1)在帧满后修改地址 通道元素计数器(DMCTRn)设定每帧元素数量 帧计数器(位于DMSFCn后8位)设定每块帧数量,多帧方式数据排序示例,直接存储器访问DMA(续),按帧排列源数据流序列,按元素排列后数据流序列,ABU方式(autobuffering mode),为DMA数据传输提供一个自动控制的循环缓冲 源和目的只有一个可以自由设置,而另一个被认为是地址不发生改变 DMCTRn设置为循环缓冲的大小,帧的设置不起作用,当循环缓冲地址达到缓冲的边界时,它会自动折回 循环缓冲的大小可以是从0 x0002到0 xFFFF之间的任意值 循环缓冲不能跨越64k边界,自动初始化,一个块传输后自动地进行初始化开始另一个块的传输自动初始化只在多帧方式下有效,直接存储器访问DMA(续),DMA传输的源或目的是扩展程序空间,使用DMSRCP和DMDSTP的低7位设置页地址 页地址设置对所有通道都起作用 传输时DMSRCP和DMDSTP 的值不随源地址和目的地址变化,即数据传输不能跨越64K界,DMA的地址映射表,DMA有一个独立的地址映射表 地址映射表不受MP/MC、DROM和OVLY的影响 不同的芯片有不同的地址映射表,直接存储器访问DMA(续),DMA的执行时间,与源和目的的位置、外部接口、运行中的DMA通道数和通道的优先级等多个因素有关 每次16比特的DMA传输包括一次读和一次写,当源和目的都在片内,共需要4个CPU时钟,其中读和写操作各耗费2个时钟,增强的HPI与DMA,增强的HPI在DMA控制器内有一个专门的端口来产生对DMA总线的请求,当HPI产生了总线请求后,DMA控制器会在当前的一个数据传输完成后,将总线交给HPI使用,同时将所有的DMA传输挂起。直到HPI释放总线后,DMA再继续执行双字传输是不会被HPI打断的,保证了DMA数据的完整性,直接存储器访问DMA(续),直接存储器访问DMA(续),DMA中断模式,(DMMCRn)中的DINM,IMOD 及CTMOD设定:,DINM0:传送完成无中断CTMOD0:多帧模式CTMOD1:ABU模式IMOD:(取决于CTMOD)多帧模式:IMOD=0,块传送结束时发生中断。IMOD=1,每帧结束和块传送结束发生中断。ABU 模式:IMOD=0,缓冲器全满发生中断。IMOD=1,缓冲器半满和全满发生中断。,访问数据总线的优先级,DMA优先级,直接存储器访问DMA(续),直接存储器访问DMA(续),DMA和PCM3002接口举例,ABU方式McBSP数据传输举例,直接存储器访问DMA(续),发送模式:ABU(non-decrement)mode源地址:McBSP0 data receive register(DRR10)目的地址:03000h 030FFh in data space缓冲区大小:100h single(16-bit)words同步事件:McBSP0 receive event通道使用:DMA channel#1,实现功能:,*stm DMSRC1,DMSA;set source address to DRR10stm DRR1_0,DMSDNstm DMDST1,DMSA;set destination address to 3000stm#3000h,DMSDNstm DMCTR1,DMSA;set buffer size to 100h wordsstm#100h,DMSDNstm DMSFC1,DMSAstm;0001(DSYN)McBSP0 receive sync event;0(DBLW)Single-word mode;000 Reserved;00000000(Frame Count)Frame count is not;relevant in ABU mode,ABU方式McBSP数据传输举例(续),直接存储器访问DMA(续),ABU方式McBSP数据传输举例(续),直接存储器访问DMA(续),stm DMMCR1,DMSAstm;0(AUTOINIT)Autoinitialization disabled;1(DINM)DMA Interrupts enabled;0(IMOD)Interrupt at full buffer;1(CTMOD)ABU(non-decrement)mode;0 Reserved;000(SIND)No modify on source address(DRR10);01(DMS)Source in data space;0 Reserved;011(DIND)Post increment destination address;with DMIDX0;01(DMD)Destination in data spacestm DMIDX0,DMSA;set element address index to+1stm#0001h,DMSDN,ABU方式McBSP数据传输举例(续),直接存储器访问DMA(续),stm#0000001000000010b,DMPREC;0(FREE)DMA stops on emulation stop;0 Reserved;0(DPRC5)Channel 5 low priority;0(DPRC4)Channel 4 low priority;0(DPRC3)Channel 3 low priority;0(DPRC2)Channel 2 low priority;1(DPRC1)Channel 1 high priority;0(DPRC0)Channel 0 low priority;00(INTOSEL)N/A;0(DE5)Channel 5 disabled;0(DE4)Channel 4 disabled;0(DE3)Channel 3 disabled;0(DE2)Channel 2 disabled;1(DE1)Channel 1 enabled;0(DE0)Channel 0 disabled*,主机接口 HPI,HPI两种类型,HPI-8,HPI-16,标准HPI-8,增强HPI-8,只能访问片内某个固定2K大小的部分,允许主机异步访问,允许主机独占片内RAM的访问权,可以访问片内所有的RAM,主机访问DSP时始终同DSP的时钟同步,主机和DSP始终能访问片内RAM,HPI-8的结构框图,典型的HPI连接方式,HPI寄存器,HPI-8控制信号,HPI-8字节选择,HBIL管脚表明当前传输的是第几个字节,HBIL为低表示传输的是第一个字节,为高则为第二个字节 第一个字节是16比特字的高字节或低字节由控制寄存器的BOB位来决定,HPI-8中断逻辑,主机通过置HPIC中的特定位来产生DSP中断 DSP通过设置HPIC中的特定位,使管脚HINT输出为低来对主机产生中断 主机可以通过合理地写HPIC来清除中断 当DSP复位时HINT管脚输出为高,当DSP的EMU1/OFF管脚低有效时HINT管脚输出高阻,HPI选通和选择逻辑,HPIC寄存器,HPI的操作,主机读HPIC,主机写HPIC,DSP读HPIC,DSP写HPIC,HPI-8的时序,HPI-8的数据传输过程,片外部分:主机与HPI-8寄存器间的数据交换,片内部分:HPI-8寄存器与片内RAM间的数据交换,HPI-的执行时间,HPI-8数据线作为通用I/O,通用I/O控制寄存器(GPIOCR),通用I/O状态寄存器(GPIOSR),15,14-8,6,5,4,3,2,1,0,7,HPI-16模式,(VC5420),HPI接口中断的使用,通过HPI接口,主机和C54X之间可以相互发送中断请求:主机通过HPIC寄存器的DSPINT位中断C54X,而C54X可以通过HPIC寄存器的HINT位发送中断请求到主机。,主机发送中断到C54X,当主机将1写入到HPI控制寄存器HPIC的DSPINT比特位时,C54X将产生一个中断请求。在C54X中,该中断位于中断屏蔽寄存器IMR和中断标志寄存器IFR的D9位,其中断入口地址位于中断向量表中64h。如果IMR中该比特位为1,同时INTM标志为0允许中断请求时,C54X将响应并口中断,程序将跳转到中断向量表的64h,开始执行中断服务程序。,C54X发送中断到主机,当C54X将1写入HPIC的HINT比特位时,HINT引脚变为低电平,主机可以利用该引脚接收C54X发生的中断信号。无论是主机或C54X都可以通过读取HPIC来判断HINT引脚的状态。读出的HINT比特位为0,表示该引脚为高电平;1表示该引脚为低电平。HPIC中的HINT比特位只能通过主机清除,即主机写1到HPIC的HINT位后,外部引脚HINT的状态变回到高电平(这时再读取HPIC,HINT位为0)。,通过HPI完成BOOT LOADER,C54X的BOOTLOADER是芯片在出厂时由生产厂家写入的一段ROM程序。该程序的启动地址正是C54X复位后的起始地址0FF80h。用户可以利用BOOTLOADER方便地将自己的代码程序传送到指定的地方,并开始执行。BOOTLOADER有多种工作方式,通过HPI完成BOOTLOADER是其中的一种。HPI模式需要外部引脚连接配合,即需要将引脚HINT与引脚INT2相连,参见相关文档。,外部总线,外部总线控制单元,软件等待寄存器(SWWSR),存贮器区切换逻辑寄存器(BSCR),等待状态发生逻辑,BNKCMP和存贮器区的大小,DSP存贮器区切换逻辑自动插入额外的周期,一个程序存储器读紧跟着一个从不同存贮器区中读 的程序读操作,一个数据存贮器读操作紧跟着一个从不同存贮器区 中读的数据读操作,当PSDS位为1时,一个程序存贮器读后跟一条数据 存贮器读操作,当PSDS位为1时,一条数据存贮器读后跟一条程序 存贮器读操作,一个程序存贮器读操作紧跟着一个从不同的页中读 的程序读操作,存贮器区切换时典型时序,无等待周期的存储器操作实例,存贮器接口的读读写操作,小结,通用输入输出,定时器,时钟产生逻辑,多通道缓冲串行口 McBSP,DMA,HPI,外部总线,

    注意事项

    本文(DSP片上外围电路.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开