利用ISA总线实现对DSP芯片VC5402的软配置
摘要:以PC机作为主机,通过PC的ISA总线与DSP的HPI主机并口连接作为传输通道,实现对PC机ISA插卡上的DSP芯片TMS320VC5402进行实时在线程序装载。 关键词:DSP HPI主机并口 ISA总线 软配置
一、引言
目前,随着微电子技术的飞速发展,在基于工业测控和数据采集领域的PC机板卡产品中,高速DSP芯片的使用已经是越来越普及。众多厂家生产的DSP芯片中以美国TI公司(德州仪器)生产的DSP芯片的应用最为普遍。同传统的诸如单片机的程序装载过程相比,DSP厂家为芯片提供了更多、更灵活的程序装载方法。电子工程师在设计DSP系统中究竟采用那种程序装载方法,应视产品类型的不同而有所选择。当前许多厂家所生产的DSP芯片中都集成了主机并行接口,利用主机并口可以完成主机和DSP之间的并行数据交换。例如TI公司的TMS320C54X系列的DSP芯片、AD公司ADSP21XX系列的DSP芯片等。而主机并口在完成主机与DSP进行数据交换的同时,还大都具有程序装载的功能。在PC板卡类电子产品上使用DSP芯片时,实际上是一种主从模式的应用,即把PC机作为主机,DSP芯片作为从机。这时采用主机并口通过PC机的系统总线来完成程序的装载就成了一种既经济实用又灵活方便的方式。下面以TI公司的TMS320VC5402为例(以下简称为VC5402),本文介绍了如何由PC的ISA总线来完成DSP程序的HPI(主机并行接口)装载,并给出了软硬件开发的实例。
二、硬件设计
1.VC5402的HPI程序装载过程
VC5402内部具有4K×16位字的ROM,当系统上电复位后,如果VC5402的MP/MC引脚为低,那么VC5402的PC程序指针跳到地址为0XFF80的ROM处开始执行复位向量段的程序。该段程序是厂家在出厂时就固化好的一段程序,它首先执行跳转指令,跳到地址为0XF800处开始执行,从0XF800开始的ROM的内容被称为程序装载器(Bootloader)。在那里DSP将要判断用户究竟采用了那种程序装载方式,而判断的依据是通过诸如中断的有无、数据或I/O空间固定地址单元内特定的标志字的有无等厂家已经定义好的方式来识别的。值得注意的是,VC5402的HPI装载方式与C54X系列的其它型号稍有不同。其不同有以下两点:
⑴ VC5402的HPI装载过程是在复位过程(Reset)以后完成的,不是在复位过程中完成的。
⑵ /INT2标志位不是判断HPI装载模式的唯一方法,VC5402内地址为0X007F的RAM单元的内容也是判断HPI装载模式的一种方法。
PC机的ISA总线作为主机(以后称为HOST)可以通过HPI口把VC5402的程序装载到VC5402内部双存取RAM中开始执行。
2.硬件实现
实现ISA总线与VC5402的HPI硬件接口比较简单,需要注意的一点就是VC5402与ISA总线需要电平转换。由于ISA总线电平是5V TTL电平,而VC5402是3.3V电平,所以两者不能直接接口。我们可以使用Philips公司的74LVC245电平转换芯片,这种芯片采用3.3V供电,能允许5V和3.3V两种电平的输入信号。输出为3.3V电平,可以和3.3V器件直接接口。电路原理图见图一:
由于需要PC对VC5402进行实时的程序装载,那么VC5402的复位就不能用简单的RC电路来完成,这里采用一片74HC74的D触发器由PC控制完成VC5402的复位过程。图中,我们把/HINT和/INT2连在一起,是因为VC5402在运行Bootloader时会自动在/HINT引脚输出一个低电平,这样会使VC5402在复位结束后马上能识别到当前的装载模式为HPI模式,而忽略对其它模式的循环搜索。电路设计时需要注意对VC5402的HPI相关控制引脚的接法。对于控制引脚,采用不同的HOST时,接法也会有所不同。这里需要了解一下HPI主机并口工作的时序,时序图见图二。图中的/HCS信号是HPI使能输入信号,当使用HPI时,/HCS信号必须接地。/HAS是HPI的地址锁存输入信号,这个信号在地址总线与数据总线分时复用的处理器(例如8031)作为HOST时作为地址锁存信号来使用;对于ISA总线,其地址线和数据线是分开的,所以/HAS只要接3.3V即可。/HDS1和/HDS2是两个数据锁存信号,事实上使用其中的一个就可以了,而另一个则必须接3.3V。本例子中使用了/HDS1,而/HDS2接了3.3V。应该指出,当不使用/HAS信号时,/HDS1和/HDS2两个输入信号也具有地址锁存作用,在它们的下降沿时刻,VC5402的HPI锁存HCNTL0、HCNTL1、HBIL和HR/W四个控制输入信号的值。通过这四个信号的值,VC5402可以确定当前是对那个寄存器进行操作、是读操作还是写操作、是对16位字长的高八位还是低八位进行传输,因此电路设计时必须确保在/HDS1或/HDS2下降沿时上述四个控制信号具有正确的逻辑电平,否则整个程序装载过程将会失败。
由于VC5402内部是16位的数据总线,而其HPI主机并口却是一个8位的数据总线,所以通过HPI与HOST进行一个16位字的数据交换需要分两次来完成,HBIL信号来指出当前是第一个字节还是第二个字节。HR/W输入信号来指出当前HOST的数据传输方向,由于这里只是对VC5402进行程序装载,即HOST只对HPI进行写操作,所以把HR/W接地。至于HCNTL0、HCNTL1两个输入控制信号的作用,这里不妨简述如下:
HOST通过HPI与VC5402进行数据交换时,实际上只是对VC5402的三个寄存器进行访问,它们是HPI控制寄存器HPIC、HPI地址寄存器HPIA和HPI数据寄存器HPID。HOST对这三个寄存器的寻址,是通过输入信号线HCNTL0和HCNTL1来完成的,具体过程如下表一。实际应用中通常是把HCNTL0、HCNTL1连同HBIL接到HOST的地址线上。
表一 HPI主机并口的地址分配
HCNTL0HCNTL1功 能 描 述00HOST读写HPI控制寄存器HPIC01HOST读写HPI控制寄存器HPID,同时HPIA具有自动加1的功能,这种方式可以数据交换的速度10HOST读写HPI地址寄存器HPIA11HOST读写HPI数据寄存器HPID,HPIA寄存器不受影响
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>