為低功耗應(yīng)用選擇正確的 µC 外圍器件
UART 數(shù)據(jù)用 10,922 波特或 8,192 波特的 UART 接收。由于 UART 在傳輸中間點(diǎn)對(duì)數(shù)據(jù)進(jìn)行采樣以補(bǔ)償抖動(dòng),因此該點(diǎn)已經(jīng)被選擇為接收 UART 的采樣點(diǎn)。在沒(méi)有行抖動(dòng)的理想情況下,10,922 波特 UART 對(duì)第三數(shù)據(jù)位的開(kāi)始兩次讀數(shù)都會(huì)是錯(cuò)誤的而8,192 波特的UART 由于會(huì)完全遺漏第三位,很快就將出錯(cuò)。由于低功耗應(yīng)用的理想時(shí)鐘是低功耗實(shí)時(shí)時(shí)鐘模式,這使得在低功耗環(huán)境中處理很困難。解決這一問(wèn)題的最好辦法就是將 µC 與調(diào)制技術(shù)結(jié)合使用,用 32kHz 振蕩器提供非常精確的 2,400 波特,并完全能支持9,600 波特(參見(jiàn)圖 3)。
圖 3:在 9600 波特傳輸時(shí)采用時(shí)鐘調(diào)制的 32Khz 驅(qū)動(dòng) UART
通過(guò)混合兩個(gè)時(shí)鐘除數(shù)解決錯(cuò)誤,總體積累的錯(cuò)誤消失,數(shù)據(jù)接收正確。這種方法對(duì)于9,600 波特或以下的 UART 通信很有效。對(duì)于高速通信,幾個(gè) µC 監(jiān)視 UART Rx 行的邊緣躍遷并觸發(fā) ISR 啟動(dòng)內(nèi)部高速振蕩器,驅(qū)動(dòng) CPU 并處理中斷。這使 µC UART 能夠接收高速數(shù)據(jù),而不必在 UART 空閑期間保持一個(gè)啟動(dòng)的高速時(shí)鐘。如果使用外部振蕩器或內(nèi)部振蕩器頻率太低,則由于啟動(dòng)高速振蕩器需要一定的時(shí)間,第一次傳輸將失效。為克服這一限制和效率損失,設(shè)計(jì)人員應(yīng)該考慮使用能夠喚醒并及時(shí)從 32kHz 或停機(jī)模式激活的處理器,從正在傳輸?shù)?UART 恢復(fù)首次傳輸?shù)臄?shù)據(jù)。例如,系統(tǒng)時(shí)鐘需要在 25µs 內(nèi)啟動(dòng),才能拾取起始位的中間點(diǎn),從而正確接收 19,200 位的傳輸。
評(píng)論