DSP控制器原理與應用張小鳴第七章課件_第1頁
DSP控制器原理與應用張小鳴第七章課件_第2頁
DSP控制器原理與應用張小鳴第七章課件_第3頁
DSP控制器原理與應用張小鳴第七章課件_第4頁
DSP控制器原理與應用張小鳴第七章課件_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章

TMS320x240x的接口電路設計DSP電源電路晶振、鎖相環(huán)及復位電路電平轉換接口電路JTAG接口電路設計DAC接口電路SRAM接口電路7.1DSP電源電路

DSP應用系統(tǒng)一般是一個多電源系統(tǒng),通常包含+5V和3.3V兩種電源。這是因為多數DSP芯片是采用3.3V來供電的,而許多外圍接口芯片是采用+5V供電。

對于多電源供電系統(tǒng),一般采用+5V電源供電,對于其他數量級的電源可經電壓變換得到。+5V電源可經外部的開關電源直接得到,或者將220V交流電經整流、濾波、穩(wěn)壓后得到。一般來講,這樣得到的+5V電源的帶負載能力較強,但紋波較大,很難直接應用到DSP系統(tǒng)中。為此,一般要經過DC/DC變換或隔離處理。下圖給出了幾種完成此類功能的芯片及其典型電路的連接方法。有關芯片的主要參數見表。退出退出DC/DC芯片的主要參數型號功能輸入電壓(V)輸出電壓(V)輸入電流(mA)輸出電流(mA)最大值典型值MAX877開關型升/降壓1.8~650.310.22240MAX777/778/779開關型升壓1~65/3或3.3/可調0.310.22300MAX639/640/653開關型降壓4~11.55/3.3/3可調0.020.01225MAX738A/744A開關型降壓6~16531.7750MAX878開關型升/降壓1.8~63.3/30.310.22240MAX748開關型降壓3.3~163.331.7750MAX651/649/652開關型降壓4~16.53.3/30.10.082000TPS7333Q開關型降壓53.3500退出

對于需同時產生3.3V和1.8V的電源,可采用圖5-3所示的TI公司的TPS767D318電路。該芯片屬于線性降壓型DC/DC變換電路,由5V可同時產生兩種不同的電壓(3.3V、1.8V或2.5V),其最大輸出電流1000mA,可同時驅動一片DSP和少量外圍電路。退出

另外,在設計PCB板時,對于模擬電源(VDD)和數字電源(VCC)、模擬地(AGND)和數字地(DGND)應分開走線,建議使用專門的電源和地線布線,且電源和地線要盡可能地寬,并且在主干線上要放置大小不等的濾波電容(50-100μF),以濾除多種不同頻率的噪聲。在電源和地線的支線上和器件附近,也要安排一些小電容(0.01-0.1μF)。退出采用+5V供電方式的有源晶振時,需在它的輸出端進行電平轉換。有源晶振驅動能力較強,輸出頻率范圍也較寬(1Hz-400MHz),因此在設計DSP系統(tǒng)時經常采用。使用無源晶振的優(yōu)點是價格便宜,但它的驅動能力比較差,一般不能提供多個器件共享,而且它可提供的頻率范圍也比較小(一般在20kHz-60MHz)。圖5-4所示的無源晶振所接的電容典型值為20-30pF。退出7.2.2鎖相環(huán)電路

TMS320LF2407A內部具有鎖相環(huán)(PLL)電路,可將一個較低的外部時鐘在芯片內部實現(xiàn)倍頻,這對于整個電路板的電磁兼容性是很有好處的,因為外部只需使用較低頻率的晶振,避免了外部電路的時鐘干擾,同時也避免了高頻時鐘干擾電路板上的其他電路。TMS320LF2407A的PLL模塊使用外部濾波電路回路來抑制信號抖動和電磁干擾,使信號抖動和干擾影響最小。

在設計PCB板時,所有連接PLL的導線必須盡可能的短。

退出7.2.3復位電路

TMS320LF2407A內部帶有上電復位電路,可以直接在RS復位引腳外接一個上拉電阻即可,這對于簡化外圍電路、減少PCB板的尺寸是很有用處的。但是為了調試方便經常采用圖示的手動復位電路,在調試時可方便地進行手動復位。退出對于3.3V低電壓DSP器件來講,其引腳信號高低電平的門限值與普通TTL門限相同,故DSP的輸出信號可以直接驅動5V外圍器件的輸入,不需附加電平轉換電路;另外,由于DSP引腳允許輸入信號電壓的范圍是0~3.6V,不可以承受5V的輸入信號電壓,因此,在DSP與外圍器件之間應進行電平轉換。退出

74LVC245的輸入端可承受5.5V信號,其輸出信號的電平為3.3V,與其功能類似的芯片還有74LVC4245、74LVC16245等。輸入功能DIRLL數據從B口到A口傳送LH數據從A口到B口傳送HX隔離狀態(tài)

除了上述電平轉換方法外,還可采用雙電壓工作的CPLD可編程器件實現(xiàn)電平之間的轉換。

對于CMOS電平的外圍器件,必須采用專門的轉換芯片。退出

以上介紹的轉換器件不但起到了電平轉換作用,同時也起到了驅動的作用。對于傳輸速率較低的數字信號,也可以考慮通過光電隔離的方法來實現(xiàn)。

退出JTAG接口與應用板中DSP芯片連接的原理圖如下:1)要求安裝仿真器的計算機與DSP應用系統(tǒng)可靠接地;2)禁止帶電插拔JTAG接頭;3)正確的操作順序是:先退出計算機系統(tǒng)的仿真窗口,然后再將DSP應用板斷電,否則可能出現(xiàn)仿真器不能正常運行的情況。

注意以下幾點問題:退出7.5DAC接口電路7.5.1串行D/A接口

由于DSP內部包含有串行外設接口SPI模塊,且SPI的外部連線較少、速度較快,因此在應用系統(tǒng)中的SPI沒有用作其他目的的情況下,可以配合具有SPI接口的外部器件進行D/A轉換。

目前,具有SPI接口的外部器件較多,如LED驅動、A/D轉換、D/A轉換等芯片,其中,MAX5121就是適合于SPI通信的D/A轉換芯片退出7.5.2并行D/A接口DSP對并行DAC芯片的訪問形式是只寫不讀。以下介紹DSP與AD7837的接口方法。

AD7837為12位雙通道(A和B)的DAC,其數據線只有8位,低8位和高4位數據線復用,對于每個DAC,完成一次轉換操作的過程是:先將待轉換的低8位數據送到AD7837,然后,再寫高4位,最后,通過I/O引腳輸出一個轉換鎖存信號到AD7837的引腳,從而啟動D/A轉換。地址信號A0和A1用來選擇AD7837中的A或B轉換器。退出CY7C1021是16位高性能CMOS靜態(tài)RAM,對其基本操作有兩種情況:

1)當輸入信號和同時為低電平時,選通該芯片的寫功能。當低字節(jié)使能位變低時,選通低8位數據端口,即來自I/O引腳I/O8-I/O1的數據被寫入到地址引腳A15-A0所指定的位置;當變低時,選通高8位數據端口,即來自I/O引腳I/O16-I/O9的數據被寫入到地址引腳A15-0所指定的位置。

2)當輸入信號和為低電平、同時迫使變高電平時,選通該芯片的讀功能。當低字節(jié)使能位變低時,存儲器中指定位置中的數據將出現(xiàn)在I/O引腳I/O8-I/O1上;如果高字節(jié)使能位變低時,指定的高8位數據出現(xiàn)在I/O引腳I/O16-I/O9上。

退出CY7C1021功能表

選擇,輸出禁止高阻高阻HH××L選擇,輸出禁止高阻高阻××HHL寫高8位數據輸入高阻LH寫低8位高阻數據輸入HL寫所有位數據輸入數據輸入LLL×L讀高8位數據輸出高阻LH讀低8位高阻數據輸出HL讀所有位數據輸出數據輸出LLHLL掉電高阻高阻××××H模式I/O16-I/O9I/O8-I/O1退出

圖示給出了CY7C1021與DSP的一種接口電路。從圖中可以看出,每次讀、寫操作的是整個16位數據,不分高低字節(jié)。通過譯碼電路將64KB的SRAM空間分為兩個地址空間(由地址的最高位A15的值決定),即數據區(qū)和程序區(qū),具體區(qū)間的劃分由用戶的譯碼方法決定,利用DSP可方便地對CY7C1021進行讀寫操作。退出7.73線-8線譯碼器

本節(jié)以3線-8線譯碼器為例,介紹基于DSP的點對點控制實現(xiàn)方法。輸入信號輸出信號IOPE3IOPE2IOPE1IOPB7IOPB6IOPB5IOPB4IOPB3IOPB2IOPB1IOPB00000000000100100000010010000001000110000100010000010000101001000001100100000011110000000退出7.7.1設計思路

1.TMS320LF2407A的I/O引腳處理本設計采用TMS320LF2407A來實現(xiàn)。由于本設計要用到的輸入、輸出引腳較多,而TMS320LF2407A芯片中獨立使用的I/O引腳較少,大多數的I/O引腳都是和特殊功能的引腳復用。因此在初始化程序中要先把選定的引腳設置成通用的I/O功能。另外,為防止外界信號的干擾,譯碼器的輸入引腳應接上拉電阻。為保證有一個穩(wěn)定的輸出和防止外界的干擾,應采用鎖存器把輸出的電平進行鎖定。退出2.硬件電路

3輸入信號用3個按鍵開關來實現(xiàn),且均接4.7kΩ的上拉電阻。當按鍵未按下時,IOPE輸入高電平,當按鍵按下時,IOPE輸入變?yōu)榈碗娖剑ㄟ^3個按鍵的不同狀態(tài)組合,即可實現(xiàn)譯碼器的8種不同狀態(tài)輸入。譯碼器的輸出用8個發(fā)光二極管來指示,對于某種按鍵的組合輸入,只有一個相應的發(fā)光二極管點亮,表示輸出一個控制信號,圖中的1kΩ電阻為發(fā)光二極管的限流電阻。退出3.編程時應注意的問題一般而言,DSP程序包括主程序、系統(tǒng)初始化程序和存儲器配置文件。如果系統(tǒng)沒有正確初始化或存儲器配置不正確,那么,即使主程序正確,系統(tǒng)也不能正確運行。DSP包含很多存儲器映射的CPU寄存器和外設寄存器,在編程時經常要對它們進行配置,因此需先編寫一個頭文件,把這些寄存器的名稱和數據存儲空間對應起來,然后再使用。退出7.7.2參考程序1.頭文件F2407REGS.H參見附錄C。2.匯編語言文件(.ASM)

.include“F2407REGS.H”;引用頭文件

.def_c_int0.data;定義程序的數據段

input_temp.word00h;輸入暫存寄存器

output_flag.word00h;按鍵值暫存寄存器1flag_temp.word00h;按鍵值暫存寄存器2io_decode_flag.word00h;輸出譯碼暫存寄存器退出;(1)主程序

.text;定義程序段_c_int0:NOPCALLsystem_init;調系統(tǒng)初始化程序

CALLioport_init;調I/O口初始化程序

NOPDecode_3_8_loop:CALLread_button;調按鍵讀入程序

LDP#4;DP指針指向數據存儲B0區(qū)

SPLK#0001h,io_decode_flag;給輸出譯碼賦初值,

;表示DS0亮

LToutput_flag;output_flag中的值加載到TREG中

LACTio_decode_flag;io_decode_flag中的值左移

SACLio_decode_flag;左移的位數由TREG中的低4位決定

LDP#DP_PF2;DP指針指向7080h-70FFh退出

LACLPCDATDIR;PCDATDIR中值加載到ACCOR#04040h;IOPC6設置為輸出方式,輸出值為高電平

SACLPCDATDIR;IOPC6輸出高電平,使74HC547的CLK為高

LDP#4;DP指針指向數據存儲B0區(qū)(200h-27Fh)LACLio_decode_flag;io_decode_flag的值加到ACCLDP#DP_PF2;DP指針指向7080h-70FFhSACLPBDATDIR;通過IOPB0-7送出譯碼控制信號

LACLPCDATDIR;PCDATDIR中值加載到ACCAND#0FFBFh;保持IOPC6為輸出方式,輸出低電平,

;關閉74HC574SACLPCDATDIRCALLcy_delay;調延時程序

LDP#4;DP指針指向數據存儲B0區(qū)(200h-27Fh)SPLK#0h,io_decode_flag;對程序中的各種變量均清零

SPLK#0h,output_flag;用來保證本次結果不會影響

;到下次操作退出

SPLK#0h,flag_tempSPLK#0h,input_flagNOPBdecode_3_8_loop;返回到程序主體;(2)系統(tǒng)初始化程序system_init:SETCINTM;禁止中斷

CLRCOVM;ACC中的結果正常溢出

CLRCSXM;抑制符號擴展

CLRCCNF;B0區(qū)被配置為數據空間

LDP#DP_PF1;DP指針指向7000h-707FhSPLK#081FEh,SCSR1;CLKOUT輸出CPU時鐘,PLL=4SPLK#0E8h,WDCR;WDCR[6]置1,表示禁止看門狗,;WDCR[3-5]=101LDP#0;DP指向數據存儲器的頁0(0000h-007Fh)SPLK#0000h,IMR;屏蔽所有的CPU中斷退出

SPLK#0FFFFh,IFR;清除所有的CPU中斷

RET;(3)I/O端口初始化程序ioport_init:LDP#DP_PF2;DP指向7080h-70FFhLACLMCRA;IOPB0-7配置為通用I/O口

AND#00FFhSACLMCRALACLMCRB;IOPC6配置為通用I/O口

AND#0FFBFh

SACLMCRBLACLMCRC;IOPE1-3配置為通用I/O口

AND#0FFF1hSACLMCRCLACLPBDATDIR;IOPB0-7配置為輸出方式退出OR#0FF00hSACLPBDATDIR

LACLPCDATDIR;IOPC6配置為輸出方式

OR#04000hSACLPCDATDIRLACLPEDATDIR;IOPE1-3配置為輸入方式

AND#0F1FFhSACLPEDATDIRRET;(4)讀按鍵程序read_button:CALLcy_read;第一次讀輸入按鍵值

LDP#4;DP指向數據存儲器B0區(qū)

LACLoutput_flag;第一次讀的按鍵值存入flag_tempSACLflag_temp;用來和第二次讀的按鍵值相比較

CALLcy_delay;延遲50ms,用于消除按鍵抖動退出CALLcy_read;第二次讀輸入按鍵的狀態(tài)

LDP#4LACLoutput_flagSUBflag_temp;第二次讀按鍵值和第一次相比較

BCNDright_read,EQ;兩者相等轉到right_readSPLK#0,output_flag;若兩次不等,需重新讀取,

;同時把output_flag清0right_read:NOPRETcy_read:LDP#DP_PF2;DP指向7080h-70FFhLACLPEDATDIR;PEDATDIR加載到ACC,讀IOPE1-3SFR;ACC右移1位,即移到;PEDATDIF[3-1]到PEDATDIR[2-0]退出

AND#0007h;提取PEDATDIR[2~0]LDP#4SACLinput_temp;PEDATDIR[2~0]存到input_tempLACL#7;無按鍵按下時,IOPE1~3為高電平

SUBinput_temp;減PEDATDIR[2~0],以得相應的譯碼值

SACLoutput_flag;譯碼值存到output_flagRETCy_delay:LACL#2400;本例采用6MHz時鐘,PLL=4,故系統(tǒng)時

;鐘為24MHzCy_delay1:;此處采用循環(huán)等待的方法實現(xiàn)延時

SUB#1;2400×500/(24×103)=50msRPT#499;循環(huán)500次

NOPBCNDcy_delay1,NEQ;ACC不為0時返回cy_delay1RET.END退出

MEMORY;聲明可以被使用的存儲器范圍{PAGE0:;程序空間

VECS:origin=0000h,length=0040h;中斷向量存儲空間

PVECS:origin=0044h,length=0100h;外設中斷子向量

PM:origin=0150h,length=7EB0h;片內Flash存儲空間PAGE1:;數據空間

BLOCK_B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論