左現(xiàn)剛,余周,侯志松,張志霞
(河南科技學院,河南新鄉(xiāng)453003)
通過單片機I/O口直接控制繼電器或可控硅是后向通道中最簡單的形式,當被控對象需要根據模擬量的大小連續(xù)控制時,最簡單的方法便是采用數/模轉換器(DAC).DAC種類繁多,從接口形式來看,有串口和并口之分.早期的DAC一般采用并口方式,如廣為流行的DAC0832.隨著半導體技術的不斷發(fā)展和進步,為節(jié)省CPU的硬件資源,目前一些新型的D/A轉換器均采用了流行的串行總線協(xié)議,如采用SPI(Serial Peripheral Interface)總線協(xié)議的TLC5615.該總線是由Motorola公司提出的一種4線制同步串行外設總線接口,包括時鐘、使能、輸入和輸出4根引腳,主要用于CPU與各種外圍器件以串行方式進行通信[1-2].從D/A芯片的輸出形式來看,又分為電流輸出型和電壓輸出型兩種,常用的DAC0832就是典型的電流輸出型D/A轉換器.由于輸出是電流形式,因此在實際的電路設計中還必須通過運算放大器組成電流/電壓轉換器將電流輸出轉化成電壓輸出.而TLC5615則是電壓輸出型,可以通過外接的基準電壓來調節(jié)電壓輸出的幅度[3-4].
TLC5615是帶有緩沖基準輸入(高阻抗)的10位電壓輸出DAC,具有基準電壓兩倍的輸出范圍,且DAC是單調變化的,使用簡單,采用單5 V電源,具有上電復位功能以確??芍貜蛦?數字控制通過3線串行SPI總線,與CMOS兼容且易于和工業(yè)標準微控制器接口.器件接收16位數據字以產生模擬輸出.數字輸入端帶有施密特觸發(fā)器,具有高噪聲抑制能力.工作溫度范圍為0~70℃.其功能框圖如圖1所示.
圖1 TLC5615內部功能
8腳直插式TLC5615的引腳分布如圖2所示,各引腳功能如表1所示.
圖2 TLC5615引腳排列
表1 TLC5615引腳功能
圖3 TLC5615的工作時序
TLC5615工作時序如圖3所示.可以看出,只有當片選CS為低電平時,串行輸入數據才能被移入16位移位寄存器.當CS為低電平時,在每一個SCLK時鐘的上升沿將DIN的一位數據移入16位移寄存器.注意,二進制最高有效位被導前移入.接著,在CS的上升沿將16位移位寄存器的10位有效數據鎖存于10位DAC寄存器,供DAC電路進行轉換;當片選CS為高電平時,串行輸入數據不能被移入16位移位寄存器.注意,CS的上升和下降都必須發(fā)生在SCLK為低電平期間.
從圖1可以看出,16位移位寄存器分為高4位虛擬位、低2位填充位以及10位有效位.在單片TLC5615工作時,只需要向16位移位寄存器按先后輸入10位有效位和低2位填充位,2位填充位數據任意,這是第一種方式,即12位數據序列.第二種方式為級聯(lián)方式,即16位數據序列,可以將本片的DOUT接到下一片的DIN,需要向16位移位寄存器按先后輸入高4位虛擬位、10位有效位和低2位填充位,由于增加了高4位虛擬位,所以需要16個時鐘脈沖.其輸出電壓為:
VOUT=VREFIN×N/1 024
其中:VREFIN為參考電壓,N為輸入的二進制數.
TLC5615與Mega16接口采用標準的SPI串行總線協(xié)議,實際連接可參照圖4,當MCU自身不帶有SPI接口時,可通過普通I/O口模擬SPI串行總線協(xié)議的工作方式.在片選/CS為低電平時,由MCU發(fā)往TLC5615的輸入數據被讀入到16位移位寄存器(最高有效位在前).在SCK時鐘信號的上升沿把數據送到輸入寄存器,隨后由/CS片選信號的上升沿將數據傳送至DAC寄存器.當/CS為高電平時,輸入數據不能由時鐘同步并送入到輸入寄存器[5-6].
圖4 TLC5615與Mega16的連接
SPI協(xié)議規(guī)定為8位字節(jié)形式,因此數據輸入到DAC寄存器需要兩個寫周期.對于QSPI接口,由于總線傳送的數據格式為8位至16位可變,因此可以在一個寫周期之內將輸入數據裝載至DAC輸入寄存器.TLC5615的轉換精度與PCB板的設計相關,模擬地和數據地在印制電路板中應嚴格區(qū)分.TLC5615的AGND模擬地端應連接到系統(tǒng)模擬地,并應在VDD和AGND之間靠近器件處并聯(lián)一個電容量為104的旁路電容.
程序編輯軟件采用ICCAVR,版本為6.31.程序代碼如下:
通過程序可以看出,在保證SPI同步傳輸的高效性和高速性的同時,采用SPI接口的芯片在和微控制器進行數據通信時,控制程序顯得簡單和清晰.
由于使用帶SPI功能的器件采用3或4根信號線進行串入并出數據傳輸,使程序控制變得更為簡潔高效,而且增強控制系統(tǒng)的移植性,大幅簡化電路的繁雜布線,提高整體系統(tǒng)的穩(wěn)定性.另外AVR單片機把SPI總線接作為其技術特性固化在系列芯片中,所以更加方便對具有SPI接口的芯片進行連接和控制.
[1]王志,王文廉,張志杰.SPI及USB雙通信接口的設計與實現(xiàn)[J].自動化儀表,2010,31(1):72-75.
[2]王耿,王金明.SPI接口控制器設計與實現(xiàn)[J].電子質量,2010(1):4-5.
[3]孫曉曄.PIC單片機與串行閃存的SPI接口設計[J].單片機與嵌入式系統(tǒng)應用,2010(4):46-48.
[4]陳志彬,王仲初,崔文華.SPI接口芯片在單片機小系統(tǒng)中的應用[J].自動化與儀表,2001(1):63-65.
[5]耿德根,宋建國.AVR高速嵌入式單片機原理與應用[M].北京:北京航空航天大學出版社,2001.
[6]彭希南.基于SPI接口的ISD4104系列語音錄放芯片及其應用[J].微型機與應用,2000(9):24-26.