Changes from v2.7.7 to v2.7.8:
[feat]:upgrade patch tool to v3.8 [opt]:opt code generate process display [opt]:opt login logic [opt]:opt ghs support [opt]:add MC03 ghs support本方案基于YT Config Tool开发,使用Vscode+Cmake+Ozone工具链开发编译调试;
基于Demo板硬件搭建实施;
使用同星科技TC1012P CAN/LIN工具及同星科技TSmaster软件。
1280X1280.JPEG
烧录Bootloader
新建YTM32B1LE05/JFLASH工程
1280X1280.PNG
找到Bootloader编译的烧程文件
文件路径:.\uds_lin_fbl_le05_20251119\uds_lin_bootloader\build\uds_lin_bootloader.s19
1280X1280 (1).PNG
加载Bootloader文件
1280X1280 (2).PNG
擦除芯片(或者快捷键F4)
1280X1280 (3).PNG
fe1c6378-7e21-4277-ab8e-6dd9d520106d.png
烧录程序(或者快捷键F6)
54e7b7de-2b17-45d5-a3c1-2e6fa2211a49.png
a9aa99c7-cd19-4809-94ff-4a30a798cea5.png
上下电运行Bootloader
拔掉JLINK烧录器,重新上下电后,板子重新工作,LED按照100ms快速闪烁,程序工作在Bootloader里面。
升级上位机配置
将FlashDriver文件、Application文件、SeedAndKey.dll几个文件放到升级上位机目录下。
文件路径:.\uds_lin_fbl_le05_20251119\UDS_LIN_TsMaster
2b979793-b75d-47a9-a034-24369b7ccbb1.png
打开升级上位机工程(如上图中.TSProj_x64文件)配置收发ID
2fd903d1-ce9c-4835-9604-a22add635436.png
配置TP时间参数,配置加密dll
897acbe0-6a9a-46e6-b403-210ff4864923.png
配置FlashDriver和Application和校验方式
b84de7ca-01a8-49fc-873b-a82ab11eb2c3.png
配置自动诊断流程
c2fd10cc-e7ed-4a76-900a-537997068252.png
执行升级
4.1 从Bootloader升级
06913126-4e14-4de6-9604-752a3f3042b6.png
升级完成后,LED灯1000ms闪烁,运行在Application程序中(Bootloader程序中LED灯100m闪烁)。
4.2 从Application升级
从Bootloader升级成功运行到Application后,再次点击运行,从Application升级。
8c657c25-b74f-4ae1-8a25-b0fe14e80e06.png
4.3 StayInBoot升级
从Application升级中,是有升级请求标识的(KeepInBootVar变量)。
本方案设计上认为:
运行到Bootloader以后,如果通讯一半断开未发生升级服务(擦除芯片/请求下载/数据传输/下载退出等UDS服务),则即使有升级请求,可以超时退出重新跳转到Application运行;反之则必须StayInBoot等待重新升级。
4.3.1 未发生升级流程请求
升级一半,还未擦除更新 APP 时,拔掉LIN线模拟通讯断开,升级失败
0f8ddf6c-b804-41e0-adf8-e54a5cd19d54.png
通讯断开超时后,Bootloader重新进入Application运行,Demo板上LED灯1000ms闪烁。
再次运行升级,从Application升级,升级成功
463acd89-6f4c-458c-9c77-c16001916d6c.png
4.3.2 已发生升级流程请求
执行到升级流程后,拔掉LIN线模拟通讯断开,升级失败
通讯断开超时后,Boootloader不能进入Application,执行StayInBoot(重新复位或者上下电等均保持StayInBoot),Demo板上LED灯100ms闪烁。
16ba59ed-3067-4283-85a1-fefc23083a98.png
重新执行升级
8e4c9ef1-ed02-4bd4-866b-5d10203f6818.png
升级成功,Demo板上LED灯1000ms闪烁。
uds_lin_fbl_le05_20251119.zip YTM32B1LE05 LIN stack(LE0 SDK 1_3_1)(YCT LIN stack 模块需要手动安装插件)
lin-stack_0_9_0(LE0_1_3_1).zip
BTI 的全称是 Branch Target Identification(分支目标识别),是ARM从 ARMv8.5-A 架构开始引入的一项硬件安全特性。它的核心目标是防御一类常见且危险的攻击——面向返回编程(ROP) 和面向跳转编程(JOP) 攻击。
BTI 的工作原理:一个简单的比喻你可以把程序的执行过程想象成快递员(CPU)按照一串连续的地址(指令)送货。当遇到“如果...就...”或“调用函数”时,快递员需要根据指示跳转到一个新的地址(分支跳转)。 没有BTI时:快递员只关心地址是否正确,不关心这个跳转指令是谁给的。攻击者可以像篡改路标一样,精心拼凑程序中已有的代码片段(gadgets),引导程序跳转到恶意代码上执行。 有BTI时:在程序编译时,合法的“跳转指令”和“跳转目标地址”都会被标记上特殊的“暗号”(PAC指令)。快递员在执行跳转前,会检查两端的“暗号”是否匹配。如果不匹配,则意味着这可能是一次恶意篡改,CPU会立即触发异常,阻止攻击。 BTI 的主要用途
它主要被应用在复杂的应用处理器中,例如: 运行丰富操作系统(如Linux、Android)的设备:手机、平板、服务器。 对安全性要求极高的环境:金融、国防、基础设施等领域。 容易遭受复杂网络攻击的场景:因为ROP/JOP攻击是远程代码执行的常用手段。
注:云途目前全系不支持BTI
0b1fe826-1170-4dc2-8041-a437c9eb04a6-8f01801ec6524b5981f2c3cee7bdce15.png
demo里面的etmr时钟源选择的是内部时钟
a759d97f-11c4-4327-b32f-b0f3221f6835-89397f72c0fb398ed6d4922526f12a7f.png
731e4aa6-c9aa-4740-bc15-0b9b32264bb7-a5a6a7239a4206286bc29b79ccc95bec.png
RM手册显示外设时钟最大是16MHz,且分频选择的1。工程内容跟手册结合起来看不太懂,可以帮忙解答一下吗? 跑的是eTMR_PWM_Demo
谢谢支持
023d05ee-2dd2-459b-add4-1758c8d74582-image.png
1.3 电机实物图三线为电机的三项,五线为传感器端,不使用建议用绝缘胶带包裹;
a8c25300-f3d2-4353-9425-c08d4563ebcc-image.png
MCU通过跳帽可选5V或3.3V电源域;
原理图
ba11ca4c-4e2b-4c89-adf6-595ae1e054f0-image.png
实物图,此时为5V供电;
b593f6a6-7f21-4705-a616-4b3daf6ec18d-image.png
原理图
94524827-3455-418d-8ab7-d62b8a483de6-image.png
2.2.1 将SJP1-1与SJP1-2用锡短接,将SJP2-1与SJP2-2用锡短接,配置为三项电阻采样;
实物图
94d71e68-bf40-4cc5-874c-ef43d25b688a-image.png
2.2.2 将SJP1-1与SJP1-2用锡短接,将SJP2-1与SJP2-2用锡短接,配置为单电阻母线电流采样;
实物图
dd545584-07b7-4672-9f90-2d56f207f76b-image.png
接线端口
49bbc0b0-cfa2-4373-beb0-f08b1261d994-image.png
注:接线不同导致转向不同;
debug为SWD协议,板上端口为10pin SWD标准防呆端口;
125c72e7-9a34-4770-b988-da3e97b482d4-image.png
此demo为12V系统,直流源供电
a7ca5450-8e39-4222-82e6-da22348584a7-image.png
注:使用直流源供电时,推荐限流5A防止系统因直流源限流不工作;
经过以上步骤后,即可上电调试了;
3 调试 3.1 电机参数测量3.1.1 电阻与电感
测试仪器:LCR
选用LS-RS档,电平选择1V,测电阻时频率选择100Hz,测量电感时选择1KHz,测试之前最好进行开路和短路清零。接线方式为表笔与电机任意两相连接,需测三组(例:黄蓝,黄绿,蓝绿三组);
3f6ab13d-059f-4e99-9211-c30c78439233-image.png
测得结果为线电阻与线电感,进行计算得到相电阻与相电感:
phase resistance = ((R1 + R2 + R3) / 3 ) / 2;
phase inductance = ((L1 + L2 + L3) / 3 ) / 2;
注:此电机为表贴式电机,Lq=Ld;
3.1.2 磁链常数测量
测试仪器:示波器
用示波器一个探头的地与信号分别连接电机任意两相,用绳子或其它工具缠绕电机转子,拉动使其旋转,示波器捕捉反向电动势,选取较为均匀的反向电动势波形;
a2f22800-76ff-47a9-8007-74904949316b-image.png
得到峰峰值Vpp和频率F,计算得到磁链常数:
KFI = Vpp / (4 * π * F * sqrt(3));
3.1.3 极对数测量
有多种方式,这里介绍较为常用的一种方式,将电机任意两相连接直流源的正负,通电,电压自定义(不能过大,通常为1V),电流500mA,然后用手转动转子,可以感觉出来有停顿,几次停顿即为几对极,若停顿感觉不明显可每次500mA递增电流后重复动作;
BUS电压采样分压电路
503c21ca-4e41-420c-b96c-5586162e87b8-image.png
根据原理图可得知可测量最大母线电压为 Vbusmax = VDDmcu * 105 / 5;
3.3.1 电流采样运放电路
4e4a27c2-5428-4675-8d21-16326a4d112c-image.png
3.3.2 shunt电路
076e9d73-9ae7-44d0-9751-07f4f97d51a7-image.png
根据原理图可得知电流增益G = 10KΩ/2KΩ = 5, 采样电阻R = 0.05Ω,计算公式为:
Peak current = (0.5 * Vref / G) / R;
至此需测量参数测量结束,将测得参数填入代码;
4 YTM32B1XXX系列MotorDemo原理图SCH_motor_driver_2025-04-22.pdf
5 MotorDemoFOC算法电流环时间对比c75ba5d5-9a0b-4a1f-9c72-0dd6b73d29c1-image.png
6 YTM32B1XXX系列MotorDemo代码MotorDemo.zip
7 YTM32B1XXX系列MotorDemo调速demo可调速范围为300rpm/min - 1500rpm/min
7.1 CAN总线调速CAN总线接线口实物图:
6a3379f9-e380-454b-995d-fac3350e1216-image.png
通过CAN总线可控制电机转速,停止,复位,观察电机速度
DBC文件为:
MotorCtrl.zip
控制电机demo报文ID为0x201
223447f6-cf0c-487e-b910-8dc67105f1cb-image.png
电机demo发送报文ID为0x200
139c0410-6de6-4fff-94d0-b5e032021470-image.png
注:电机温度与Bus总线电压报文待改板后更新
每次按键调速为100rpm/min
0f593ccf-7ca2-48ad-9a6e-8089589a2fb0-image.png
AN0078_General_Mcu_Motor_Control_Guide_zh.pdf
硬件环境:HA01评估板+leaf light v2(substitute for kvarser)
软件环境:SDK1.3.1
需求描述:基于SDK 的UDS CAN升级固件
问题描述:
构建demo之后按照readme文档操作,下载can demo到MCU之后,用PC工具开始基于UDS协议下载连接leaf light v2,发现超时。
按照飞书文档描述检查了设置,脚本也是demo自带的,不知道忽略了哪些设置?或者usb转can设备有问题?转接器和问题截屏如下,请参考。
bc529753-d2ef-4e46-9ab4-c5128cbcd3b3-6c063e4ee2c34dbe28025c7f6051bb35.jpg 57217763-ec3a-402f-98b0-bc0666ebef82-47cced2cb88e63b5e337ae0f2d8bd1ec.jpg
-
Announcements
Announcements regarding our community
-
Discussion & Question
A place to talk about whatever you want or ask a question
-
Blogs
Blog posts from individual members
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...