新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MCU 中的內部振蕩器調整

        MCU 中的內部振蕩器調整

        作者: 時間:2023-11-15 來源: 收藏

        由于其缺點, 中的內部配備了微調其頻率的機制,與樂器不同。這通常是通過微型電容替換盒調整 RC 電路中的電容來完成的。 
        電容替換盒包含一系列開關和電容器,可產生一定精度范圍內的任何電容。例如,考慮以下電容器網絡,它可以并聯組合以產生 0nF 到 255nF 的任何整數電容。

        本文引用地址:http://www.104case.com/article/202311/452902.htm

        MCU 中的內部振蕩器調整

        這些開關有條件地包含 2 次冪的電容器。例如,僅閉合右側的三個開關會產生 7nF。是的,它是二進制的!
        現在,由于 RC 通過對電容器充電和放電來工作,因此這些開關需要是模擬的。因此,這些微型電容替代盒使用一種特殊類型的開關,稱為傳輸門 或模擬開關。這些很像繼電器的半導體替代品;它們控制數字信號并切換模擬信號。有許多商用傳輸門 IC,例如 CD4016、CD4066 和 CD4053。
        從程序員的角度來看,內部振蕩器的頻率調整歸結為修改內存映射寄存器的值。該寄存器中的位控制電容替換模塊中的開關。

         

        MCU 中的內部振蕩器調整

        內部時鐘源調整寄存器,在 s08 系列中廣泛使用。圖片來自恩智浦。 
        對于 S08 系列的某些成員,該寄存器稱為 ICSTRM(內部時鐘源調整)。這是一個8位寄存器,二進制復位值為10000000。這8位控制一個電容替換模塊,進而影響振蕩器的周期 :該寄存器的值越大,電容和周期越高。當然,這對頻率有相反的影響。
        簡單的校準程序
        以下是您可以在 上執行的一個不錯的調整過程:
        運行生成 1kHz 方波的應用程序。
        迭代直到無法改進:
        測量生成信號的周期。
        將 Trim 寄存器修改為 1ms。
        重新編譯并運行。
        迭代的原因是,由于微調模塊中電容器值的不確定性(例如一組高度略有不同的樓梯),您對微調寄存器估計的更改將因某些未知因素而偏離。迭代可以解決這種不規則性。 
        自動化此過程
        您可能希望為您的應用程序自動執行此過程,以便您的程序在加電時校準振蕩器,作為啟動序列的一部分。 
        為此,您需要一個可靠的時鐘參考來與 生成的固定頻率信號進行比較。盡管這看起來毫無意義,因為外部時鐘信號是您首先要避免的,但該外部信號不必滿足您的時鐘要求;它必須準確且穩定。 
        自動微調過程的另一個重要細節是算法:上述過程適用于擁有示波器和出色計算器的工程師。然而,許多校準函數使用逐次逼近方法。這與逐次逼近型ADC使用的算法相同,其本質是二分搜索算法。毫不奇怪,對于 N 位調整寄存器來說,這需要 N 次迭代。
        要了解 ADC 中的逐次逼近,您可能需要閱讀Elliott Smith 撰寫的文章《了解逐次逼近寄存器 ADC》 。
        設備程序員
        除了對 ROM 存儲器和微控制器進行編程之外,還有一些設備編程器還提供有用的附加功能。有些甚至在您的微控制器上執行此微調程序,以便您方便地對一批設備進行編程,微調每個單元上的內部振蕩器。 
        一些設備編程器能夠校準其目標微控制器的內部振蕩器。



        關鍵詞: MCU 振蕩器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淄博市| 黔南| 滕州市| 长寿区| 安仁县| 昆山市| 栾城县| 红安县| 齐齐哈尔市| 乾安县| 定州市| 小金县| 柞水县| 西藏| 博野县| 临城县| 霸州市| 伊金霍洛旗| 方山县| 宁城县| 夏河县| 宜君县| 安仁县| 清流县| 利津县| 承德县| 从江县| 广宁县| 瑞昌市| 陇南市| 丹江口市| 嘉定区| 庄浪县| 沂源县| 大姚县| 成安县| 奉化市| 垫江县| 渭源县| 新竹市| 阜阳市|