AVR單片機(jī)內(nèi)部RC振蕩器和能隙電壓基準(zhǔn)的穩(wěn)定性研究
曾經(jīng)在反復(fù)研究 MEGA 48 的內(nèi)部 RC振蕩器和 能隙電壓基準(zhǔn)的穩(wěn)定性后,選擇了 MEGA 48, 用內(nèi)部 RC 來驅(qū)動(dòng)做串口通信.一直都比較成功!
突然前些天, 發(fā)現(xiàn)上次能正常通信的軟件, 通信不了了!
反復(fù)檢查后, 很仔細(xì)才發(fā)現(xiàn) mega48 的振蕩頻率在示波器上,略有些偏大了!
為此,我對(duì) OSCCAL 直接加大 3 后, 通信完全正常!
于是,就該芯片我對(duì) 振蕩的溫度漂移做了簡(jiǎn)單的試驗(yàn).希望能給大家一些參考.由于條件簡(jiǎn)陋, 我唯一改變溫度的辦法是 熱風(fēng)槍.
為了便于對(duì)比,我使用了外部的穩(wěn)定的頻率作參考,然后應(yīng)用自己編寫的自動(dòng)校準(zhǔn)軟件對(duì) 片內(nèi) RC 振蕩器頻率進(jìn)行測(cè)量
該芯片的 出廠校正參數(shù)為 A3
等到自動(dòng)校準(zhǔn)后的參數(shù)如下:
校準(zhǔn)寄存器 OSCCAL 范圍 98(高溫) ~ A7
得到 98 的這個(gè)值的時(shí)候, 估計(jì)芯片會(huì)近 100℃了(手頭沒有準(zhǔn)確的點(diǎn)測(cè)溫儀器)
同時(shí), 記錄了不進(jìn)行校準(zhǔn)時(shí),內(nèi)部的計(jì)時(shí)值(用作校正的參數(shù))
參數(shù) 23-3F C1-D0(高溫)平均值31 ~ C8
這是對(duì)我的標(biāo)準(zhǔn)信號(hào)的實(shí)際的計(jì)時(shí)值 2024 ~ 2175
最后算出的 MEGA 48 的振蕩頻率為 7.7585MHz~ 8.3373MHz(高溫)
順便,我也對(duì)內(nèi)部基準(zhǔn)電壓做了一下測(cè)量
正常值 Vref = 1.062V
A7 A3 A2 A0 9F 9D 9C 99 98
62 62 61 60 59 58 57 52 51 50
上面一行為 OSCCAL 校準(zhǔn)參數(shù)
下面一行為 Vref 的尾數(shù)后2位部分
結(jié)論: Vref 還是有比較高的精度, 而相對(duì)地, 片內(nèi) RC 振蕩的精度卻并不很高.
當(dāng)然, 我只是對(duì)真好遇到的一個(gè)表現(xiàn)突出者進(jìn)行了測(cè)試, 只代表真實(shí)的個(gè)別而已.
不過,也讓我們看到, 單相信 RC 振蕩能做串口通信的工程師們個(gè)警告:并非所有的芯片在全溫度范圍內(nèi)能滿足通信精度的要求!
]忘了說明,本次試驗(yàn)使用的芯片規(guī)格和批次: ATMEGA48V-10PI 0510A
頻率是相對(duì)值,數(shù)碼直接讀數(shù). 電壓的測(cè)試是用了一個(gè)4位數(shù)顯的萬用表.
又隨便抽了2個(gè)芯片做比對(duì),簡(jiǎn)單地做LED閃爍, 對(duì)批次為 0520A 0522A 的兩個(gè)芯片的閃爍次數(shù)對(duì)比 45:44 ,即 2.2% 頻率偏差