《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 現場總線CANbus與RS-485之間透明轉換的實現

現場總線CANbus與RS-485之間透明轉換的實現

2009-02-27
作者:鄧檢華

  摘? 要: 給出了一種能在CANbus現場總線與RS-485總線之間透明轉換的實現方法和實際電路。同時介紹了它的幾種典型應用。

  關鍵詞: 現場總線? CANbus? 透明轉換

?

  現場總線技術以其獨有的技術優勢和特點,在現代分布式測量與控制技術領域中的應用已愈來愈廣泛。各種現場總線的主控制器一般都內嵌有相當完善的、開放式的互聯通信協議,它具有通信速度快、誤碼率低、開發設計簡單及網絡使用維護方便等諸多特點,是實現網絡化現場測量與控制技術的一個發展方向。但目前,在許多現場已投入使用的測量與控制系統中,各儀器設備或裝置之間通信所使用的仍是傳統的RS-485或RS-422總線。在不斷投入新型現場總線系統的同時,要在短期內改造或淘汰那些舊系統是不現實的。況且,在許多應用場合,新老系統中主機的控制算法及功能是相似或兼容的,所以在一定時期內,新老總線系統同時并存是客觀的現實需要。對此,若能將新老儀器設備或裝置通過一種透明轉換裝置而有機地柔合在一起,去掉老系統中重復的部分,是一種很好的選擇。

1 CANbus簡述

  CAN現場總線技術是德國BOSCH公司于80年代初為解決現代汽車業中眾多的控制與測試儀器之間的數據交換而開發,目前已逐步應用到其它領域的一種符合國際標準的串行數據通信協議。CAN的主要技術特點有:

  (1)對等網絡結構,網絡上任意節點可在任意時刻向網絡其它節點發送信息,不分主從,通信方式靈活。

  (2)采用非破壞性總線仲裁技術,網絡中的節點可以分成不同的優先級,當多個節點同時向網絡上傳送信息時,優先級低的節點主動暫停數據發送,而優先級高的節點可不受影響地繼續傳送數據。之后,按優先級高低,其它節點在總線空閑時依次進行被暫停的數據傳送,有效地避免了總線沖突。

  (3)每一幀的有效字節數最多為8個,幀傳送時間短,受干擾概率小,重發時間短。每一幀信息都有CRC校驗及其它檢錯措施,通信誤碼率低。

  (4)網絡節點在錯誤嚴重的情況下,具有自動關閉總線接口的功能,避免影響總線上的其它節點的正常操作。

  (5)通信距離最遠達10km(5kB/s),通信速率最高可達到1MB/s(40M),節點數目實際可達110個。通信介質采用雙絞線,也可用光纖。

2 實現方法

  CAN現場總線與RS-485總線的主要區別是:CAN總線是以幀為單位進行數據通信的,且每幀均攜帶對應的ID標示符,而RS-485是以字節為單位進行數據通信,不帶任何其它附屬信息。如果不考慮幀中的ID標示符,那么這二種總線傳輸的信息就可以認為完全相同。考慮到絕大多數應用CAN總線的場合都不可能分配完系統中的ID標示符資源,因而在系統中可以另分配一至多個ID標示符給RS-485總線數據,即給總線透明轉換電路所用,收、發數據的ID標識符可以不相同。CAN總線系統中的公用主控設備一般被設置成直通狀態,它可通過發送、接收具有不同ID標示符的不同數據幀,方便地對網絡中的各種設備進行管理和控制。對那些純粹靠幀數據本身而忽略ID標示符的系統來說,這種不同總線之間的轉換更加簡單。

  實現二種總線之間的透明轉換的基本過程是這樣的:電路加電進入正常狀態后,首先以電路中保存的參數(如未初始化則以缺省參數)對二個總線通信端口分別進行初始化,并將所有通訊端口設置成中斷接收工作方式,在啟動內部看門狗(Watchdog)后,電路等待外來數據的中斷。一旦某一總線端口有有效數據進入,電路首先將這些數據讀入內部數據緩沖區,置相關內部標志,關閉其它端口的中斷,以使接收端數據能及時被接收到。在下一數據到來之前,電路將及時通過另一端口將緩沖區中的數據轉發出去,直到緩沖區空。在這種轉換過程中,如果數據是自CANBUS一端流入,則電路只將幀內數據讀入到緩沖區。相反,則電路在轉發數據之前自動按設置將設定ID標示符加到發送信息中,一旦轉換過程結束,所有端口又被允許中斷接收。電路中緩沖區一般可配置8k~32K字節的靜態RAM。

  在未進入轉換工作時,電路允許參數設置端口的設置中斷進入。參數設置包括:設置RS-485的通信波特率(當然端口數據格式也可設);設置CANBUS的通信波特率、接收碼(accept-code)、屏蔽字(mask-code)、發送標示符。參數設置好后將立即生效,通過該端口還可查詢當前電路中的各運行參數值。電路工作的主要流程圖如圖1所示。

?

?

3 實現電路

  圖2是一種可選的線路原理示意圖。電路中使用的單片機是ATMEL公司的AT89S8252,它是一種內帶8K Flash RAM、2K EEPROM、同時內嵌獨立的硬件Watchdog電路,最高工作主頻為24MHz的新型單片機。所配數據緩沖器62256為32K 字節的靜態RAM。配置較大緩沖區的明顯好處是提高了對二種不同速率總線的適應能力。圖中RS232口是專用來設置二總線端口的工作參數,所設參數均保存在CPU的2K EEPROM中。另外,為提高線路的可靠性,對CANBUS端采用了電隔離措施,RS-485端所使用的MAX1480也是一種內部電隔離的芯片。圖中VCC與VCC1為相互隔離的二組5V電源。

?

?

  對于那些對總線響應速度要求比較苛刻的場合,可采用雙CPU控制電路,即每個CPU分別負責一端總線的通信事務。數據緩沖區仍采用公用的單口或雙口RAM。相應的控制算法必須增加一些有關對公共數據區的管理操作,在此不做詳述。

  以上電路多適用于二種總線并存于同一系統的場合,以實現二種總線之間的有機結合,使新老設備能很好地同時運行,節省系統開支。這種透明轉換電路在已研制的分布式數據采集系統中應用以后,效果良好。

  對以上電路稍做修改,即將MAX1480換成MAX232芯片就可設計出一種能在CAN現場總線與RS-232之間實現透明轉換的電路。這種電路可用于那些需要用便攜機與現場設備之間實現通信(如現場調試等)的場合,因為目前便攜機一般只配RS-232接口。另外,如將電路的二個總線端口設計成相同的接口,那么它還可以用在使用同一種總線,但不同的區域卻有不同通信速率的應用場合。

  對于那些首次接觸CANBUS技術的開發人員來說,以上電路還是一種很好的端點開發輔助設備,即開發人員只要對該電路設置合適的端口參數,并將用戶電路與之連接好后,開發人員即可在一相對熟悉的環境下專心開發自己的應用電路。

?

參考文獻

1 SJA1000 Stand-alone CAN controller.Philips Semiconductors,1997; (04)

2 8-Bit Microcontroller with 8K Bytes Flash,AT89S8252.ATMEL,0401D-A-12/97

3 鄔寬明.CAN總線原理和應用系統設計.北京:北京航空航天大學出版社,1996

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲一级大黄大色毛片 | 国产高清不卡视频在线播放 | 欧美性猛交xx免费看 | 老司机午夜性大片免费 | 日韩影片在线观看 | 正在播放国产尾随丝袜美女 | 日日噜噜噜夜夜爽爽狠狠 | 综合视频网 | 中文字幕视频在线免费观看 | 欧美日本日韩 | 北条麻妃中文字幕在线观看 | 国产免费黄色大片 | 一级毛片视频播放 | 成人亚洲网站www在线观看 | 国产福利在线观看 | 久久伊人影视 | 免费一级a毛片在线搐放正片 | 香蕉精品一本大道在线观看 | 在线毛片观看 | 在线国产日韩 | 亚洲视频二 | 精品久久久久国产免费 | 日韩欧美一区二区不卡看片 | 国产精品青草久久 | 中国男女全黄大片一级 | 日本不卡在线 | 国产日韩亚洲欧美 | 免费乱理伦片奇优影院 | 青青草国产成人久久91网 | 国产中文久久精品 | 一插综合网 | 香蕉视频三级 | 在线中文字幕一区 | 一级一级一级毛片免费毛片 | 久久精品国产一区二区三区不卡 | 国产精品1024在线永久免费 | 香蕉视频三级 | 成人观看天堂在线影片 | 一个人看的日本www 一个人看的视频www | 在线黄色网 | 视频网站入口在线看 |