PCI總線接口芯片CH361及其應(yīng)用
表2 工作模式設(shè)定表
數(shù) 據(jù) 線 | 數(shù) 據(jù) 線 的 設(shè) 定 說 明 | 設(shè)定值=0 | 設(shè)定值=1 |
D0 | 設(shè)定系統(tǒng)復(fù)位后A15地址線的默認(rèn)值 | 復(fù)位后為0 | 復(fù)位后為1 |
D1 | 選擇PCI設(shè)備標(biāo)識(shí)(ID) | 外部提供ID | CH361默認(rèn)1D |
D4 | 選擇復(fù)用引腳63的功能 | IOP_HIT | MEM_WR |
D5 | 設(shè)定I/O端口存取速度、擴(kuò)展ROM容量 | 60ns、8kB | 240ns、32kB |
D7和D6 | 提供給產(chǎn)品制造商使用,數(shù)據(jù)線的狀態(tài)從PCI設(shè)備配置空41H中讀取 |
表3 引腳復(fù)用設(shè)定表
數(shù)據(jù)線D4-D3-D2的設(shè)定值 | 選擇復(fù)用引腳59 | 引腳功能說明 |
D4-D3-D2=000或者100 | INT_REQ | 本地中斷請(qǐng)求輸入 |
D4-D3-D2=001 | IOP_WAIT | 本地設(shè)備數(shù)據(jù)等請(qǐng)求 |
D4-D3-D2=010 | EXT_WR | 本地?cái)?shù)據(jù)輸入緩存寫使能 |
D4-D3=011或者110或者111 | SYS_EX | 獨(dú)立控制輸出,復(fù)位后為0 |
D4-D3-D2=101 | 獨(dú)立控制輸出,復(fù)位后為1 |
4 CH361的典型應(yīng)用
4.1 與PCI總線的連接電路
圖2所示是CH361與PCI總線進(jìn)行連接的接口電路,圖中,電容C1~C4用于電源退耦,而C2~C4應(yīng)分別并聯(lián)在CH361的三對(duì)電源引腳上.圖中,PCI總線的電源線引腳可以自由選擇,但數(shù)量不得少于4對(duì).CH361屬于高頻數(shù)字電路,因此,設(shè)計(jì)PCB板需要參考PCI總線規(guī)范.
4.2 與存儲(chǔ)器的連接電路
圖3是CH361與SRAM62256存儲(chǔ)器的接口電路.圖中,CH361通過MEM_RD和MEM_WR與存儲(chǔ)器U2(型號(hào)是SRAM62256)連接.因?yàn)镃H361只在PCI設(shè)備配置空間中提供擴(kuò)展ROM基址寄存器,而計(jì)算機(jī)BIOS通常不會(huì)為SRAM設(shè)置擴(kuò)展ROM基址,所以在讀寫存儲(chǔ)器U2前,需要設(shè)置擴(kuò)展ROM基址寄存器,以將存儲(chǔ)器U2映射到存儲(chǔ)器空間.也就是說,向CH361的擴(kuò)展ROM基址置入地址值0E0000001(該地址不能與其它設(shè)備的存儲(chǔ)器地址相沖突,最低位置1是為了啟用擴(kuò)展ROM)后,U2即被映射到0E0000000H至0E0007FFFH 的地址空間,這樣,當(dāng)計(jì)算機(jī)讀寫0E0001234H 地址的存儲(chǔ)器時(shí),實(shí)際上就是讀寫存儲(chǔ)器U2的1234H地址的內(nèi)容.
如果將普通的SRAM換成雙端口SRAM,則CH361可以通過雙端口存儲(chǔ)器與外部的單片機(jī)或者DSP交換數(shù)據(jù).CH361使用8位數(shù)據(jù)總線,所以,向SRAM寫入數(shù)據(jù)只能以字節(jié)為單位進(jìn)行,但從SRAM讀出數(shù)據(jù)則能夠以字節(jié)、字、雙字為單位進(jìn)行.CH361通過存儲(chǔ)器與外部電路交換數(shù)據(jù)的實(shí)測(cè)速度可以達(dá)到每秒1.5M字節(jié).
4.3 連接擴(kuò)展ROM
圖4是CH361與擴(kuò)展ROM的接口電路.CH361可通過MEM_RD與ROM芯片U3(型號(hào)是27C512)進(jìn)行連接.它支持EPROM和閃存Flash-Memory,容量可以是32kB或者64kB.如果將SYS_EX用于A16地址線,則最大容量可達(dá)128kB.一般情況下烠H361可以直接支持32kB容量的擴(kuò)展ROM(即27C256芯片的容量),也可以在擴(kuò)展ROM的程序中通過控制A15地址線支持64kB容量的ROM芯片.下拉電阻R1用于CH361的工作模式設(shè)定,因?yàn)閳D中的數(shù)據(jù)線D0連接了下拉電阻,所以,系統(tǒng)復(fù)位后,地址線A15為低電平以選擇U3的低32kB(地址為0000H-7FFFH),而在需要讀取U3的高32kB時(shí)(地址為8000H-0FFFFH),可以通過寫芯片控制寄存器的位0來重新設(shè)定A15地址線,SYS EX連接A16地址線時(shí)與A15的用法類似.另外,由于PCI擴(kuò)展ROM中的內(nèi)容通常被BIOS復(fù)制到RAM內(nèi)存中,所以需要設(shè)置CH361的擴(kuò)展ROM基址以重新將U3映射到存儲(chǔ)器空間.CH361的A15引腳不僅能用作地址線,還可以自由控制,例如在需要同時(shí)連接SRAM和ROM時(shí),可通過A15切換兩者的片選.PC機(jī)中的擴(kuò)展ROM相當(dāng)于一個(gè)電子盤,如果在其中寫入引導(dǎo)程序和應(yīng)用程序,那么,即使計(jì)算機(jī)沒有硬盤和操作系統(tǒng),擴(kuò)展ROM中的引導(dǎo)程序和應(yīng)用程序也能夠控制計(jì)算機(jī)以實(shí)現(xiàn)某些特定的功能.如,無硬盤PC機(jī)用于工業(yè)控制或控制作業(yè)流程等.
4.4 I/O端口應(yīng)用
圖5是CH361 的應(yīng)用接口電路.利用讀選通/使能IOP RD和寫選通/使能IOP WR可 控制74LS139的譯碼使能,然后由74LS139對(duì)地址進(jìn)行譯碼即可輸出2路讀控制和2路寫控制,再經(jīng)74LS245輸入緩沖和74LS374鎖存輸出, 即可獲得2組每組8位緩沖輸入和2組每組8位鎖存輸出.如將CH361的I/O基址設(shè)定為5A00H,則讀取5A00H端口就是讀取第一組緩沖輸入,寫入5A01H端口就是寫入第二組鎖存輸出.如果CH361沒有連接擴(kuò)展ROM或者存儲(chǔ)器,則空閑的地址線A14~A8以及A15便可直接作為輸出控制線.A15~A0地址設(shè)定寄存器在系統(tǒng)復(fù)位后為低電平,并且只能以字為單位進(jìn)行讀寫.如要設(shè)定A13為高電平烝9為低電平熎淥位保持不變,則首先必須讀取該寄存器,然后將讀出數(shù)據(jù)中的位13置1、位9置0 ,最后再寫回該寄存器.圖5是一個(gè)簡(jiǎn)單示例,CH361的輸入輸出信號(hào)與TTL/CMOS 兼容,因而可以連接ADC/DAC/MCU等芯片,由于其輸出引腳的驅(qū)動(dòng)電流大于10mA,因而可以在串接限流電阻后驅(qū)動(dòng)LED.此外,CH361還提供了8根地址線A7~A0以可用于I/O地址譯碼,但由于偏移地址0FFH至0F0H范圍為專用功能寄存器的地址,所以I/O地址譯碼只對(duì)偏移地址0EFH至00H范圍有效,且長(zhǎng)度不應(yīng)超過240字節(jié).一般情況下,如果使用的I/O端口長(zhǎng)度不超過128字節(jié),則可使用A7作為外部電路的片選線.而當(dāng)偏移地址為7FH至00H范圍時(shí),A7就可以輸出低電平有效的片選信號(hào),如果偏移地址超過80H,A7將輸出高電平,此時(shí),I/O端口的片選信號(hào)無效.
評(píng)論