基于多CF接口系統(tǒng)的總線設(shè)計
集中式仲裁方式的電路簡單,速度快;但它的容錯能力差,魯棒性不夠好。
分布式仲裁不需要中心仲裁器,每個潛伏的功能模塊都有自己的仲裁號和仲裁器。共享的仲裁總線上總是保存著當(dāng)前占用總線模塊的仲裁號,當(dāng)其它模塊有總線請求時,各仲裁器將從仲裁總線上得到的號與自己的號進行比較。假如仲裁總線上的號大,則它的總線請求不予響應(yīng),并撤消它的仲裁號。最后,獲勝者的仲裁號保存在仲裁總線上。
分布式仲裁方法固然電路復(fù)雜一點,但容錯能力強,可擴展性好,當(dāng)其中一部分出現(xiàn)故障時,不會影響其它的部分的工作。
3.3 本系統(tǒng)仲裁策略的解決方案
本系統(tǒng)采用計數(shù)器定時查詢的仲裁策略,這是集中式仲裁方式的一種,其基本思想是,總線上的任一設(shè)備要求使用總線時,通過共同的請求線向中心仲裁器發(fā)出總線請求。仲裁器接到請求信號以后,在總線不忙的情況下,讓仲裁地址計數(shù)器開始計數(shù),計數(shù)值通過一組地址線發(fā)向各設(shè)備。每個設(shè)備接口都有一個設(shè)備地址判別電路,當(dāng)?shù)刂肪€上的計數(shù)值與請求總線的設(shè)備地址相一致時,該設(shè)備把總線狀態(tài)設(shè)為占用,獲得了總線使用權(quán),同時中止計數(shù)查詢。該方式的特點是計數(shù)靈活,既保證了仲裁的公平,也突出了重點。
這種方式很好決了總線沖突和“死鎖”的題目。對于緊急占用的題目,可以通過中斷廣播的方法來實現(xiàn)。即當(dāng)有一個CF卡需要緊急服務(wù)時,它向所有的設(shè)備發(fā)出占用總線的中斷請求,其它設(shè)備檢查自己是否占用總線,假如占用,就馬上開釋;沒有占用,就繼續(xù)執(zhí)行自己的操縱。當(dāng)緊急任務(wù)完成后,該CF卡再把總線控制權(quán)交給原來控制總線的設(shè)備。這樣就可以使各設(shè)備的優(yōu)先權(quán)得到保證。
4. 具體的設(shè)計實現(xiàn)
本系統(tǒng)中的多CF卡采用INTEL公司的PD6722作為主控。它是一個專門的從ISA總線擴展出兩個符合PCMCIA標(biāo)準(zhǔn)的芯片,不需要其它任何控制電路。它能直接治理地址在64K到16M之間,通過一個地址偏移量寄存器(存有所治理的地址的起始位置)把它映射到一個64M的地址上。通過擴展,可以方便地控制四個CF接口。而且它自身包含了仲裁邏輯電路,所以基本不需要另外的仲裁電路,這為設(shè)計帶來了很大的方便。
設(shè)計本系統(tǒng)的主要工作是對如何更加有效地種用總線。要使多個CF接口能夠協(xié)同工作,我們不但要做好硬件的設(shè)計,還要選擇良好的總線仲裁策略。
這個系統(tǒng)直接連到系統(tǒng)的總線上,在加電的同時,總線首先由主控占用,并由主控對各個接口進行初始化的配置,把相應(yīng)的工作模式配置到各個端口,并為它們分發(fā)時間片和優(yōu)先級,然后用計數(shù)器定時查詢方式進行工作。
本系統(tǒng)也有脆弱的一面,主要體現(xiàn)在對主控的存賴度較高,假如主控芯片出了題目,對本系統(tǒng)的打擊是致命的,這一點我們會在以后的工作中加以改進。
評論