用高效型振蕩器為8051單片機(jī)實現(xiàn)高速串行通信的時鐘配置(04-100)
引言
本文引用地址:http://cafeforensic.com/article/80876.htm當(dāng)今許多實時監(jiān)測系統(tǒng)與通信設(shè)備領(lǐng)域中,經(jīng)常需要進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳送。為此,如何實現(xiàn)高速、可靠及低成本的數(shù)據(jù)傳輸是作為前級機(jī)或發(fā)送級的8051單片機(jī)迫切需要解決的新技術(shù)。據(jù)此,我們采用由Dallas Semiconductor公司的芯片DSl075--Econ oscillator(高效型振蕩器)為8051系列的DS87C520高速型單片機(jī)提供時鐘的配置設(shè)計方案,實現(xiàn)單片機(jī)串行通信的高速波特率。
Econ oscillator(高效型振蕩器)含有一個內(nèi)部振蕩器,用以產(chǎn)生一個基本頻率;還內(nèi)置了一個分頻鏈,可以將基本頻率降低到需要的速度。Econ oscillator 的每種型號提供四種基本頻率(60MHz、66.67MHz、80MHz、100MHz),可調(diào)節(jié)的分頻系數(shù)最高可達(dá)2052。Econ oscillator能根據(jù)系統(tǒng)需要配置為任何類型的鐘控邏輯,包括單片機(jī)(微處理器)、FPGA、CPLD電路等。
8051單片機(jī)以及RS-232串行通信
選用時鐘時,應(yīng)認(rèn)真考慮兩個因素,即時鐘頻率和工作期限內(nèi)的時鐘精度。在8051單片機(jī)系統(tǒng)中,時鐘頻率取決于所采用的串行通信RS-232。例如,考慮一個采用12MHz時鐘(早期8051的最高時鐘頻率)的異步模式1串行通信。表l列出了建立標(biāo)準(zhǔn)波特率所需的定時器1自動重新裝載值。
表l中實際波特率是按照以下計算公式得出的:波特率所需的定時器I自動重新裝載值。
其中:BaudRate為波特率;SMOD為波特率倍增位;fosc為振蕩頻率;THl為定時器l自動重新裝載值。
表1中數(shù)值基于以下定時器 1狀態(tài):
·每12個時鐘周期定時器增l(單片機(jī)DS87C520的定時器可以每4個或12個時鐘周期增1)。
·自動重裝載模式。
·禁止波特率倍增(SMOD=0)。
表l為早期的單片機(jī)采用晶體時的波特率和波特率誤差。
一般情況下的RS-232串行通信.一旦波特率誤差超出3%,盡管數(shù)據(jù)傳送中有起始位或停止位進(jìn)行同步,就有可能造成通信錯誤。3%的容許誤差使12MHz晶振時的最高通信速率限制在2400波特,這在90年代初還不算壞,但對今天的標(biāo)準(zhǔn)來講是一個不能忽略的大問題丁。
而現(xiàn)在適應(yīng)于8051單片機(jī)串行通信的晶體:11.059MHz或22.118MHz,已開發(fā)出。單片機(jī)采用這種晶體后波特率有很大改善,見表2所示。數(shù)據(jù)傳送率可達(dá)57.6kps(使DS87C520單片機(jī)波特率倍增,當(dāng)SMOD=1后可達(dá)115.2kps),這樣高的通信速率—波特率對于當(dāng)前大多數(shù)單片機(jī)(或微處理器)系統(tǒng)已是很可觀了。隨著晶體11.059MHz或22.118MHz產(chǎn)品逐步市場化,使單片機(jī)應(yīng)用糸統(tǒng)大為拓寬。
評論