版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辨别利用ISA总线实现对DSP芯片VC5402的软配置关键词:DSP HPI主机并口 ISA总线 软配置一、引言目前,随着微电子技术的飞速发展,在基于工业测控和数据采集领域的PC机板卡产品中,高速DSP芯片的使用已经是越来越普及。众多厂家生产的DSP芯片中以美国TI公司(德州仪器)生产的DSP芯片的应用最为普遍。同传统的诸如单片机的程序装载过程相比,DSP厂家为芯片提供了更多、更灵活的程序装载方法。电子工程师在设计DSP系统中究竟采用那种程序装载方法,应视产品类型的不同而有所选择。当前许多厂家所生产的DSP芯片中都集成了主机并行接口,利用主机并口可以完成主机和DSP之间的并行数据交换。例如TI
2、公司的TMS320C54X系列的DSP芯片、AD公司ADSP21XX系列的DSP芯片等。而主机并口在完成主机与DSP进行数据交换的同时,还大都具有程序装载的功能。在PC板卡类电子产品上使用DSP芯片时,实际上是一种主从模式的应用,即把PC机作为主机,DSP芯片作为从机。这时采用主机并口通过PC机的系统总线来完成程序的装载就成了一种既经济实用又灵活方便的方式。下面以TI公司的TMS320VC5402为例(以下简称为VC5402),本文介绍了如何由PC的ISA总线来完成DSP程序的HPI(主机并行接口)装载,并给出了软硬件开发的实例。二、硬件设计1VC5402的HPI程序装载过程VC5402内部具
3、有4K16位字的ROM,当系统上电复位后,如果VC5402的MP/MC引脚为低,那么VC5402的PC程序指针跳到地址为0XFF80的ROM处开始执行复位向量段的程序。该段程序是厂家在出厂时就固化好的一段程序,它首先执行跳转指令,跳到地址为0XF800处开始执行,从0XF800开始的ROM的内容被称为程序装载器(Bootloader)。在那里DSP将要判断用户究竟采用了那种12345678下一页 程序装载方式,而判断的依据是通过诸如中断的有无、数据或I/O空间固定地址单元内特定的标志字的有无等厂家已经定义好的方式来识别的。值得注意的是,VC5402的HPI装载方式与C54X系列的其它型号稍有不
4、同。其不同有以下两点: VC5402的HPI装载过程是在复位过程(Reset)以后完成的,不是在复位过程中完成的。 /INT2标志位不是判断HPI装载模式的唯一方法,VC5402内地址为0X007F的RAM单元的内容也是判断HPI装载模式的一种方法。PC机的ISA总线作为主机(以后称为HOST)可以通过HPI口把VC5402的程序装载到VC5402内部双存取RAM中开始执行。图1 ISA总线与VC5402的HPI接口电路2硬件实现实现ISA总线与VC5402的HPI硬件接口比较简单,需要注意的一点就是VC5402与ISA总线需要电平转换。由于ISA总线电平是5V TTL电平,而VC5402是3
5、.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模式,而
6、忽略对其它模式的循环搜索。电路设计时需要注意对VC5402的HPI相关控制引脚的接法。对于控制引脚,采用不同的HOST时,接法也会有所不同。这里需要了解一下HPI主机并口工作的时序,时序图见图二。图中的/HCS信号是HPI使能输入信号,当使用HPI时,/HCS信号必须接地。/HAS是HPI的地址锁存输入信号,这个信号在地址总线与数据总线分时复用的处理器(例如8031)作为HOST时作为地址锁存信号来使用;对于ISA总线,其地址线和数据线是分开的,所以/HAS只要接3.3V即可。/HDS1和/HDS2是两个数据锁存信号,事实上使用其中的一个就可以了,而另一个则必须接3.3V。本例子中使用了/HD
7、S1,而/HDS2接了3.3V。应该指出,当不使用/HAS信号时,/HDS1和/HDS2两个输入信号也具有地址锁存作用,在它们的下降沿时刻,VC5402的HPI锁存HCNTL0、HCNTL1、HBIL和HR/W四个控制输入信号的值。通过这四个信号的值,VC5402可以确定当前是对那个寄存器进行操作、是读操作还是写操作、是对16位字长的高八位还是低八位进行传输,因此电路设计时必须确保在/HDS1或/HDS2下降沿时上述四个控制信号具有正确的逻辑电平,否则整个程序装载过程将会失败。图2 HPI操作时序图由于VC5402内部是16位的数据总线,而其HPI主机并口却是一个8位的数据总线,所以通过HPI
8、与HOST进行一个16位字的数据交换需要分两次来完成,HBIL信号来指出当前是第一个字节还是第二个字节。HR/W输入信号来指出当前HOST的数据传输方向,由于这里只是对VC5402进行程序装载,即HOST只对HPI进行写操作,所以把HR/W接地。至于HCNTL0、HCNTL1两上一页12345678下一页 个输入控制信号的作用,这里不妨简述如下:HOST通过HPI与VC5402进行数据交换时,实际上只是对VC5402的三个寄存器进行访问,它们是HPI控制寄存器HPIC、HPI地址寄存器HPIA和HPI数据寄存器HPID。HOST对这三个寄存器的寻址,是通过输入信号线HCNTL0和HCNTL1来
9、完成的,具体过程如下表一。实际应用中通常是把HCNTL0、HCNTL1连同HBIL接到HOST的地址线上。表一 HPI主机并口的地址分配HCNTL0HCNTL1功 能 描 述00HOST读写HPI控制寄存器HPIC01HOST读写HPI控制寄存器HPID,同时HPIA具有自动加1的功能,这种方式可以数据交换的速度10HOST读写HPI地址寄存器HPIA11HOST读写HPI数据寄存器HPID,HPIA寄存器不受影响电路中用一片GAL16V8来完成PC的I/O地址译码。下面来对VC5402进行I/O资源分配。分配情况见表二。根据资源分配,对照图一所示电原理图,写出GAL16V8的译码状态方程:I
10、O4=A9*/A8*/A7*/A6*A5*A4*/A3*/A2*/A1*/A0*AEN*/IOW ;对VC5402复位译码/IO1=/IOW ;送/HDS1进行数据锁存/IO6=A9*/A8*/A7*/A6*A5*A4*A3*AEN ;HPI地址选通为了防止74LVC245高阻输出时的不稳定对/HDS1造成误操作,使用10K的电阻对/HDS1进行上拉是必要的。表二 PC对VC5402的I/O资源分配I/O地址操 作230H对VC5402进行复位,当写00H时是执行复位,当写入01H时是跳出复位状态238H写HPIC是第一个字节239H写HPIC是第二个字节23CH写HPIA是第一个字节23DH
11、写HPIA是第二个字节23EH写HPID是第一个字节23FH写HPID是第二个字节三、软件设计1软件开发步骤基于ISA总线实现对VC5402的软配置,软件的关键在于HOST方软件的编写,至于VC5402的运行程序的编写当然不在讨论的范畴。HOST方软件所要完成的任务就是把VC5402的运行程序按照编程者事先指定好的地址进行定位装载然后运行。那么究竟应该把什么格式的文件装载到VC5402的内部,又怎样装载呢?鉴于此,可以把HOST方软件用下面四个步骤来概括:生成* .OUT形式的公用目标文件(COFF)。当在TI公司的C54X集成开发环境CCS 5000 下进行C54X系列的程序开发时上一页12
12、345678下一页 ,都会经过编译,链接最后生成*.OUT文件。对*.OUT文件进行提取,从中筛选出对最后装载有用的代码和地址信息。第一步所产生的*.OUT文件由于是COFF格式的文件,也就是一种模块化的经过Bootload后就可执行的文件,它的可重定位特性使得用户可以对程序在允许的地址范围内灵活地安排。正因为如此,*.OUT文件还不是一个完完全全的可执行代码,它里面包含有一些关于程序中各个段的诸如起始地址、段的长度这样的辅助信息,如果把这些信息连同程序代码都装入DSP内部,程序是不会被正常执行的。这时必须要对*.OUT进行辅助信息与可执行代码的提取与分离。完成这个任务是靠专门的程序完成的,是
13、TI公司提供的,程序的名称是:Coff_both.exe。这个程序可以在TI的网站上免费下载,空间为120K。利用该程序对*.OUT文件进行操作最后生成第三步所需的*.OUT.C的文件。把经过提取的*.OUT.C文件按照文件提供的起始地址和程序代码通过HPI装载到VC5402内部。第二步生成的*.OUT.C文件明确地告诉了程序有几个段,每个段的大小,段的起始地址以及每个段的16进制代码。有了这个文件,就知道了该写些什么内容到VC5402里去才能够开始执行VC5402的程序了。接下来要做的就是通过编写自己的应用程序把*.OUT.C文件中的16进制代码通过HPI写入VC5402内部。把程序执行的首
14、地址写入V上一页12345678下一页 C5402内部地址为0X007F的单元内部。在把所有的代码都装载完毕后,最后必须要在VC5402内部0X007F的RAM单元内写入程序执行的首地址。当VC5402检测到0X007F单元内的值为非0值时,就知道HPI装载过程已经结束,并从0X007F单元指定的地址开始执行程序,至此整个装载过程结束。2软件开发实例结合图一的硬件电路,对照软件开发的每一个步骤,我们给出了一个简单的软件开发的例子,意在使对此感兴趣的读者能够通过此例,真正明白用HPI进行VC5402装载的全过程。图一中VC5402的XF输出引脚接了一个发光二极管,VC5402程序的功能就是使该二
15、极管不停的闪烁。下面按照上述的四步流程进行:编写example.asm 和example.cmd 文件,用CCS 5000集成开发软件生成example.out文件。关于通过控制XF引脚来使发光二极管闪烁的VC5402程序的编写,这里就不再赘述。把Coff_both.exe 和example.out文件放在同一目录下,在DOS命令提示符下键入:Coff_both -out example.out 。这时就会生成example.out.c格式的文件。该文件的形式见图三。这个程序只有一段程序,即.text段,这段程序一共由41个字组成,该程序段需要装载到开始地址为0X0080开始的内部RAM中去运
16、行。而这41个字的16进制代码则是最后真正被执行的VC5402的程序代码。把example.out.c文件中的代码由HPI写到VC5402的内部RAM中。 HOST主机软件,需要用户自己来编写,可以采用VC或VB调用驱动程序来完成,也可以通过TURB0 C 2.0直接通过I/O操作来完成,甚至可用MASM的汇编语言来编写,上一页12345678下一页 程序的主要任务就是读取example.out.c文件和写I/O端口。HOST主机软件的流程图见图四。为了便于读者编程验证,我们用TURBO C 2.0编写了名为HOST_HPI.C的主机程序,读者可以运行该程序来读取example.out.c文件
17、,把41字的代码装载入VC5402。使用方法如下:在DOS命令提示符下键入:HOST_HPI.exe后,屏幕将提示输入example.out.c文件的路径,例如:键入:C:timyprojectsexample.out.c后,HOST_HPI.exe将完成HOST装载VC5402的任务,如果看到发光二级管不停的闪烁,表明VC5402已经开始正常运行程序了。至此,整个装载过程完毕。3. HOST_HPI.C源程序/*HOST_HPI.C*/#includestdio.h#includedos.h#define SIZE 100main()FILE *fp;Unsigned int DSP_RES
18、,HPIC_H,HPIC_L;Unsigned int HPIA_H,HPIA_L,HPID_H,HPID_L;char *a,ch,filename;unsigned int i,j,length,addr,start10,*data;printf(Please input the name file:n);scanf(%s,filename); /*输入程序文件名*/if(fp=fopen(filename,r)=NULL) /*打开程序文件*/printf(cannot open file:n);exit(0);DSP_RES=0x240; /*设置DSP各寄存器的I/O地址*/HPIC
19、_H=0x230;HPIC_L=0x231;HPIA_H=0x234;HPIA_L=0x235;HPID_H=0x236;HPID_L=0x237;outportb(DSP_RES,0x00); /*DSP复位(DSP_RES寄存器置00H)*/delay(2000); /*延时以保证DSP准确的复位*/outportb(DSP_RES,0x01); /*DSP上一页12345678下一页 跳出复位(DSP_RES寄存器置01H)*/outportb(HPIC_H,0x00); /*DSP的HPIC寄存器置0000H*/outportb(HPIC_L,0x00);i=0;while(!feof(fp) /*判断程序文件是否结束*/fgets(a,SIZE,fp);fgets(a,SIZE,fp);fscanf(fp,%s,a);fscanf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合作共享:股权合作协议
- 2024年长春客运从业资格证考试题库APP
- 2024年超、高速离心机项目申请报告模范
- 2024年自动化生产线成套装备项目申请报告模范
- 2024年信用担保借款合同范本
- 2024年光伏产业链协同发展协议
- 2024年铜仁客运从业资格证考试题库
- 仓储物流供应商选择与评价
- 班主任与学生关系建设经验发言稿
- 会员制度与市场定位策略案例
- 留守儿童一生一档联系卡
- 黑洞白洞和虫洞优质PPT课件
- 城镇5000吨日供水工程可行性研究报告(含图纸)
- 湿法炼锌的浸出过程
- 新生儿液体疗法PPT课件.ppt
- 个国际音标对应的字母组合new
- 一年级数学上册期中试卷精品
- 厂房压缩空气管道安装工程施工方案完整
- 档案工作目标管理考评标准及评分记录表
- 路基工程中间交工验收实施办法
- 施工现场危险源辨识、风险评价和风险控制
评论
0/150
提交评论