Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

尊敬的 AURIX 支持團隊:

我現在正在使用 TC234 AURIX 三核芯片上的 CCU6 模塊。

我在示例存儲庫中使用了 CCU6_PWM_捕獲。

下面的例子,我們將有一個 ISR 手柄,將檢測外部 PWM 信號的上升和下降邊緣。

我保留所有配置作為例子,只更改 CC6 模塊。 特別是,該示例使用模塊 _ CCU60 和 CCU60 通道,而我使用模塊 _ CCU61 和 CCU61 通道。 其他配置,如通道模式或中斷 1.source 我保持相同的例子。 但是,我的代碼在調用 ISR 句柄時同時檢測到上升和下降邊緣。

你知道問題在哪裡嗎?非常感謝你

最好的問候,

天裴

5 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,@ThienBui

當通道模式配置為雙重寄存器捕捉上升和下降時,當檢測到上升邊緣時,會填充寄存器 CC6xR,並在檢測到下降邊緣時填充陰影暫存器 CC6xSR。

示範中有兩個 ISR。 一個 ISR 在偵測到上升邊緣時觸發,計算 PWM 頻率以及上升和下降之間的時間(工作週期)。 這就是為什麼兩者都在此 ISR 中檢查檢測的原因。 第二個 ISR 用於計算符合週期值的計時器溢出,這用於計算的第一個 ISR。

這是 TC275 精簡版套件的演示中的參考文檔,以獲取更多詳細信息。

除了這種情況之外,你能讓我知道你需要什麼樣的要求從這個演示?

最好的問候,

埃里克

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

感謝您的回复。

我使用此 CapCom 功能的目的是我想檢測外部信號的上升邊緣和下降邊緣。 當 ISR 處理程序被呼叫時,我將啟動計時器(來自 GPT12 模組),以便我CAN測量上升沿和下一個下降沿之間的總時間。使用這個例子時,我的問題是當調用 ISR 處理程序時,兩個上升&下降標誌的中斷都被打開,這使得我的測量增加了一倍(比如說在 2 個上升邊緣或 2 個下降邊緣之間),這不符合該功能的期望。 我還檢查過定時器沒有問題。 我已經測試過只捕獲上升邊緣或只有下降邊緣,結果與以前一樣。

我希望您已經了解我目前使用 CCU6 模塊的情況。

我期待很快收到您的來信!

最好的問候,

天裴

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,@ThienBui

使用 GPT12 模塊是否有原因?

我建議您遵循類似的演示路徑,CCU6 模組有自己的計時器 (T12), CAN與捕獲模式一起運行並在演示中使用。定時器通過週期匹配觸發中斷並計算定時器 T12 的溢出來計算時序來使用。 您也可以嘗試在沒有模塊的情況下執行此操作,只有通過上升和下降觸發的硬件中斷,並按照您建議的方式設置 GPT12 計時器進行計數,並檢查兩種方法之間的差異。

最好的問候,

埃里克

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

好的,根據你的建議,我們可以簡單地為我的功能使用外部引腳中斷,而不使用 CCU6 模塊; 我們不能使用 CCU6 模塊來使我的功能如上工作,這是正確的嗎?

最好的問候,

天裴

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,@ThienBui

為了澄清,CCU6 模塊的工作原理類似於你想要實現的。 如果您使用通道模式雙重註冊捕捉和下降,每次看到上升或下降邊緣時,它都會捕獲其計時器(T12 定時器)中的值以計算時序。 我很抱歉,如果我之前不是很清楚這部分。 您CAN透過將其與具有中斷的外部引腳和 GPT12 定時器應用來實現類似的效果,但它可能不如 CCU6 精確。我建議在一般的外部引腳中嘗試使用它,因為使用 CCU6 嘗試這種方式將是多餘的。

最好的問候,

埃里克

0