三大電機(jī)控制方案之DSP篇:TMS320F28335
ADC
本文引用地址:http://www.ex-cimer.com/article/201605/291317.htmTMS320F28335 上有 16 通道、12 位的模數(shù)轉(zhuǎn)換器 ADC。他可以被配置為兩個獨立的 8 通道輸入模式,也可以通過配置 AdcRegs.ADCTRL1.bit.SEQ_CASC=1,將其設(shè)置為一個 16 通道的級聯(lián)輸入模式。輸入的方式可以通過配置AdcRegs.ADCTRL1.bit.ACQ_PS=1,將其設(shè)置為順序采集。即從低通道開始到高通道結(jié)束。
時鐘
TMS320F28335 上有一個基于 PLL 電路的片上時鐘模塊,為 CPU 及外設(shè)提供時鐘有兩種方式:一種是用外部的時鐘源,將其連接到 X1 引腳上或者 XCLKIN 引腳上,X2 接地;另一種是使用振蕩器產(chǎn)生時鐘,用 30MHz 的晶體和兩個 20PF 的電容組成的電路分別連接到 X1 和 X2 引腳上,XCLKIN 引腳接地。我們常用第二種來產(chǎn)生時鐘。此時鐘將通過一個內(nèi)部 PLL 鎖相環(huán)電路,進(jìn)行倍頻。由于 F28335 的最大工作頻率是 150M,所以倍頻值最大是 5。其中倍頻值由 PLLCR 的低四位和 PLLSTS 的第 7、8 位來決定。
外部中斷
支持8 個被屏蔽的外部中斷 (XINT1–XINT7, XNMI)。 XNMI 可被連接至 INT13 或者 CPU 的 NMI 中斷。這些中斷中的每一個可被選擇用于負(fù)邊沿、正邊沿或者正負(fù)邊沿觸發(fā),并且可被啟用或禁用(包括XNMI 在內(nèi))。 XINT1, XINT2,和 XNMI 還包含一個 16 位自由運行的上數(shù)計數(shù)器,當(dāng)檢測到一個有效的中斷邊沿時,該計數(shù)器復(fù)位為 0。 這個計數(shù)器可被用于為中斷精確計時。 與 281x 器件不同,沒有用于外部中斷的專用引腳。 XINT1,XINT2 和 XINT 中斷可接受來自 GPIO0-GPIO31 引腳的輸入。 XINT3–XINT7 中斷可接受來自 GPIO32-GPIO63 引腳的輸入。
電機(jī)相關(guān)應(yīng)用領(lǐng)域
電機(jī)控制:AC 感應(yīng)
電機(jī)控制:低電壓
電機(jī)控制:步進(jìn)電機(jī)
電機(jī)控制:永久磁性
電機(jī)控制:高電壓
工程師開發(fā)過程中常見問題總結(jié)
1.SPI驅(qū)動TLE7241E出現(xiàn)返回值不對的問題。主要是由于時序的不對,導(dǎo)致TLE7241E輸入采樣時數(shù)據(jù)還沒有建立,所以TLE7241E收到的命令不正確,所以返回值不正確。
2.SPI驅(qū)動EEPROM時,如果用金屬物觸到clock pin時,能正確運行,否則不能正確運行。出現(xiàn)次問題也是由于時序的問題,金屬物觸到clock導(dǎo)致clock出現(xiàn)微小幅度的偏移,導(dǎo)致正好和 eeprom的時序?qū)ι?,而不用金屬物觸碰時時序不正常,當(dāng)使dsp MOSIpin數(shù)據(jù)發(fā)送提前半個周期后,eeprom工作正常。
3.示波器有時會導(dǎo)致顯示的波形被消尖,所以用示波器測量時周期不能太大。
TMS320F28335部分模塊使用經(jīng)驗
1.TMS320F28335+總線:
硬件連接情況(28335+cpld+ad7606):Cpld負(fù)責(zé)對地址譯碼,16位數(shù)據(jù)線接并口AD7606的D0~D15,再用幾個GPIO分別接ad7606的busy、reset、CONVST.
軟件思想:timer0控制采樣速率,busy配置為外部中斷輸入腳,轉(zhuǎn)換完成即可觸發(fā)中斷,在外部中斷函數(shù)里把轉(zhuǎn)換結(jié)果讀取。
遇到問題:數(shù)據(jù)線上只有D0~D7有數(shù)據(jù)變換,D8~D15全為0。
問題分析:D8~D15和地短路了,busy時間太短、不能觸發(fā)中斷,ad配置為了8位模式,等等…
解決問題:把問題一個個排除,最后原因是數(shù)據(jù)線D8~D15在cpld連接部分未定義。
2.TMS320F28335+SCI模塊:
硬件連接:F28335有三個串口,SCIA、SCIB、SCIC,這里用SCIC+232芯片接口即可與 PC機(jī)通信。
功能驗證:使用串口調(diào)試助手發(fā)送數(shù)據(jù),28335收到數(shù)據(jù)后再發(fā)給PC
軟件設(shè)計:使用FIFO、查詢方式發(fā)送和接收數(shù)據(jù)、配置好相應(yīng)的寄存器就可以使用了,主要代碼分享如下。
for()
{
while(ScicRegs.SCIFFRX.bit.RXFFST == 0); { }
data = ScicRegs.SCIRXBUF.all;
ScicRegs.SCITXBUF= data;
while(ScicRegs.SCIFFTX.bit.TXFFST != 0);
}
void scic_init() //初始化
{
ScicRegs.SCICCR.all =0x0007;
ScicRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
ScicRegs.SCICTL2.all =0x0;
#if (CPU_FRQ_150MHZ)
ScicRegs.SCIHBAUD =0x0001; // 9600 baud @LSPCLK = 37.5MHz.
ScicRegs.SCILBAUD =0x00E7;
#endif
#if (CPU_FRQ_100MHZ)
ScicRegs.SCIHBAUD =0x0001; // 9600 baud @LSPCLK = 20MHz.
ScicRegs.SCILBAUD =0x0044;
#endif
ScicRegs.SCIFFTX.bit.TXFIFOXRESET=0;
ScicRegs.SCIFFRX.bit.RXFIFORESET=0;
ScicRegs.SCIFFTX.all=0xE040;
ScicRegs.SCIFFRX.all=0x2040;
ScicRegs.SCIFFCT.all=0x0;
ScicRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset
}
3.TMS320F28335+I2C模塊:
注意一下兩點
(1)、從機(jī)地址:
由于28335的I2C模塊會自動添加R/W位,應(yīng)將從機(jī)地址右移一位。如:選用模塊7位地址模式時,若使用的I2C芯片從機(jī)地址為0xD0,則設(shè)置時應(yīng)置從機(jī)地址為0x68。
(2)、子地址:
I2C器件的子地址有的是8位、有的是16位,16位的發(fā)送子地址的時候要發(fā)送2次、分別發(fā)高8位和低8位,因為28335的I2C模塊數(shù)據(jù)發(fā)送寄存器是8位的。
4.TMS320F28335+SPI模塊:
(1)、主設(shè)備配置SPI模塊的時鐘模式時要根據(jù)從設(shè)備的時鐘要求,要搞清楚從設(shè)備發(fā)送和接收數(shù)據(jù)是在時鐘的上升沿還是下降沿。時鐘配置正確后,數(shù)據(jù)才能被準(zhǔn)確的發(fā)送和接收。
(2)、主設(shè)備讀取數(shù)據(jù)時必須先發(fā)送一個無意義的數(shù)以啟動時鐘。
典型設(shè)計案例
1.高速數(shù)據(jù)采集電路設(shè)計
針對超聲波流量計中高速數(shù)據(jù)采集的需求,采用32位浮點實時MCU 芯片 TMS320F28335和高速A/D轉(zhuǎn)換器ADS805E設(shè)計了一種12位分辨率,20MSPS的高速數(shù)據(jù)采集電路。數(shù)據(jù)接口通過外部擴(kuò)展接口 Xintf擴(kuò)展,使用DMA高速讀取轉(zhuǎn)換后的數(shù)據(jù),控制接口通過GPIO口實現(xiàn)。文中給出了硬、軟件設(shè)計及測試結(jié)果,該接口電路具有高性能,接口簡單,低成本等特點,已經(jīng)在研制的超聲波流量計中應(yīng)用。
2.三相SPWM波在TMS320F28335中的實現(xiàn)
載波相移正弦脈寬調(diào)制(SPWM)技術(shù)是一種適用于大功率電力開關(guān)變換裝置的高性能開關(guān)調(diào)制策略,在有源電力濾波器中有良好的應(yīng)用前景。本文介紹了如何利用高性能數(shù)字信號處理器TMS320F28335的片內(nèi)外設(shè)事件管理器(EV)模塊產(chǎn)生三相SPWM波,給出了程序流程圖及關(guān)鍵程序源碼。該方法采用不對稱規(guī)則采樣算法,參數(shù)計算主要采用查表法,計算量小,實時性高。在工程實踐中表明,該方法既能滿足控制精度要求,又能滿足實時性要求,可以很好地控制逆變電源的輸出。
3.PMSM伺服系統(tǒng)的設(shè)計
交流永磁同步電機(jī)(PMSM)伺服系統(tǒng)已廣泛應(yīng)用于在工業(yè)領(lǐng)域。為了提高系統(tǒng)的控制性能,設(shè)計了以數(shù)字信號控制器TMS320F28335為控制核心,主電路為AC/DC/AC拓?fù)浣Y(jié)構(gòu),采用矢量控制策略的高性能PMSM伺服系統(tǒng),并將所構(gòu)成的系統(tǒng)與基于TMS320F2812的系統(tǒng)進(jìn)行了比較。相關(guān)實驗證明,該系統(tǒng)具有更好的響應(yīng)速度和控制精度。
評論