梁維
(西安歐亞學(xué)院 信息工程學(xué)院,陜西 西安 710065)
根據(jù)PCI的總線操作類型和總線操作時(shí)序關(guān)系,我們?cè)谠O(shè)計(jì)中抽象出了一種簡單更易于實(shí)現(xiàn)的有限狀態(tài)機(jī),如圖所示:
假定在狀態(tài)機(jī)的設(shè)計(jì)中從進(jìn)入一個(gè)狀態(tài)到信號(hào)產(chǎn)生,可供狀態(tài)機(jī)使用是沒有延遲的,除了RST#信號(hào),所有PCI 信號(hào)均在CLK 時(shí)鐘的上升沿采樣。
空閑狀態(tài),初始狀態(tài)。在空閑狀態(tài)下,當(dāng)從設(shè)備在時(shí)鐘CLK的上升沿采樣到FRAME#信號(hào)有效時(shí),將會(huì)在下一個(gè)時(shí)鐘周期轉(zhuǎn)換到地址及過渡狀態(tài)。PCI 從設(shè)備如果檢測(cè)到IRDY#信號(hào)有效,說明PCI 主設(shè)備要繼續(xù)進(jìn)行數(shù)據(jù)寫交易,PCI 從設(shè)備在下一個(gè)時(shí)鐘周期將狀態(tài)轉(zhuǎn)換為數(shù)據(jù)傳輸狀態(tài)。當(dāng)PCI 從設(shè)備判斷PCI 主設(shè)備發(fā)起的交易沒有命中自己的時(shí)候,將會(huì)在下一個(gè)時(shí)鐘周期進(jìn)入總線忙狀態(tài)。當(dāng)PCI 主設(shè)備發(fā)起寫交易時(shí),PCI 從設(shè)備將會(huì)在下一個(gè)時(shí)鐘周期進(jìn)入停止?fàn)顟B(tài)。在數(shù)據(jù)傳輸狀態(tài)的過程中,PCI 主設(shè)備繼續(xù)要求傳送數(shù)據(jù)時(shí),保持FRAME#線有效,此時(shí)PCI 從設(shè)備在時(shí)鐘的上升沿采樣到這個(gè)FRAME#信號(hào),從而在下一個(gè)時(shí)鐘周期繼續(xù)保持?jǐn)?shù)據(jù)處于傳輸狀態(tài)。在數(shù)據(jù)傳輸狀態(tài)的過程中,當(dāng)PCI 從設(shè)備在時(shí)鐘的上升沿采樣到FRAME#信號(hào)無效且IRDY#信號(hào)有效,說明數(shù)據(jù)傳送已經(jīng)進(jìn)入最后一個(gè)數(shù)據(jù)期。如果PCI 從設(shè)備在這個(gè)時(shí)鐘周期能夠完成數(shù)據(jù)傳送,PCI 從設(shè)備在完成最后的數(shù)據(jù)傳送后,將在下一個(gè)時(shí)鐘周期進(jìn)入停止?fàn)顟B(tài)。
當(dāng)PCI 從設(shè)備處于忙狀態(tài)時(shí),說明此時(shí)PCI 總線被其它設(shè)備占用。此時(shí)PCI 從設(shè)備檢測(cè)FRAME#信號(hào),如果FRAME#信號(hào)有效,從設(shè)備將繼續(xù)保持此忙狀態(tài)。
處于忙狀態(tài)的PCI 從設(shè)備檢測(cè)到FRAME#信號(hào)變?yōu)闊o效時(shí),說明其它PCI 設(shè)備的交易已經(jīng)進(jìn)入最后數(shù)據(jù)期,PCI 從設(shè)備將在下一個(gè)時(shí)鐘周期進(jìn)入停止?fàn)顟B(tài)。
在停止?fàn)顟B(tài)的時(shí)候,PCI 主設(shè)備撤消FRAME#和IRDY#信號(hào),而PCI 從設(shè)備將保持TRDY#和DEVESEL#信號(hào)高電平一個(gè)時(shí)鐘周期,然后在下一個(gè)時(shí)鐘周期轉(zhuǎn)入空閑狀態(tài)。
當(dāng)從設(shè)備被選中而沒有進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,地址及過渡狀態(tài)將在下一個(gè)時(shí)鐘周期內(nèi)保持此狀態(tài)。
當(dāng)在地址及過渡態(tài)時(shí),ready 信號(hào)無效,則進(jìn)入重試態(tài)。
如果FRAME 信號(hào)有效,控制器就置DEVSEL 和STOP 信號(hào)有效,TRDY 無效,保持重試狀態(tài)。
在重試狀態(tài),如果FRAME 信號(hào)無效,則控制器轉(zhuǎn)入停止?fàn)顟B(tài),使DEVSEL、TRDY 和STOP 信號(hào)失效。
[1]李貴山.陳金鵬.PCI 局部總線及其應(yīng)用.西安電子科技大學(xué)出版社.2003.
[2]劉瑰,朱鴻宇.通用DDR SDRAM 控制器的設(shè)計(jì).微型機(jī)與應(yīng)用.2004.
[3]孟慶輝基于FPGA的PCI 接口設(shè)計(jì).哈爾濱工業(yè)大學(xué).碩士學(xué)士論文.2006.