DSP與ISA總線PnP卡的接口技術(shù)研究
本文引用地址:http://2s4d.com/article/152561.htm
表1給出了利用上述方法對三個(gè)PnP卡的識別結(jié)果,其中兩塊PnP卡是Accton公司設(shè)計(jì)的10M以太網(wǎng)卡,另一塊是利用Crystal公司的CS4235設(shè)計(jì)的3D聲卡。
從表1可清楚看到,由于網(wǎng)卡是同一廠家生產(chǎn)的,故其序列標(biāo)識符的前四個(gè)字節(jié)相同。同時(shí)根據(jù)DSP對PnP卡的識別流程可知,第一輪可識別出聲卡,第二輪識別出網(wǎng)卡2,最后識別出網(wǎng)卡1。
本文以NE2000兼容網(wǎng)卡為例,通過對I/O端口地址的配置來闡述DSP是如何對PnP卡進(jìn)行資源配置的。該網(wǎng)卡使用的芯片為Realtek公司生產(chǎn)的RTL8019,芯片中I/O配置寄存器如表2所示。
當(dāng)識別出該網(wǎng)卡后,就可把該網(wǎng)卡的資源數(shù)據(jù)讀出,下面就是從該P(yáng)nP卡上讀出的有關(guān)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
從上面的資源數(shù)據(jù)可以看出,該網(wǎng)卡的I/O端口可以配置為220H到380H之間的地址空間,占用的空間范圍為20H,同時(shí)要求該地址的步進(jìn)大小為20H,即只能選擇220H~23FH,240H~25FH等,依此類推?,F(xiàn)假設(shè)要給該網(wǎng)卡配置地址空間為300H~31FH,則只需給I/O配置寄存器60H寫入03H,61H寫入00H即可。對IRQ、DMA的配置與I/O端口的配置過程是一樣的。
5 避開PnP協(xié)議“關(guān)鍵字”的接口方法[3]
從上述PnP卡的識別與配置過程可見,如果是在PC機(jī)環(huán)境中,那么這一過程可自動(dòng)完成;而在用戶所設(shè)計(jì)的系統(tǒng)中,這一過程就顯得有些煩瑣,且意義不是很大。能不能避開PnP協(xié)議直接對每塊PnP卡進(jìn)行編程,就象對老的ISA卡那樣操作呢?實(shí)際上,大多數(shù)芯片確實(shí)提供了這種簡潔、快速的方法,統(tǒng)稱為“某某公司關(guān)鍵字”接口方法。以前文中所述聲卡為例介紹這種接口方法。下面所給出的五個(gè)步驟完成后,該聲卡就和老的ISA聲卡操作過程一樣了;唯一的不足是如果系統(tǒng)中使用了兩塊該類型的聲卡,即使它們的序列標(biāo)識符不同,該方法也失效。
評論