国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      波特率發(fā)生器的制作方法

      文檔序號(hào):7521568閱讀:414來(lái)源:國(guó)知局
      專利名稱:波特率發(fā)生器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)字集成電路設(shè)計(jì)和串行通信技術(shù)領(lǐng)域,具體來(lái)說(shuō),本發(fā)明涉及一種波特率發(fā)生器。
      背景技術(shù)
      波特率是指數(shù)據(jù)信號(hào)對(duì)載波的調(diào)制速率,它用單位時(shí)間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來(lái)表示。波特率發(fā)生器本身不產(chǎn)生波特率時(shí)鐘,其作用是從輸入的系統(tǒng)時(shí)鐘轉(zhuǎn)換出需要的波特率。一般地,波特率時(shí)鐘頻率/波特率因子=波特率。例如,傳統(tǒng)單片機(jī)串行口波特率(BaudRate)由下式計(jì)算BaudRate = Fsys/[(32768-TH)*16]其中BaudRate為串行口波特率,F(xiàn)sys為晶體振蕩器或者系統(tǒng)時(shí)鐘的頻率,TH為通用定時(shí)器的重載數(shù)據(jù)寄存器的值。圖1為現(xiàn)有技術(shù)中一個(gè)波特率發(fā)生器的模塊結(jié)構(gòu)示意圖,其可以集成于單片機(jī)的內(nèi)部。如圖所示,當(dāng)前的波特率發(fā)生器100—般可以包括通用定時(shí)器101,與系統(tǒng)時(shí)鐘相連接,用于定時(shí)、計(jì)數(shù)、測(cè)量脈沖寬度和產(chǎn)生串口波特率的起始溢出信號(hào);2分頻器102,與通用定時(shí)器101相連接,用于控制波特率是否翻倍;16分頻器103,分別與2分頻器102和后續(xù)的串口模塊104相連接,用于把波特率 16等分輸出。更具體地,通用定時(shí)器101可以包括控制寄存器105,用于開關(guān)計(jì)數(shù)器107、選擇通用定時(shí)器101的工作模式和控制中斷; 重載數(shù)據(jù)寄存器106,與控制寄存器105相連接,用于當(dāng)計(jì)數(shù)器107溢出時(shí),把自己的值載入計(jì)數(shù)器107中;計(jì)數(shù)器107,分別與系統(tǒng)時(shí)鐘、控制寄存器105和重載數(shù)據(jù)寄存器106相連接,用于以系統(tǒng)頻率的速度遞增計(jì)數(shù),當(dāng)計(jì)數(shù)到256時(shí)溢出?,F(xiàn)有技術(shù)的波特率發(fā)生器100的工作原理大致如下先設(shè)置通用定時(shí)器101中重載數(shù)據(jù)寄存器106的值,再開啟通用定時(shí)器101 ;當(dāng)計(jì)數(shù)器107從重載數(shù)據(jù)計(jì)數(shù)到溢出時(shí),輸出反轉(zhuǎn)信號(hào);此反轉(zhuǎn)信號(hào)(溢出信號(hào))依次經(jīng)過(guò)2分頻器102 (由SMODE位控制)和16分頻器103后輸出給串口模塊104,成為串口模塊104的移位時(shí)鐘信號(hào),即串口波特率。在進(jìn)行實(shí)際的串行通信時(shí),電平分別在7、8和9等分時(shí)刻被采樣,這樣能提高串口通信的抗干擾性能。但是,目前的波特率發(fā)生器至少還存在如下的缺點(diǎn)a)目前的單片機(jī)內(nèi)部集成的一個(gè)波特率發(fā)生器需要單獨(dú)占用一個(gè)通用定時(shí)器,如果使用兩個(gè)波特率發(fā)生器將會(huì)占用兩個(gè)通用定時(shí)器,這可能導(dǎo)致定時(shí)器的缺乏,以至于不能滿足應(yīng)用需求;b)當(dāng)系統(tǒng)時(shí)鐘值不是所需波特率的整數(shù)倍時(shí),那么由系統(tǒng)時(shí)鐘經(jīng)過(guò)定時(shí)器和16 分頻器分出來(lái)的波特率就會(huì)出現(xiàn)偏差。在波特率較低時(shí),這種偏差不大;而當(dāng)波特率較高時(shí),偏差太大,甚至無(wú)法正確通信。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的一個(gè)技術(shù)問(wèn)題是提供一種波特率發(fā)生器,能夠解決單片機(jī)內(nèi)部的定時(shí)器被波特率發(fā)生器過(guò)多占用,導(dǎo)致定時(shí)器缺乏的問(wèn)題。本發(fā)明所要解決的另一個(gè)技術(shù)問(wèn)題是提供一種波特率發(fā)生器,能夠解決波特率偏差過(guò)大,以至于影響正常串行通信的問(wèn)題。為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種波特率發(fā)生器,包括獨(dú)立定時(shí)器,與系統(tǒng)時(shí)鐘相連接,用于產(chǎn)生串行口波特率的起始溢出信號(hào);16分頻器,與所述獨(dú)立定時(shí)器相連接,用于將所述波特率16等分;比特寬度微調(diào)器,分別與所述系統(tǒng)時(shí)鐘、16分頻器和后續(xù)的串口模塊相連接,用于對(duì)所述16等分的波特率時(shí)鐘信號(hào)的寬度進(jìn)行微調(diào)輸出??蛇x地,所述獨(dú)立定時(shí)器包括計(jì)數(shù)器,分別與所述系統(tǒng)時(shí)鐘和16分頻器相連接,用于以系統(tǒng)頻率的速度遞增計(jì)數(shù),當(dāng)計(jì)數(shù)到32768時(shí)溢出;重載數(shù)據(jù)寄存器,與所述計(jì)數(shù)器相連接,用于當(dāng)所述計(jì)數(shù)器溢出時(shí),把自己的值載入所述計(jì)數(shù)器中??蛇x地,所述比特寬度微調(diào)器包括比特微調(diào)數(shù)據(jù)寄存器,用于存放需要對(duì)所述波特率調(diào)節(jié)的數(shù)值;乘法器,分別與所述比特微調(diào)數(shù)據(jù)寄存器和系統(tǒng)時(shí)鐘相連接,用于根據(jù)所述系統(tǒng)時(shí)鐘將所述比特微調(diào)數(shù)據(jù)寄存器的值轉(zhuǎn)化為調(diào)節(jié)的寬度值;加法器,分別與所述16分頻器和乘法器相連接,用于根據(jù)波特率精度的要求改變所述16分頻器后的信號(hào)寬度??蛇x地,所述串行口波特率由下式計(jì)算BaudRate = Fsys/[(32768-SBRT)*16+BFINE]其中BaudRate為所述串行口波特率,F(xiàn)sys為所述晶體振蕩器或者系統(tǒng)時(shí)鐘的頻率,SBRT為所述重載數(shù)據(jù)寄存器的值,而BFINE為所述比特微調(diào)數(shù)據(jù)寄存器的值。可選地,所述BFINE的調(diào)節(jié)精度為一個(gè)系統(tǒng)時(shí)鐘,其值為0 15的整數(shù)??蛇x地,所述SBRT的值由下式計(jì)算SBRT = 32768-Fsys/16/BaudRate可選地,所述BFINE的值由下式計(jì)算BFINE = Fsys/BaudRate-(32768-SBRT)*16然后對(duì)上式計(jì)算得到的BFINE的值進(jìn)行四舍五入。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明可以對(duì)串行口波特率進(jìn)行最大限度的微調(diào),縮小波特率偏差,以滿足實(shí)際通信需求,避免為了提高通信速度而定制特殊晶振的額外花費(fèi),對(duì)波特率要求較高的單片機(jī)串口通信有著十分重要的意義。另外,本發(fā)明對(duì)波特率發(fā)生器設(shè)置獨(dú)立定時(shí)器,防止單片機(jī)內(nèi)部的定時(shí)器被波特率發(fā)生器過(guò)多占用,導(dǎo)致定時(shí)器缺乏。


      本發(fā)明的上述的以及其它的特征、性質(zhì)和優(yōu)勢(shì)將通過(guò)下面結(jié)合附圖和實(shí)施例的描述而變得更加明顯,其中圖1為現(xiàn)有技術(shù)中一個(gè)波特率發(fā)生器的模塊結(jié)構(gòu)示意圖;圖2為本發(fā)明一個(gè)實(shí)施例的波特率發(fā)生器的模塊結(jié)構(gòu)示意圖;圖3為本發(fā)明一個(gè)實(shí)施例的波特率發(fā)生器的一個(gè)位寬度的組成示意圖。
      具體實(shí)施例方式下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明,但不應(yīng)以此限制本發(fā)明的保護(hù)范圍。圖2為本發(fā)明一個(gè)實(shí)施例的波特率發(fā)生器的模塊結(jié)構(gòu)示意圖。如圖所示,該波特率發(fā)生器200可以包括獨(dú)立定時(shí)器201,與系統(tǒng)時(shí)鐘相連接,用于產(chǎn)生串行口波特率的起始溢出信號(hào);16分頻器202,與獨(dú)立定時(shí)器201相連接,用于將波特率16等分;其中在進(jìn)行實(shí)際的串行通信時(shí),電平可以分別在7、8和9等分時(shí)刻被采樣,這樣能提高串口通信的抗干擾性能;比特寬度微調(diào)器203,分別與系統(tǒng)時(shí)鐘、16分頻器202和后續(xù)的串口模塊204相連接,用于對(duì)16等分的波特率時(shí)鐘信號(hào)的寬度進(jìn)行微調(diào)輸出。在本實(shí)施例中,該獨(dú)立定時(shí)器201可以具體包括計(jì)數(shù)器207,分別與系統(tǒng)時(shí)鐘和16分頻器202相連接,用于以系統(tǒng)頻率的速度遞增計(jì)數(shù),當(dāng)計(jì)數(shù)到32768時(shí)溢出;重載數(shù)據(jù)寄存器206 (最高位為開關(guān)控制位),與計(jì)數(shù)器207相連接,用于當(dāng)計(jì)數(shù)器 207溢出時(shí),把自己的值載入計(jì)數(shù)器207中。類似地,在本實(shí)施例中,該比特寬度微調(diào)器203可以包括比特微調(diào)數(shù)據(jù)寄存器208,用于存放需要對(duì)波特率調(diào)節(jié)的數(shù)值;乘法器209,分別與比特微調(diào)數(shù)據(jù)寄存器208和系統(tǒng)時(shí)鐘相連接,用于根據(jù)系統(tǒng)時(shí)鐘將比特微調(diào)數(shù)據(jù)寄存器208的值轉(zhuǎn)化為調(diào)節(jié)的寬度值;加法器210,分別與16分頻器202和乘法器209相連接,用于根據(jù)波特率精度的要求改變16分頻器202后的信號(hào)寬度。下面以圖2所示的本發(fā)明一個(gè)實(shí)施例的波特率發(fā)生器200為例,簡(jiǎn)要描述一下本發(fā)明的波特率發(fā)生器的一般工作原理先設(shè)置獨(dú)立定時(shí)器201中重載數(shù)據(jù)寄存器206的值,再開啟獨(dú)立定時(shí)器201 ;當(dāng)計(jì)數(shù)器207從重載數(shù)據(jù)計(jì)數(shù)到溢出時(shí),輸出反轉(zhuǎn)信號(hào);此反轉(zhuǎn)信號(hào)(溢出信號(hào))依次經(jīng)過(guò)16 分頻器202和比特寬度微調(diào)器203提供給串口模塊204,成為串口模塊204的移位時(shí)鐘信號(hào),即串口波特率。
      依照上述過(guò)程16分頻后的信號(hào)寬度,即傳統(tǒng)一比特寬度的最小變化單位是系統(tǒng)時(shí)鐘的16倍。之后,比特寬度微調(diào)器203按照比特微調(diào)數(shù)據(jù)寄存器208的值(0 15)對(duì)比特寬度增加相應(yīng)數(shù)量的時(shí)鐘寬度。如此,一比特寬度的最小變化單位就是一個(gè)系統(tǒng)周期或者晶體振蕩器周期,實(shí)現(xiàn)了在晶體振蕩器的前提下得到最精密的波特率。圖3為本發(fā)明一個(gè)實(shí)施例的波特率發(fā)生器的一個(gè)位寬度的組成示意圖。在本發(fā)明中,波特率的倒數(shù)為一個(gè)串口通信中1個(gè)位的寬度,此寬度等于獨(dú)立定時(shí)器201的溢出率 (OverFlowTime)乘以16與比特微調(diào)數(shù)據(jù)寄存器208的值乘以系統(tǒng)周期(BFINE*Tsys)之和。其中,BFINE為比特微調(diào)數(shù)據(jù)寄存器208的值,Tsys為系統(tǒng)周期的值。在本發(fā)明中,單片機(jī)串行口波特率(BaudRate)的計(jì)算公式可以表達(dá)如下BaudRate = Fsys/[(32768-SBRT)*16+BFINE]其中,BaudRate為串行口波特率,F(xiàn)sys為晶體振蕩器或者系統(tǒng)時(shí)鐘的頻率,SBRT 為重載數(shù)據(jù)寄存器206的值,而BFINE為比特微調(diào)數(shù)據(jù)寄存器208的值。由上式可以看出,BFINE是用來(lái)輔助獨(dú)立定時(shí)器201調(diào)節(jié)波特率的,其調(diào)節(jié)精度可以為一個(gè)系統(tǒng)時(shí)鐘。BFINE的值則可以為0 15的整數(shù)。令BFINE的值為0時(shí),可以由下式確定SBRT的值SBRT = 32768-Fsys/16/BaudRate本發(fā)明需要對(duì)計(jì)算得到的SBRT的值化小數(shù)為整,例如SBRT的值為32763. 2,則取 SBRT 的值為 32764。類似地,BFINE的值可以由下式確定BFINE = Fsys/BaudRate-(32768-SBRT)*16然后對(duì)通過(guò)上式計(jì)算得到的BFINE的值進(jìn)行四舍五入。本發(fā)明可以對(duì)串行口波特率進(jìn)行最大限度的微調(diào),縮小波特率偏差,以滿足實(shí)際通信需求,避免為了提高通信速度而定制特殊晶振的額外花費(fèi),對(duì)波特率要求較高的單片機(jī)串口通信有著十分重要的意義。另外,本發(fā)明對(duì)波特率發(fā)生器設(shè)置獨(dú)立定時(shí)器,防止單片機(jī)內(nèi)部的定時(shí)器被波特率發(fā)生器過(guò)多占用,導(dǎo)致定時(shí)器缺乏。本發(fā)明雖然以較佳實(shí)施例公開如上,但其并不是用來(lái)限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動(dòng)和修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本發(fā)明權(quán)利要求所界定的范圍為準(zhǔn)。
      權(quán)利要求
      1.一種波特率發(fā)生器,包括獨(dú)立定時(shí)器,與系統(tǒng)時(shí)鐘相連接,用于產(chǎn)生串行口波特率的起始溢出信號(hào); 16分頻器,與所述獨(dú)立定時(shí)器相連接,用于將所述波特率16等分; 比特寬度微調(diào)器,分別與所述系統(tǒng)時(shí)鐘、16分頻器和后續(xù)的串口模塊相連接,用于對(duì)所述16等分的波特率時(shí)鐘信號(hào)的寬度進(jìn)行微調(diào)輸出。
      2.根據(jù)權(quán)利要求1所述的波特率發(fā)生器,其特征在于,所述獨(dú)立定時(shí)器包括計(jì)數(shù)器,分別與所述系統(tǒng)時(shí)鐘和16分頻器相連接,用于以系統(tǒng)頻率的速度遞增計(jì)數(shù), 當(dāng)計(jì)數(shù)到32768時(shí)溢出;重載數(shù)據(jù)寄存器,與所述計(jì)數(shù)器相連接,用于當(dāng)所述計(jì)數(shù)器溢出時(shí),把自己的值載入所述計(jì)數(shù)器中。
      3.根據(jù)權(quán)利要求1或2所述的波特率發(fā)生器,其特征在于,所述比特寬度微調(diào)器包括 比特微調(diào)數(shù)據(jù)寄存器,用于存放需要對(duì)所述波特率調(diào)節(jié)的數(shù)值;乘法器,分別與所述比特微調(diào)數(shù)據(jù)寄存器和系統(tǒng)時(shí)鐘相連接,用于根據(jù)所述系統(tǒng)時(shí)鐘將所述比特微調(diào)數(shù)據(jù)寄存器的值轉(zhuǎn)化為調(diào)節(jié)的寬度值;加法器,分別與所述16分頻器和乘法器相連接,用于根據(jù)波特率精度的要求改變所述 16分頻器后的信號(hào)寬度。
      4.根據(jù)權(quán)利要求3所述的波特率發(fā)生器,其特征在于,所述串行口波特率由下式計(jì)算 BaudRate = Fsys/[(32768-SBRT)*16+BFINE]其中BaudRate為所述串行口波特率,F(xiàn)sys為所述晶體振蕩器或者系統(tǒng)時(shí)鐘的頻率, SBRT為所述重載數(shù)據(jù)寄存器的值,而BFINE為所述比特微調(diào)數(shù)據(jù)寄存器的值。
      5.根據(jù)權(quán)利要求4所述的波特率發(fā)生器,其特征在于,所述BFINE的調(diào)節(jié)精度為一個(gè)系統(tǒng)時(shí)鐘,其值為0 15的整數(shù)。
      6.根據(jù)權(quán)利要求5所述的波特率發(fā)生器,其特征在于,所述SBRT的值由下式計(jì)算 SBRT = 32768-Fsys/16/BaudRate。
      7.根據(jù)權(quán)利要求5所述的波特率發(fā)生器,其特征在于,所述BFINE的值由下式計(jì)算 BFINE = Fsys/BaudRate-(32768-SBRT)*16然后對(duì)上式計(jì)算得到的BFINE的值進(jìn)行四舍五入。
      全文摘要
      本發(fā)明提供一種波特率發(fā)生器,包括獨(dú)立定時(shí)器,與系統(tǒng)時(shí)鐘相連接,用于產(chǎn)生串行口波特率的起始溢出信號(hào);16分頻器,與獨(dú)立定時(shí)器相連接,用于將波特率16等分;比特寬度微調(diào)器,分別與系統(tǒng)時(shí)鐘、16分頻器和后續(xù)的串口模塊相連接,用于對(duì)16等分的波特率時(shí)鐘信號(hào)的寬度進(jìn)行微調(diào)輸出。本發(fā)明可以對(duì)串行口波特率進(jìn)行最大限度的微調(diào),縮小波特率偏差,以滿足實(shí)際通信需求,避免為了提高通信速度而定制特殊晶振的額外花費(fèi),對(duì)波特率要求較高的單片機(jī)串口通信有著十分重要的意義。另外,本發(fā)明對(duì)波特率發(fā)生器設(shè)置獨(dú)立定時(shí)器,防止單片機(jī)內(nèi)部的定時(shí)器被波特率發(fā)生器過(guò)多占用,導(dǎo)致定時(shí)器缺乏。
      文檔編號(hào)H03K23/66GK102324927SQ20111011466
      公開日2012年1月18日 申請(qǐng)日期2011年5月4日 優(yōu)先權(quán)日2011年5月4日
      發(fā)明者徐海濤, 李劍英, 胡偉, 許成珅 申請(qǐng)人:中穎電子股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1