国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PC與單片機(jī)多機(jī)RS232串口通信設(shè)計(jì)分析

2020-01-01 01:10席小衛(wèi)陳荻茜田銘繁
數(shù)字通信世界 2020年2期
關(guān)鍵詞:PC機(jī)串口數(shù)值

席小衛(wèi),陳荻茜,蘇 喆,田銘繁

(蘭州理工大學(xué)技術(shù)工程學(xué)院,蘭州 730200)

0 引言

現(xiàn)階段,控制系統(tǒng)的功能逐漸增加,內(nèi)部構(gòu)造日益復(fù)雜,通常以工控機(jī)為上位機(jī),以單片機(jī)為下位機(jī),處于被控對象的地層,借助PC機(jī)完成數(shù)據(jù)采集與分析工作。由于PC機(jī)和單片機(jī)之間需要完成數(shù)據(jù)傳輸,這時(shí)需要多個(gè)RS232串口的支持,本文針對串口通信的設(shè)計(jì)進(jìn)行分析和研究。

1 RS23 2串口通信原理

串口通信主要通過ASCII碼進(jìn)行傳輸,采用地線進(jìn)行接收和發(fā)送,通信段在一條線路中發(fā)送信息,可在另一條線路中進(jìn)行接收。其中,波特率、數(shù)據(jù)位、奇偶校驗(yàn)位等參數(shù)十分關(guān)鍵。

(1)波特率??蓪νㄐ潘俣冗M(jìn)行反應(yīng),與時(shí)鐘的周期相同,但與距離呈反比,只有相似儀器中才可使用這一參數(shù)。

(2)數(shù)據(jù)位??蓪νㄐ艛?shù)據(jù)進(jìn)行體現(xiàn),通常標(biāo)準(zhǔn)為5、7、8位,發(fā)送信息與標(biāo)準(zhǔn)值之間具有一定關(guān)聯(lián)。標(biāo)準(zhǔn)碼由7或者8位組成,在單包中最后一位是停止位,在定時(shí)時(shí)可通過傳輸線進(jìn)行數(shù)據(jù)傳輸,因此設(shè)備時(shí)鐘不同。在通信時(shí)設(shè)備之間很難做到同步傳輸,因此差異性相對較小,此時(shí)可發(fā)揮停止位的作用,對傳輸進(jìn)行約束,停止位的數(shù)量應(yīng)得當(dāng),不可過多或者過少,以適當(dāng)?shù)奈粩?shù)保障數(shù)據(jù)的傳輸率。

(3)奇偶校驗(yàn)位。該項(xiàng)參數(shù)可對串口通信的正誤率進(jìn)行檢驗(yàn),主要方式為高、低、奇、偶等類型,在奇偶校驗(yàn)的過程中,數(shù)據(jù)最末位便是校驗(yàn)位;對于設(shè)備來說,對位的狀態(tài)進(jìn)行掌握,可有效判斷數(shù)據(jù)傳輸是否受到其他設(shè)備的干擾。

2 PC與單片機(jī)RS23 2 串口通信設(shè)計(jì)

2.1 連接框架

在該系統(tǒng)中,主要采用“一主多從”的總線連接方式,與總線特征相結(jié)合,將兩個(gè)120的電阻分別連接在兩側(cè),芯片類型為MAX485,在驅(qū)動(dòng)器中最多可帶128個(gè)單片機(jī),因此通信數(shù)量不可超過128個(gè)。

2.2 軟件設(shè)計(jì)

在數(shù)據(jù)傳輸過程中,單片機(jī)通常采用中斷方式,在初始化時(shí),SM2的數(shù)值為1,工作方式為3,波特率為9600。通信協(xié)議為:

(1)PC機(jī)將地址信息傳輸給單片機(jī),由接收端對信息進(jìn)行查詢。

(2)當(dāng)單片機(jī)接收到PC機(jī)傳輸來的信息后,即可執(zhí)行程序,使串口通信中斷,與自身現(xiàn)有的地址進(jìn)行對比,當(dāng)?shù)刂放c自身設(shè)定的地址相同時(shí),單片機(jī)即可將應(yīng)答信號發(fā)送出來,使SM2的數(shù)值為0,反之則中斷返回。

(3)當(dāng)PC機(jī)接收到地址信息,并將應(yīng)答信號傳輸后,即可將開始數(shù)據(jù)發(fā)送出去,如若未接收到正確的應(yīng)答信號,則需要繼續(xù)發(fā)送地址。當(dāng)單片機(jī)收到數(shù)據(jù)后,即可執(zhí)行相應(yīng)指令。

(4)當(dāng)單片機(jī)接收到PC機(jī)傳輸?shù)男畔⒑?,即可開啟通信中斷程序,當(dāng)單片機(jī)對數(shù)據(jù)進(jìn)行順利接收后,即可將應(yīng)答信號傳輸給PC機(jī)[1]。

2.3 通信實(shí)現(xiàn)

在單片機(jī)通信過程中,采用多機(jī)通信控制位SM2實(shí)現(xiàn)主機(jī)與從機(jī)之間的相互通信,對于IBM PC機(jī)來說,其內(nèi)部采用INS8250型的芯片,不具有單片機(jī)多機(jī)控制位的相應(yīng)功能,但是可通過上述流程進(jìn)行軟件處理,使該芯片具有單片機(jī)控制位SM2。與INS8250單片機(jī)相比,采用INS8250單片機(jī)多機(jī)通信控制位,單片機(jī)發(fā)送的11位數(shù)據(jù)幀格式,將二者的幀格式進(jìn)行對比,如下所示:PC機(jī)與單片機(jī)在起始位、停止位以及中間D0到D7均相互對應(yīng),只有PC機(jī)的奇偶位與TB8相互對應(yīng)。從上述數(shù)據(jù)可知,第1行為屬于INS850可發(fā)送11位數(shù)據(jù)幀格式,與第2行為相比,第一位均未起始位,最后一位均為停止位,只有第9位的含義有所不同,即PC機(jī)為奇偶位,單片機(jī)為TB8,因此如若在INS8520中對奇偶位中的TB8功能進(jìn)行校驗(yàn),則可實(shí)現(xiàn)PC與多個(gè)單片機(jī)相互通信的目標(biāo)。在應(yīng)用過程中,對PC軟件進(jìn)行編程時(shí),可對INS8250進(jìn)行編程,使奇偶位具備TB8的功能,也就是在發(fā)送地址時(shí),可強(qiáng)制奇偶位為1,在發(fā)送數(shù)據(jù)時(shí),可強(qiáng)制奇偶位為0,進(jìn)而實(shí)現(xiàn)相互通信[2]。

通過對INS8250進(jìn)行分析可知,其內(nèi)部具有10個(gè)寄存器,其中D0和D1代表的是數(shù)據(jù)位長、D2代表的是停止位長、D3到D5代表的是奇偶檢驗(yàn)選擇、D6代表的是中止位、D7代表的是除數(shù)標(biāo)志。當(dāng)D7的數(shù)值為0時(shí),說明是正常尋址;當(dāng)D7的數(shù)值為1時(shí),說明對除數(shù)寄存器進(jìn)行訪問;當(dāng)D6的數(shù)值為0時(shí),說明處于正常發(fā)送狀態(tài);當(dāng)D6的數(shù)值為1時(shí),說明正常發(fā)送終止,在串行輸出端方面,當(dāng)Sout為0時(shí),D5和D3三者均代表著通信數(shù)據(jù)的奇偶校驗(yàn)規(guī)則;D3可代表校驗(yàn)位的有無,D4可代表校驗(yàn)的奇偶性[3];D5代表的是將發(fā)送方的奇偶性,通過數(shù)據(jù)傳輸?shù)姆绞?,放入附加位中告知接收方;?dāng)D5、D3和D4的數(shù)值均為1時(shí),在D7發(fā)送數(shù)據(jù)時(shí),可在D7與停止符之間附加一個(gè)0的標(biāo)志,可對以往奇偶性進(jìn)行校驗(yàn)。當(dāng)D3、D4和D5的數(shù)值均為1時(shí),可在D7與停止符之間附加一個(gè)1的標(biāo)志。簡單來將,當(dāng)D3、D4和D5的數(shù)值均為1時(shí),原本奇偶校驗(yàn)位始終為1,當(dāng)D2的數(shù)值為0時(shí),則只有一位和半停止位;當(dāng)D2的數(shù)值為1時(shí),當(dāng)數(shù)據(jù)位的長度為5時(shí),代表一半均為停止位;當(dāng)數(shù)據(jù)位長為6—8時(shí),則有兩位停止位。D0和D1均為傳輸數(shù)據(jù)位的長度,當(dāng)二者的數(shù)值為0時(shí),規(guī)定數(shù)據(jù)位應(yīng)為5;當(dāng)D1的數(shù)值為0,D0的數(shù)值為1時(shí),此時(shí)數(shù)據(jù)位應(yīng)為6。事實(shí)上,可采用以下三條語句對INS8250進(jìn)行編程,對串口通信中的11位數(shù)據(jù)幀進(jìn)行定義,奇偶位為1,即:

Mov al,2bh//INS8250線路控制寄存器,數(shù)據(jù)位為8,停止位位長為1,奇偶位為1;

Mov dx,3fbh//INS8250線路寄存器端口地址為3fb;

Out dx,al

通過上述編程,可使PC向單片機(jī)通信傳輸時(shí)的相互通信創(chuàng)造有利條件,使TB8的數(shù)值為1,充分滿足串口通信傳輸需求。

3 結(jié)束語

綜上所述,通過本文分析,在多機(jī)串口通信過程中,可實(shí)現(xiàn)PC和單片機(jī)之間的相互通信,有效節(jié)省二者傳輸中的無效時(shí)間,使系統(tǒng)傳輸?shù)膶?shí)時(shí)性得到顯著提升,在更多場合得到廣泛應(yīng)用。

猜你喜歡
PC機(jī)串口數(shù)值
體積占比不同的組合式石蠟相變傳熱數(shù)值模擬
基于NPORT的地面綜合氣象觀測系統(tǒng)通信測試方法及故障處理
數(shù)值大小比較“招招鮮”
艦船測風(fēng)傳感器安裝位置數(shù)值仿真
鋁合金加筋板焊接溫度場和殘余應(yīng)力數(shù)值模擬
基于API函數(shù)庫實(shí)現(xiàn)串口數(shù)據(jù)通信的分析與設(shè)計(jì)
基于EM9000工控板高性能雙串口通信模型設(shè)計(jì)與實(shí)現(xiàn)
船舶電子設(shè)備串口數(shù)據(jù)的軟件共享方法
基于WiFi技術(shù)的智能手機(jī)雙控視頻小車
用VC++實(shí)現(xiàn)PC機(jī)與單片機(jī)的串行通信
商水县| 新巴尔虎右旗| 吉木乃县| 吉林市| 新郑市| 台江县| 万年县| 盐城市| 综艺| 新野县| 陇南市| 徐汇区| 庆云县| 龙山县| 台南市| 大埔区| 南汇区| 尤溪县| 耒阳市| 滕州市| 桑植县| 石门县| 舞阳县| 莱西市| 托克托县| 青岛市| 杨浦区| 泽普县| 阳新县| 揭东县| 邮箱| 阳西县| 印江| 慈利县| 泾阳县| 永和县| 清远市| 阆中市| 安顺市| 凤山县| 封丘县|