论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 通信技术论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
DSP HPI总线与MPC8272总线接口的FPGA实现
    论文 关键词: 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)来实现。WWw.11665.CoMhcntl[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公司提供
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:谢兵 [标签: 总线 总线 接口 实现 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    欧盟普惠制中GSP+实质条件的合法性研究
    PHOTOSHOP教学网站的应用研究
    浅析PHP加密技术在网站安全方面的应用
    如何利用数据库及ASP技术类构建多功能网站
    ASP环境下建设中小企业信息系统
    基于ASP.NET的企业进销存管理信息系统的设计
    基于Asp的计算机上机作业上传系统研究
    基于Delphi及串行通信实现的某型地面维护系
    以MSP430F149为核心的温度检测仪的硬件模块
    浅谈技工学校 3DS MAX 教学
    PHP网站设计中信息安全防御的研究
    浅析论提高 Photoshop平面设计 课程教学效果
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有