-
傳輸率
鎖定
所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。國際上規定了一個標準波特率系列,標準波特率也是最常用的波特率,標準波特率系列為110、300、600、1200、4800、9600和19200。
- 中文名
- 傳輸率
- 外文名
- Baud rate
- 別 名
- 波特率
- 定 義
- 每秒傳輸多少位
- 單 位
- bit/s
- 學 科
- 通信科技
傳輸率簡介
所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。國際上規定了一個標準波特率系列,標準波特率也是最常用的波特率,標準波特率系列為110、300、600、1200、4800、9600和19200。
傳輸率是指每秒鐘傳送二進制數碼的位數(也稱比特數),單位是bit/s。波特率是串行通信的重要指標,用於表徵數據傳送的速率。波特率越高,數據傳輸速度越快。字符的實際傳送速率與波特率不同,字符的實際傳送速率是指每秒鐘內所傳字符幀的幀數,與字符幀格式有關。
例如,波特率為2400bit/s的通信系統,若採用圖1 a)的字符幀,則字符的實際傳送速率為(2400/11)幀/s=218.18幀/s;若採用圖1b)的字符幀,則字符的實際傳送速率為(2400/14)幀/s=171.43幀/s。
每位的傳送時間定義為波特率的倒數。通常,異步通信的波特率在50~9600bit/s之間。波特率不同於發送時鐘和接收時鐘,時鐘頻率常是波特率的1、16或64倍。在異步串行通信中,接收設備和發送設備保持相同的傳送波特率,並以字符數據的起始位與發送設備保持同步。起始位、奇偶校驗位和停止位的約定在同一次傳送過程中必須保持一致,這樣才能成功地傳送數據。
[1]
傳輸率設計
在串行通信中,收發雙方或接收的數據速率要有一定的約定,通過軟件對8051串行口編程可約定4種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波持率是可變的,由定時器T1的溢出率來決定。串行口的4種工作方式對應着3種波特率。由於輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。
波特率的計算方法
(1)方式0波特率
串行口方式0的波特率由振盪器的頻率所確定:
方式0波特率=振盪器頻率/12
(2)方式2波特率
串行口方式2的波特率由振盪器的頻率和SMOD(PCON.7)所確定:
方式2波特率=
×振盪器頻率_/64
SMOD為0時,波特率等於振盪器頻率的1/64;SMOD為1時,波特率等於振盪器頻率的1/32。
(3)方式1和方式3的波特率
波特率的產生
(1)用定時器T1產生波特率
當定時器T1作為串行口的波特率發生器時,串行口方式1和方式3的波特率由下式確定:
方式1和方式3波特率=
×(T1溢出率)/32
其中,溢出率取決於計數速率和定時器的預置值。計數速率與TMOD寄存器中C/T的狀態有關。當C/T=o時,計數速率=振盪器頻率/12;當C/T=1時,計數速率取決於外部輸入時鐘頻率。
當定時器T1作波特率發生器使用時,通常選用可自動裝入初值模式(工作方式2),在工作方式2中,TL1作計數用,而自動裝入的初值放在TH1中,設計數初值為X,則每過“256一X”個機器週期,定時器T1就會產生一次溢出。為了避免因溢出而引起中斷,此時應禁止T1中斷。這時有:
溢出週期=12/振盪器頻率x(256一X)
溢出率為溢出週期的倒數,所以有:
波特率=
×振盪器頻率/[32×12×(256一X)]
此時,定時器Tl在工作方式2時的初值為:
(2)用定時器T2產生波特率
8052等單片機內的定時器12也可以作為串行口的波特率發生器,置位T2CON中的TCLK和RCLK位,T2就工作於串行口的波特率發生器方式。
T2的波特率發生器方式和計數初值常數自動再裝入方式相似,若C/T2=0,以振盪器的二分頻信號作為T2的計數脈衝,C/T2=0時,計數脈衝是外部引腳T2(P1.0)上的輸入信號。T2作為波特率發生器時,當T2計數溢出時,將RCAP2H和RCAP2L中常數(由軟件設置)自動裝入TH2、TL2,使T2從這個初值開始計數,但是並設置“1”TF2,RCAP2H和RCAP2L中的常數由軟件設定後,T2的溢出率是嚴格不變的,因而使串行口方式1和3的波特率非常穩定,其值為
方式1和方式3波特率=振盪器頻率/32×[65536一(RCAP2H)(RCAP2L)]
T2工作於波特率發生器方式時,計數溢出時不會置“l”TF2,不向CPU請求中斷,因此不必禁止T2的中斷。如果EXEN2為1,當T2EX(P1.1)上輸入電平發生“1”至“0”的負跳變時,也不會引起RCAP2H和RCAP2L中的常數裝入TH2、TL2,僅僅置位EXF2,向cpu請求中斷,因此T2EX可以作為一個外部中斷源使用。