高速DSP與串行A/D轉(zhuǎn)換器TLC2558接口的設(shè)計
摘 要:根據(jù)高速定點DSP芯片TMS320F206的特點,提出使用串行A/D轉(zhuǎn)換器TLC2558作為DSP系統(tǒng)的模擬量輸入部分,解決了以往基于并行數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/A/D">A/D轉(zhuǎn)換器不能與高速DSP進行很好配合的問題。在此基礎(chǔ)上設(shè)計了DSP與串行A/D轉(zhuǎn)換器連接的硬件電路,并就A/D轉(zhuǎn)換在軟件設(shè)計時應(yīng)注意的問題進行了探討。
關(guān)鍵詞:串行通信,A/D轉(zhuǎn)換,DSP,同步串行口
DSP(Digital Signal Processor)芯片與單片機相比,具有運算速度更快、功能更強的特點,它自誕生以來在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛。隨著DSP芯片應(yīng)用的普及,DSP處理速度快的特點使它在與普通A/D轉(zhuǎn)換器接口時遇上了困難,使普通的、以并行接口傳輸數(shù)據(jù)的A/D轉(zhuǎn)換器與DSP接口時出現(xiàn)讀數(shù)不可靠的問題。為此,需要利用DSP芯片的其它接口資源作為A/D轉(zhuǎn)換數(shù)據(jù)的輸入。
1 芯片簡介
1.1 TMS320F206
TMS320F206是TI公司TMS320C2xx系列16位高速定點DSP芯片,具有先進的哈佛結(jié)構(gòu),采用流水線操作和高度專業(yè)化的指令系統(tǒng),集成了片內(nèi)外圍設(shè)備和片內(nèi)存儲器。當(dāng)采用20MHz晶振作為時鐘源時,它的主時鐘周期為50ns。F206芯片具有一個同步串行口,它能提供與編譯碼器、串行A/D轉(zhuǎn)換器等串行器件的直接通信。在20MHz的時鐘下,發(fā)送和接收操作的最大傳輸速率是10Mbit/s,并有四級深度的發(fā)送和接收FIFO緩沖器,在與同步串行口相關(guān)的引腳中,DX為發(fā)送串行數(shù)據(jù)引腳;FSX是幀同步信號,用來啟動傳送(數(shù)據(jù)幀的開始);CLKX為發(fā)送時鐘信號,定時進行位傳送。同步串行口接收部分對應(yīng)的引腳相應(yīng)為DR、FSR和CLKR。
1.2 TLC2558
TLC2558也是TI公司生產(chǎn)的高性能12位串行模數(shù)轉(zhuǎn)換器,共有8路模擬通道,最大采樣率為400ksps,自帶有8級FIFO,輸入模擬量電壓在0~5V之間。TLC2558的內(nèi)部結(jié)構(gòu)原理如圖1所示。由圖1可見,TLC2558由控制邏輯電路、A/D轉(zhuǎn)換器、多路轉(zhuǎn)換開關(guān)和采樣/保持器、參考電壓、FIFO、配置寄存器(CFR)和命令寄存器(CMR)等部分構(gòu)成。配置寄存器(CFR)用來設(shè)定TLC2558的工作方式,它和外部的控制信號一起可以有效地控制芯片的工作,包括采樣、轉(zhuǎn)換、讀取數(shù)據(jù)等;命令寄存器CMR用來選擇模擬量輸入通道和讀寫CFR。在外接的信號中,SCLK引腳接時鐘信號,芯片通過引腳SDI在SCLK時鐘的下降沿接收數(shù)據(jù),通過引腳SDO在SCLK時鐘的上升沿傳送數(shù)據(jù);CS/為片選信號;FS為DSP幀同步輸入,表示串行數(shù)據(jù)幀開始輸入或輸出;在擴展采樣時,CSTART/可用來控制模擬輸入采樣的開始:高電平到低電平的跳變開始模擬輸入信號的采樣,而低電平到高電平的跳變則置S/H為保持模式并啟動轉(zhuǎn)換,如不用,可將此引腳接正電源;PWDN/為邏輯零時,模擬及基準電路均斷電,使芯片低功耗運行。INT/可設(shè)定為主處理器的終端輸出信號,INT/的下降沿表示數(shù)據(jù)已轉(zhuǎn)換完畢,請求CPU接收數(shù)據(jù)。AD轉(zhuǎn)換器采用12位的逐次逼近的ADC。TLC2558片內(nèi)還包含了一個8級12位的FIFO緩沖器,數(shù)據(jù)轉(zhuǎn)換完后,放入FIFO中等待主處理器讀取數(shù)據(jù),使用者能夠根據(jù)需要通過配置CFR選擇FIFO中數(shù)據(jù)滿2個、4個、6個、8個時或不經(jīng)過FIFO,由CPU讀取,這樣可以使用戶根據(jù)需要靈活選擇DSP讀取數(shù)據(jù)的方式。
2 硬件設(shè)計
在分析了F206同步串行口和串行A/D轉(zhuǎn)換器TLC2558外接信號的特點后,可以利用TLC2558能與F206的同步串行口進行無縫連接的特點,在F206的同步時鐘信號的作用下完成A/D轉(zhuǎn)換數(shù)據(jù)的傳輸。圖2是F206的同步串行口與TLC2558的硬件接口原理圖。圖中,A/D轉(zhuǎn)換器的A0~A7為模擬量輸入端,REFP與REFM分別接5V正電源和5V地線,使A/D模擬量輸入范圍為0~5V;FS接F206同步串行口的FSX和FSR,使數(shù)據(jù)輸入和輸出的幀脈沖信號均由DSP產(chǎn)生;FSX和FSR相連使DSP的輸入幀脈沖和輸出幀脈沖不再獨立,保證同步串行口數(shù)據(jù)的發(fā)送接收操作以相同的幀時鐘進行;SCLK接F206的CLKR和CLKX,這樣,數(shù)據(jù)輸入和輸出的同步時鐘信號均來自DSP;SDI和SDO分別接DSP同步串口信號輸出、輸入腳DX、DR,其中,SDI引腳用來接收DSP發(fā)送的命令,并寫入命令寄存器CMR和配置寄存器CFR,設(shè)定A/D轉(zhuǎn)換器的工作方式和采樣通道;CS/接DSP的XF,此時,XF相當(dāng)于具有閉鎖功能的輸出腳,正常時為高電平,當(dāng)需要對A/D進行讀/寫信息時,使XF輸出低電平,選中A/D,然后再對A/D進行操作;INT/接DSP的BIO/,當(dāng)TLC2558的FIFO中已轉(zhuǎn)換的數(shù)據(jù)達到規(guī)定數(shù)量時,芯片發(fā)中斷信號(INT/變低)通知DSP讀取數(shù)據(jù),這樣,DSP就能以查詢方式檢測到BIO/為低電平,然后讀取數(shù)據(jù)。
通過對TLC2558的配置寄存器CFR進行寫操作,可以選擇A/D轉(zhuǎn)換的轉(zhuǎn)換方式,TLC2558共有四種轉(zhuǎn)換方式:(1)單次模式,它是唯一不用FIFO的模式,每采樣一次,就必須讀取數(shù)據(jù);(2)重復(fù)模式,即反復(fù)對一固定輸入端進行采樣、轉(zhuǎn)換,存入FIFO中的結(jié)果到設(shè)定的數(shù)量后,讀取這些數(shù)據(jù),然后開始新一輪的采樣、轉(zhuǎn)換;(3)掃描模式,它是對選中的通道依次進行采樣、轉(zhuǎn)換,當(dāng)FIFO放置的數(shù)據(jù)達到規(guī)定值后,掃描方式結(jié)束,在啟動下一次掃描之前,CPU必須讀取FIFO中的數(shù)據(jù);(4)重復(fù)掃描模式,即重復(fù)模式和掃描模式的綜合,工作方式與掃描模式相似,當(dāng)FIFO數(shù)據(jù)中的數(shù)據(jù)達到規(guī)定后,和重復(fù)模式一樣去讀取數(shù)據(jù)。掃描模式由于只要對TLC2558寫一次命令就可以完成所有通道的采樣和轉(zhuǎn)換,所以用時最少,是轉(zhuǎn)換效率最高的方式,因此,對于要求采集模擬量較多、速度要求較高的場合,采用掃描模式是理想的選擇。而對于采集模擬量較少或者速度要求不是很高的時候,可以選擇便于編程和調(diào)試的單次模式。
3 TLC2558工作時序分析
TLC2558是以DSP的同步時鐘脈沖CLKX和CLKR為基準進行數(shù)據(jù)的發(fā)送和接收的,當(dāng)采樣頻率為600Hz時,采用單次模式就可以達到要求的速度,以單次模式為例,對某個通道進行A/D轉(zhuǎn)換時,首先要通過命令寄存器選擇該通道,由于命令寄存器是一個4位的寄存器,所以需要4個同步時鐘周期(SCLK),采樣一次需要12個SCLK,轉(zhuǎn)換一個模擬量需要14個SCLK,因此,完成一次轉(zhuǎn)換共需要30個SCLK。當(dāng)DSP采用202MHz晶振作為時鐘源時,同步串行口的時鐘周期是主時鐘周斯的兩倍,即100ns。所以,采用單次模式時完成一次采樣/轉(zhuǎn)換總共需要3us。圖3是單次模式下A/D轉(zhuǎn)換的時序,由圖可見,在同步時鐘和幀脈沖的作用下,A/D轉(zhuǎn)換器通過SDI和SDO接收和發(fā)送數(shù)據(jù)。
4 編程時應(yīng)注意的問題
由于TLC2558在上電或從低功耗方式重新啟動后第一次轉(zhuǎn)換的數(shù)據(jù)是無效數(shù)據(jù),所以,造成了此后每次轉(zhuǎn)換完成后從SDO讀出的不是當(dāng)次轉(zhuǎn)換的數(shù)據(jù),而是前一次的數(shù)據(jù),如圖3中的SDO所示。為了在程序執(zhí)行中,在每個采樣中斷周期內(nèi)都能得到正確的數(shù)據(jù),可以采用以下措施:當(dāng)要對通道0~通道n(n≤7)進行轉(zhuǎn)換時,在每個中斷周期內(nèi),依次對通道0~通道n采樣和轉(zhuǎn)換后,再對通道0進行一次采樣和轉(zhuǎn)換。每次轉(zhuǎn)換完成后,讀出的是前一個通道的轉(zhuǎn)換數(shù)據(jù),因此,對通道1~n采樣完成后,讀出的是通道0~n-1的數(shù)據(jù),而當(dāng)最后對通道0的采樣完成后,讀出的是通道n的數(shù)據(jù)。通過這種方式,使DSP能在每個采樣周期內(nèi)都能正確讀出各通道A/D轉(zhuǎn)換的數(shù)據(jù)。
5 結(jié)束語
本文簡單介紹了串行A/D轉(zhuǎn)換器TLC2558的工作原理及高速DSP進行接口的設(shè)計。DSP通過其同步串行口接收A/D轉(zhuǎn)換的數(shù)據(jù),解決了以往DSP不能與并行接口A/D轉(zhuǎn)換器很好連接的問題。同時,就設(shè)計A/D轉(zhuǎn)換程序的過程中要注意的問題作了說明。
看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
評論