999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CORTEX-M3的多機通信網(wǎng)絡(luò)的設(shè)計與實現(xiàn)

2014-09-23 03:20:12荊炳禮
電子設(shè)計工程 2014年13期
關(guān)鍵詞:系統(tǒng)設(shè)計

李 敏,荊炳禮,劉 穎

(西安歐亞學院 信息工程學院,陜西 西安 710065)

基于CORTEX-M3的多機通信網(wǎng)絡(luò)的設(shè)計與實現(xiàn)

李 敏,荊炳禮,劉 穎

(西安歐亞學院 信息工程學院,陜西 西安 710065)

系統(tǒng)以STM32F103作主控單元,使用RS485通信總線,制定了一套通信協(xié)議,從軟件角度保證了總線仲裁機制的完整,保證了測控網(wǎng)絡(luò)的正常運轉(zhuǎn)。在系統(tǒng)設(shè)計論述過程中,根據(jù)RS485通信總線的特點,論述了系統(tǒng)中多機通信設(shè)計的原理及過程,結(jié)合在系統(tǒng)調(diào)試過程中遇到的問題,提出了在使用RS485過程中的注意事項。

RS485;通信協(xié)議;半雙工;發(fā)送端;接收端;CORTEX-M3

隨著嵌入式技術(shù)的發(fā)展,測控設(shè)備逐漸智能化。企業(yè)信息化需求在設(shè)備選型時一個必要條件就是設(shè)備要具有聯(lián)網(wǎng)通信接口。RS232接口能夠?qū)崿F(xiàn)點對點的通信方式,但不能實現(xiàn)聯(lián)網(wǎng)功能,且遠距離傳輸性能抗干擾性差。RS485接口解決了此問題,其數(shù)據(jù)傳輸最高速率可達到10 Mbps,且接口采用平衡驅(qū)動器和差分接收器的組合,抗共模干擾能力強,抗噪性好,適合于遠距離傳輸。RS485總線最大可以支持32個節(jié)點,通過特制芯片,最大可以支持400個節(jié)點,因此,RS485非常適合于分布式測控系統(tǒng)通信領(lǐng)域。但RS485只能代表通信的物理介質(zhì),數(shù)據(jù)的傳輸訪問必須開發(fā)相應(yīng)的程序。

CORTEX-M3是基于ARM7架構(gòu)的處理器內(nèi)核,采用哈佛架構(gòu),其功耗低,性價比高。在多機通信網(wǎng)的設(shè)計中,經(jīng)過需求分析,提出并設(shè)計了一種基于CORTEX-M3的多機通信網(wǎng)絡(luò)。設(shè)計中,CORTEX-M3用做系統(tǒng)終端,作為主機和從機。從機負責前端系統(tǒng)的各類數(shù)據(jù)測量,主機作為控制端,負責各從機測量信息的采集,并通過網(wǎng)絡(luò)實現(xiàn)對從機的控制。在系統(tǒng)的設(shè)計中,網(wǎng)絡(luò)傳輸接口采用RS485,根據(jù)通信網(wǎng)絡(luò)特點,設(shè)計中自制了RS485多機通信協(xié)議,開發(fā)了基于CORTEX-M3處理器的通信接口程序,程序移植性好,可以移植到CORTEX-M3內(nèi)核的通信網(wǎng)絡(luò)當中。經(jīng)過測試,系統(tǒng)通信性能良好,無數(shù)據(jù)丟失及網(wǎng)絡(luò)死鎖現(xiàn)象。

1 RS485介紹

RS-485標準是為彌補RS-232通信距離短、遠距離通信的抗干擾性能差等缺點而產(chǎn)生的。RS-485標準只規(guī)定了平衡發(fā)送器和接收器的電特性,而沒有規(guī)定接插件、傳輸電纜和應(yīng)用層通信協(xié)議[1]。

RS-485標準與RS-232不一樣,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為 A,另一線定義為 B,如圖1所示。

圖1 RS485器件引腳Fig.1 RS485 device pins

圖2中,RS485發(fā)送器中 A、B之間的高電平是在+2~+6 V之間,表示正邏輯狀態(tài);低電平是在-2~-6 V之間,表示負邏輯狀態(tài)。對于RS485接收端,當在A、B之間有大于+200 mV電壓,輸入為正邏輯電平;小于 輸入為負邏輯電平,如圖3所示。圖1中RS-485器件中有一個信號地,一般,各器件信號地可以連接在一起,或者不連接;器件中,另有一個“使能”控制信號端,用于控制RS485是作為發(fā)送端還是作為接收端。當使能端為高電平時,作為發(fā)送端,當為低電平時,作為接收端。RS485為半雙工通信方式,同一時刻,器件只能作為發(fā)送端或接收端,軟件設(shè)計總線仲裁中,通過“使能”信號控制。

圖2 RS485發(fā)送器簡圖Fig.2 RS485 transmitter diagram

圖3 RS485接收器簡圖Fig.3 RS485 receiver diagram

2 RS485在系統(tǒng)中的應(yīng)用

RS485多機通信中,各器件中的A點連接在一起,B點連接在一起,通過雙絞線連接,所有RS485節(jié)點掛接在一對RS485總線上。由于RS485為半雙工工作模式,同一時刻,網(wǎng)絡(luò)中只允許一臺RS485接口設(shè)備處于發(fā)送狀態(tài),否則,總線上的數(shù)據(jù)會混亂;此外,由于RS485缺乏硬件仲裁機制,通信中,無法通過硬件仲裁來釋放及占有總線,在多機通信網(wǎng)絡(luò)中,可以從軟件角度考慮總線仲裁。而RS485標準沒有規(guī)定應(yīng)用層通信協(xié)議,在軟件設(shè)計系統(tǒng)總線仲裁中,可以根據(jù)系統(tǒng)特性及功能,制定相應(yīng)的應(yīng)用通信層協(xié)議。

1 )系統(tǒng)簡述

系統(tǒng)中網(wǎng)絡(luò)結(jié)構(gòu)采用星形網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)拓撲圖如圖4所示。

圖4 星形拓撲結(jié)構(gòu)示意圖Fig.4 Star topology diagram

系統(tǒng)中的網(wǎng)絡(luò)結(jié)構(gòu)由主控機(M0)、從機(S1、S2……)構(gòu)成,均為嵌入式系統(tǒng)設(shè)備,內(nèi)核為CORTEX-M3。本系統(tǒng)中所有的RS485終端設(shè)備為嵌入式設(shè)備,終端設(shè)備接口一致,直接通過雙絞線連接。

主機負責測控系統(tǒng)的信息采集,控制信息發(fā)送;各從機負責及完成各種信息的測量及數(shù)據(jù)轉(zhuǎn)換,并將測控信息發(fā)送給主機。系統(tǒng)采用星形拓撲結(jié)構(gòu) 分支節(jié)點故障查找方便,由于接口簡單,擴展性良好,中心節(jié)點通信軟件協(xié)議較復雜,而各分支節(jié)點通信協(xié)議較簡單。

2)RS485通信協(xié)議總線設(shè)計

通信協(xié)議的設(shè)計主要包括物理層和數(shù)據(jù)鏈路層:

物理層實現(xiàn)以下功能:

發(fā)送數(shù)據(jù)時,將數(shù)據(jù)鏈路層送來的數(shù)據(jù)按字節(jié)進行并串轉(zhuǎn)換,增加起始位、奇偶校驗位及停止位,然后將轉(zhuǎn)換后的信號發(fā)送到物理信道上;接收數(shù)據(jù)時,從物理信道串行接收電平信號,然后進行電平轉(zhuǎn)換、奇偶校驗、串并轉(zhuǎn)換,得到所接收的數(shù)據(jù)[3]。

數(shù)據(jù)鏈路層實現(xiàn)以下功能:

數(shù)據(jù)鏈路層位于物理層和應(yīng)用層之間,為應(yīng)用層提供統(tǒng)一的接口函數(shù),實現(xiàn)無差錯的雙向數(shù)據(jù)傳輸。數(shù)據(jù)鏈路層協(xié)議主要包括幀格式設(shè)計、傳輸速率設(shè)置、幀收發(fā)程序、字符串收發(fā)程序。

①串口驅(qū)動程序設(shè)計

STM32F103串口驅(qū)動程序的設(shè)計調(diào)用系統(tǒng)庫函數(shù),省去了很多底層函數(shù)的編寫。幀格式設(shè)計、傳輸速率設(shè)置通過結(jié)構(gòu)體InitTypeDefInitStruCture結(jié)構(gòu)體賦并初始化完成;幀的發(fā)送及接收已有庫函數(shù)USART_ReceiveData(USART_TypeDef*USARTx)及USART_SendData(USART_TypeDef*USARTx,uint16_t Data),通過這兩個函數(shù)的應(yīng)用,可以實現(xiàn)字符串的收和發(fā)程序,簡化驅(qū)動程序開發(fā)。

在串口驅(qū)動程序設(shè)計中,需要注意的是:在接收及發(fā)送幀數(shù)據(jù)時,使能端的電平設(shè)置,因此收發(fā)程序不能直接使用stm32f中的庫函數(shù)。據(jù)此,在串口驅(qū)動程序的設(shè)計中,重新編寫了接收及發(fā)送字節(jié)函數(shù)。發(fā)送字節(jié)函數(shù)示例:

②通信協(xié)議設(shè)計

為了實現(xiàn)從機信息正確的接收,在設(shè)計過程中,根據(jù)系統(tǒng)特點,制定了相應(yīng)的通信協(xié)議:人為認為每臺從機有地址編碼[4],例如,1號機地址為 0x1,2號機地址為 0x2,以此類推,此數(shù)據(jù)也代表了從機機號。從機全部作為接收端,等待接收命令。

第一步:所有從機處于接收等待狀態(tài);主機發(fā)送一幀數(shù)據(jù)表示地址,從機接收并判斷是否為本機地址:是,則響應(yīng);否則,丟棄此幀數(shù)據(jù),繼續(xù)等待接收本機地址幀;

第二步:從機接收到本機地址幀后,發(fā)送一個握手應(yīng)答數(shù)據(jù)給主機。此時,從機作為發(fā)送端,主機作為接收端。主機發(fā)送完地址幀后隨即切換狀態(tài)并等待接收握手應(yīng)答數(shù)據(jù)。當接收到總線握手數(shù)據(jù)后,主機判斷是不是所需要讀取的機號的握手通信數(shù)據(jù):是,則通信成功,讀取從機發(fā)送信息;否則,重新開始地址發(fā)送;

第三步:從機發(fā)送總線握手信號后,隨即發(fā)送數(shù)據(jù)給主機。數(shù)據(jù)發(fā)送結(jié)束后,恢復等待接受狀態(tài)。

整個通信過程中,所有從機通信協(xié)議全部一致[5],從機接受地址信息并判斷后,如果和本機地址相符,則發(fā)送數(shù)據(jù)給主機。

按照系統(tǒng)中制定的通信協(xié)議,主機和從機的軟件設(shè)計流程圖如圖5~圖7所示。

從機作為測控前端,實現(xiàn)系統(tǒng)測控和數(shù)據(jù)傳送,其通訊受控于主機,因而從機接收數(shù)據(jù)采用中斷方式,即從機一旦接收到主機的呼叫信號,立即進入接收中斷與主機通信,其工作流程圖如圖6、7所示。

圖5 從機主程序流程圖Fig.5 Main program flow chart of slave machine

圖6 主機主程序流程圖Fig.6 Main program flow chart of host

圖7 主機接收中斷服務(wù)子程序流程圖Fig.7 Program flow chart of the interrupt

在整個系統(tǒng)中,主從機均可作為發(fā)送端和接收端。同一時刻,網(wǎng)絡(luò)中只能有一個發(fā)送端,因此,在設(shè)計通信協(xié)議的時候,注意狀態(tài)的切換;另根據(jù) 狀態(tài)工作時序特點,需要設(shè)計好收發(fā)之間的延時,否則會出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。發(fā)送時,使能端置“1”,延時1 ms左右,再發(fā)送有效數(shù)據(jù),一幀數(shù)據(jù)發(fā)送完畢后再延時1 ms,使能端置“0”。這樣總線在狀態(tài)切換時,使之有一個穩(wěn)定的工作狀態(tài)。

3 結(jié)束語

系統(tǒng)使用RS485半雙工收發(fā)器,實現(xiàn)了基于CORTEXM3的多機通信網(wǎng)絡(luò)的組建,主機利用順序方式采集數(shù)據(jù),實現(xiàn)了一主多從的通訊方式[6]。主從機通過狀態(tài)的切換,都可以扮演發(fā)送端及接收端的角色,本質(zhì)上還是使用了半雙工通信的特點,利用軟件進行任務(wù)調(diào)度,最終實現(xiàn)了星形網(wǎng)絡(luò)多機通信。本文設(shè)計的RS485通信協(xié)議可移植性強、穩(wěn)定性高、易擴展,可以廣泛應(yīng)用于工業(yè)控制、現(xiàn)場總線、遠程監(jiān)控等領(lǐng)域。

[1]劉衍偉,陳淵睿.基于RS485總線的監(jiān)控系統(tǒng)研究與設(shè)計[J].微處理機,2011(4):65-67.

LIU Yan-wei,CHEN Yuan-rui,Research and design of monitoring system based on RS485 bus [J].Micoprocessor,2011(4):65-67.

[2]張輝,分布式測控系統(tǒng)通信網(wǎng)絡(luò)的設(shè)計與實現(xiàn)[J].現(xiàn)代科學儀器,2012,12(6):122-125.

ZHANG Hui,The design and implementation of RS485 Bus in distributed water pump intelligent measurement and control system [J].Modern Scientific Instruments,2012,12(6):122-125.

[3]張悅君,基于脈沖變壓器的總線式RS485隔離器[J].電子設(shè)計工程,2012(21):166-167.

ZHANG Yue-jun,Bus type RS485 isolation coupler based on pulse transformer[J].Electronic Design Engineering,2012(21):166-167.

[4]韓曉雷,錢東平.基于RS485總線的設(shè)備吊裝應(yīng)力檢測系統(tǒng)[J].起重運輸機械,2009(3):87-89.

HAN Xiao-lei,QIAN Dong-ping,Equipment hoisting stress testing system based on RS485 bus[J].QIAN Ddong-ping,Lifting Transportation Machinery,2009(3):87-89.

[5]李成,王鵬.RS-485總線的高速串行遠距離數(shù)據(jù)傳輸[J].清華大學學報,2009(45):684-687.

LI Cheng,WANG Peng.RS-485 bus-based high-speed serialremote data transmissions [J].JIsinghua Univ(Sci&Tech),2009(45):684-687.

[6]江一舟,張怡聰,李斌.Cortex-M3單片機在工業(yè)儀表中的應(yīng)用[J].儀表技術(shù),2010(6):24-26.

JIANG Yi-zhou,ZHANG Yi-cong,LI Bin.Implemention of Cortex-M3 micro-controller in industrial instruments[J].Instrument Technique,2010(6):24-26.

The design and implementation of multicomputer communication based on the CORTEX-M3

LI Min ,JING Bing-li,LIU Ying
(Information Engineering College of Xi'an Eurasia University,Xi’an 710065,China)

The system used STM32F103 as main control unit,by using RS485 communication bus,developed a set of communication protocol,from the perspective of software to ensure the integrity of the bus arbitration mechanism,guarantee normal operation of the monitoring and control network.In the process of system design,according to the characteristics of RS485 bus,discussed the principle and process of the system in multi machine communication design,combined with the problems encountered in the process of debugging the system,and puts forward some matters needing attention in using RS485.

RS485;communication protocol;half duplex;the sender;the receiving end;CORTEX-M3

[TN915.41]

A

1674-6236(2014)13-0158-03

2013-10-09 稿件編號:201310025

陜西省科技廳計劃項目(S2012GY2043);西安市社科基金項目(14EA22)

李 敏(1979—),女,陜西西安人,碩士,講師。研究方向:計算機技術(shù)、嵌入式系統(tǒng)。

猜你喜歡
系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 99er精品视频| V一区无码内射国产| 久久精品娱乐亚洲领先| 日本一区二区三区精品视频| 欧美特级AAAAAA视频免费观看| 人妻丰满熟妇AV无码区| 国产午夜福利片在线观看| 久久综合婷婷| 看你懂的巨臀中文字幕一区二区| 亚洲第一成年网| 成人中文字幕在线| 亚洲av无码专区久久蜜芽| 日本欧美精品| 日韩高清在线观看不卡一区二区| 毛片久久久| 国产一二三区在线| 久久精品亚洲中文字幕乱码| 免费在线色| 蜜臀AV在线播放| 国产va欧美va在线观看| 中国一级特黄大片在线观看| 久久久久九九精品影院| 成年A级毛片| 亚洲天堂色色人体| 伊人久久婷婷五月综合97色| 久久99久久无码毛片一区二区| 日韩成人在线一区二区| 久久精品人人做人人爽电影蜜月| 午夜精品福利影院| 在线色国产| www亚洲天堂| 日韩精品一区二区三区大桥未久| 免费在线国产一区二区三区精品| 日韩精品无码免费一区二区三区| 亚洲精品无码人妻无码| 成年人视频一区二区| 一区二区无码在线视频| 成年免费在线观看| 91精品国产自产在线老师啪l| 午夜福利视频一区| 久操线在视频在线观看| 国产91特黄特色A级毛片| 亚洲天堂福利视频| 97色婷婷成人综合在线观看| 亚洲永久色| 任我操在线视频| 欧美三级自拍| 伊人色在线视频| 99在线观看国产| 波多野结衣一区二区三区AV| 97se亚洲综合在线| 天堂成人在线视频| 老司机午夜精品视频你懂的| 毛片国产精品完整版| 久久中文字幕av不卡一区二区| 白丝美女办公室高潮喷水视频| 黄色网址手机国内免费在线观看| 亚洲天堂精品视频| 色视频国产| 伊人久久久久久久| 狠狠色综合网| 久久久精品久久久久三级| 日韩一区精品视频一区二区| 天堂成人av| 四虎国产永久在线观看| 国产91高清视频| 国产国拍精品视频免费看| 99视频国产精品| 国产无人区一区二区三区| 亚洲欧洲国产成人综合不卡| 日本手机在线视频| 久久久久无码精品国产免费| 国产麻豆aⅴ精品无码| 久久综合九九亚洲一区| 成人在线观看不卡| 亚洲一区二区在线无码| 国产成人免费观看在线视频| 日本精品影院| 中文字幕亚洲无线码一区女同| 区国产精品搜索视频| 久久狠狠色噜噜狠狠狠狠97视色| 免费观看成人久久网免费观看|