DSP原理及应用-TMS320DM6437 课件 第八章:TMS320DM6437主机接口与多通道缓冲串口_第1页
DSP原理及应用-TMS320DM6437 课件 第八章:TMS320DM6437主机接口与多通道缓冲串口_第2页
DSP原理及应用-TMS320DM6437 课件 第八章:TMS320DM6437主机接口与多通道缓冲串口_第3页
DSP原理及应用-TMS320DM6437 课件 第八章:TMS320DM6437主机接口与多通道缓冲串口_第4页
DSP原理及应用-TMS320DM6437 课件 第八章:TMS320DM6437主机接口与多通道缓冲串口_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP原理及应用第八章TMS320DM6437主机接口与多通道缓冲接口第八章TMS320DM6437主机接口与多通道缓冲串口8.1主机接口(HPI)8.2多通道缓冲串口(McBSP)8.1主机接口(HPI)1.HPI概述通用主机接口(HPI)是一个与主机通信的高速并行接口,外部主机掌管该接口的主要控制权。在TMS320C64xx系列DSP中,主机接口HPI是一个

16/32位宽度的并行端口。通过它可以实现一个外部主控制器同TMS320C643x系列DSP器件之间的通信,能够实现直接访问DSP的存储空间。HPI与主机的连接是通过DMA/EDMA控制器来实现的,即主机不能直接访问CPU上的存储空间,需要借助HPI,使用DMA/EDMA的附加通道,才能完成对DSP存储空间的访问。主机和CPU都可以访问HPI控制寄存器(HPIC),主机一方还可以访问HPI地址寄存器(HPIA)以及HPI数据寄存器(HPID)。对于TMS320C64×系列,CPU还可以访问HPIA寄存器。8.1主机接口(HPI)HPI主机由以下五个部分组成:①HPI存储器(DARAM):HPIRAM主要用于DSP与主机之间传送数据,也可以用作通用的双寻址数据RAM或程序RAM。②HPI地址寄存器(HPIA):它只能由主机对其直接访问,该寄存器中存放着当前寻址的HPI存储单元的地址。③HPI数据锁存器(HPID):它只能由主机对其直接访问。④HPI控制寄存器(HPIC):DSP和主机都能对其直接访问。⑤HPI控制逻辑:用于处理HPI与主机之间的接口信号。8.1主机接口(HPI)接口特征C62x/C67xC64xC620x/C670xC621x/C671xC64xHPI16C64xHPI32数据总线长度16bit16bit16bit32bit字节使能管脚/HBE[0:1]有无无无半字指示HHWIL信号使用使用使用不使用访问半字数据支持不支持不支持不支持访问HPIA只能主机访问只能主机访问主机或CPUHPIA包括HPIAR和HPIAW主机或CPUHPIA包括HPIAR和HPIAW/HRDY操作每次访问一个字后无效内部读/写缓存notready时无效与C621x/C671x相同与C621x/C671x相同内部读缓存无有,8级深度有,16级深度有,16级深度内部写缓存无有,8级深度有,32级深度,内部定时器超时后清空有,32级深度,内部定时器超时后清空表8-1

不同芯片的HPI接口对比2.HPI的结构与功能图8-1

TMS320C64x外部引脚接口8.1主机接口(HPI)信号类型管脚数主机对应信号主机对应信号HD[15:0]或HD[31:0]I/O/Z16或32数据总线

HCNTL[1:0]12地址或控制线HPI访问类型控制HHWIL11地址或控制线确认半字(16bit)输入/HAS11地址锁存使能(ALE),地址选通,或者不用对复用地址/数据总线的主机,区分地址和数据/HBE[1:0]12字节使能写数据字节使能HR/#W11读/写选通读/写选通/HCS11地址或控制总线输入数据选通/HDS[1:2]11读选通,写选通,数据选通输入数据选通/HRDY01异步ready信号当前访问HPI状态准备好/HINT01主机中断输入向主机发出的中断信号表8-2

HPI接口信号描述注:C64x仅在HPI16模式下有HHWIL信号HPI引脚8.1主机接口(HPI)图8-1

TMS320C64x外部引脚接口HPI引脚由以下几个部分组成:(1)HD[15:0]或HD[31:0]:在复用模式下,数据线的宽度一般为CPU位宽的一半,一个HPI访问分为高低半字的两次访问。8.1主机接口(HPI)(2)HCS:HPI片选信号。作为HPI的使能输入端,在每次寻址期间必须为低电平,而在两次寻址之间也可以停留在低电平。(3)HAS:地址选通信号,此信号用于主机的数据线和地址线复用的情况。而不用时此信号应接高。(4)HBIL:字节识别信号,用于识别主机传送过来的第一个字节还是第二个字节。(5)HCNTL0、HCNTL1:主机控制信号,用来选择主机所要寻址的寄存器。(6)HDS1、HDS2:数据选通信号,在主机寻址HPI周期内控制数据的传送。(7)HINT:HPI中断输出信号,受HPIC中的HINT位控制。8.1主机接口(HPI)通过HPI,主机与DSP之间可以互发中断。①HINT是HPI送给主机的中断信号,DSP对HPIC位写1,HINT信号线上送出高电平信号,主机可利用此信号作为中断输入。②DSP不能清除HPIC状态,主机在响应中断后,需要对HPIC位写1清除状态,DSP才能再次对HPIC置位发中断。③主机通过写HPIC置1给DSP产生中断,DSP在响应中断后,需要对HPIC写1清除状态,主机才能继续操作给DSP发中断。④通过HPI传输数据,结合互发中断作为软件层的握手信号,可有效提高通讯的效率与灵活性。8.1主机接口(HPI)(8)HRDY:HPI准备好端。高电平表示HPI已准备好执行一次数据传送;低电平表示HPI正忙于完成当前事务,用于连续高速主机。(9)HR/W:HPI读写信号。高电平表示主机要读HPI,低电平表示写HPI。(10)HPIENA:HPI允许信号,若系统选中HPI则将它连到高电平,否则悬空或接低电平。(11)ALE:存在于地址数据线复用的主机上用来指示地址信号周期,这种总线复用的主机很少见,所以通常将ALE固定上拉处理,只用HSTROBE(HDS1、HDS2、HCS)采样控制信号。8.1主机接口(HPI)主机访问HPI的一个字包括两个步骤:首先访问第一个字节,此时HBIL为0;然后访问第二个字节,此时HBIL为1;这两步组成一个访问单元。这个访问单元不可被拆开或颠倒,不管当前访问的是HPIA、HPIC还是HPID。8.1主机接口(HPI)3.HPI的读/写时序

8.1主机接口(HPI)图8-2HPI读时序(固定接高电平)

图8-3HPI读时序(接口应用了信号)

图8-4HPI写时序(固定接高电平)

图8-5HPI写时序(接口应用了信号)

图8-6

HPI接口总线访问时序图主机CPU访问DSPHPI接口的顺序:(1)初始化HPI控制寄存器(HPIC)。(2)初始化HPI地址寄存器(HPIA)。(3)从HPI数据寄存器(HPID)中写数据或者读数据。4.HPI的操作TMS320DM6437的引导模式中,有一种方式是允许复位后由主机通过HP1对DSP进行初始化的,称为HPIboot模式。加载顺序如下:(1)只有DSP内核进入复位状态,其余所有的模块保持激活状态(2)主机通过HPI接口访问TMS320C6000的整个存储空间(包括片内的外设寄存器),对它们进行初始化;(3)完成有关设置之后,主机向HPIC寄存器的DSPINT位写1,将DSP从复位状态唤醒;(4)DSPCPU接管DSP的控制权,从地址0开始执行程序。8.1主机接口(HPI)TMS320DM6437提供了三个32位寄存器HPIC、HPIA、HPID和32位数据线与主处理器通信。主处理器通过HPIC、HPIA、HPID和数据线来与TMS320DM6437进行数据交换、数据交换的过程如下:首先初始化HPIC。然后把地址写到HPIA。最后通过HPID读或写数据。8.1主机接口(HPI)图8-7

HPI接口硬件设计原理图这里主机CPU采用Samsung的ARM9S3C2410,那么主机与目标机之间的连接如下图8-7所示:目标DSP的nHCS连接到主机S3C2410的nGCS5上,同时目标DSP的HPI寄存器映射到主机内存中。8.1主机接口(HPI)表8-3

HPI寄存器在MCUCS5空间的地址映射表HPI寄存器读HPI地址写HPI地址HPIC0x2800_00100x2800_0000HPIA0x2800_00140x2800_0004HPID(自增)0x2800_00180x2800_0008HPID0x2800_001c0x2800_000c8.1主机接口(HPI)5.HPI寄存器HPI寄存器是主要用于DSP与主机之间传送数据,也可以用作通用的双寻址数据RAM或程序RAM。该寄存器通过3个寄存器完成主机与CPU之间的通信,这3个寄存器分别是:HPI数据寄存器、HPI地址寄存器和HPI控制寄存器。

8.1主机接口(HPI)(1)HPI数据寄存器(HPID)

寄存器用于存放主机从存储空间读取的数据,或是主机要向DSP存储空间写入的数据。如果当前进行读操作,则HPID中存放的是要从HPI存储器中读出的数据;如果当前进行写操作,则HPID中存放的是将要写到HPI存储器的数据。(2)HPI地址寄存器(HPIA)

HPIA寄存器用于存放当前主机寻址访问DSP存储空间的地址,这是一个30位的值,也就是说该地址是一个word地址,它的最低2位固定为O。

8.1主机接口(HPI)(3)HPI控制寄存器(HPIC)HPIC寄存器字长为32位,但高16位和低16位对应于同一个物理存储区,因此高16位和低16位的内容一致。写HPIC时,也必须保证写入数据的高16位和低16位的内容一致。

HPIC对HPI的工作模式进行控制,HPIC必须在进行HPI访问前由主机初始化。当主机要随机访问HPIRAM时,必须先发送一个地址到HPIA(HPI地址寄存器),然后访问该地址所指向的RAM单元。8.1主机接口(HPI)HPIC中每一位都有特定的功能1.HWOB(半字顺序位)如果HWOB=1,第一个半字为最低有效;如果HWOB=0,第一个半字为最高有效。HWOB对地址和数据都起作用。2.DSPINT主机产生的Processor-to-CPU中断,用于HPI启动方式中将DSP内核从复位状态中唤醒。3.HINTDSP-to-Host中断,即通过向此位写入特定值来产生对主机的中断。8.1主机接口(HPI)8.HPI的中断申请HPI的中断申请是由/HINT引脚向主机的/INTERRUPT引脚发出中断信号来实现的。HPI有两种工作方式:(1)共用寻址方式(SAM)(2)仅主机寻址方式(HOM)

8.1主机接口(HPI)7.HPI应用实例

在TMS320C64xx系列DSP中,主机接口HPI是一个16/32位宽度的并行端口。主机通过HPI接口可以直接访问DSP的存储器空间和DSP片内存储映射的外围设备。HPI与DSP存储空间之间的互联是通过DMA控制器实现的。TMS320DM6437DSP提供了三种引导方式:1)没有自举过程2)ROM自举3)HPI自举8.1主机接口(HPI)在复位信号reset信号的上升沿检查设置管脚BOOTMODE状态,自举逻辑开始生效。TMS320C64xxEMIFB地址总线上的BEA[19:18]管脚电平决定了引导配置。BOOTMODE引导方式00无01主机引导(通过HPI或PCI)10EMIFB8位宽ROM,默认时序11保留表8-4TMS320DM6437HPIboot配置8.1主机接口(HPI)8.2多通道缓冲串口(McBSP)1.McBSP概述TMS320C64x的多通道缓冲串行接口(McBSP)是一种功能很强的同步串行接口,具有很强的可编程能力,可以直接配置成多种同步串口标准,直接与各种器件无缝接口。①T1/E1标准:通信器件②MVIP和ST-BUS标准:通信器件③IOM-2标准:ISDN器件④AC97标准:PCAudioCodec器件⑤IIS标准:Codec器件⑥SPI:串行A/D、D/A,串行存储器等器件全双工串行通信允许连续的数据流传输的双缓冲数据寄存器,拥有两级缓冲发送和三级缓冲接收能够与工业标准的编/解码器、模拟接口芯片(AICs)以及其他串行A/D、D/A器件转换设备接口直接连接McBSP多通道缓冲串行接口具有如下的功能:数据传输可利用外部移位时钟或者内部可编程频率移位时钟完成。8.2多通道缓冲串口(McBSP)McBSP具有以下的特点:(1)支持以下方式的直接接口连接(2)每个串行接口可与多达128个通道进行多通道接收和发送。(3)支持传输的数据串行字长度可以是8、16、32位等多种。(4)支持内置的u-律和A-律数据压缩扩展。(5)对于8位数据的传输,可以选择LSB先传或MSB先传。(6)可以编程设置帧同步信号和数据时钟信号的极性。(7)高度可编程的内部传输时钟和帧同步信号脉冲具有相当大的灵活性。8.2多通道缓冲串口(McBSP)McBSP主要包括以下机组功能引脚:(1)位-时钟:CLKX,CLKR(2)帧同步信号:FSX,FSR(3)串行数据流:DR,DX8.2多通道缓冲串口(McBSP)McBSP为同步串行通信接口,其协议包含:(1)串行数据起始时刻:称为帧同步事件(2)串行数据流长度:串行传输的数据流达到设定的长度后,便结束本次传输,并等待下一个帧同步信号的到来,进行另一次传输。(3)串行数据传输速度:由位时钟决定。(4)FSR、CLKR和DR三者之间的关系,即它们如何取得帧同步事件、何时采样串行数据位流、或何时输出串行数据位流是可以控制的。通过配置McBSP的寄存器就可以实现。8.2多通道缓冲串口(McBSP)2.McBSP结构与对外接口每一个McBSP接口包括23个映射到DSP数据空间的寄存器。McBSP接口工作的控制由向这些寄存器写入合适的数据来实现;McBSP接口的工作状态由从这些寄存器读出的数据来获得。图8-8

McBSP结构框图8.2多通道缓冲串口(McBSP)McBSP接口工作控制的主要内容包括以下方面:(1)内部时钟的产生(2)帧同步信号的产生(3)每帧中包含数据路数的选择(4)每路中包含的数据位数的选择(5)中断和事件触发信号的产生8.2多通道缓冲串口(McBSP)管脚I/O/Z说明CLKRI/O/Z接收时钟CLKXI/O/Z发送时钟CLKSI外时钟DRI串行数据接收DXO/Z串行数据发送FSRI/O/Z接收帧同步FSXI/O/Z发送帧同步表8-5

McBSP接口信号8.2多通道缓冲串口(McBSP)3.McBSP寄存器McBSP寄存器通过使用串口控制寄存器(SPCR)和引脚控制寄存器(PCR)来配置串口,采用子地址寻址方式。

McBSP通过复接器将一组子地址寄存器复接到存储器映射的一个位置上。复接器由子块地址寄存器(SPSAx)控制。

子块数据寄存器(SPSAx)用于指定子地址寄存器中数据的读/写。这种方法的好处是可以将多个寄存器映射到一个较小的存储器空间。

8.2多通道缓冲串口(McBSP)4.McBSP的操作8.2多通道缓冲串口(McBSP)图8-8

McBSP结构框图McBSP包括一个数据通道和一个控制通道。(1)数据通道通过7个引脚与外部设备连接,数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX,接收时钟引脚CLKR,发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。McBSP的接收操作采取的是3级缓存方式,发送操作采取的是2级缓存方式。8.2多通道缓冲串口(McBSP)(2)控制通道发送数据首先由CPU或DMA控制器写入发送数据寄存器DXR。如果XSR寄存器为空,则在FSX和CLKX作用下DXR中的值被复制到XSR准备移位输出;否则,DXR会等待XSR中旧数据的最后1位被移位输出到DX管脚后,才将数据复制到XSR中。CLKX、CLKR、FSX、FSR既可以由内部采样率发生器产生,也可以由外部设备驱动。McBSP的多通道功能主要用于进行时分复用(TDM)数据流的通信。

8.2多通道缓冲串口(McBSP)5.McBSP的应用多通道缓冲串口McBSP的功能是提供器件内外数据的串行交换,具有很大的灵活性。根据McBSP在通信中所处的地位和功能,可以有以下几种工作模式:多通道缓冲模式SPI模式ABIS模式数字回环模式GPI0模式省电模式8.2多通道缓冲串口(McBSP)SPI协议是一种主从配置的,支持一个主设备,一个或多个从设备的串行通信协议。接口由4个信号组成:串行数据输入MISO、串行数据输出MOSI、移位时钟SCK和从方使能SS。图8-9SPI接口示意图8.2多通道缓冲串口(McBSP)位域寄存器功能描述CLKSTP=10/11bSPCR1选择时钟停止模式(有或无时钟延时)CLKXP=0/1PCR选择CLKX的极性为正/负CLKRP=0/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论