原创 【国产替代】MCU同样的程序,不同的结果

2022-5-15 21:54 2197 10 8 分类: MCU/ 嵌入式 文集: MCU/RTOS
最近ST的MCU真是一片难求,国产可代替的芯片真是雨后春笋,焊接几篇做实验,同样的程序,效果还不错,程序完美下载,运行也没什么问题。随着项目的继续进行,慢慢发现也有些不一样。用的事ARM的亲儿子Mbed OS,里面的固件驱动都是Mbed自带的,没有采用ST的HAL库。在用IIC控制EEPROM的时候就出现让我很迷惑的情况。写EEPROM没问题,但是连续读取数据的时候,最后一个总是0xFF,这样每次都得多读一个byte。
        开始笨方法测试:        只读一个byte,正确的;
        连续读2个byte,也是正确的;

        连续读3个byte,前2个byte是正确的,第3个byte就是0xFF;
        连续读4个byte,前3个byte是正确的,第4个byte就是0xFF;
        。。。。。。这不闹呢吗?
        用STM32F103的时候,从来没出现这种情况啊,我从来没怀疑过Mbed OS的固件问题,因为人家不可能有问题。看了半天源代码,也没什么别恶意改动的迹象。先用逻辑分析仪抓波形看看再说。下图是连续write操作,从图中看,每个write之后,EEPROM都会ACK,符合datasheet。
                         
        下图是连续read的操作,从图中看,要连续读取4个byte,按照datasheet的要求,前3个read操作,MCU会发送ACK,第4个read操作之后,MCU不会发送ACK,EEPROM会知道读取数据个数。但是从截图来看,在第2个read操作之后,MCU就没发送ACK,但是MCU还需要进行1次read操作,这样EEPROM就不会有动作,MCU读取的就是0xFF。错误的原因就在这里。
                         
         没办法了,换回仅有的几个STM32F103,就没出现上述情况,程序正常运行。看来Mbed的固件驱动,还不能和国产MCU完美契合。找到原因,毕竟也耽误了很长时间,暂时跳岛战术,下一步就用别的驱动,IIC就不用Mbed自带的驱动了。国产MCU型号为HK32F103RET6,99.999%代替STM32F103RET6,其实这么说不对,毕竟是驱动的问题,跟芯片关系不大。但是谁叫人家ST先出现,驱动就是给他们配套的。现在只是模仿,以后就是超越,希望国产越来越好。

作者: 小六子, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1589624.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 10
赞赏0

文章评论5条评论)

登录后参与讨论

自做自受 2022-6-1 15:46

忆轻狂: 有很多已经研发完成的产品,肯定是需要先替代的,新的产品是可以选择直接用国产的开始研发。
是啊,现实的确是这样,可有开始,没结束,一波完了又一波,显示出规律性就是业内总能听到说:有若干年差距,加油!
知乎网站上一文《中国的科技水平和美国差距有多大?》有说法。
反思,欧美国家也搞这样如此强调的国产替代吗?

忆轻狂 2022-6-1 13:50

自做自受: 呵呵,适配性、适用性、适宜度,制造者自有取舍。国产是替代ST呢?还是替代Mbed OS呢?希望国产超越谁呢?国产做自己独有的不行吗?让国外来替代? ...
有很多已经研发完成的产品,肯定是需要先替代的,新的产品是可以选择直接用国产的开始研发。

自做自受 2022-5-18 16:18

小六子: 很遗憾,作为底层从业人员,只能接受任务,解决问题,完成工作,领取微薄的收入。大战略不敢想,也轮不到我来做。只是做些事情,留下一些印记,告诉其他从业者, ...
告诉他人别踩坑,也是解决问题的方式方法。
手头事做合格,大战略可以想,思考也学习,也乐趣。
呵呵,我想来想去,感觉坑是绕不过去的,比如当下为何又这么注重“国产替代”?要能替代,早该替代了?

小六子 2022-5-17 20:59

自做自受: 呵呵,适配性、适用性、适宜度,制造者自有取舍。国产是替代ST呢?还是替代Mbed OS呢?希望国产超越谁呢?国产做自己独有的不行吗?让国外来替代? ...
很遗憾,作为底层从业人员,只能接受任务,解决问题,完成工作,领取微薄的收入。大战略不敢想,也轮不到我来做。只是做些事情,留下一些印记,告诉其他从业者,我踩过坑,你们可以绕过去。

自做自受 2022-5-16 23:00

呵呵,适配性、适用性、适宜度,制造者自有取舍。国产是替代ST呢?还是替代Mbed OS呢?希望国产超越谁呢?国产做自己独有的不行吗?让国外来替代?
相关推荐阅读
小六子 2022-04-04 20:21
无线模块板载天线调整
最近用到BLE模块,选型了几种。考虑到性能,价格,体积等多种因素之后,最终锁定一个能买到的模块。多说两句,最近几年对电子开发人员来说,真是非常不友好。设计好的电路,最终定板不是看设计的好不好,而是看...
小六子 2022-03-19 15:42
绕远也是一种优化——解决一个BUCK问题
每次收到表扬都会很高兴,特别是收到面包板的表扬,毕竟是真金白银的——2元表扬。哈哈哈哈哈,开玩笑,真心高兴,鼓励我继续。 来到新单位有一段时间了,基本上还是审图,然后写写程序。好久没画电路图了,好真...
小六子 2022-03-07 20:57
仿真见真知
首先,感谢面包板,居然有打赏。苍蝇腿也是肉,要多少是多啊。本来也没想靠写东西挣钱,只是想分享个人的一些经验,让做电子的新进同仁有个参考的地方。在这个互联网红利还在的,从事电子行业这是憋的难受。希望这...
小六子 2022-02-17 20:05
一个D触发器的问题
来到新公司一个月了,回到熟悉的电路设计,真是爽。当然敲代码还是有的,不好心情不一样了,敲的代码都是跳跃的。有了电路做支撑,代码也有了用武之处。 当然,刚来公司,对方也不能什么都交给你做,毕竟还是要考...
小六子 2021-12-27 21:02
做回初心,重回硬件
      经过两个月的工作,算是了解软件外包服务公司的盈利方式。同样也确认一点,我不适合,还是依然拒绝挽留,重新回到硬件开发。    &n...
我要评论
5
10
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条