《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于多CF接口系統(tǒng)的總線設(shè)計(jì)與實(shí)現(xiàn)[圖]
基于多CF接口系統(tǒng)的總線設(shè)計(jì)與實(shí)現(xiàn)[圖]
摘要: 針對(duì)目前CF產(chǎn)品的應(yīng)用日益廣泛,而其轉(zhuǎn)接設(shè)備單一的現(xiàn)狀,本文從總線方面闡述了擴(kuò)展出多個(gè)CF接口的方法,并討論了其總線仲裁策略,該方法簡單實(shí)用,完全符合設(shè)計(jì)要求。
Abstract:
Key words :
1 引言

CF卡(CompactFlash:壓縮閃存)是目前世界上外形最小的大容量存儲(chǔ)設(shè)備,1994年由SanDisk最先推出。它與PCMCIA完全兼容,是一種固態(tài)產(chǎn)品,工作時(shí)沒有運(yùn)動(dòng)部件。它極少出現(xiàn)機(jī)械故障,存儲(chǔ)的數(shù)據(jù)非常安全,是應(yīng)用最為廣泛的存儲(chǔ)卡。而且耗電量小,只有普通硬盤的5%。與其它存儲(chǔ)卡相比,容量大是CF卡的一個(gè)比較明顯的上風(fēng),目前主流產(chǎn)品已經(jīng)達(dá)到512Mb和1Gb標(biāo)準(zhǔn)。另外它還具備速度快、價(jià)格便宜等優(yōu)點(diǎn)。CF卡采用閃存(flash)技術(shù),是一種穩(wěn)定的存儲(chǔ)解決方案,不需要電池來維持其中存儲(chǔ)的數(shù)據(jù)。對(duì)所保存的數(shù)據(jù)來說,CF卡比傳統(tǒng)的磁盤驅(qū)動(dòng)器,更具安全性和保護(hù)性。

CF卡的應(yīng)用特別廣泛。CF卡協(xié)會(huì)(CompactFlash Association:CFA)成立的初衷是希看CF技術(shù)能廣泛用于便攜式計(jì)算機(jī)、臺(tái)式機(jī)、數(shù)碼相機(jī)、手持條碼掃描器、高級(jí)雙向?qū)ず魴C(jī)、錄音機(jī)、監(jiān)視器、機(jī)頂盒等產(chǎn)品中。采用CF技術(shù)可以使得這些產(chǎn)品的功能得到擴(kuò)展、體積變小、質(zhì)量變輕。固然以上目標(biāo)還遠(yuǎn)遠(yuǎn)沒有完全實(shí)現(xiàn),但它已經(jīng)廣泛地用于很多領(lǐng)域,其中CF IO卡已經(jīng)在調(diào)制解調(diào)器、網(wǎng)卡、數(shù)字電話卡、激光掃描儀及藍(lán)牙技術(shù)中得到了普遍的應(yīng)用。隨著人們對(duì)設(shè)備的小型化和自動(dòng)化的要求越來越高,CF卡的應(yīng)用將會(huì)更加廣泛。

2 CF卡的應(yīng)用現(xiàn)狀

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

基于多<a class=CF接口系統(tǒng)的總線設(shè)計(jì)與實(shí)現(xiàn)" src="http://files.chinaaet.com/images/20110630/c7d1c7e6-9af1-4191-a31a-edcc14028684.jpg" />

現(xiàn)在一般的PC機(jī)上并沒有直接提供CF接口,對(duì)它的應(yīng)用都是通過專門的讀卡器或是轉(zhuǎn)接設(shè)備來完成的?,F(xiàn)在有很多從USB接口到CF接口的轉(zhuǎn)接設(shè)備,例如朗科公司剛推出基于閃存技術(shù)的第一款數(shù)碼移動(dòng)存儲(chǔ)產(chǎn)品――優(yōu)卡,就是其中的一個(gè)。它采用內(nèi)置USB和CF雙接口,用戶將優(yōu)卡中的圖片、音樂或其它數(shù)據(jù)上傳至電腦時(shí),簡化了對(duì)CF卡的操縱過程,但它僅能支持一個(gè)CF卡,目前還沒有擴(kuò)展出多個(gè)CF接口的設(shè)備,而且,它只是一種簡化的讀卡器,需要專門的設(shè)備,沒有充分發(fā)揮出CF卡的上風(fēng),限制了對(duì)CF卡的更加有效的利用。

3 總線操縱題目及解決思路

總線是構(gòu)成系統(tǒng)的互連機(jī)構(gòu),是多個(gè)系統(tǒng)功能部件之間進(jìn)行數(shù)據(jù)傳送的公共通路。借助于總線連接,各系統(tǒng)功能部件之間實(shí)現(xiàn)地址、數(shù)據(jù)和控制信息的交換,并在爭用資源的基礎(chǔ)上進(jìn)行工作。

基于多CF接口系統(tǒng)的總線設(shè)計(jì)與實(shí)現(xiàn)

3.1 系統(tǒng)中的總線題目

在這個(gè)系統(tǒng)中,當(dāng)多個(gè)CF卡同時(shí)工作時(shí),需要進(jìn)行很多操縱,處理器間要進(jìn)行數(shù)據(jù)和狀態(tài)字的相互交換,要向共享存儲(chǔ)器存取數(shù)據(jù),還要對(duì)輸進(jìn)輸出設(shè)備進(jìn)行讀寫,所有這些操縱都要用到總線。特別是當(dāng)對(duì)實(shí)時(shí)性要求較高時(shí),總線的操縱會(huì)碰到很多的題目:

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

(2)當(dāng)一個(gè)操縱占用總線時(shí)間過長時(shí),且其請(qǐng)求得不到滿足時(shí),如何避免“死鎖”題目。

(3)在緊急情況下,有一個(gè)操縱要立即占用總線,此時(shí),如何使它在最短的時(shí)間內(nèi)獲得總線的控制權(quán)。

以上題目在系統(tǒng)上表現(xiàn)為性能不穩(wěn)定,經(jīng)常性死機(jī),要解決這些題目,必須選擇合適的總線仲裁機(jī)制,使其靈活、可靠地完成各種工作。

3.2 多CF卡總線仲裁機(jī)制

總線仲裁機(jī)制包括總線仲裁策略和總線仲裁方式兩方面。我們要求仲裁機(jī)制公平、有效、全理,而且要結(jié)構(gòu)簡單,輕易實(shí)現(xiàn)。這時(shí)我們主要討論仲裁方式,常見的仲裁方式有集中式和分布式兩種。所謂集中式仲裁中每個(gè)功能模塊有兩條線連到中心仲裁器:一條是送往仲裁器的總線請(qǐng)求信號(hào)線,一條是仲裁器送出的總線授權(quán)信號(hào)線。示意圖如下:

基于多CF接口系統(tǒng)的總線設(shè)計(jì)與實(shí)現(xiàn)

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

分布式仲裁不需要中心仲裁器,每個(gè)潛伏的功能模塊都有自己的仲裁號(hào)和仲裁器。共享的仲裁總線上總是保存著當(dāng)前占用總線模塊的仲裁號(hào),當(dāng)其它模塊有總線請(qǐng)求時(shí),各仲裁器將從仲裁總線上得到的號(hào)與自己的號(hào)進(jìn)行比較。假如仲裁總線上的號(hào)大,則它的總線請(qǐng)求不予響應(yīng),并撤消它的仲裁號(hào)。最后,獲勝者的仲裁號(hào)保存在仲裁總線上。

分布式仲裁方法固然電路復(fù)雜一點(diǎn),但容錯(cuò)能力強(qiáng),可擴(kuò)展性好,當(dāng)其中一部分出現(xiàn)故障時(shí),不會(huì)影響其它的部分的工作。

3.3 本系統(tǒng)仲裁策略的解決方案

本系統(tǒng)采用計(jì)數(shù)器定時(shí)查詢的仲裁策略,這是集中式仲裁方式的一種,其基本思想是,總線上的任一設(shè)備要求使用總線時(shí),通過共同的請(qǐng)求線向中心仲裁器發(fā)出總線請(qǐng)求。仲裁器接到請(qǐng)求信號(hào)以后,在總線不忙的情況下,讓仲裁地址計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)值通過一組地址線發(fā)向各設(shè)備。每個(gè)設(shè)備接口都有一個(gè)設(shè)備地址判別電路,當(dāng)?shù)刂肪€上的計(jì)數(shù)值與請(qǐng)求總線的設(shè)備地址相一致時(shí),該設(shè)備把總線狀態(tài)設(shè)為占用,獲得了總線使用權(quán),同時(shí)中止計(jì)數(shù)查詢。該方式的特點(diǎn)是計(jì)數(shù)靈活,既保證了仲裁的公平,也突出了重點(diǎn)。

這種方式很好決了總線沖突和“死鎖”的題目。對(duì)于緊急占用的題目,可以通過中斷廣播的方法來實(shí)現(xiàn)。即當(dāng)有一個(gè)CF卡需要緊急服務(wù)時(shí),它向所有的設(shè)備發(fā)出占用總線的中斷請(qǐng)求,其它設(shè)備檢查自己是否占用總線,假如占用,就馬上開釋;沒有占用,就繼續(xù)執(zhí)行自己的操縱。當(dāng)緊急任務(wù)完成后,該CF卡再把總線控制權(quán)交給原來控制總線的設(shè)備。這樣就可以使各設(shè)備的優(yōu)先權(quán)得到保證。

4. 具體的設(shè)計(jì)實(shí)現(xiàn)

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

設(shè)計(jì)本系統(tǒng)的主要工作是對(duì)如何更加有效地種用總線。要使多個(gè)CF接口能夠協(xié)同工作,我們不但要做好硬件的設(shè)計(jì),還要選擇良好的總線仲裁策略。

這個(gè)系統(tǒng)直接連到系統(tǒng)的總線上,在加電的同時(shí),總線首先由主控占用,并由主控對(duì)各個(gè)接口進(jìn)行初始化的配置,把相應(yīng)的工作模式配置到各個(gè)端口,并為它們分發(fā)時(shí)間片和優(yōu)先級(jí),然后用計(jì)數(shù)器定時(shí)查詢方式進(jìn)行工作。

由于本系統(tǒng)用了集中仲裁方式來控制總線,解決了總線沖突、“死鎖”和緊急服務(wù)的題目,能夠保證系統(tǒng)的正常工作,達(dá)到了設(shè)計(jì)的要求。當(dāng)然本系統(tǒng)也有脆弱的一面,主要體現(xiàn)在對(duì)主控的存賴度較高,假如主控芯片出了題目,對(duì)本系統(tǒng)的打擊是致命的,這一點(diǎn)我們會(huì)在以后的工作中加以改進(jìn)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。