搜索
熱門(mén)關(guān)鍵詞:
S3C2410
三極管
Altium
低通濾波器
PLC
手機版
官方微博
微信公眾號
登錄
|
免費注冊
首頁(yè)
新聞
新品
文章
下載
電路
問(wèn)答
視頻
職場(chǎng)
雜談
會(huì )展
工具
博客
論壇
在線(xiàn)研討會(huì )
技術(shù)頻道:
單片機/處理器
FPGA
軟件/編程
電源技術(shù)
模擬電子
PCB設計
測試測量
MEMS
系統設計
無(wú)源/分立器件
音頻/視頻/顯示
應用頻道:
消費電子
工業(yè)/測控
汽車(chē)電子
通信/網(wǎng)絡(luò )
醫療電子
機器人
當前位置:
EEChina首頁(yè)
›
論壇
›
草稿箱
返回列表
查看:
2257
|
回復:
0
機載計算機RS422A通訊的軟硬件設計與實(shí)現
[復制鏈接]
designapp
designapp
當前離線(xiàn)
積分
16020
電梯直達
樓主
發(fā)表于 2016-10-26 15:35:20
|
只看該作者
|
倒序瀏覽
|
閱讀模式
貿澤電子有獎問(wèn)答視頻,回答正確發(fā)放10元微信紅包
關(guān)鍵詞:
422A
,
RS
,
機載計算機
摘要
RS422A、RS485等異步串行通訊技術(shù)廣泛應用于機載計算機實(shí)時(shí)控制系統,提高了飛機的可維護性和可擴展性。為使其穩定工作,不僅需要可靠硬件平臺,還需嚴密的軟件算法°文中描述了某機載計算機為實(shí)現與多個(gè)設備進(jìn)行實(shí)時(shí)異步串行通訊,設計了統一的硬件平臺,并根據每個(gè)設備不同的通訊協(xié)議,給出了不同的軟件算法,重點(diǎn)闡述了軟件設計及原理。根據該原理研制的產(chǎn)品已經(jīng)過(guò)試驗、聯(lián)試和用戶(hù)使用,證明其工作可靠、性能良好。
關(guān)鍵詞
RS422A;RS485;通訊軟件設計
1 RS422A標準
RS422A是一種在工程中廣泛使用的接口標準,其采用差分傳輸方式,也稱(chēng)為“平衡傳輸”,標準全稱(chēng)是“平衡
電壓
數字接口
電路
的電氣特性”?梢(jiàn)RS422A定義的是接口電路的電氣特性,而對數據格式未作定義。RS422A是全雙工通信,通信的雙方均含有一個(gè)發(fā)送、接收驅動(dòng)器。其中接收驅動(dòng)器的兩個(gè)平衡線(xiàn)連接端點(diǎn)定義為A和B,發(fā)送驅動(dòng)器的兩個(gè)平衡線(xiàn)連接端點(diǎn)定義為Y和Z,通常使用平衡雙絞線(xiàn)將一端的Y和A、Z和B相連。通常發(fā)送驅動(dòng)器端Y、Z之間的正電平在2~6 V,代表正邏輯,負電平在-6~-2 V,代表負邏輯。在接收端,當A、B之間有>+ 200 mV的電平時(shí),輸出正邏輯電平-200 mV時(shí),輸出負邏輯電平。RS422A最大傳輸距離為4 000英尺(約1 219 m),最大傳輸速率為10 Mbit· s-1。其中平衡雙絞線(xiàn)的長(cháng)度與傳輸速率成反比,在100 kbit·s-1速率下,才可達到最大傳輸距離。只有在較短的距離下才能獲得最高速率傳輸。一般100 m長(cháng)的雙絞線(xiàn)可獲取的最大傳輸速率為1Mbit·s-1。
2 硬件設計
對于RS422A、RS485等異步串行通訊的硬件設計,主要有兩種方式。
(1)采用協(xié)議芯片加接口驅動(dòng)芯片的方式。該方式技術(shù)較成熟,但使用的元器件較多,占用印制板的板面較大。
(2)采用SOC的方式,將協(xié)議芯片的邏輯功能在可編程邏輯器件
FPGA
中編程實(shí)現。該方式使用的元器件較少,但在FPGA中寫(xiě)出較完善的協(xié)議邏輯的難度較大。
本工程中采用第一種方式,用協(xié)議芯片16C552或16C554加接口驅動(dòng)芯片進(jìn)行通訊。并設計回繞自測試電路。采用16C552芯片實(shí)現全雙工收發(fā)RS-422器功能,RS-422驅動(dòng)電路由DS26LS31MJ(4路RS-422發(fā)送器)、DS26LS32MJ(4路RS-422接收器)、終端匹配電路和保護電路組成。
3 軟件設計
3.1 通訊協(xié)議的定義
RS422A標準只對接口的電氣特性做出規定而不涉及協(xié)議,因此可定義自身的高層通信協(xié)議。在本設計方案中,在底層以Byte為單位通信,采用UART字的格式。在上層協(xié)議中采用數據包為單位通信。
通信協(xié)議中主要規定:(1)通訊雙方的傳送控制方式,即主從命令響應方式或周期通訊方式等。(2)通訊周期。(3)通訊速率,即波特率。(4)通訊字格式。通訊的最小信息單位是UART字,每個(gè)UART字由11位二進(jìn)制數組成,如圖1所示。
第1位:起始位(邏輯“0”狀態(tài)為有效);第2~9位:信息位;第10位:奇偶校驗位(約定為偶校驗);第11位:停止位(邏輯“1”狀態(tài)為有效)。每個(gè)UART字按低位到高位的先后順序串行傳送。對于16位二進(jìn)制數據分成兩個(gè)UART字,按由低到高的先后順序傳送。(5)通訊包格式。通訊傳送的基本單位是通訊包,通訊包由包頭、包狀態(tài)、數據字和包尾組成,最后的包尾是校驗和字,其結構如圖2所示。
校驗和字為通訊包中除校驗和字外所有字累加和的補碼。校驗和校驗正確的依據為接收到的UART字塊中所有字的累加和等于0。
包頭通常規定為0xAA55或0x55AA,與數據字相同的概率較小。包頭一旦與數據字相同,則可能誤認為該數據字為包頭,從而組包錯誤。
通訊協(xié)議應規定每個(gè)數據字中每一位的定義。若通訊協(xié)議中存在多種包長(cháng)或多種數據包定義,則應在包狀態(tài)中說(shuō)明該包的包長(cháng)或包序號,由包序號可明確該包數據的詳細定義。
3.2 接收數據
首先,需確定接收數據的方式,即選擇查詢(xún)接收或是中斷接收。
嵌入式
實(shí)時(shí)控制系統應盡量減少中斷的使用,在查詢(xún)接收可滿(mǎn)足通訊要求,且不影響實(shí)時(shí)性的情況下,盡量采用查詢(xún)的方式接收數據。
若通訊協(xié)議規定,要接收的數據包的長(cháng)度小于或等于硬件接收FIFO緩沖區的長(cháng)度,且兩包數據間的間隔時(shí)間大于或等于最小查詢(xún)周期,則可采用查詢(xún)的方式接收數據。否則需采用中斷的方式接收,才能保證數據不丟失。
采用查詢(xún)的方式接收數據時(shí),以最小周期進(jìn)行反復查詢(xún),若硬件接收FIFO緩沖區中有數據則收入軟件中設定的容量較大的先入先出隊列緩沖區。
采用中斷的方式接收數據時(shí),硬件接收FIFO緩沖區中有數據則會(huì )引發(fā)中斷,中斷服務(wù)程序中將硬件接收FIFO緩沖區中有數據則收入軟件中設定的容量較大的先入先出隊列緩沖區。
而后,再以通訊協(xié)議規定的接收數據周期,從軟件隊列緩沖區中取數、找包頭、按包長(cháng)組包、算校驗和。當未收到完整數據包或校驗和錯時(shí),進(jìn)行錯誤計數。
上述分兩步接收數據的流程示意如圖3所示。以該方式,可無(wú)需消耗多余的時(shí)間,并確保數據不丟失。
3.3 發(fā)送數據
發(fā)送數據作為主動(dòng)的行為,盡量不使用中斷。當需發(fā)送的數據包長(cháng)度小于或等于硬件發(fā)送FIFO緩沖區時(shí),可直接發(fā)送。當需發(fā)送的數據包長(cháng)度大于硬件發(fā)送FIFO緩沖區時(shí),可分為多次發(fā)送。軟件將要發(fā)送的數據組織好后存入容量較大的先入先出隊列緩沖區。再以軟件運行的最小周期,將隊列緩沖區中的數據分批裝入硬件發(fā)送FIFO緩沖區進(jìn)行發(fā)送。
4 數據組包的算法
以通訊協(xié)議規定的接收數據周期,從軟件隊列緩沖區中取數,進(jìn)行數據組包的算法是較為重要的,其保證了軟件采信數據的有效性和完整性。并和通訊協(xié)議密切相關(guān)。包長(cháng)固定時(shí)的流程如圖4所示,其主要步驟如下:
(1)確認要接收的通道號是否合法。
(2)在軟件隊列緩沖區中,當剩余字節數大于等于包長(cháng)時(shí),才有可能取得新的一包完整數據。剩余字節數小于包長(cháng)則認為無(wú)新的一包完整數據,等到下個(gè)周期再組包接收。
(3)在剩余字節數大于等于包長(cháng)的條件下,按照通訊協(xié)議中規定的包頭,從隊列中依次查找,非包頭則拋掉,直至找到包頭。
(4)以包頭為起始,按包長(cháng)取出一包數據,計算校驗和。若校驗和正確則得到一包有效數據。
(5)軟件隊列緩沖區中若還有足夠數據,則繼續查找包頭并組包,若有新的一包有效數據則采用最新數據,防止數據積壓。
用該算法,當有錯誤數據出現時(shí),可檢查出錯誤并丟棄出錯的數據包,找出下一包正確的數據。不會(huì )因一包數據出錯而影響后續多包數據。
要接收的數據包長(cháng)變化時(shí),通訊協(xié)議需規定,根據包頭后的包狀態(tài)字明確該包數據的包長(cháng)。先假定當前要接收的是最短包,以緩沖區中剩余字節數大于或等于最短包長(cháng),作為找包頭的前提條件。找到包頭后,根據包狀態(tài)字確定該包包長(cháng),若緩沖區中剩余字節數小于該包包長(cháng),則認為數據未完成接收,將包頭和包狀態(tài)字仍留存在緩沖區中,等待下個(gè)周期補充新數據后再進(jìn)行組包接收。包長(cháng)變化時(shí)接收數據組包的流程較復雜,如圖5所示。
5 結束語(yǔ)
文中設計的算法充分考慮了傳輸過(guò)程可能出現的各種情況,分兩步完成數據接收,小周期或中斷僅進(jìn)行硬件緩沖區的接收,滿(mǎn)足實(shí)時(shí)性要求且保證數據不會(huì )因未及時(shí)接收而丟失;大周期進(jìn)行數據組包,并以最快捷的方式找到有效數據包。系統與12個(gè)設備進(jìn)行RS422A或RS485通訊,經(jīng)驗證,文中設計的算法綜合機載計算機實(shí)時(shí)控制系統的實(shí)時(shí)性和可靠性要求。
收藏
0
頂
0
踩
0
相關(guān)文章
•
IAS 工業(yè)自動(dòng)化展 RS 機器人展 MWCS 數控機床與金屬加工展 ICTS 信息技術(shù)展
•
教你輕松替代RS 232:RS 485實(shí)現串口通信
•
RS Components上海新擴建分撥中心 容量翻番產(chǎn)品線(xiàn)增加三倍
•
RS上海分撥中心成功擴容今年首推USB數字目
•
RS Components宣布為Google SketchUp推出印刷電路板(PCB)轉換器模塊
•
RS Components與Accelerated Designs推出新系列零件庫
•
與瑞薩電子簽訂直接特許經(jīng)營(yíng)協(xié)議
•
RS電源設計大賽震撼開(kāi)啟!報名有獎,求組隊
•
RS網(wǎng)絡(luò )分析儀ZVB8無(wú)法正常開(kāi)機維修案例
•
2021成都 數控機床與金屬加工展 ICTS 信息技術(shù)展
回復
舉報
返回列表
高級模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登錄后才可以回帖
登錄
|
立即注冊
本版積分規則
發(fā)表回復
回帖后跳轉到最后一頁(yè)
關(guān)于我們
-
服務(wù)條款
-
使用指南
-
站點(diǎn)地圖
-
友情鏈接
-
聯(lián)系我們
電子工程網(wǎng)
© 版權所有
京ICP備16069177號
| 京公網(wǎng)安備11010502021702
快速回復
返回頂部
返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页