国产成人精品免高潮在线观看-国产精品99无码一区二区-国产av人人夜夜澡人人爽-精品国产免费一区二区三区香蕉

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > CAN中繼器設計及其應用

CAN中繼器設計及其應用

時間:2007-12-24 09:46:00來源:ronggang

導語:?闡述了CAN中繼器的重要作用,詳細分析了CAN中繼器的軟、硬件設計方法,并對其在食堂售飯系統中的應用作了分析說明
摘 要: 闡述了CAN中繼器的重要作用,詳細分析了CAN中繼器的軟、硬件設計方法,并對其在食堂售飯系統中的應用作了分析說明。 關鍵詞: CAN總線 CAN控制器 CAN中繼器 1 引言 CAN總線是Bosch公司為現代汽車應用而推出的一種總線,與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。CAN 總線現已廣泛應用于工業現場控制、小區安防、環境監控等眾多領域中。CAN總線為多主方式工作,網絡上任一節點均可在任意時刻主動地向網絡上其它節點發送信息而不分主從,通信方式靈活,且無需站地址等節點信息。 CAN中繼器是CAN總線系統組網的關鍵設備之一,在稍大型的CAN總線系統中經常會用到中繼器。本文所討論的中繼器除了具有中繼功能以外,還具有一定的網橋功能。因為只要對中繼器的初始化參數進行適當配置,就能使中繼器既具有報文轉發功能,又具有報文過濾功能,這里只是借用了中繼器的名稱而已。 使用中繼器的優點主要表現在以下幾方面: (1)過濾通信量。中繼器接收一個子網的報文,只有當報文是發送給中繼器所連的另一個子網時,中繼器才轉發,否則不轉發。 (2)擴大了通信距離,但代價是增加了一些存儲轉發延時。 (3)增加了節點的最大數目。 (4)各個網段可使用不同的通信速率。 (5)提高了可靠性。當網絡出現故障時,一般只影響個別網段。 (6)性能得到改善。 當然,使用中繼器也有一定的缺點,例如: (1)由于中繼器對接收的幀要先存儲后轉發,增加了延時。 (2)CAN總線的MAC子層并沒有流量控制功能。當網絡上的負荷很重時,可能因中繼器中緩沖區的存儲空間不夠而發生溢出,以致產生幀丟失的現象。 (3)中繼器若出現故障,對相鄰兩個子網的工作都將產生影響。
CAN中繼器主要由89C52和兩路CAN控制器接口組成。89C52作為CAN中繼器的微控制器,負責整個中繼器的監控任務。兩路CAN控制器接口電路基本相同,都是由CAN通信控制器SJA1000、光電耦合電路和CAN總線驅動器82C250組成。CAN總線驅動器都采用帶隔離的DC/DC模塊單獨供電。這樣,不僅實現了兩路CAN接口之間的電氣隔離,也實現了中繼器與CAN總線的隔離。雖然這在一定程度上增加了中繼器硬件的復雜性和成本,但卻是值得的。采取隔離措施可使故障局限在某一網段內,而不至于影響其它網段,既便于維護,又保證了系統設備的安全。 中繼器硬件除了以上主要部分以外,還有EEPROM、看門狗和LED指示等部分。幾個LED分別用于中繼器上電指示和CAN接口當前的接收和發送狀態指示,以及接口的通信故障(如總線關閉)指示。看門狗采用MAX1232。MAX1232具有高電平、低電平上電復位和看門狗功能。EEPROM采用具有1K字節容量的24LC08,可用于保存中繼器的配置參數等信息,便于系統的靈活配置。 2 CAN中繼器的軟件設計 CAN中繼器的主要任務是在兩個CAN網段之間實現報文的過濾和轉發。由于通信實時性的要求以及CAN中繼器CPU中緩存容量有限(89C52內部RAM容量為256個字節),所以在進行軟件設計時,要求做到存儲轉發時間盡量短。為了達到這一要求,CPU采用中斷方式接收兩個CAN控制器的報文,同時盡量精簡CPU收發子程序的代碼長度。為了節省內存并對內存實行有效管理,CPU采用了FIFO機制管理內部RAM。為了保證通過中繼器傳輸報文的通信雙方數據的可靠性,唯有使用通信雙方應用層的端端差錯控制才能滿足要求,但在中繼器的軟件設計中不宜加入過多的差錯控制和流量控制功能,因為這不僅達不到目的,反而還降低了中繼器的運行效率,增加了故障隱患。
CAN中繼器軟件主要包括以下一些子程序:初始化子程序、主監控程序、接收中斷子程序和發送子程序等。初始化子程序的編寫方法與一般的CAN總線系統智能節點的初始化子程序的編寫方法基本相同,只是在對兩個CAN控制器進行初始化時應采用不同的初始化參數。下面主要對主監控程序和接收中斷子程序進行介紹。 2.1 主監控程序的設計 主監控程序負責對兩路CAN控制器的接收FIFO緩沖區進行監視,如某一路緩沖區非空則向另一路轉發。兩路緩沖區的容量大小可采用不對稱配置。采用這種不對稱配置的一個好處在于可以將容量更大的緩沖區分配給通信任務更繁忙的一方,從而盡量避免緩沖區出現溢出。FIFO緩沖區共有兩個指針:接收數據指針和發送數據指針。當兩指針不相等時即證明緩沖區中存有有效數據。緩沖區接收數據指針的調整是通過接收中斷子程序實現的,而發送數據指針的調整則通過發送子程序實現。在主監控程序中,還用到了一個請求狀態標志,該標志在接收中斷子程序中建立,用于中繼器及時返回本身故障狀態或響應上位機的狀態查詢命令。當該標志為1時,主監控程序會向上位機發送本身狀態,并清除該標志。 2.2 接收中斷子程序的設計 中繼器接收中斷子程序流程圖如圖2所示。在進入中斷后,首先判斷中斷類型。若為錯誤警告中斷,則進行相應處理并建立標志,若為接收中斷則接收報文。在報文接收前,要根據接收報文的長度判斷接收緩沖區是否會溢出。若會溢出,則判斷是否為狀態查詢命令,是則置位請求狀態標志,對于接收的其它報文則丟棄。若緩沖區不會溢出,則接收該報文。接收報文后取出命令字節,判斷是否是中繼器狀態查詢命令,若是則置位請求狀態標志,不進行緩沖區參數調整(因為是上位機發送給中繼器的命令,只要求中繼器作出響應而不要求其轉發,所以不能放入緩沖區中)。若不是中繼器狀態查詢命令,則不作處理,只進行緩沖區參數調整,接收報文有效。隨后進行釋放CAN接收緩沖區、恢復現場和中斷返回等工作。
3 CAN中繼器在食堂售飯系統的中應用 按上述方法設計的中繼器現已成功應用于東華理工學院的食堂售飯系統中。根據學院食堂及各營業網點的實際分布情況,設計的學院食堂售飯系統網絡結構如圖3所示。從圖中可以看出,中繼器是組網的關鍵設備,它將窗口機等終端與服務器連接起來。在該網絡結構中,中繼器共分兩級。中繼器1~4為一級中繼器,一端與服務器相連,另一端則與各個食堂窗口機等終端構成的子網相連;中繼器5為二級中繼器,一端與一級中繼器相連,另一端與浴室、小賣部等窗口機相連。采用兩級中繼器的設計,使系統的通信距離可達5km以上,網絡終端數目幾乎不受限制。 該設計方案已投入實際運行,目前系統網絡規模為五臺中繼器、一百多臺窗口機,用餐人數近萬人。從系統的實際運行情況來看,性能非常穩定可靠,而且維護和擴容方便,大大提高了食堂的管理水平和工作效率。

標簽:

點贊

分享到:

上一篇:基于DSP的數字式MEMS加速度傳...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號