HPI在MCU和DSP接口中的应用

2012-04-12 14:37:16来源: 互联网

描述HP I接口的工作原理及C8051F060和TMS320VC5409 (简称C5409)之间的接口电路设计,给出了HP I接口的软件设计。该系统具有设计灵活、数据传输速度快、适用于其他含有HP I接口的DSP应用系统,为开发人员提供了一种便捷稳定的数据共享、传输方式。

  1 TMS320VC5409的HPI - 8接口

  C5409的HP I - 8是一个增强型8位HP I8接口,主要用来与主处理器接口。C5409 内部有32K的RAM空间,除了DSP本身可以访问该RAM区域外,主机也可以通过HP I口实现对整个RAM的访问,从而实现主机与DSP的通信。HPI - 8接口通过HP I控制寄存器HP IC、地址寄存器HP IA、数据寄存器HP ID等3个HPI寄存器进行控制和实现数据传输。各寄存器功能如下:HPI - 8地址寄存器(HP IA) ,该寄存器只能由主机对其直接访问,寄存器中存放当前寻址HP I - 8 存储单元地址。HPI - 8逻辑控制单元(HPIC) 。主机和C5409都能对它进行直接访问,它映射到C5409 的数据空间002CH单元。HPIC只有4位用于控制HPI的操作,由于HP IC的高8位和低8位是相同的,因此这4位分别位于高字节和低字节的低4位。B it0 /8 (BOB) ———用于字节顺序控制, BOB = 1表示第1个字节为低字节,否则第1个字节为高字节。B itl/9 ( SMOD) ———访问模式控制, SMOD = l表示共享访问模式( SAM) ,否则为主机访问模式(HOM) 。B it2 /10 (DSP INT) ———主机通过将该位写l来向DSP发送1次HP I中断。B it3 /11 (H1NT) ———DSP通过向该位置l,使外部引脚H INT产生一个低电平作为给主机的中断,中断的清除必须由主机向该位写l来清除。HP I - 8数据锁存器(HP ID) ,只能由主机对其进行访问,主机通过读写该寄存器来实现对共享RAM的读写, RAM的地址则由HP IA地址寄存器的内容来决定。因此,主机对DSP的访问过程是,先往HPI地址寄存器HP IA写入欲访问的地址,然后再对数据寄存器HP ID进行读或写访问。

  HP I接口信号包括:

  HCS———片选信号。作为HP I - 8的使能输入端,在每次寻址期间为低电平,在两次寻址期间也可以停留在低电平。

  HAS———地址选通信号,此信号用于主机的数据线和地址线复用的情况。当不用时此信号应接高。

  HB IL———字节识别信号,用于识别主机传送过来的是第一个字节还是第二个字节。当HB IL = 0时为第一个字节, HB IL = 1时为第二个字节。

  HCNTL1 /HCNTL0———主机控制信号, HP I寄存器的访问地址信号,主机用来选择访问的HP I寄存器。当HCNTL1 /HCNTL0为00时,表明主机访问HP IC;当为01时,表明主机访问用HP IA指向的HP ID,每读一次, HP IA事后增加1,每写一次, HP IA事先增加1;当为10时,表明主机访问HP IA;当为11时,表明主机访问HP ID,而HP IA不受影响。当主机访问HP I时,先完成外部接口部分的操作,即先初始化HP IC寄存器,然后初始化HP IA寄存器,再从HP ID寄存器中读出或写入数据,一般在DSP的初始化程序中对HPIC进行了初始化后就无须再对HP IC操作了,其余的工作就完全由主机完成。HPI的传送控制是由HP I - 8内部选通信号实现的, 由3 个信号完成: /HDS1、/HDS2、/HCS。由图1HP I - 8 内部选通逻辑电路图可知,只有当/HDS1、/HDS2信号不同时为零,且/HCS信号为低电平时,内部HP I才被选通。

 

  图1 HP I - 8内部选通逻辑电路图

  2 HP I接口设计

  2. 1 HPI接口电路设计

  C8051F060与C5409的HP I接口电路图如图2所示。图中将C8051F060的端口P1和HPI的8位数据线HD0~HD7相连作为数据传输通道, P20 ~P23 设置为输出以控制HP I口的操作。其中P20 和P21 分别连接HCNTL0和HCNTL l以实现对HPIC、HP IA 和HP ID寄存器的访问, P22连接字节识别信号HB IL 可控制读写数据是属16位字的第一字节还是第二字节,P23作为读写控制选通信号连接HR /W, P24 与P25分别连接/HDS1和/HDS2,同与P26相连的信号/HCS一起作为数据选通信号来锁存有效的HCNTL0 /1、HB IL和HR /W 信号。地址锁存信号/HAS与P27 相连,为简化设计,可以直接将/HAS和/HDS2置为高电平, /HCS置为低电平。P33作为检测HRDY信号的输入端,当HP I准备好时, HRDY输出高电平有效。P34作为输入与HP I口的主机中断信号/H INT相连。由HP I接口的原理可知,在HCNTL0 /1、HB IL 和HR /W信号有效之后,设置HDS1、/HCS为低电平可实现读写的数据选通,从而完成C8051F060对C5409HPI口的读写操作。在数据交换过程中, C8051F060向HPI发送数据可通过置C5409 的HPI控制寄存器HPIC中的DSPINT位为1 来中断C5409。C8051F060 接收来自HPI的数据时则可用查询方式。当C5409准备发送数据时,置/H INT信号为低。当C8051F060查询到P34为低时,系统将调用接收数据子程序来实现数据的接收。

 

  图2 C8051F060与C5409的HP I接口电路图

  2. 2 HPI接口软件设计

  HP I的数据传输分外部传输和内部传输。外部传输是指主机和HP I寄存器之间的传输,由主机发出指令完成。内部传输是指HP I寄存器和DSP内部RAM之间的传输,由DSP内部的DMA 控制器自动完成。主机在进行外部传输时,要先检查内部传输是否完成,这是通过检测HRDY信号实现的。外部传输操作的一般步骤是:检查HRDY信号的电平。为高,表示可以进行传输;为低,表示DSP正在进行内部传输,此时不能进行外部传输。主机对HP I - 8口进行数据读写需要三个步骤:设置控制寄存器,写地址寄存器,读写数据寄存器。在寄存器读写过程中,主机通过端口发送控制信号,检测状态信号,完成对HP I口访问的时序模拟,双方通过向对方发送中断通知对方数据已经准备好,通过检测对方设置的状态判断对方是否准备好接受数据。

具体设置过程如下:

  a) 首先初始化HP IC 寄存器,特别是BOB 位。具体方法为:先设置HCNTL1 =HCNTL0 = 0,选择将要对HP IC进行操作。然后将HP IC的值写入HP I。注意HP IC的高8位和低8位是一样的。

  b) 设置地址寄存器HP IA。先设置HCNTL1 =1&HCNTL0 = 0,选择将要对HP IA进行操作。然后将要访问的C54x片内RAM的地址写入HP I,高8位先写,低8位后写。

  c) 读写C54x的片内RAM。先设置HCNTL1 /0,选择将要对数据锁存器HP ID 进行操作。如果设置HCNTL1 = 0&HCNTL0 = 1,表示使用地址自动增加模式;如果设置HCNTL0 = HCNTL1 = 1 时,表示不使用地址自动增加模式,这时完成读写操作后,地址寄存器HP IA将不会变。

  以下是C8051F060的HP I接口程序:

  (1) 读HPID寄存器程序

  unsigned int HP ID_Read ( )

  {

  unsigned char H_Byte,L_Byte;

  HDS2 = 1;

  HCS = 0;         使能HP I

  HCNTL0 = 1;

  HCNTL1 = 0; 主机可读写HPID

  HB IL = 0; 当前是第一字节

  HRW = 1; 主机要求读选通HPI

  HDS1 = 0; 开始数据操作

  H_Byte = P1; 读出高8位数据

  Delay(2) ; 等待数据读出完成

  HDS1 = 1; 结束数据操作

  HB IL = 1; 当前是第二字节

  HRW = 1; 主机要求读选通HPI

  HDS1 = 0; 开始数据操作

  L_Byte = P1; 读出低8位数据

  Delay(2) ; 等待数据读出完成

  HDS1 = 1; 结束数据操作

  }

  (2) 写HPID寄存器程序

  void HPID_Write ( unsigned intW_data)

  {

  HDS2 = 1;

  HCS = 0; 使能HP I

  HCNTL0 = 1;

  HCNTL1 = 0; 主机可读写HPID

  HB IL = 0; 当前是第一字节

  HRW = 0; 主机要求写选通HPI

  HDS1 = 0; 开始数据操作

  P1 = ( unsigned char) ( (W_data > > 8) &0xFF) ;  写入高8位数据

  Delay(2) ; 等待数据写入完成

  HDS1 = 1; 结束数据操作

  HB IL = 1; 当前是第二字节

  HRW = 0; 主机要求写选通HPI

  HDS1 = 0; 开始数据操作

  P1 = ( unsigned char) (W_data&0xFF) ;  写入低8位数据

  Delay(2) ; 等待数据写入完成

  HDS1 = 1; 结束数据操作

  }

  3 结束语

  本设计方案具有硬件结构简单、使用方便等优点,有很好的使用价值。经在某导航系统中实际使用的效果来看,证明该设计方案简单、性能稳定、高效可靠,达到了预期的设计目的。

关键字:HPI  MCU  DSP接口

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0412/article_15626.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
HPI
MCU
DSP接口

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved