雙MCU的CAN匯流排中繼器設計

2022-09-03 21:27:18 字數 2285 閱讀 1248

引言

can匯流排以其開發維護成本低、匯流排利用率高、傳輸距離遠(最遠可達10 km)、傳輸速率高(最高可達1 mbps)使使用者能組建穩定、高效的現場匯流排網路。can匯流排已被廣泛應用到各個自動化控制系統中,例如汽車電子、自動控制、智慧型大廈、電力系統、安防監控等領域。隨著can匯流排網路區域的擴大,2個節點之間的直接資料傳輸將難以滿足遠距離通訊要求。can中繼器是延長can匯流排通訊距離的中轉站,其通訊效率和通訊可靠性直接影響can匯流排的通訊能力。傳統的基於單mcu的can中繼器難以滿足大量資料的中轉要求,本文基於雙mcu設計高效能的can匯流排中繼器。

1、系統總體設計

cy7c136是2 kb高速cmos靜態ram。同一片ram上有2組資料線和2組位址線,對每個埠的控制是相互獨立的,可分別在儲存器的任意位置訪問資料。

雙口ram作為2個mcu的共享資源,乙個埠與mcul相連,另乙個埠與mcu2相連。從sjalooocan匯流排介面1接收來的資料送入雙口ram,這些資料被mcu2取走並送到sjal000 can匯流排介面2上;從sjal000 can匯流排介面2接收來的資料也送入雙口ram,並被mcul取走送到sjal000 can匯流排介面1上。由於mcu的位址匯流排和資料匯流排是復用的,因此採用鎖存器進行位址鎖存,硬體總體結構如圖1所示。

2、硬體電路實現

電路中使用的2片mcu為8051系列微控制器at89c52,成本低、開發周期短、易於實現、可靠性高。mcul與mcu2之間通過p1口的p1.5、p1.6、p1.7進行聯絡與應答,保證系統儲存空間訪問的安全性。

2.1 mcu主控制電路

mcul(at89c52片1)連線的外圍裝置有雙口ram和can匯流排控制器。為了防止位址衝突,採用74ls138解碼器進行位址解碼。at89c52的po為位址/資料復用口,採用74hc573作為位址鎖存器。由於mcul和mcu2電路原理相同,本文只介紹mcul控制電路。mcul電路原理如圖2所示。

2.2 雙口ram介面電路

雙口ram電路介面如圖3所示。雙口ram晶元cy7c136作為2個mcu資料的中轉站,分別與2個mcu的相應引腳相連。其中cy7c136引腳i/o0l~1/o7l與第1片at89c52(mcul)的po相連,引腳i/oor~i/o7r與第2片at89c52(mcu2)相連。yoaout為mcu1讀寫雙口ram的片選訊號,y1aout為mcu2讀寫雙口ram的片選訊號,並將mcu的讀寫控制訊號線與雙口ram的相應讀寫控制訊號線相連。

2.3 can匯流排控制器介面電路

can匯流排控制器採用sjal000。74lsl38解碼器的yo引腳輸出作為sjal000的片選訊號。中斷引腳連線mcul的into,作為處理can接收中斷的觸發訊號。電路原理如圖4所示。

3、軟體設計實現

3.1 儲存空間分配思想

為使雙口ram實現最高效率的應用,將2 kb的儲存空間設計成2個1 kb大小的環形佇列形式,每乙個環形佇列的結構如圖5所示(圖中陰影部分為存有資料的區域,非陰影區域為空閒區域)。

3.2 程式控制流程

中繼器只是中轉來自匯流排上的資料,而這些資料是隨機的,因此接收採用中斷的方式。某一時刻只要sjal000成功接收一幀資料,就會向負責本埠的mcu申請中斷,進行資料接收,並將資料送入環形佇列queue。

當環形佇列中有待傳送的資料時,程式的處理流程如圖6所示(其中,tail和bead分別為環形佇列的尾指標和頭指標)。mcu首先獲取對方環形佇列中的資訊,主要是檢視環形佇列資訊是否為空,如果為空則不對其操作。如果不為空,則佇列中有待傳送的資訊,於是啟動一次資訊傳送。如果傳送成功,則通過聯絡訊號通知對方修改環形佇列指標。

4、測試

對基於雙口ram的雙mcu中繼器進行壓力測試(高資料負載率下測試)。短距離內向2個can口載入10 000幀資料,測試中繼器成功中轉情況,其結果如表1所列(錶身資料為成功中轉幀數)。根據can匯流排規定,其平均負載率不超過65%,傳統的單mcu can中繼器平均負載率很難達到60%。從表1可以看出,引入雙mcu後can中繼器的效能大大提高,能在負載率超過60%的情況下穩定工作。環形佇列queue溢位的情況可以通過增加雙口ram的大小來解決。

結語

採用雙mcu配合雙口ram設計can匯流排中繼器,解決了單mcu無法快速處理can匯流排負載過重的問題,使其效能和效率得到了很大提高,為can中繼器在工程領域的優化設計提供了良好的技術平台和解決方案。 **自中華電子網)

CAN匯流排隔離中繼器產品特性介紹和選型指導

canbridge系列本質安全型智慧型can匯流排隔離中繼器具有兩路相互隔離的can通道,每個can介面採用金昇陽電源模組和訊號隔離晶元實現2500vdc電氣隔離,電源輸入防反設計,支援dc6.5 36v輸入 具有優秀的emc效能,可靠性測試專案 esd接觸放電8kv 浪湧 1kv 脈衝群 2kv,...

can中繼器的優秀emc效能介紹

can隔離中繼器canbridge的兩個can通道相互隔離,每個can介面的電隔離高達2500vdc。採用金昇陽電源模組和訊號隔離晶元實現can介面的2500vdc電氣隔離 品牌接線端子和usb聯結器,usb口設計有esd靜電防護功能。can隔離中繼器canbridge自身具有優良的emc效能,可靠...

Axure 中繼器的使用

1 中繼器 repeater 的介紹 相當於程式開發中的小型資料庫,用於存放同種結構的資料,可對其中的資料進行刪除 增加與更新,以及根據設定好的條件對程現的資料組進行過濾等操作,學習它的使用有助於我們快速設計一些複雜的互動介面。注 因作為測試,目前只是對工具的了解和稍會使用即可,暫時不做深入的研究與...