TBPRD寄存器只有16位 但是有影子寄存器的功能,概念不是很理解
他的PWM分三部分,看樣子跟後2者無關
HRPWM 高分辨率脈寬調製,通過增加比較器的位數提高分辨率。用在系統時鐘高於100MHz而要求PWM分辨率高的場合
CAP 貌似用於接收反饋信號的 Dedicated input Capture pin
QEP 正交編碼脈衝(Quadrature Encoded Pulses,QEP)兩個週期爲T的波形s1(t),s2(t)在一個週期內積分爲零,則他們是正交的,如果是離散域,則對他們採樣值的累加和爲零即s1(m)*s2(m)的累加和爲零。Input Synchronization,同步輸入
這麼說,只能有16位的基時間來控制週期了
這麼一說是支持100MHz的
每個PWM有7個子模塊
更多的看15-8
主要的有:
PWM output signals (EPWMxA and EPWMxB).怎麼說,就一普通PWM?
Trip-zone signals (TZ1 to TZn).
Time-base synchronization input (EPWMxSYNCI) and output (EPWMxSYNCO) signals.
Peripheral Bus.32位的外圍總線,允許16和32位的PWM寄存器寫入
每個PWM外圍都有7個子模塊。比如有包含一個高分辨率的子模塊,允許更精確的控制的PWM輸出。其中每個子模塊執行特定的任務,可以通過軟件配置。
表15-10列出八個關鍵子模塊的主要配置參數。例如,如果你需要調整或控制PWM波形的佔空比,那麼你應該查看“比較計數器”(counter-compare)子模塊相關細節15.2.2.4
初始化PWM的操作
每個PWM都有TimeBase子模塊
TB子模塊的作用
•指定ePWM時基計數器(TBCNT)頻率或時間來控制事件發生頻率。
•管理時基同步與其他ePWM模塊。
•保持相位關係與其他ePWM模塊。
•設置時基計數器計數了,倒計時,或計數上下模式。
•生成以下事件:
——CTR = PRD:時基計數器等於指定的時期(TBCNT = TBPRD)。
——CTR = 0:時基計數器等於零(TBCNT = 0000 h)。
•配置率的時基時鐘;prescaled版本的CPU系統時鐘 (SYSCLKOUT)。這允許時基計數器遞增/遞減以較慢的速度。
TB的寄存器:
TBCTL
TBSTS
TBPHSHR
TBPHS
TBCNT
TBPRD
計算PWM的週期
設置控制PWM頻率需要(TBPRD)寄存器和TB計時器模式。圖15-11顯示當週期設置爲4 (TBPRD = 4)週期(Tpwm)和頻率(Fpwm)的關係,增量計數,減量計數,和增減量計數TB計數器模式。時基時鐘(TBCLK)定義了每個步驟的時間增量,它是prescaled版本的系統時鐘(SYSCLKOUT)。
TB週期影子寄存器
搞清楚一開始的問題了
Shadowing allows the register update to be synchronized with the hardware. The following definitions are used to describe all shadow registers in the ePWM module
影子寄存器允許寄存器同步更新的硬件。下面的定義是用來描述所有影子寄存器在ePWM模塊
活動寄存器:活動寄存器用來操作硬件和負責硬件的表示或調用.
影子寄存器:影子寄存器緩衝或者爲活動寄存器提供一個臨時保存位置. 他對硬件沒有直接影響. 他存在的意義就是及時的傳遞內容到活動寄存器. 用來預防由於使用軟件異步操作寄存器而操作不成功.
影子週期寄存器的內存地址跟活動寄存器一樣。影子週期寄存器是寫入還是讀取取決於TBCTL[PRDLD]。這一位TBPRD啓用和禁用影子寄存器如下:
•TB的影子模式:TBPRD影子寄存器時啓用TBCTL[PRDLD]=0。讀取和寫入內存地址TBPRD會到影子寄存器去。當時基計數器等於零(TBCNT = 0000 h),影子寄存器內容轉移到活動寄存器(TBPRD(活動)←TBPRD(影子)) 。默認情況下是啓用TBPRD影子寄存器。
•TB的直接負載模式:如果直接負載模式被選中(TBCTL[PRDLD]= 1), 然後一個讀取或寫入TBPRD內存地址直接進入活躍的寄存器。
高精度的子模塊設置後的特徵表格
子模塊比較計數器的作用
這個比較計數器子模塊需要輸入時基計數器的值。這個值是連續不斷地和比較計數器A(CMPA)和比較計數器B(CMPB)寄存器的值做比較。當時基計數器值等於其中比較寄存器的值,比較計數器模塊生成一個適當的事件。
這個比較計數器子模塊:
•使用CMPA和CMPB寄存器生成事件基於可編程時間戳
——CTR = CMPA:時基計數器等於計數器比較寄存器(TBCNT =CMPA)。
——CTR = CMPB:時基計數器等於計數器比較基址寄存器(TBCNT = CMPB)
•如果合適的設置了AQ子模塊可用於控制PWM佔空比
•陰影新比較值來防止腐敗或故障在活躍的PWM週期
特別強調關於比較計數器子模塊
這個比較計數器子模塊負責生成兩個獨立比較事件基於兩個比較寄存器:
1。CTR = CMPA:時基計數器等於計數器比較寄存器(TBCNT =CMPA)。
2。CTR = CMPB:時基計數器等於計數器比較基址寄存器(TBCNT = CMPB)。
對於增量計數模式和遞減技術模式,每週期每個事件只發生一次。對於上下計數模式如果比較值在0000 h和TBPRD之間,每兩個週期每個事件發生一次。如果比較值等於0000 h或等於TBPRD,則發生一次週期。這些事件被送入AQ子模塊,他們有資格的子模塊櫃檯方向和轉化爲行動啓用。參考15.2.2.5.1for toSection更多細節。
在啓動CMPA寄存器後的值不斷與時基計數器(TBCNT)比較。當值相等時,比較計數器模塊生成一個“時基計數器等於比較計數器A”事件。這個事件被髮送到AQ,它轉換事件生成一個或多個動作。這些操作可以應用於要麼EPWMxA或EPWMxB輸出根據配置的AQCTLA和AQCTLB寄存器。
在AQCTLA和AQCTLB寄存器可以定義的操作包括:
• 什麼都不做; 事件被無視.
• 清除: 把EPWMxA和/或 EPWMxB 信號拉低
• 設置: 把 EPWMxA 和/或 EPWMxB 信號拉高
• 觸發 EPWMxA 和/或 EPWMxB 信號