首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
DSP与ISA总线PnP卡的接口技术研究
来源:本站整理  作者:佚名  2009-03-26 16:35:37



为解决多个总线设备共享系统总线时所带来的系统底层资源的分配和再分配问题,Microsoft公司在1993年以后相继公布了即插即用PnP(Plug-and-Play)规范,包括的总线类型有ISA、EISA、PCMCIA、PCI、VESA及SCSI等。PnP技术提供了对于底层硬件资源包括I/O端口、IRQ、DMA通道以及内存等的智能管理,免除了用户因安装新的硬件设备而带来的烦恼。PnP不需要手工改变设备的开关或跳线,给大家带来了好处,但也给在非PC硬件平台上的应用带来了麻烦。原因在于PnP的实现必须具备两个条件:一是PC机主板要有支持PnP的BIOS;二是要有支持PnP的操作系统,如Windows95/98/2000等。当脱离了PC机环境,这两个条件皆不具备,PnP设备的应用受到了极大的限制。比如在DSP与ISA总线接口系统的设计中,一般ISA标准的非PnP设备有固定的系统资源,通过跳线或开关手工设置完成后,上电即可对其编程,相应的ISA接口卡就会做出反应。而支持PnP的接口卡上面没有开关和跳线,板上的资源需要用软件配置;当同时使用多块PnP接口卡时,首先还必须进行PnP卡的识别,然后才能对相应的接口卡进行资源配置。在笔者以前所从事的科研任务中,需要DSP与ISA总线的网卡和声卡进行接口设计,所用的网卡和声卡都不支持PnP规范。随着PnP技术的发展和普遍应用,如今在市场上很难见到不支持PnP的老ISA卡了,这就给笔者提出了新的问题:如何在非PC硬件环境下使用PnP设备?本文以PnP网卡和声卡为例,通过分析ISA总线PnP卡与微机的软、硬件接口电路,用DSP芯片TMS320F206结合外围电路模拟ISA时序,实现了DSP对PnP卡的自动识别与配置,从而使ISA总线PnP卡在非PC环境下的应用变成现实。

1 ISA总线PnP协议简介[1]

  PnP逻辑必须在上电后经软件使能才起作用。使能的过程是将一个预先定义好的序列(32次I/O写)写入地址端口,地址端口的地址为279H,预先定义好的序列就称为PnP初始化关键字。这32个字节为:

  6A,B5,DA,ED,F6,FB,7D,BE,DF,6F,37,1B,0D,86,C3,61,B0,58,2C,16,8B,45,A2,D1,E8,74, A,9D,CE,E7,73,39

  当PnP卡检测到上述32字节的初始化关键字后,所有的PnP卡都进入了隔离状态,等待软件一个一个地去识别并配置资源。PnP卡能被软件识别的关键在于每个卡都有一个唯一的序列标识符。该序列标识符由9个字节共72位组成,其中前四个字节是生产厂家的标识,紧接的四个字节可以是任何值,只要系统中任意两块卡之间的这八个字节不完全相同即可。最后的一个字节是前八个字节的校验和。软件就是通过读取每个卡的序列标识符来识别该PnP卡是由哪个公司生产的并正确调用该公司提供的驱动程序。序列标识符是按位顺序读出的,图1示出了序列标识符的构成及移位过程。对每个字节,协议规定移出的顺序是bit[0],bit[1],直到bit[7]。

读序列标识符的口地址为200H到3FFH之间的任意地址,只要该地址未被其它资源占用。设置该地址的过程见本文的第四部分。所有卡的读地址皆相同,设将要读的一块卡的序列标识符的该位为“1”,而另一块卡的相应位是“0”,如果这两块卡都来驱动数据总线,则不可避免地会产生冲突。PnP卡识别的关键技术也就在这里,即PnP上的硬件参与配合了该卡的识别判断过程。每块卡会根据自己序列标识符的每一位对I/O读做出相应的反应。

  如果该卡的序列标识符的当前位是“1”,那么该卡就驱动数据总线为55H;如果该位是“0”,就驱动数据总线为高阻,所有在高阻态的卡会去检查数据总线是否有别的卡正在驱动数据总线的最低两位为“01”。第二次I/O读时,驱动数据总线为55H的卡将驱动数据总线为AAH,而在高阻态的卡会去看是否有别的卡正在驱动数据总线的最低两位为“10”。以上可以看出,每读一位需要两次I/O读。

  在高阻态的卡如果检测到有别的卡在两次读周期中有效地驱动了数据总线,则它就会停止参与当前的识别状态,等在下一轮的识别过程中再参加。但是如果该卡没有检测到有别的卡去驱动数据总线,则它将继

续参加这一轮的识别,并且利用新移出的一位来决定本身的响应。

  上述移位和判别过程要进行72次,最后有一块卡保留下来,该卡被指定了一个句柄,也不再参与下一轮的识别过程。同样,在紧接的一轮识别过程中,又有一块卡被识别并赋予一个新的句柄。重复上述过程,每块卡都会被识别且拥有一个相应的句柄。

  当系统中的所有PnP卡皆被正确识别后,就可以根据每个卡的句柄对相应的卡进行资源配置工作了。这部分工作纯粹是由PnP资源管理软件来完成的。

2 DSP与ISA总线PnP卡的硬件接口技术

  从前面的叙述可以看出,ISA总线PnP卡与非PnP卡对是否为PC硬件环境并不作要求,只需用户所设计的总线符合ISA标准即可。以前针对非PnP的老ISA卡设计的ISA插槽同样适用于PnP卡,仅在软件上做相应的改动即可。

3 DSP对PnP卡的识别技术

  DSP对PnP卡的识别过程与微机对PnP卡的识别过程是一模一样的,图2给出了DSP对PnP卡的识别程序流程。

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:158,285.20000 毫秒