8842|45

1484

帖子

2

资源

五彩晶圆(初级)

国产替代 MCU 踩坑记 [复制链接]

 

  作为一名蝴蝶粉,对STM32缺货涨价事情表示遗憾。但是不论做产品还是DIY玩,成本也不可能不在乎(说不在乎也是有限度的)。

  去年下半年我设计了一个作品(算少量批量做的产品),板子上有些地方需要个MCU进行简单的控制。因为我用 STM32 系列用得最熟悉,就选了差不多最便宜的 20 脚 STM32F030F4P6 来用。当时两块多一片吧,也不是最便宜的 MCU 方案,但这样对我来说开发起来最快。一个月后第二批采购的时候,同一卖家的报价就涨了不少,不过还是继续用了。再过了一个月,居然又涨了价,于是我换成了引脚兼容的 STM32L010F4P6,从STM32天猫店买的,四元不到。虽然比原来的还是贵,但比当时的 F030F4P6 要便宜。

  再后来,STM32F030 的价格离谱了(虽然 MCU 成本占比并不大),我就开始选择国产替代了。

  尝试 #1, CKS32F030F4P6.  据说是二进制兼容 STM32F030 的,价格又便宜。买来样片一试,居然可以用 ST-Link 下载,被 ST-Link Utility 识别为 STM32F030 了。原来的 HEX 不作改动直接烧写,运行效果和 STM32 一样。因为我要的功能很简单,只是我用到的功能验证没有问题,不代表 100% 和 STM32 兼容。便宜好用,可是,今年初也缺货涨价了。

  尝试 #2. HK32F030MF4P6.  当我发现国产替代的 MCU 也开始缺货,就考虑下其它方案了,不排除以后用 C51 带代替。因为还有引脚兼容要考虑,我把 PCB 修改成了兼容 STM8S003 的,不兼容 STM32F030 了。接着,发现了 HK32F030MF4P6 这个奇特的型号。这家厂家还有叫做 HK32F030F4P6 的型号,后者是和 STM32F030 引脚兼容的。而前者,却是兼容 STM8S003. 我测试样品发现它并不能被 ST 的工具识别,只能用 OpenOCD 来自己写脚本程序下载了。虽然引脚分布变了,但一看手册我发现这和 STM32 的寄存器基本上是一回事,所以用个 STM8S 的小板子放了段代码进去,运行点灯没问题,就投板子做去了。

  尝试 #3. XM1008F6P6.  最近的事情,我有另一个作品用 STM32F031F6P6 的需要再做,但因为缺货也得找替代型号了。CKS32F031 已经买不到了。搜索找到这个型号号称可以兼容 ST 的 F030/031, 价格还不贵。好象厂家正在做推广,买样片还包邮顺丰,那就先验证。居然又是可以被 ST 工具识别成 STM32F0 的,但是我的代码烧进去不能正常工作了。

 

  下面说踩的坑了: XM1008 这个,我遇到原来 STM32 代码不兼容的地方有两个。(1) GPIO.BSRR 这个寄存器,在 STM32 中是可以 32-bit/16-bit/8-bit 读写的,但是在 XM1008 上面,BSRR 的高16位用一个半字操作来写,就无效了——源代码改一下就能解决。但是这暗示着 XM1008 可能在寄存器的访问方式上与 STM32 不完全一致。(2) 这个其实是我在 STM32 的代码中有bug, 但是STM32却按我的意图工作了,在 XM1008 上严格地失败。我操作 SYSCFG 的 CR 寄存器改变内存映射,却没有在 RCC 中将 SYSCFG 使能。这个错误操作在 STM32 上居然成功起了作用。

 

  HK32F030MF4P6 的坑,因为板子刚焊回来,是才调试的。这里的坑倒是费了我不少工夫找问题。这个芯片,可以看成 STM32F030 的一个变种。虽然比较头文件的寄存器定义,跟 STM32 看起来是一样的……(但是魔鬼可能在细节里面)我修改过引脚使用的程序烧进去就不工作了,而且不能重新烧程序,SWD 口连不上……

  我的程序用了 STOP 模式,靠外部中断唤醒。按照 STM32 上的经验,在 STOP 模式下是能用 SWD 调试的,除非把 DBGMCU 里面允许低功耗调试的开了。奇怪的是,我用复位引脚也不能让 SWD 连上(Connect under reset),这个 MCU 变砖了一样。

  为了找问题,我用了实验板和另外一片芯片,在代码中加了一段延时用于调试器介入。我发现了 MCU 的 SCB.CR 的 SLEEPDEEP 位不设置的话,外部中断可以唤醒,也就是在普通 Sleep 模式工作是正常的。为什么用 STOP 模式就不正常呢?而且,在 STOP 模式进入之后,不但外部中断不能唤醒,复位脚也不起作用。

  后来我注意到这产品手册上提到,除了电源脚外,引脚都可以做 GPIO.  哦,是,NRST 脚也可以做 GPIO. 仔细核对,NRST 脚也就是 PA0. 而我的代码将默认引脚都设置成 analog 模式去了。所以,要给 PA0 设置成 AF 才可以作复位。

af0.PNG   复位脚问题解决了。但是 STOP 模式下还是不能复位。奇怪了,我测量了下工作电流,还没有达到 STOP 模式那么低。再对照下手册,HK32F030M 有 Sleep, Deep Sleep, STOP 模式,比 STM32F030 多了一个 Deep Sleep. 而我测量的电流,似乎和 Deep Sleep 差不多。难道休眠模式错了?

sleep.PNG   按照手册给出的说明,我设置 SLEEPDEEP 位进入 STOP 模式并没有问题。这坑从哪里来的?

   然而,我将 PWR.CR 的 LPDS 位写1之后,居然就成功了。电流也小了,也可以NRST脚复位了。

 

赞赏

1

查看全部赞赏


回复

2万

帖子

71

资源

管理员

坑不少,好在解决了!谢谢楼主分享哈哈

个人签名

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


回复

4624

帖子

233

资源

管理员

你这淘替代的能力很强啊, XM1008F6P6,都没听过的品牌,你是咋淘到的


回复

2万

帖子

339

资源

版主

现在有的MCU刚一出生,就号称可以替代STM32,,,楼主的分享值得借鉴

坑确实多


回复

1484

帖子

2

资源

五彩晶圆(初级)

nmg 发表于 2021-4-1 11:00 你这淘替代的能力很强啊, XM1008F6P6,都没听过的品牌,你是咋淘到的

淘宝搜到的。


回复

1484

帖子

2

资源

五彩晶圆(初级)

补充一个 HK32F030M 的坑:

从STOP模式恢复以后,内部RC振荡器(HSI)的频率稳定时间比STM32明显长了。我的程序中唤醒之后就启用了定时器来检测外部脉冲沿,结果就是推算的时间不准确。


回复

1万

帖子

2853

资源

管理员

有好多都不知名的替代啊。昨天还是前天还看到个也是介绍替代的,什么GOF的,百度搜半天就看到咱论坛网友分享的那个贴

点评

是我呀,管理员大人,不过我们目前只有替代103CBT6的  详情 回复 发表于 2021-6-16 18:18

回复

1万

帖子

15

资源

版主

楼主比较幸运,我的 XM1008。ST LINK根本就不识别,加焊也识别不了。一脚踢飞,永不启用。

点评

还是要有定力。  详情 回复 发表于 2021-4-1 19:21
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

978

帖子

0

资源

纯净的硅(初级)

感谢楼主分享


回复

3713

帖子

1

资源

版主

感觉前路漫漫尽是埪啊。如何是好。


回复

1083

帖子

0

资源

纯净的硅(初级)

小厂家的还是不要使用为好。103香水股票应该封杀严惩!中国应该停止提供封装,出口化学酸性,原材料和半导体硅材料。


回复

1083

帖子

0

资源

纯净的硅(初级)

ddllxxrr 发表于 2021-4-1 13:33 楼主比较幸运,我的 XM1008。ST LINK根本就不识别,加焊也识别不了。一脚踢飞,永不启用。

还是要有定力。


回复

1083

帖子

0

资源

纯净的硅(初级)

投机倒把的代理应该严惩不贷。现在的商家需要好好整顿了!


回复

4481

帖子

1

资源

五彩晶圆(初级)

雅特力试试呢。好像兼容性挺强的。电气、寄存器这上千上万个参数,遇到了可能就是麻烦事,关键是能兼容,但是最后的结果依据环境有偏差,这才麻烦。

个人签名

默认摸鱼


回复

3713

帖子

1

资源

版主

本帖最后由 damiaa 于 2021-4-14 09:18 编辑

XM1008 拿几片试试。  

点评

不过这芯片估计最多只能是暂时替代。一是价格也不低了。二是除了datasheet外。没有任何资料。也没库文件。 还是推荐雅特力。  详情 回复 发表于 2021-4-14 09:18

回复

3713

帖子

1

资源

版主

damiaa 发表于 2021-4-13 16:09 XM1008 拿几片试试。  

不过这芯片估计最多只能是暂时替代。一是价格也不低了。二是除了datasheet外。没有任何资料。也没库文件。

有时间静下心来移植的话还是推荐雅特力。

点评

准备拿点试试。 采购告诉我:问淘宝。直接说缺货。 惊 还不知道能不能用!          直接回:算了。不要了。  详情 回复 发表于 2021-4-14 12:12

回复

3713

帖子

1

资源

版主

damiaa 发表于 2021-4-14 09:18 damiaa 发表于 2021-4-13 16:09 XM1008 拿几片试试。   不过这芯片估计最多只能是暂时替 ...

准备拿点试试。

采购告诉我:问淘宝。直接说缺货。

惊 还不知道能不能用!  

       直接回:算了。不要了。 


回复

38

帖子

0

资源

一粒金砂(中级)

华大的单片机坑多吗?最近入门替换103


回复

46

帖子

0

资源

一粒金砂(中级)

现在虽然网络很发达,但有些资讯绝对封闭!受贸易战影响,进口芯片涨价可以理解,但国内的芯片价格也一起发疯……


回复

1416

帖子

6

资源

版主

虽我缺芯,但楼主很用心,棒棒哒

个人签名专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表