資源描述:
《avr內(nèi)部rc震蕩器校正》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、AVR單片機內(nèi)部RC振蕩器校正方法AVR單片機具有內(nèi)部RC振蕩器,對于內(nèi)部振蕩器的校正一直是一個比較難的問題,由于這個問題的困擾,導(dǎo)致很多正常的程序無法正常工作,特此整理該文檔供客戶參考,如果有需要英文的可以到ATMEL官方網(wǎng)站下載。特點l??????????可以使用STK500,AVRISP,JTAGICE或JTAGICEmkII校正l??????????可以使用第三方編程器校正l??????????調(diào)整RC頻率到+/-1%精度l??????????在任意電壓和溫度下調(diào)整RC振蕩器l??????
2、????調(diào)整RC振蕩器到指定頻率l??????????支持所有帶有RC振蕩器的AVR單片機l??????????可以選擇振蕩器時鐘頻率?介紹這篇應(yīng)用筆記說明了快速和精確校正內(nèi)部RC振蕩器的方法。它提供了容易修改的固件源代碼,可以用在任何帶有內(nèi)部可調(diào)RC振蕩器的AVR單片機中。這個固件允許使用AVRSTK500,AVRISP或JTAGICE,但是也可以用在第三方系統(tǒng)中(如編程器)。?大部分AVR單片機提供了內(nèi)部RC振蕩器。這個RC振蕩器的頻率可以校正到+/-1%。這個特點使其提供了更大的靈活性和節(jié)約
3、了成本。?在Atmel的工廠中是在固定電壓和溫度下進行了校正(典型是25°C和5V),而內(nèi)部RC振蕩器的頻率是受到溫度和電壓同時影響的,這使得用戶在特定的應(yīng)用環(huán)境時可能需要進行再次校正。再次校正可以得到更高的精度,匹配特定的電壓或溫度,甚至調(diào)整到一個完全不同的頻率。?這篇應(yīng)用筆記說明的校正方法使用的時間只比從簽名中讀取工廠校正字節(jié)并回寫到設(shè)備中稍長。全部的編程時間幾乎不受到校正的影響。?注意在某些系統(tǒng)中非常依賴于運行時間,這說明在應(yīng)用中在整個溫度范圍需要一個精確的與電壓無關(guān)的系統(tǒng)時鐘。在這種情況下
4、一個手表晶體可以提供可靠和低成本的解決方案。?在這篇文檔的最后有快速開始指南。?操作理論–內(nèi)部RC振蕩器在產(chǎn)品中內(nèi)部RC振蕩器在5V或3.3V下校正。工廠校正的精度在+/-3或+/-10%(參考數(shù)據(jù)手冊)。如果一個設(shè)計需要比工廠標(biāo)準(zhǔn)校正更高的精度,就需要再次校正RC振蕩器,這樣可以得到大約+/-1%(對于工廠校正精度是+/-10%的器件是+/-2%)的精度。?時鐘選擇AVR熔絲的設(shè)置控制了系統(tǒng)使用的時鐘源。為了使用內(nèi)部RC振蕩器,需要選擇正確的熔絲。數(shù)據(jù)手冊中說明了可以使用的熔絲設(shè)置。?基本頻率下
5、面小節(jié)給出了AVR單片機內(nèi)部RC振蕩器說明。?一些AVR單片機有一個RC振蕩器,其它的有4種不同的RC振蕩器可以選擇,頻率范圍從1MHz到9.6MHz。校正內(nèi)部RC振蕩器使用晶體校正寄存器:SCCAL(在IO頭文件中定義了)。OSCCAL寄存器是一個字節(jié)寬度,它可以對系統(tǒng)頻率進行微調(diào),校正RC振蕩器就利用了這個微調(diào)。?當(dāng)單片機被Atmel校正后,校正字節(jié)就存放到單片機的簽名中。不同芯片的校正字節(jié)之間差異可能很大,因為RC振蕩器與工藝有關(guān),有一定離散性。如果芯片有多于一個振蕩器,那每個振蕩器都對應(yīng)一
6、個校正字節(jié)。?大多數(shù)單片機的缺省RC校正字節(jié)在復(fù)位時自動從簽名中載入,并復(fù)制到OSCCAL寄存器中。例如,ATmega8的默認(rèn)時鐘設(shè)置是內(nèi)部1MHzRC振蕩器;對應(yīng)的1MHz校正字節(jié)在復(fù)位后自動載入。如果熔絲改變?yōu)?MHz振蕩器,校正字節(jié)就需要手工載入OSCCAL寄存器了。編程工具可以從簽名中讀取4MHz校正字節(jié)并強制存放到Flash或EEPROM中,然后由用戶程序在運行時讀取出來再復(fù)制到OSCCAL寄存器中。?為了容易使用OSCCAL寄存器調(diào)整振蕩器,一些單片機可以設(shè)置系統(tǒng)的預(yù)分頻時鐘。預(yù)分頻寄
7、存器(CLKPR)可以用預(yù)定義的系數(shù)比例變化系統(tǒng)時鐘。同樣,這個預(yù)分頻可以通過熔絲預(yù)先設(shè)置;編程CKDIV8熔絲就設(shè)置CLKPR系統(tǒng)時鐘分頻8。這可以保證芯片在低于最大頻率下操作,CLKPR可以在運行時修改。?基本頻率是定義為不分頻。?RC振蕩器總結(jié)AVR單片機在不同時期使用了不同的RC振蕩器。一個關(guān)于RC振蕩器的回顧參見表1。芯片列表按照振蕩器類型排序,也差不多是按照發(fā)布時間排序的。表中只列出了可以調(diào)整振蕩器的芯片。表1.帶有內(nèi)部RC振蕩器的芯片特點,按照版本分類振蕩器版本器件RC振蕩器頻率CK
8、DIVPRSCK1.1ATtiny121.2--1.2ATtiny151.6--2.0ATmega1631.0--2.0ATmega3231.0--3.0ATmega81.0,2.0,4.0和8.0--3.0ATmega161.0,2.0,4.0和8.0--3.0ATmega321.0,2.0,4.0和8.0--3.1ATmega641.0,2.0,4.0和8.0-XDIV(1)3.1ATmega1281.0,2.0,4.0和8.0-XDIV(1)3.0ATmega85151.0,