帶串行控制的10位模數(shù)轉換器TLC1549在8051系統(tǒng)中的應用
TLC1549是美國德州儀器公司生產(chǎn)的10位模數(shù)轉換器。它采用CMOS工藝,具有內(nèi)在的采樣和保持,采用差分基準電壓高阻輸入,抗干擾,可按比例量程校準轉換范圍,總不可調(diào)整誤差達到±1LSB Max(4.8mV)等特點。
本文引用地址:http://www.ex-cimer.com/article/201809/389017.htm
1.2 TLC1549的工作溫度范圍內(nèi)(自然通風)極限參數(shù)如下:
電源電壓范圍:-0.5~6.5V
輸入電壓范圍:-0.3~VCC+0.3V
輸出電壓范圍:-0.3~VCC+0.3V
正基準電壓:VCC+0.1V
負基準電壓:-0.1V
峰值輸入電流(任何輸入端):±20mA
峰值總輸入電流(所有輸入端):±30mA
工作溫度范圍(自然通風):
TLC1549C0~70℃
TLC1549I-40~80℃
TLC1549M -65~125℃
二、工作原理
在芯片選擇(CS)無效情況下,I/O CLOCK 最初被禁止且DATA OUT 處于高阻狀態(tài)。當串行接口把CS拉至有效時,轉換時序開始允許I/O CLOCK 工作并使DATA OUT 脫離高阻狀態(tài)。串行接口然后把I/O CLOCK 序列提供給I/O CLOCK 并從DATA OUT 接收前次轉換結果。I/O CLOCK 從主機串行接口接收長度在10和16個時鐘之間的輸入序列。開始10個I/O 時鐘提供采樣模擬輸入的控制時序。
在CS的下降沿,前次轉換的MSB出現(xiàn)在DATA OUT端。10位數(shù)據(jù)通過DATA OUT 被發(fā)送到主機串行接口。為了開始轉換,最少需要10個時鐘脈沖。如果I/O CLOCK 傳送大于10個時鐘長度,那么在的10個時鐘的下降沿,內(nèi)部邏輯把DATA OUT 拉至低電平以確保其余位的值為零。在正常進行的轉換周期內(nèi),規(guī)定時間內(nèi)CS端高電平至低電平的跳變可終止該周期,器件返回初始狀態(tài)(輸出數(shù)據(jù)寄存器的內(nèi)容保持為前次轉換結果)。由于可能破壞輸出數(shù)據(jù),所以在接近轉換完成時要小心防止CS被拉至低電平。時序圖如圖2。
三、應用介紹
3.1 TLC1549的理想轉換特性如圖3所示。
(1) 此曲線基于下列假設:VREF+和VREF-已被調(diào)整以便從數(shù)字0至1跳變的電壓(VZT)為0.0024V,滿度跳變電壓(VFT)為4.908V。1LSB=4.8mV。
(2) 滿度值(VFS)是指其額定中點(midstep)值具有最高的絕對值的那級臺階。零度值(VZS)是指其額定中點(midstep)值等于零的那級臺階。
3.2 TCL1549典型串行接口
3.3 應用程序
#include d:/c51/inc/stdlib.h
#define byte unsigned char
data int result;
sbit cs_ad= 0xa4;
sbit dout= 0xa3;
sbit clk= 0xa2;
void delay(void) //延時子程序
{ data byte i,j;
for(i=0;i255;i++)
{ for(j=0;j255;j++) ; }
}
main()
{ data byte i;
number1: cs_ad=1; //禁止I/O CLOCK
cs_ad=0; //開啟控制電路,使能DATA OUT和I/O CLOCK
result=0; //清轉換變量
for(i=0;i10;i++)//采集10次 ,即10bit
{ clk=0;
result*=2;
if(dout) result++;
clk=1;
}
delay();
cs_ad=1; ;;;; //DATA OUT 返回到高阻狀態(tài)而終止序列
result1=result; //轉換
goto number1; //重新去采集
評論