tech-sjh

2012年1月6日 星期五

TI OMAP DM3730 PWM 控制

DM3730 TRM 的第 16.2.4.6 章節,參考 Figure 16-12 跟 16-13

1. GPTi.TCLR[7] 的 SCPWM 是 Set or Clear PWM,指 PWM 預設 high(Set) or low(Clear)

2. 先設定 GPTi.TLDR 暫存器給定
(0xFFFF FFFF - GPTi.TLDR[31:0] LOAD_VALUE + 1) overflow 觸發的頻率
3. 設定 GPTi.TMAR match 暫存器給定 match 觸發的頻率

overflow 跟 match 的 pulse 頻率設完之後

4. GPTi.TCLR[11:10] 的 TRG 控制 PWM 哪時候要變換 high/low
  TRG == 0x01 是只看 overflow
  TRG == 0x02 是看 overflow 跟 match 的 pulse

5. GPTi.TCLR[12] PT 位元設定 PWM 依 TRG 變換之後是一個 pulse 或維持新準位(high/low)
直到下一次依 TRG 設定的變換

實際的驅動程式範例可以參考:https://github.com/scottellis/omap3-pwm
裡面用到 TI Linux BSP 的 arch/arm/plat-omap/include/plat/dmtimer.h 介面,可以省去
看 datasheet 查暫存器定義的時間

沒有留言:

張貼留言

版權宣告、免責聲明


姓名標示、非商業性、相同方式分享3.0台灣授權條款授權。
免責聲明: 本文所載資料僅供參考,並不構成投資建議,
讀者閱讀或使用該資料所導致結果需要自擔風險與責任,
作者概不承擔閱讀人行為之任何風險與責任。
除非有特別宣稱,作者言論並不代表所屬任何團體、公司、或其他人意見。