当前位置:首页 > 电源 > 数字电源
[导读]为解决多个总线设备共享系统总线时所带来的系统底层资源的分配和再分配问题,Microsoft公司在1993年以后相继公布了即插即用PnP(Plug-and-Play)规范,包括的总线类型有ISA、EISA、PCMCIA、PCI、VESA及SCSI等。PnP技术提

为解决多个总线设备共享系统总线时所带来的系统底层资源的分配和再分配问题,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设备的应用受到了极大的限制。比如在DSPISA总线接口系统的设计中,一般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卡的识别程序流程。[!--empirenews.page--]

表1给出了利用上述方法对三个PnP卡的识别结果,其中两块PnP卡是Accton公司设计的10M以太网卡,另一块是利用Crystal公司的CS4235设计的3D声卡。

 

从表1可清楚看到,由于网卡是同一厂家生产的,故其序列标识符的前四个字节相同。同时根据DSP对PnP卡的识别流程可知,第一轮可识别出声卡,第二轮识别出网卡2,最后识别出网卡1。

4 DSP对PnP卡的资源配置

  本文以NE2000兼容网卡为例,通过对I/O端口地址的配置来阐述DSP是如何对PnP卡进行资源配置的。该网卡使用的芯片为Realtek公司生产的RTL8019,芯片中I/O配置寄存器如表2所示。

当识别出该网卡后,就可把该网卡的资源数据读出,下面就是从该PnP卡上读出的有关I/O端口地址配置的资源:

  TAG  I/O Format

   Item byte                        47H

   I/O information                   00H

   Min.I/O base bits 7-0          20H

   Min.I/O base bits 15-8         02H

   Max.I/O base bits 7-0            80H

   Max.I/O base bits 15-8          03H

   Base alignment                    20H

    Range length                      20H

  从上面的资源数据可以看出,该网卡的I/O端口可以配置为220H到380H之间的地址空间,占用的空间范围为20H,同时要求该地址的步进大小为20H,即只能选择220H~23FH,240H~25FH等,依此类推。现假设要给该网卡配置地址空间为300H~31FH,则只需给I/O配置寄存器60H写入03H,61H写入00H即可。对IRQ、DMA的配置与I/O端口的配置过程是一样的。

5 避开PnP协议“关键字”的接口方法[3]

  从上述PnP卡的识别与配置过程可见,如果是在PC机环境中,那么这一过程可自动完成;而在用户所设计的系统中,这一过程就显得有些烦琐,且意义不是很大。能不能避开PnP协议直接对每块PnP卡进行编程,就象对老的ISA卡那样操作呢?实际上,大多数芯片确实提供了这种简洁、快速的方法,统称为“某某公司关键字”接口方法。以前文中所述声卡为例介绍这种接口方法。下面所给出的五个步骤完成后,该声卡就和老的ISA声卡操作过程一样了;唯一的不足是如果系统中使用了两块该类型的声卡,即使它们的序列标识符不同,该方法也失效。[!--empirenews.page--]

  (1)DSP送32字节“Crystal Key”到地址端口279H,该PnP卡就马上进入配置状态。这32字节数据为:

  96,35,9A,CD,E6,F3,79,BC,5E,AF,57,2B,15,8A,C5,E2,F1,F8,7C,3E,9F,4F,27,13,09,84,42,A1,D0,68,34,1A;

  (2)DSP送句柄号到279H;

  (3)DSP直接配置每个逻辑器件的配置寄存器;

  (4)DSP送79H到279H激活CS4235;

  (5)DSP禁止该PnP卡参与将来的PnP循环。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭