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

采用單片機PCA捕捉比較模塊進行載波偵聽的多主RS485通訊系統的設計

2017-07-18 12:01:48玲,劉
數字通信世界 2017年6期

向 玲,劉 軍

(杭州快電新能源科技有限公司,杭州 310052)

采用單片機PCA捕捉比較模塊進行載波偵聽的多主RS485通訊系統的設計

向 玲,劉 軍

(杭州快電新能源科技有限公司,杭州 310052)

1 引言

在工業控制和現場儀表的熟知通訊系統中,RS485總線由于其造價低廉,使用簡單,而且采用差分信號傳輸,抗干擾性好,傳輸可靠,其應用的領域頗多。由于RS485是一種半雙工通訊方式,這種通訊方式一般適應于一對多的主從模式系統。如果要實現多主模式通訊,使得每個節點都能主動發起通訊,那么,就需要從硬件和軟件上,對原有的RS485總線方式進行改進,這里軟件上,我們引入以太網的載波監聽多點接入/碰撞檢測CSMA/CD的協議算法,這種協議能實現邊發送邊偵聽的多主通訊;在硬件方案的改進上,我們采用最省成本和方便的辦法,使用單片機內部的可編程計數器陣列(PCA)捕捉比較模塊的功能,對RS485收發器的RX線上的電平進行捕捉,從而偵聽到當前總線上的狀態。

本文采用的單片機C8051F340中,可編程計數器陣列PCA0有5個16位的捕捉/比較模塊,每個捕捉/比較模塊都有其自己的I/O線(CEXn)。本文使用的是捕捉/比較模塊的邊沿觸發捕捉工作方式,可以選擇正邊沿、負邊沿、雙邊沿觸發,選擇雙邊沿觸發,原因是需要測量RX的高電平時長來判斷總線是否空閑。

2 硬件設計

硬件設計簡單,不改變傳統的RS485網絡拓撲結構,只是將收發器的RX線接入到CEXn中的一個PCA捕捉通道既可以。

圖1

3 軟件算法

3.1 CSMA/CD協議的工作原理介紹

由于RS485是半雙工方式,在某時刻只能有一方發送數據,但是如果上下位機都要求能主動發起命令,那么解決485總線控制權的歸屬以及總線上的沖突處理是個關鍵的問題,因此,在本通訊系統中借鑒了CSMA/CD(載波監聽多路訪問/沖突檢測)協議進行設計,CSMA/CD介質訪問控制過程包括4個處理內容:偵聽、發送、檢測、沖突處理。具體過程可以參考響應標準,本設計中基本過程如同標準所述,但是出現碰撞后不會發送阻塞信息。強化沖突需要占據一定時間,降低效率,因此省略這個過程。

3.2 “X堅持”算法的介紹

發送前偵聽到總線忙,或者發送過程中發生數據碰撞后,我們采用非堅持算法,即偵聽到信道忙(即發現有其他站在發送數據),就不再堅持聽下去,而是根據協議的退避算法延遲一個隨機的時間后重新再監聽。若進行載波監聽時發現信道空閑,則將準備好的幀發送出去。優點是減少了沖突;其缺點信道利用率降低,不能充分利用信道剛剛轉入空閑期的這段時間。因為RS485總線能支持的設備數量是有限的,盡量減少沖突,提高系統的穩定性。二進制指數退避算法也在一定程度上彌補了非堅持算法信道利用率不高的缺點。

3.3 PCA捕捉模塊的載波偵聽

由于在空閑時,總線會保持高電平,RX也將保持高電平,可以通過檢測總線保持高電平的時間長短來確定總線是否空閑。

最小檢測時間t0的確定:各站點在發送一包數據幀時,字節間間隔可以忽略不計。每個字節的起始位都是低電平,如果線上有來自其它站點的連續字節在發送,那么線路上保持高電平的時間不會超過一個字節的時間(如圖2所示,19200b/s,發送0xff時,線上保持高電平的時間最長),換言說,如果線上保持高電平時間超過一個字節的時間,那說明沒有連續字節在發送,即說明總線是沒有被占用或者剛被釋放。因此檢測總線空閑與否,至少要檢測1個字節的發送時間。假設:對于19200b/s波特率傳輸速度,傳輸1字節需要521μs,取t0=600μs。

圖2

利用MCU的PCA雙邊沿捕捉/比較模塊和專用定時器T測量RO線上高電平的脈寬。RO轉為低電平時,觸發PCA中斷,將T清零且停止計時,清零溢出標志。RO轉為高電平時,T重新開始計時,T的值等于t0時,將溢出標志置位。這樣T的當前值記錄了總線為最后一次低電平后保持高電平的脈寬時間。

在準備發送前,先檢查溢出標志的值即可。如果溢出標志置位則認為總線是空閑的,可以開始發送數據。反之,認為總線是被其

它站點占用,此時要進行沖突處理。

3.4 退避延時算法

在各站點嘗試爭用總線而連續遇到沖突時,站點會隨機選擇一個延時時間,在這個時間內釋放總線。這是非堅持算法的要求。

二進制數指數退避算法是按“后進先出”(LIFO)的次序控制的,即未發生沖突或很少發生沖突的數據幀,具有優先發送的概率;而發生過多次沖突的數據幀,發送成功的概率小。這種方法在低負荷時,如總線空閑時,站點要發送數據幀的能立即發送;在重負荷時,仍能保證整個系統的穩定性。

這個優先級概率的控制就是由二進制數指數來控制隨時時間M選擇的范圍來實現的:延時時間M=[(0~2k-1的一個隨機數)×(一個確定時基Tbase:0.6ms)(k=5,如果沖突times小于5;k=times,如果沖突times在5~10次之間;K=10,如果沖突times大于10次)。

4 結束語

實現RS485多主通訊,引入CSMA/CD協議,并且采用單片機的PCA捕捉模塊進行載波偵聽,只需要增加一根PCA線,硬件成本極低,但是軟件設計相對來說就稍微復雜,在通訊繁忙的多站點系統中,由于PCA的中斷頻率太高(每次RX有電平跳變都要產生一次中斷),因此要特別對其進行時效分析,關注MCU的處理速度,是否能滿足PCA中斷任務處理和其它任務的及時處理。

[1] IEEE Std 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and Physical Layer specifications[S],2008

[2] 吳軍輝,林開顏,徐立鴻.RS485總線通信避障及其多主發送的研究[J].測控技術,2002, 21 (8) :41-43

[3] 孫漢卿,吳海波.現場總線技術[M].北京:國防工業出版社,2014

Using PCA’s Capture Comparator Module of MCU to Realize Multi-Master in RS485 Communication System

Xiang Ling, Liu Jun
(Hangzhou Fast Charge New Energy Technology Co., Ltd., Hangzhou, 310052)

10.3969/J.ISSN.1672-7274.2017.06.006

TP336,TN91文獻標示碼:A

1672-7274(2017)06-0020-02

主站蜘蛛池模板: 国产精品欧美日本韩免费一区二区三区不卡 | 人人爽人人爽人人片| 91香蕉视频下载网站| 亚洲一区二区三区国产精华液| 无码日韩视频| 国产精品一区不卡| 久久综合AV免费观看| 久久99精品国产麻豆宅宅| 欧美a在线看| 丁香婷婷久久| 国产一区三区二区中文在线| 国产裸舞福利在线视频合集| 色婷婷狠狠干| 伊人欧美在线| 怡红院美国分院一区二区| 日本午夜精品一本在线观看 | 精品无码一区二区三区在线视频 | 欧美激情视频一区| 国产福利一区视频| 国产成人1024精品| 在线观看精品国产入口| 成人福利一区二区视频在线| 亚洲国产在一区二区三区| 中文纯内无码H| 亚洲中久无码永久在线观看软件| 国产成人高清在线精品| 孕妇高潮太爽了在线观看免费| 国产浮力第一页永久地址| 亚洲天堂2014| 国产色爱av资源综合区| 精品久久香蕉国产线看观看gif| 亚洲国产成人精品无码区性色| 伊人福利视频| 日本中文字幕久久网站| 亚洲高清中文字幕在线看不卡| 波多野结衣视频网站| 欧美不卡二区| 国模极品一区二区三区| 狠狠色婷婷丁香综合久久韩国| 亚洲a免费| 人人看人人鲁狠狠高清| 日韩午夜伦| 久久香蕉国产线看精品| 精品人妻一区二区三区蜜桃AⅤ| 国产在线观看第二页| 精品综合久久久久久97| 欧美日韩国产在线播放| 国产无码精品在线播放| 亚洲日本一本dvd高清| 色国产视频| 欧美日韩一区二区在线免费观看| 乱人伦视频中文字幕在线| 爆乳熟妇一区二区三区| 日韩精品亚洲人旧成在线| 国产主播喷水| 高清久久精品亚洲日韩Av| 亚洲无线观看| 日韩123欧美字幕| 久久青草精品一区二区三区 | 精品久久人人爽人人玩人人妻| 蝌蚪国产精品视频第一页| 国产成人91精品| 国产偷国产偷在线高清| 9久久伊人精品综合| 精品国产成人三级在线观看| 日本国产一区在线观看| 国产va在线| 亚洲国产91人成在线| 国产精品成人免费视频99| 免费国产一级 片内射老| 米奇精品一区二区三区| 在线a视频免费观看| 免费jjzz在在线播放国产| 国产簧片免费在线播放| 欧美综合区自拍亚洲综合绿色| 高清无码不卡视频| 欧美.成人.综合在线| 国产97区一区二区三区无码| 日本一区二区不卡视频| 91视频青青草| 亚洲av无码专区久久蜜芽| 在线欧美a|