a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 關于GPIO實現RS485/422通信的研究

關于GPIO實現RS485/422通信的研究

作者: 時間:2014-03-26 來源:網絡 收藏

2)中間層:字節接收,如圖6所示。當新bit接收完成時,將當前Bit值按照格式組合到字節數據。當字節位計數器滿一個字節時,如果滿足起始位“0”和停止位“1”的條件,字節接收完成,并通知頂層進行幀接收控制,否則字節無效。

本文引用地址:http://www.j9360.com/article/235349.htm

 

 

3)頂層:幀接收,如圖7所示。首先檢測串口當前狀態是否為接收允許,如果不是則將串口置為接收允許、發送禁止狀態,在確任接收允許后開始收數。在新字節接收完成后,將新字節寫入接收緩沖區,同時根據通信協議啟動報文識別,直到收到一幀完整的報文,結束接收通信。根據實際需要可以加入通信超時控制。

 

 

4.面向對象實現方法

在DSP中,對某一個管腳操作,需要對某一個寄存器的某一位進行置位或者清零。

為避免每次對管腳操作時去尋找寄存器的地址和位地址這個易出錯的缺點,軟件設計時采用C++類結構的方式進行數據封裝,使用時只需在初始化時一次性的傳入寄存器及其位地址,其余用處均采用交互性良好的助記符。

4.1 管腳類數據結構

在構建管腳類時,圍繞寄存器以及位地址操作和電平操作進行。

軟件數據類型與處理器的型號相關,本文采用TMS3206713處理器,為有效控制數制,將硬件支持數制和編譯系統符號相對應,將C6000數據類型重定義,在GPIO操作中主要使用無符號數。

4.2 串口類數據結構

為了區分當前使用的串口類型,故定義串口類型號枚舉,為串口操作程序提供識別入口。

由類的構造函數知,由于RS422和RS485所使用的管腳不同,為了將每種操作統一到一個函數中,采用了swtich結構,其他成員函數類似。其中發射函數Sending()對應圖3、4中的流程,接收函數Receving()對應圖5、6、7中的流程。

軟件設計以定時器為中心,由使用目的屬性來區分發送還是接收,以中斷方式控制通信時序,能夠實現全雙工通信。在全雙工通信中,當出現收發定時中斷沖突的極端情況時,可設定發送優先,由于端口操作時間為納秒級,接收滯后處理的影響可以忽略不計。

5.位檢測與接收通信可靠性

由于每一個bit的檢測結果直接決定著接收數據是否正確,按照波特率所確定的時間間隔對端口電平采樣一次來確定bit的值來實現的軟件,實驗室拷機時存在誤碼現象,因此通過提高bit的檢測能力,降低誤碼率。bit檢測改進方法如下:

(1)接收通信的位采樣仍然采用由波特率確定的時間間隔,但對于位檢測時,采用讀3次管腳電平然后進行表決的方式確定當前bit的值,有效降低了誤碼率,但仍有字節出錯的問題,因為3取2的方式可以部分地剔除納秒級的高頻毛刺,但不能有效抑制強干擾引起的電平翻轉,需進一步改進。

( 2 )將每一b i t檢測的時間間隔縮短到1/3,即對每一個bit進行三次檢測,然后做3取2判決,并將連續30個1/3bit的高電平后的首個1/3bit低電平作為幀起點的先決條件,確保正常情況下每一bit的3個1/3bit都是同樣的電平值,這樣做的好處是每一個bit的檢測可以允許一個1/3bit出錯。

以下進行簡要分析,令改進之前的誤碼率是p,引起誤碼的噪聲為非相干的,第一次改進后,對于任一bit的三次檢測中允許有一次出錯,因此在理想狀態下的誤碼率為檢測出錯兩次和三次的條件概率:

 

 

如果p=10-6,那么最終的誤碼率可以降低到約為1.4×10-25,分析表明改進措施應該有效。

經改進的軟件在實驗室進行了30小時通訊強度試驗,試驗中20ms完成一輪收發,報文長度為20個字節,在約1.08×108字節的接收通信中,未發現一個字節的通信錯誤。此后在產品8個月的調試與外場試驗統計數據表明,除了有一次因通信接口芯片損壞以及一次不明原因的通信出錯以外,沒有出現因為軟件產生的通信故障,證實了接收通信的可靠性。

6.結論

本文在GPIO模擬通用串口通信的研究中,采用分層處理技術、優化bit檢測方法、面向對象設計手段,實現了全雙工通訊,具有邏輯清晰、易于實現、可靠性高和易于改進、維護和移植的優點;但也存在一定的局限性,如軟件不宜采用匯編語言實現,全雙工通信是以定時器為中心進行統籌實現的,并不是真正獨立意義上的全雙工,其波特率受工作頻率的限制較大。

通信相關文章:通信原理


塵埃粒子計數器相關文章:塵埃粒子計數器原理

上一頁 1 2 下一頁

關鍵詞: GPIO RS485/422

評論


相關推薦

技術專區

關閉