0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HPI在MCU和DSP接口中的应用

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-08-29 15:37 次阅读

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

1TMS320VC5409的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才被选通。

2HP I接口设计

2. 1HPI接口电路设计

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. 2HPI接口软件设计

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

具体设置过程如下:

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结束语

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7998

    浏览量

    348843
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17141

    浏览量

    351095
  • 接口
    +关注

    关注

    33

    文章

    8588

    浏览量

    151095
  • 数据
    +关注

    关注

    8

    文章

    7015

    浏览量

    88989
  • HPI
    HPI
    +关注

    关注

    0

    文章

    36

    浏览量

    14517
收藏 人收藏

    评论

    相关推荐

    HPIMCUDSP接口中的应用

    描述HP I接口的工作原理及C8051F060和TMS320VC5409 (简称C5409)之间的接口电路设计,给出了 HP I 接口的软件设计。该系统具有设计灵活、数据传输速度快、适用于其他含有HP I
    发表于 09-13 14:32 2368次阅读
    <b class='flag-5'>HPI</b><b class='flag-5'>在</b><b class='flag-5'>MCU</b>和<b class='flag-5'>DSP</b><b class='flag-5'>接口中</b>的应用

    PCI总线接口DSPHPI接口

    本文以TMS320VC5402(简称VC5402)为例,介绍DSPHPI口及其与PCl2040的接口设计。
    发表于 11-29 11:54 6440次阅读
    PCI总线<b class='flag-5'>接口</b>与<b class='flag-5'>DSP</b>的<b class='flag-5'>HPI</b><b class='flag-5'>接口</b>

    DSP6000系列的HPI接口怎么调

    DSP6000系列的HPI接口怎么调?哪位有程序吗?
    发表于 07-22 20:34

    HPI接口的工作模式与上位主机的连接方式

    应用当中常见问题,并提供了分析解决办法。简介HPI 接口是TI 为处理器之间直接互连通讯定义的一种异步接口,大多数TI DSP 芯片上都有HPI
    发表于 05-28 05:00

    基于HPI主机接口的多处理器系统

    HPI8数据的传输必须以字节为单位。DSP与主机传送数据时,HPI能自动地将外部接口传来连续的8位数组合成16位数后传送给主机。
    发表于 06-06 05:00

    基于HPIMCUDSP接口应用

    I接口DSP应用系统,为开发人员提供了一种便捷稳定的数据共享、传输方式。  1 TMS320VC5409的HPI - 8接口  C5409的HP I - 8是一个增强型8位HP I
    发表于 06-14 05:00

    HPIDSP程序引导中的应用

    摘要:通用数字信号处理中,DSP具有强大的数字信号处理能力,但其控制能力不足,通常采用HPI与主机组成系统解决 此问题。本文以TMs320C5416为例,介绍了DSP芯片
    发表于 01-19 16:24 23次下载
    <b class='flag-5'>HPI</b><b class='flag-5'>在</b><b class='flag-5'>DSP</b>程序引导中的应用

    主机口(HPI基于DSP与ARM的系统中的应用

    摘要:嵌入式系统与DSP的结合是当前应用领域的一个趋势。HPI接口是TI高性能DSP上配置的与主机进行通信的片内外设。由于HPI具有独立的管
    发表于 02-27 22:31 42次下载

    HPI接口威廉希尔官方网站 应用

    论文主要介绍TMS320C54X DSP 通过自身HPI接口与). 机进行通讯的设计方案,实现了pc机实时读写dsp任意片内存储单元的内容。
    发表于 09-02 14:14 46次下载
    <b class='flag-5'>HPI</b><b class='flag-5'>接口</b>威廉希尔官方网站
应用

    基于PC机与HPI接口DSP程序直接下载法

    基于PC机与HPI接口DSP程序直接下载法
    发表于 10-19 11:43 6次下载
    基于PC机与<b class='flag-5'>HPI</b><b class='flag-5'>接口</b>的<b class='flag-5'>DSP</b>程序直接下载法

    DSPHPI与PC机并口通信接口设计

    DSPHPI与PC机并口通信接口设计
    发表于 10-20 10:52 18次下载
    <b class='flag-5'>DSP</b>的<b class='flag-5'>HPI</b>与PC机并口通信<b class='flag-5'>接口</b>设计

    DSP HPI口与PC104总线接口的FPGA设计方案

    和在PCM-5825上验证接口设计的X86汇编语言程序。 关键词 DSP HPI PC104总线 FPGA VHDL源代码 一款嵌入式数据采集系统的设计中,采用TMS320VC54
    发表于 11-06 14:30 3次下载
    <b class='flag-5'>DSP</b> <b class='flag-5'>HPI</b>口与PC104总线<b class='flag-5'>接口</b>的FPGA设计方案

    TMS320VC5510DSP主机端口接口HPI)的详细资料概述

    本手册描述了TMS320VC5511(C55X微处理器)DSP产生的TMS320VC5510数字信号处理器(DSP)上可用的主机端口接口HPI
    发表于 04-25 16:47 5次下载
    TMS320VC5510<b class='flag-5'>DSP</b>主机端口<b class='flag-5'>接口</b>(<b class='flag-5'>HPI</b>)的详细资料概述

    TMS320VC5501和5502DSP主机端口接口HPI)的详细资料概述

    本指南描述了TMS3VC5501和TMS3VC5502数字信号处理器(DSP)上的主机端口接口HPI)。HPI允许外部主机处理器(主机)使用8位或16位
    发表于 04-26 15:30 11次下载
    TMS320VC5501和5502<b class='flag-5'>DSP</b>主机端口<b class='flag-5'>接口</b>(<b class='flag-5'>HPI</b>)的详细资料概述

    HPI接口的工作模式以及与上位主机的连接方式解析

    HPI 接口是TI 为处理器之间直接互连通讯定义的一种异步接口,大多数TI DSP 芯片上都有HPI
    发表于 07-01 09:14 7928次阅读
    <b class='flag-5'>HPI</b><b class='flag-5'>接口</b>的工作模式以及与上位主机的连接方式解析