PY32F002/PY32F003/PY32F030入门笔记(1)

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

PY32F002/PY32F003/PY32F030入门笔记(1)_第1张图片PY32F002/PY32F003/PY32F030入门笔记(1)_第2张图片PY32F002/PY32F003/PY32F030入门笔记(1)_第3张图片

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

俗话说,成大事者,必有高人开悟、贵人相助!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 合体封装的,两个片子没有内部连接。居然会这么奇葩的封装,涨见识了。下面是原理图

PY32F002/PY32F003/PY32F030入门笔记(1)_第4张图片

 原理图上可见,上面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下载接口都飞线引了出来。晶振没有改线,赌一下内置振荡器的性能。见原理图:

PY32F002/PY32F003/PY32F030入门笔记(1)_第5张图片

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

 

 

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

你可能感兴趣的:(笔记,单片机,c语言)