TLC5620I與TMS320F2812的接口設(shè)計(jì)
1 引言
本文引用地址:http://2s4d.com/article/150665.htm近年來,數(shù)字信號(hào)處理器(DSP)的應(yīng)用越來越廣泛,其中TMS320F2812作為目前數(shù)字控制領(lǐng)域中性能較高的DSP芯片,被廣泛應(yīng)用于電機(jī)控制、工業(yè)自動(dòng)化、家用電器和消費(fèi)電子等領(lǐng)域。由于TMS320F2812本身不具有D/A轉(zhuǎn)換模塊,因此在很多需要模擬量輸出的控制場合受到限制。所以D/A轉(zhuǎn)換芯片如何與TMS320F2812進(jìn)行接口,成為數(shù)字信號(hào)處理系統(tǒng)需要解決的一個(gè)重要問題。這里介紹了四路8位電壓輸出數(shù)字一模擬轉(zhuǎn)換器TLC5620I,并給出TLC5620I與TMS320F2812串口接口的軟、硬件設(shè)計(jì)實(shí)現(xiàn)方法。
2 TMS320F2812的SPI工作原理
TMS320F2812的SPI模塊的9個(gè)寄存器用來控制SPI的操作,其中SPICCR設(shè)置SPI的軟件復(fù)位、移位時(shí)鐘極性字符長度;SPICTL設(shè)置SPI的時(shí)鐘相位、工作模式等;SPISTS中包括溢出標(biāo)志位、中斷標(biāo)志位等;SPIBRR設(shè)置SPI波特率;SPIRXBUF和SPITXBUF為數(shù)據(jù)接收和發(fā)送緩沖寄存器,SP-IDAT用于發(fā)送/接收移位寄存器;SPIRXEMU僅用于仿真;SPIPRI控制中斷優(yōu)先級(jí)。該器件的SPI接口有一個(gè)16級(jí)的FIFO,用來減少CPU的開銷。圖1為SPI模塊與CPU接口結(jié)構(gòu)框圖。
由圖1可知,SPI模塊數(shù)據(jù)傳輸由40、41、34、35引腳完成,其引腳功能見表1。
TMS320F2812支持125種不同的波特率和4種不同的時(shí)鐘模式。根據(jù)SPI的工作模式(從動(dòng)或主控),引腳SPICLK可分別接收一個(gè)外部的SPI時(shí)鐘信號(hào)或由片內(nèi)提供SPI時(shí)鐘信號(hào)。
在該設(shè)計(jì)中,SPI工作在主控模式,SPI時(shí)鐘由片內(nèi)的SPI產(chǎn)生并由SPICLK引腳輸出。TMS320F2812波特率的設(shè)置是由系統(tǒng)的低速外設(shè)模塊時(shí)鐘頻率LSPCLK和SPI主控制器中的SPIBRR寄存器的值決定的,其計(jì)算公式如下:
SPI波特率=LSPCLK/(SPIBRR+1)SPIBRR=3~127
SPI波特率=LSPCLK/4 SPIBRR=0、1、2
引腳SPICLK上的四種不同的時(shí)鐘模式是由時(shí)鐘極性位和時(shí)鐘相位位控制的,其中時(shí)鐘極性位選擇時(shí)鐘有效沿為上升沿還是下降沿,時(shí)鐘相位位則設(shè)定是否選擇時(shí)鐘的1/2周期延時(shí)。四種不同的時(shí)鐘模式如表2所示。
3 TLC5620I簡介
TLC5620I是四路8位電壓輸出數(shù)模轉(zhuǎn)換器(DAC),帶有緩沖基準(zhǔn)輸入端(高阻抗),包含上電復(fù)位功能以確??芍貜?fù)啟動(dòng),用5 V電源工作。DAC產(chǎn)生范圍在基準(zhǔn)電壓一倍或兩倍與地(GND)之間的輸出電壓,且DAC是單調(diào)變化的。TLC5620I使用4個(gè)電阻串(resistor-string)來實(shí)現(xiàn)D/A轉(zhuǎn)換。每個(gè)D/A轉(zhuǎn)換的核心是帶有256個(gè)抽頭的單電阻,分別對應(yīng)256個(gè)可能的代碼。每個(gè)電阻串的一端連接到GND端,另一端由基準(zhǔn)輸入緩沖器的輸出饋電。通過使用電阻串保持單調(diào)性。線性度取決于電阻元件的一致性以及輸出緩沖器的性能。由于輸入端是經(jīng)過緩沖的,所以DAC對于基準(zhǔn)源總是呈現(xiàn)為高阻抗負(fù)載。每一個(gè)DAC的輸出由可配置增益輸出放大緩沖,它可以配置為一倍或兩倍增益。
通過簡單的3線串行總線可數(shù)字控制TLC5620I,此總線與CMOS兼容且易于與所有常用的微處理器作為控制器器件接口。11位的命令字由8位數(shù)據(jù)(D0~D7),2個(gè)DAC選擇位(A0、A1)和1個(gè)范圍位(RNG)組成。后者允許在一倍或兩倍輸出范圍之間作選擇。DAC寄存器是雙緩沖的,允許完整的新數(shù)值組寫入器件,然后DAC輸出通過LDAC端的控制同時(shí)更新。每個(gè)通道輸出的電壓V0由下式計(jì)算:
V0=REF×(CODE/256)×(1+RNG bit value)
式中,REF為相應(yīng)通道基準(zhǔn)電壓,CODE是從數(shù)據(jù)位(D7~D0)計(jì)算出的十進(jìn)制數(shù),RNG是范圍位串行控制字的0或1。
4 TLC5620I和TMS320F2812的接口電路
圖2為TLC5620I和TMS320F2812的接口電路。
評(píng)論