YTM32B1LE05 LIN的压测
-
1. 背景
解决lin通讯压测中出现接收错误信息。
2. 需求
1.芯片系列:LE0
2.功能描述
a.LIN 接收需要回报数据的报文。
b.LIN接收休眠报文后,单片机休眠。
c.LIN收到写EEPROM报文后,设置写EEPROM标志,在主循环里写EEPROM3. 解决方案
-
硬件接线
采用EVB,LIN采用的客户使用PTB7\PTB6,去掉了EVB上的R26\R29电阻。
MCU外围电路
PCB短接线:
-
LIN测试配置
19200 波特率
-
测试分析
一共接收3个PID:1)0x01 只接收报文。 2)0x3c 休眠ID,接收到后,置位休眠标志。 3)0x10 收到该ID就回一帧数据,并在发送完成后置位写EEPROM标志。
main里面一共三个任务,1)定时读取EEPROM。 2)收到休眠标志后,单片机设置LIN RX管脚,并进入休眠;唤醒后将管脚设回给uart复用。 3)收到写入EEPROM标志后,给EEPROM写入数据。
4. LIN周期调度表
第一个ID:0x3C休眠,间隔10mS后;发送第二个ID:0x01 ,间隔10mS后;发送第三个ID:0x10,要求写入EEPROM和回传数据,之后间隔55mS. 重新循环调度。
5. 测试例程
由于EEPROM是手工加入,修改过工程的配置文件,不能用YCT重新生成,回覆盖掉手动修改部分。- 测试结果
超过一小时的,无timeout,接收正常。
test0812.zip
工程代码:
Lin_Slave_Demo.zip
-
-
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...