• Hi:欢迎来到一心论文网!
  • 您当前的位置:首页 > 工学 > 通信学 > 正文

    关于谈DSP HPI总线与MPC8272总线接口的FPGA实现

    来源:网络  时间:2017-07-01 15:28:00

      

      论文关键词: DSP HPI MPC8272 FPGA VHDL源代码
      论文摘要:通过对TI公司TMS320C6421 DSP HPI接口信号和接口总线时序的分析,以VHDL语言为工具,使用Altera的FPGA芯片EP3C40F780C8,设计完成MPC8272总线和TMS320C6421 DSP HPI总线之间的通信接口,并在实际的产品中得到运用,给出与整个接口设计相关的VHDL源代码。对于类似的DSP HPI接口设计,此文章具有参考和指导意义。
      一、HPI概述
      HPI(Host-Port Interface)主机接口,是TI高性能DSP上配置的与主机进行通信的片内外设。通过HPI接口,主机可以非常方便地访问DSP的所有地址空间,从而实现对DSP的控制。
      TMS320C6421的HPI接口是一个16bit宽的并行端口。主机(host)对CPU地址空间的访问是通过EDMA控制器实现的。 HPI接口的访问主要通过三个专用寄存器来实现,它们分别是HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)和HPI数据寄存器(HPID)。
      二、HPI接口信号简介
      (1) HD[15∶0](数据总线)
      (2) HCNTL[1∶0](控制HPI访问类型)
      如前所述,对HPI的访问需要通过三个寄存器,即HPI地址寄存器(HPIA),HPI数据寄存器(HPID)和HPI控制寄存器(HPIC)来实现。HCNTL[1∶0]就是用于选择这三个寄存器的专用引脚。
    HCNTL1
    HCNTL0
    HPI访问类型

    0
    0
    主机可读写HPI控制寄存器HPIC

    0
    1
    主机可读写HPI数据寄存器HPID,读操作或写操作后HPIA自动增1

    1
    0
    主机可读写HPI地址寄存器HPIA

    1
    1
    主机可读写HPI数据寄存器HPID,读操作或写操作后HPIA不变

      (3) HHWIL (半字指示选择)
      HHWIL指示当前的为第一个或是第二个半字传输,但需要注意的是,它并不代表是最高有效的(most significant)还是最低有效的(least significant),而决定的依据是HPIC中的HWOB位的状态。对于第一个半字,HHWIL必须被驱动为低电平;对于第二个半字,HHWIL必须被驱动为高电平。
      (4) HR/W (读/写操作指示)
      HR/W为高电平,表示从HPI接口读;HR/W为低电平,表示向HPI接口写。
      (5) HRDY (输出准备好)
      (6) HCS,HDS1,HDS2(选通信号)
      当HCS有效,并且HDS1和HDS2中仅有一个有效时,内部触发信号HSTROBE有效。这三个信号的组合逻辑其实就是片选和读/写信号构成的组合逻辑,因此,可直接与主机的片选和读/写信号相连。如下图所示:
      
      (7) HAS (地址输入选通)
      在TMS320C6421 HPI接口中目前没有用,连接到逻辑高电平。
      (8) HINT(向主机输出的中断)
      三、HPI接口寄存器简介
      如上所述,主机通过HPI接口对DSP的访问实际上是通过三个寄存器来实现的,下面就针对这三个专用寄存器进行介绍。
      (1)HPI控制寄存器(HPIC)
      HPIC中每一位都有特定的功能,在对HPI进行访问的过程中需要特别注意。简要介绍一下这些功能位的作用。
      ①HWOB(半字顺序位)
      如果HWOB=1,第一个半字为最低有效;如果HWOB=0,第一个半字为最高有效。HWOB对地址和数据都起作用,如果采用HPI16模式,在访问数据或者地址寄存器之前,应该首先初始化HWOB位。
      ②DSPINT(主机产生的Processor-to-CPU中断,用于HPI启动方式中将DSP内核从复位状态中唤醒)
      ③HINT(DSP-to-Host中断,即通过向此位写入特定值来产生对主机的中断)
      (2) HPI地址寄存器(HPIA)
      存放32bit数据,指向将要访问的DSP地址空间中的地址。
      (3) HPI数据寄存器(HPID)
      在写操作中存放将要写入HPIA所指向地址的数据,在读操作中为HPIA所指向地址中的数据。
      四、HPI接口读写时序
      ⑴HPI接口读时序
      
      ⑵HPI接口写时序
      
      五、HPI接口硬件设计

    从C6421 HPI寄存器的编址方式可以看出,主机需两根地址线寻址到HPI接口的控制寄存器、地址寄存器和数据寄存器,因此选择主机的地址线A29、A28连接C6421 HPI的HCNTL1、HCNTL0。选择主机的地址线A30连接到C6421 HPI的HHWIL,作为半字指示选择。HPI的选通由HCS、HDS1、HDS2三根信号线共同作用,最后的HPI使能信号(STROBE)为HDS1异或HDS2后,再与HCS进行与非运算的结果。HCS、HDS1、HDS2信号由FPGA产生。TA为MPC8272传输结束标识,HPI口HRDY有效后FPGA向CPU发送TA,保证HPI数据正确读出。C6416 HPI的HINT信号可以直接连接到主机的IRQ引脚上实现HPI对主机的中断信号连接,也可通过FPGA连接到主机,使控制更灵活。
      六、地址空间分配
      由于C6421为16位的HPI口,其内部总线为32位,所以每次读写要分两次,一次为高16位,一次为低16位,由HHWIL来选择(0-First Half Word, 1-Second Half Word),设定HPIC.HWOB = 0(First Half Word =高16位, Second Half Word = 低16位)。C6421的HPI接口映射为MPC8272的4对地址空间,由MPC8272 CS3控制,配置CS3为16位宽的GPCM访问模式,如下地址分配:
      HPIC:0x0D000000(高16位), 0x0D000002(低16位)。
      HPIA: 0x0D000004(高16位), 0x0D000006(低16位)。
      HPID_FIX: 0x0D00000C(高16位), 0x0D00000E(低16位),C6421地址由当前的HPIA决定。
      HPID_Auto: 0x0D000008(高16位), 0x0D00000A(低16位) C6421地址自动加1。

    免费论文下载中心   七、HPI接口相关VHDL代码
      output wire c6421_hasn, c6421_hcsn, c6421_hdsn1, c6421_hdsn2,
      assign c6421_hasn = 1’B1;
      assign c6421_hcsn = cs3;
      assign c6421_hdsn1 = wen;
      assign c6421_hdsn2 = oen;
      reg [7:0] st_ta;
      reg tax;
      wire tax001 = (zzz_cnt==256) ? 0 : 1 ;
      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) c6421hcsn_start <= 1;
    else c6421hcsn_start <= 0;
    always @(posedge clk_cpu) begin
    if (c6421hcsn_start) begin
    st_ta <= STA_CHECKRD;
    tax <= 1;
    end
    else if (STA_CHECKRD == st_ta) begin
    if (c6421_hrdyn)
    st_ta <= STA_CHECKRD;
    else
    st_ta <= STA_GEN;
    tax <= 1;
    end
    else if (STA_GEN == st_ta) begin
    st_ta <= STA_END;
    tax <= 0;
    end
    else begin
    tax <= 1;
    end
    end
      assign ta = (~cs3) ? (tax & tax001 & tax002 & tax003 & tax004): 1’BZ;
      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、TMS320C6421 Fixed-Point Digital Signal Processor datasheet。TI公司提供
      2、TMS320C642x DSP Host Port Interface (HPI) User’s Guide。TI公司提供转贴于
    相关论文

    最新论文

    热点论文

    [中等教育职专政治教育中的德育渗透
      帮助学生树立正确的价值观和人生观,提升学生的个人品德与思想素质,是职专政治教育的主要目标与根本目的。但受限于传统政治教育的教学 [全文]
    [中国哲学传递“中国梦”正能量是记者的神圣使命
      摘要:中国梦是中华民族伟大复兴的梦,是当今中华民族前进的动力,是当前中国最具影响力、最具感染力、最具普遍性的正能量。记者作为以 [全文]
    [财务控制论企业集团财务控制的对策
    摘 要:市场经济飞速发展促使企业集团组织形式发生非常大的变化,那么企业集团需要有效利用自身发展优势,促进现代化经济发展。 改革逐渐 [全文]
    [财务控制中小企业的财务控制问题分析
    摘 要:随着市场经济体制不断完善,我国中小企业进入快速发展阶段,其在国民经济发展中的作用被不断凸显出来。本文中笔者以中小企业财务管 [全文]
    [职业教育分析音乐课堂中的情感互动及学生体验
      【摘要】针对音乐课堂中的情感互动及学生体验进行分析,基于学生的实际音乐学习需求、音乐学习目标等予以教学设计,以期能够不断提升音 [全文]
    [市场营销新时期下市场营销的演变趋势分析
    摘要:随着全球经济互相影响,新市场格局的形成让新时期环境里市场营销不断发生变革。而本文主要是对当今市场新形势进行一个分析,找出对市 [全文]
    [国际贸易国际贸易融资创新及风险控制
    [摘 要] 国际贸易企业融资风险的主要表现有两种:一是国际贸易企业无法以自身的流动资金偿还债务,要通过集资的方式偿还债务本金和利息; [全文]
    [国际贸易“互联网 +”时代下国际贸易发展策略研究
    摘 要:随着网络技术和经济全球化的进一步发展,互联网关系到国际贸易领域的方方面面,并以全新的国际贸易形态,将分散在世界各地的市场, [全文]

    售前客服

    咨询QQ:619978682

    在线客服