目錄串列埠通訊原理 (3)
1、序列通訊基本概念 (3)
2、pic微控制器的序列介面 (4)
3、序列通訊介面硬體電路介紹 (5)
4、rs485硬體電路介紹 (7)
ex9.1、rs232通訊 (8)
ex9.2、rs485雙向通訊 (10)
串列埠通訊原理
1、序列通訊基本概念
計算機與外界的資訊交換稱為通訊。常用通訊方式有兩種:並行通訊與序列通訊,也稱並行傳送和序列傳送。
並行傳送具有傳送速度快,效率高等優點,但傳送多少資料位就需要多少根資料線,傳送成本高;序列傳送是按位順序進行資料傳送,最少僅需要一根傳輸線即可完成,傳送距離遠,但傳送速度慢。
序列通訊又分同步和非同步兩種方式。這兩種通訊方式的區別在於傳送裝置時鐘與接收裝置時鐘是否嚴格一致。同步通訊中,在資料傳送開始時先用同步字元來指示(常約定1-2個),並由同時傳送的時鐘訊號來實現傳送端和接收端同步,即檢測到規定的同步字元後,接著就連續按順序傳送資料。
這種傳送方式對硬體結構要求較高。非同步通訊中,接收器和傳送器有各自的時鐘,它們的工作是非同步的,非同步通訊用一幀來表示乙個字元,其內容如下:乙個起始位,僅接著是若干個資料位,下圖中傳輸45h的資料格式。
另外乙個字元應包括以下資訊:
1. 起始位:對應邏輯0(space)狀態。傳送器通過傳送起始位開始一幀字元的傳送。
2. 資料位:起始位之後傳送資料位。資料位中低位在前,高位在後。資料位可以是5、6、7、8位。
3. 奇偶校驗位:奇偶校驗位實際上是傳送的附加位,若該位用於奇偶校驗,可校檢序列傳送的正確性。奇偶校驗位的設定與否及校驗方式(奇校驗還是偶校驗)由使用者需要確定。
4. 停止位:用邏輯1(mark)表示。停止位標誌乙個字元傳送的結束。停止位可以是1、1.5
或2位。
序列通訊中用每秒傳送二進位制資料位的數量表示傳送速率,稱為波特率。
1波特=1bps(位/秒)
例如資料傳送速率是240幀/秒,每幀由一位起始位、八位資料位和一位停止位組成,則傳送
速率為:
10×240=2400位/ 秒=2400波特
在序列通訊中,資料是在兩個站之間傳送的。按照資料傳送方向,序列通訊可分為單工方式、半雙工和全雙工三種方式。
單工方式:資料僅按乙個固定方向傳送。因而這種傳輸方式的用途有限,常用於序列口的列印資料傳輸與簡單系統間的資料採集。
半雙工方式:資料可實現雙向傳送,但不能同時進行,實際的應用採用某種協議實現收/發開關轉換。
全雙工方式:允許雙方同時進行資料雙向傳送,但一般全雙工傳輸方式的線路和裝置較複雜。
多工方式:以上三種傳輸方式都是用同一線路傳輸一種頻率訊號,為了充分地利用線路資源,可通過使用多路復用器或多路集線器,採用頻分、時分或碼分復用技術,即可實現在同一線路上資源共享功能,我們盛之為多工傳輸方式。
通常,許多序列通訊介面電路均具有全雙工通訊能力,但是在實際使用中,大多數情況只工作
與半雙工方式,即兩個工作站通常並不同時收發。
2、pic微控制器的序列介面
usart非同步傳送模式下相關的暫存器
1)、傳送控制兼狀態暫存器txsta
txsta是6位可讀/寫的暫存器,d3位沒有使用,d1位是唯讀位。
2)、接收控制兼狀態暫存器rcsta
rcsta是8位可讀/寫的暫存器,各位功能如圖所示。
3)、波特率發生器初值暫存器spbrg
spbrg暫存器是波特率發生器,用它與brgh(txsta的d2)來設定波特率。
brgh=l時,波特率=fosc/16*(spbtg+1);
brgh=0時,波特率=fosc/64*(spbtg+1)。
例如:振盪器為4 mhz,fosc=4 mhz。brgh=l,spbrg=25。
波特率=4000000/16/(25+1)=9615(bps),與標準的9600 bps的誤差為0.16%,可無誤工作。4)、傳送緩衝器txreg和接收緩衝器rcreg
傳送緩衝器txreg和接收緩衝器rcreg分別是兩個8位的資料暫存器。待發資料要寫入傳送緩衝器txreg中;每次受到的資料可以從接收緩衝器rcreg中讀出。
3、序列通訊介面硬體電路介紹
常用介面:
1、rs232:收發電平為±12v的eia電平,由於收發共地,所以直接通訊距離不能太遠,通常小於100m。
2、rs422與rs485:採用對稱輸入輸出,即收與發各兩條線,距離可達1000m。 rs422是全雙工,rs485是半雙工。
進行序列通訊時要滿足一定的條件,兩者之間必須有乙個電平轉換電路,我們採用了專用晶元max3232進行轉換。我們採用了三線制連線串列埠,也就是說和計算機的9針串列埠只連線其中的3根線:第5腳的gnd、第2腳的rxd、第3腳的txd。
這是最簡單的連線方法,但是對我們來說已經足夠使用了,電路如下圖所示。
4、rs485硬體電路介紹
rs232和rs485是兩種典型的序列通訊標準,兩種標準的主要區別有:
1)、傳輸距離。rs485傳輸距離要比rs232大很多。
2)、介面電平。rs485的介面電平比rs232電平降低了。
3)、傳輸速率。rs485最高傳輸速率可達到10mbps。
對於軟體程式設計方面, rs485和rs232完全一致,但是由於485資料傳輸為差分方式,所以需要同樣具有485介面的硬體,才能實現資料收發。
ex9.1、rs232通訊
編寫程式,將pc機鍵盤的輸入傳送給微控制器,微控制器收到pc機發來的資料後,回送同一資料給pc機,並在螢幕上顯示出來。具體要求如下:
1)pc機與微控制器通訊正常,螢幕上顯示的字元與所鍵入的字元相同。
2)通訊協議為:9600,n,8,1。
3)實驗成功後,修改程式,改變系統的通訊速度,看有什麼變化。
實驗源程式:
初始化串列埠
void init_***( void )
串列埠中斷函式
void interrupt usart()
}主函式
void main(void)
特率9600bps。
擴充套件實驗:自己動手通過串列埠傳送資料控制開發板上的發光二極體點亮。
ex9.2、rs485雙向通訊
(本實驗是基於兩個nbcpic-v2.0試驗儀之間的485通訊)
實驗源程式:
主函式void main(void)
if(rd7==0) //判斷是否有按鍵按下}}
}nbcpic-v2.0使用手冊
資料正確,led將閃爍1下。
擴充套件實驗:自己動手通過甲板控制乙板上的繼電器和蜂鳴器。
11 北方藍芯科技開發****
232 485串列埠通訊詳解
串列埠通訊詳解 一 rs 232 rs 232在1962年發布,命名為eia 232 e,作為工業標準,以保證不同廠家產品之間的相容。rs 232 c是美國電子工業協會eia electronic industry association 制定的一種序列物理介面標準。rs是英文 推薦標準 的縮寫,2...
ARM9串列埠積累
i o 輸入 輸出 empu嵌入式微處理器 mcu 微控制器 嵌入式微控制器 edsp嵌入式dsp處理器 soc 嵌入式片上系統 eda 電子設計自動化 risc reduced instruction set computer 精簡指令集計算機 rts cts協議 rts cts協議 reques...
RS232串列埠通訊詳解
串列埠是計算機上一種非常通用的裝置通訊協議。串列埠的引腳定義 兩個串列埠連線時,接收資料針腳與傳送資料針腳相連,彼此交叉,訊號地對應相接即可。串列埠的電氣特性 1 rs 232串列埠通訊最遠距離是50英呎 2 rs232可做到雙向傳輸,全雙工通訊,最高傳輸速率20kbps 3 rs 232c上傳送的...