CYT2B97,M0核启动时间需要700ms,时间过长

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

在测m0启动时间需要700ms,测试方法是,只有一个m0在运行的情况下,在m0时钟初始化结束,操作gpio,测出来这个时间到给mcu供电的时间要700ms

 

 

 

 

0 点赞
1 解答
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,我查看了我的代码,发现是等待WCO的时间比较长,查看了DS发现确实WCO的startup时间比较长,你可以看看你是不是一样的问题?如果是的话看看是否可以改变一下流程,enable之后到用的时候再看看他的status是否OK,这样不用长时间等待。

Janine_0-1673857819320.png

 

在原帖中查看解决方案

0 点赞
39 回复数
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Dear Yucheng,

您好,

请问你完全是使用的SDL库的代码么,有做过什么改动么?例如晶振以及其他一些初始化代码。

另外,看到您在case上建了相同的问题,你可以选择关闭其中一个以更好地集中讨论。

Thanks&Regards,

Janine

 

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  您好,

   我们在这里沟通吧,目前只改了晶振

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

晶振是16m的,Demo里面是8m

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

你好,是只开了主时钟和GPIO的功能么?时钟工作是正常的么?

0 点赞
lock attach
Attachments are accessible only for community members.
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

是的,您可以看下我们抓取的信号,源码和示波器信号图片均已上传,我示波器的两个探头,一个接mcu的供电,一个接这个gpio的引脚。m0启动之后会立即操作gpio,这时候能看到操作gpio距离mcu正常供电的时间差,这个时间消耗要700ms

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

是的,我有看到你上传的附件,那你IO口翻转的时间间隔和你设置的都是一致的么?

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

    翻转的间隔是随便设置的,目前我们关注点是在于,第一次操作gpio的时间距离mcu上电的时间

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

是的,我主要是想看你的晶振是否是在正常工作的。

另外,可以请你试一下reset后到初始化结束需要多久么?测一下XRES_L pin脚。

0 点赞
lock attach
Attachments are accessible only for community members.
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  附件中的第一个图就是Reset到初始化结束的时间,第二个图我是以500ms周期翻转gpio,测出来也是对的,时钟配置的应该没问题,我们用的就是官方的demo程序,不一样的点在硬件上,供您参考哈

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,

也是直接测的XRES_L pin脚么?

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

是的,我们把探头直接放到这个引脚上电测试的

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

你好,我这里暂时没有CYT2B97的芯片,我用CYT2B7的芯片测了一下,用的IMO 8MHz,SDL里GPIO的例程,用你的方法第一次上电测出来900ms左右,hardware reset的话是80ms左右,但是去掉system_init函数,直接在之前就操作GPIO口的话测出来就只有30ms左右,在Datasheet里只能找到boot code的operation时间,你可以参考一下DS的26.4 Reset specifications。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  感谢您的解答,system_init这里有时钟的初始化,不能去掉吧,我们调试也发现了是system_init这里消耗的时间,这里面有很多个while等待,这个库函数内部该怎么优化呢,

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

拜托您了

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,

你那边现在有测出来是哪里耗时特别久么?猜测是不是等上电或者时钟稳定的时间?

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

之前定位到system_Init这里消耗的时间,因为这个函数是官方的,就没有往接着排查了,其他家用这个芯片这里应该都是比较耗时的,有什么优化建议吗

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,我查看了我的代码,发现是等待WCO的时间比较长,查看了DS发现确实WCO的startup时间比较长,你可以看看你是不是一样的问题?如果是的话看看是否可以改变一下流程,enable之后到用的时候再看看他的status是否OK,这样不用长时间等待。

Janine_0-1673857819320.png

 

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janien:

  这个去掉的话我怎么能知道时钟在不在正常运行呢,这样干也不安全呀,时钟初始化的时候就应该要稳定了

我们初始化的时候就会用到时钟,canfd模块在上电200ms内要求发出报文,如果时钟不稳定肯定不行的,还有别的方法不😂

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng, WCO主要是用于RTC的,详细你可以看TRM

Janine_0-1673870170891.png

像IMO,ILO,ECO的startup时间还是比较短的。

Janine_1-1673870268030.pngJanine_2-1673870283021.png

 

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  从这张图中看出 ECO预分频后可以给RTC模块使用的吧yucheng_0-1673918839541.png

 

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,

ECO只在active domain 可以用,deepsleep和hibernate mode时不可用。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

   那需要deepsleep下 然后又可以给RTC提供时钟的,IMO和 ILO是否都可以用,从数据层面看IMO各方面都要由于ILO(电流,启动时间等)

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,IMO从框图上看好像没有能给RTC,ILO的话对于RTC来说误差太大了。实际也只有第一次power on的时候WCO需要这个startup时间。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi janine:

  那我们需要在上电后200ms进行CAN FD报文的发送,我们应该怎么处理,还是说跟长安反馈 我们的芯片只能做到这样

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

    上电启动时间这个问题还比较严重,直接决定了我们能不能满足长安的功能规范了

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,

那可以在用RTC之前开WCO么?把WCO的enable挪到CANFD发送报文后面。

另外,ILO由于精度低,只能用于hibernate wakeup 

Janine_0-1673934430953.png

 

 

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

 关键是rtc在报文发送前就要使用,上电就需要读取rtc时钟的值,为了电池相关sox的一些校准策略需要

 这个是不是可以理解为芯片的bug

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,有点不是很清楚你的应用,是指canfd要把RTC的值发出去么?这个值是做一个什么应用呢?以及你指的上电如果是初次上电(POWER ON reset)的话,这时候RTC的值也不一定是正确的,因为可能之前都没有电。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  补充说明一下情况,这个rtc值不正确,就会出现车子拧钥匙soc的值会跳动,1s以后才会变成正常值,这样的话长安是不接受的

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,是不是你指的这个上电并不是power on reset? 只是说MCU暂时进入了deepsleep 或hiberate模式之后再回来,这个时候的话WCO是不用重新startup的。一般车子要完全没电了再重新上电才是power on reset。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  您说的完全正确,但是我们两种工况都会有,这个就是比较麻烦的点

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,一般车子完全没电之后换了电平应该就给ECU上电了,不会是拧钥匙的时候才上电的,你这边是否有上电图来看一下到底是怎么给电的?

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

一般是换了BATT之后就已经有电了,只是看见ACC没有电就进入休眠了。

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  方便约个con-call嘛

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi janine:

明天上午9:00-10:00,您有时间嘛,咱们一起约个线上的con-call

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  客户也和车厂再次沟通过,上电后是校准RTC,时钟的值是存储在eep中的,初始化的时候从eep读出来再写入到rtc

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,是指上电200ms后canfd需要发校准之后的RTC值么?是否可以第一次上电的不用正确的RTC值,用一个timer,后面到RTC能用的时候再整合一个数?

0 点赞
yucheng
Level 5
Level 5
Distributor - Jingchuan(GC)
100 sign-ins First solution authored 50 replies posted

Hi Janine:

  您帮忙评估下,下面这种工况是否可以用ILO,客户会在上电后读取EEPROM的值 然后写入RTC,对RTC进行校准

0 点赞
Janine_Y
Moderator
Moderator
Moderator
50 solutions authored 10 likes received 25 solutions authored

Hi yucheng,ILO的误差在+-5%的ILOTRIM值,WCO一般能做到20ppm

Janine_0-1673947314026.png

 

0 点赞