• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AG32的時(shí)鐘輸入種類

04/09 08:35
580
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?AG32開發(fā)者?AG32開發(fā)者

2024年11月29日 17:05?

內(nèi)部HSI:

AG32有內(nèi)置的HSI時(shí)鐘:8Mhz。但是這個(gè)時(shí)鐘偏差比較大,個(gè)別甚至接近10Mhz。這個(gè)時(shí)鐘對(duì)于有時(shí)序要求的接口,如UART,USB等是無(wú)法接受的。為了改善這個(gè)時(shí)鐘,AGM做了一個(gè)內(nèi)部時(shí)鐘校準(zhǔn),利用下載器的時(shí)鐘來(lái)校準(zhǔn),然后存在內(nèi)部flash中。校準(zhǔn)后的精度可以在1%以內(nèi)。

AGM的串口啟動(dòng),是沒(méi)有用到外部時(shí)鐘的,因?yàn)?a class="article-link" target="_blank" href="/baike/1611503.html">ROM代碼本身也不知道系統(tǒng)外部時(shí)鐘是多少。串口啟動(dòng)是通過(guò)接收PC發(fā)送的固定字節(jié)來(lái)校準(zhǔn)時(shí)鐘的,PC發(fā)送的0x7F。代碼通過(guò)起始位和最后1bit的低電平來(lái)校準(zhǔn)。因此,ROM代碼是不關(guān)心下載波特率的。

下載器是通過(guò)USB通訊的,也用了類似的校準(zhǔn)方法,通過(guò)usb 1mS中斷信號(hào)來(lái)實(shí)現(xiàn)的。因此,下載器上如果沒(méi)有外部晶體也沒(méi)關(guān)系。但是,下載器多了一個(gè)離線下載功能,這個(gè)需要用到外部時(shí)鐘。

VE 里定義如下:

圖片

由于沒(méi)有用到HSE那部分電路,因此ini里需要添加宏定義:BOARD_HSE_BYPASS=SYS_HSE_NONE

圖片

同時(shí)還有一點(diǎn)限制,邏輯部分要壓縮,這一點(diǎn)容易忽略。

platformio.ini 中配置board_logic.compress = true

外部無(wú)源時(shí)鐘HSE:

無(wú)源時(shí)鐘通過(guò)OSC_IN, OSC_OUT 接入,4~26MHz,一般推薦的是8Mhz。用戶根據(jù)自己需要的時(shí)鐘,適當(dāng)調(diào)整外部晶體的頻率。

VE 里如下定義即可:

圖片

其實(shí),ini里需要定義?BOARD_HSE_BYPASS=SYS_HSE_BYPASS_OFF,但是因?yàn)檫@個(gè)是默認(rèn)項(xiàng),可以不定義。

外部有源晶振HSE:

  • 從OSC_IN 輸入

    這個(gè)與無(wú)源晶體的區(qū)別就是不需要諧振電路了,因此增加SYS_HSE_BYPASS_ON的定義。即BYPASS掉諧振電路

    圖片

    VE配置同無(wú)源晶體一樣。

  • 從其它引腳輸入

    如果是純CPLD應(yīng)用,那就只能用有源晶振,從全局時(shí)鐘(帶GB標(biāo)志)處輸入。其它引腳一般不建議接入有源時(shí)鐘。

    同樣,這個(gè)沒(méi)有HSE部分,需要定義SYS_HSE_NONE。INI里配置同HSI。

    VE配置如下:

  • 圖片

如果AG32是通過(guò)系統(tǒng)中的其它MCU來(lái)給其提供時(shí)鐘的話,參照有源時(shí)鐘的輸入方法定義。

圖片

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄