Professional Documents
Culture Documents
電機
TU
0621307
翁祥瑀
Clh 、 1 LED 驅動
kli DSP 架構
RDSP
3.3 V LED
wr.TN
⼀ 此
ā 毖點 䯁
3 3V
.
→ 提供 給 DSP Ilo 使⽤
1 8V
.
→ 提供 給 DSP 核⼼ 處理器 使⽤
1 -2 i Include Options
(3) 將資料匯入,其路徑如下:
C:\ti\controlSUITE\device_support\f2833x\v140\DSP2833x_common\include
{ C:\ti\controlSUITE\device_support\f2833x\v140\DSP2833x_headers\include
Pl
1 3 i LED 閃 火樂 ( 利⽤ Delay.MS 實現 )
-
開始
初始 時脈
IN
設定
LED ON
Delay 0.5s
LED OFF
Delay 0.5s
Delay 0.5秒程式:
int DelayLoop=0;
for( DelayLoop=0 ; DelayLoop<500 ; DelayLoop++ )
DELAY_US(1000);
Delay 0 m秒 ( 即 Delaylnn )
1 00 秒
PZ
時脈、I/O初始化及設定
⽅法 1
|
⽅法 2 1
⽅法 3
|
LED閃爍0.5秒程式
P3
1 -4 i LED 閃 以樂 ( 利⽤ Timer 實現 )
(主 程式 ) ( 中斷 程式 )
開始 中斷開始
,
0寺 脈
初始 IIO I/O Toggle
中斷
觸發 歭 問
設定 中斷結束
等待
2
1 等待 = > 利⽤while迴圈實現
當時間還未到達觸發時間時,程式將在while迴圈循環。
2 中斷程式
當時間到達觸發時間時,將從主程式將進入中斷程式,
中斷程式執⾏完畢後,便回到while迴圈繼續等待下⼀
個觸發時間到達。
Toggle程式:
GpioDataRegs.GPATOGGLE.bit.GPIO1=1;
TOGGLETOGGLE
TOGGLE -1 表⽰ 啟⽤
功能 : 在 0 跟 11 之間 做 切換
P4
3
1
2
CPU Timers
1 SYSCLKOUT
系統的振盪頻率為150MHz,經由SYSCLKOUT送入
( ⽯英 振盪 器 )
設定TCR
動作流程:
TDDRH:TDDR的值會送入PSCH:PSC,PRDH:PRD的值會送入TIMH:TIM
PSCH:PSC計數⼀到會送出⼀個pulse給TIMH:TIM
TIMH:TIM計數⼀到會送出⼀個pulse給TINT(中斷)
設定TDDRH:TDDR及PRDH:PRD的值
ps
圖片來源:TMS320x2833x, 2823x System Control and Interrupts P124
6 7
36
3a
由上⽅的表格得知,若要啟⽤Timer功能來觸發中斷就必須將INTx.7以及
INT1.y的開關閉合
由上⽅的圖片得知,若要啟⽤Timer功能來觸發中斷還需要將INTM的開關
閉合。且觸發中斷完畢後還必須利⽤PIEACK清除中斷,避免觸發時間還沒
到達就再次觸發中斷。
• * ☆ 以上代號可搭配P7的架構圖及程式做對應
P6
圖片來源:TMS320x2833x, 2823x System Control and Interrupts P122
i
6
寫在中斷程式裡⾯:
36
P7
養成良好的寫程式習慣:
中斷寫在主程式的上⽅
函式寫在主程式的下⽅
中斷程式
·
朝
主程式
P8
1 -5 i
, 霹靂 燈
(主 程式 ) ( 中斷 程式 )
開始 中斷開始
,
0寺 脈
初始 IIO
中斷 LED左移 LED右移
觸發 歭 問
設定
中斷結束
等待
⼀
X X
X X
LED左移 LED右移
P9
變數宣告及定義新的型態
中斷程式
PIO
主程式
Pll
Ch .
2 PWM 控制
z -
1 : PWM 桂 組 架構
PWM模組可分為以下幾個⼦模組:
1.Time Base (TB)模組
2.Counter Compare (CC)模組
3.Actino Qualifire (AQ)模組
4.Dead Band (DB)模組
5.PWM-chopper (PC)模組
6.Trip-Zone (TZ)模組
7.Event Trigger and Interrupt (ET)模組
PIZ
22 i Time -
Base CTB ) 模組
1. 架構 及 動作 說明 :
•
aoee
i
圖片來源:TMS320x2833x, 2823x Enhanced Pulse Width Modulator (ePWM) Module P21
SYSCLKOUT為系統振盪頻率150MHz
P 13
2 . 計算 PWM 週期 和 頻率
上數模式
下數模式
上下數模式
FTBELK
TBPRD =
FPWMTPWM
2 x
: 系統的切換週期[即系統切換頻率的倒數]
TTBCLKETBPRD
系統的振盪週期[即系統振盪頻率(150MHz)的倒數]
三⾓波的⾼度[即三⾓波的峰值]
:P 14
3. PWM 模組 設定
1
TBCLKSYNC的作⽤為同步所有已啟⽤的PWM模組
中的Time-Base Clock(TBCLK)。
在設定PWM模組的過程中,必須遵循以下的步驟:
PWM模組設定步驟:
1.將TBCLK設為0
2.對PWM模組進⾏設定
3.將TBCLK設為1
Pls
23 : Counter Compare Ccc ) 模組
架構 及 動作 說明 :
1 將TB模組產⽣的三⾓波送入TBCTR Bus
z 選擇要在[三⾓波的峰值]或是[三⾓波等於0]的位置將Shadow暫存器
的值更新⾄Active暫存器
Plb
2 -
4 : Action Qualifier IAQ) 模組
架構 及 動作 說明 :
P17
TTR
n.mil
1 1
CMPAECMPB
1 1 1 1
1 1 1 1
i i i i >
1 1 1 1
1 1 1 1
1 1 1 1
EPWMXA
>
1 1 1 ,
1 1 1 1
EPWMXB
1 1 i i
>
PWMA信號和PWMB信號的動作模式為互補
P 18
2 -5 i Dead Band CDB) 模組
架構 及 動作 說明 :
2 1
3
反向 → s2 → 1
PWMA > { 不反向
2
{ PWMB >
反向
{ 不反向
→ sz → o
→ 53 → 1
→ s3 → 0
各別啟⽤PWMA及PWMB > 54 → 0 ss → 1
{
.
3 只啟⽤PWMA s s4 → o ss → 0 .
只啟⽤PWMB > s4 → 1 ss → 1 .
P19
2 -
6 : 程式 實現
規格:
三⾓波峰值=7500[數位值]、切換頻率=10kHz
動作說明:
LED由暗慢慢變亮(重複循環)
-3,1
戲硬體接線圖:
本次實驗:
PWM的觸發腳位設定在GPIO-00及GPIO-01
杜邦線
減
☆
PZO
變數宣告
中斷程式
P2 1
主程式
pzz
PWM程式
P 23
觀察Duty的動作:
2.在程式上⽅選擇Expressions,點擊Continouos Refresh來觀察Duty的變化
Dvihlgl
P 24
Ch 3 、
ADC 控制
3 -
1 : ADC 桂 組 架構
3 3
2 將ADC轉換的結果儲存⾄Result Registers(結果暫存器)
3 ADC的觸發:
[ 1 1 S/W (軟體觸發)
cascade 榁 式 ( 串 列 模式 ) :
P2 6
Dual sequencers 榁 式 ( 雙 序列 模式 ) :
pz7
3 -
3 : ADC 功能 設定
1、 開啟 ADC 功能 :
P28
2 .
設定 ADC 頻率 :
ISOMHZ
3
4
注意:在設定任意暫存器之前,都必須將暫存器做初始化的動作!
P 29
3 .
設定 ADC 取樣 模式 及 觸發 腳 位 :
3 -
4 : ADC 轉換 原 王⾥
1. ADC 右 移 4 位元
Result Register為16位元,⽽28335的ADC模組為12位元。
在Cascade模式中,⼀般是從0x7108-0x7117位址讀取(peripheral frame 2),
也就是採⽤左對⿑的⽅式,故前4個位元是保留的,所以需要右移4個位元才能
得到實際值
ADCRESULTn(0x7108~0x7117)暫存器信息
P 30
2、 Q 格式
數位值與類比電壓的轉換
由上⽅數位值與類比電壓的轉換得知,數位值最⼤為4095
假設比較器命令的最⼤值為7500[數位值]
兩者之間的倍率轉換為7500/4095=1.83
Q格式步驟如下:
1.先將1.83放⼤2的任意次⽅,假設放⼤2^10 > 1.83*1024=1873
2.將欲轉換的值先乘上1873再除以1024便可得到1.83的倍率轉換
[注意:變數宣告必須要⽤long,不能⽤int!]
˙
·
靜
P3 1
3 -
5 : Event -
Trigger ( ET ) 模組
架構 及 動作 說明 :
P3 2
2
在Event-Trigger模組中,有SOCA以及SOCB兩組pulse,
本次實驗利⽤SOCB這組pluse來觸發ADC的功能。
1
2
P 33
3 -
6 : 程式 實現
規格:
三⾓波峰值=7500[數位值]、切換頻率=10kHz
動作說明:
利⽤可變電組(VR)控制PWM的命令值。PWM的命令值可以由0[數位值]
提升⾄7500[數位值]或由7500[數位值]降⾄0[數位值],
⽽ADC的命令值可以由0[數位值]提升⾄4095[數位值]或由4095[數位值]
降⾄0[數位值]
硬體接線圖:
本次實驗:
PWM的觸發腳位設定在GPIO-00及GPIO-01
ADC的觸發腳位設定在A3
可變電阻
逃
nt
杜邦線
杜邦線
P 34
變數宣告
中斷程式
P3 5
主程式
P3 6
PWM程式
P 37
觀察Duty及ADCDuty的動作:
1.將可變電阻(VR)之阻值調整⾄最⼩
不 等於 0
Duty及ADCDuty的值會非常⼩ 羅 比 轉 數位 的 話 差
2.將可變電阻(VR)之阻值調整⾄最⼤
P 38