ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:661.96KB ,
资源ID:4116285      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4116285.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于C6416DSK的HPI接口应用与设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于C6416DSK的HPI接口应用与设计.docx

1、基于C6416DSK的HPI接口应用与设计摘要本文介绍利用 TMS320VC6416中主机接口 HPI 实现与主机通信,不需要增加太多额外的硬件设备和软件开销,外部主机通过 HPI 口对 DSP 系统的 RAM 进行访问,不会影响 DSP 的其它处理过程。实现了一种双TMS320VC6416通信的硬件连接方案和软件实现方法,给出了部分程序代码。实验结论证明这种方案可行、有效,对于一些复杂系统的设计具有很好的借鉴意义。关键字: Digital Signal Processor Host Port Interface TMS320VC6416ABSTRACTThis text describes

2、make the HPI of the TMS320VC6416 achieve communication with the Host. We do not add the expenses of hardware and software, The Host will access RAM of DSP through the external of the HPI and will not affect the DSP processing .we get to communications which connect two TMS320VC6416s.The text gives p

3、art of the program code. The Conclusion is proved feasible, effective. Even complex system design is a good reference. keywords: Digital Signal Processor Host Port Interface TMS320VC6416第一章 绪论1.1论文研究背景数字信号处理器(Digital Signal Processor DSP)是近十几年来兴起的一项新技术,DSP以其速度快、功能强的特点正逐渐进入传统单片机所占有的工业和消费领域。DSP 是一种先进的

4、可编程处理器,在近几年来,随着性价比的提高和 DSP 技术的普及,它在很多领域得到越来越广泛的应用。DSP 与外部主机的通信有很多种方式,既可以通过串口与外部通信也可以通过 I/O 口与外部进行通信。但是不论是串口还是 I/O 口都要占用 DSP 的硬件资源,同时软件开销也非常大。TI公司的 C64X系列 DSP 都配有主机接口(Host Port Interface,HPI),用于 DSP 和主机之间的通信。DSP 通过 HPI 和主机进行通信的过程中没有软件和硬件的开销,由 DSP 自身的硬件协调冲突,从而不会打断正常程序的运行。在 HPI 通信方式下,DSP 的片内存储器对外界完全透明,

5、由主机通过访问 HPI 的地址和数据寄存器来完成对 DSP 片内存储器的读写。DSP芯片能够大大提高数字信号处理的效率,但在主机与DSP构成的系统中,当DSP与主机间需要大数据量传输时,数据传输速率就会成为程序运行速度的瓶颈。所以在程序调试过程中,实现主机与DSP之间的快速数据传输,不仅可以提高程序运行效率,还可以大大节省调试程序的时间。TMS320C6000系列的HPI(Host Port Interface)接口不仅可以方便主机对DSP的控制,还可以实现主机与DSP内存的快速数据传输。这里用双TMS320C6416(600MHz)来进行实验,通过HPI接口实现了主DSP(下文中都称为主机)

6、和从DSP的快速数据传输。HPI(Host-Port Interface)主机接口,是TI高性能DSP上配置的与主机进行通信的片内外设。通过HPI接口,主机可以非常方便地访问DSP的所有地址空间,从而实现对DSP的控制。1.2主要研究内容及意义通过HPI接口实现主DSP和从DSP的快速数据传输。本文介绍利用 TMS320VC6416 中主机接口 HPI 实现与主机通信,不需要增加太多额外的硬件设备和软件开销,外部主机通过 HPI 口对 DSP 系统的 RAM 进行访问,不会影响 DSP 的其它处理过程。实现了一种双 TMS320VC6416 DSP通信的硬件连接方案和软件实现方法,给出了部分程

7、序代码。实验结论证明这种方案可行、有效,对于一些复杂系统的设计具有很好的借鉴意义。1.3本文的结构安排第一章 介绍TMS320VC6416 DSP的特点及历史背景,引出论文所研究的内容。第二章 分析TMS320VC6416 DSP的基本原理,以便进一步作出整体设计。第三章 分析设计所涉及的DSK开发板片内外设HPI接口。第四章 具体实验设计和仿真及结果分析。第五章 总结及展望。第二章 C6416 DSP硬件结构TMS320C6000是TMS320系列产品中的新一代高性能DSP芯片。硬件结构包括CPU结构、片内存储器、外设和指令集。重点讨论CPU数据通路与控制、中断系统、流水线和指令集,对片内存

8、储器和外设做概述性介绍。2.1 CPU结构2.1.1 TMS320C6000结构及CPUVeloci TI结构使C6000 DSP成为高性能的DSP芯片。典型的VLIW(Very LongInstruction Word)结构由多个并行运行的执行单元组成,这些单元在单个时钟周期内可执行多条指令。并行是突破传统设计而获得高性能的关键。C6416处理器由三个主要部分组成:CPU内核、外设和存储器。CPU中8个功能单元可以并行操作,这些功能单元被分成类似的两套,每套由4个基本功能单元组成。CPU有两组寄存器,每组寄存器由16个32位寄存器组成。由于在运行期间不做硬件数据相关性的检查,所以程序的并行性

9、在编译时就被确定。片内程序存储器的总线宽度为256bit使每个周期可取8条32位指令。C6416芯片包括片内程序存储器和数据存储器,有些芯片将这些存储器作为高速缓冲存储器。外设包括直接存储器访问(DMA)、低功耗逻辑、外部存储器接口(EMIF)、串口、扩展总线或主机口和定时器等。不同型号的芯片有不同的外设配置,使用时请查有关数据手册。图2-1的阴影部分为C6416的CPU:程序取指单元指令分配单元指令译码单元32个32位寄存器两个数据通路,每个数据通路有4个功能单元控制寄存器控制逻辑测试、仿真和中断逻辑CPU有两个可进行数据处理的数据通路A和B,每个通路有4个功能单元(L,S,.M和D)和一个

10、包括16个32位寄存器的寄存器组。功能单元执行逻辑、位移、乘法、加法和数据寻址等操作。除取指令和存指令之外的所有指令均对寄存器产生影响。两个数据寻址单元(.DI和.D2)专门负责寄存器组与存储器之间的数据传递。每个数据通路的4个功能单元有单一的数据总线连接到CPU男一侧的寄存器上,以便两侧的寄存器组可以交换数据。每条32位指令占用一个功能单元。取指令、指令分配和指令译码单元每周期可以从程序存储单元到功能单元传递8条32位指令,这些指令的执行发生在两个数据通路(A和B)中的每个单元内。控制寄存器组控制着各种操作的操作方式。当从内部存储器读取一个256位长的取指包时,说明VLIW处理流程已经开始。

11、并行执行的指令(最多可达8条指令)连在一起形成一个执行包。2.1.2 CPU数据通路与控制C6416的数据通路示于图2-2。由图可见数据通路包括:2个通用寄存器组(A和B)8个功能单元(.L1,.L2,.SI,.S2,.MI,.M2,.D1,和.D2)2个存储器读取通路(LDI和LD2)2个存储器存储通路(ST1和ST2)2个寄存器组交叉通路(IX和2X)2个数据寻址通路(DA1和DA2)2.1.2.1 通用寄存器组在C6416数据通路中有两个通用寄存器组(A和B),每个寄存器组包括16个32位寄存器。寄存器组A包括AOA15,寄存器组B包括BOB15。通用寄存器可用来存放数据和敷据地址指针,

12、寄存器A1、A2、BO、B1和B2可用于条件寄存器,寄存器A4A7和B4B7可用于循环寻址。通用寄存器组支持32位和40位定点数据。32位数据可放在任意通用寄存器内。C6416也支持32位单精度和64位般精度数据。40位数据需跨放在两个寄存器内,数据的低32位放在偶寄存器内,剩余的高8位放在比偶寄存器序号大l的寄存器(即奇寄存器)的低8位内。这样对于40位数据将有16个有效的寄存器埘,见表2-1。在汇编语言中,寄存器对用两个寄存器之间加一冒号,且奇寄存器指定存前面来表示。长型数据读操作忽略掉奇寄存器中的高24位,写操作用零添充奇寄存器的高24位,偶寄存器编码在操作码中。2.1.2.2功能单元C

13、6416的数据通路中的8个功能单元分成2组,每组4个。一个数据通路中的功能单元与另一个数据通路的功能单元有基本相同的定义。CPU多数数据通道支持32位操作数,有些支持长型(40位)操作数。每个功髂单元都有自己的写入通用寄存器的写u,1结尾的所有功能单元(如L1)写入寄存器组A2结尾的所有功能单元写入寄存器组B。每个功能单元都有2个32位源操作数src1和src2的续口。为了长型(40位)操作数的读写,4个功能单元(.L1,L2,.SI和S2)分别另外配有额外的8位写口和读口。由于每个功能单元都有它自己的32位写口,所以在每个周期8个功能单元可并行使用。2.1.2.3寄存器组交叉通路每个功能单元

14、可以直接对它所处的数据通路的寄存器组进行读和写操作,即.LI,S1,D1和,MI读,写入寄存器组A,而.L2,.S2,.D2和.M2读写入寄存器组B。两个寄存器组通过1X和2X交叉通路也与另一侧寄存器组的功能单元相连。交叉通路允许一侧数据通路的功能单元访问另一侧寄存器组的32位操作数,1X交叉通路允许数据通路A的功能单元从寄存器组B读它的源操作数,2X交叉通路则允许数据通路B的功能单元从寄存器组A读它的源操作数。6个功能单元通过交叉通路可以访问另一侧的寄存器组,其中.M1,.M2,.SI和.S2单元的src2输入在交叉通路和自己通路的寄存器组之间是可选择的,.L1和.L2的src1和sc2。输

15、入在交叉通路和自己的寄存器组之间也是可选择的。在C62xx/C67xx CPU中仅有两个交叉通路1X和2X,这就限制了在一个周期内从另一侧寄存器组只能读取一次源操作数,或者在一个周期内只能进行两个交叉通路的源操作数读入。2.1.2.4存储器存取通路在C6416CPU中,有两个32位通路可把数据从存储器读到寄存器。到寄存器组A的通路为LDI,到寄存器组B的通路为LD2。除此之外C67xx对于寄存器组A和B分别有第2个32位读取通路,从而允许LDDW指令同时读取2个32位数据到A侧寄存器和2个32位数据到B侧寄存器。C62xx/C67xx也有2个32位通路ST1相ST2,分别将每个寄存器组的寄存器

16、数据存入存储器。这两个存储通路与功能单元L和S的长型数据读通路共享。2.1.2.5数据地址通路数据地址通路DAI和DA2示于图2-1。来自于功能单元D的数据地址通路允许一个寄存器组产生的数据地址支持另一个寄存器组到存储器的存取操作。然而并行指令执行的读取和存入必须在同一个寄存器组内进行,或者同时使用交叉通路。2.1.2.6TMS320C6416控制寄存器组仅功能单元.S2可对控制寄存器组进行读写操作,通过指令MVC访问每个控制寄存器。表2-3列出了控制寄存器组所包含的控制寄存器以及对每个控制寄存器的描述。(1)寻址模式寄存器(AMR)C62xx/C67xx的32个寄存器中,有8个寄存器A4A7

17、和B4B7可以执行线性或循环寻址,其寻址模式由寻址模式寄存器(AMR)确定。在寻址模式寄存器中,对每个寄存器都有2位字段用来选择地址修改模式:线性(缺省)或循环模式。对于循环寻址,这个宇段也指定哪个BK (block size)字段用作循环缓冲区。此外,缓冲区的值必须与循环块尺寸相匹配、寻址模式寄存器(AMR)在复位时初始化为零,其保留部分总为零。块尺寸字段BKO和BK1含有5位数值,用于计算循环寻址循环块的尺寸,块尺寸与BKO或者BKI内5位数值N的关系为:块尺寸=2(n+1)。(2)控制状态寄存器(CSR)控制状态寄存器(CSR)包括控制位和状态位,如图2-6所示。控制状态寄存器各位字段功

18、能列于表2-6。对于EN、PWRD、PCC和DCC字段,要查看有关数字手册来确定使用的芯片是否支持这些字段控制选择。(3) E1节拍程序计数器(PCE1)El节拍程序计数器(PCEI)用来保存在流水线中处于El节拍的执行包的32位地址。2.2 TMS320C6416内部程序和数据存储器2.2.1 程序存储器控制器程序存储器控制器完成以下功能:对CPU或DMA提交的访问内部程序存储器的请求进行仲裁。对CI)U提交的通过外部存储器接口(EMIF)访问外部存储器的请求进行处理。当内部程序存储器设置为Cache时,对其进行维护。2.2.2内部程序存储器TMS320C6416的内部程序存储器可由用户配置

19、为Cache或存储器映射的程序空间。它包括64K字节的RAM,或者等价的2K个256位的取指包或16K个32位的指令。通过程序存储控制器,CPU具备单周期的吞吐量,以256位宽与内部程序空间相连。2.2.2.1内部程序存储器模式内部程序存储器的cache/映射块可以通过设置CPU控制状态寄存器(CSR)的程序Cache控制位(PCC)使其工作在以下4种模式下存储器映射模式:在映射模式下,程序通过对内部程序存储嚣Cache/映射块的地址进行取指来得到该地址的取指包。在其他模式下CPU访问该地址范围将得到末定义的数据。存储器映射模式为内部程序存储器复位后的默认模式。CPU不能通过数据存储控制器来访

20、问内部程序存储器。Cache使能模式:在Cache使能模式下,最初对任何地址的程序取指都将引发Cache缺失。发生Cache缺失时,首先通过外部存储器接口(EMIF)读入需要的取指包,并以每个指令周期3 2位指令的速度存人内部Cache中。读人取指包的过程中CPU被挂起。期间CPU等待的时间取决于外存储器的类型、该存储器的状态及EMIF当时是否正被如DMA控制器或CPU数据访问的其他设备占用等。任何对已经缓存的取指包的访问将引起Cache命中,这时Cache中的取指包通过内部程序存储器立即送入CPU,不再需要等待。由存储器映射 模式变为Cache使能模式时,程序Cache将自动冲洗,这也是冲洗

21、Cache的唯一方式。Cache冻结模式:在Cache冻结模式下Cache当前状态特保持不变。程序读冻结模式Cache与程序读使能模式Cache相比,唯一不同的是,发生缺失时,从EMIF读入的指令包不会同时存人Cache。Cache冻结模式可以保证Cache中的关键代码不会被置换掉。Cache迂回模式:在Cache迂回模式下,任何指令包都将从外部存储器中读取。数据存储到Cache存储器中。与Cache冻结模式一样,Cache同样保持当前状态不变。迂回模式可以确保仅从外部存储空间中取指令。2.2.2.2 存储器映射当CPU控制状态寄存器的PCC位被设置为映射模式时,所有的内部程序RAM映射到内部

22、程序空间。在映射模式下。C.PU和DMA都能访问RAM的全部空间。任何对RAM外部地址空间的访问都由EMIF来控制。如果CPU和DMA试图在同一时间对RAM的同一块地址进行访问DMA将等待CPU完成其相应块的访问。在CPU访问完成后DMA方可对该RAM进行访问。2.2.3数据存储器控制器数据存储器控制器的功能包括:对CPU和直接存储器访问(DMA)控制器访问内部数据存储器的申请进行仲裁。对CPU访问外部存储器接口(EMIF)的申请进行处理。协助CPU通过外设总线控制其访问内部集成外设。外围总线控制其执行CPU和DMA对内部集成外设的仲裁。数据存储控制器服务于所有的CPU和DMA控制寄存器的对内

23、部程序存储器的数据请求。CPU请求数据读并写到:1.内部程序存储器。2.通过外围设备总线控制器的内部集成外设。3.EMIF。DMA控制器请求对内部数据存储器进行读写。CPU不能通过数据存储控制器访问内部程序存储器。CPU通过两条地址通路(DA1和DA2)发送请求到数据存储控制器。输入的数据将通过CPU数据传输通路(ST1和ST2)。读取数据通过CPU数据读取总线(LDI和LD2)。CPU数据请求基于地址被映射到内部数据存储器,内部集成外设空间(通过外围总线控制器)和外部存储器接口。数据存储控制器与DMA控制器连接到内部数据存储器,并在CPU和DMA控制器之问进行仲裁。2.2.4 内部数据存储器

24、内部64K字节的数据RAM分为2块,各32K字节,占据的地址为8000 0000h80007FFFh和8000 8000h8000FFFFh。DMA控制器或CPU的A侧和B侧能够同时对位于不同RAM块或是不同的块中的数据进行同时访问,而不会发生冲突。每一个块组织为4个16位宽度的半字。由于对不同块的访问不会引起执行冲突如果同时对不同的块进行访问操作,不必考虑块地址。CPU和DMA都能够同时访问在不同块的数据而不发生冲突。两个C.PU数据端口A和B能够在块内同时访问相邻的1 6位数据元素而不发生资源冲突。为了避免执行冲突,当两种访问在相同块中产生,有必要注意LSB的地址。通过这种存储器配置,每周

25、期内最大的数据访问为3个32位访问,它们分别由CPU数据端口A和B在不同块中的DMA控制器产生。第三章 主机接口(HPI)3.1概述主机接口(HPI)是一个井行端口,主机处理器可以通过它直接访问CPU的内存空间。由主机掌控该接口的主控权可使访问得到简化。主机与CPU可以通过外部或内部存储器相互交换信息。主机还可以直接对经过存储器映射的外围设备进行访问。同CPU存储空间的连接足是通过DMA/EDMA控制器实现的。主机一与CPU都可以访问HPI控制寄存器(FIPIC)。通过使用外部数据与接口控制信号。主机可以访问HPI地址寄存器(HPIA)、HPI数据寄存器( HPID)与HPIC。 3.2HPI

26、外部接口C6416具有32个外部数据管脚HD31:0。因此,C6416HPI可以支持16位或32位外部管脚接口。C6416HPI在作为一个16位宽主机端口时叫做HPI16。而作为一个32位宽的主机端口时叫做HPI32。在重新配置时通过引导与设备配置管脚可以选择HPI16或HPI32。HPI16是C6416HPI的一个增强版。它以一个16位的外部接口为CPU提供32位数据。HPI16还允许DSP访问HPI地址寄存器HPIA。进一步,HPIA分成两个寄存器,即HPIA写(HPIAW)与HPIA读( HPIAR)。HPI32具有与HPI16类似的功能。以下是它们之间的差别: 数据总线大小:正如其名字

27、所示,HPI16具有16位数据总线。它结合16位连续传输为CPU提供32位数据。为了和其他C6000设备兼容HPI16使用HD15:0作为数据管脚而不考虑复位时的端点模式选择。HPI32具有32位数据总线。由于带宽的增加,所有的传输包括一个32位的字不是两个连续的1 6位半字。因此HPI在HPI32模式下工作时,吞吐量增加。HHWIL输入:HHWIL输入在HPI16模式下使用,以用来决定是一个字的第一个还是第二个半字被传输。HPI32模式下不使用HHWIL。因为所有的传输均以32位字方式执行。3.3HPI信号外部HPI接口信号为各种主机设备提供了一个灵活的接口。下表列列出了HPI管脚与它们的功

28、能。3.3.1教据总线:HD15:0或HD31:0HD15:0或HD31:0是一个并行、双向、三态数据线。当HD不对应读访问时为高阻态。3.3.2访问控制选择:HCNTL1:0由HCNTL显示哪一个内部HPI寄存器正在被访问。由这两个管脚的状态决定是选择访问HPI地址(HPIA)寄存器,HPI数据(HPID)寄存器还是HPI控制(H PIC)寄存器。另外,HPID寄存器还可以使用选项使地址自增进行访问。下表描述HCNTL1:O位的功能。3.3.3 半字标识选择:HHWILHHWIL能识别出一次传输中的第一个与第二个半字,但并不是最高或最低半字。HPIC寄存器HWOB位的状态(稍后加以说明)决定

29、哪个半字是最高还是最低。对于第一个半字HHWIL为低,而第二个则为高。HHWIL与HWOB一起指定半字在数据寄存器HPID中的位置。这些都列于下表,此外还有取决于端点模式的LSB地址位。HHWIL并不适用于C6416的HPI32。3.3.4读写选择:HR/WHR/W是主机读写选择输入。主机必须将HR/W设置为高以进行读操作,设置为低以进行写HPI。如果主机既没有读写选择输出,又没有一个读或写选通,那么它可以使用一根地址线来执行此功能。3.3.5 就绪:HRDY当HRDY作用时(低有效),它表明HPI已经就绪执行一次传输。而无效时,则表明HPI正忙于完成当前的读操作或前一次HPID读取或写访问。

30、HCS激活HRDY。当HCS为高时,HRDY总为低。3.3.6 选通 : HCS,HDS1,HDS2HCS,HDS1,HDS2允许连到一个具有如下特性之一的主机: 读写选择( HR/W)的一个单一选通输出。 分离的读与写选通输出,。在这种情况下,读或写选择可能使用不同的地址。一起使用的话HCS、HDS1与HDS2可以产生一个有效的内部HSTROBE信号。只有当HCS有效并HDS1与HDS2中两者之一(不是都)有效时HSTROBE才会有效。当HAS无效时(高)HSTROBE的下降沿将采样HCNT1:0。HHWIL.与HRW。因此,最后有效的HDS1、HDS2、HCS控制采样时间。HCS作为HPI

31、的使能输入,它在访问中必需为低。但是,由于HSTROBE信号决定访问之间的真正边界,因此,只要HDS1与HDS2传输正确,HCS可以在连续访问之间始终为低。具有独立读写选通的主机将这些选通位分别连到HDS1.HDS2上。只有单一选通位的主机将把选通位连接到HDS1或HDS2上,未使用的管脚置为高。不管是HDS1还是HDS2连接HR/W都用来决定传输方向。因为HDS1与HDS2是异或的(NOR),具有有效数据选通(高)的主机可以把该选通位连到HDS1或HDS2而让其他的信号为低:HSTROBE用于以下目的:读操作中HSTROBE的下降沿初始化所有类型的HPI读访问。写操作中HSTROBE的上升沿初始化所有类型的HPI写访问。下降沿锁存HPI的控制输入,包括HHWIL、HR/W与HCNTI1:0。HAS也会影响控制输入的锁存。 HSTROBE的上升沿锁存HBE1:0输入(仅适用于C620xC670x)及将要写入的数据。HCS控制HRDY输出。换句话说,只有当HCS有效(低)时,HRDY管脚才会为高,从而表明未就绪。否则HRDY有效(为低)。3.3.7 地址选通输入:HASHAS可以使HCNTL1:0、H R/W与HHWIL在一个访问循环中较早地移除,这样就可以使得有更多的时间将数据线的状态由地址变为数据信息。该功能使得接入多元地址与数据线更

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1