1 前言 在工業(yè)控制領(lǐng)域,基于ISA總線的I/O接口因電路簡(jiǎn)單,造價(jià)低得到了廣泛的應(yīng)用。但是,隨著控制理論與技術(shù)的進(jìn)步,計(jì)算機(jī)的飛速發(fā)展和現(xiàn)代工業(yè)控制對(duì)I/O接口電路高速的要求,基于ISA總線的接口電路越來越難以滿足現(xiàn)代工業(yè)控制系統(tǒng)的要求,其缺點(diǎn)逐步顯現(xiàn)出來:①ISA是8/16bit的系統(tǒng)總線,最大傳輸速率僅為8MB/s,傳輸速率低;⑨現(xiàn)代計(jì)算機(jī)中ISA插槽逐漸減少;③1SA總線系統(tǒng)資源占用率較高,占用硬件中斷資源等。而PCI總線由于速度高、可靠性強(qiáng)、成本低及兼容性好等性能,成為目前應(yīng)用最廣泛、最流行的一種高速同步總線,具有32/64bit總線寬度,總線時(shí)鐘頻率為33/66MHz,最大傳輸速率可達(dá)132MByte/s(32Bit),遠(yuǎn)大于ISA總線的傳輸速率。采用基于PCI標(biāo)準(zhǔn)的接13設(shè)計(jì)已成為各類項(xiàng)目開發(fā)中的優(yōu)先選擇。 但是,一方面在ISA總線時(shí)代,生產(chǎn)的大量摹于ISA總線的接口電路,即使到了現(xiàn)在仍發(fā)揮著重要作用,尤其在工業(yè)控制領(lǐng)域的應(yīng)用仍十分普遍。另一方面,PCI總線協(xié)議比較復(fù)雜,它不但有著嚴(yán)格的H步時(shí)序要求,而且為了實(shí)現(xiàn)即插即用和自動(dòng)配置,PCI接口還要求有許多的配置寄存器,因此它的接口電路實(shí)現(xiàn)起來比較閑難。對(duì)于一般的設(shè)計(jì)者來說,為了縮短開發(fā)周期,沒有必要自己去設(shè)計(jì)所有的接口邏輯。只需利用通用PCI接口芯片就能降低開發(fā)難度,且可以較低代價(jià)實(shí)現(xiàn)ISA總線升級(jí)到PCI總線。在現(xiàn)有PCI總線接口芯片中,以PLX公司的PCI9052應(yīng)用最為廣泛,利用它的ISA模式可以便捷的實(shí)現(xiàn)ISA總線升級(jí)到PCI總線。但是由于ISA模式只是PCI9052所工作的四個(gè)模式之~,用其實(shí)現(xiàn)ISA總線升級(jí)顯然是大材小用。另外基于ISA總線的接口電路,多數(shù)只完成簡(jiǎn)單的輸入輸出操作,使用PCI9052芯片.費(fèi)用較高,且資源利用率極低。鑒于此,本文介紹了一款閆產(chǎn)的PCI總線接口芯片CH365,它非常適合實(shí)現(xiàn)ISA總線升級(jí)到PCI總線,且價(jià)格低廉,不到PCl9052芯片的三分之一。 2 CH365簡(jiǎn)介 CH365是一個(gè)連接PCI總線的通用接口芯片,支持I/O端口映射、存儲(chǔ)器映射、擴(kuò)展ROM及中斷。它將32位高速PCI總線轉(zhuǎn)換為簡(jiǎn)便易用的類似ISA總線的8位主動(dòng)并行接口,用于制作低成本的基于PCI總線的計(jì)算機(jī)板卡,以及將原先基于ISA總線的板卡升級(jí)到PCI總線上。 2.1特點(diǎn) CH365特點(diǎn)如下:(1)實(shí)現(xiàn)基于32位PCI總線的從設(shè)備接口(SLAVE);(2)轉(zhuǎn)換為主動(dòng)并行接口:8位數(shù)據(jù),16位地址,I/0讀和寫,存儲(chǔ)器讀和寫;(3)支持以字節(jié)、字或雙字為單位對(duì)I/0端口或存儲(chǔ)器進(jìn)行讀寫;(4)支持長(zhǎng)度達(dá)240字節(jié)的I/O端口;(5)支持本地硬件定址功能,自由選擇I/O地址,在指定地址實(shí)現(xiàn)I/O端口;(6)直接升級(jí)ISA板卡到PCI總線,完全不用修改I/O板卡的相關(guān)軟件;(7)直接映射支持容量為32KB的存儲(chǔ)器SRAM或者擴(kuò)展ROM(Boot ROM);(8)內(nèi)置硬件實(shí)現(xiàn)的I2C主設(shè)備接口,可掛接I2C從設(shè)備;(9)支持容量為64KB以及128KB的存儲(chǔ)器或者擴(kuò)展ROM;(10)內(nèi)置4uS至1mS的硬件計(jì)時(shí)單元,用于延時(shí)參考;(11)大引腳間距(0.8mm)的PQFP-80封裝。 2.2引腳介紹 圖1為CH365總線接口芯片的一般應(yīng)用框圖,其中CH365左邊的信號(hào)與PCI總線相連,右邊的信號(hào)是用戶接口,可與ISA總線相連。 PCI主要信號(hào)完全符合PCI總線規(guī)范要求,與PCI總線相連的主望信號(hào)有:CLK:系統(tǒng)時(shí)鐘信號(hào),上升沿有效;AD[3l-0]:地址和雙向數(shù)據(jù)復(fù)用線;RST:系統(tǒng)復(fù)位信號(hào),低電平有效; CBE[3-0]:總線命令和字節(jié)使能復(fù)用信號(hào)線;PAR:奇偶校驗(yàn)信號(hào)線TRDY:目標(biāo)設(shè)備準(zhǔn)備好信號(hào),低電平有效;IRDY:發(fā)起設(shè)備準(zhǔn)備好信號(hào)線,低電平有效;FRAME:幀周期開始信號(hào)線,低電平有效;DEVSEL:目標(biāo)設(shè)備選中信號(hào)線,低電平有效;INTA:INTA中斷請(qǐng)求信號(hào),低電平有效;IDSEL:初始化設(shè)備選擇信號(hào)線,高電平有效。這些信號(hào)直接和PCI總線上對(duì)應(yīng)的引腳相連即可。 ![]() 圖1 CH365與PCI總線的接口門 與ISA總線連接的主要信號(hào)有:D[7-0]:8位雙向數(shù)據(jù)信號(hào)線;A[15-0] : 16位地址信號(hào)線;IOP_RD:I/O端口的讀選通/使能,低電平有效;lOP_WR:I/O端口的寫選通/使能,低電平有效;MEM_RD:存儲(chǔ)器或擴(kuò)展ROM的讀選通/使能,低電平有效;MEM_WR/IOP_HIT是復(fù)用引腳,MEM_WR是輸出信號(hào),作為存儲(chǔ)器或擴(kuò)展ROM的寫選通/使能,低電平有效,而IOP_HIT是輸入信號(hào),用作本地硬件定址請(qǐng)求,低電平有效;SYS_EX/INT_REQ也是復(fù)用引腳,SYS_EX用作輸出信號(hào),作為可以獨(dú)立控制的輸出信號(hào)線,而INT_REQ用作輸入信號(hào),作為本地中斷請(qǐng)求輸入,低電平有效。 2.3工作模式的設(shè)定 為了在不增加引腳的前提下提供更多可用功能.CH365對(duì)部分引腳進(jìn)行復(fù)用,通過工作模式設(shè)定進(jìn)行功能選擇。工作模式設(shè)定的具體方法如下:將本地端8位數(shù)據(jù)信號(hào)線D7-D0采用上拉或者下拉的方式設(shè)定為所需的高電平或者低電平,CH365被復(fù)位后根據(jù)這些信號(hào)線的默認(rèn)狀態(tài)設(shè)定工作模式以及參數(shù);而這些信號(hào)線在作為8位數(shù)據(jù)總線被驅(qū)動(dòng)時(shí),因?yàn)橐话阃獠吭O(shè)備的驅(qū)動(dòng)電流不小于1mA,所以上拉或者下拉不會(huì)影響其對(duì)數(shù)據(jù)總線的驅(qū)動(dòng);另外,CH365僅在被復(fù)位后的1μS內(nèi)一次性設(shè)定工作模式以及參數(shù),所以,如果外部設(shè)備的驅(qū)動(dòng)能力很小或者是OC集電極開路驅(qū)動(dòng),則可以僅在復(fù)位后的短時(shí)間內(nèi)實(shí)現(xiàn)下拉,而在其余時(shí)間屏蔽下拉或轉(zhuǎn)換成上拉。 表1為設(shè)定工作模式和參數(shù)所對(duì)應(yīng)的數(shù)值(1即高電平.0即低電平)。例如,D1=O則可以定義PCI板卡的ID,D3=0則啟用中斷功能,D4=0則啟用本地硬件定址的功能D4D3=01則啟用EXT_WR功能,D4D3=11則啟用SYS_EX功能。 表1 工作模式參數(shù)的設(shè)定 ![]() 提供給產(chǎn)品制造商使用,數(shù)據(jù)線的狀態(tài)從PCI設(shè)備配置空間41H中讀值。 3 應(yīng)用 圖2給出了CH365的應(yīng)用框圖。這是一塊數(shù)字量輸入輸出I/O卡,由于只涉及到了簡(jiǎn)單的輸入輸出,因此圖l中有些信號(hào)未曾使用。CH365的PCI部分的信號(hào)直接與PCI總線連接即可;而ISA部分的本地信號(hào)中要用到的是:16位地址總線A15一A0,8位數(shù)據(jù)總線D7一D0.讀信號(hào)10P RD(低電平有效),寫信號(hào)IOP_WR(低電平有效1,另外最重要的信號(hào)是本地硬件定址信號(hào)IOP_HIT(MEM_WR的復(fù)用引腳)。其中16位地址總線的A9一A0參與譯碼,形成本卡的段基址和偏移地址及本地硬件定址信號(hào)。本設(shè)計(jì)中選擇D4經(jīng)下拉電阻接地,即采用引腳63的復(fù)用功能,生成本地硬件定址信號(hào),設(shè)置工作模式為ISA轉(zhuǎn)PCI;另外Dl接高電平,即采用CH365默認(rèn)的ID(推薦使用)。 在設(shè)計(jì)中采用了CPLD芯片,由CPLD對(duì)數(shù)據(jù)進(jìn)行處理,這樣不僅可以提高整個(gè)系統(tǒng)的工作速度,而且可以大量的減少通用分立IC的個(gè)數(shù),降低PCB布線的難度和減小PCB板的面積,并且可以方便的升級(jí)和系統(tǒng)修改,增強(qiáng)了系統(tǒng)的穩(wěn)定性和抗干擾性。 ![]() 圖2 CH365在I/O板卡設(shè)計(jì)中的應(yīng)用 4 結(jié)束語 由于PCI總線數(shù)據(jù)吞吐量大,傳輸速率高,在微機(jī)接口設(shè)計(jì)中,基于PCI總線的設(shè)計(jì)成為主流。CH365是一款優(yōu)秀的PCI總線接口芯片,設(shè)計(jì)者用它可避免直接面對(duì)復(fù)雜的PCI總線協(xié)議。降低了設(shè)計(jì)難度,使用戶可以集中精力解決具體的應(yīng)用問題,縮短了開發(fā)周期。實(shí)踐證明,CH365為開發(fā)作為總線接口目標(biāo)設(shè)備的產(chǎn)品,特別是對(duì)基于ISA總線的接口板向PCI的轉(zhuǎn)換提供了極大的方便。 本文的創(chuàng)新點(diǎn):在數(shù)字采集系統(tǒng)中使用了功能強(qiáng)大的可編程邏輯器件,不僅大大減少了系統(tǒng)中元器件的數(shù)量,而且方便了后期的系統(tǒng)升級(jí),只要修改CPLD中的軟件部分,就可實(shí)現(xiàn)1~16路信號(hào)的采集。 作者::陳俊靈,王福源 來源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第2-2期 |