TLC5615串行數模轉換器在開(kāi)關(guān)電源中的應用
由時(shí)序圖可以看出,當片選CS為低電平時(shí),輸入數據DIN由時(shí)鐘SCLK同步輸入或輸出,而且最高有效位在前,低有效位在后。輸入時(shí)SCLK的上升沿把串行輸入數據DIN移入內部的16位移位寄存器,SCLK的下降沿輸出串行數據DOUT,片選CS的上升沿把數據傳送至DAC寄存器。
當片選CS為高電平時(shí),串行輸入數據DIN不能由時(shí)鐘同步送入移位寄存器;輸出數據DOUT保持最近的數值不變而不進(jìn)入高阻狀態(tài)。由此要想串行輸入數據和輸出數據必須滿(mǎn)足兩個(gè)條件:第一時(shí)鐘SCLK的有效跳變;第二片選CS為低電平。這里,為了使時(shí)鐘的內部饋通最小,當片選CS為高電平時(shí),輸入時(shí)鐘SCLK應當為低電平。
串行數模轉換器TLC5615的使用有兩種方式,即級聯(lián)方式和非級聯(lián)方式。如不使用級聯(lián)方式,DIN只需輸入12位數據。DIN輸入的12位數據中,前10位為TLC5615輸入的D/A轉換數據,且輸入時(shí)高位在前,低位在后,后兩位必須寫(xiě)入數值為零的低于LSB的位,因為TLC5615的DAC輸入鎖存器為12位寬。如果使用TL5615的級聯(lián)功能,來(lái)自DOUT的數據需要輸入16位時(shí)鐘下降沿,因此完成一次數據輸入需要16個(gè)時(shí)鐘周期,輸入的數據也應為16位。輸入的數據中,前4位為高虛擬位,中間10位為D/A轉換數據,最后2位為低于LSB的位即零。
2應用電路實(shí)例
圖3給出了在開(kāi)關(guān)電源中,TLC5615和AT89C51單片機的接口電路。在電路中,AT89C51單片機的P3.0-P3.2分別控制TLC5615的片選CS,串行時(shí)鐘輸入SCLK和串行數據輸入DIN。電路的連接采用非級聯(lián)方式。根據開(kāi)關(guān)電源的設計要求,可變基準電壓范圍為0V~4V。因此,TLC5615的基準電壓選為2.048V,其最大模擬輸出電壓為4.096V??蓾M(mǎn)足開(kāi)關(guān)電源的要求。
TLC5615采用非級聯(lián)方式,將要輸入的12位數據存在R0、R1寄存器中,其D/A轉換程序如下:
CLRP3?0;片選有效
MOVR2,#4;將要送入的前四位數據位數
MOVA,R0;前四位數據送累加器低四位
SWAPA;A中高四位與低四位互換
LCALLWR?data;DIN輸入前四位數據
MOVR2,#8;將要送入的后八位數據位數
MOVA,R1;八位數據送入累加器A
LCALLWR?data;DIN輸入后八位數據
CLRP3?1;時(shí)鐘低電平
SETBP3?0;片選高電平,輸入的12位數據有效
END:結束
送數子程序如下:
WR?data:NOP;空操作
LOOP:CLRP3?1;時(shí)鐘低電平
RLCA;數據送入位標志位CY
MOVP3?2,C;數據輸入有效
SETBP3?1;時(shí)鐘高電平
DJNZR2,LOOP;循環(huán)送數
RET返回
3結語(yǔ)
由于采用接口簡(jiǎn)單的模擬數字轉換器TLC5615,使得開(kāi)關(guān)電源的硬件電路大為簡(jiǎn)化,線(xiàn)路板面積縮小,成本降低。
評論