MPC8272总线与DSP HPI总线接口的FPGA实现_第1页
MPC8272总线与DSP HPI总线接口的FPGA实现_第2页
MPC8272总线与DSP HPI总线接口的FPGA实现_第3页
MPC8272总线与DSP HPI总线接口的FPGA实现_第4页
MPC8272总线与DSP HPI总线接口的FPGA实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、MPC8272总线与DSP HPI总线接口的FPGA实现论文关键词: DSP HPI MPC8272 FPGA VHDL源代码一、HPI概述HPI(Host-Port Interface)主机接口,是TI高性能DSP上配置的与主机进展通信的片内外设。通过HPI接口,主机可以非常方便地访问DSP的所有地址空间,从而实现对DSP的控制。TMS320C6421的HPI接口是一个16bit宽的并行端口。主机(host)对CPU地址空间的访问是通过EDMA控制器实现的。 HPI接口的访问主要通过三个专用存放器来实现,它们分别是HPI控制存放器(HPIC)、HPI地址存放器(HPIA)和HPI数据存放器(

2、HPID)。二、HPI接口信号简介(1) HD150(数据总线)(2) HCNTL10(控制HPI访问类型)如前所述,对HPI的访问需要通过三个存放器,即HPI地址存放器(HPIA),HPI数据存放器(HPID)和HPI控制存放器(HPIC)来实现。HCNTL10就是用于选择这三个存放器的专用引脚。(3) HHWIL (半字指示选择)HHWIL指示当前的为第一个或是第二个半字传输,但需要注意的是,它并不代表是最高有效的(most significant)还是最低有效的(least significant),而决定的根据是HPIC中的HWOB位的状态。对于第一个半字,HHWIL必须被驱动为低电平

3、;对于第二个半字,HHWIL必须被驱动为高电平。(4) HR/W (读/写操作指示)HR/W为高电平,表示从HPI接口读;HR/W为低电平,表示向HPI接口写。(5) HRDY (输出准备好) 当HCS有效,并且HDS1和HDS2中仅有一个有效时,内部触发信号HSTROBE有效。这三个信号的组合逻辑其实就是片选和读/写信号构成的组合逻辑,因此,可直接与主机的片选和读/写信号相连。如以下图所示:(7) HAS (地址输入选通)在TMS320C6421 HPI接口中目前没有用,连接到逻辑高电平。(8) HINT(向主机输出的中断)三、HPI接口存放器简介如上所述,主机通过HPI接口对DSP的访问实

4、际上是通过三个存放器来实现的,下面就针对这三个专用存放器进展介绍。(1)HPI控制存放器(HPIC)HPIC中每一位都有特定的功能,在对HPI进展访问的过程中需要特别注意。简要介绍一下这些功能位的作用。HWOB(半字顺序位)假设HWOB=1,第一个半字为最低有效;假设HWOB=0,第一个半字为最高有效。HWOB对地址和数据都起作用,假设采用HPI16形式,在访问数据或者地址存放器之前,应该首先初始化HWOB位。DSPINT(主机产生的Processor-to-CPU中断,用于HPI启动方式中将DSP内核从复位状态中唤醒)HINT(DSP-to-Host中断,即通过向此位写入特定值来产生对主机的

5、中断)(2) HPI地址存放器(HPIA)存放32bit数据,指向将要访问的DSP地址空间中的地址。(3) HPI数据存放器(HPID)在写操作中存放将要写入HPIA所指向地址的数据,在读操作中为HPIA所指向地址中的数据。四、HPI接口读写时序HPI接口读时序HPI接口写时序五、HPI接口硬件设计六、地址空间分配 HPIC:0x0D000000(高16位), 0x0D000002(低16位)。HPIA: 0x0D000004(高16位), 0x0D000006(低16位)。 HPID_Auto: 0x0D000008(高16位), 0x0D00000A(低16位) C6421地址自动加1。七

6、、HPI接口相关VHDL代码 assign c6421_hasn = 1rsquo;B1;assign c6421_hcsn = cs3;assign c6421_hdsn1 = wen; reg 7:0 st_ta;reg tax; wire tax002 = (zzz_cnt=256+8) ? 0 : 1 ;wire tax003 = (zzz_cnt=256+16)? 0 : 1 ;wire tax004 = (zzz_cnt=256+32)? 0 : 1 ;reg c6421hcsn_start;always (posedge clk_cpu)if (zzz_cnt=5) c6421h

7、csn_start = 1;else c6421hcsn_start = 0;always (posedge clk_cpu) beginif (c6421hcsn_start) beginst_ta = STA_CHECKRD;tax = 1;endelse if (STA_CHECKRD = st_ta) beginif (c6421_hrdyn)st_ta = STA_CHECKRD;elsest_ta = STA_GEN;tax = 1;endelse if (STA_GEN = st_ta) beginst_ta = STA_END;tax = 0;endelse begintax

8、= 1;endend MPC8272功能很强大,C6421 HPI接口相对于MPC8272来说为慢速外部设备,TA为MPC8272传输完毕标识,HPI口HRDY有效后FPGA向CPU发送TA,保证HPI数据正确读出。因此在VHDL程序中设计了状态机,当HRDY信号有效后就立即完毕本次访问,否那么经过一段时间的延迟后强迫完毕本次访问,这样可以防止接口长时间占用总线,影响系统性能。八、完毕语本文使用VHDL语言和FPGA,设计了MPC8272与DSP之间的HPI接口。之所以使用FPGA,是因为在系统中FPGA还包含有其他的功能设计。假设只有MPC8272与DSP之间的HPI接口设计,使用CPLD即可完成,而不必浪费FPGA的资源。参考文献

温馨提示

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

评论

0/150

提交评论