《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > CF卡與雙核DSP的實現(xiàn)

CF卡與雙核DSP的實現(xiàn)

2008-10-20
作者:林海虹 劉 慧

??? 摘? 要: 介紹了目前PC機中最為流行的硬盤接口技術(shù)和磁盤文件管理系統(tǒng)" title="管理系統(tǒng)">管理系統(tǒng),并在此基礎(chǔ)上實現(xiàn)了雙核TMS320VC5421與CompactFlash存儲卡" title="存儲卡">存儲卡的接口,解決了嵌入式系統(tǒng)普遍存在的數(shù)據(jù)空間狹小的問題。?

  關(guān)鍵詞: DSP? IDE接口? 磁盤文件管理系統(tǒng)? CompactFlash存儲卡

?

??? 目前,許多工業(yè)檢測系統(tǒng)要求其前端設(shè)備能實時采集大量數(shù)據(jù),有些系統(tǒng)甚至還要求其前端設(shè)備能夠完成實時的數(shù)據(jù)處理。因此一般工業(yè)檢測系統(tǒng)將其前端嵌入式系統(tǒng)與一臺PC機相連或其前端設(shè)備就是一臺PC機,再通過網(wǎng)絡(luò)將采集到的數(shù)據(jù)傳遞給主控制系統(tǒng)。這類工業(yè)檢測系統(tǒng)體積較大且對外部的環(huán)境要求高。?

  本文實現(xiàn)了TMS320VC5421與CompactFlash存儲卡(以下簡稱CF卡)的接口。利用DSP的高速數(shù)字信號處理能力可完成數(shù)據(jù)的實時采集和處理;利用CF卡的容量大、非易失性和即插即用的特性可完成數(shù)據(jù)的保存和傳輸。因此TMS320VC5421與CF卡的接口在工業(yè)檢測前端系統(tǒng)的應(yīng)用中有很好的前景。?

1 TMS320VC5421芯片介紹?

  數(shù)字信號處理器(DSP)是數(shù)字信號處理理論與超大規(guī)模集成電路(VLSI)技術(shù)融合的結(jié)晶。TMS320VC5421更是定點系列DSP中的佼佼者。其系統(tǒng)框架如圖1所示。?

?

?

  TMS320VC5421有4個主要特點:?

  (1)TMS320VC5421包含兩個獨立的DSP子系統(tǒng)。每個子系統(tǒng)都有其獨立的程序空間、數(shù)據(jù)空間和I/O" title="I/O">I/O空間,且每個子系統(tǒng)分別具有片內(nèi)4套總線即4條地址總線、4條數(shù)據(jù)總線(3條數(shù)據(jù)總線用來訪問片內(nèi)數(shù)據(jù)空間,1條數(shù)據(jù)總線用來訪問程序空間)和2個地址發(fā)生輔助寄存器來實現(xiàn)并行運算和并行存儲功能,提高CPU的運算效率。?

  (2)TMS320VC5421的每一個子系統(tǒng)都有6個獨立的DMA通道,且可對每個DMA通道進行獨立編程。TMS320VC5421的兩個子系統(tǒng)的所有程序空間、數(shù)據(jù)空間和I/O空間都在每個DMA通道的尋址范圍內(nèi)。?

  (3)TMS320VC5421的工作頻率最高可達到100MIPS,且兩個子系統(tǒng)的工作時鐘統(tǒng)一由子系統(tǒng)A控制。?

  (4)TMS320VC5421的兩個子系統(tǒng)之間的同步信號可以由IPIRQ中斷提供。?

  TMS320VC5421有3種方式實現(xiàn)不同子系統(tǒng)中的數(shù)據(jù)傳輸:?

  (1)將數(shù)據(jù)存放在兩個子系統(tǒng)共享的128KB程序空間中,由共享的128KB程序空間實現(xiàn)數(shù)據(jù)傳遞。?

??? (2)將數(shù)據(jù)存放在與兩個子系統(tǒng)分別相連的16字的FIFO中,由FIFO實現(xiàn)兩個子系統(tǒng)的數(shù)據(jù)傳遞。?

  (3)通過DMA將數(shù)據(jù)傳輸?shù)饺我庾酉到y(tǒng)的任意空間。?

2 CompactFlash存儲卡產(chǎn)品介紹?

  CompactFlash技術(shù)是由CompactFlash協(xié)會(CFA)提出的一種與PC機的ATA接口標(biāo)準(zhǔn)兼容的新技術(shù),它致力于開發(fā)一種先進的、速度快、容量大、體積小、質(zhì)量輕、功耗低且可移動的數(shù)字信息存儲產(chǎn)品。?

  由圖2可知,CF卡包含兩個基本部分:片內(nèi)的芯片控制器和片內(nèi)的存儲模塊。片內(nèi)的存儲模塊用來存儲數(shù)字信息,片內(nèi)的芯片控制器用來實現(xiàn)與主機的接口及控制數(shù)據(jù)在存儲模塊中的傳輸。?

?

?

2.1 CF卡控制器?

  CF卡控制器中包含兩組寄存器:命令寄存器和控制寄存器" title="控制寄存器">控制寄存器。命令寄存器用來接受命令和傳輸數(shù)據(jù);控制寄存器用作磁盤控制。這兩個寄存器組" title="寄存器組">寄存器組通過REG信號進行區(qū)分??刂萍拇嫫鹘M主要用于控制CF卡的工作方式;命令寄存器組被分配在與ATA標(biāo)準(zhǔn)兼容的地址空間。當(dāng)CF卡工作在I/O方式下,命令寄存器組的地址空間為1F0H~1F7H和3F6H~3F7H;當(dāng)CF卡工作在存儲器方式下,命令寄存器組的地址空間為1F0H~1FFH。?

  當(dāng)CF卡工作在存儲器方式下,CF卡按照ATA標(biāo)準(zhǔn)以寄存器方式傳送數(shù)據(jù)、命令和地址。這些寄存器除數(shù)據(jù)寄存器為16位外,其它寄存器均為8位。 ?

  數(shù)據(jù)寄存器(R/W):這是一個16位數(shù)據(jù)寄存器,用于對扇區(qū)的讀寫操作。主機通過該寄存器向CF卡控制寄存器寫入或從CF卡控制寄存器讀出扇區(qū)緩沖區(qū)的數(shù)據(jù)。?

  錯誤寄存器(R)和特性寄存器(W):錯誤寄存器反映控制寄存器在診斷方式或操作方式下的錯誤原因。特性寄存器一般不使用。?

  扇區(qū)數(shù)寄存器(R/W):用來記錄讀、寫命令的扇區(qū)數(shù)目。?

  扇區(qū)號寄存器(R/W):用來記錄讀、寫和校驗命令指定的起始扇區(qū)號。?

  柱面號寄存器(R/W):用來記錄讀、寫、校驗和尋址命令指定的柱面號。?

  驅(qū)動器/磁頭寄存器(R/W):記錄讀、寫、校驗和尋道命令指定的驅(qū)動器號、磁頭號和尋址方式(CHS模式或LBA模式)。?

  狀態(tài)寄存器(R)和命令寄存器(W):狀態(tài)寄存器反映CF卡驅(qū)動器執(zhí)行命令后的狀態(tài),讀該寄存器要清除中斷請求信號。命令寄存器接收主機發(fā)送的CF卡工作的命令控制字[1]。?

2.2 CF卡的編址方式?

  CF卡的扇區(qū)尋址有兩種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號表示一個特定的扇區(qū)。起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接下來是2扇區(qū),一直到EOF扇區(qū);接下來是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個CF卡同一尋址。邏輯塊地址和物理地址的關(guān)系為:?

  LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)-1?

  采用邏輯尋址方式,沒有磁頭和磁道的轉(zhuǎn)換操作,因此在訪問連續(xù)扇區(qū)時,操作速度比物理尋址方式快。?

3 磁盤文件管理系統(tǒng)簡介?

  為了能夠?qū)Υ笕萘看疟P上的數(shù)據(jù)進行有效的管理,Win9X在磁盤上建立了一個文件系統(tǒng)。該文件系統(tǒng)可對磁盤上的數(shù)據(jù)進行有效的管理。?

  磁盤文件系統(tǒng)將整個磁盤劃分為4個獨立的區(qū)域,每個區(qū)域包含磁盤的獨立信息,且這4個獨立區(qū)域中的信息組合成一個完整有效的磁盤文件管理系統(tǒng),如表1所示。?

?

?

  (1)DOS引導(dǎo)扇區(qū):該扇區(qū)是磁盤的引導(dǎo)扇區(qū),包含一些重要的磁盤系統(tǒng)信息,如:磁盤總共包含多少個扇區(qū),每個簇包含多少個扇區(qū),每個扇區(qū)包含多少個字節(jié)等。通過這些磁盤系統(tǒng)信息可以計算出磁盤的容量、FAT表和FDT表的起始位置以及文件數(shù)據(jù)存放的起始位置等。?

  (2)文件分配區(qū)(FAT):文件分配區(qū)包含兩個完全相同的FAT表,其中一個FAT表用作備份FAT。每個FAT表以16字節(jié)為一個單元。FAT的每一個單元都映射磁盤上的一個簇。一般而言,FAT表的第M個單元就映射該磁盤上的第M個簇,其中的值就反映了該簇的使用情況。?

  (3)根目錄區(qū)(FDT):根目錄區(qū)專門用來存放根目錄下的文件信息。根目錄下的每一個文件在該目錄區(qū)都對應(yīng)一個32字節(jié)的目錄項。這32字節(jié)的目錄項包含文件的名稱、屬性、文件的長度、文件在磁盤上的起始簇號、文件建立和最后修改的日期和時間等。這些32字節(jié)的小單元互相首尾相接,中間沒有任何分隔標(biāo)志。?

  (4)文件數(shù)據(jù)區(qū):該區(qū)是磁盤存放所有信息的場所。為了便于管理,文件管理系統(tǒng)以簇為單位將文件分配在文件數(shù)據(jù)區(qū)的存儲空間。1簇總是2n個連續(xù)扇區(qū)。文件在文件數(shù)據(jù)區(qū)存放的起始位置存放在其對應(yīng)目錄下的FDT表中,當(dāng)文件的長度大于1K時,文件數(shù)據(jù)區(qū)的后續(xù)位置保存在FAT表中,即對應(yīng)的FAT單元中的數(shù)值就是文件的后續(xù)部分所存放位置的簇號。?

  文件管理系統(tǒng)通過以上4個區(qū)域?qū)崿F(xiàn)對磁盤上的文件進行有效的管理。文件管理系統(tǒng)將文件數(shù)據(jù)存放在文件數(shù)據(jù)區(qū),將文件的屬性存放在文件對應(yīng)目錄下的FDT表中,將文件的存放位置存放在FAT表中。因此文件管理系統(tǒng)通過FAT表和FDT表可以很方便地對文件數(shù)據(jù)區(qū)的文件進行管理。?

4 TMS320VC5421與CF卡的硬件接口?

  TMS320VC5421對外有I/O、程序和數(shù)據(jù)3個并行的16位訪問空間,分別由對應(yīng)的空間選擇信號線選通。本硬件電路選用TMS320VC5421的I/O空間與CF卡接口,采用數(shù)據(jù)線分時復(fù)用方式。?

  如圖3所示,本電路使用DSP子系統(tǒng)A與前向通道相連。DSP子系統(tǒng)A對采集到的數(shù)據(jù)進行實時處理,完成數(shù)據(jù)的實時處理后,通過核間的3種數(shù)據(jù)傳輸方式將采集到的數(shù)據(jù)發(fā)送到DSP子系統(tǒng)B中,并且通過核間中斷IPIRQ通知DSP子系統(tǒng)B可以存儲CF卡。?

?

?

4.1 CF卡即插即用的實現(xiàn)?

  (1)硬件提供判斷條件。CF卡為了實現(xiàn)即插即用的功能,在自身電路上提供了兩個用來檢測CF卡是否存在的管腳(CD1、CD2)。CD1和CD2的有效電平為低電平,即當(dāng)主機檢測到與其相連的CD1和CD2兩個管腳同時為低電平時,可判斷出CF卡與主機相連;當(dāng)主機檢測到與其相連的CD1和CD2有一個管腳不為低,則可判斷出CF卡未與主機相連。?

  (2)軟件實現(xiàn)。首先定義全局變量(如:IsExist)用于記錄CF卡是否與主機相連,當(dāng)IsExist為0時表示CF卡未與主機相連;當(dāng)IsExist為1時表示CF卡與主機相連。其次在每次操作CF卡時檢測CF卡的CD1和CD2管腳。當(dāng)檢測到CD1和CD2管腳為低電平且IsExist為0時復(fù)位CF卡,重新檢測CF卡的FAT表統(tǒng)計還剩余多少空間可以分配,檢測完FAT表后置變量IsExist為1。當(dāng)檢測到CD1和CD2管腳為低電平且IsExist為1時,繼續(xù)CF卡的正常操作。當(dāng)檢測到CD1和CD2為高時,停止CF卡操作,置變量IsExist為0。?

4.2 文件的存儲?

??? 向CF卡創(chuàng)建文件的流程如圖4所示。在CF卡初始化后(包含CF卡上電復(fù)位和統(tǒng)計剩余空間等),DSP向CF卡存儲數(shù)據(jù)的核心部分就是首先向一些必要的寄存器填寫必要的信息,如向扇區(qū)號寄存器填寫讀寫數(shù)據(jù)的起始扇區(qū)號(LBA地址)和扇區(qū)數(shù)寄存器填寫讀寫數(shù)據(jù)所占的扇區(qū)個數(shù)等。然后向CF卡的命令寄存器寫入CF卡操作的命令字,如寫操作則向CF卡的命令寄存器寫入30H,讀操作向CF卡的命令寄存器寫入20H等。?

?

?

  本文介紹的TMS320VC5421與CF卡的接口電路已在實際印刷電路板上成功實現(xiàn),該小型系統(tǒng)在工業(yè)設(shè)備的前端電路中具有廣闊的應(yīng)用前景。?

參考文獻?

1 CompactFlash Association. CF+ and CompactFlash Specification Revision 1.4. 1999.7?

2 彭啟琮.TMS320C54x實用教程.成都:電子科技大學(xué)出版社,1999.7?

3 王念旭.DSP基礎(chǔ)和應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社, 2001?

4 張雄偉. DSP芯片的原理與開發(fā)應(yīng)用. 北京:電子工業(yè)出版社,1997

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。