当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]DSP与ISA总线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循环。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭