2026/10/29 14:25:22

Hurys毫米波雷达调试环境搭建:CAN驱动与通信参数避坑

Hurys毫米波雷达调试环境搭建:CAN驱动与通信参数避坑 简介面向毫米波雷达调试与车载电子测试场景这份压缩包整合了Hurys雷达调试软件及南京来可、创芯科技CAN分析仪的配套驱动适合从事ADAS雷达参数配置、性能验证与故障排查的工程师使用。资源共19个文件压缩包约5.6MB以exe可执行程序、sys/inf/dll驱动组件和rar子包为主另附pdf配置说明与pptx操作演示兼顾软件安装、驱动部署与参数查阅。已有1720人学习下载。读者可借助调试软件完成工作频率、探测距离、角度分辨率与更新率等参数设置并通过目标距离、速度、角度的可视化界面评估雷达状态驱动部分覆盖设备识别、CAN总线仿真、数据捕获分析和波形显示便于联调硬件与排查通信问题。整体目录将雷达软件与两类分析仪驱动分开归档配合说明文档可较快搭建调试环境适合需要理解毫米波雷达原理与CAN协议的中级技术人员查漏补缺。1. 装 Hurys 雷达调试环境先不要急着双击那个压缩包毫米波雷达的调试环境出问题的环节往往不在软件本身而在它下面那层 CAN 链路。Hurys 雷达调试软件和 CAN 分析仪驱动被打在同一个压缩包里很多人拿到手的第一反应是双击、下一步、完成软件界面确实能打开可目标列表一直是空的波形区一条线都不动。这时候去翻软件设置八成是白费功夫问题出在系统根本没把 CAN 分析仪识别成可用设备。这套环境本身不复杂但顺序错一步就会连锁失败驱动没装对端口就不出现端口不出现软件就打开不了通道通道打不开后面所有参数都是空谈。下面按我实际装过的一台车载感知工位的顺序从压缩包解压一直写到能刷出目标点。2. 环境清单与版本对齐动手前先确认三件事装雷达调试软件最容易犯的错是把“软件装上了”当成“环境好了”。Hurys 这套工具的运行依赖分成三层Windows 系统层要能跑得起 .NET 与 VC 运行库驱动层要把 CAN 分析仪变成一个可寻址的设备应用层才是调试软件本身。三层里任何一层缺件表现出来的症状都是“软件能开但连不上”新手很容易在这一步卡半天反复重装软件却始终不碰驱动。我的习惯是先把机器状态查一遍再动手五分钟的事能省掉后面一小时的返工。2.1 系统与运行库的底线要求调试主机我一般只用 64 位 Windows 10 或 11版本号 1909 以上。不是挑剔是这类工具的安装包大多是近几年打包的32 位系统上即便勉强装进去USB-CAN 驱动那段也经常只提供 x64 版本装上就是个半残状态。另外别用那种被优化过、删了系统组件的精简版镜像.NET 和 VC 运行库经常被动过手脚装到一半报 0x80070005 之类的权限错误排查起来比重新装系统还慢。环境项建议版本不满足时的典型表现操作系统Windows 10/11 64 位1909 及以上安装程序直接拒绝或装完点图标无反应.NET Framework4.8 或 4.8.1启动报“无法加载文件或程序集”VC 运行库2015-2022 x64含 2010、2013 备用打开即闪退事件查看器里有 0xc000007bUSB 端口主板后置 USB 2.0/3.0 直连分析仪频繁掉线设备管理器刷新后消失权限本地管理员驱动装到一半被拦配置文件写不进安装目录先用两行 PowerShell 把系统底子摸清楚比事后猜快得多# 系统版本与架构确认是 64 位 Win10/11 Get-ComputerInfo | Select-Object OsName, OsVersion, OsArchitecture # .NET Framework 4.x 的 Release 值528040 及以上为 4.8533320 为 4.8.1 (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full).Release # 列出已安装的 VC 运行库看有没有 x64 版本 Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall | ForEach-Object { (Get-ItemProperty $_.PSPath).DisplayName } | Where-Object { $_ -like *Visual C* } | Sort-Object -Unique第一行的Get-ComputerInfo只取三个字段避免输出几百行系统信息。第二行读注册表的Release值这是判断 .NET 4.x 具体小版本最可靠的办法比在控制面板里看“已启用或关闭 Windows 功能”准。第三行同时扫 64 位和 32 位两个卸载键因为 VC 运行库会分别注册只扫一处经常会漏掉 x64 那半边结果就是“明明装了还是闪退”。2.2 CAN 分析仪的硬件形态决定装哪套驱动同一个压缩包里往往塞了两套以上驱动这不是打包的人偷懒而是 CAN 分析仪本身有两种常见形态驱动完全不同。一种是专用 USB-CAN 分析仪插上以后在设备管理器里表现为厂商自定义设备通常挂在“通用串行总线设备”下面配套的是厂商的驱动加一个 DLLHurys 软件通过这个 DLL 直接调用不经过串口。另一种是 USB 转串口加 CAN 收发模块的组合插上以后在“端口COM 和 LPT”里多出一个虚拟串口软件是按串口方式打开再走协议封装的。分辨方法很土但很有效插上分析仪之前先截个图插上之后再对比一次设备管理器多出来的那一项在哪个分类下就决定了你该装哪套。装错的典型症状是驱动装完了设备管理器里干干净净什么都没有新增因为安装程序把文件释放到了别的目录却没有匹配到你的硬件 ID。提示把分析仪插在机箱后置的 USB 口上别用前面板延长线也别经过 USB Hub。调试过程中分析仪掉线一次整套参数就得重来这种折腾完全没必要。2.3 解压与目录规划路径里的中文和空格是隐形雷.rar格式用 Windows 自带的解压功能打不开双击只会提示无法解压或者解出来一堆 0 字节文件。装个 7-Zip 是最省事的做法命令行也能直接调方便写进批处理里。:: x 表示保留压缩包内的目录结构解压-o 后面跟输出目录-y 跳过覆盖确认 C:\Program Files\7-Zip\7z.exe x D:\download\Hurys雷达调试软件和CAN分析仪驱动.rar -oD:\Radar\Hurys_pkg -yx和e的区别值得记一下x带路径解压e会把所有文件摊平到同一层驱动包里同名的 inf 一摊平就互相覆盖装上去版本全是乱的。-y只是省掉交互脚本里跑的时候不加会一直卡在等待输入。解压完别急着装先把目录规划好。我一般按下面这个结构铺后面所有的配置、日志、备份都有固定位置出问题的时候不用满硬盘找D:\Radar\ ├─ Hurys_pkg\ 解压出来的原始包只读装完就不再改动 ├─ Driver\ CAN 分析仪驱动单独留一份换机器直接拷 ├─ Config\ 雷达参数文件、协议文件、DBC ├─ Tools\ 7-Zip、串口助手、CAN 测试小工具 └─ Log\ 调试日志按日期建子目录安装路径本身也讲究。绝对不要放在C:\Program Files下面也不要带中文和空格。前者的坑在于 UAC 虚拟化软件想往安装目录写配置系统悄悄重定向到VirtualStore你在界面上改了参数、点了保存重启软件又变回默认值查半天查不出原因。后者的坑更直接某些老版本的通信库用 ANSI 路径拼接遇到中文目录直接打开文件失败报错还只给一个错误码。3. 安装 CAN 分析仪驱动先让设备管理器认到设备驱动这一步是整个环境的地基。判断标准只有一个不是安装程序有没有弹“安装成功”而是设备管理器里那个设备有没有正常出现、有没有黄色感叹号、分到的端口号是多少。这三条都对了才轮到装 Hurys 软件。3.1 两条安装路线安装包与手动指定 INF压缩包里的驱动目录一般两种情况都有一个Setup.exe加一堆.inf.sys.cat。优先走安装包它会把 DLL 一起注册到系统目录Hurys 软件启动时才能找到。用管理员身份跑别直接双击# -Verb RunAs 触发 UAC 提权驱动段写入需要管理员权限 Start-Process -FilePath D:\Radar\Driver\CANDriver_Setup.exe -Verb RunAsStart-Process的-Verb RunAs等价于右键“以管理员身份运行”好处是可以在脚本里串起来。安装过程中如果弹出“Windows 无法验证此驱动程序软件的发布者”选仍然安装——内网工具链的驱动大多没做商业签名这是常态不是中毒。安装包跑完设备还是没反应就走手动指定 INF 的路线。设备管理器里找到那个带感叹号的“未知设备”右键更新驱动程序浏览计算机再点“从计算机上的可用驱动程序列表中选取”最后“从磁盘安装”指到解压目录里的 inf 文件。命令行等价做法是:: pnputil 把驱动加入驱动库并立即尝试匹配现有设备/install 表示同时安装到匹配设备 pnputil /add-driver D:\Radar\Driver\canusb.inf /install :: 列出第三方驱动包确认刚加的这条在列表里oemXX.inf 是系统分配的编号 pnputil /enum-drivers/add-driver只入库/install才会往当前已连接的设备上装两个参数一起用最省事。/enum-drivers是排查利器如果发现同一个硬件 ID 对应了三条oem*.inf说明之前装过多个版本互相在抢得先pnputil /delete-driver oemXX.inf /uninstall清掉旧的再装。3.2 认设备端口号、VID/PID 与状态确认驱动装完用 PowerShell 查比在设备管理器里翻树快而且能直接拿到硬件 ID。# 只列端口类且状态正常的设备插拔前后各跑一次多出来的那条就是分析仪的虚拟串口 Get-PnpDevice -Class Ports -Status OK | Select-Object FriendlyName, InstanceId # 筛出所有非正常状态的设备黄色感叹号会在这里露头 Get-PnpDevice | Where-Object { $_.Status -ne OK } | Select-Object FriendlyName, Status, Problem # 拿某条设备的硬件 ID用来跟 inf 里的 VID/PID 对照 Get-PnpDeviceProperty -InstanceId USB\VID_1A86PID_5523\52B3C -KeyName DEVPKEY_Device_HardwareIds-Class Ports限定只查串口类输出干净。Status -ne OK这一句覆盖了所有异常状态包括驱动没装Unknown、被禁用Error、驱动加载失败Degraded比只看感叹号全面。第三条的InstanceId要换成你自己上一步查到的值硬件 ID 里的VID是厂商号、PID是产品号拿这两个去跟 inf 文件里[Manufacturer]段的定义比对能立刻判断出你装的是不是对应型号的驱动——很多人装完不通信就是因为包里有两套驱动装反了。3.3 固定 COM 号与两级波特率别让端口漂移虚拟串口有个很烦的特性换个 USB 口COM 号就变。软件配置里写死了 COM3明天插到另一个口变成 COM7又连不上。解决办法是在设备属性里把端口号手动钉死。设备管理器 → 端口 → 右键属性 → 端口设置 → 高级 → COM 端口号选一个两位数以上的号比如 COM20避开系统里已经被蓝牙、虚拟串口占掉的小号段。改完拔插一次验证号不变再回去配软件。这里有个概念必须分清不然参数一定填错参数常见取值作用范围填错的后果串口波特率115200 / 921600上位机与 USB 转串口芯片之间完全收不到数据或全是乱码CAN 波特率500 kbps / 250 kbpsCAN 总线上的所有节点能打开设备但一帧都收不到采样点75% / 80%CAN 位定时短线束无所谓长线束偶发错误帧串口波特率是 USB 转串口芯片和电脑之间的速率CAN 波特率是总线上雷达和分析仪之间的速率两者完全独立。我曾经见过有人把 CAN 波特率填成 115200然后怀疑雷达坏了查了一下午。判断方法很简单串口波特率填错连“打开端口成功”的提示都不会有CAN 波特率填错端口能打开、发送也显示成功但接收计数永远是 0。4. 安装 Hurys 调试软件依赖、路径与前三个参数驱动通了软件这一层反而简单但有两个地方很容易被忽略安装顺序和首次启动的通信参数。顺序错了要重装参数错了要重配都是能一次做对的事。4.1 安装顺序与依赖补齐正确的顺序是装 CAN 驱动 → 重启 → 装 VC 运行库 → 装 Hurys 软件 → 再重启。中间那次重启不能省USB 驱动的服务要重新加载不重启的话软件启动时枚举设备列表是空的。安装包如果是 NSIS 打包的这类国产工具十有八九是命令行参数一般是/S静默加/D指定目录注意/D必须放最后且路径不加引号:: 静默安装到非系统盘规避 Program Files 的配置虚拟化重定向 HurysSetup.exe /S /DD:\Radar\Hurys :: 装完检查目录结构和主程序是否到位 dir /b D:\Radar\Hurys\*.exe dir /b D:\Radar\Hurys\*.dll | findstr /i can usb第二行dir /b只输出文件名干净。第三行用findstr过滤出跟 CAN、USB 相关的 DLL这是判断软件走的是厂商 DLL 调用还是串口封装的关键如果目录里有个跟驱动同名的 DLL说明它直接调驱动接口那这个 DLL 的位数必须和软件一致32 位 DLL 配 64 位主程序是绝对跑不起来的。装完第一次启动右键“以管理员身份运行”。不是多此一举软件要往安装目录写配置、往日志目录写文件普通权限下某些目录写入会被 UAC 拦掉表现就是“改了参数保存不了”。4.2 首次启动要填的通信参数软件打开后第一件事不是点连接是把通信配置填对。四个参数决定能不能通参数典型值怎么确定设备类型USBCAN / Serial按 2.2 节判断的硬件形态选通道号0 或 1双通道分析仪接哪个口填哪个单通道只填 0CAN 波特率500000查雷达规格书车载雷达绝大多数是 500k收发报文 ID0x1A0 / 0x1A1查协议文档注意区分标准帧和扩展帧报文 ID 这块最容易出错。协议文档里写的0x1A0如果是标准帧软件里必须选“标准帧”选成扩展帧发出去的是 29 位 ID雷达根本不会应答而且不会有任何报错提示——发送计数在涨接收计数是 0看着像雷达没上电。配置文件一般落在安装目录的config或ini子目录下格式大体是这样[Device] TypeUSBCAN ; 必须与设备管理器里认到的驱动分支一致 Channel0 ; 双通道分析仪接在 CH0 就填 0 Baudrate500000 ; 这是 CAN 总线波特率不是串口波特率 SamplePoint0.8 ; 采样点线束超过 2 米时从 0.75 调到 0.8 [Radar] ProtocolHurys_V2 ; 必须与雷达固件里的协议版本对齐 TxId0x1A0 ; 上位机下发帧标准帧 RxId0x1A1 ; 雷达上报帧标准帧 FramePeriodMs50 ; 帧周期改小会线性拉高总线负载 [Log] DirD:\Radar\Log LevelINFO逐段说一下。SamplePoint是采样点短线束上用默认值就行线束拉长或者挂了多个节点之后信号边沿变缓采样点后移到 0.8 能明显减少错误帧。Protocol这一项跟固件版本强绑定雷达那边升级过固件而软件这边没同步协议文件现象是能收到帧但解析出来的距离、速度全是乱值。FramePeriodMs设成 50意味着一帧大约 110 到 130 个位时间占用带宽约 2.5 kbps相对 500 kbps 的总线几乎可以忽略但如果有人为了“看得更实时”改成 5ms负载直接翻十倍再加上雷达自己的上报帧总线负载很容易冲到 30% 以上那时候丢帧就是必然的。4.3 参数文件与日志目录的归置调试过程中会不断试参数每试一组就改一次主配置改坏了很难回退。我的做法是把Config目录单独拎出来按“车型-雷达型号-日期”建子目录每次调参前把当前 ini 复制一份进去。软件加载配置时手动指过去不覆盖默认那份。这样折腾十几次以后想回到某一个能跑通的状态直接指回去就行比记“我上次改的是哪个值”可靠得多。日志目录同理LevelINFO日常够用抓通信异常时临时改成DEBUG跑完立刻改回来。DEBUG 级别的日志在 500k 波特率、50ms 帧周期下增长很快一晚上能写出几个 G把系统盘塞满之后软件会莫名其妙崩溃这个坑我踩过一次。5. 避坑与排查五条连不上雷达的记录下面这五条都是装完之后真实卡住过的地方按“现象 → 原因 → 解决”记遇到同类问题可以直接对号。5.1 设备管理器里是黄色感叹号代码 52 或 10现象插上分析仪设备管理器出现未知设备属性里显示“代码 52Windows 无法验证此设备所需的驱动程序的数字签名”或者代码 10 设备无法启动。安装程序明明提示成功了。原因驱动包没做商业签名或者签名证书过期。Win10 1607 以后对内核模式驱动的签名校验收紧老驱动直接被拦。代码 10 则是驱动加载失败多半是位数不匹配装了个 32 位的 inf 到 64 位系统上。解决先确认位数pnputil /enum-drivers看已入库的驱动把重复的清掉再装 x64 版本。签名问题走高级启动临时禁用驱动签名强制装完驱动再正常重启。这一步做完还是不行说明包里的驱动跟硬件 ID 对不上回 3.2 节用硬件 ID 比对 inf别在原地反复重装。5.2 端口能打开接收计数永远是 0现象Hurys 软件点“打开设备”提示成功发送计数在涨接收计数一直是 0目标列表空白。原因三种可能按概率排是 CAN 波特率不匹配、CANH/CANL 接反、总线上没有终端电阻。波特率错了双方位定时对不上帧同步失败一个有效帧都收不到接反了电平极性反了同样收不到没有 120 欧终端电阻反射严重短线上可能勉强能通稍长一点就全是错误帧。解决先用万用表断电测 CANH 与 CANL 之间电阻两个 120 欧并联应该是 60 欧左右测得 120 欧说明只有一端有电阻测得开路说明一个都没有。电阻正常再核对波特率把软件和雷达都设成 500k 试一次还不行就换成 250k 再试。最后查线序CANH 对 CANH、CANL 对 CANL很多端子壳上的丝印和实际针脚是反的。5.3 软件一打开就闪退事件查看器里是 0xc000007b现象双击图标闪一下没了任务管理器里进程出现又消失。Windows 事件查看器里记录错误模块异常代码 0xc000007b。原因0xc000007b 是典型的位数混用64 位主程序加载了 32 位 DLL或者反过来。压缩包里同时给了 x86 和 x64 两套 DLL安装时没区分全拷进了同一个目录加载顺序不确定撞上哪个算哪个。解决看安装目录里 DLL 的分布把不匹配的那套移走只留与主程序位数一致的。用 PowerShell 批量看位数读 PE 头里的 Machine 字段0x8664 是 64 位0x014c 是 32 位。同时补装 VC 2015-2022 的 x64 版本很多 0xc000007b 其实是运行库缺失被误报成位数问题。5.4 改了参数保存不了重启软件又变回默认现象界面上把 CAN 波特率从 250k 改成 500k点保存没报错关掉重开又是 250k。原因软件装在C:\Program Files下往安装目录写 ini 时被 UAC 虚拟化重定向到了%LOCALAPPDATA%\VirtualStore\Program Files\...。软件读的是原始路径写的是虚拟路径两边不是同一个文件。解决卸载重装到非系统盘比如D:\Radar\Hurys一劳永逸。实在不能重装就去 VirtualStore 目录里把那份 ini 找出来手动合并回安装目录然后给安装目录加上当前用户的写权限。这个坑的隐蔽之处在于“保存成功”的提示是真的文件也确实写了只是写到了别处。5.5 能收到帧但目标列表的数值明显不合理现象接收计数正常增长目标列表里也有条目但距离、速度的数值跟实际场景完全对不上或者一直是固定值不变。原因协议版本不匹配或者字节序解析错了。雷达固件升级过报文里的字段顺序、缩放系数变了软件还用旧协议文件解析读出来的就是乱的。另一种是大小端问题雷达按小端发软件按大端拼。解决先确认雷达固件版本找对应版本的协议文件替换Config目录下的那份重启软件。判断字节序有个笨办法找协议里一个已知范围明确的字段比如目标距离实际场景里应该在 5 到 50 米之间按小端和大端各解析一次哪个落在合理区间就是哪个。这一步别靠猜拿协议文档逐字段对一遍比反复试快。6. 装完怎么验证三层自检从自发自收到目标刷新装完不等于通了。我习惯分三层验证每一层都有明确的判定标准哪一层断了就往哪一层查不走回头路。验证层操作期望结果驱动层拔插分析仪看设备管理器端口列表端口出现、无感叹号、COM 号与配置一致链路层分析仪设自发自收发一帧 0x1A0收端回读到同一帧错误帧计数为 0应用层Hurys 打开通道看目标列表与帧计数帧计数持续增长目标数与实际场景一致链路层这一步最值得花时间。把分析仪设成自发自收模式有的工具叫“自测”或“回环”不接雷达自己发一帧自己收。能收到说明驱动、端口、波特率、软件配置这一整条链是通的剩下的问题一定在雷达侧或者线束上。收不到就别去动雷达老老实实回第 3 章查驱动。自发自收通过之后接上雷达先看帧计数不看目标列表。帧计数在涨说明物理层和链路层都通了这时候目标列表还是空的问题就在协议解析去查 5.5 那一条。帧计数不涨问题在线束或者雷达供电跟软件一点关系没有。还有一个细节接上雷达后盯一下错误帧计数。这个数字在总线负载低的时候应该长期为 0偶尔跳一两个可以接受持续增长就说明终端电阻或者线束长度有问题早点处理别等到现场演示的时候突然丢帧。从那以后我每次装这套环境都会先跑一遍自发自收再插雷达宁可多花十分钟也不在“软件能打开但没数据”这种模糊状态里耗一下午。希望帮到你。本文还有配套的精品资源点击获取