2023年2月,发现某宝上大推一款类STM32F030的芯片,叫PY32F0XX(002、003、030)。发现这个系列的片子很便宜,某岭技术某宝店里PY32F002A-TSSOP20才0.65元,够20元还包顺丰。对国产芯片的崛起感到无比的高兴,终于给了霉爹一记响亮的耳光。爱国热情瞬间拉满,激动之下,下单31片----支持国芯,其实主要是便宜还包邮。商家行动迅速,2天后顺丰小哥就来敲门送货。看着小小的芯片,梦想着挖压挖压,运行起了HellWorld,点亮了小灯,心里兴奋不已。欣赏完后就直接扔箱子里,跟买了10年的STC89C52RC、买了5年的STM32F030一起吃灰了。为啥又是吃灰。。。。。。单片机和开发板是电子工程师的命根子,好比是孔乙己的茴香豆,可以不用,但不能不显摆。就像女人的包包,分明家里已经有了各种包包在吃灰,但还是要买买买。买的就是乐趣。

下面介绍一下本人:我是一个参观过大厂流水线、有十几年的元件级维修经验、业余时间全部奉献给了电脑编程、善于用搜索引擎搜索答案、比别人技术多懂一点,能通过加班加点把别人做不到,变成我能做到的,属于有点才气的人,自己也是相当的骄傲。但终归应该被划为一瓶子不满半瓶子逛荡型的人。

俗话说,成大事者,必有高人开悟、贵人相助!2015年贵经人介绍,本人入职消防行业某小电子厂,成为一名技术人员,主要做的售后技术支持的工作。说起我厂的产品,给我的感受就是产品缺少打磨、很多地方比较脆弱、不够人性化,套用友商的话,就是手工作坊。从大BOSS开始,到基层员工,大家只想做到60分,所以产品从决策-设计-生产-质检,经过五六道关,到客户手里,也就是六六三十六分了。对于一名“见过世面”且“宇宙第一负责任”的技术支持人员,对此有大写的不满。

我梦想能通过自己的努力,通过技术补丁,把产品提升到80分。可是蝼蚁岂能辅佐得了大象,前面批量在造残疾婴儿,后面妇产大夫再能也修不过来。经过数不清的加班和不眠夜,成功把我累倒了,并没有拯救公司。大BOSS没有及时发现我的能力,把我升级为技术总工;老天也没给我足够的时间,让我展示实力。一切都匆匆忙忙。也难怪,人生总共三万天,刨掉吃饭睡觉打豆豆,才剩下八千天,不匆匆忙忙的过,这一生咋安排呀。

公司在大BOSS卖力的折腾下,资金链断裂,成了僵尸公司。我的贵人早就发现老板不靠谱,提前两年就离开了。可惜了(liao)了(le)我的工资、报销款和借给公司周转的资金,总共五六十万元没有了。公司轰然倒下了,我和公司里的忠臣成了大BOSS的垫脚石,大写的惨字,宇宙第一倒霉蛋呀。老板跑路,成了失信执行人,永远不接电话。听说他另起炉灶,梦想着爬出自己挖的天坑,继续坑客户。。。。。。

同事们都四散奔逃,各寻出路。有的损失巨大的忠臣,为了避免债务牵扯到家庭,直接离婚净身出户。幸运的是,我的家人并没有因此而嫌弃我。

现在回想起来,公司倒闭前的前兆就是经常拖欠工资。每次资金紧张,发不出工资,都是在倒闭的悬崖边缘徘徊。常在河边走,哪能不湿鞋,这回不但鞋子湿了,人还滑下去了。当时是我的后知后觉,加上太爱自己的公司自己的老板,或者说纵容老板犯错误,造成了自己的经济危机。

受害严重,以至于我从2018年起没再上班,就靠代理商给介绍烂尾项目,提供技术服务混饭吃。凭着我一身清奇的骨骼,把项目和代理商都服侍得服服帖帖,他们都很认可我。实际上我并没有几个客户,把心思都放在学习技术上了,收入很凄惨。正好赶上疫情三年,大家过的都不怎么舒服,心里稍微平衡一些。没有活儿的时候,就休息嘛,养养身体,把透支的身体补回来。(这广告语有点熟)

镜头拉近。2022年的一天,代理商约我看现场,一个五年前的项目,疫情原因烂尾了。需要维修好并交付。我看到这批产品是市面非常流行的二总线的设计,主站采用的是XX620,从站采用的是XX331。以前的时候也接触过MBUS二总线的接口芯片,单价2.X。马爸爸家查下,XX620和XX331, ,挺贵的,3.x元起。在单片机都1元的年代,两三块钱的价格其实挺离谱了。个人认为其复杂程度不会超过单片机,应该是几毛钱比较合适。只是市场需求量小,厂商不愿意玩价格战。

这些年二总线技术普及的厉害,接口芯片成了主要成本。我零星了解到很多成本敏感的厂商,为了增加产品竞争力,已经在用软解码技术取代接口芯片。

项目现场,有一批从站设备因为误入220,烧了许多板子,我萌生了维修这些板子时,研究如何用软解码技术代替从站芯片的想法。思路很好,行动起来很难。网上能查到的资料,都是哭天抢地介绍其总线技术如何如何好,通过接口芯片如何设计电路的硬广告,amobbs上有零散的帖子讨论mbus用分立元件代替芯片,我想参考一下,但是我不是会员,看不了。此外再难觅资料的踪影。

这也难怪,没有人愿意贡献商业代码免费给你抄,给了你饭碗,就是砸了自己的饭碗。芯片工作原理说的太清楚了,会砸了芯片厂商的饭碗。之所以网上没有软解码的技术资料,很有可能是被接口芯片厂家封锁了。

没办法,从头一点点开始研究吧。

先拿到电路板,把电路图复原出来。打开我的立创EDA,开始画图之旅。

第一个产品就比较简单了,直接XX331+STC12C5608AD。先不着急研究。

第二个产品用的MCU比较奇葩,SSOP28封装,研究发现是用的8脚的XX331+20脚的STM8S003 合体封装的,两个片子没有内部连接。居然会这么奇葩的封装,涨见识了。下面是原理图

原理图上可见,上面1-4P、25-28P是xx331,下面5-24是单片机。单片机不是Pin2Pin克隆的STM8,其1脚是GND,20脚是供电脚。

这个合体的片子是不好买的,当年采购从哪里联系的这么奇葩的片子,不得而知。据说采购经理利用岗位便利,吃了许多回扣。然后他把回扣+自己家的拆迁款,一起借给了公司,结果成了老板的垫脚石,血本无归了。。。

由于331 3.x元,+STM8 1.x元,加起来估计不会低于5元。这价格相当的奢侈。考虑用普通的MCU+软解码进行实现功能,也是有机会的。那么问题来了,这样的MCU哪里有呢?

去马爸爸家翻箱倒柜一番,找到几个SSOP的MCU

CMS8S69XX 51核,其ssop20封装的1脚GND 20脚供电

CMS8S78xx  51核 ,其ssop24封装的1脚GND 24脚供电,右边4个引脚浪费掉,不用

CMS8S589x 51核,其ssop20封装的1脚GND 20脚供电

按说这三个片子都行,搜索了一下其编程器,200多,超出预算了;不带外壳的,80多,勉强接受。看了一下参考手册,发现其内部高速时钟的精度较低,好像偏差8%左右,需要飞线连接外接晶振。而飞线容易造成不稳定,只能放弃这个方案。

这时候,拿出了吃灰的PY32F002A-TSSOP20,往焊盘上一放,very nice,正合适。原来TSSOP和SSOP居然是一个妈生的,脚距和宽度几乎一样。然后找到芯片手册,查看脚位。PY32F002A-TSSOP20 1脚GND,20脚供电!正合适我的电路板。冥冥之中存储这个片子,原来真的有缘分。

后续在amobbs听说合宙有一款air001的片子也跟PY32F002A相近,于是搜索了air001,发现供电和接地引脚也能对上。但合宙只有资料,没有库存,估计合宙怕怕竞争不过PY,直接不做了。

担心PY32F002A的晶振精度,找资料查了一下其内置高速时钟的精度,官方描述比CMS的小一些,不知道是不是虚标。反正手里有货,不需要下单订货了,就先用这个凑合着研究吧。

官网下载了一些技术资料,跟销售人员要了一些技术资料,对比了一下两种途径获取的资料都差不多。

我之前研究了公司的一些产品,可以简单的修改STC 51和STM32代码,用STM8最小系统板做过小玩意儿。Keil 5在我笔记本上是必装的,我可以不用,但是不能不装。这经历跟大佬没法比,孬好算有点底子吧。手里USB转TTL线和STLINK有好几个。所以还是优选ARM内核的芯片,兴许编程器就不用买了。

网上说,PY32F002A 、003、030其实都是030的马甲,内核都一样。链接参见 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单 - Milton - 博客园 (cnblogs.com)

由于纸媒便于阅读,我曾自费把芯片厂商四五百页甚至上千页的参考手册都打印下来,放书架上吃灰。这次也不例外,我又把PY32F030的手册打印下来了,0.05元/面,坑爹爹上下单,23.76元。

纠结手册是否打印的功夫,我就以迅雷不及掩耳盗铃之势,把PY32F002焊接到了PCB板上。是把SSOP24的合体芯片换成TSSOP20的芯片,前面xx331位置空着,后面20个脚顺序对应。然后把SW下载接口和ISP下载接口都飞线引了出来。晶振没有改线,赌一下内置振荡器的性能。见原理图:

这是实物图,有点惨不忍睹,左边6P插针是SW接口和ISP接口,右边2P插针是Boot选择

(时间原因,未完待续。码字不易,引用请注明出处)

PY32F002/PY32F003/PY32F030入门笔记(1)相关推荐

  1. vue router 入门笔记

    vue router 入门笔记 tips: components优先级大于component,即当一个route对象里同时配置了component和components时component视为无效 即 ...

  2. 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记

    整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...

  3. html缩进快捷键_HTML 入门笔记

    HTML 入门笔记 HTML (HyperText Markup Language) 不是一门编程语言,而是一种用来告知浏览器如何组织页面的标记语言. HTML 可复杂.可简单,一切取决于开发者. 它 ...

  4. Python3入门笔记(1) —— windows安装与运行

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  5. [Java入门笔记] 面向对象编程基础(二):方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...

  6. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  7. python3入门与进阶笔记_我的Python3萌新入门笔记

    Python3萌新入门笔记是一系列真实的自学笔记. 当然,它也是比较全面的入门教程,共包括54篇笔记. 从第一篇笔记开始,大半年的时间我都是在自学和组织教程内容. 我觉得有必要,把我自己的学习过程和大 ...

  8. MySql入门笔记二~悲催的用户

    这些是当年小弟的MySql学习笔记,木有多么复杂的结构操作,木有多炫丽的语句开发,木有...总之就是木有什么技术含量... 日复一日,彪悍的人生伴随着彪悍的健忘,运维操作为王,好记性不如烂笔头,山水有 ...

  9. 2接口详解_TS入门笔记2——TS接口进阶详解

    TS入门笔记--TS接口进阶详解 一.为什么需要接口? let obj:object; // 定义了一个只能保存对象的变量 // obj = 1; // obj = "123"; ...

最新文章

  1. Go 中切片索引与 Python 中列表索引的差异
  2. vs2015通过ODBC连接SQLSERVER2012
  3. 【专题介绍】用户网络模型与QoE
  4. *【CodeForces - 791B】Bear and Friendship Condition (图论,判断完全图,dfs乱搞或带权并查集)
  5. 安卓布局参数类LayoutParams
  6. SqlServer系列笔记——数据类型转换
  7. CentOS7安装Redis,全网最快安装教程
  8. 从入门到入土:在kali中安装Nessus详细操作
  9. 资管新政:银行资产管理业务的转型与发展 -中国银行刘东海
  10. 以Epson 1600k 打印机为例解决使用SC登录虚拟机不能使用问题
  11. IEEE1588工业以太网交换机
  12. 导入数据java生成逆向sql,用于回滚,你试过吗?
  13. 毕业设计——基于STM32的家庭健康监测系统
  14. Win 10 下无法安装.net framework 3.5,错误代码0x800F081F的解决方案
  15. Thread.currentThread()方法、进程、线程、多线程相关总结(二)
  16. 《三国演义》十大不义之人
  17. 搭建文华财经博易大师信管家多国语言IQ Option二元期权源码
  18. java异常判断_Java异常类
  19. PRD是什么?PRD如何写?
  20. php实现腾讯云视频加密

热门文章

  1. 移动端开发、各种兼容问题、响应式布局开发、移动端和PC端开发的不同
  2. 什么是亚马逊关联?亚马逊关联应该如何防范
  3. 石河子大学计算机专业排名2019,2019石河子大学专业排名(王牌专业+双一流学科)...
  4. 联通物联网卡ICCID号校验位算法
  5. 【K-Means】基于经纬度的城市聚类
  6. 『恶意代码分析实战』Windows API编程——通过修改注册表的方式实现自启动
  7. 搭建Prometheus+Grafana的云平台监控系统
  8. Flutter 动画
  9. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序
  10. php带数据库的网页计数,php网页计数器的例子(文本与数据库)