最近遇到客户的板子用的芯驰 X9 方案,先是无法烧录,后是无法启动的问题。经过和客户确认,不能烧录的问题是客户更换了原厂参考设计 DDR 的型号所致。经过软件方面重新配置 DDR 的参数并生成新的代码后,可以成功烧录,但是系统无法启动也无任何串口打印信息输出。接下来我们主要从硬件方面来排查,看看是什么原因导致系统不能 Bring up。
二、SEMIDRIVE X9 小系统不能启动硬件调试要点
① 小系统主要由 X9、LPDDR4、Flash、晶体及供电系统组成。
▲ 图 1 PCBA 小系统实物图
② 测量系统的供电电压是否正常,经过测量发现系统的时钟域、安全域、应用域的供电均正常。
▲ 图 2 X9 系统电源参数
③ 系统时钟包括:时钟域 32.768KHz,安全域 24MHz,应用域 24MHz,经过测量系统时钟均正常。 ▲ 图 3 时钟域时钟图
▲ 图 4 安全域时钟图
▲ 图 5 应用域时钟图
④ X9 系统复位包括时钟域复位、安全域复位、应用域复位。根据系统上时序的要求,首先是时钟域上电完成后并复位,接着是安全域上电后并复位,最后是应用域上电后并复位。经过测量三路复位信号
均满足系统上电时序的要求。
▲ 图 6 系统复位图
⑤ 接下来我们确认 Flash 的供电和复位是否正常,经过测量 Flash 的供电和复位均正常。▲ 图 7 Flash 上电复位图
⑥ Flash 的时钟信号是否有输出,经过测量时钟信 OSPI1_M1_SCLK 也有输出。 ▲ 图 8 Flash 时钟信号图
⑦ 最后我们发现客户原理图上 Flash 的型号和原厂参考设计的型号是一样的,用的是镁光 MT35XU02GCBA1G12-0AAT,但实际 PCBA 板上贴的是 GD25LB512ME,参考设计的 MT35XU02GCBA1G12-0AAT 数据线是 8 条,代码默认配置的是 8 位模式,而 GD25LB512ME 的数据线是 4 条。 找到原因后,软件在代码里重新对 Flash 的参数进行配置,然后烧录新的固件,系统可以成功启动。
▲ 图 9 GD25LB512ME 引脚图
▲ 图 10 开机 LOG 信息图
以上便是 SEMIDRIVE X9 系统不能烧录和不能启动的硬件调试过程。
接下来我们也会不断更新更多关于 SEMIDRIVE X9、G9 系列的开发博文,同时我们也会持续推出更多 ADAS相关的技术开发博文。如需更深入的技术交流,欢迎在博文下方评论或者关注并给我留言。
附录:参考文献
①《 ct_205_v1_0_20211008p1 》
②《 SD003_X9H_REF_A04_SCH 》
③《 X9_Processor_TRM_Rev00.07 》
④《 GigaDevice-GD25LB512ME 》
评论