MAX5121及其在DSP系統(tǒng)中的應用
1 MAX512l型D/A轉換器
MAX5121是美國MAXIM公司生產(chǎn)的12位低功耗電壓輸出型串行數(shù)模轉換器(DAC)。該器件具有靈活的三線串行接口,可以與SPI、QSPI和MICROWIRE串行口實現(xiàn)無縫聯(lián)接。在使用內(nèi)部基準參考電壓源時,其最大輸出電壓為2.0475V。
MAX5121內(nèi)部帶有一個+1.25V基準參考電壓源,如用戶需要,也可外接片外參考電壓。此外,它內(nèi)部還包括一個16位的串行移位寄存器、一個輸入寄存器、一個DAC寄存器和一個輸出放大器。其輸出電壓的計算公式為:
式中,VREF是基準電壓,Code是在0x000~0xFFF范圍內(nèi)的輸入數(shù)字量,VOS為片外輸入模擬電壓。
MAX5121數(shù)模轉換器具有兩種工作模式,即正常工作模式(電流500μA)和關斷工作模式(電流3μA)。當處于關斷工作模式時,OUT輸出變?yōu)楦咦钁B(tài),但輸入寄存器內(nèi)容將被保存,以便MAX5121被喚醒后能“回憶”起進入關斷模式前的輸出狀態(tài)。
MAX512l采用+3V單電源供電,封裝為16pin QSOP封裝形式。
1.1 MAX5121的內(nèi)部結構及引腳功能
MAX5121的內(nèi)部結構框圖如圖1所示。表1所列是該芯片的引腳功能說明。
1.2 MAX512l的串行接口命令
MAX512l的編程控制由16位串行字組成,即3位控制位、12位數(shù)據(jù)位和1位子位。圖2所示是其16位串行字格式,表2所列是其串行接口命令及功能描述。
1.3 MAX5121的工作時序
MAX512I在工作時,首先將CS置為低電平以使能MAX5121,然后從SCLK的上升沿開始將DIN上的串行數(shù)據(jù)一位接一位移入MAX5121內(nèi)部的16bit串行移位寄存器。當CS為高電平后,串行移位寄存器中的數(shù)據(jù)將被裝入MAX5121內(nèi)部的輸入寄存器或送入DAC寄存器,具體取決于16位串行字中C2、C1、C0這三位的取值。MAX5121的最高串行工作時鐘頻率為6.6MHz。圖3是MAX5121的串行口工作時序。
2 TMS320LF2407的SPI接口
TMS320LF2407是美國TI公司推出的、專為數(shù)字電機控制和其它控制應用系統(tǒng)而設計的一款高性能、低功耗、高性價比的16位定點DSP (數(shù)字信號處理)芯片。它將數(shù)字信號處理的高速運算功能與面向電機的強大控制能力結合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設計系統(tǒng)的理想替代品。TMS320LF2407內(nèi)部有4個引腳的串行外設接口(SPI)模塊。該SPI是一個高速、同步串行I/O口,它允許長度可編程的串行位流(1~16)以可編程的位傳輸速度移出或移入器件。通常SPI用于DSP處理器和外部外設,以及其它處理器之間的通信。其典型應用包括通過諸如移位寄存器、顯示驅動器、DAC,以及日歷時鐘等器件所進行的外部I/O或器件的擴展。SPI的主/從操作模式均支持多處理器通信。SPI模塊的特性包括以下幾點:
(1) 有主動或從動兩種方式。TMS320LF2407的SPI功能模塊是一種真正的同步串行接口,可以工作于主動和從動方式。當SPI工作在主動方式時,SPICLK為時鐘信號輸出端,可與從器件的時鐘信號輸入引腳相連接,兩者共用TMS320LF2407的時鐘信號。SPl數(shù)據(jù)傳輸則由如下四個外部引腳完成,即SPISOMI(從動輸出主動輸入)、SPISIMO(從動輸入主動輸出)、SPISTE(從動發(fā)送使能)、SPICLK(串行時鐘輸入輸出);
(2) 具有四種時鐘方案。分別為無延時上升沿(SPICLK信號上升沿發(fā)送數(shù)據(jù),下降沿接收數(shù)據(jù))、有延時上升沿(SPICLK信號上升沿半個周期發(fā)送數(shù)據(jù),上升沿接收數(shù)據(jù))、無延時下降沿(SPICLK信號下降沿發(fā)送數(shù)據(jù),上升沿接收數(shù)據(jù))、有延時下降沿(SPICLK信號下降沿半個周期發(fā)送數(shù)據(jù),下降沿接收數(shù)據(jù))。一般情況下,當DSP作為主器件時,時鐘模式的選擇還要參考從器件的工作方式;
(3) 有125種可編程波特率。TMS320LF2407中SPI模塊靈活的波特率設置可以方便地與外設進行通信,最大可達10MHz。波特率的設定應參考外設的最大傳輸頻率。設計時通過向波特率寄存器寫入設定值,可以得到不同的波特率;
(4) TMS320LF2407數(shù)據(jù)字長度可以是1到16位。收發(fā)數(shù)據(jù)的位數(shù)可由SPI的配置控制寄存器決定;
(5) 發(fā)送和接收可用中斷或查詢方式完成。
3 MAX512l與TMS320LF2407的硬件接口
在設計TMS320LF2407與MAX5121的硬件接口電路時,可將TMS320LF2407作為SPI主機,MAX512l作為從機。MAX5121只接受來自主機的數(shù)據(jù),然后進行D/A轉換并從OUT引腳輸出模擬電壓。由于MAX5121是在SCLK的上升沿接收SPI線上的數(shù)據(jù),因此,DSP應采用無延時的下降沿來發(fā)送SPI數(shù)據(jù),這樣才能配合MAX5121的工作時序。圖4給出了TMS320LF2407與MAX512l的硬件接口電路。
4 軟件設計
4.1 SPI總線波特率的設置
由于不同SPI器件的最高工作頻率有所不同,為了使SPI總線高效工作,應了解各個SPI器件最高能接受的頻率,然后取低頻率的SPI器件的最高頻率作為通訊波特率。由于MAX5121的最高允許時鐘頻率為6.6 MHz,因此,在TMS320LF2407與MAX512l的應用系統(tǒng)設計中,SPI總線的最高時鐘頻率不能超過6.6 MHz。
4.2 軟件設計
限于篇幅,圖5僅給出用TMS320LF2407向MAX5121發(fā)送一個16bit DAC數(shù)據(jù)的軟件實現(xiàn)流程圖(用軟件查詢方式發(fā)送),以表明出MAX5121在DSP應用系統(tǒng)中的一般編程方法。
5 結束語
利用DSP的SPI接口擴展各種串行接口的元器件應具有接口簡單、編程方便的優(yōu)點。如今的串行接口器件種類繁多(有SPI語音芯片、LED驅動芯片、A/D轉換芯片、D/A轉換芯片、EEPROM芯片等),這些器件給系統(tǒng)設計帶來了更多的選擇。因此,在實時性要求不高的場合,串行接口器件的使用可以簡化電路設計,提高系統(tǒng)設計的可靠性。
評論