STM32涨价?那就用国产32替代吧!
前言
手里有几个STM32F103RET6应用的板子,整天被采购问询是否能用国产替代,成本快搂不住了。这次又拿了HK的样片,作为替代,尝试一下。
开始没做任何修改,程序下载了就跑起来,让我还抱怨了一番,感觉是不是拿错片子了。后面静下心来,详细测试了使用的各功能模块,
还是有点小问题的,不过非常好修改,作为应急替代使用,应该问题不大。所以,补写个序,告知下本次替代容易至极,如果有同样需求,放心大胆的干吧!
随之而来的悲催就是,这几天的工作就大部分的成了拍照,留念,技术内容并不是很多,有ST使用的底子,基本上不需要强制查阅手册之类的文档,完全无压力。
本来准备好的替代步骤,技术攻坚,变成了如下的“旅游回忆录”。
1. 先把芯片换了再说
换之前,先留个ST的影像,一会就换了它。
换好了,拿回办公位,我的焊工还算可以吧。只是酒精干了,杂质没有清理干净,引脚有些发白。
准备就绪,后面怎么办?网上说的那么的神,直接烧ST的程序,行不行?
2. 直接原ST程序直接烧写
我无语,直接烧写原ST的程序,不做任何修改,居然能跑起来?那我还玩什么?
都准备好一顿操作了,结果,给我直接憋在了开始~~~~红色电源指示,蓝色闪烁程序运行指示。
是我出现幻觉了么?这是第一次接触航顺啊,怎么可能这么的顺利。
打开MDK,来确认下眼神,确实把ST的程序,烧到了HK的片子里,直接就跑起来。本来是打算挑挑毛病的呢……
好吧,既然事实已经如此,那么回过头来,看看当初STM32里到底使用了哪些资源。
整个程序基于HAL库,硬件初始化部分。
程序是同事开发的,我当前只是尝试验证是否满足芯片替代的条件,程序开发的过程中,兼容了一些产品,初始化的资源,比实际使用的多一点,下面验证下使用到的模块是否正常。
GOIO:PC13
DMA1: 后来程序测试的过程中,发现并没有使用DMA
ADC1: ADC_CHANNEL_9 , ADC_CHANNEL_10,ADC_CHANNEL_11
USART: COM1 COM4
Timer(PWM) : TIM3
SPI2:这个实际没有用到,作为预留功能的。
DAC: DAC_CHANNEL_1
3. 既然程序跑起来了,突然觉得没事干了,验证下当前使用的资源,工作是不是正常吧。
3.1 IO输出(PC13)
直接看程序运行状态指示,闪烁频率正常。 还用到了其他IO,单纯的IO使用,问题不大。
3.2 串口
数据收发正常。
3.3 DAC输出检测
电压输出可控,正常。(开始着急了,这也正常?都正常我去哪找毛病?)实测DAC输出正常,但是在HK的应用笔记中,找到如下注意事项,我想,在应用中,还是参考下应用笔记吧。
3.4 ADC检测
开始没注意,一看ADC采样有数据,貌似正常,差点溜过去。但是,我用了9,10,11三个通道。那么,问题来了,我之前的采样顺序是10,9,11,实际测试发现,通道顺序乱了,导致我的采样数据也乱了。
哈哈,终于找到了毛病,可以发泄和吐槽~~~直到这里,才刚刚开始找HK的资源。先换HK的pack,编译尝试一下,设置和芯片选择如下:
选M3
至此,编译下载,问题没有解决,不是PACK包的事。
接着在在HK的应用笔记中,看到了对多通道ADC使用的过程中的一些描述。
那么好,按照应用笔记试试,加延迟。结果,哎,不是我想要的结果啊,这下只能靠自己了~可别让我丢人啊~~
还有哪里呢?既然是通道顺序乱了,那么,ADC初始化里~
至此,更改完之后,ADC几个通道采样值正常了!!缓口气,前面吹了半天,差点掉链子~
但是讲真,我还没搞明白为什么,还特意的找个ST的板子验证了下,用ST的片子,我之前的设置没有问题,用HK的,要改一下,哪位大神,调试过ADC,还望指点~
这个后面,再看看HK的手册,既然当前adc的值正常了,这里先跳过了。
3.5 没耐性了,基本用到的模块也都简单验证了,直接装到整机里,看看效果。
替换原设备位置,整机检验,工作2h,设备状态稳定~~~~ 暂且认为替代成功,后面的验证,交给质量部门。
3.6 忽悠忽悠同事,换到他的板子上试试。
由于替代比想象的容易,又扔给同事,把芯片换到他的板子上,反馈我的信息是:
1、程序直接下载就能用,
2、串口,定时器没问题,
3、有个i2c的器件,读不到数据(程序中使用了硬件i2c,这个应该不叫事,应用笔记中有提到,实在不行IO模拟也能解决。)
4. 浏览航顺官网
貌似都完事了,官网都没有打开,有点不合适。也禁不住那个懒惰的小精灵,在头上叫着“是不是可以用ST去开发,然后简单修改就好了?”
但是,我要让那个勤劳的小精灵获胜,还是要回到官网去看看~~
http://www.hsxp-hk.com/companyfile/23/
在这里下载F103的PACK包,同时可以根据自己的需求,下载用户手册和数据手册。航顺官网做的还是很工整的,资料很好找。
选型表,这个很多人会问,不用的时候,啥用没有。想找一找的时候,又找不到。记得顺便存一下,或者联系技术支持聊聊天。
后面应该会一点点的过度好航顺的库上去,毕竟用谁家的东西,就要用谁家的“灵魂”嘛。
5. 小结
或许是使用的资源有限,或许是运气好。替代过程,非常的容易,基本上没有过多的查看HK的手册和应用笔记。
程序直接下载就能跑起来,功能模块详细测试时,发现adc多通道采集时,通道采集顺序与预期不符,也是简单修正初始化部分,就能正常。
感觉如果产品已经定型,寻求芯片替代的话,真的可以考虑,硬件不用修改,软件测试下功能模块就好了,要求严格的话,测试下整机和环境适应性,应该问题不大。
在测试过程中,选用ST和HK的pack进行编译,暂时没有发现不适应的状态,不过,我这里是初步测试,应急使用可以参照,后期替换的过程中,应该会慢慢的转到HK的库上来。
-END-
我是张巧龙,一名教电子的大学老师,欢迎关注!
STM32涨价?那就用国产32替代吧!相关推荐
- 用国产CH32替代STM32,快来试试看!
/* 作者: 罗冰 https://blog.csdn.net/luobing4365 */ 随着芯片价格疯涨,项目的不可控性越来越大.特别是价格方面,达到了无法想象的地步了. 按我的记忆,之前项目 ...
- 国产单片机替代-CH32替代STM32
(请保留-> 作者: 罗冰 https://blog.csdn.net/luobing4365) 国产单片机替代-CH32替代STM32 1 固件下载 2 代码编写 2.1 STM32的USB- ...
- 软硬件兼容STM32F103系列的国产32位MCU
介绍一款软硬件兼容STM32F103系列的国产32位MCU,此款32位MCU采用高性能ARM®Cortex®-M3 32位RISC内核,216兆赫兹频率运行,内置256KB的闪存和高达96KB的SRA ...
- 国产32位单片机有哪些
国产32位单片机有哪些 国产32位单片机有哪些呢 1.兆易创新GD32系列 2.灵动微MM32系列 3.华大HC32系列 4.南京沁恒CH32系列 5.华芯微特SWM32系列 2021年单片机价格 国 ...
- 国产32位单片机有哪些?
我们都知道,与国外相比,国产的32位单片机在质量上和可靠性上方面确实存在一定的差距.但是2020年一场突如其来的疫情,让单片机的价格迅速上涨,尤其是依赖海外芯片的涨幅尤为明显,比如恩智浦.ST等单片机 ...
- 分享一款电机控制国产32位单片机MM32SPIN360C
国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器.三组具备有自举二极管的N通道半桥栅极驱动器.MCU最高工作频率可达96MHz,并内置SRAM高速存储 ...
- 分享灵动微国产32位MCU全新MM32F系列
全新MM32系列是灵动微电子于2020年推出的新一代通用MCU平台,旨在为客户提供更高性能.更低功耗.更高可靠性.稳定性和健壮性的微控制器.全新MM32硬件上与经典MM32全兼容,保留了2.0-5.5 ...
- 基于ARM Cortex M0国产32位单片机MM32SPIN220B
灵动MM32SPIN220B使用高性能的ARM®CortexTM-M0为内核的国产32位MCU,内嵌两组具备有自举二极管的N通道半桥栅极驱动器.MCU微控制器工作频率高达96兆赫兹,内置高速SRAM存 ...
- 在STM32价格疯长下,哪些国产32可以替代?
关注.星标公众号,直达精彩内容 前言 上次(2020.10.28)的时候,我登陆立创商城,搜索stm32f103c8t6,单价15左右,100片的话,价格不到13. 2021.1. 13 ,再次登陆, ...
最新文章
- 针对《评人工智能如何走向新阶段》一文,继续发布国内外的跟贴留言427-438条如下:
- 认认真真推荐几个机器学习、深度学习公众号
- 4702: 分糖果系列一
- Windows 下使用Git管理Github项目
- 从EEG中解码想象的3D手臂运动轨迹以控制两个虚拟手臂
- 「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)
- Spray + Akka高性能异步IO并发
- SpringBoot 精通系列-SpringBoot如何操作Memcache
- php 检测键名,【PHP教学|带你学习用PHP检测键名是否位于数组中,方法已经告诉你了,如果你想学就赶紧】- 环球网校...
- Windows远程桌面使用本地USB打印机
- android pt分区,[玩机技巧之Android篇]系统分区之System、Data、cache 来自 淡影寒...
- 事务的四大特性(ACID)
- 什么是四种七和弦 和三种转位
- 安卓开发招聘!免费Android高级工程师学习资源,2年以上经验必看
- 『Less』学习笔记
- 计算机应用技术班级介绍,【完满超级团支部】计算机应用技术20-4班开展“点燃青春之火,成就辉煌人生”班级演讲活动...
- [附源码]Python计算机毕业设计大学生校园社团管理系统Django(程序+LW)
- SpringBoot单元测试NullPointerException
- android usb充电电流,留心手机充电电流大小,别等到“机毁人伤”时才后悔!
- mybatis-plus存数组对象,并从数据库查出这个数组
热门文章
- SAP UI5应用debug级别的日志打印如何设置
- 介绍一个统计各个网站访问时长的Chrome扩展 - Rooster
- CRM User status optimization - heavy calculation logic of status filter
- How is XT9 old transaction launched in GRE 210
- document builder how is document url being generated
- SAP Kyma上都有哪些namespace?
- javascript file cached in server side
- 如何为SAP OData消费维护不同的ABAP后端系统
- SAP Marketing Cloud的技术架构
- SAP S/4HANA生产订单释放后自动同步到MES系统