国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

基于RT-Thread與兆易創新GD32F527的工業級網絡-CAN透傳網關設計與實現 | 技術集結

RT-Thread官方賬號 ? 2026-02-10 16:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目錄

系統概述

RT-Thread使用情況

硬件框架

軟件架構


軟件模塊詳解

功能展示

鏈接地址

1 系統概述

本系統是一個基于GD32F527I_EVAL和RT-Thread實時操作系統開發的工業級網絡-CAN總線透傳網關。該系統實現了TCP/UDP網絡協議與CAN總線之間的雙向透明數據傳輸,支持Web配置管理、固件在線升級(暫未驗證)、SD卡配置存儲等功能,適用于工業自動化、車聯網、智能設備等需要網絡與CAN總線互聯的應用場景。

1.1 核心功能特性

雙向透明傳輸:網絡數據與CAN總線數據的無縫雙向轉發

多協議支持:TCP Server/Client、UDP通信模式

靈活CAN配置:支持標準幀/擴展幀、可變波特率(5Kbps~1Mbps)

智能ID管理:固定ID、自增ID、數據提取ID三種模式

Web配置界面:現代化響應式Web UI,支持實時配置修改

配置持久化:基于SD卡的配置文件存儲系統

固件OTA升級:支持通過Web界面上傳固件并安全升級

系統監控:實時顯示網絡狀態、CAN狀態、傳輸統計

2 RT-Thread使用情況

2.1 操作系統版本與組件

系統基于RT-Thread master版本構建,充分利用了其豐富的組件生態:

已啟用的核心組件:

內核:多線程調度、信號量、互斥鎖、消息隊列

文件系統:DFS + ELM-FAT,用于SD卡配置存儲

網絡協議棧:LwIP 2.03,支持TCP/UDP、DHCP、DNS。RT-Thread最新版可能會與LWIP2.03中cc.h文件的變量類型定義沖突,修cc.h文件的內容。

設備驅動框架:CAN驅動、SDIO驅動、EMAC以太網驅動

Shell組件:MSH (Module Shell),用于命令行調試

FAL:Flash抽象層(可選),用于固件分區管理

2.2 線程資源使用

系統采用多線程并發架構,主要線程包括:

52e7cd66-0657-11f1-96ea-92fbcf53809c.png

2.3 IPC應用

消息隊列: 用于網絡與CAN數據的異步傳遞(net_to_can_queue, can_to_net_queue)

信號量: 用于消息隊列的同步通知(net_to_can_sem, can_to_net_sem)

互斥鎖: 保護配置文件訪問(config_lock)、固件升級狀態(upgrade_mutex)

2.4 內存管理

采用動態內存分配策略:

消息緩沖區:動態分配最大2048字節數據緩沖

Web緩沖區:請求4KB,響應34KB(擴展緩沖區)

網絡緩沖區:各服務獨立分配1KB緩沖

3 硬件框架

微控制器:GigaDevice GD32F527IST7

內核:ARM Cortex-M33 @ 200MHz

Flash:7680KB

SRAM:512KB

外設:本次使用CAN、10/100M以太網MAC、SDIO等

52f6bdbc-0657-11f1-96ea-92fbcf53809c.png530376ec-0657-11f1-96ea-92fbcf53809c.png530c8642-0657-11f1-96ea-92fbcf53809c.jpg

4 軟件架構

4.1 系統分層架構

ApplicationLayer(應用層)

┌─────────┐ ┌─────────┐ ┌─────────┐

│Web Server│ │ Bridge │ │ Network │

│ 管理 │ │ 透傳 │ │ 服務 │

└─────────┘ └─────────┘ └─────────┘

ServiceLayer(服務層)

┌──────────┐ ┌──────────┐ ┌──────────┐

│Config Save│ │ Firmware │ │ System │

│ 配置管理 │ │ 固件升級 │ │ 系統管理 │

└──────────┘ └──────────┘ └──────────┘

RT-ThreadComponents(組件層)

┌────┐ ┌─────┐ ┌─────┐ ┌────┐ ┌────┐

│LwIP│ │ DFS │ │ MSH │ │CAN │ │SDIO│

└────┘ └─────┘ └─────┘ └────┘ └────┘

RT-ThreadKernel(內核層) 線程調度 | IPC通信 | 內存管理 | 定時器 HardwareDrivers(驅動層) EMAC | CAN | SDIO | USART | GPIO | SPI

關鍵設計點:

異步解耦:接收線程與轉發線程通過消息隊列解耦

雙向流控:使用信號量控制隊列消費速率

動態內存:消息體動態分配,避免大棧空間占用

CAN重組:CAN幀自動重組為完整網絡數據包

5 軟件模塊詳解

5.1 Bridge透傳引擎 (user_bridge.c/h)

核心功能:

網絡與CAN雙向數據轉發,支持網絡協議自定義。

CAN幀分段/重組(8字節限制)

CAN ID智能管理(固定/自增/提取)

統計信息:

網絡→CAN: 數據包數、字節數

CAN→網絡: 數據包數、字節數

錯誤計數、丟包計數、內存分配失敗計數

5.2 Web配置服務器 (user_web_*.c/h)

架構特點:

單線程服務器:串行處理請求(簡化設計)

頁面生成:服務器端動態生成完整HTML

響應式設計:現代化CSS,支持桌面/移動端

頁面模塊:

user_web_network.c: 網絡IP配置(DHCP/靜態IP)

user_web_can.c: CAN總線參數配置

user_web_bridge.c: 透傳橋接配置

user_web_server.c: 主服務器 + 系統頁面 + 固件頁面

擴展響應緩沖區以容納完整的多頁面HTML(~34KB)。

UI設計亮點:

漸變色側邊欄導航

卡片式內容布局

開關按鈕、進度條、徽章等現代組件

懸停動畫、狀態指示點

表單驗證與提示信息

5.3 配置管理

存儲方案:

介質:MicroSD卡,16GB,由于外部擴展FLash的SPI與網絡接口沖突,所以使用SDIO存儲配置,后續可擴展存儲數據日志和操作日志,方便進一步分析

路徑:/gd32_net.cfg (使用虛擬文件系統掛載)

格式:二進制結構體 + CRC32校驗

健壯性措施:

寫入臨時文件→重命名→刪除舊備份

讀取失敗自動創建默認配置

CRC32完整性校驗

設備健康檢查(幾何信息、扇區讀取測試)

5.4 固件升級 (user_firmware.c/h)待驗證

5.5 網絡應用服務 (user_net_app.c)

可單獨測試四種網絡模式:

531aedae-0657-11f1-96ea-92fbcf53809c.png

控制命令:

tcp_server start/stop

udp_server start/stop

tcp_client start/stop

udp_client start/stop

net_status: 查看所有服務狀態

5.6 系統管理 (user_system.c/h)

提供功能:

系統信息查詢(內存、運行時間、版本)

設備重啟(reboot [delay])

恢復出廠設置(factory_reset)

配置導出為JSON格式

6 功能展示

1.1 實現功能

1.設備網絡配置界面

532473f6-0657-11f1-96ea-92fbcf53809c.png

2.CAN配置界面

53384660-0657-11f1-96ea-92fbcf53809c.png

注意:透傳需要啟動CAN(當前參數默認啟動)

3.透傳橋接界面

53461b46-0657-11f1-96ea-92fbcf53809c.png

4.設備信息界面

534d828c-0657-11f1-96ea-92fbcf53809c.png

可以查看當前固件版本,并在配置后利用按鈕進行軟件重啟設備,以實現配置生效。

5.固件升級

53583e98-0657-11f1-96ea-92fbcf53809c.png

固件升級界面暫未驗證,可進一步拓展。

6.2 數據傳輸功能展示

1.設備內部默認為TCP_server,當前IP地址為192.168.1.50,CAN一側波特率設置為1Mbps,標準幀。

535f0534-0657-11f1-96ea-92fbcf53809c.png

實現了雙向數據發送。

6.3 接口連接

連接了網口和CAN口,SD卡也插入接口中。

53768c68-0657-11f1-96ea-92fbcf53809c.png

7 鏈接地址

代碼地址:https://gitee.com/wujunc/gd32-f527_rtthread

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

    關注

    59

    文章

    3066

    瀏覽量

    472730
  • 網關
    +關注

    關注

    9

    文章

    6764

    瀏覽量

    56249
  • RT-Thread
    +關注

    關注

    32

    文章

    1613

    瀏覽量

    44817
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于創新GD32F527系列MCU的多媒體門禁系統解決方案

    基于GD32F527系列MCU的多媒體門禁系統,主控GD32F527系列MCU,具備攝像頭采集圖像(DMA直接到SDRAM),保存照片,查看照片。DCI數字圖像接口、TLI接口驅動TFT-LCD屏幕
    的頭像 發表于 10-29 11:37 ?7128次閱讀
    基于<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創新</b><b class='flag-5'>GD32F527</b>系列MCU的多媒體門禁系統解決方案

    rt-thread studio新建gd32f450工程

    rt-thread studio 軟件版本是:2.2.6;開發板的軟件包是:GD32450Z-GD-EVAL版本是V1.0.1;開發板使用的官方開發板
    的頭像 發表于 09-28 14:17 ?2850次閱讀
    <b class='flag-5'>rt-thread</b> studio新建<b class='flag-5'>gd32f</b>450工程

    創新加入RT-Thread高級會員合作伙伴計劃 | 戰略新篇

    全球領先的半導體供應商創新(GigaDevice)正式加入RT-Thread高級會員合作伙伴計劃,標志著雙方在嵌入式領域的合作邁入全新階段。未來,
    的頭像 發表于 07-14 09:04 ?2196次閱讀
    <b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創新</b>加入<b class='flag-5'>RT-Thread</b>高級會員合作伙伴計劃 | 戰略新篇

    基于RT-Thread和N32G457的CAN網關

    逐漸引入以太網,其高數據吞吐量是CAN總線無法比擬的。但在不改變傳統工業總線的前提下,實現不同網絡之間的轉換,有著迫切的需求。CAN
    發表于 04-18 15:10

    基于GD32F310開發板在rt-thread上添加finsh及其shell功能

    1、GD32F310開發板試用+finsh/shell添加與進程STACK優化  上一次只是移植了rt-thread nano的內核,但rt-thread的finsh/shell,是一大很有特點
    發表于 11-08 16:05

    Fibocom MCU之創新 技術資料

    GD32F303C-START連接騰訊云收發數據工程3、【視頻】GD32F303C-START連接騰訊云收發數據工程4、創新提供的資料
    發表于 01-09 15:27

    RT-Thread移植到GD32F150系列MCU

    RT-Thread移植到GD32F150系列MCU
    發表于 12-07 19:36 ?8次下載
    <b class='flag-5'>RT-Thread</b>移植到<b class='flag-5'>GD32F</b>150系列MCU

    RT-Thread文檔_CAN 設備

    RT-Thread文檔_CAN 設備
    發表于 02-22 18:34 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>CAN</b> 設備

    GD32F527的設備限制

    電子發燒友網站提供《GD32F527的設備限制.pdf》資料免費下載
    發表于 01-17 15:54 ?1次下載
    <b class='flag-5'>GD32F527</b>的設備限制

    RT-Thread適配創新GD32F5系列MCU,開放免費試用申請!| 技術集結

    滿足工業市場對高可靠性和高安全性的需求。全面適配于能源電力、光伏儲能、工業自動化、PLC、網絡通訊設備、圖形顯示等應用場景。GD32F5系列MCU現已完成
    的頭像 發表于 08-07 10:11 ?1459次閱讀
    <b class='flag-5'>RT-Thread</b>適配<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創新</b><b class='flag-5'>GD32F</b>5系列MCU,開放免費試用申請!| <b class='flag-5'>技術</b><b class='flag-5'>集結</b>

    【直播預告】GD32F527高性能MCU全方位解析,與RT-Thread的全棧開發實戰 | 博觀講堂

    10月10日晚20:00,RT-Thread攜手創新專家團隊,帶來GD32F527芯片深度解讀。在
    的頭像 發表于 10-07 10:03 ?798次閱讀
    【直播預告】<b class='flag-5'>GD32F527</b>高性能MCU全方位解析,與<b class='flag-5'>RT-Thread</b>的全棧開發實戰 | 博觀講堂

    基于RT-ThreadGD32F527I-EVAL的多媒體門禁系統 | 技術集結

    創新本月正式推出GD32F503/505高性能系列32位通用微控制器,新品將全面支持RT-Thread平臺。
    的頭像 發表于 11-25 18:31 ?1089次閱讀
    基于<b class='flag-5'>RT-Thread</b>與<b class='flag-5'>GD32F527</b>I-EVAL的多媒體門禁系統 | <b class='flag-5'>技術</b><b class='flag-5'>集結</b>

    創新RT-Thread MCU技術路演圓滿收官

    近日,創新(GigaDevice)與RT-Thread攜手舉辦的MCU技術路演圓滿收官。本次路演聚焦
    的頭像 發表于 12-01 10:14 ?1474次閱讀

    基于RT-Thread創新GD32F527系列MCU的健康監測站 | 技術集結

    本項目為RT-Thread嵌入式大賽獲獎作品,基于RT-Thread創新GD32F527I
    的頭像 發表于 01-20 17:37 ?3877次閱讀
    基于<b class='flag-5'>RT-Thread</b>和<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創新</b><b class='flag-5'>GD32F527</b>系列MCU的健康監測站 | <b class='flag-5'>技術</b><b class='flag-5'>集結</b>

    基于 RT-Thread創新GD32F527CAN總線監視器 | 技術集結

    【適配新進展】創新RT-Thread的適配大家庭又添新成員啦!GD32VW553現已正式完成適配,并在社區開發者的協作下完成了電子書《
    的頭像 發表于 03-05 10:04 ?13次閱讀
    基于 <b class='flag-5'>RT-Thread</b> 和<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創新</b><b class='flag-5'>GD32F527</b>的<b class='flag-5'>CAN</b>總線監視器 | <b class='flag-5'>技術</b><b class='flag-5'>集結</b>