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