會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
型號:PIC32MM0016GPL020

我看宣告檔 p32mm0016gpl020.h 裡面有宣告 CCP1∼CCP3 三組輸出比較模組,每一個模組搭配一個 CCPxTMR 與 CCPxPR,長度都為 32 位元,CCPxPR 是設定週期,CCPxTMR 為 Timer 計數值,由 T32 這個位元來切換兩者為 32 位元或 16 位元,所以一旦某個 Timer 設為 16 位元長度時,將只使用低 16 位元,而高 16 位元沒用了,請問這樣理解是否正確?

還有我發現若設定為 Dual Edge Buffered Compare (PWM) Mode 時只有 16 位元長度,若我希望達成 32 位元 PWM 模式時,可以用那個模式來代替,謝謝。

2016/09/19 16:11
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13899
等級: 72; EXP: 11
HP : 1066 / 1777
MP : 4633 / 67513
離線
PIC32MM 我都是用 16-bit PWM Mode 或 Half Bridge with Dead-Time delay Mode.
32 bit 的計數太長了,PWM 的速度就快不起來。只能說有那個解析度但太慢了。
我有寫了兩個 MCCP & SCCP 的範例,都只使用 16-bit PWM。記得一個是用 Dual Edge,一個是用 Half Bridge Mode。

附加檔案:


zip Labs Backup.zip 大小: 204.03 KB; 下載次數: 38

2016/09/20 14:22
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
引用:

Ryang 寫道:
PIC32MM 我都是用 16-bit PWM Mode 或 Half Bridge with Dead-Time delay Mode.
32 bit 的計數太長了,PWM 的速度就快不起來。只能說有那個解析度但太慢了。
我有寫了兩個 MCCP & SCCP 的範例,都只使用 16-bit PWM。記得一個是用 Dual Edge,一個是用 Half Bridge Mode。

yang 大您好:
我下載解壓後得到這兩個專案:
PIC32MM Lab1_LED Blanking.X
PIC32MM Lab2_LCD Display.X
不過這個好像已經 PO 上來過了,而且我打開專案發現用 MCC 設定的周邊只有 Timer 而沒有 MCCP 或 SCCP 模組,能否再 Check 一下。

我看 MCCP 的 SPEC 中在以下章節說明 PWM 模式只能提供 16 位元長度。
30.7.3 Dual Edge Buffered Compare (PWM) Mode
如果我想用 32 位元長度來輸出極低的頻率,看來只能用其他模式來模擬 PWM。

還有在 30.5.2.1 章節介紹可重複觸發模式,每一個觸發信號都會令正在計數中的 Timer 歸零重新計數,似乎可以用來產生一個延遲脈波,這樣就像單穩態,不知道這種模式是會自動去輸出 I/O 還是要透過中斷?

2016/09/20 15:35

PSIR 於 2016年09月20日 15:56:00
PSIR 於 2016年09月20日 15:59:48
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13899
等級: 72; EXP: 11
HP : 1066 / 1777
MP : 4633 / 67513
離線
抱歉搞飛機了,原檔案不小心壓成 rar 所以傳錯了,用 zip 重壓一次。

如果要慢一點的 PWM 可以用其它的來源,不一定要用 PBCLK。

附加檔案:


zip Labs Backup.zip 大小: 663.05 KB; 下載次數: 41

2016/09/20 16:47
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
謝謝 yang 大提供的範例:

我參考 PIC32MM Lab5_SCCP2 PWM .X 裡面的 MCCP 模組設定,
總週期 CCP2PR = 0x1000;
Duty Cycle 原本是 CCP2RB = 0x100;
我改成 CCP2RB = CCP2PR / 2;
這樣就為 50% 工作週期。

用示波器量測的總週期為 2720ms(367Hz),1/2 即為各 1360ms。
不過我一開始是將 SCCP2 的輸出腳 OCM2 指定到 RA3,
但沒有輸出 PWM,換指定到 RB4 之後就有輸出了,
發現 MM 系列的 PPS 彈性比較高,
幾乎所有接腳都可以指定為哪個周邊輸出入腳。

2016/09/21 17:42
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
紅色框 RA3(PIN8) 已經可以輸出 PWM 波形了,
可能是變更 MCC 設定後忘了去按 Generate 更新 Pin Module 的程式碼,
藍色打勾的 I/O 都測試過可以輸出 OCM2 的 PWM 波形。

附加檔案:



jpg  RA3_OCM2.JPG (51.24 KB)
2310_57e33b47489eb.jpg 564X398 px

2016/09/22 10:05
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13899
等級: 72; EXP: 11
HP : 1066 / 1777
MP : 4633 / 67513
離線
只要腳位賞有標示 RBxx 的腳位就是 PPS 可以選用的腳位。PIC32MM 大部分的周邊都可以使用 PPS 來規劃輸出、入腳位。但要注意的是有些周邊的腳位是固定的無法使用 PPS 來規劃的。這些腳位的規劃在 MCC 的 Pin Manager Gird 的視窗很容易看出來。

2016/09/22 11:14
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
請教以下 2 個問題:

(1)MM 系列的輸出比較模組的 Timer(CCPxTMR),好像沒有控制暫存器,從紅框選定 Clock Source 之後就不斷的計數,沒有 ON 位元可以啟動或停止 CCPxTMR。

那在 Timer Mode 時如果想配合外部中斷量測脈波寬度,由於無法停止 Timer,不會有問題嗎?

(2)範例 PIC32MM Lab5_SCCP2 PWM .X 是使用此模式:
Dual Edge Buffered Compare (PWM) Mode

此模式的 Timer 為 16-bit,使用 CCPxTMR<15:0> 低 16 位元,
那 CCPxTMR<31:16> 高 16 位元是否就閒置而無法使用?

謝謝。

附加檔案:



jpg  CCPxTMR.JPG (40.54 KB)
2310_57e499e7b8d8e.jpg 517X354 px

2016/09/23 11:06

PSIR 於 2016年09月23日 11:34:14
PSIR 於 2016年09月23日 11:41:27
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13899
等級: 72; EXP: 11
HP : 1066 / 1777
MP : 4633 / 67513
離線
1. 如果要測量輸入脈波的寬度,我會建議使用 Timer1 的 Gate Time 功能,簡單又好用。

2. Dual Edge Compare PWM Mode 只有 16-bit 的解析度。
如貼圖所示。

有關更詳細的 MCCP/SCCP 的使用建議要看一下 PIC32 Family Reference manual 裡面所寫的資料,看 Data Sheet 是看不到詳細的說明的。

http://www.microchip.com.tw/Data_CD/R ... ference%20Manual/List.htm

Section 30. Capture/Compare/PWM/Timer (MCCP and SCCP)

附加檔案:



jpg  擷取.JPG (79.29 KB)
16_57e4b1053c2d6.jpg 742X332 px

2016/09/23 12:35
轉換PDF檔 列印


Re: 請問 PIC32MM 的 MCCP 模組 Timer 配置
資深會員
註冊日期:
2006/04/17 11:12
所屬群組:
註冊會員
文章: 593
等級: 22; EXP: 32
HP : 0 / 533
MP : 197 / 17187
離線
最近使用研討會送的 PIC32MM 的 MCC 範例,發現其實 MM 的 3 個模組:MCCP1、SCCP2、SCCP3 各配置一個 32 位元 Timer,可以切換為 2 個 16 位元 Timer,再加上獨立的 Timer1,總共有 7 個 16 位元 Timer,剛開始看到 MM 的 SPEC 介紹時很高興有這麼多 Timer 可以用,但後來才發現那 3 個 CCP 模組的 Timer 在切成 16 位元時不能獨立使用,在計數時是用到低 16 位元,但高 16 位元也在同步計數,因為連接的是同一個時脈源。

所以 3 個 CCP 模組相當於有 3 個獨立的 PWM(In,Out) 通道,Timer 有 16 和 32 位元兩種模式,不用 PWM(In,Out) 的話就可以當作獨立 Timer 使用,這樣起碼比 MX 系列只能有 2 個獨立的 PWM 通道多一個,也算不錯了,如果 7 個 16 位元 Timer 都能獨立使用就更好了。

2016/11/30 10:05
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
線上教學影片
網頁捷徑
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088221 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project