RS-232是PC世界中最常見的串行接口。大多數(shù)RS-232接口以固定傳輸速率與接收器通信,例如9600波特。但是如果變送器以不同的傳輸速率運行會發(fā)生什么?不同的傳輸速率要求接收器檢測速率并將軟件調(diào)整到新的通信速度。以下關(guān)于接收器如何檢測RS-232接口的傳輸速率的描述沒有描述接收和發(fā)送例程的實現(xiàn)。相反,它描述了一個由發(fā)射器和接收器組成的系統(tǒng)。發(fā)送器(例如,PC)將字符發(fā)送到接收器。接收器是一種低成本μC,可檢測傳輸速率并根據(jù)新速率調(diào)整其軟件。實現(xiàn)原理很簡單。
發(fā)送器向接收器發(fā)送校準值。接收器測量接收校準值位的時間。基于該測量,接收器計算1比特的傳輸時間。該方法將此時間用于波特率發(fā)生器。訣竅是測量輸入比特流的時間并計算接收1比特的平均時間。自動波特例程的這種實現(xiàn)假設(shè)接收器知道校準值的比特序列并且接收器知道何時校準。該技術(shù)使用PIC16C54BμC。 μC通過MAX232芯片連接到PC。 PC將校準字符發(fā)送到μC。我們選擇ASCII值為“?”因為比特序列。自動波特率例程測量接收比特流中的那些的時間,然后將時間除以6。結(jié)果是例程接收或發(fā)送1位所需的時間。
由于PIC16C54B沒有硬件USART,因此軟件程序會測量位序列的時序。清單1給出了autobaud例程的源代碼。校準字符包含一個起始位,一個停止位和無奇偶校驗位。對于時間測量,該技術(shù)使用16位計數(shù)器,該計數(shù)器提供一系列傳輸速度。在例程的第一部分,軟件初始化計數(shù)器和自動波特率狀態(tài)寄存器AUTOB_STATUS。寄存器存儲有關(guān)自動波特率例程的輸入信號是否太慢或太快的信息。您可以使用此信息檢查校準過程是否成功。初始化之后,自動波特率程序查找起始位,這是一個邏輯從一到零的轉(zhuǎn)換。檢測到起始位后,自動波特率程序會查找反向轉(zhuǎn)換。檢測到此轉(zhuǎn)換后,例程開始使用16位軟件計數(shù)器測量時間。軟件遞增16位計數(shù)器的低字節(jié),直到計數(shù)器溢出。
當發(fā)生溢出時,16位計數(shù)器的高字節(jié)遞增1。這個過程一直持續(xù)到從邏輯1變?yōu)榱慊蛴嫈?shù)器的高字節(jié)溢出為止。在任何一種情況下,例程都會在AUTOB_STATUS中設(shè)置一個標志,以指示輸入信號是快還是慢。否則,軟件計算1位的傳輸時間。此時間會生成發(fā)送或接收例程的波特率。這些例程需要1比特的傳輸時間,以產(chǎn)生用于比特采樣的延遲或用于比特傳輸。軟件通過將測量時間除以校準值中傳輸?shù)臄?shù)量來計算1位的傳輸時間。在校準值“?”的情況下,有必要將測量時間除以6。除以6需要將16位計數(shù)器/寄存器向右移動三次,同時從左側(cè)繪制零。除法后,程序?qū)⑽粫r間除以2,計算半位的傳輸。該時間圖在接收例程中用于將位采樣置于位的中間。除以2需要將16位計數(shù)器簡單地移位到左側(cè)的一個位置。程序?qū)⒋瞬僮鞯慕Y(jié)果存儲在兩個寄存器中:AUTOHALF_LOW和AUTOHALF_HIGH。
程序完成此計算后,需要將1.5位的傳輸時間調(diào)整為軟件開銷。該調(diào)整涉及減去執(zhí)行發(fā)送或接收例程所需的指令周期數(shù)。減法后,軟件會驗證結(jié)果是否小于零。如果是這樣,輸入信號太快,并且例程在AUTOB_STATUS寄存器中設(shè)置錯誤標志。調(diào)整后,軟件通過驗證16位計數(shù)器的值為零來驗證輸入信號是否過快。如果輸入信號不是太快,則自動波特率例程返回到操作系統(tǒng)。
-
接收器
+關(guān)注
關(guān)注
14文章
2533瀏覽量
73118 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2971瀏覽量
22262 -
華強PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28364 -
華強pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43661
發(fā)布評論請先 登錄
RF采樣:全新的采樣速率數(shù)據(jù)轉(zhuǎn)換器
低成本無線射頻芯片A7105
為什么要設(shè)計一種低成本的差動音頻信號傳輸方案
Silicon Labs無線接收器Si4355可以同時支持傳輸速率為2.4/9.6Kbps的數(shù)據(jù)嗎?
一種GPS/Glonass接收器IC

網(wǎng)卡的傳輸速率
轉(zhuǎn)換器的傳輸速率
收發(fā)器的傳輸速率
一種可變位速率的位同步器的設(shè)計與仿真

基于AD620芯片的心跳速率檢測

一種自適應(yīng)速率控制FSO系統(tǒng)設(shè)計
AD1892:集成數(shù)字接收器/速率轉(zhuǎn)換器數(shù)據(jù)表

評論