CF卡與雙核DSP的實(shí)現(xiàn)
本文實(shí)現(xiàn)了TMS320VC5421與CompactFlash存儲(chǔ)卡(以下簡(jiǎn)稱(chēng)CF卡)的接口。利用DSP的高速數(shù)字信號(hào)處理能力可完成數(shù)據(jù)的實(shí)時(shí)采集和處理;利用CF卡的容量大、非易失性和即插即用的特性可完成數(shù)據(jù)保存和傳輸。因此TMS320VC5401與CF卡的接口在工業(yè)檢測(cè)前端系統(tǒng)的應(yīng)用中有很好的前景。
1 TMS320VC5421芯片介紹
數(shù)字信號(hào)處理器(DSP)是數(shù)字信號(hào)處理理論與超大規(guī)模集成電路(VLSI)技術(shù)融合的結(jié)晶。TMS320VC5421更是定點(diǎn)系列DSP中的佼佼者。其系統(tǒng)框架如圖1所示。
TMS320VC5421有4個(gè)主要特點(diǎn):
(1)TMS320VC5421包含兩個(gè)獨(dú)立的DSP子系統(tǒng)。每個(gè)子系統(tǒng)都有獨(dú)立的程序空間、數(shù)據(jù)空間和I/O空間,且每個(gè)子系統(tǒng)分別具有片
(2)TMS320VC5421的每一個(gè)子系統(tǒng)都有6個(gè)獨(dú)立的DMA通道,且可對(duì)每個(gè)DMA通道進(jìn)行獨(dú)立編程。TMS320VC5421的兩個(gè)子系統(tǒng)的所有程序空間、數(shù)據(jù)空間和I/O空間都在每個(gè)DMA通道的尋址范圍內(nèi)。
(3)TMS320VC5421的工作頻率最高可達(dá)到100MIPS,且兩個(gè)子系統(tǒng)的工作時(shí)鐘統(tǒng)一由子系統(tǒng)A控制。
(4)TMS320VC5421的兩個(gè)子系統(tǒng)之間同步信號(hào)可以由IPIRQ中斷提供。
TMS320VC5421有3種方式實(shí)現(xiàn)不同子系統(tǒng)中的數(shù)據(jù)傳輸:
(1)將數(shù)據(jù)存放在兩個(gè)子系統(tǒng)共享的128KB程序空間中,由共享的128KB程序空間實(shí)現(xiàn)數(shù)據(jù)傳遞。
(2)將數(shù)據(jù)存放在與兩個(gè)系統(tǒng)分別相連的16字的FIFO中,由FIFO實(shí)現(xiàn)兩個(gè)子系統(tǒng)的數(shù)據(jù)傳遞。
(3)通過(guò)DMA將數(shù)據(jù)傳輸?shù)饺我庾酉到y(tǒng)的任意空間。
2 CompactFlash存儲(chǔ)卡產(chǎn)品介紹
CompactFlash技術(shù)是由CompactFlash協(xié)會(huì)(CFA)提出的一種與PC機(jī)的ATA接口標(biāo)準(zhǔn)兼容的新技術(shù),它致力于開(kāi)發(fā)一種先進(jìn)的、速度快、容量大、體積小、質(zhì)量輕、功耗低且可移動(dòng)的數(shù)字信息存儲(chǔ)產(chǎn)品。
由圖2可知,CF卡包含兩個(gè)基本部分:片內(nèi)的芯片控制器和片內(nèi)的存儲(chǔ)模塊。片內(nèi)的存儲(chǔ)模塊用來(lái)存儲(chǔ)數(shù)字信息,片內(nèi)的芯片控制器用來(lái)實(shí)現(xiàn)與主機(jī)的接口及控制數(shù)據(jù)在存儲(chǔ)模塊中的傳輸。
2.1 CF卡控制器
CF卡控制器中包含兩組寄存器:命令寄存器和控制寄存器。命令寄存器用來(lái)接受命令和傳輸數(shù)據(jù);控制寄存器用作磁盤(pán)控制。這兩個(gè)寄存器組通過(guò)REG信號(hào)進(jìn)行區(qū)分??刂萍拇嫫鹘M主要用于控制CF卡的工作方式;命令寄存器組被分配在與ATA標(biāo)準(zhǔn)兼容的地址空間。當(dāng)CF卡工作在I/O方式下,命令寄存器組的地址空間為IF0H~1F7H和3F6H~3F7H;當(dāng)CF卡工作在寄存器方式下,命令寄存器組的地址空間為1F0H~1FFH。
當(dāng)CF卡工作在存儲(chǔ)器方式下,CF卡按照ATA標(biāo)準(zhǔn)以寄存器方式傳送數(shù)據(jù)、命令和地址。些寄存器除數(shù)據(jù)寄存器為16位外,其它寄存器均為8位。
數(shù)據(jù)寄存器(R/W):這是一個(gè)16位數(shù)據(jù)寄存器,用于對(duì)扇區(qū)的讀寫(xiě)操作。主機(jī)通過(guò)該寄存器向CF卡卡控制器寫(xiě)入或從CF卡控制寄存器讀出扇區(qū)緩沖區(qū)的數(shù)據(jù)。
錯(cuò)誤寄存器(R)和特性寄存器(W):錯(cuò)誤寄存器反映控制寄存器在診斷方式或操作方式下的錯(cuò)誤原因。特性寄存器一般不使用。
扇區(qū)數(shù)寄存器(R/W):用來(lái)記錄讀、寫(xiě)命令的扇區(qū)數(shù)目。
扇區(qū)號(hào)寄存器(R/W):用來(lái)記錄讀、寫(xiě)和校驗(yàn)命令指定的起始扇區(qū)號(hào)。
柱面號(hào)寄存器(R/W):用來(lái)記錄讀、寫(xiě)、校驗(yàn)和尋址命令指定的柱面號(hào)。
驅(qū)動(dòng)器/磁頭寄存器(R/W):記錄讀、寫(xiě)、校驗(yàn)和尋道命令指定的驅(qū)動(dòng)器號(hào)、磁頭號(hào)和尋址方式(CHS模式或LBA模式)。
狀態(tài)寄存器(R)和命令寄存器(W):狀態(tài)寄存器反映CF卡驅(qū)動(dòng)器執(zhí)行命令后的狀態(tài),讀該寄存器要清除中斷請(qǐng)求信號(hào)。命令寄存器接收主機(jī)發(fā)送的CF卡工作的命令控制字[1]。
2.2 CF卡的編址方式
CF卡的扇區(qū)尋址有兩種方式:物理尋址方式(CHS)和邏輯尋址方式(LBA)。物理尋址方式使用柱面、磁頭和扇區(qū)號(hào)表示一個(gè)特定的扇區(qū)。起始扇區(qū)是0磁道、0磁頭、1扇區(qū),接下來(lái)是2扇區(qū),一直到EOF扇區(qū);接下來(lái)是同一柱面1頭、1扇區(qū)等。邏輯尋址方式將整個(gè)CF卡同一尋址。邏輯塊地址和物理地址的關(guān)系為:
LBA地址=(柱面號(hào)
評(píng)論