欢迎来到天天文库
浏览记录
ID:6684367
大小:147.50 KB
页数:5页
时间:2018-01-22
《c54x dsp的hpi与pc机并口技术研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C54XDSP的HPI与PC机并口技术研究概述DSP作为一种先进的可编程处理器,在近几年来应用越来越广泛。但是DSP应用系统一旦开发完成投入使用后,再想对DSP内的数据进行监控(在线修改)就有诸多不便,不论是接串口还是接I/O口都要占用DSP的硬件资源,同时软件开销也非常大。好在TI的C5000系列DSP都配有HPI接口,用于DSP和主机之间的通信。DSP在通过HPI口和主机通信的过程中完全没有硬件和软件开销,由DSP自身的硬件协调冲突,从而不会打断DSP正常程序的运行。在HPI通信方式下,DSP的片内存储器对外界完全透明,由主机通过访问HPI的地址和数
2、据寄存器来完成对DSP片内存储器的读写。硬件部分C54X的HPI接口TI的C54X系列中,有542、545、548和549提供了标准的8位HPI接口,C54XX系列都提供了8位或16位的增强型HPI接口,在此以TMS320C5402增强型8位HPI接口为例作详细介绍。5402的HPI口由一个8位数据总线和用于设置和控制接口的控制信号线组成,HPI很容易与各种主机相连,需要很少、甚至不需要外加接口逻辑。引脚功能及HPI时序图如表1、图1所示。HPI是8位的数据总线接口,由于C5000系列DSP是16位的,所以与主机通信的数据都是由2个连续的字节组成。由HB
3、IL引脚指示正在传输的是第一个还是第二个字节。主机使用HCNTL0/1来指定所访问的HPI控制寄存器HPIC或HPI数据寄存器HPID,也可以用地址自动增加的方式访问数据寄存器HPID,具体方式如表2所示。HPI有两个数据选通信号HDS1/2、读写选通信号HR/W以及地址选通信号HAS,另外有一个HRDY引脚用于和高速的主机接口通信时插入等待状态。上述特点使HPI可以很方便地与工业标准的主机接口。对HPI口的操作主机访问HPI时,首先完成外部接口部分的操作,即先初始化HPIC寄存器,然后初始化HPIA寄存器,再从HPID寄存器中读出或写入数据。HPI的3
4、个寄存器如表3所示。一般在DSP的初始化程序中对HPIC进行了初始化后就无须再对HPIC操作了,其余的工作就完全由主机完成。通过HPI接口,主机和C54X之间可以相互发送中断请求。主机通过HPIC寄存器的DSPINT位中断C54X,而C54X可以通过HPIC寄存器的HINT位发中断请求到主机。无论是主机或C54X都可以通过读取HPIC来判断HINT引脚的状态,但是HPIC中的HINT比特位只能由主机清除。图1 HPI时序图图2 EPP时序图图3HPI与EPP接口PC机EPP并口PC机的并口是为打印机接口设计的,但除了打印机以外,还有很多设备可以接在并口上
5、。同时随着PC机的发展,一些生产厂商推出了几种改进型的并行接口。这些新型的并口与原始的设计兼容,同时加入了一些主要以提高速度为目的的新功能。现在PC机一般都同时提供了多种并口,通过在BIOS中设置进行切换,这些并口包括:标准并口(SPP)、PS/2型并口、增强型并行接口(EPP)、扩展功能接口(ECP)。在本方案中采用EPP并口和DSP的HPI口。在将字节锁存到接受设备的过程中,EPP的数据和地址操作使用了不同的控制信号。地址读出和写入使用的是AStrobe(C3),而数据的读写操作使用的则是DStrobe(C1),这对接受设备区分两种类型的信息提供了方
6、便。表4列出了操作EPP所需的寄存器及其功能。前3个寄存器与SPP中的数据、状态、控制寄存器基本相同,用来兼容SPP传输。对EPP传输来说,接口还将使用附加的寄存器。为了在EPP模式下写一个数据字节,需要将数据写入EPP数据寄存器(基地址+4),而不是写入基地址。对EPP数据寄存器的写操作将导致接口开启一个完整的数据写入周期。接口的硬件把待写数据置于D0~D7,然后接口将自动触发握手联络信号,并检测外设的应答。读取一个字节的过程与此类似,对EPP数据寄存器进行读写操作将引发一个完整的数据读取周期。地址的传输过程基本上也是这样,但需要写入或读取的是地址寄存
7、器(基地址+3),并随即完成整个地址读写周期。其中地址的读写周期与EPP数据读写周期基本是一样的,唯一的不同在于地址周期使用的是AStrobe(C3)控制信号向接收设备传送字节。EPP的基地址(BASE)通常是378h或278h,接口所使用的地址为378h~37Fh,或者278h~27Fh。EPP一般不使用基地址3BCh,这是因为显示卡可能会占用3BCh。EPP模式支持4种操作,分别是地址写入、数据写入、地址读取和数据读取。每一种操作使用的是不同的联络信号。特别要注意的是在访问EPP寄存器和开始进行传输之前,控制端口位/C0、/C1、/C3必须处于高电平
8、状态。由于接口硬件对这些位进行了倒相,因此为将它们置高,需要向相应的寄存器位写入
此文档下载收益归作者所有