DSP28335的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)_第1頁
DSP28335的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)_第2頁
DSP28335的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)_第3頁
DSP28335的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)_第4頁
DSP28335的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DSP28335 的調(diào)試總結(jié),這是一份總結(jié)很全面的資料,我在學(xué)習(xí) 開發(fā)板的一些總結(jié), 希望能得到同行的幫助, 愿與大家一起學(xué)習(xí) 和分享1 DSP 的 PWM 信號11 簡介DSP28335共12路16位的 ePWM,能進(jìn)行頻率和占空比控制。 ePWM 的時鐘 TBCLK =SYSCLKOUT /(HSPCLKDIV ×CLKDIV ):PWM 信號頻率由時基周期寄存器 TBPDR 和時基計數(shù)器的計數(shù)模式?jīng)Q定。 初始化程序采用的計數(shù)模式為遞增計數(shù)模式。 在遞增計數(shù)模式下, 時基計數(shù)器從 零開始增加,直到達(dá)到周期寄存器值( TBPDR )。然后時基計數(shù)器復(fù)位到零,再 次開始增加。PWM

2、信號周期與頻率的計算如下:1 2 端口對應(yīng)關(guān)系通道相應(yīng) PWM 的 A/B對應(yīng) JP0B 端口號1ePWMA92ePWM103ePWMA114ePWM125ePWMA136ePWM147ePWMA158ePWM169ePWMA1710ePWM1811ePWMA1912ePWM20說明: JP0B的端口號按“ Z”字形順序數(shù)13 初始化程序注釋void InitPwm1AB (float32 f)Uint16 T= 2343750/f-1.0;/ 系 統(tǒng) 時 鐘 SYSCLKOUT =150MHz TBCLK =6.6666667ns,在連續(xù)增計數(shù)模式下, f =150000000/( TBPD

3、R+1) EALLOW ;/ 先初始化通用輸入輸出口 / GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;GpioCtrlRegs.GPAMUX1 .bit .GPIO0 = 1; GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0;GpioCtrlRegs.GPAMUX1 .bit .GPIO1 = 1;EPwm1Regs.TBPHS.half.TBPHS = 0; / 在相位寄存器中設(shè)置計數(shù)器的起始計數(shù) 位置/ 下面兩條語句組合對 PWM 的時鐘進(jìn)行分頻 EPwm1Regs.TBCTL .bit.CLKDIV = 6; EPwm1Regs.TBCTL .

4、bit.HSPCLKDIV = 0; EPwm1Regs.TBPRD = T; /在周期寄存器中設(shè)置計數(shù)器的計數(shù)周期 / TBCTL 為定時器控制寄存器EPwm1Regs.TBCTL .bit.CTRMODE = TB_COUNT_UP; / 設(shè)置計數(shù)模式位為連續(xù) 增計數(shù)模式,產(chǎn)生對稱方波EPwm1Regs.TBCTL .bit.PHSEN = TB_DISABLE ; / 將定時器相位使能位關(guān)閉EPwm1Regs.TBCTL .bit.PRDLD = TB _SHADOW ;/ 映射寄存器 SHADOW 使能并 配置映射寄存器為自動讀寫EPwm1Regs.TBCTL .bit.SYNCOSE

5、L = TB_CTR_ZERO; / 定時器時鐘源選擇, 一 共有四種時鐘源EPwm1Regs.CMPA.half.CMPA= 0.0001* T;/ 設(shè)置 EPWM1A 比較值寄存器的比 較值,即體現(xiàn) EPWM1A 的占空比EPwm1Regs.CMPB = 0.0001* T ;EPwm1Regs.CMPCTL .bit .SHDWAMODE = CC_SHADOW ;/ A 模塊比較模式EPwm1Regs.CMPCTL .bit .SHDWBMODE = CC_SHADOW ;/ B 模塊比較模式EPwm1Regs.CMPCTL .bit .LOADAMODE = CC_CTR_ZERO;

6、 / A模塊比較使能 , 通過寫 0 來清除 SHDWAMODE 位來使能 load on CTR=ZeroEPwm1Regs.CMPCTL .bit .LOADBMODE = CC_CTR_ZERO; / B 模塊比較使能, 通過寫 0 來清除 SHDWBMODE 位來使能 load on CTR =Zero / AQCTLA 為輸出 A 比較方式控制寄存器EPwm1Regs.AQCTLA .bit.ZRO = AQ_SET; / TBCTR (計數(shù)器)計到零時使輸出 為反向EPwm1Regs.AQCTLA .bit.CAU = AQ_CLEAR ;/ TBCTR(計數(shù)器)與 CMPA 在

7、up 計數(shù)時相等使輸出為 high,這關(guān)系的輸出的占空比EPwm1Regs.AQCTLB .bit.ZRO = AQ_SET;EPwm1Regs.AQCTLB .bit.CBU = AQ_CLEAR ;EDIS;2 DSP 的 CAN 通信21CAN2 .0B 協(xié)議簡述TMS320F28335上有2個增強(qiáng)型 CAN總線控制器,符合CAN2. 0B協(xié)議,其 總線波特率可達(dá)到 1Mbps。符合 CAN2. 0B協(xié)議的數(shù)據(jù)幀為擴(kuò)展數(shù)據(jù)幀, 即采用 29位標(biāo)識符。數(shù)據(jù)幀的 數(shù)據(jù)域最多可含 8 個字節(jié),則 DSP28335的數(shù)據(jù)幀位數(shù)為 64128 位。CAN 協(xié)議規(guī)定采用幀的形式進(jìn)行通信,有 4 種不

8、同類型的幀: 數(shù)據(jù)幀:攜帶數(shù)據(jù)從一個發(fā)送節(jié)點(diǎn)到一個接收節(jié)點(diǎn); 遠(yuǎn)程幀: 它被一個節(jié)點(diǎn)發(fā)送出去用以請求發(fā)送具有相同標(biāo)識符的數(shù)據(jù)幀, 通過發(fā)送遠(yuǎn)程幀,一個節(jié)點(diǎn)需要的數(shù)據(jù)可以通過請求另一個節(jié)點(diǎn)發(fā)送相 應(yīng)的數(shù)據(jù)幀來獲得,數(shù)據(jù)幀和相應(yīng)的遠(yuǎn)程幀使用相同標(biāo)識符; 錯誤幀:在總線錯誤檢測時由任意節(jié)點(diǎn)發(fā)送的幀; 超載幀:在前后兩個數(shù)據(jù)幀或遠(yuǎn)程幀之間提供一個額外的延遲。通信報文的優(yōu)先級由標(biāo)識符決定,標(biāo)識符數(shù)值越小,優(yōu)先級越高。最高優(yōu)先 級的報文在總線仲裁的過程中獲得總線的訪問權(quán), 低優(yōu)先級報文在下一個總線空 閑自動重發(fā)。CAN2. 0B協(xié)議的數(shù)據(jù)幀格式如下圖所示:對于CAN2. 0B協(xié)議的消息,其標(biāo)識符擴(kuò)展位 I

9、DE(MSGID 31)必須置 1, 由此可知給 DSP的郵箱初始化標(biāo)識符 ID 時,其 16 進(jìn)制賦值的最高位至少應(yīng)當(dāng) 為 8.在不同的系統(tǒng)中, CAN 總線的波特率可以不同,其可適應(yīng)的信息傳輸距離也不同;但在同一個系統(tǒng)中,其總線波特率必須一致,所以 DSP28335 在初始化 波特率時, A 路和 B 路應(yīng)當(dāng)同時進(jìn)行一致的初始化。22CAN 總線電平高速 CAN 與低速 CAN 在總線電平上有區(qū)別,如下圖所示:高速 CAN 與低速 CAN 的高速低速之分在于支持的總線波特率不一樣。 實(shí)驗(yàn) 用的開發(fā)板上的收發(fā)器 PCA82C250第8腳接地,故為高速 CAN 模式。高速CAN 為提高通信的抗

10、干擾性和可靠性,應(yīng)進(jìn)行光耦隔離。開發(fā)板的 CAN 接口部分電路如下圖所示:23CAN 總線上的 120 歐電阻CAN 總線終端以及各個節(jié)點(diǎn)終端通常均有 120 歐電阻,其作用在于匹配總 線阻抗,提高數(shù)據(jù)通信的抗干擾性及可靠行,有效地增強(qiáng)信號強(qiáng)度。高頻信號傳輸時,信號波長相對傳輸線較短,信號在傳輸線終端會形成反射 波,干擾原信號,所以需要在傳輸線末端加終端電阻,根據(jù)傳輸線理論,終端電 阻可以吸收網(wǎng)絡(luò)上的反射波, 使信號到達(dá)傳輸線末端后不反射。 兩個終端電阻并 聯(lián)后的值應(yīng)當(dāng)基本等于傳輸線在通信頻率上的特性阻抗。 終端電阻典型值為 120 歐姆.在網(wǎng)絡(luò)連接線非常短、臨時或?qū)嶒?yàn)室測試時也可以不使用終端

11、電阻。24DSP的CAN 時鐘模塊CAN 的時鐘頻率 CANCLOCK SYSCLKOUTBRP其中BRP=BRPreg+1 , BRPreg 為波特率預(yù)定標(biāo)寄存器,用于將系統(tǒng)時鐘分頻為 CAN 時鐘,1 BRP 256 。若采用 3 次采樣模式,必須滿足 BRP 5。CAN 總線上的時間周期長度由 TSEG1、 TSEG2以及 BRP決定:TSEG1=TSEG1reg+1 , 1 TSEG1 16;TSEG2=TSEG2reg+1 ,1 TSEG2 8(注意 TSEG1必須大于或等于 TSEG2 );波特率 Baud rate=SYSCLKOUTBRT (TSEG1+TSEG2+1) 25

12、郵箱初始化例程注解void InitMboxA0 ( Uint32 MID, Uint16 DTL , Uint16 TR)struct ECAN _REGS ECanaShadow;EALLOW ;ECanaShadow. CANTIOC . all = ECanaRegs. CANTIOC . all;ECanaShadow. CANTIOC . bit. TXFUNC = 1;ECanaRegs. CANTIOC .all = ECanaShadow. CANTIOC .all;ECanaShadow. CANRIOC . all = ECanaRegs. CANRIOC . all;E

13、CanaShadow. CANRIOC . bit. RXFUNC = 1;ECanaRegs. CANRIOC . all = ECanaShadow. CANRIOC . all;ECanaShadow. CANMC .all = ECanaRegs. CANMC . all;ECanaShadow. CANMC . bit. SCB = 1; / 選擇 eCAN 模式,將 32個郵箱寄 存器全部使用起來ECanaRegs. CANMC . all = ECanaShadow. CANMC . all;ECanaMboxes. MBOX0 . MSGCTRL . all = 0x00000

14、000;/ 此語句含郵箱號, 可以修改/ 以下狀態(tài)或標(biāo)志寄存器通過寫 1 清零/ECanaRegs. CANTA . all = 0xFFFFFFFF;ECanaRegs. CANRMP . all= 0xFFFFFFFF;ECanaRegs. CANGIF0 . all= 0xFFFFFFFF;ECanaRegs. CANGIF1 . all= 0xFFFFFFFF;/ 配置郵箱收發(fā)方向 /ECanaShadow. CANMD . all = ECanaRegs. CANMD .all;ECanaShadow. CANMD . bit. MD0 = TR;/ 此語句含郵箱號,可以修改ECan

15、aRegs. CANMD .all = ECanaShadow. CANMD .all;/ 配置標(biāo)識符 ID ,寫標(biāo)識符前必須關(guān)閉使能位 /ECanaShadow. CANME .all = ECanaRegs. CANME . all;ECanaRegs. CANME . bit. ME0= 0;/ 此語句含郵箱號,可以修改ECanaRegs. CANME . all = ECanaShadow. CANME .all;ECanaMboxes. MBOX0 . MSGID . all = MID; / 此語句含郵箱號,可以 修改/ 標(biāo)識符配置結(jié)束后使能相應(yīng)的郵箱 /ECanaShadow.

16、CANME .all = ECanaRegs. CANME . all;ECanaShadow. CANME .bit.ME0 = 1;/ 此語句含郵箱號,可以修改ECanaRegs. CANME .all = ECanaShadow. CANME . all;/ 設(shè)置數(shù)據(jù)長度的字節(jié)數(shù) /ECanaMboxes. MBOX0 . MSGCTRL . bit. DLC = DTL ;/ 此語句含郵箱號, 可以修改EDIS;26 消息發(fā)送和接收1、消息發(fā)送/ 往發(fā)送郵箱中寫數(shù)據(jù),分別寫低 32位 4字節(jié)和高 32位 4字節(jié)ECanaMboxes. MBOX0 . MDL . all = MDL;E

17、CanaMboxes. MBOX0 . MDH . all = MDH;/ 置位準(zhǔn)備發(fā)送,將發(fā)送請求位置位,使能郵箱發(fā)送功能ECanaShadow. CANTRS . all = 0;ECanaShadow. CANTRS . bit. TRS0 = 1;ECanaRegs. CANTRS . all = ECanaShadow. CANTRS. all;doECanaShadow. CANTA . all = ECanaRegs. CANTA . all; while ( ECanaShadow. CANTA . bit. TA0 = 0 ); / 當(dāng)郵箱的消息被成功發(fā) 送時,發(fā)送應(yīng)答位 T

18、A 將置 1ECanaShadow. CANTA . bit. TA0 = 1; / 寫 1 清零,準(zhǔn)備判別下一次發(fā)送與否 ECanaRegs. CANTA . all =ECanaShadow. CANTA . all;2、消息的接收 struct ECAN _REGS ECanaShadow; ECanaShadow. CANRMP . all = ECanaRegs. CANRMP . all ; do while( ECanaShadow. CANRMP . bit. RMP1 != 1 );/ 當(dāng)接收消息成功時,接 收待決位 RMP0 置位為 1ECanaShadow. CANRMP

19、 . bit. RMP1 = 1;/ 接收消息待決位通過寫 1清零 ECanaRegs. CANRMP . all=ECanaShadow. CANRMP . all;27CAN 的適配器存在的一些問題過濾器配置明顯不對但任然能接受數(shù)據(jù):波特率是 2 倍關(guān)系3 DSP 的 32 位浮點(diǎn)運(yùn)算測試TESTCOUNT1 對應(yīng)于正弦運(yùn)算的時鐘周期數(shù)TESTCOUNT2 對應(yīng)于加法運(yùn)算的時鐘周期數(shù)TESTCOUNT3 對應(yīng)于除法運(yùn)算的時鐘周期數(shù)1、單單次運(yùn)算:2、循環(huán) 10 次運(yùn)算:3、循環(huán) 100 次運(yùn)算:4、結(jié)果分析:按多次統(tǒng)計求平均的原則, DSP28335的 32 位浮點(diǎn)運(yùn)算時間為: 單次加法:

20、 20 個時鐘周期,約為 0.1333 s單次除法: 250 個時鐘周期,約為 1.6667 s單次正弦: 82 個時鐘周期,約為 0.5533 s5、補(bǔ)充說明:系統(tǒng)時鐘周期為 SYSCLKOUT 1/150 MHz 0.0067 s 6.7ns6、浮點(diǎn)運(yùn)算正弦值并畫圖4 DSP 定時器中斷41 DSP28335的定時器TMS320F28335一共有 3個 32位 CPU定時器,其中定時器 0可以被用戶使 用,定 時器 1 和 定時器 2 則 被保 留為 實(shí) 時操 作系 統(tǒng)使 用(這是文件 DSP2833x_CpuTimers. c中的說法,而手冊 2823x SystemControl an

21、d Interrupts ReferenceGuide中講 0 和 1 可用而 2 被保留。這一點(diǎn)如有必要需更多的測試) 。本程序中主要涉及的定時器寄存器有計數(shù)寄存器 TIM (32位,分高 16 位和 低 16 位)、周期寄存器 PRD(32 位,分高 16位和低 16 位)、定時器分頻寄存器 TDDR(16 位,分高 8位和低 8位)以及定時器控制寄存器 TCR。42 定時器分頻本程序定時器的分頻值為零,則進(jìn)行 1 分頻,定時器周期等于系統(tǒng)輸出時鐘 周期如下圖,分頻值 可以 在文 件 DSP2833x_CpuTimers. c 中 的函 數(shù) void InitCpuTimers(void)

22、 中去修改。43 計數(shù)器計數(shù)每過一個定時器時鐘周期,定時器計數(shù)器寄存器 TIM 減 1,當(dāng) TIM 遞減到 0 時,產(chǎn)生一個 CPU 中斷信號并將 PRD 的值重載到 TIM 中,TIM 繼續(xù)遞減計數(shù)。 詳參資料 2823x System Control and Interrupts Reference Guide第 62 頁,如 下圖:44 定時器時鐘周期定時器時鐘周期 (TDDRH:TDDR+1) 即對系統(tǒng)時鐘進(jìn)行分頻而得到。1SYSCLKOUT注:詳參任潤柏,周荔丹等 . TMS320F28x 源碼解讀,北京:電子工業(yè)出版 社, 2010,24 37.5 DSP 看門狗復(fù)位51 看門狗時鐘看門狗時鐘發(fā)生器 :WDCLK = CLKOUT /512,當(dāng) HALT 時停止6-bits 預(yù)定標(biāo) WDPS 選擇:將 WDCLK 再分頻后

溫馨提示

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

評論

0/150

提交評論