SEMIDRIVE G9X 通过 CAN1 休眠与唤醒系统的调试要点

一、前言

      G9X 系列处理器是专为新一代车内核心网关设计的高性能车规级汽车芯片,采用双内核异构设计,包含一个高性能的 Cortex-A55 CPU 内核,一对双核锁步的高可靠 Cortex-R5 内核,在支持多种外设接口,包括两个 PCIe3.0 接口,两个 USB3.0 接口, 两个支持 TSN 的千兆以太网接口,以及多达 20个 CAN-FD 接口和 16 个 UART 接口。承载未来网关丰富的应用同时,也能满足高功能安全级别和
可靠性的要求。

二、SEMIDRIVE G9X 通过 CAN1 休眠与唤醒系统的调试要点

       ① 客户反馈在 G9X 平台上通过 CAN1(TJA1043T)不能休眠与唤醒系统的问题,拿到客户的板子后,我们开始对这个问题进行分析。客户的要求是通过发送相关的指令让系统进入休眠,然后可以通过CAN1 唤醒。

       ② 进入休眠的条件是 G9X 的 G9_SYS_WAKE0 信号上要有一个低电平。相反唤醒就是 G9X 的G9_SYS_WAKE0 信号上要有一个高电平。把这个原理搞清楚之后,我们就开始对 CAN1 进行调试。

       ③ 下面是 CAN1(TJA1043T)收发器的原理图,通过原理图发现 TJA1043T 供电包括 12V、5V、3V,经过测量确认这 3 路电源供电正常。

                                                        ▲ 图 1   CAN1(TJA1043T)电路图

      ④ 为了排除干扰,我们把其它信号断开,G9_SYS_WAKE0 信号上只保留 CAN1_INH 这一路,如下图所示。

                                                               ▲ 图 2   CAN1_INH 通路

     ⑤ 要想让机器进入休眠,那么 G9X 的信号 G9_SYS_WAKE0 上必须要有一个低电平,而这个低电平信号必须是由 TJA1043T 的 Pin7(CAN1_INH) 脚发出。CAN1_INH 要发出一个低电平信号,前提是要先让 TJA1043T进入休眠。通过查看 TJA1043T 的数据手册,TJA1043T 进入休眠的条件是要把 Pin6 (EN) 拉高,把 Pin14(NTSB)拉低。

                                                      ▲ 图 3  TJA1043T 模式转换图



      ⑥ 通过软件把 Pin6 (EN) 拉高,把 Pin14(NTSB)拉低后,系统可以进入休眠,然后测量 TJA1043T 的Pin7 (INH) 为低电平。休眠后机器的电流也由开机前的 464mA 下降到了 2mA 左右。

                                                                   ▲ 图 4   开机电流值


                                                                    ▲ 图 5   休眠电流值

    ⑦ 机器休眠后,通过电脑向 CAN1 发送指令,机器能正常唤醒,然后测量 TJA1043T 的 Pin7 (INH) 为高电平。

      以上便是芯驰 SEMIDRIVE G9X 通过 CAN1 来休眠与唤醒(Wakeup)系统的调试要点。

      接下来我们也会不断更新更多关于 SEMIDRIVE X9、G9 系列的开发博文,同时我们也会持续推出更多 ADAS相关的技术开发博文。如需更深入的技术交流,欢迎在博文下方评论或者关注并给我留言。

 附录:参考文献

           ①《 G9X 处理器硬件设计指南_Rev0.9.2 》

           ②《 SD004_G9X_REF_A03_SCH 》

           ③《 SD004_G9X_REF_A03_PCB 》

           ④《 TJA1043T Datasheet》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论