TLC2543是11個輸入端的12位模數轉換器,具有轉換快、穩定性好、與微處理器接口簡單、價格低等優點,應用前景好。由于它帶有串行外設接口(SPI,Seri-al PeripheralInterface),而51系列單片機沒有SPI,因此研究它與51單片機的接口就非常有意義。
1、TLC2543的引腳及功能
TLC2543是12位開關電容逐次逼近模數轉換器,有多種封裝形式,其中DB、DW或N封裝的管腳圖見圖1。引腳的功能簡要分類說明如下。
I/OCLOCK:控制輸入輸出的時鐘,由外部輸入。
DATAINPUT:控制字輸入端,用于選擇轉換及輸出數據格式。
DATAOUT:A/D轉換結果的輸出端。
2、TLC2543的使用方法
2.1控制字的格式
控制字為從DATAINPUT端串行輸入的8位數據,它規定了TLC2543要轉換的模擬量通道、轉換后的輸出數據長度、輸出數據的格式。其中高4位(D7~D4)決定通道號,對于0通道至10通道,該4位分別為0000~1010H,當為1011~1101時,用于對TLC2543的自檢,分別測試(VREF++VREF-)/2、VREF-、VREF+的值,當為1110時,TLC2543進入休眠狀態。低4位決定輸出數據長度及格式,其中D3、D2決定輸出數據長度,01表示輸出數據長度為8位,11表示輸出數據長度為16位,其他為12位。D1決定輸出數據是高位先送出,還是低位先送出,為0表示高位先送出。D0決定輸出數據是單極性(二進制)還是雙極性(2的補碼),若為單極性,該位為0,反之為1。
2.2轉換過程
上電后,片選CS必須從高到低,才能開始一次工作周期,此時EOC為高,輸入數據寄存器被置為0,輸出數據寄存器的內容是隨機的。
開始時,CS片選為高,I/O CLOCK、DATA INPUT被禁止,DATA OUT 呈高阻狀,EOC為高。使CS變低,I/OCLOCK、DATAINPUT使能,DATAOUT脫離高阻狀態。12個時鐘信號從I/OCLOCK端依次加入,隨著時鐘信號的加入,控制字從DATAINPUT一位一位地在時鐘信號的上升沿時被送入TLC2543(高位先送入),同時上一周期轉換的A/D數據,即輸出數據寄存器中的數據從DATAOUT一位一位地移出。TLC2543收到第4個時鐘信號后,通道號也已收到,此時TLC2543開始對選定通道的模擬量進行采樣,并保持到第12個時鐘的下降沿。在第12個時鐘下降沿,EOC變低,開始對本次采樣的模擬量進行A/D轉換,轉換時間約需10μs,轉換完成后EOC變高,轉換的數據在輸出數據寄存器中,待下一個工作周期輸出。此后,可以進行新的工作周期。
3、TLC2543與單片機的接口和采集程序
目前使用的51系列單片機沒有SPI接口,為了與TLC2543接口,可以用軟件功能來實現SPI的功能,其硬件接口如圖2所示。本示例采用延時進行采集,故省去了EOC引腳的接口。
下面是采用C51編寫的A/D轉換程序。其中port是待采集的模擬量通道號,ad_data是采樣值。delay()是延時函數,大約為20微秒。
責任編輯:gt
-
接口
+關注
關注
33文章
8580瀏覽量
151044 -
微處理器
+關注
關注
11文章
2259瀏覽量
82412 -
模數轉換器
+關注
關注
26文章
3203瀏覽量
126811
發布評論請先 登錄
相關推薦
評論