基于DSP與串行A/D組成的高速并行數(shù)據(jù)采集系統(tǒng)方案
TMS320VC5402(以下簡(jiǎn)稱C5402)是德州儀器公司1999年推出的定點(diǎn)數(shù)字信號(hào)處理器(DSP)。與TMS320C54x系列的其他芯片相比,C5402以其獨(dú)有的高性能、低功耗和低價(jià)格受到了人們的廣泛青睞。C5402增強(qiáng)外設(shè)有軟件等待狀態(tài)發(fā)生器、鎖相環(huán)時(shí)鐘發(fā)生器、6通道直接存儲(chǔ)器訪問(wèn)(DMA)控制器、增強(qiáng)型8位并行主機(jī)接口(HPI)等。兩個(gè)可編程的多通道緩沖串口(McBSP)能夠全雙工、快速地與其他同步串口進(jìn)行數(shù)據(jù)交換,硬件連接簡(jiǎn)單,串口的工作模式和傳送數(shù)據(jù)的格式可通過(guò)編程實(shí)現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/257436.htm因?yàn)镃5402內(nèi)部沒(méi)有集成A/D,因此在數(shù)據(jù)采集時(shí)需要使用A/D轉(zhuǎn)換芯片,A/D芯片與C5402的接口設(shè)計(jì)成為一個(gè)重要的問(wèn)題。A/D轉(zhuǎn)換芯片一般有串行A/D和并行A/D。為了充分利用C5402所提供的多通道緩沖串口資源,簡(jiǎn)化系統(tǒng)設(shè)計(jì),本文系統(tǒng)使用了TI公司的高速串行A/D來(lái)同時(shí)完成兩路數(shù)據(jù)采集,大大提高了串口工作效率。
串行A/D芯片TLV1572
TLV1572是高速的十位串行A/D轉(zhuǎn)換芯片,可以通過(guò)3或4個(gè)串行口線直接與DSP或其他數(shù)字微處理器串口相連,不需要外加邏輯,但是轉(zhuǎn)換速度受SCLK供給時(shí)鐘的限制。TLV1572與DSP的多通道緩沖串口相連是通過(guò)CS、SCLK、DO和FS四條線完成的,此時(shí)DSP的CLKR產(chǎn)生移位脈沖,F(xiàn)SR產(chǎn)生幀同步信號(hào),并分別提供給TLV1572。當(dāng)T-LV1572與其他串口微處理器相連接時(shí)FS必須提供高電平,通過(guò)CS、SCLK、DO三條線來(lái)完成數(shù)據(jù)傳輸。當(dāng)CS為高時(shí),A/D芯片各管腳處于三態(tài)狀態(tài)。在CS由高變低時(shí),TLV1572檢測(cè)FS引腳的狀態(tài)來(lái)確定工作模式,若FS為低則為DSP模式,若FS為高則為其他微處理器模式。
圖一 TL1572在DSP模式下的轉(zhuǎn)換時(shí)序圖
圖二 TL1572在微處理器模式下的轉(zhuǎn)換時(shí)序圖
當(dāng)TLV1572工作在DSP模式時(shí),必須保證在CS變低時(shí),F(xiàn)S為低電平,并且要鎖存一定時(shí)間。CS為低時(shí),DO跳出三態(tài)狀態(tài),但是直到FS為高時(shí)芯片才脫離休眠狀態(tài)。TLV1572在每個(gè)時(shí)鐘SCLK的下降沿檢測(cè)FS的狀態(tài),一旦檢測(cè)到FS為高,TLV1572開(kāi)始采樣。在FS的下降沿,A/D芯片通過(guò)移位時(shí)鐘將數(shù)據(jù)移到DO上。在6個(gè)前導(dǎo)0傳送之后,DSP可以在時(shí)鐘的下降沿得到A/D轉(zhuǎn)換的數(shù)據(jù),如圖1所示。在最低位移出之后,A/D芯片自動(dòng)進(jìn)入休眠狀態(tài),直到FS下一次有效。如果FS在16位傳輸完成后立即有效,則A/D開(kāi)始新的數(shù)據(jù)轉(zhuǎn)換,此時(shí)A/D為連續(xù)轉(zhuǎn)換。若FS在TLV1572轉(zhuǎn)換數(shù)據(jù)的過(guò)程中變高,則A/D芯片被復(fù)位,開(kāi)始新的數(shù)據(jù)轉(zhuǎn)換周期。因此可以通過(guò)設(shè)置FS,改變數(shù)據(jù)傳輸?shù)奈粩?shù)。
當(dāng)TLV1572工作在非DSP模式下時(shí),F(xiàn)S引腳必須接高電平。在每次轉(zhuǎn)換的過(guò)程中都必須提供16個(gè)時(shí)鐘信號(hào),若微處理器無(wú)法一次接收16位數(shù)據(jù),可以分成8位兩次接收,兩次接收的時(shí)間間隔不能大于100μs,此時(shí)CS必須一直處于有效狀態(tài)。在DSP模式下轉(zhuǎn)換的開(kāi)始是由FS信號(hào)有效來(lái)決定的,而在微處理器模式下,數(shù)據(jù)轉(zhuǎn)換CS有效后的第一個(gè)時(shí)鐘信號(hào)上升沿開(kāi)始的,如圖2所示。在微處理器模式下,也可以通過(guò)設(shè)置CS來(lái)改變傳送的位數(shù)。
C5402的多通道緩沖串口
C5402提供兩個(gè)高速、全雙工、多通道緩沖串行口McBSP0、McBSP1,用數(shù)據(jù)線D(R/X)、幀同步線FS(R/X)和移位時(shí)鐘線CLK(R/X)實(shí)現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。McBSP通過(guò)6個(gè)引腳(DX、DR、CLKX、CLKR、FSX和FSR)與外設(shè)接口。
(1)CLKX(發(fā)送時(shí)鐘輸入或輸出)
芯片內(nèi)部發(fā)送以為寄存器(XSR)通過(guò)該時(shí)鐘信號(hào)將數(shù)據(jù)發(fā)送到DX引腳。該串口可以通過(guò)PCR寄存器的CLKXM位配置成使用內(nèi)部時(shí)鐘或者使用外部時(shí)鐘。
(2)FSX(發(fā)送幀同步輸入或輸出)
FSX是發(fā)送開(kāi)始的標(biāo)志,串口可以通過(guò)PCR寄存器的FXM位配置成輸入或輸出。
(3)DX(串行數(shù)據(jù)發(fā)送)
串口數(shù)據(jù)發(fā)送是通過(guò)該口進(jìn)行的。
(4)CLKR(接收時(shí)鐘)
CLKR用來(lái)接收外部時(shí)鐘信號(hào),該時(shí)鐘信號(hào)將DR數(shù)據(jù)移入接收移位寄存器(RSR)??梢酝ㄟ^(guò)PCR寄存器的CLKRM位配置成使用內(nèi)部時(shí)鐘或者使用外部時(shí)鐘。
(5)FSR(接收幀同步輸入)
FSR接收幀同步脈沖信號(hào),標(biāo)志數(shù)據(jù)接收開(kāi)始??梢酝ㄟ^(guò)PCR寄存器的FRM位配置成輸入,也可以配置成輸出。
(6)DR(串行數(shù)據(jù)接收)
串口數(shù)據(jù)接收是通過(guò)該口進(jìn)行的。接收過(guò)程中,數(shù)據(jù)首先通過(guò)移位時(shí)鐘CLKR的作用下移入RSR(接收移位寄存器),然后,RSR中的數(shù)據(jù)再拷貝到DDR(數(shù)據(jù)接收寄存器),拷貝完成時(shí),產(chǎn)生RINT中斷通知CPU來(lái)響應(yīng)或REVTA中斷通知DMA響應(yīng),同時(shí)設(shè)置RRDY中斷標(biāo)志位,也可以用查詢方式來(lái)完成,從數(shù)據(jù)寄存器中讀出數(shù)據(jù)。CLKX、CLKR、FSX、FSR即可以由內(nèi)部采樣率發(fā)生器產(chǎn)生,也可以由外部設(shè)備驅(qū)動(dòng)。McBSP分別在相應(yīng)時(shí)鐘的上升沿和下降沿進(jìn)行數(shù)據(jù)檢測(cè)。每個(gè)McBSP最多可支持128通道的發(fā)送和接收,串行字長(zhǎng)可選,包括8、12、16、20、24和32位,還支持μ率和A率數(shù)據(jù)壓縮擴(kuò)展。
評(píng)論