AN收發(fā)器的接收與發(fā)送。
[0085]其中較優(yōu)地,所述通過MPU微處理器訪問所述CAN控制器中的寄存器具體包括: [0086] 通過所述MPU微處理器中的高性能外設總線AHB訪問所述CAN控制器中的寄存器。 [0087]其中較優(yōu)地,所述在訪問所述寄存器時,通過擴展總線接口EBI產(chǎn)生數(shù)據(jù)總線信 號、地址總線信號和第一控制邏輯信號;并將所述數(shù)據(jù)總線信號、地址總線信號和第一控制 邏輯信號傳輸至所述擴展總線接口 EBI的對應輸入/輸出端口上具體包括:
[0088] 在訪問所述寄存器時,通過所述擴展總線接口 EBI的靜態(tài)存儲器控制器SMC產(chǎn)生第 一數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號;并根據(jù)端口復用邏輯將所述數(shù)據(jù)總 線信號、地址總線信號和第一控制邏輯信號傳輸至所述擴展總線接口的對應輸入/輸出端 口上。另外,所述MPU微處理器可以通過所述擴展總線接口 EBI掛載4組CAN控制器和CAN收發(fā) 器,每組掛載多路CAN控制器和CAN收發(fā)器。
[0089] 另外,本發(fā)明可以采用基于Linux的CAN總線分析與調試方法,上述EBI擴展CAN總 線意在通過總線驅動器以及控制邏輯轉換器,將CAN控制器作為一種外部存儲設備連接到 EBI內部的靜態(tài)存儲器控制器SMC上,這樣MPU就可以像訪問內部存儲器一樣通過AHB總線直 接對CAN控制器進行訪問控制。如圖13所示,在Linux操作系統(tǒng)下,基于套接字(Socket)的 CAN網(wǎng)絡設備驅動以及CAN應用程序分析調試方法如下,在軟件上可以將CAN控制器作為外 部存儲設備進行驅動,將CAN控制器驅動添加到Linux內核中,Linux內核中CAN設備被作為 一種網(wǎng)絡設備添加到Linux網(wǎng)絡設備驅動層,對Linux網(wǎng)絡設備的訪問一般采用基于Socket 的方式,對CAN網(wǎng)絡而言Linux內核提供了基于Socket的CAN接口層,再向上是應用層,應用 層通過網(wǎng)際協(xié)議路由策略II(ip[r 0ute2])應用程序對CAN網(wǎng)絡設備進行配置,包括設置波 特率、采樣率、工作模式、位時隙參數(shù)、設備啟動/停止等,對CAN報文的收發(fā)采用基于CAN套 接字應用程序庫(libsocketcan程序庫)的CAN通信測試工具(canutils應用程序), libsocketcan程序庫是基于Socket方式對CAN網(wǎng)絡設備進行基本應用的支持庫,在該程序 庫的支持下canutils應用程序可以進行CAN報文的接收與發(fā)送,而在通信過程中CAN網(wǎng)絡設 備產(chǎn)生的總線錯誤、傳輸錯誤,在Linux系統(tǒng)中會以網(wǎng)絡設備日志的方式進行統(tǒng)計,通過查 看網(wǎng)絡設備連接狀態(tài)可以知道CAN總線上產(chǎn)生的各種錯誤。
[0090] 本發(fā)明設計了一種基于Linux的CAN總線擴展系統(tǒng)及方法,高性能MPU通過EBI總線 直接擴展CAN總線,高性能MPU的EBI并行總線訪問速度快,中間僅需要硬件信號轉換匹配, 沒有軟件協(xié)議轉換過程,減少了出錯幾率,提高了 CAN控制器的性能與效率;采用EBI總線擴 展的方式,由于EBI總線本身擴展性非常強,所以采用該種方式可以擴展多路CAN總線,可以 同時驅動多個CAN控制器并行工作。通過基于Linux開源平臺實現(xiàn),平臺穩(wěn)定性高,既提高了 性能,又可以保證技術的穩(wěn)定、可靠性,同時降低了研發(fā)生產(chǎn)成本;本發(fā)明完全可以集成在 一臺單獨的小型便攜式、手持式設備上開發(fā)與使用,擺脫了計算機體積、電源的限制,大大 提高了現(xiàn)場使用的靈活性。
[0091] 雖然結合附圖描述了本發(fā)明的實施方式,但是本領域技術人員可以在不脫離本發(fā) 明的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權利要求 所限定的范圍之內。
【主權項】
1. 一種基于Linux的CAN總線擴展系統(tǒng),其特征在于,包括: MPU微處理器、擴展總線接口 EBI、控制邏輯轉換器、總線驅動器、CAN控制器、CAN收發(fā) 器; 所述MPU微處理器用于訪問所述CAN控制器中的寄存器; 所述擴展總線接口 EBI用于在訪問所述寄存器時產(chǎn)生數(shù)據(jù)總線信號、地址總線信號和 第一控制邏輯信號;并將所述數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號傳輸至所 述擴展總線接口的對應輸入/輸出端口上; 所述控制邏輯轉換器用于根據(jù)所述地址總線信號和第一控制邏輯信號產(chǎn)生訪問所述 CAN控制器所需的第二控制邏輯信號; 所述總線驅動器用于在所述第一控制邏輯信號的控制下使能與控制所述數(shù)據(jù)總線信 號的傳輸方向; 所述CAN控制器用于在所述第二控制邏輯信號和所述總線驅動器的驅動下,實現(xiàn)所述 CAN控制器的寄存器訪問,在所述MPU微處理器的控制下,實現(xiàn)與所述CA州欠發(fā)器的接收與發(fā) 送。2. 根據(jù)權利要求1所述的基于Linux的CAN總線擴展系統(tǒng),其特征在于,所述處理器包括 高性能外設總線AHB;所述MPU微處理器用于通過所述高性能外設總線A皿訪問所述CAN控制 器中的寄存器。3. 根據(jù)權利要求3所述的基于Linux的CAN總線擴展系統(tǒng),其特征在于,所述擴展總線接 口邸I包括靜態(tài)存儲器控制器SMC和端口復用邏輯; 所述靜態(tài)存儲器控制器SMC用于在訪問所述寄存器時產(chǎn)生第一數(shù)據(jù)總線信號、地址總 線信號和第一控制邏輯信號;并根據(jù)端口復用邏輯將所述數(shù)據(jù)總線信號、地址總線信號和 第一控制邏輯信號傳輸至所述擴展總線接口的對應輸入/輸出端口上。4. 根據(jù)權利要求1-3的所述的基于Linux的CAN總線擴展系統(tǒng),其特征在于,所述總線驅 動器的一端通過數(shù)據(jù)總線連接所述擴展總線接口邸I,另一端通過地址/數(shù)據(jù)復用總線連接 所述CAN控制器。5. 根據(jù)權利要求4所述的基于Linux的CAN總線擴展系統(tǒng),所述總線驅動器的控制時序 為: 逝傷:0]=公[31 : 2旬色而玄 DIR=NRD CSi = NCS 其中,AD[7:0]表示地址/數(shù)據(jù)復用總線的輸出信號,D[31:24]表示數(shù)據(jù)總線的輸入信 號,NCS表示第一控制邏輯信號中的片選信號,NRD表示第一控制邏輯信號中的讀信號,CSi 所示總線驅動器的片選信號,DIR表示總線驅動器的方向信號。6. 根據(jù)權利要求1-3所述的基于Linux的CAN總線擴展系統(tǒng),所述控制邏輯轉換器的控 制時序為:C5 二 ADDO 色而=備 Ο + ΛΟ 其中,ALE表示第二控制邏輯信號中的地址鎖存允許信號,RD表示第二控制邏輯信號中 的讀信號,WR表示第二控制邏輯信號中的寫信號,CS表示第二控制邏輯信號中的片選信號, NCS表示第一控制邏輯信號中的片選信號,NRD表示第一控制邏輯信號中的讀信號,ADD0表 示地址總線信號中的其中一個地址信號,NWE表示第一控制邏輯信號中的寫信號。7. -種基于Linux的CAN總線擴展方法,其特征在于,包括: 通過MPU微處理器訪問CAN控制器中的寄存器; 在訪問所述寄存器時,通過擴展總線接口 EBI產(chǎn)生數(shù)據(jù)總線信號、地址總線信號和第一 控制邏輯信號;并將所述數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號傳輸至所述擴 展總線接口邸I的對應輸入/輸出端口上; 根據(jù)所述地址總線信號和第一控制邏輯信號,通過控制邏輯轉換器產(chǎn)生訪問所述CAN 控制器所需的第二控制邏輯信號; 在所述第一控制邏輯信號的控制下,通過總線驅動器使能與控制所述數(shù)據(jù)總線信號的 傳輸方向; 在所述第二控制邏輯信號和所述總線驅動器的驅動下,實現(xiàn)所述CAN控制器的寄存器 訪問,在所述MPU微處理器的控制下,實現(xiàn)CAN控制器與CA訓欠發(fā)器的接收與發(fā)送。8. 根據(jù)權利要求7所述的基于Linux的CAN總線擴展方法,其特征在于,所述通過MPU微 處理器訪問所述CAN控制器中的寄存器具體包括: 通過所述MPU微處理器中的高性能外設總線A皿訪問所述CAN控制器中的寄存器。9. 根據(jù)權利要求8所說的基于Linux的CAN總線擴展方法,其特征在于, 所述在訪問所述寄存器時,通過擴展總線接口 EBI產(chǎn)生數(shù)據(jù)總線信號、地址總線信號和 第一控制邏輯信號;并將所述數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號傳輸至所 述擴展總線接口邸I的對應輸入/輸出端口上具體包括: 在訪問所述寄存器時,通過所述擴展總線接口邸I的靜態(tài)存儲器控制器SMC產(chǎn)生第一數(shù) 據(jù)總線信號、地址總線信號和第一控制邏輯信號;并根據(jù)端口復用邏輯將所述數(shù)據(jù)總線信 號、地址總線信號和第一控制邏輯信號傳輸至所述擴展總線接口的對應輸入/輸出端口上。10. 根據(jù)權利要求7所述的基于Linux的CAN總線擴展方法,其特征在于,該方法還包括: 所述MPU微處理器通過所述擴展總線接口邸I掛載4組CAN控制器和CA州欠發(fā)器,每組掛載多 路CAN控制器和CA訓欠發(fā)器。
【專利摘要】本發(fā)明涉及一種基于Linux的CAN總線擴展系統(tǒng)和方法,包括:MPU微處理器、擴展總線接口EBI、控制邏輯轉換器、總線驅動器、CAN控制器、CAN收發(fā)器;MPU訪問CAN控制器;EBI產(chǎn)生數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號,將數(shù)據(jù)總線信號、地址總線信號和第一控制邏輯信號傳輸至I/O端口上;控制邏輯轉換器將地址總線信號和第一控制邏輯信號轉換成訪問CAN控制器所需的第二控制邏輯信號;總線驅動器在第一控制邏輯信號的控制下對數(shù)據(jù)總線信號傳輸方向進行控制;CAN控制器在第二控制邏輯信號和總線驅動器共同驅動下,實現(xiàn)與CAN收發(fā)器的接收與發(fā)送。本發(fā)明數(shù)據(jù)訪問速度快,出錯幾率小,可以同時驅動多個CAN控制器并行工作,擺脫了計算機體積、電源的限制。
【IPC分類】G05B19/418
【公開號】CN105549552
【申請?zhí)枴緾N201510885023
【發(fā)明人】周哲, 董月芳, 陳奭, 付威威
【申請人】中國科學院蘇州生物醫(yī)學工程技術研究所
【公開日】2016年5月4日
【申請日】2015年12月4日