基于Cortex-M0的CAN-FD总线控制器的驱动设计

原创 智能汽车开发者平台 2022-12-16 18:00
摘要


CAN-FD总线协议具有较高的有效数据速率,并被广泛用于汽车内部总线。 本文介绍了基于Cortex-M0处理器的CAN-FD协议控制器驱动程序的设计,详细分析了CAN-FD驱动程序的开发过程,通过与其他CAN-FD节点通信实现多节点通信,并利用CAN-FD分析仪和逻辑分析仪在物理总线上对CAN-FD帧进行抓取。通过实际的CAN-FD通信项目,本文完成了被驱动的设计过程,并为其他CAN-FD设备的被驱动设计提供了参考价值。


I.简介

CAN总线是由著名的汽车电子制造商--博世开发的。 它具有成本低、抗干扰能力强、传输速率高、联网方便等特点。 之后,飞利浦制定了CAN总线通信技术规范和国际标准ISO-11898,这为CAN总线技术成为国际通用标准奠定了基础。 CAN物理层协议支持多种传输速率,最高可以达到1Mbit/s。然而,传统的CAN总线协议不能应用于一些对数据传输速率有高要求的场景。因此,博世公司推出了CAN-FD协议,通过改变帧结构和提高比特率,成功地将数据传输率提高到5Mbit/s,并且具有足够高的安全性[1]-[3]。

与传统CAN协议相比,CAN- FD具有更快的数据传输速率和更灵活有效的数据传输。与CAN协议每帧8字节的传输效率不同,CAN- FD可以将传输数据提高到最高64字节。 同时,传输效率也得到了提高。CAN-FD可以安装在低功耗芯片Cortex-M0上,这样可以有效地降低功耗。


II.线路设计

本文设计的架构以Cortex-M0为核心处理器,Cortex-M0处理器采用的片上互连总线是AMBA总线,包括高速总线AHB和低速总线APB。 CAN-FD协议控制器IP是APB总线的外设之一,其余包括TIMER、串口、看门狗CAN-FD协议控制器专用的消息RAM,如图1所示。在这个系统结构中,Cortex-M0是AHB总线的主要模块,它负责启动读写操作。AHB-APB桥是AHB总线的从属模块,APB总线的主模块,其他外围接口和模块是从属模块[4]-[5]。

核心的CAN-FD协议控制器包括以下模块:CAN-FD位定时模块,位数据流处理器模块,寄存器管理模块。作为APB的外围设备之一,CAN-FD的消息RAM也控制着CAN帧的信息,包括ID、ID类型、数据和其他消息的存储,如图2所示。

CAN-FD控制器通过信号'CAN_FD_TX'向外部发送数据,通过CAN-FD收发器接收数据,并通过模拟模块产生'CAN_H'和'CAN_L'作为物理总线的信号,与总线上的其他节点进行通信。 同时,CAN-FD收发器也接收总线数据并将数据传输给CAN-FD控制器。CAN-FD控制器通过 "CAN_FD_RX "将收到的信号作为输入。

图1. 基于Cortex-M0处理器的SOC架构。

图2. CAN-FD协议控制器结构。

III.执行情况


CAN-FD驱动的设计包括两个方面:函数库的设计和调用以及主函数的设计。函数库设计就是编写各种接口的函数,方便在嵌入式设计中直接调用。 本文的功能库设计包括设备的初始化和信息RAM地址的计算 主要功能部分包括CAN-FD帧数据的发送和接收、串口的信息打印、数据存储和系统中断。驱动设计思路如图3所示。

图3. CAN-FD设备驱动程序的设计思路。

A.结构

通过用一个结构来封装其他结构指针,可以更容易地管理资源。本文的主要结构如下:

上述结构由寄存器表、初始化结构、消息内存管理结构、CAN-FD通信状态结构、CAN-FD设备锁结构和CAN-FD错误代码组成。结构的设计提高了驱动程序代码的可移植性,函数调用结构成员时更加方便,提高了代码的可读性。同时,其他结构指针也被封装在该结构中,如结构中的'FDCAN_GlobalTypeDef'结构,其组成如下:

当驱动程序要配置CAN-FD设备的一个寄存器时,可以直接通过该结构进行配置。

B.驱动设计

本文中CAN-FD驱动的设计和编译是在Linux系统环境下完成的,编译软件是ARMCC编译器。

图4. 初始化过程

·初始化

Void FDCAN_init (int * btl)'(CAN-FD设备的初始化函数)用于配置CAN-FD初始化相关的寄存器,

包括初始化帧格式、节点的CAN-FD模式、额定比特和数据比特率、接收发送FIFO、接收滤波器等,初始化过程见图4。

·发送和接收

CAN-FD驱动程序可以通过调用'fdcan_tx (* databuf, len, ID, idtype, brs, fdform)'和'fdcan_rx (* data)'来发送和接收CAN-FD帧。

图5. CAN-FD帧的发送过程。

传输功能首先配置与传输有关的结构'FDCAN_TxHeaderTypeDef',它包含传输帧的ID、ID类型、传输帧类型、数据长度、错误状态、速度变化、传输帧格式等。结构配置完成后,通过'AddMessageToTxFIFO'函数将要发送的CAN-FD帧和数据添加到发送FIFO中,同时添加到发送FIFO的发送指令,等待数据的发送。AddMessageToTxFIFO "函数首先确定FIFO的大小和地址,然后通过判断FIFO是否满,将CAN-FD帧添加到CAN-FD的消息RAM地址,最后等待发送请求,实现CAN-FD帧的发送。发送过程如图5所示。本文设计的传输功能可以通过参数直接配置CAN-FD帧的格式,更方便地设置CAN-FD帧的发送。

图6. CAN-FD帧的接收过程。

接收函数通过调用'GetRxMessage'函数将接收FIFO地址上的数据转移到8位数组数据中,然后将数组的值返回给主函数。

同时,通过串口将数据打印到PC上位机,实现数据接收和可视化。数据的接收过程如图6所示。

C.汇编

本文的驱动编译是由Makefile完成的,它与整个项目的编译规则有关。因为本文设计的驱动程序的源文件按类型、功能和模块分别放在几个目录中,并由Makefile定义一系列的规则来指定编译过程。Makefile自动编译的特点是,只需通过make命令就可以自动编译整个项目,大大提高了驱动开发的效率。本文的编译流程如图7所示[6]。

图7. Makefile的编译过程。

个CAN-FD驱动设计的源文件包括主函数(main.c)、驱动函数库(bsp_fdcan. c/uart.c)、CAN-FD结构和相关宏定义(fdcan_base.h)以及Cortex-M0头文件(CMSDK_CM0.h)。用于编译的文件包括makefile和链接脚本fdcan_16k.ld。


IV.通信测试


CAN-FD总线通信仿真测试的环境如图8所示,包括用于燃烧驱动器的j-link、用于抓取物理总线上CAN-FD帧波形的逻辑分析仪、CAN-FD分析仪、UART串行端口和基于Cortex-M0内核的CAN-FD总线控制器SOC芯片。

图8. CAN-FD通信测试环境。


图9. ZCANPRO的收发测试。


图10. UART信息。


打开上位机软件ZCANPRO查看CAN-FD分析仪接收的物理总线的帧,用串口调试工具sscom42查看UART的打印信息,如图9和图10所示。


V.总结


本文介绍了基于Cortex-M0处理器的CAN-FD协议控制器的设计和实现。

针对CAN-FD设备的驱动,设计了安装在APB总线上的CAN-FD设备结构,编制了初始化设备功能和数据收发功能,完成了CAN-FD协议控制器的驱动设计,实现了基于CAN-FD协议的数据传输,并完成了设备的板级调试。由于嵌入式系统的广泛应用和高性能的CAN-FD总线,我们相信CAN-FD设备的嵌入式系统将得到越来越广泛的应用。


参考文献:

[1]Robert I. Davis,Alan Burns,Reinder J.Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised[J] . Real-Time Systems. 2007 (3).

[2]Xie Yong, Huang Pengcheng, Comparison between CAN and CAN FD: A quantified approach[J].International Conference on Ubiquitous Computing and Communications, 2017, p 1399-1403.

[3]Agrawal Megha, Huang Tianxiang. CAN-FD-Sec: Improving Security of CAN-FD Protocol[J].Lecture Notes in Computer Science.v 11552 LNCS, p 77-93, 2019.

[4]PraKash Rashinkar,Peter paterson, Leena Singh.System-On-a-chip verification methodology.

[5]Bricaud P J. IP Reuse Creation for System-on-a-chip Design[J]. Proceeding of the IEEE Custom Integrated Circuits, 1999, 27(5): 390-405.

[6]Simões Alberto, Fonseca, R ú ben. Makefile: Parallel dependency specification language[J]. Lecture Notes in Computer Science.v 4641 LNCS, p 33-41, 2007.

END

分享不易,恳请点个【👍】和【在看】

智能汽车开发者平台 分享汽车最新前言技术解读,行业分析,与授权行业资料分享平台。
评论 (0)
  •   无人机结构仿真与部件拆解分析系统平台解析   北京华盛恒辉无人机结构仿真与部件拆解分析系统无人机技术快速发展的当下,结构仿真与部件拆解分析系统平台成为无人机研发测试的核心工具,在优化设计、提升性能、降低成本等方面发挥关键作用。以下从功能、架构、应用、优势及趋势展开解析。   应用案例   目前,已有多个无人机结构仿真与部件拆解分析系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润无人机结构仿真与部件拆解分析系统。这些成功案例为无人机结构仿真与部件拆解分析系统的推广和应用提
    华盛恒辉l58ll334744 2025-04-23 15:00 203浏览
  •   有效样本分析决策系统平台全面解析   一、引言   北京华盛恒辉有效样本分析决策系统在当今数据驱动的时代,企业、科研机构等面临着海量数据的处理与分析挑战。有效样本分析决策系统平台应运而生,它通过对样本数据的精准分析,为决策提供有力支持,成为提升决策质量和效率的关键工具。   应用案例   目前,已有多个有效样本分析决策系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润有效样本分析决策系统。这些成功案例为有效样本分析决策系统的推广和应用提供了有力支持。   二、平台概述
    华盛恒辉l58ll334744 2025-04-24 11:13 95浏览
  •   航空兵训练与战术对抗仿真平台系统解析   北京华盛恒辉航空兵训练与战术对抗仿真平台系统是现代军事训练的关键工具,借助计算机技术构建虚拟战场,支持多兵种协同作战模拟,为军事决策、训练及装备研发提供科学依据。   应用案例   目前,已有多个航空兵训练与战术对抗仿真平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润航空兵训练与战术对抗仿真平台。这些成功案例为航空兵训练与战术对抗仿真平台的推广和应用提供了有力支持。   一、系统架构与核心功能   系统由模拟器、计算机兵力生
    华盛恒辉l58ll334744 2025-04-24 16:34 116浏览
  • 一、行业背景与市场需求高血压作为全球发病率最高的慢性病之一,其早期监测与管理已成为公共卫生领域的重要课题。世界卫生组织数据显示,全球超13亿人受高血压困扰,且患者群体呈现年轻化趋势。传统血压计因功能单一、数据孤立等缺陷,难以满足现代健康管理的需求。在此背景下,集语音播报、蓝牙传输、电量检测于一体的智能血压计应运而生,通过技术创新实现“测量-分析-管理”全流程智能化,成为慢性病管理的核心终端设备。二、技术架构与核心功能智能血压计以电子血压测量技术为基础,融合物联网、AI算法及语音交互技术,构建起多
    广州唯创电子 2025-04-23 09:06 177浏览
  •   海上训练与保障调度指挥平台系统解析   北京华盛恒辉海上训练与保障调度指挥平台系统是现代海上作战训练的核心枢纽,融合信息技术、GIS、大数据及 AI 等前沿技术,旨在实现海上训练高效组织、作战保障科学决策。以下从架构功能、应用场景、系统优势及发展挑战展开解读。   应用案例   目前,已有多个海上训练与保障调度指挥平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润海上训练与保障调度指挥平台。这些成功案例为海上训练与保障调度指挥平台的推广和应用提供了有力支持。   一
    华盛恒辉l58ll334744 2025-04-24 15:26 101浏览
  •   后勤实验仿真系统平台深度解析   北京华盛恒辉后勤实验仿真系统平台依托计算机仿真技术,是对后勤保障全流程进行模拟、分析与优化的综合性工具。通过搭建虚拟场景,模拟资源调配、物资运输等环节,为后勤决策提供数据支撑,广泛应用于军事、应急管理等领域。   应用案例   目前,已有多个后勤实验仿真系统平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润后勤实验仿真系统平台。这些成功案例为后勤实验仿真系统平台的推广和应用提供了有力支持。   一、核心功能   (一)后勤资源模拟
    华盛恒辉l58ll334744 2025-04-23 15:39 177浏览
  • 一、技术背景与市场机遇在智能家居高速发展的今天,用户对家电设备的安全性、智能化及能效表现提出更高要求。传统取暖器因缺乏智能感知功能,存在能源浪费、安全隐患等痛点。WTL580-C01微波雷达感应模块的诞生,为取暖设备智能化升级提供了创新解决方案。该模块凭借微波雷达技术优势,在精准测距、环境适应、能耗控制等方面实现突破,成为智能取暖器领域的核心技术组件。二、核心技术原理本模块采用多普勒效应微波雷达技术,通过24GHz高频微波信号的发射-接收机制,实现毫米级动作识别和精准测距。当人体进入4-5米有效
    广州唯创电子 2025-04-23 08:41 161浏览
  •   陆地边防事件紧急处置系统平台解析   北京华盛恒辉陆地边防事件紧急处置系统平台是整合监测、预警、指挥等功能的智能化综合系统,致力于增强边防安全管控能力,快速响应各类突发事件。以下从系统架构、核心功能、技术支撑、应用场景及发展趋势展开全面解读。   应用案例   目前,已有多个陆地边防事件紧急处置系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润陆地边防事件紧急处置系统。这些成功案例为陆地边防事件紧急处置系统的推广和应用提供了有力支持。   一、系统架构   感知层:部
    华盛恒辉l58ll334744 2025-04-23 11:22 128浏览
  • 前言本文主要演示基于TL3576-MiniEVM评估板HDMI OUT、DP 1.4和MIPI的多屏同显、异显方案,适用开发环境如下。Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:VMware16.2.5、Ubuntu22.04.5 64bitU-Boot:U-Boot-2017.09Kernel:Linux-6.1.115LinuxSDK:LinuxSDK-[版本号](基于rk3576_linux6.1_release_v
    Tronlong 2025-04-23 13:59 141浏览
  • 故障现象一辆2016款奔驰C200L车,搭载274 920发动机,累计行驶里程约为13万km。该车组合仪表上的防侧滑故障灯、转向助力故障灯、安全气囊故障灯等偶尔异常点亮,且此时将挡位置于R挡,中控显示屏提示“后视摄像头不可用”,无法显示倒车影像。 故障诊断用故障检测仪检测,发现多个控制单元中均存储有通信类故障代码(图1),其中故障代码“U015587 与仪表盘的通信存在故障。信息缺失”出现的频次较高。 图1 存储的故障代码1而组合仪表中存储有故障代码“U006488 与用户界
    虹科Pico汽车示波器 2025-04-23 11:22 111浏览
  •   电磁频谱数据综合管理平台系统解析   一、系统定义与目标   北京华盛恒辉电磁频谱数据综合管理平台融合无线传感器、软件定义电台等前沿技术,是实现无线电频谱资源全流程管理的复杂系统。其核心目标包括:优化频谱资源配置,满足多元通信需求;运用动态管理与频谱共享技术,提升资源利用效率;强化频谱安全监管,杜绝非法占用与干扰;为电子战提供频谱监测分析支持,辅助作战决策。   应用案例   目前,已有多个电磁频谱数据综合管理平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁频谱数
    华盛恒辉l58ll334744 2025-04-23 16:27 193浏览
  •   高海拔区域勤务与装备保障调度系统平台解析   北京华盛恒辉高海拔区域勤务与装备保障调度系统平台专为高海拔特殊地理环境打造,致力于攻克装备适应、人员健康保障、物资运输及应急响应等难题。以下从核心功能、技术特点、应用场景及发展趋势展开全面解读。   应用案例   目前,已有多个高海拔区域勤务与装备保障调度系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润高海拔区域勤务与装备保障调度系统。这些成功案例为高海拔区域勤务与装备保障调度系统的推广和应用提供了有力支持。   一、核心
    华盛恒辉l58ll334744 2025-04-24 10:13 104浏览
  •   复杂电磁环境模拟系统平台解析   一、系统概述   北京华盛恒辉复杂电磁环境模拟系统平台是用于还原真实战场或特定场景电磁环境的综合性技术平台。该平台借助软硬件协同运作,能够产生多源、多频段、多体制的电磁信号,并融合空间、时间、频谱等参数,构建高逼真度的电磁环境,为电子对抗、通信、雷达等系统的研发、测试、训练及评估工作提供重要支持。   应用案例   目前,已有多个复杂电磁环境模拟系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润复杂电磁环境模拟系统。这些成功案例为复杂电
    华盛恒辉l58ll334744 2025-04-23 10:29 185浏览
  •   陆地装备体系论证与评估综合平台系统解析   北京华盛恒辉陆地装备体系论证与评估综合平台系统是契合现代军事需求而生的专业系统,借助科学化、智能化手段,实现对陆地装备体系的全方位论证与评估,为军事决策和装备发展提供关键支撑。以下从功能、技术、应用及展望展开分析。   应用案例   目前,已有多个陆地装备体系论证与评估综合平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润陆地装备体系论证与评估综合平台。这些成功案例为陆地装备体系论证与评估综合平台的推广和应用提供了有力支持。
    华盛恒辉l58ll334744 2025-04-24 10:53 110浏览
  •   通用装备论证与评估系统平台解析   北京华盛恒辉通用装备论证与评估系统平台是服务军事装备全生命周期管理的综合性信息化平台,通过科学化、系统化手段,实现装备需求论证、效能分析等核心功能,提升装备建设效益。   应用案例   目前,已有多个通用装备论证与评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润通用装备论证与评估系统。这些成功案例为通用装备论证与评估系统的推广和应用提供了有力支持。   一、系统分层架构   (一)数据层   整合装备性能、作战、试验等多源异
    华盛恒辉l58ll334744 2025-04-24 16:14 108浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦