DSP與串行A/D組成的高速并行數(shù)據(jù)采集系統(tǒng) (圖)
引言
---tms320vc5402(以下簡稱c5402)是德州儀器公司1999年推出的定點數(shù)字信號處理器(dsp)。與tms320c54x系列的其他芯片相比,c5402以其獨有的高性能、低功耗和低價格受到了人們的廣泛青睞。c5402增強外設有軟件等待狀態(tài)發(fā)生器、鎖相環(huán)時鐘發(fā)生器、6通道直接存儲器訪問(dma)控制器、增強型8位并行主機接口(hpi)等。兩個可編程的多通道緩沖串口(mcbsp)能夠全雙工、快速地與其他同步串口進行數(shù)據(jù)交換,硬件連接簡單,串口的工作模式和傳送數(shù)據(jù)的格式可通過編程實現(xiàn)。
---因為c5402內部沒有集成a/d,因此在數(shù)據(jù)采集時需要使用a/d轉換芯片,a/d芯片與c5402的接口設計成為一個重要的問題。a/d轉換芯片一般有串行a/d和并行a/d。為了充分利用c5402所提供的多通道緩沖串口資源,簡化系統(tǒng)設計,本文系統(tǒng)使用了ti公司的高速串行a/d來同時完成兩路數(shù)據(jù)采集,大大提高了串口工作效率。
串行a/d芯片tlv1572
---tlv1572是高速的十位串行a/d轉換芯片,可以通過3或4個串行口線直接與dsp或其他數(shù)字微處理器串口相連,不需要外加邏輯,但是轉換速度受sclk供給時鐘的限制。tlv1572與dsp的多通道緩沖串口相連是通過cs、sclk、do和fs四條線完成的,此時dsp的clkr產生移位脈沖,fsr產生幀同步信號,并分別提供給tlv1572。當t-lv1572與其他串口微處理器相連接時fs必須提供高電平,通過cs、sclk、do三條線來完成數(shù)據(jù)傳輸。當cs為高時,a/d芯片各管腳處于三態(tài)狀態(tài)。在cs由高變低時,tlv1572檢測fs引腳的狀態(tài)來確定工作模式,若fs為低則為dsp模式,若fs為高則為其他微處理器模式。
圖一 tl1572在dsp模式下的轉換時序圖
圖二 tl1572在微處理器模式下的轉換時序圖
---當tlv1572工作在dsp模式時,必須保證在cs變低時,fs為低電平,并且要鎖存一定時間。cs為低時,do跳出三態(tài)狀態(tài),但是直到fs為高時芯片才脫離休眠狀態(tài)。tlv1572在每個時鐘sclk的下降沿檢測fs的狀態(tài),一旦檢測到fs為高,tlv1572開始采樣。在fs的下降沿,a/d芯片通過移位時鐘將數(shù)據(jù)移到do上。在6個前導0傳送之后,dsp可以在時鐘的下降沿得到a/d轉換的數(shù)據(jù),如圖1所示。在最低位移出之后,a/d芯片自動進入休眠狀態(tài),直到fs下一次有效。如果fs在16位傳輸完成后立即有效,則a/d開始新的數(shù)據(jù)轉換,此時a/d為連續(xù)轉換。若fs在tlv1572轉換數(shù)據(jù)的過程中變高,則a/d芯片被復位,開始新的數(shù)據(jù)轉換周期。因此可以通過設置fs,改變數(shù)據(jù)傳輸?shù)奈粩?shù)。
---當tlv1572工作在非dsp模式下時,fs引腳必須接高電平。在每次轉換的過程中都必須提供16個時鐘信號,若微處理器無法一次接收16位數(shù)據(jù),可以分成8位兩次接收,兩次接收的時間間隔不能大于100μs,此時cs必須一直處于有效狀態(tài)。在dsp模式下轉換的開始是由fs信號有效來決定的,而在微處理器模式下,數(shù)據(jù)轉換cs有效后的第一個時鐘信號上升沿開始的,如圖2所示。在微處理器模式下,也可以通過設置cs來改變傳送的位數(shù)。
c5402的多通道緩沖串口
---c5402提供兩個高速、全雙工、多通道緩沖串行口mcbsp0、mcbsp1,用數(shù)據(jù)線d(r/x)、幀同步線fs(r/x)和移位時鐘線clk(r/x)實現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。mcbsp通過6個引腳(dx、dr、clkx、clkr、fsx和fsr)與外設接口。
(1)clkx(發(fā)送時鐘輸入或輸出)
---芯片內部發(fā)送以為寄存器(xsr)通過該時鐘信號將數(shù)據(jù)發(fā)送到dx引腳。該串口可以通過pcr寄存器的clkxm位配置成使用內部時鐘或者使用外部時鐘。
(2)fsx(發(fā)送幀同步輸入或輸出)
---fsx是發(fā)送開始的標志,串口可以通過pcr寄存器的fxm位配置成輸入或輸出。
(3)dx(串行數(shù)據(jù)發(fā)送)
---串口數(shù)據(jù)發(fā)送是通過該口進行的。
(4)clkr(接收時鐘)
---clkr用來接收外部時鐘信號,該時鐘信號將dr數(shù)據(jù)移入接收移位寄存器(rsr)??梢酝ㄟ^pcr寄存器的clkrm位配置成使用內部時鐘或者使用外部時鐘。
(5)fsr(接收幀同步輸入)
---fsr接收幀同步脈沖信號,標志數(shù)據(jù)接收開始??梢酝ㄟ^pcr寄存器的frm位配置成輸入,也可以配置成輸出。
(6)dr(串行數(shù)據(jù)接收)
---串口數(shù)據(jù)接收是通過該口進行的。接收過程中,數(shù)據(jù)首先通過移位時鐘clkr的作用下移入rsr(接收移位寄存器),然后,rsr中的數(shù)據(jù)再拷貝到ddr(數(shù)據(jù)接收寄存器),拷貝完成時,產生rint中斷通知cpu來響應或revta中斷通知dma響應,同時設置rrdy中斷標志位,也可以用查詢方式來完成,從數(shù)據(jù)寄存器中讀出數(shù)據(jù)。clkx、clkr、fsx、fsr即可以由內部采樣率發(fā)生器產生,也可以由外部設備驅動。mcbsp分別在相應時鐘的上升沿和下降沿進行數(shù)據(jù)檢測。每個mcbsp最多可支持128通道的發(fā)送和接收,串行字長可選,包括8、12、16、20、24和32位,還支持μ率和a率數(shù)據(jù)壓縮擴展。
系統(tǒng)硬件設計
---在分析了c5402多通道緩沖串口和串行a/d轉換器tlv1572工作特點后,可以利用tlv1572工作在dsp模式,使其與c5402進行接口,在同步時鐘信號的作用下完成a/d轉換的數(shù)據(jù)傳輸。圖3為整個數(shù)據(jù)采集系統(tǒng)的硬件原理圖,本系統(tǒng)根據(jù)c5402的多通道緩沖串口特性,充分利用兩個緩沖串口與兩片串行a/d tlv1572進行數(shù)據(jù)傳輸。
---為了達到與c5402很好匹配,a/d電源和參考電壓都接了3.3v。a/d的fs接dsp的fsx和fsr,使數(shù)據(jù)輸入的幀同步信號由dsp產生。sclk接dsp的clkx和clkr,這樣數(shù)據(jù)的輸入和輸出時鐘均來自dsp。c5402與兩片a/d進行數(shù)據(jù)傳輸時,設置串口中斷工作在00模式,即串口數(shù)據(jù)到達觸發(fā)中斷,這樣cpu可以根據(jù)哪片a/d傳輸數(shù)據(jù)產生相應的串口中斷rint0或rint1。當兩個串口的數(shù)據(jù)同時到達,即同時申請中斷時,c5402的cpu會根據(jù)中斷優(yōu)先級響應rint0中斷,然后再響應中斷rint1。為了保證數(shù)據(jù)通信的可靠性,避免數(shù)據(jù)沖突,在響應rint1中斷的過程中,串口0無中斷請求。
---c5402芯片內配置有4k
評論