目前的研究需要以 STM32F4 Discovery 開發版的定時器觸發ADC轉換有些問題想向大家請教。 先說明目前完成的進度: 1.PTP功能完成,且 PB5 (ETH_PPS_OUT) 可輸出正確的PPS訊號。 2.設定定時器2啜為外部觸發輸入 PA15 (TIM2_ETR) 接收 PB5 的PPS訊號。 3.定時器2選擇 One pulse mode 並以 PA3 (TIM2_CH4) 輸出。 (以定時器2的OPM模式輸出仿PPS訊號) (該模擬訊號與PPS訊號達成同步) ※以上步驟產生的PPS訊號都有與 SecureSync PTP Grandmaster 時鐘的PPS進行驗證,確認有同步。 4.定時器2設為 Master 、定時器4設為 Slave ,經由ITR1 讓TIM2的 TRGO 可以觸發TIM4開始計數。 /* TIM2 TRGO Select */ TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_OC4Ref); (當CNT>或= CCR4時會有TRGO) 因此在定時器4設為比較模式,且CCR4 =1的情況下,定時器4的啟動應該回延遲1個CNT的時間。 5.實際成果中定時器3的上升沿時間會出現2種情況。 正常情況(我要的情況) (預計以TIM4以4800Hz做ADC轉換) (TIM4上升沿有與PPS同步) 異常情況(TIM4的啟動會延遲5us) (TIM4的4800Hz會經由PI控制器調整ARR) (TIM4上升沿與PPS產生5us延遲) 由於延遲的情況並非固定,而是有時有有時沒有顧想請教可能會是哪邊出現問題了? 需要定時器配置部分的程式碼的話可以再上傳 對問題不明白的話也麻煩告知! |
你TIM2选择PPS作为触发输入信号,然后TIM2输出单脉冲去触发TIM4对吗?
如果是,TIM4然后需要做什么呢?TIM4被TIM2触发,然后TIM4的时钟是谁的?
内部时钟?工作在哪种从模式?
点评
另外,如果需要定时器4的引脚同步输出,可以使用如定时器2的单脉冲方式同步输出呀
点评
用那个秒脉冲作为定时器的触发使能可以做到,从定时器配置在触发模式。
你说用秒脉冲信号让板子做每秒4800的话,可以让TIM4的使能作为触发输出来触发ADC.