• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于多CF接口系統的總線設計與實現

    基于多CF接口系統的總線設計與實現

    作者: 時間:2011-06-28 來源:網絡 收藏

    1.引言   

    CF卡 (Compactflash:壓縮閃存)是目前世界上外形最小的大容量存儲設備,1994年由SanDisk最先推出。它與PCMCIA完全兼容,是一種固態產品,工作時沒有運動部件。它極少出現機械故障,存儲的數據非常安全,是應用最為廣泛的存儲卡。而且耗電量小,只有普通硬盤的5%。與其它存儲卡相比,容量大是CF卡的一個比較明顯的優勢,目前主流產品已經達到512Mb和1Gb標準。另外它還具備速度快、價格便宜等優點。CF卡采用閃存(flash)技術,是一種穩定的存儲解決方案,不需要電池來維持其中存儲的數據。對所保存的數據來說,CF卡比傳統的磁盤驅動器,更具安全性和保護性。

    CF卡的應用特別廣泛。CF卡協會(CompactFlash Association:CFA)成立的初衷是希望CF技術能廣泛用于便攜式計算機、臺式機、數碼相機、手持條碼掃描器、高級雙向尋呼機、錄音機、監視器、機頂盒等產品中。采用CF技術可以使得這些產品的功能得到擴展、體積變小、質量變輕。雖然以上目標還遠遠沒有完全實現,但它已經廣泛地用于很多領域,其中CF IO卡已經在調制解調器、網卡、數字電話卡、激光掃描儀及藍牙技術中得到了普遍的應用。隨著人們對設備的小型化和自動化的要求越來越高,CF卡的應用將會更加廣泛。

    2.CF卡的應用現狀   

    CF卡是由一個控制芯片和一個閃存組成,接口有50個腳(兩排),它能夠很容易地插入68針II型適配器卡(符合PCMCIA的技術要求)中使用。CF卡可以使用3.3V和5V兩種電壓工作,但對一個確定的卡,只能工作于一種電壓。

    現在一般的PC機上并沒有直接提供CF接口,對它的應用都是通過專門的讀卡器或是轉接設備來完成的。現在有很多從USB接口到CF接口的轉接設備,例如朗科公司剛推出基于閃存技術的第一款數碼移動存儲產品――優卡,就是其中的一個。它采用內置USB和CF雙接口,用戶將優卡中的圖片、音樂或其它數據上傳至電腦時,簡化了對CF卡的操作過程,但它僅能支持一個CF卡,目前還沒有擴展出多個CF接口的設備,而且,它只是一種簡化的讀卡器,需要專門的設備,沒有充分發揮出CF卡的優勢,限制了對CF卡的更加有效的利用。

    3.總線操作問題及解決思路   

    總線是構成系統的互連機構,是多個系統功能部件之間進行數據傳送的公共通路。借助于總線連接,各系統功能部件之間實現地址、數據和控制信息的交換,并在爭用資源的基礎上進行工作。

    3.1 系統中的總線問題   

    在這個系統中,當多個CF卡同時工作時,需要進行很多操作,處理器間要進行數據和狀態字的相互交換,要向共享存儲器存取數據,還要對輸入輸出設備進行讀寫,所有這些操作都要用到總線。特別是當對實時性要求較高時,總線的操作會遇到很多的問題:   

    (1)多個CF卡同時占用總線時,如何避免總線的沖突。

    (2)當一個操作占用總線時間過長時,且其請求得不到滿足時,如何避免“死鎖“問題。

    (3)在緊急情況下,有一個操作要立即占用總線,此時,如何使它在最短的時間內獲得總線的控制權。

    以上問題在系統上表現為性能不穩定,經常性死機,要解決這些問題,必須選擇合適的總線仲裁機制,使其靈活、可靠地完成各種工作。

    3.2 多CF卡總線仲裁機制   

    總線仲裁機制包括總線仲裁策略和總線仲裁方式兩方面。我們要求仲裁機制公平、有效、全理,而且要結構簡單,容易實現。這時我們主要討論仲裁方式,常見的仲裁方式有集中式和分布式兩種。所謂集中式仲裁中每個功能模塊有兩條線連到中央仲裁器:一條是送往仲裁器的總線請求信號線,一條是仲裁器送出的總線授權信號線。示意圖如下:

      集中式仲裁方式的電路簡單,速度快;但它的容錯能力差,魯棒性不夠好。

    分布式仲裁不需要中央仲裁器,每個潛在的功能模塊都有自己的仲裁號和仲裁器。共享的仲裁總線上總是保留著當前占用總線模塊的仲裁號,當其它模塊有總線請求時,各仲裁器將從仲裁總線上得到的號與自己的號進行比較。如果仲裁總線上的號大,則它的總線請求不予響應,并撤消它的仲裁號。最后,獲勝者的仲裁號保留在仲裁總線上。示意圖如下:   分布式仲裁方法雖然電路復雜一點,但容錯能力強,可擴展性好,當其中一部分出現故障時,不會影響其它的部分的工作。

    3.3 本系統仲裁策略的解決方案   

    本系統采用計數器定時查詢的仲裁策略,這是集中式仲裁方式的一種,其基本思想是,總線上的任一設備要求使用總線時,通過共同的請求線向中央仲裁器發出總線請求。仲裁器接到請求信號以后,在總線不忙的情況下,讓仲裁地址計數器開始計數,計數值通過一組地址線發向各設備。每個設備接口都有一個設備地址判別電路,當地址線上的計數值與請求總線的設備地址相一致時,該設備把總線狀態設為占用,獲得了總線使用權,同時中止計數查詢。該方式的特點是計數靈活,既保證了仲裁的公平,也突出了重點。

    這種方式很好決了總線沖突和“死鎖”的問題。對于緊急占用的問題,可以通過中斷廣播的方法來實現。即當有一個CF卡需要緊急服務時,它向所有的設備發出占用總線的中斷請求,其它設備檢查自己是否占用總線,如果占用,就馬上釋放;沒有占用,就繼續執行自己的操作。當緊急任務完成后,該CF卡再把總線控制權交給原來控制總線的設備。這樣就可以使各設備的優先權得到保證。

    4.具體的設計實現   

    本系統中的多CF卡采用INTEL公司的PD6722作為主控。它是一個專門的從ISA總線擴展出兩個符合PCMCIA標準的芯片,不需要其它任何控制電路。它能直接管理地址在64K到16M之間,通過一個地址偏移量寄存器(存有所管理的地址的起始位置)把它映射到一個64M的地址上。通過擴展,可以方便地控制四個CF接口。而且它自身包含了仲裁邏輯電路,所以基本不需要另外的仲裁電路,這為設計帶來了很大的方便。

    設計本系統的主要工作是對如何更加有效地種用總線。要使多個CF接口能夠協同工作,我們不但要做好硬件的設計,還要選擇良好的總線仲裁策略。設計示意圖如下:   這個系統直接連到系統的總線上,在加電的同時,總線首先由主控占用,并由主控對各個接口進行初始化的配置,把相應的工作模式配置到各個端口,并為它們分發時間片和優先級,然后用計數器定時查詢方式進行工作。

    由于本系統用了集中仲裁方式來控制總線,解決了總線沖突、“死鎖”和緊急服務的問題,能夠保證系統的正常工作,達到了設計的要求。當然本系統也有脆弱的一面,主要體現在對主控的存賴度較高,如果主控芯片出了問題,對本系統的打擊是致命的,這一點我們會在以后的工作中加以改進。



    評論


    技術專區

    關閉
    主站蜘蛛池模板: 乳源| 自贡市| 惠安县| 浦北县| 平塘县| 桓台县| 二连浩特市| 南雄市| 资阳市| 磐石市| 建平县| 五峰| 长汀县| 西城区| 崇信县| 南乐县| 肃宁县| 刚察县| 松江区| 乃东县| 武乡县| 赣榆县| 汨罗市| 德钦县| 泸定县| 舞阳县| 石城县| 馆陶县| 县级市| 衢州市| 招远市| 钟山县| 栾城县| 神农架林区| 洪洞县| 恩平市| 通渭县| 庆阳市| 西平县| 九龙县| 漳浦县|