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