《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > DSP與ISA總線PnP卡的接口技術研究

DSP與ISA總線PnP卡的接口技術研究

2009-02-24
作者:劉國福 張 屺 羅詩途 淳靜 張

  摘? 要: 通過分析ISA總線PnP卡與微機的軟、硬件接口電路,用DSP芯片TMS320F206結合外圍電路模擬ISA時序,實現了DSP對PnP卡的自動識別與配置,從而使ISA總線PnP卡在非PC環境下的應用變成現實。

  關鍵詞: ISA總線? 即插即用(PnP)? DSP芯片? 識別? 配置

?

  為解決多個總線設備共享系統總線時所帶來的系統底層資源的分配和再分配問題,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給出了利用上述方法對三個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聲卡操作過程一樣了;唯一的不足是如果系統中使用了兩塊該類型的聲卡,即使它們的序列標識符不同,該方法也失效。

  (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循環。

?

參考文獻

1 REALTEK公司.RTL8019芯片技術資料.1995

2 劉國福,張屺,廖巍.DSP與以太網卡接口技術研究.電子技術應用,2001;27(1)

3 CIRRUS LOGIC公司.CS4235芯片技術資料.1997

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 手机毛片在线 | 亚洲欧洲久久久精品 | 国产成人毛片 | 亚洲第一大网站 | 在线观看免费av网站 | 日韩欧美一级毛片精品6 | 欧美一二三区视频 | 玖草在线播放 | 99精品欧美一区二区三区美图 | 全部免费毛片在线 | 欧美午夜免费一级毛片 | 三级三级三级网站网址 | 色综合久久88色综合天天提莫 | 国产人成午夜免费噼啪视频 | 亚洲欧美另类自拍 | 久青草免费视频手机在线观看 | 欧美日韩在线观看一区 | 一级全黄视频 | 亚洲一区二区三区欧美 | 亚洲专区在线 | 日韩a毛片免费全部播放完整 | 欧美一级视频在线高清观看 | 久草手机在线观看 | 嫩草影院在线观看网站成人 | 亚洲最大免费视频网 | 久久精品久久精品国产大片 | 日本手机在线视频 | 在线视频 一区二区 | 亚洲图片国产日韩欧美 | 有码 在线 | free性丰满白嫩白嫩的hd | 亚洲一区二区免费视频 | 亚洲男人精品 | 成人黄色在线网站 | 纯欧美一级毛片免费 | zztt40.su黑料不打烊官网 | 国内国产真实露脸对白 | 麻豆视频国产 | 91精品国产手机 | 极品美女一级毛片 | 在线不卡一区二区三区日韩 |