中文名 | 波特率轉(zhuǎn)換 | 外文名 | Baud rate conversion |
---|---|---|---|
簡????稱 | BRC | 拼????音 | bō tè lǜ zhuǎn huàn |
作????用 | 串行通信的數(shù)據(jù)交換 | 轉(zhuǎn)化途徑 | 分別設(shè)置、FPGA自動轉(zhuǎn)換等 |
異步通信協(xié)議規(guī)定每個數(shù)據(jù)以相同的位串行傳送,每個串行數(shù)據(jù)自起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成。
起始位:發(fā)送設(shè)備發(fā)送一個數(shù)據(jù)時,先發(fā)一個邏輯“0”信號,占一位,提醒接收方準(zhǔn)備接收。
數(shù)據(jù)位:信號位數(shù)可以為5、6、7或8 位。數(shù)據(jù)位從最低有效位開始逐位發(fā)送。
奇偶校驗位:用于進(jìn)行有限差錯檢測, 占一位。通信雙方需約定-致的奇偶校驗方式。
停止位:用于標(biāo)志一個數(shù)據(jù)的傳送完畢.一般用高電平.可以為1 位、1.5位、2 位。
波特率( Baud ):它是以每秒傳送的二進(jìn)制位數(shù)來度量的,單位為比特/秒(b/s)。PC機(jī)常用的波特率有: 50 、75 、110、150、300、600、1200、4800、9600和19200b/s 等幾種。
首先我們約定, PC機(jī)與FPGA 進(jìn)行串行通信的波特率為9600,信息格式為8 個數(shù)據(jù)位, 1 個停止位, 1 個奇偶校驗位。
控制下位系統(tǒng)進(jìn)行工作的波特率為375k ,其信息格式為8 個數(shù)據(jù)位, 1 個停止位, l 個奇偶校驗位。
對于接收Baud9600 (每位敷掘的位寬大約為104 μ s )的數(shù)據(jù)而言, 采用的晶振必須要大于2 × 9600= 19200Hz 才行,考慮到發(fā)送數(shù)據(jù)需要產(chǎn)生375k 的時鐘,被選用能被整除的24MHz 晶振。
接收過程始于在TXD9600端檢測到負(fù)跳變時。此時,利用24MHz 的晶振分頻得來的1MHz不斷采樣, 采樣速率為波特率的104倍。。一旦檢測到負(fù)跳變, 104計數(shù)據(jù)立即復(fù)位開始記數(shù),當(dāng)記數(shù)到52時把此刻的采樣值寄存起來, 記數(shù)滿104時一位數(shù)據(jù)采樣完畢, 清零104 計數(shù)器,重新開始記數(shù),對下一位數(shù)值進(jìn)行采樣寄存。2100433B
串口通信,就是RS-232/RS-485通信,要求通信的雙方波特率等通信格式一樣才可以通信成功??墒窃谠S多情況下,兩種不同格式比如不同波特率的串口也要相互通信,這就必須進(jìn)行串口波特率等格式的轉(zhuǎn)換。解決波特率轉(zhuǎn)化的途徑有兩種一是用單片機(jī),接收時設(shè)置為跟上位PC機(jī)一致的波特事進(jìn)行接收。發(fā)送時再設(shè)置為跟下位系統(tǒng)相同的波特察發(fā)送數(shù)據(jù);二是用FPGA , 利用VHDL設(shè)計出異步串行通信電路,直接接收PC 機(jī)的數(shù)據(jù),自行轉(zhuǎn)化為另一種波特率的事行數(shù)據(jù)再發(fā)送出去。
波特率 即 調(diào)制速率 ,指的是信號被 調(diào)制 以后在單位時間內(nèi)的 波特 數(shù),即單位時間內(nèi) 載波 參數(shù)變化的次數(shù)。它是對信號傳輸速率的一種度量,通常以“波特每秒”(Bps)為單位。 波特率有時候會同 比特...
什么叫波特率:1、單片機(jī)或計算機(jī)在串口通信時的速率。2、指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止...
單片機(jī)中計算串行口的波特率時,根據(jù)波特率是公式計算,我總是算不出正確值,波特率的單位是什么
波特率的單位是:波特/秒,也就是一秒內(nèi)接收到多少個字符,根據(jù)你單片機(jī)的晶振頻率、機(jī)器周期設(shè)定波特率,也就是設(shè)定在定時器中的初值,此時為了精確,要考慮到每一句程序的時間
格式:pdf
大?。?span id="jdffzzi" class="single-tag-height">167KB
頁數(shù): 3頁
評分: 4.6
設(shè)計了一種基于硬件電路的RS-485光電收發(fā)器。對光電收發(fā)器模塊的原理及使用場合進(jìn)行簡要論述。比較了工業(yè)控制領(lǐng)域中3種常用的光電收發(fā)器實現(xiàn)原理,對波特率自適應(yīng)方法進(jìn)行了詳細(xì)介紹并給出原理說明。模塊使用硬件電路搭建方向控制及整形電路,與軟件控制相比更加實時,可靠,同時降低了通信系統(tǒng)的復(fù)雜性。經(jīng)現(xiàn)場驗證表明,相關(guān)性能指標(biāo)完全滿足要求。
格式:pdf
大?。?span id="4nlq8nk" class="single-tag-height">167KB
頁數(shù): 19頁
評分: 4.3
轉(zhuǎn)換層鋼管柱和轉(zhuǎn)換鋼桁架吊裝 施 工 方 案 XX 工程公司 年月日 目錄 一、工程概況 二、施工部署 三、主要施工施工方法及主要技術(shù)措施 四、施工平面布置圖、平臺搭設(shè)示意圖 五、施工進(jìn)度計劃 六、主要施工管理措施 (一) 確保工期的保證措施 (二) 安全生產(chǎn)保證措施 (三) 文明施工保證措施 (四) 消防、保衛(wèi)措施 (五) 環(huán)境保護(hù)措施 (六) 成品保護(hù)措施 七、主要施工機(jī)具使用計劃 八、主要材料使用計劃 九、主要勞動力計劃 十、安全事故應(yīng)急救援措施 一、工程概況 本工程位于廣州市 **西路,為兩棟塔樓工程, 待建的 A塔樓 52層,建筑面積約 6 萬平方米; B塔樓 36層,建筑面積約 3 萬平方米,兩棟塔樓均為寫字樓。裙樓為 6 層(臨邊有 1.5m高的砼壁女兒墻 ), 面積約 5.6 萬平方米,以商場為主,已建成并投入 使用; 本工程 A塔樓建筑高度為 222.20 米,B塔樓建筑
波特率指數(shù)據(jù)信號對載波的調(diào)制速率,它用單位時間內(nèi)載波調(diào)制狀態(tài)改變次數(shù)來表示 。
波特率發(fā)生器不是產(chǎn)生波特率的,波特率時鐘頻率/波特率因子=波特率。
波特率發(fā)生器的作用是從輸入時鐘轉(zhuǎn)換出需要的波特率clk,即波特率時鐘頻率。
一個完整的由verilog實現(xiàn)的波特率發(fā)生器:
module baud_gen(
clk_50MHz, rst_p, bclk
);
input clk_50MHz; /*輸入的系統(tǒng)時鐘,50MHz*/
input rst_p; /*復(fù)位脈沖,高電平有效*/
/* 倍頻值16乘以9600波特率,即9600*16=153600,得到波特率發(fā)生器的實際輸出信號頻率為153.6kbit/s */
output bclk; // 輸出信號:UART(串口)波特率發(fā)生器輸出的時鐘脈沖,頻率:153.60kbps
//即每秒1536000個脈沖,*波特率發(fā)生器輸出脈沖bclk,注意:除了主頻分頻之外,
//還決定了這個信號的占空比,在本例中輸出信號占空比為 1:325
reg bclk; //寄存器數(shù)據(jù)類型bclk
reg [8:0] cnt; //寄存器數(shù)據(jù)類型cnt,9位,UART用它來記錄接收到的主頻脈沖個數(shù),
//注意在修改輸出波特率值時,若占空比小于1:511,需要增加該變量所占位數(shù)
//以下語句利用同步計數(shù)器完成時鐘分頻,
always @(posedge clk_50MHz) begin /* 每當(dāng)信號clk_50MHz發(fā)生電平變化執(zhí)行以下語句 */
if(rst_p) begin /* 如果復(fù)位脈沖信號為高電平執(zhí)行以下語句 */
cnt <= 0; //對主頻信號計數(shù)器cnt做非阻塞方式復(fù)位賦值,賦值為邏輯0 。此后每當(dāng)時鐘信號到來就變。
bclk <= 0; /* 寄存器變量bclk賦值為邏輯0,使該脈沖信號復(fù)位為低電平,以低電平作為開始*/
end
else begin
/* 50MHz除以153600(UART實際頻率)等于325.5 即50_000_000 /153600 = 325.5(波特率除數(shù)) */
if(cnt > 324) begin /*如果cnt的數(shù)值大于324,即cnt計數(shù)脈沖數(shù)等于325(0-324個脈沖)*/
cnt <= 0; /* 50MHz主頻信號計數(shù)器cnt值,被非阻塞方式復(fù)位*/
bclk <= 1; /*串口波特率時鐘脈沖信號bclk賦值為邏輯1,使該脈沖信號跳變到高電平周期*/
end
else begin
cnt <= cnt 1; /* 50MHz主頻信號計數(shù)器cnt值被非阻塞方式增量賦值(加1) */
bclk <= 0; //波特率發(fā)生器時鐘脈沖信號bclk被非阻塞方式賦值為’0’,
//使該脈沖信號跳變到低電平周期*/
end
end
end
endmodule
在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要有一定的約定。在8051串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時器T1的溢出率控制。
方式0
方式0的波特率固定為主振頻率的1/12。
方式2
方式2的波特率由PCON中的選擇位SMOD來決定,可由下式表示:
波特率=2的SMOD次方除以64再乘一個fosc,也就是當(dāng)SMOD=1時,波特率為1/32fosc,當(dāng)SMOD=0時,波特率為1/64fosc
方式1和方式3
定時器T1作為波特率發(fā)生器,其公式如下:
T1溢出率= T1計數(shù)率/產(chǎn)生溢出所需的周期數(shù)
式中T1計數(shù)率取決于它工作在定時器狀態(tài)還是計數(shù)器狀態(tài)。當(dāng)工作于定時器狀態(tài)時,T1計數(shù)率為fosc/12;當(dāng)工作于計數(shù)器狀態(tài)時,T1計數(shù)率為外部輸入頻率,此頻率應(yīng)小于fosc/24。產(chǎn)生溢出所需周期與定時器T1的工作方式、T1的預(yù)置值有關(guān)。
定時器T1工作于方式0:溢出所需周期數(shù)=8192-x 定時器T1工作于方式1:溢出所需周期數(shù)=65536-x
定時器T1工作于方式2:溢出所需周期數(shù)=256-x
因為方式2為自動重裝入初值的8位定時器/計數(shù)器模式,所以用它來做波特率發(fā)生器最恰當(dāng)。
當(dāng)時鐘頻率選用11.0592MHZ時,取易獲得標(biāo)準(zhǔn)的波特率,所以很多單片機(jī)系統(tǒng)選用這個看起來“怪”的晶振就是這個道理。
下表列出了定時器T1工作于方式2常用波特率及初值。
常用波特率 Fosc(MHZ) SMOD TH1初值 19200 11.0592 1 FDH 9600 11.0592 0 FDH 4800 11.0592 0 FAH 2400 11.0592 0 F4H 1200 11.0592 0 E8H
例如9600 11.0592 0 FDH
T1溢出率= T1計數(shù)率/產(chǎn)生溢出所需的周期數(shù)
產(chǎn)生溢出所需的周期數(shù)=256-FD(253)=3 SMOD=0 11059200/12*3 *1/32=9600
在串行通信中,收發(fā)雙方對發(fā)送或接收的數(shù)據(jù)速率要有一定的約定,我們通過軟件對MCS—51串行口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。
串行口的四種工作方式對應(yīng)著三種波特率。由于輸人的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。
一、方式0的波特率
方式0時,移位時鐘脈沖由56(即第6個狀態(tài)周期,第12個節(jié)拍)給出,即每個機(jī)器周期產(chǎn)生一個移位時鐘,發(fā)送或接收一位數(shù)據(jù)。所以,波特率為振蕩頻率的十二分之一,并不受 PCON寄存器中SMOD的影響,即: 方式0的波特率=fosc/12
二、方式l和方式3的波特率
方式1和方式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的 溢出率與SMOD值同時決定,即: 方式1和方式3的波特率=2SMOD/32·T1溢出率
其中,溢出率取決于計數(shù)速率和定時器的預(yù)置值。計數(shù)速率與TMOD寄存器中C/T的狀態(tài)有關(guān)。當(dāng)C/T=0時,計數(shù)速率=fosc/2;當(dāng)C/T=1時,計數(shù)速率取決于外部輸入時鐘頻率。
當(dāng)定時器Tl作波特率發(fā)生器使用時,通常選用可自動裝入初值模式(工作方式2),在 工作方式2中,TLl作為計數(shù)用,而自動裝入的初值放在THl中,設(shè)計數(shù)初值為x,則每過“256一x”個機(jī)器周期,定時器T1就會產(chǎn)生一次溢出。為了避免因溢出而引起中斷,此時應(yīng)禁止T1中斷。這時,溢出周期為:2100433B