CAN总线通信原理与DSP28335 eCAN模块实战配置指南
1. 项目概述从“线”到“信”的工业神经如果你拆开过一辆现代汽车的控制板或者打开过一台工业机器人的控制柜大概率会看到一捆捆粗细不一的线束中总有两根拧在一起的“双绞线”格外显眼。它们不像电源线那么粗壮也不像信号线那样五颜六色但几乎所有的核心控制单元——发动机电脑ECU、变速箱控制器、电池管理系统BMS、各个传感器——都通过这两根线连在一起。这根“线”就是CAN总线而在这条“高速公路”上飞驰的“车辆”就是遵循CAN协议的数据帧。今天我们不谈那些厚重的标准文档就以德州仪器TI经典的DSP28335芯片内置的增强型CANeCAN模块为实操平台用十分钟时间把CAN通信从物理电平到数据收发的整个原理链条彻底捋清楚。你会发现它并不神秘其核心设计思想充满了工程师式的简洁与智慧。为什么是DSP28335和它的eCAN在电机控制、数字电源、新能源等实时性要求极高的领域DSP28335因其强大的数字信号处理能力和丰富的外设曾是无数工程师的“初恋”。它的eCAN模块完全兼容CAN 2.0B协议支持标准和扩展帧邮箱机制清晰是学习CAN原理并付诸实践的绝佳硬件载体。理解了这个模块的工作方式你再去看STM32的bxCAN或者NXP的FlexCAN会发现核心思想一脉相承只是寄存器名称和配置细节有所不同。本文的目标就是让你在十分钟内不仅知道CAN是什么更能理解它为什么这么设计以及如何在DSP28335上亲手配置出一个能收能发的CAN节点。2. CAN通信核心原理深度拆解2.1 物理层差分信号与“线与”逻辑CAN总线的物理层奠定了其高可靠性的基石。它采用差分信号进行传输。所谓差分是指用两根线CAN_H和CAN_L之间的电压差来代表逻辑信号而不是像串口那样用单线对地的电压。显性电平Dominant代表逻辑‘0’。此时CAN_H电压升高典型值约3.5VCAN_L电压降低典型值约1.5V两者差值约为2V。这个状态由CAN收发器如TJA1050驱动产生具有更强的驱动能力。隐性电平Recessive代表逻辑‘1’。此时CAN_H和CAN_L电压均处于约2.5V的中间值电压差接近0V。这个状态是总线上的默认空闲状态当没有节点主动驱动时总线通过终端电阻通常为120Ω拉到此状态。这里蕴含了CAN总线第一个精妙的设计“线与”逻辑。在总线上只要有一个节点发出显性位‘0’无论其他节点同时发出的是隐性位‘1’还是显性位总线呈现的结果都是显性位‘0’。这就像一群人开会只要有一个人大声说“反对”显性那么会议记录的结果就是“反对”即使其他人默不作声隐性或小声同意。这个特性是实现非破坏性逐位仲裁的物理基础。注意终端电阻至关重要。它必须连接在总线拓扑的两个最远端每个电阻通常为120Ω两者并联后为60Ω用于阻抗匹配消除信号反射。没有终端电阻或电阻值不匹配会导致通信不稳定、误码率飙升。这是新手调试CAN时最容易忽略的硬件问题。2.2 数据链路层帧结构、仲裁与错误处理数据链路层规定了数据如何打包、寻址、仲裁和纠错。CAN协议定义了四种帧类型数据帧、远程帧、错误帧和过载帧。我们最关心的是数据帧。CAN 2.0B扩展数据帧结构以DSP28335 eCAN支持的模式为例帧起始SOF1位显性位标志一帧的开始。仲裁场标识符Identifier标准帧11位扩展帧29位本文聚焦扩展帧。它定义了报文的优先级和内容。标识符数值越小优先级越高。因为仲裁时从最高位MSB开始逐位比较先出现显性位‘0’的报文获胜。远程传输请求位RTR1位。数据帧为显性‘0’远程帧为隐性‘1’。标识符扩展位IDE1位。标准帧为显性‘0’扩展帧为隐性‘1’。替代远程请求位SRR扩展帧中固定为隐性‘1’。控制场包含数据长度码DLC4位指示后续数据场包含0-8个字节的数据。数据场实际要传输的数据0-8字节。CRC场15位循环冗余校验码1位隐性CRC界定符用于接收方校验数据在传输过程中是否出错。应答场ACK2位。发送节点发出隐性位所有正确接收到帧的节点无论标识符是否匹配在ACK槽回填一个显性位告知发送者“我已收到”。如果发送节点没检测到这个显性位它会认为传输失败并尝试重发。帧结束EOF7位隐性位。非破坏性逐位仲裁这是CAN总线实现多主、无冲突通信的核心。当两个或更多节点同时开始发送时它们从帧起始SOF和仲裁场标识符开始同步发送。在发送每一位的同时每个节点也在监听总线电平。如果某个节点发送了一个隐性位‘1’但监听到的是显性位‘0’它立刻意识到有更高优先级的报文在发送于是立即停止发送转为接收模式且不会破坏正在进行的、更高优先级的报文传输。仲裁失败的节点会在总线空闲后自动重试。这个过程完全由硬件自动完成对软件透明。错误检测与处理机制CAN拥有堪称“ paranoid ”偏执的错误检测能力包括位错误发送的位与监听到的位不一致。填充错误在帧起始、仲裁场、控制场、数据场和CRC场中连续出现5个相同极性的位违反了“位填充”规则每5个相同位后插入一个反极性位保证时钟同步。CRC错误本地计算的CRC值与接收到的CRC值不匹配。格式错误在固定格式的场如帧结束、ACK界定符等检测到非法位。应答错误发送节点在ACK槽未检测到显性位。每个CAN控制器内部都有两个计数器发送错误计数器TEC和接收错误计数器REC。根据错误类型和发生位置发送还是接收计数器会增减。当某个计数器的值超过127时节点进入“错误被动”状态此时它发送的错误帧标志更长当TEC超过255时节点进入“总线关闭”状态自动与总线断开直到检测到128次连续的11位隐性位总线空闲后才能恢复。这套复杂的机制确保了单个节点的故障不会拖垮整个网络。2.3 位时序与同步通信的“心跳”CAN通信是异步的没有统一的时钟线。接收方如何准确地在每一位的中间点采样数据呢答案就是位时序和同步机制。一个位时间Bit Time被划分为四个不重叠的段同步段Sync_Seg固定1个时间份额Time Quantum, Tq。期望的边沿跳变发生在此段内。传播时间段Prop_Seg用于补偿信号在总线上的物理传播延迟和收发器延迟。相位缓冲段1Phase_Seg1用于补偿边沿的相位误差可以在重同步时延长。相位缓冲段2Phase_Seg2同样用于补偿相位误差可以在重同步时缩短。采样点位于相位缓冲段1结束的位置。这是决定读取该位逻辑值是‘0’还是‘1’的时刻。其计算公式为采样点 (Sync_Seg Prop_Seg Phase_Seg1) / 总位时间 * 100%通常对于波特率低于500kbps的总线采样点建议设在75%-80%对于1Mbps的高速CAN建议设在75%左右。DSP28335的eCAN模块通过位时序配置寄存器CANBTC来设置这些参数。同步机制硬同步仅在帧起始SOF的下降沿发生。接收方将自身的位时间计数器重置从同步段重新开始。重同步在帧的后续位中如果检测到的边沿跳变发生在同步段之外则通过延长Phase_Seg1或缩短Phase_Seg2来微调位时间使采样点向边沿靠近保证后续位的采样准确性。3. DSP28335 eCAN模块配置实战理解了原理我们来看如何在DSP28335上动手配置。eCAN模块的配置核心围绕“邮箱”展开。你可以把邮箱想象成邮局里一个个带编号的格子。发送时你把写好的信数据帧放进某个发送邮箱接收时符合地址标识符过滤的信件会自动投递到指定的接收邮箱。3.1 初始化流程与关键寄存器一个典型的eCAN初始化流程如下它比简单的串口初始化复杂但步骤是固定的使能eCAN时钟首先需要打开这个外设的时钟门控。SysCtrlRegs.PCLKCR0.bit.CANENCLK 1; // 使能CAN外设时钟配置GPIO引脚将对应的GPIO引脚设置为CAN功能。对于28335通常是GPIO30(CANTX)和GPIO31(CANRX)。EALLOW; GpioCtrlRegs.GPBMUX1.bit.GPIO30 1; // 配置GPIO30为CANTXA GpioCtrlRegs.GPBMUX1.bit.GPIO31 1; // 配置GPIO31为CANRXA EDIS;初始化eCAN控制寄存器将eCAN模块置于初始化模式以便配置位时序和邮箱。ECanaRegs.CANMC.bit.CCR 1; // 设置CCR1请求进入初始化/配置模式 while(ECanaRegs.CANES.bit.CCE ! 1) {} // 等待配置使能标志置位配置位时序CANBTC这是最关键的一步决定了通信波特率。假设系统时钟SYSCLKOUT为150MHz我们想配置500kbps的波特率。首先选择波特率预分频器BRP它决定了时间份额Tq的频率Tq (BRP 1) / SYSCLKOUT。总位时间Tbit Tq * (Sync_Seg Prop_Seg Phase_Seg1 Phase_Seg2)。Sync_Seg固定为1 Tq。对于500kbpsTbit 2us。假设我们设置BRP4则Tq (41)/150MHz 33.33ns。那么总Tq数 2us / 33.33ns 60 Tq。分配各段Sync_Seg1 Prop_Seg Phase_Seg1通常占位时间的75%-90%我们设为45 Tq Phase_Seg2 60 - 1 - 45 14 Tq。在寄存器中TSEG1 (Prop_Seg Phase_Seg1) - 1 44TSEG2 Phase_Seg2 - 1 13。ECanaRegs.CANBTC.bit.BRP 4; ECanaRegs.CANBTC.bit.TSEG1 44; // 对应45个Tq ECanaRegs.CANBTC.bit.TSEG2 13; // 对应14个Tq ECanaRegs.CANBTC.bit.SJW 3; // 同步跳转宽度通常设为Phase_Seg2和4中的较小值计算采样点(1 45) / 60 * 100% ≈ 76.7%符合要求。配置邮箱eCAN有32个邮箱每个都可以独立配置为发送或接收。需要配置邮箱标识符MSGID、控制域MSGCTRL 包含DLC等和清空数据区。// 以配置邮箱16为发送邮箱为例 ECanaMboxes.MBOX16.MSGID.all 0x18FF5000; // 29位扩展标识符 ECanaMboxes.MBOX16.MSGID.bit.IDE 1; // 扩展帧 ECanaMboxes.MBOX16.MSGID.bit.AME 0; // 不使用接收掩码对于发送邮箱通常为0 ECanaMboxes.MBOX16.MSGID.bit.AAM 0; // 非自动应答模式对于发送邮箱为0 ECanaMboxes.MBOX16.MSGCTRL.bit.DLC 8; // 数据长度8字节 ECanaMboxes.MBOX16.MDHR.all 0; ECanaMboxes.MBOX16.MDLR.all 0; // 清空数据寄存器配置接收过滤与掩码对于接收邮箱需要设置标识符和掩码。掩码位为‘0’表示该位不关心即可匹配0或1为‘1’表示必须精确匹配。// 配置邮箱0为接收邮箱接收标识符为0x18FF5000 ECanaMboxes.MBOX0.MSGID.all 0x18FF5000; ECanaMboxes.MBOX0.MSGID.bit.IDE 1; ECanaMboxes.MBOX0.MSGID.bit.AME 1; // 使能接收掩码 // 配置局部接收掩码LAM对于邮箱0使用LAM0 ECanaLAMRegs.LAM0.all 0x1FFFFFFF; // 低29位全为1表示需要精确匹配所有标识符位 // 如果LAM0 0x1FF00000则高11位0x18FF5000的高11位需要匹配低18位不关心。退出初始化模式配置完成后退出初始化模式模块开始同步并参与总线通信。ECanaRegs.CANMC.bit.CCR 0; // 清除CCR退出初始化模式 while(ECanaRegs.CANES.bit.CCE 1) {} // 等待退出配置模式3.2 发送与接收操作详解发送一帧数据将待发送的数据写入邮箱的数据寄存器MDL和MDH。设置邮箱的发送请求标志TRS。等待发送应答标志TA置位表示发送完成然后清除TA标志。// 准备数据 ECanaMboxes.MBOX16.MDL.all 0x44332211; // 低4字节 ECanaMboxes.MBOX16.MDH.all 0x88776655; // 高4字节 // 请求发送 ECanaRegs.CANTRS.all 0x00010000; // 置位邮箱16的TRS (bit 16) // 等待发送完成 while(ECanaRegs.CANTA.all 0x00010000 0) {} // 等待邮箱16的TA置位 // 清除完成标志 ECanaRegs.CANTA.all 0x00010000; // 写1清除邮箱16的TA标志接收一帧数据轮询或通过中断检查接收挂起标志RMP。如果对应邮箱的RMP置位表示有新数据。从该邮箱的数据寄存器中读取数据。清除该邮箱的RMP标志释放邮箱以接收下一帧。// 轮询接收 if (ECanaRegs.CANRMP.all 0x00000001) { // 检查邮箱0的RMP // 读取数据 Uint32 data_low ECanaMboxes.MBOX0.MDL.all; Uint32 data_high ECanaMboxes.MBOX0.MDH.all; // 读取标识符可选 Uint32 can_id ECanaMboxes.MBOX0.MSGID.all 0x1FFFFFFF; // 清除接收标志 ECanaRegs.CANRMP.all 0x00000001; // 写1清除邮箱0的RMP }更高效的方式是使用中断。需要配置CAN中断线ECAN0INT和对应的邮箱中断级别MIL和中断屏蔽MIM。4. 调试排错与实战经验4.1 常见问题排查清单在实际动手调试DSP28335的CAN通信时90%的问题集中在以下几个方面。你可以按此清单逐一排查现象可能原因排查步骤与解决方法根本发不出数据或发送后无ACK1. 物理层连接问题2. 位时序配置错误3. 未退出初始化模式1.查硬件用万用表测量CAN_H与CAN_L间电阻应为60Ω左右两个120Ω终端并联。测量总线空闲时CAN_H和CAN_L对地电压是否都在2.5V左右。检查收发器如TJA1050的电源和使能引脚。2.查配置使用CAN分析仪如周立功、PCAN监听总线看是否有任何波形。如果没有重点检查CANBTC寄存器的BRP、TSEG1、TSEG2设置用示波器测量TXD引脚是否有波形输出确认波特率是否与目标一致。3.查状态读取CANES寄存器确认CCE位为0已退出配置模式查看CANMC的CCR位是否为0。能发送但接收方收不到或收到错误ID1. 接收方滤波配置错误2. 双方标识符不匹配3. 接收邮箱未正确配置或使能1.查滤波确认接收方的接收邮箱MSGID和LAM局部接收掩码设置。如果使用掩码理解“1”需匹配“0”不关心的规则。一个常见错误是AME位接收掩码使能没有置1。2.查ID用分析仪抓取发送的报文核对29位扩展标识符是否与接收方期望的完全一致考虑掩码后。3.查邮箱方向确认接收邮箱的MSGID.bit.AAM位为0非自动应答并且该邮箱没有被配置为发送邮箱。通信不稳定偶发错误帧1. 总线干扰或布线问题2. 采样点设置不合理3. 节点间时钟累积误差1.查环境确保双绞线完好远离强干扰源如电机、变频器。总线两端必须接120Ω终端电阻。2.调时序使用CAN分析仪的“波特率扫描”或“采样点测试”功能找到最稳定的配置。适当增加Prop_Seg传播段可以补偿较长的布线延迟。3.看误差CAN总线对节点时钟精度有要求通常1%。检查DSP的时钟配置是否正确特别是使用外部晶振时。进入“总线关闭”状态发送错误计数器(TEC)溢出2551. 读取CANES寄存器的BO位确认状态。2. 读取CANTEC寄存器查看错误计数。3.重点排查硬件和波特率总线短路、严重不匹配或持续仲裁失败都会导致TEC快速增加。解决根本问题后模块在检测到128次连续隐性位总线空闲后会自动恢复。4.2 实操心得与高阶技巧邮箱配置策略32个邮箱很充裕合理规划能提升效率。例如将高优先级的报文放在编号小的邮箱如MBOX0-3用于关键控制指令因为发送调度器按邮箱编号顺序检查发送请求。对于接收可以为不同来源或类型的报文分配专用邮箱并设置不同的中断优先级。中断使用要点eCAN的中断源很丰富邮箱中断、错误中断等。在中断服务程序ISR中首先要读取CANIVR寄存器它指示了最高优先级的中断向量。根据该值跳转到对应的处理程序。处理完成后需要手动清除对应的中断标志如RMP、TA。避免在ISR中做复杂耗时的操作。“影子寄存器”陷阱DSP28335的eCAN模块有些寄存器有“影子”机制即你写入的值不会立即生效而是在某个同步事件后。例如对某些配置寄存器的修改需要在初始化模式CCR1下进行。在编写配置函数时务必遵循“进入初始化模式 - 等待CCE置位 - 配置 - 退出初始化模式 - 等待CCE清零”的流程。调试利器——自发自收在硬件调试初期可以先将单个节点的CAN_H和CAN_L短接配置一个邮箱发送另一个邮箱接收相同的ID实现“自发自收”。这能快速验证软件配置、GPIO引脚和芯片内部通路是否正常隔离了总线物理层和外部节点的问题。标识符规划29位的扩展标识符提供了巨大的寻址空间。建议制定项目内部的ID分配规范比如将高几位定义为“功能码”如0x18表示发动机数据中间几位定义为“源地址”低几位定义为“子功能或参数号”。良好的规划能让网络管理和故障诊断变得清晰。理解CAN通信关键在于吃透其“多主、仲裁、差分、广播”的设计哲学。从物理层的差分抗干扰到数据链路层的非破坏性仲裁和严苛的错误管理每一层都为了在嘈杂的工业环境中实现可靠、实时的数据交换。DSP28335的eCAN模块提供了一个非常标准且功能完整的实现范本。当你通过示波器看到那熟悉的差分波形通过代码成功收发第一帧数据再回头品味那些寄存器的每一位含义时这套原理就从书本上的概念变成了你手中实实在在的工具。剩下的就是根据具体的项目需求去设计更复杂的网络拓扑、应用层协议如CANopen, J1939和诊断机制了。

相关新闻

STM32 USB虚拟串口不识别?从硬件到驱动的全链路排查指南

STM32 USB虚拟串口不识别?从硬件到驱动的全链路排查指南

1. 问题现象与排查起点“电脑不识别STM32的USB虚拟串口”——这几乎是每个嵌入式开发者,在初次尝试将STM32的USB接口配置为CDC(Communications Device Class,通信设备类)设备时,都会遇到的“入门礼”。你满怀期待地编译…

2026/7/29 6:04:34 阅读更多 →
1N系列二极管选型指南:从通用整流到高速开关的实战解析

1N系列二极管选型指南:从通用整流到高速开关的实战解析

1. 项目概述:为什么我们需要一份1N系列二极管型号总结?在电路设计的日常工作中,无论是画原理图、做BOM选型,还是调试一个不起眼的小故障,二极管都是绕不开的基础元件。而提到二极管,1N系列绝对是工程师们最…

2026/7/29 6:04:34 阅读更多 →
嵌入式通信协议实战指南:I2C、SPI、UART、CAN、以太网与USB核心原理与避坑

嵌入式通信协议实战指南:I2C、SPI、UART、CAN、以太网与USB核心原理与避坑

1. 从“鸡同鸭讲”到“心有灵犀”:通信协议的本质是什么?你有没有遇到过这样的场景?你和一个外国朋友聊天,你只会说中文,他只会说英文,你们俩手舞足蹈,试图让对方明白自己的意思,结果…

2026/7/29 6:04:34 阅读更多 →

最新新闻

LaTeX子公式编号与对齐排版实战指南

LaTeX子公式编号与对齐排版实战指南

1. 项目概述:子公式编号的痛点与价值 在撰写理工科论文、技术报告或者任何包含复杂数学推导的文档时,我们经常会遇到一个非常具体且恼人的问题:如何为一组紧密相关的公式中的每一个独立公式,分别打上清晰、有序的编号?…

2026/7/29 6:10:36 阅读更多 →
COMSOL在光子晶体光纤仿真中的关键技术解析

COMSOL在光子晶体光纤仿真中的关键技术解析

1. 项目概述:COMSOL在光子晶体光纤仿真中的应用价值光子晶体光纤(Photonic Crystal Fiber, PCF)作为微纳光学领域的重要研究方向,其独特的带隙导光机制和灵活的结构设计为光通信、传感和激光技术带来了革命性突破。而COMSOL Multi…

2026/7/29 6:10:36 阅读更多 →
R语言PCoA绘图实战:从距离矩阵到可视化洞察

R语言PCoA绘图实战:从距离矩阵到可视化洞察

1. 项目概述:从距离矩阵到可视化洞察如果你手头有一堆多维度的数据,比如不同土壤样本的微生物群落组成,或者不同患者的基因表达谱,你想直观地看看这些样本之间的整体差异和相似性,PCoA(主坐标分析&#xff…

2026/7/29 6:10:36 阅读更多 →
Python实战知识地图:从核心概念到工程实践的系统指南

Python实战知识地图:从核心概念到工程实践的系统指南

1. 从“知道”到“会用”:一份Python从业者的实战知识地图每次看到“Python知识点大全”这样的标题,我都能回想起自己刚入门时,面对海量教程和零散概念的那种迷茫。网上不缺知识点列表,缺的是把这些点串成线、织成网的实战脉络。今…

2026/7/29 6:10:36 阅读更多 →
论文数据分析痛点与AI解决方案

论文数据分析痛点与AI解决方案

1. 论文写作中的数据分析痛点解析写论文最头疼的环节是什么?十有八九的研究者会告诉你:数据分析。从实验设计到数据清洗,从统计检验到可视化呈现,每个环节都暗藏玄机。我见过太多研究生在深夜实验室对着SPSS界面发呆,也…

2026/7/29 6:10:36 阅读更多 →
STM32工程模板搭建指南:从零构建Keil5标准库与HAL库开发框架

STM32工程模板搭建指南:从零构建Keil5标准库与HAL库开发框架

1. 为什么需要一个专属的STM32工程模板?如果你刚开始接触STM32,或者已经写过几个简单的点灯、串口程序,可能会觉得每次新建工程都挺麻烦的。需要手动添加一堆文件,配置各种路径,设置编译选项,稍有不慎就会报…

2026/7/29 6:09:36 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻