0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CAN總線接口的健康管理系統(tǒng)設計

麥克泰技術 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 2023-11-28 11:11 ? 次閱讀

傳統(tǒng)工程實現(xiàn)大多采取單一的點對點通信,相互之間少有聯(lián)系,導致復雜的布局布線。據統(tǒng)計,某型設備布局布線長度達2 000 m,電氣節(jié)點達1 500個。無論從工程成本還是工程實現(xiàn)看,傳統(tǒng)實現(xiàn)方法亟待改進。

CAN(Controller Area Network)也稱控制器局域網,是國際上應用最廣泛的現(xiàn)場總線之一。CAN總線是一種多主串行通信總線,支持分布式實時控制,其為多主工作方式,通信方式靈活,且無需站地址等節(jié)點信息。采用無損仲裁技術,當多個節(jié)點同時向總線發(fā)送信息時,優(yōu)先級低的節(jié)點主動退出發(fā)送,最高優(yōu)先級的節(jié)點不受影響繼續(xù)傳輸數(shù)據,節(jié)省了總線沖突的仲裁時間。

本文設計了一種基于CAN總線接口的健康管理方案,有效解決了傳統(tǒng)工程點對點通信的弊端。通過描述本系統(tǒng)總體架構、硬件方案和軟件方案,最后給出了仿真與分析結果,證明了本系統(tǒng)的可行性、經濟性和工程應用性。

1總體架構

本系統(tǒng)由某型CK520內核主控處理器、兩顆單片機GD32VF103、高速光電耦合器、總線接口電路、溫度傳感器、SPI Flash芯片和PC機組成。主控處理器通過異步串口與測試計算機連接,同時主控處理器通過異步串口與主/備兩顆CAN總線協(xié)議處理器連接,測試計算機上可查看系統(tǒng)的狀態(tài)信息,也可通過其對單片機進行軟件升級等。總體結構如圖1所示。

fd9bdc62-8d9a-11ee-939d-92fbcf53809c.jpg

圖1 總體架構

2硬件方案

本系統(tǒng)采用兩顆芯片實現(xiàn)主/備健康管理方案。由主控芯片控制兩顆單片機的狀態(tài),通過異步串口連接,對外健康管理接口為CAN接口。其中健康管理系統(tǒng)基于兩顆RISC-V芯片GD32VF103,實現(xiàn)主/備功能,確保主CAN接口總線功能異常后,備份CAN接口總線能夠正常工作。主要由主控單元、主健康管理單元、備健康管理單元、芯片間通信單元和軟件升級加載單元組成。硬件設計框圖如圖2所示。

fdb3089c-8d9a-11ee-939d-92fbcf53809c.jpg

圖2 硬件設計框圖

2.1主控單元

主控單元負責主/備CAN總線處理器的信息同步、軟件加載的控制等。該部分實現(xiàn)Ymodem協(xié)議、與主CAN總線處理器的交互協(xié)議、與備CAN總線處理器的交互協(xié)議。Ymodem協(xié)議是一個文本傳輸協(xié)議,常用于在線軟件升級加載。

2.2主健康管理單元

主健康管理單元是用于本系統(tǒng)與外部進行數(shù)據交互的主要通道。本設計選用兆易創(chuàng)新的GD32VF103實現(xiàn)健康管理功能,并且完成對系統(tǒng)的溫度值采樣。溫度傳感器選用國產的CT75MMR,這是一款精度在±0.5 ℃的溫度傳感器,溫度值可直接通過I2C接口讀取。測量的溫度范圍為-40~+125 ℃,靜態(tài)電流僅為1.5 μA,最大電流為10 μA。

本文選用低成本的GD32VF103RB芯片,該芯片基于RISC-V處理器的32位通用微控制器。RISC-V處理器包括3條AHB總線,分別稱為I-CODE總線、D-Code總線和系統(tǒng)總線。RISC-V處理器適用于低能耗、小面積的嵌入式應用,具有簡單的動態(tài)分支預測、指令預取緩沖區(qū)和本地內存等多種高效微架構特點。

該芯片提供了108 MHz的運算主頻,以及高達128 KB的片上閃存和32 KB的SRAM緩存,采用2.6~3.6 V供電,I/O可承受5 V電壓,擁有多達4個16位通用定時器、2個16位基本定時器和2個多通道DMA控制器,包括3個USART、2個UART、3個SPI、2個I2C、2個I2S、2個CAN2.0B和1個USB2.0,以及外部總線擴展控制器,集成了2個采樣率高達2.6 Msps的12位高速ADC,提供了多達16個可復用通道,并支持16位硬件過采樣濾波功能和分辨率可配置功能,還擁有2個12位DAC,多達80%的GPIO具有多種可選功能,還支持端口重映射。

高速光電耦合器采用GaAsAl紅外發(fā)光二極管與單片集成高速光探測器相耦合。光電耦合器輸入側電信號使發(fā)光源發(fā)光,光的強度取決于激勵電流的大小,當光照到受光器后,因光電效應產生光電流,由受光器輸出,這樣就實現(xiàn)了電-光-電的轉換。

總線接口電路是一款低電壓CAN總線收發(fā)器,其作為CAN總線的物理層芯片,滿足ISO 11898標準規(guī)定。該收發(fā)器提供差分發(fā)送和接收能力,其傳輸速率達到1 Mbps,3.3 V供電電壓,低功耗設計;高輸入阻抗,最多允許接入120個節(jié)點;兼容ISO11898 CAN總線標準;傳輸速率最高可達1 Mb/s;片內集成過溫保護,支持熱插拔。

2.3備健康管理單元

備健康管理單元用于本系統(tǒng)與外部進行數(shù)據交互的備份通道,同時完成對系統(tǒng)的電壓值采樣,通過單片機自帶的ADC接口功能完成。

3軟件方案

本系統(tǒng)軟件設計采用典型嵌入式軟件設計層次,先實現(xiàn)各芯片內、外設驅動,再實現(xiàn)上述協(xié)議規(guī)范,最后業(yè)務邏輯調度相關API實現(xiàn)完整功能。軟件設計遵循以下原則:層與層之間不能跨層調用;模塊與模塊之間各自獨立,無依賴關系;模塊提供統(tǒng)一的接口供上層調用,模塊的內、外接口分明。軟件架構如圖3所示。

fdc643b2-8d9a-11ee-939d-92fbcf53809c.jpg

圖3 軟件架構

3.1模塊分層

本系統(tǒng)軟件設計采用模塊化設計,盡量降低各個軟件模塊的專用性及模塊之間的耦合性,提高軟件模塊的獨立性和可繼承性。

3.1.1硬件驅動層

硬件驅動層主要與底層接口建立傳輸通道,在本系統(tǒng)中,包含CAN總線接口、UART接口、I2C接口和ADC接口。驅動層函數(shù)功能如表1所列。溫度傳感器接口函數(shù)功能如表2所列。電壓值接口函數(shù)功能如表3所列。

表1 驅動層函數(shù)簡介

fdda5ef6-8d9a-11ee-939d-92fbcf53809c.jpg

表2 溫度傳感器接口函數(shù)簡介

fdee8e30-8d9a-11ee-939d-92fbcf53809c.jpg

表3 電壓值接口函數(shù)簡介

fdf970b6-8d9a-11ee-939d-92fbcf53809c.jpg

3.1.2功能模塊層

功能模塊層主要完成各個接口數(shù)據幀的拆幀解析與組幀發(fā)送。函數(shù)簡介如表4所列。

表4 模塊層函數(shù)簡介

fe0f00c0-8d9a-11ee-939d-92fbcf53809c.jpg

3.1.3業(yè)務邏輯層

業(yè)務邏輯層是本文系統(tǒng)的核心,完成各個功能任務。函數(shù)簡簡介如表5所列。

表5 邏輯層函數(shù)簡介

fe280c6e-8d9a-11ee-939d-92fbcf53809c.jpg

3.2軟件設計

本系統(tǒng)通過Keil5軟件和CDS軟件對系統(tǒng)功能軟件進行編譯調試,設計主要分為Ymodem功能軟件、CAN功能軟件和芯片管理功能軟件。

Ymodem功能軟件主要完成對本系統(tǒng)的軟件文件升級加載,包含傳輸數(shù)據收發(fā)、處理和傳輸協(xié)議解析;CAN功能軟件主要完成對外提供健康管理信息,包含CAN數(shù)據收發(fā)、處理和CAN協(xié)議解析,為軟件設計的關鍵和核心;芯片管理功能軟件主要完成各個芯片間狀態(tài)信息同步及軟件文件的傳輸控制,包含管理數(shù)據收發(fā)、解析和處理。

3.2.1Ymodem功能軟件設計

Ymodem功能軟件主要實現(xiàn)待升級HEX文件的傳輸,主控處理器根據文件名稱將文件傳輸至對應的單片機,完成對其軟件文件的加載升級。其數(shù)據幀格式如表6所列。

表6 Ymodem數(shù)據幀格式

fe41c97e-8d9a-11ee-939d-92fbcf53809c.jpg

升級流程如下:

①先搜索起始幀,校驗正確后進行文件名判斷,若文件名為0001,則表示本地升級文件處理;若文件名為0002,則表示單片機1升級文件處理;若文件名為0003,則表示單片機2升級文件處理。

②繼續(xù)搜索數(shù)據幀,校驗正確后,根據上一步流程中的處理分支將數(shù)據送到對應芯片進行存儲處理。

③搜索到結束幀后即表示升級流程結束。

通過該軟件功能,可方便地對各個功能芯片進行軟件升級,便于后期項目維護。

3.2.2CAN功能軟件設計

CAN功能軟件為本系統(tǒng)軟件設計的關鍵和核心。本設計參照CAN2.0B規(guī)范(即ISO 11898),該規(guī)范規(guī)定了CAN總線網絡設計特殊需求,CAN總線接口劃分為應用層、數(shù)據鏈路層和物理層[4]。物理層主要實現(xiàn)bit流編解碼、bit位定時和同步,以及物理連接接口。數(shù)據鏈路層主要實現(xiàn)用戶數(shù)據分幀和組幀,數(shù)據幀編碼、總線仲裁和訪問控制、錯誤檢測和通告、應答等。應用層主要處理用戶業(yè)務相關數(shù)據。應用層數(shù)據幀格式如表7所列。

表7 CAN接口數(shù)據幀格式

fe4ce7be-8d9a-11ee-939d-92fbcf53809c.jpg

(1)發(fā)送流程

應用層軟件有數(shù)據需要發(fā)送時,調用數(shù)據鏈層發(fā)送接口函數(shù),將數(shù)據寫入發(fā)送緩沖區(qū)。鏈路層根據數(shù)據個數(shù)判斷是否需要分幀,若大于8,則按8字節(jié)進行分幀,最后一幀為結束幀,其余幀為中間幀,然后按照幀格式組成鏈路層報文,驅動總線控制器將數(shù)據發(fā)送到總線上。

(2)接收流程

在接收端,總線數(shù)據進入總線控制器輸出鏈路層數(shù)據報文,鏈路層對數(shù)據幀進行解析,完成以下操作:若收到的字節(jié)數(shù)小于待解析報文長度,表示還有后續(xù)數(shù)據幀待接收,則根據DLC字段值提取相應個數(shù)的應用數(shù)據依次存入接收數(shù)據緩存區(qū),等待接收下一幀;若收到的字節(jié)數(shù)等于待解析報文長度,表示數(shù)據報文接收完畢,則根據DLC字段值提取相應個數(shù)的應用數(shù)據,存入接收數(shù)據緩存區(qū),推送給應用層處理。

3.2.3芯片管理功能軟件設計

芯片與芯片間通信采用slip幀格式,數(shù)據幀格式如表8所示。

表8 SLIP數(shù)據幀格式

fe619ea2-8d9a-11ee-939d-92fbcf53809c.jpg

在組織slip幀時,在每一個基本數(shù)據幀的首尾各加上一個端字符(0xC0),封裝成slip幀。在發(fā)送的slip數(shù)據幀中,與端字符(0xC0)相同的數(shù)據用轉義字符加替代字符(0xDBDC)代替,與轉義字符(0xDB)相同的數(shù)據用轉義字符加轉義替代字符(0xDBDD)代替。在接收方,對slip數(shù)據幀中的數(shù)據作相反的替代處理,即將“0xDBDC”替換為“0xC0”,將“0xDBDD”替換為“0xDB”。

4系統(tǒng)仿真與分析

完成健康管理系統(tǒng)軟硬件設計后,需要對本系統(tǒng)進行測試。系統(tǒng)測試前,首先對各部分硬件進行檢查調試,確保硬件正確后,將編譯完成的軟件執(zhí)行碼通過Keil5軟件和CDS軟件下載到系統(tǒng)。最后通過上位機軟件或者分析儀對相關接口數(shù)據進行仿真和分析。

4.1Ymodem功能仿真

為了測試該功能,將測試計算機與主控處理器的異步串口連接,打開計算機上安裝的SecureCRT軟件,然后操作該軟件使用Ymodem功能發(fā)送待升級文件,如圖4所示。

fe6f74d2-8d9a-11ee-939d-92fbcf53809c.jpg

圖4 Ymodem發(fā)送界面

待軟件文件升級完成后,重啟設備可查看軟件文件升級成功。

4.2CAN功能仿真

為測試該功能,通過CAN總線分析儀測試其收發(fā)數(shù)據,將測試計算機與CAN總線分析儀連接,打開計算機上安裝的分析儀CANTest軟件,然后將分析儀上的CAN總線接口與本系統(tǒng)對外CAN接口連接進行測試。結合CAN接口數(shù)據幀格式分析,單片機CAN接口能夠正確收發(fā)協(xié)議幀數(shù)據。

4.3芯片管理功能仿真

為測試該功能,將測試計算機與主控處理器的異步串口連接,打開計算機上安裝的SecureCRT軟件,每次本系統(tǒng)上電后查看打印信息,如圖5所示。

fe89cd96-8d9a-11ee-939d-92fbcf53809c.jpg

圖5 軟件信息界面

從圖5中可知,主控處理器可正確獲取各個芯片上的狀態(tài)信息,因而芯片管理功能正常。

5結 語

本文提出了一種低成本的基于CAN總線接口的健康管理系統(tǒng)設計,給出了總體架構設計,并且對該設計的軟硬件方案進行了詳細描述,最后對整個系統(tǒng)進行了仿真和分析。另外,主備CAN接口的設計有效地提升了系統(tǒng)的可靠性,從經濟性和實用性方面考慮,均有明顯優(yōu)勢。

(本文由《單片機與嵌入式系統(tǒng)應用》雜志授權發(fā)表,原文刊發(fā)在2023年第11期)

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    18927

    瀏覽量

    227261
  • 單片機
    +關注

    關注

    6023

    文章

    44376

    瀏覽量

    628499
  • CAN總線
    +關注

    關注

    145

    文章

    1898

    瀏覽量

    130338
  • 總線接口
    +關注

    關注

    0

    文章

    82

    瀏覽量

    30682
  • 健康管理系統(tǒng)

    關注

    0

    文章

    6

    瀏覽量

    1172

原文標題:國產化 RISC-V芯片的健康管理工程設計及實踐

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CAN總線通信系統(tǒng)的研究與設計

    控制器。與SJA1000配套使用的CAN總線驅動器是PCA82C250,它是PHILIPS推出的CAN控制器和物理總線接口芯片,可提供對
    的頭像 發(fā)表于 01-09 08:23 ?6034次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信<b class='flag-5'>系統(tǒng)</b>的研究與設計

    CANoe總線接口硬件VN1640A實物展示與功能介紹#汽車CAN總線?

    總線接口CAN總線接口
    北匯信息POLELINK
    發(fā)布于 :2024年04月11日 10:50:36

    基于CAN總線的網絡監(jiān)控系統(tǒng)

    本文介紹了一種基于CAN總線的網絡監(jiān)控系統(tǒng)方案。該方案使用CAN卡和DSP中的CAN模塊作為上下位機通信
    發(fā)表于 06-01 15:32 ?27次下載

    基于DSP的CAN總線接口設計

    基于DSP的CAN總線接口設計 1. CAN總線簡介   控制器局部網絡(CAN Cont
    發(fā)表于 10-04 09:41 ?4550次閱讀
    基于DSP的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>設計

    基于CAN總線的鎳氫電池管理系統(tǒng)設計

    基于CAN總線的鎳氫電池管理系統(tǒng)設計 1 前言   蓄電池剩余容量的準確測量在電動汽車的發(fā)展中一直是一個非常關鍵的問題。有效的電池管理
    發(fā)表于 12-31 09:20 ?649次閱讀

    CAN總線與RS-485總線的通信接口設計

    CAN總線與RS-485總線的通信接口設計 1  CAN總線及RS-485
    發(fā)表于 01-27 10:46 ?4427次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>與RS-485<b class='flag-5'>總線</b>的通信<b class='flag-5'>接口</b>設計

    CAN總線接口電路設計

    本文介紹了CAN 總線的主要性能及特點,CAN 總線在實際工業(yè)應用中的總體結構,同時給出了CAN 總線
    發(fā)表于 10-31 15:01 ?463次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>電路設計

    CAN總線接口電路的硬件設計

    一篇關于CAN總線接口電路硬件設計的文檔,很詳細,可以參考下
    發(fā)表于 07-01 16:45 ?104次下載

    基于CAN總線接口卡的軟件設計

    硬件部分主要包括主控制器、CAN總線控制器、CAN總線收發(fā)器以及與計算機的RS 232通信接口芯片等。
    發(fā)表于 03-26 13:56 ?1524次閱讀

    如何使用FPGA和CAN控制器MCP2515實現(xiàn)慣導系統(tǒng)CAN總線接口的設計

    接口控制新型的CAN 控制器MCP2515,使慣導系統(tǒng)不僅具備了接入CAN 總線的能力,而且在系統(tǒng)
    發(fā)表于 01-27 15:52 ?17次下載
    如何使用FPGA和<b class='flag-5'>CAN</b>控制器MCP2515實現(xiàn)慣導<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>的設計

    CAN總線接口模塊

    麥可科技研發(fā)的CAN總線接口模塊、擁有2/4路獨立CAN通道。 板載的120歐姆終端電阻,用戶可以根據使用情況,用跳線選擇,當節(jié)點為端節(jié)點時應連接該電阻。
    發(fā)表于 04-20 10:32 ?23次下載

    使用CAN總線需要擴展CAN總線接口

    您是否遇到需要使用CAN總線,但MCU沒有集成CAN總線控制器的情況?您又是否遇到MCU的CAN口資源不夠的情況?一顆CSM330A芯片能解
    的頭像 發(fā)表于 09-04 16:41 ?1044次閱讀
    使用<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>需要擴展<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>嗎

    CAN總線接口保護電路

    CAN總線的應用范圍廣,應用環(huán)境相當復雜,一些靜電、浪涌等干擾很容易耦合到總線上,并直接作用于CAN總線
    的頭像 發(fā)表于 09-23 08:29 ?1116次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>保護電路

    CAN總線接口保護方案

    CAN總線的應用范圍廣,應用環(huán)境相當復雜,一些靜電、浪涌等干擾很容易耦合到總線上,并直接作用于CAN總線
    的頭像 發(fā)表于 01-13 08:27 ?580次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>接口</b>保護方案

    CAN總線接口類型

    CAN總線(Controller Area Network)是一種基于廣播的串行通信協(xié)議,廣泛用于連接分布式系統(tǒng)中的各個設備,實現(xiàn)它們之間的數(shù)據交換和控制。CAN
    的頭像 發(fā)表于 09-03 14:13 ?370次閱讀