1 概述 TLV2544/2548是TI公司生產的一組高性能12位低功耗/高速(3.6μs)CMOS模數轉換器,它精度高,體積小、通道多,使用靈活,并具有采樣-保持功能,電源電壓為2.7V~5.5V。另外TLV2544/2548還個有3個輸入端和一個三態輸出端,可為最流行的微處理器串行端口(SPI)提供4線接口。當與DSP連接時,可用一個幀同步信號(FS)來表明一個串行數據幀的開始。該器件除了具有高速模數轉換器和多種控制功能外,還具有片內模擬多路器,可選擇多部的模擬電壓或三個內部自測試電壓中的任一個外部的模擬電壓或三個內部自測試電壓中的任一個作為輸入。TLV2544/2548工作時的功耗非常低,而軟件/硬件/自動關機模式以及可編程的轉換速度又進一步增強了其低功耗的特點。同時它還具有內置轉換時鐘(OSC)和電壓基準,可以采用外部SCLK作為轉換時鐘源以獲取更高的轉換速度(在20MHz的SCLK時可高達3.6μs)。并有兩種不同的內部基準電壓可供選擇。圖1和圖2分別是TLV2544/2548的功能方框圖和引腳排列,表1是其引腳說明。 表1 引腳說明 表2 TLV2544/TLV2548配置寄存器(CFR)的位定義 *這些位僅在10和11轉換模式中有效 TLV2544/2548兩芯片的內部功能結構相同,不同之處就是前者的模擬輸入通道為4路,而后者為8路。下面以TLV2544為例為介紹。 2 工作原理 TLV2544有4路模擬輸入和3個內部測試輸入端,它們可由模擬多路轉換器根據輸入的命令來選擇。輸入多路轉換器采用先開后合型,因為這可減少由通道切換引起的輸入噪聲。 TLV2544 的工作周期的開始模式有兩種:一種是當不使用FS時(在CS的下降沿FS=1),CS的下降沿即為周期的開始。這時的輸入數據在SCLK的上升沿移入,輸出數據下降沿改變。這種模式雖然也可用于DSP,但一般常用于SPI微控制器。另一種是當使用FS時(FS是來自DSP的有效信號),FS的下降沿即為周期的開始,這時的輸入數據在SCLK的下降沿移入,輸出數據在其上升沿改變,這種模式一般用于TMS320系列的DSP。 TLV2544 具有一個4位命令集(存于命令寄存器CMR中)和一個12位配置數據域。大多數命令只需要前4個MSB,即不需要低12位數據。值得注意的是,器件在上電初始化時首先需要將將始化命令A000h寫入CFR配置寄存器,然后對器件進行編程,其編程方法是在初始化命令A000h的低12位000h寫入編程數據以規定器件的工作方式。編程定義如表2所列,編程信息被保留在H/W或S/W的斷電狀態。當器件被編程時,由微處理發送一個16位串行數據寫入CFR,如果在輸入了前8位后SCLK中斷,那么余下的8位則在SCLK被恢復后再輸入。一個讀CFR命令可讀出CFR的狀態,以校驗寫入控制命令是否正確,其他控制命令可參見表3。 表3 TLV2544/TLV2548命令集 如果前高4位輸入數據被譯碼為轉換命令之一,那么采樣周期開始。一般有兩種采樣方式:正常采樣和擴展采樣。正常采樣實際上是采用軟件啟動A/D變換方式,當 A/D轉換器正常采樣時,采樣周期是可編程的,它可以是12SCLKs(短周期采樣)或24SCLKs(長周期采樣)。當SCLK高于10MHz或輸入源電阻較高時,長周期采樣可使被采樣的輸入模擬信號達到0.5LSB的精度。如果正常采樣達不到所要求的A/D變換精度,則應采用擴展采樣,擴展采樣采用硬件啟動A/D變換,在引腳CSTART輸入一個寬度大于800ns的負脈沖信號后,A/D轉換開始。CSTART的下降沿即為采樣周期的開始,CSTART的上升沿是采樣周期的結束和轉換的開始。 3 TLV2544的轉換模式 TLV2544 具有四種轉換模式,分別為:單次模式、重復模式、掃描模式和重復掃描模式。可用模式00、01、10、11表示。每種模式的工作稍有區別,這取決于轉換器如何采樣和采用哪一種接口。轉換的觸發信號可以采用有效CSTART(擴展采樣)、CS(正常采樣、SPI接口)或FS(正常采樣,TMS320系列 DSP接口)模式。當FS用作觸發信號時,CS可保護一直有效而不需要通過觸發順序跳轉。不同類型的觸發信號不應在重復模式和掃描模式中混合使用。當 CSTART用作觸發信號時,轉換開始于CSTART的上升沿。如果一個有效CS或FS用作觸發信號,則轉換將在第16個或第28個SCLK的邊沿開始。 TLV2544/2548 的工作時序分為二大類:轉換和無轉換。無轉換周期為讀和寫周期(配置),這些周期都不執行轉換,而轉換周期有四種轉換模式的周期,圖3、圖4分別給出了 TLV2544/2548的CFR寫周期(FS=1)和模式00時單次擴展采樣(使用FS信號,FS腳連至TMS320系列DSP)時序圖。 另外,TLV2544/2548還具有一個內置基準,其電平可編程為2V或4V。如果采用內部基準,REFP就被設為2V/4V,而REFM則設為0V。如果基準源編程為外部,那么也可通過兩個基準輸入腳REFP和REFM使用外部基準。模擬輸入、外部基準的最大或最小值不應超過正電源或低于GND。正輸入信號等于或高于REFP時,數字輸入為滿度,而在輸入信號等于或低于REFM時為零。 器件的上電和初始化要求先通過向TLV2544/2548寫入A000h的方法確定處理器的類型,然后對器件進行編程。器件在上電后或從斷電方式中恢復后的第一次轉換無效。 4 應用 TLV2544 和微處理器之間的數據傳輸最快和最有效的方法是用串行外設接口(SPI),但這要求微帶有SPI接口能力。對不帶SPI或類似接口能力的微處理器,需用軟件合成SPI操作來和TLV2544連接。圖5為TLV2544和單片機AT89C2051的接口電路,因為是與微處理器連接,所以不用FS端(接至高電平)。該電路采用內部基準,REFP與REFM之間接0.1μF和10μF兩個退耦電容。TLV2544的SDI、SCLK、EOC/INT、CS端由單片機的雙向I/O口中的P1.3、P1.4、P1.5和P1.6提供。轉換結果的輸出(SDO)數據由口1的P1.2接收。電路使用擴展采樣方式, CSTART端接P1.7,通過硬件來控制采樣與轉換。其接口軟件由一個主程序和一個子程序組成。主程序首先對P1口初始化,后對TLV2544進行編程以確定的工作方式。子程序“SPI-IO”用來模擬SPI的I/O操作,SPI功能用累加器A和帶進位的左循環移位指令(RLC)模擬SPI移位寄存器的操作來實現。程序如下: ORG 0000H AJMP START ORG 0030H START:MOV P1,#0FFH MOV P3,#0FFH CLR EA CLR ET1 CLR P1.4 SETB P1.6 CONFIG:MOV R1,#0A0H ACALL SPI_IO MOV R1,#00H ACALL SPI_IO SETB P1.6 MOV R1,#10101000B; ACALL SPI_IO MOV R1,#00000000B ACALL SPI_IO SETB P1.6 S/R:MOV R1,#ACALL SPI_IO RESULT MOV R1,#00H ACALL SPI_IO MOC R3,A;LOW BYTE RESULT SETB P1.6 NOP CLR P1.7/CSTART LOW,START SAMPLING MOV R6,#08H DELAY:NOP NOP NOP DJNZ R6,DELAY SETB P1.7; JB P1.5,$;/INT SETB P1.6 ·對轉換結果的處理 AJMP S/R SPI_IO;CLR P1.6 CLR P1.4 MOV R0,#08H MOV A,R1 SPI_IO1:MOV C,P1.2 RLC A MOV P1.3,C SETB P1.4 CLR P1.4 DJNZ R0,SPI_IO1 RET |