工作頻率可動態(tài)調整的單片機系統設計_第1頁
工作頻率可動態(tài)調整的單片機系統設計_第2頁
工作頻率可動態(tài)調整的單片機系統設計_第3頁
工作頻率可動態(tài)調整的單片機系統設計_第4頁
工作頻率可動態(tài)調整的單片機系統設計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、工作頻率可動態(tài)調整的單片機系統設計                摘要:介紹一種采用可編程CMOS頻率合成器DS1077設計的單片機系統,使單片機能根據環(huán)境需要動態(tài)調整系統的工作頻率,既能滿足系統求的實時處理能力,又盡可能地降低系統的耗電量及引起的電磁干擾。同時還討論了系統改變工作頻率后對RS232串行通訊的影響以及解決辦法確保該系統在不的工作頻率下仍能正常進行RS232串行通信。這種單片機系統的變頻設計提高了系統的適用范圍和兼容性,使

2、系統設計更加靈活。        關鍵詞:可編程CMOS頻率合成器 串行通訊 動態(tài)編程 DS1077    在單片機系統中,總希望單片機能夠工作于最大頻率,以提高系統的實時處理能力。但單片機系統工作頻率越高,其耗電量及引起的電磁干擾也就越大,并且單片機工作頻率的選擇直接影響到RS232串行通訊。特別是在51單片機系統中,RS232串行通訊的使用往往決定了系統時鐘選用,這使得在設計單片機系統時的靈活性大大降低。在很多情況下,希望設計出一個工作頻率可根據任務的輕得實時改變,并且能夠在各種工

3、作頻率下進行RS232串行通訊的單片機系統,它既能滿足單片機的實時處理要求,又有利于降低系統的耗電量和電磁干擾。采用可編程CMOS頻率合成器DS1077后,設計這種系統變得簡單了。    1 可編程CMOS頻率合成器DS1077    1.1 DS1077的引腳及其功能    DS1077是一個具有兩種同步輸出的單片機固定頻率合成器。它不需要外接任何元件即可工作,允許通過二線串行接口頻率合成器進行動態(tài)編程。DS1077的輸出頻率范圍寬(8kHz133MHz),且在整個溫度和電

4、壓變化范圍內輸出頻率偏差小于1%。DS1077既可作為由控制器編程的兩路同步頻率合成器使用,也可以當作固定頻率振蕩器使用??刂破骺赏ㄟ^編程片上的兩個預標定器和一個除法器來調整兩路同步輸出頻率。工作模式和輸出頻率的設定值存儲于片上EEPROM中。每次上電時,存儲于EEPROM中的值自動彈出到各個寄存器中,使DS1077工作于以前設定的初始狀態(tài)。    引腳功能:    SCL:串行時鐘輸入線(用于編程);    SDA:串行數據輸入、輸出線(用于編程);   

5、; CTR1:控制OUT1輸出允許或芯片掉電模式的多功能引腳;    CRT0:控制OUT0輸出允許、芯片掉電模式或MUX選擇的多功能引腳;    OUT1:參考頻率輸出引腳;    OUT0:主振蕩頻率輸出引腳。    1.2 DS1077內部框圖如圖及工作原理    DS1077內部框圖如圖1所示。主要由內部主振蕩器、2個預定標器、1個可編程除法器和3個控制寄存器四大部分組成。主振蕩

6、器產生的時鐘信號MCLK既可直接輸出到OUT0,也可以經過P0預定標器分頻后輸出OUT0。另外時鐘信號MCLK經過P1預定標器分頻后要么直接輸出到OUT1,要么再經可編程除法器N分頻后輸出到OUT1。    主時鐘信號MCLK經過P0預定標器進行1、2、4或8分頻后送入MUX選擇器。同時,主時鐘信號MCLK經過P1預定標器進行1、2、4或8分頻后既可直接輸出到OUT1引腳,又可輸出到可編程除法器N進行21025之間的任一分頻后送到OUT1引腳。    通過對控制寄存器進行編程,可決定DS1077輸出頻率和工作模式。控制寄存器

7、的值存于片內的EEPROM中,因此只有改變輸出頻率和工作模式時才需要對DS1077重新編程。    1.3 DS1077的控制寄存器    DS1077的控制包括MUX寄存器、DIV寄存器和BUS寄存器共3個寄存器。MUX寄存器用于設置頻率合成器的工作模式,DIV寄存器用于設置工作頻率,BUS寄存器用于設置總線控制方式。它們的設置方式如下:    MUX寄存器(16位):         

8、;       -    PDN1    PDN0    SEL0    EN0    0M1    0M0    1M1    1M0    DIV 

9、0;  -    -    -    -    -    -    其中,標志位EN0、SEL0、PDN0和引腳CTRL0對輸出OUT0的工作模式進行設定,如表1所示。標志位PDN1和引腳CTRL1對輸出OUT1的工作模式進行設定,如表2所示。標志位DIV決定是否使用可編程除法器N。當DIV=1時,可編程除法器被忽略;如果DIV=0,可編

10、程除法器正常工作。標志位0M1和0M0、1M1和1M0分別決定了預定標器P0和P1的分頻比,如表3所示。表1 輸出OUT0的工作模式設定                EN0    SEL0    PDN0    CTR0功能        

11、;0    0    0    掉電控制(CTR0=1進入掉電模式,CTR0=0時OUT0輸出高阻)        0    1    0    OUT0輸出選擇(CTR0=1時OUT0輸出MCLK/M,CTR0=輸出MCLK)    &#

12、160;   1    0    0    OUT0輸出允許(CTR0=1時OUT0輸出高阻,CTR0=0輸出MCLK)        1    1    0    OUT0輸出允許(CTR0=1時OUT0輸出高阻,CTR0=0輸出MCLK/M)&#

13、160;       X    0    1    掉電控制(CTR0=11進入掉電模式,CTR0=0時輸出MCLK)        X    1    1    掉電控制(CTR0=1進入掉電模式,CTR0=

14、0時OUT0輸出MCLK/M)    其中,MCLK為內部振蕩器產生的主時鐘信號,MCLK/M為主時鐘信號經P0預定標器分頻后的時鐘信號。表2 輸出OUT1的工作模式設定                PDN1                

15、;0    OUT1輸出允許(CTR1=1時OUT1輸出,CTR1=0輸出高阻)        1    掉電控制(CTR1=1進入掉電模式,CTR1=0時OUT1輸出)    表3 P0和P1的分頻比                0M1

16、    0M0    P0預定標器分頻比    1M1    1M0    P1預定標器分頻比        0    0    1    0    0

17、0;   2        0    1    2    0    1    4        1    0    4 

18、   1    0    6        1    1    8    1    1    8    DIV寄存器(16位):   

19、60;            N9    N8    N7    N6    N5    N4    N3    N2    N1  

20、60; N0    X    X    X    X    X    X    10位二進制數決定了除法寄存器的值N,10位二進制數的值加2就是N的值。例如:0000000000表示2分頻,1111111111表示1025分頻。    BUS寄存器(8位): 

21、               -    -    -    -    WC    A2    A1    A0    如果WC=0

22、,表示每次操作控制寄存器后自動保存到EEPROM中;如果WC=1表示只有對控制寄存器進行寫操作時才把值保存到EEPROM中。A3A2A1代表該DS1077芯片在總線操作中的地址。因此,同一系統中最多可接入8個DS1077。,    2 系統硬件電路及工作原理    可編程CMOS頻率合成器DS1077在單片機系統中的硬件電路如圖2所示。        可編程CMOS頻率合成器DS1077設定為:引腳OUT0禁止使用;引腳OUT的輸出頻率

23、略低于單片機的最高工作頻率;BUS寄存器的WC位置1(只有向頻率合成器DS1077發(fā)出寫命令時才把各個寄存器的值寫入EEPROM中)。這樣,在每次啟動單片機系統時,單片機總運行在較高的工作頻率;當完成了系統的初始化后,單片機就可以根據工作情況重新設置適合的工作頻率。在單片機工作過程中,最好不要向頻率合成器DS1077發(fā)出寫EEPROM命令。因為重新設置工作頻率即使超出了單片機的頻率范圍,造成單片機死機,由于寄存器的值沒有寫入EEROM中,當重新啟動時,單片機仍然能夠工作;如果把錯誤的工作頻率寫入EEPROM中,會造成系統不能重新啟動,此時只能取下DS1077芯片,用其他工具對它進行重新編程。&

24、#160;   3 系統頻率改變對RS232串行通訊的影響及動態(tài)調整工作頻率時的解決辦法    在單片機系統中,時鐘頻率與RS232串行通訊有著密切的關系。例如,對于使用12MHz晶振的系統(早期的8051的最大工作頻率是12MHz),表4顯示了定時器1的自動重新載值與波特率之間的關系、與標準波特率的誤差。表4 定時器1的自動重裝載值與波特率之間的關系、與標準波特率的誤差             

25、   定時器1自動重裝載值    實際波特率    理想值    波特率誤差(%)        255    31250    28800    8.5        

26、254    15625    14400    8.5        253    10417    9600    8.4        249/250   

27、0;4464    4800    7/88.5        243    2404    2400    0.16    波特率=2SMOD/32×fosc/12×(256-TH1)    其中,fosc為振蕩頻率,

28、SMOD為單片機的波特率倍增位,TH1為定時器1的自動重裝載值。    表5 特殊頻率的晶振下波特率發(fā)生器的誤差                定時器1的自動重裝載值    波特率(fosc=11.059MHz)    波特率(fosc=22.118MHz)     &

29、#160;  實際波特率    理想值    實際波特率    理想值        255254253250244232208    28799.514399.79599.84799.912399.951199.98-    28800144009600480024001200- 

30、60;  -28799.514399.69599.834799.912399.951199.98    -28800144009600480024001200    在使用DS1077芯片的系統中,這個問題變得簡單了。DS1077芯片共有133MHz、125MHz、120MHz、100MHz、66.666MHz五種型號。下面以66.666MHz的DS1077x-66為例來介紹在各種工作頻率下進行RS232串行通訊的實現方案。      

31、  表6 單片機波特率及定時器1的自動重裝載值(波特率發(fā)生器誤差全部為0.47%)                N值    工作頻率(MHz)    重裝載值(28.8kbps)    重裝載值(14.4kbps)    重裝載值(9600bps) 

32、;   重裝載值(4800bps)    重裝載值(2400bps)            66.667    250    244    238    220    -   &#

33、160;    2    33.333    253    250    247    238    220        3    22.222    254    252    250    244    232        4    16.666    -  &#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論