8位机可以淘汰了,这玩意竟然有64k/8k,还能keil开发
最近编辑记录 kekemuyu (2022-10-13 16:27:11)
离线
就是引脚太少了吧
离线
多少钱的,木木
离线
之前在立创买了部分型号,前几天也看到了淘宝价,更便宜了:
PY32F003 32MHz 8k/64k
TSSOP20 1.15元
PY32F003L 24MHz 8k/64k SOP8 0.6元
PY32F003W 32MHz 8k/64k SOP16 0.7元
PY32F030 48MHz 8k/64k
TSSOP20 1.25元
QFN20 1.35元
最有意思的是做了一些低价产品难见的封装:
PY32F003L 24MHz 2k/16k DFN8(3×2) 1.5/pcs@30pcs(立创)
PY32F030L 48MHz 2k/16k DFN8(1.5×1.5) 0.85/pcs
其实型号很全,挑了些典型的配置。
030正常版包含4×8段数码管驱动,测试了很方便。
之前碰到最便宜的是航顺的HK32F0301M 48MHz 4k/16k TSSOP20目前大概0.9元。不过航顺的SOP8封装散买很贵,大概每片3元。
最近编辑记录 cheng (2022-10-13 21:07:56)
离线
cortex m0+,8k+64kb才卖6毛钱,感觉这车不大稳。
离线
看价格确实很便宜
离线
问了供应商,回复的很委婉:目前这个价格批量没有现货
想做项目的还是和自己的供应商先了解下
离线
管脚这么少,可用IO只有6个,用2,3毛钱的8位机比较合适。
离线
什么情况下会只用几个IO却需要这么大内存?
离线
这拼音缩写和锤子手机有得一比啊
离线
8引脚纯属噱头,,起码也得十几个引脚才能用啊。。
离线
别被图片骗了,只是举了个例子,普冉各种型号都有的
离线
用过普冉的SPI FLASH,体验很好。
个人初步印象这家的技术实力还不错,期望他们的MCU也能给力。
离线
手痒做了个PY32F030LD1x的最小系统板,单纯图一乐~后面会在立创开源社区开源(大概没人感兴趣的吧,逃
离线
看了下这芯片的资料,还算比较全,这个价格只能说太残暴了,1元以内的MCU已经完全杀红眼了。
刚刚买了几百个Puya的SPI FLASH,用着也还不错。
离线
上海好多MCU公司啊,很多都是低端MCU。我在想怎么养得活员工的,房价都十万了,坐标张江
离线
上海好多MCU公司啊,很多都是低端MCU。我在想怎么养得活员工的,房价都十万了,坐标张江
还有很多利润呢。55nm工艺,如果模拟性能拉稀一点,ADC/OSC掺点水,这个MCU完全可以做到1个平方毫米以下,也就是一个十二寸片出来5w+颗。这么算成本才一毛五钱左右。封装编带再算五分钱,税钱找政府补助,那也就是两毛钱成本。
这玩意研发没啥成本,CPU一片授权费几分钱,其他模拟/存储IP加起来也就是几分钱,数字IP国产单片机大多数用的是盗版Synopsys的DesignWare,S也不管,反正买了人家的基础EDA他们就默许盗版高级EDA和IP了。
算上上面说的IP,实际上制造成本也就三毛钱。Mask开一套算2M人民币,如果能卖10M片,摊下来就是两毛钱,所以总成本就是五毛钱。在国内这种互相卷死对方的环境里面,17%毛利率已经算不错了,毕竟量大。找好几家大腿,每月每款KK级别出货不是梦。而且有些卷王,比如沁恒,CPU是自研的,NVM是自研的,那就完全没有IP成本,还能少一毛钱。
最近编辑记录 Blueskull (2022-10-21 18:14:56)
离线
@Blueskull
WCH的RISC-V是自研,IP也是自研,全部自研,没有IP授权费用,所以成本低。
离线
WCH的ch32v003据说5毛,不知道铺货后还能不能是这个价格
离线
刚刚移植了一个工程到PY32,这货提供的库居然是HAL库,作为性能定位低端,闪存容量有限的器件,标准库甚至直接操作寄存器才是正路。
离线
8引脚纯属噱头,,起码也得十几个引脚才能用啊。。
非常巧,最近俺打算拿它做个驱动ws2812的小炫彩徽章,所以,sop8 还有spi+dma正好合适
最近编辑记录 gavinfree (2022-10-25 16:54:28)
离线
@Blueskull
请教大神,“Mask开一套算2M人民币”,是说 200万元人民币吗?
就是说,做一套模具要 200万元。然后这套模具能用多少次?
再者,55nm 的 12英寸晶圆,制造费用是 50000*0.15元 = 7500元?
是这样吗?
离线
@Blueskull
感谢大佬科普
外行纯好奇,我看这里的ch552核心图,
https://www.richis-lab.de/CH55x.htm
里面提到核心1.8x1.5mm。这芯片adc才8位,功能也简单。为啥面积比起1mm2大那么多?
离线
@Blueskull
请教大神,“Mask开一套算2M人民币”,是说 200万元人民币吗?
就是说,做一套模具要 200万元。然后这套模具能用多少次?再者,55nm 的 12英寸晶圆,制造费用是 50000*0.15元 = 7500元?
是这样吗?
1. 是的,具体价格看你的金属布线层数以及mask shop报价,比如你找tsmc给你做mask就比找第三方贵
2. 无限次,但是mask分两种,MLM和full mask,MLM mask便宜,但是光刻成本高,适合中批量(以前,现在fab厂很少陪你玩MLM了,不缺订单),full mask贵,但是光刻成本低
3. 差不多,40nm到90nm价格差不多,都是一样的二代DUV机台,你可以按照0.25到0.3人民币每平方毫米算,14nm到28nm差不多0.4到0.5人民币,这是大陆fab价格,umc之流台湾二线fab要贵20%,tsmc要再贵20%,国外fab价格可能要翻几番了
最近编辑记录 Blueskull (2022-10-26 17:32:27)
离线
@Blueskull
感谢大佬科普外行纯好奇,我看这里的ch552核心图,
https://www.richis-lab.de/CH55x.htm
里面提到核心1.8x1.5mm。这芯片adc才8位,功能也简单。为啥面积比起1mm2大那么多?
CH552是180nm工艺,而且存储器是MTP,比flash的cell密度低,但是mask数少
离线
@Blueskull
谢谢科普!让我清楚了怎么算成本。
不过我还是觉得,每款产品都达到KK级应该不容易吧,现在这么卷。即使KK级,每个月毛利润按一个芯片2毛钱算才几十万,上海的员工工资支出至少得2~3万一个人吧,资深的就更高了,招10来个人就把毛利吃光了。要想运行得起来,要做到好几个产品都热卖,然后员工还不敢多。有点走钢丝的感觉。
之前有个类似的创业公司找我加入,我看了下他们的产品,属于低端MCU,我就婉拒了,怕它利润率太低,最后运行不下去,或者即使不倒闭,肯定待遇不会高。
离线
@达克罗德
PY的这颗料我一个朋友,做电源的,兼职搞搞芯片代理,这么一个三脚猫代理都能一次下单kk级别。国产的量如果自己没有在圈子里面是很难想象的。
我还有做矿机的朋友之前矿业火爆的时候,下单都是按照TSMC产能百分比下的,配套的电容啥的都是按照kkk下的。
离线
看了看手册,这片子支持用boot0引脚配置进bootloader然后串口下载,这倒是比wch的要方便。
离线
看了看手册,这片子支持用boot0引脚配置进bootloader然后串口下载,这倒是比wch的要方便。
SO-8没有BOOT0,因此不支持ISP。并且如果用户程序把SWD两个管脚当作IO用了,芯片就写不进去了。
CH32V003的SWIO可以使用他们的LinkE解除锁定。
离线
据内部消息,SO8和QFN20是呆料,实际主推的是TSSOP20。
离线
@echo
真的假的,8脚的无法恢复了吗?这设计有点...
avr的tiny13a可以任意使用io,并不影响isp下载
离线
@echo
真的假的,8脚的无法恢复了吗?这设计有点...
avr的tiny13a可以任意使用io,并不影响isp下载
也能恢复,用户固件做个自杀功能就行了,比如开启读保护然后再解除读保护,固件就自杀了,闪存为空,默认启用SWD接口可以烧录。
我曾经SO-8的固件开启了读保护,没法解除,因为找不到他们那个PY-LINK,又没有BOOT0,没法用ISP工具,后来用我自己的GDLink手动解除了读保护。最后给固件做了自杀功能,就没有问题了。
CH32V003也有个坑,没有他们那个LinkE是没法烧录的,芯片为空片的时候,CH32V003并不会停在内置bootloader等待连接,而是跳转APP,导致没法使用ISP。因为没有boot0,ISP也依赖用户程序跳转到内置bootloader,我目前测试还有问题,跳转内置bootloader以后ISP工具没法连接,不知道是WCHISPTool 3.4的问题还是芯片的问题。
两颗芯片,感觉还是PY32F003更好一些,虽然价格稍微贵一些,但是存储容量大得多,能做的事情多的多,M0+比RV32EC好多了,后者连乘法器都没有,现在比较感兴趣的是CH32V003这个RV32EC核心面积能有多小。CH32V003内置的2+16k实在是太小了,要是能出4+32k的版本应用场合能多很多。
离线
据内部消息,SO8和QFN20是呆料,实际主推的是TSSOP20。
这个很好理解,TSSOP20走的是替换STM8S003的路子,包括CH32V003也一样,主推TSSOP20,电源脚位置相同,用户PCB都不用改直接替换。
离线
@echo
关于py32f003的isp烧录,我在网上找到了个方法,还没实际操作过不知道行不行。主要是这句话:上电1s内默认是isp编程模式。
https://blog.csdn.net/firseve/article/details/126661827
离线
看了一下普冉最新的20221024日期的资料,isp软件不能烧写py32f003的芯片了,8月份的资料还能看到003系列芯片。不过我想到另外的解决办法,上电gpio先初始化为sw烧写口,然后延时几秒后再用作其他功能,这样芯片上电应该还是可以sw烧写的。
离线
今天测试了一下py32f003L18S6的串口,发现这个芯片功耗控制的挺好的。因为是用usb功率计,粗略计算基本和手册一直一致。
离线
看资料应该会出py32f002a系列,去掉了dma和比较器等。价格应该。。。
离线
今天测试了一下py32f003L18S6的串口,发现这个芯片功耗控制的挺好的。因为是用usb功率计,粗略计算基本和手册一直一致。
https://whycan.com/files/members/1315/Screenshot2022-11-02002844.png
“数据基于考核结果”
这是赤裸裸地机翻英文手册中的“Data based on characterization, not 100% tested.”。
这帮人这么懒的吗?难道让工程师用人话写一遍这么难?
离线
这货的ADC是不是有问题,我用的PY32F030的开发板,跑了几个官方例程,输入口接电源,转换的AD值始终达不到4095,平均在4080,换了另一个板子也是一样结果,是芯片问题还是官方的例程问题?、
下面就是串口输出的数据,输出的是AD值。
Channel4Voltage:3843
Channel4Voltage:3977
Channel4Voltage:3905
Channel4Voltage:3990
Channel4Voltage:4040
Channel4Voltage:4016
Channel4Voltage:4080
Channel4Voltage:4081
Channel4Voltage:4078
Channel4Voltage:3868
Channel4Voltage:3859
Channel4Voltage:3864
Channel4Voltage:3847
Channel4Voltage:3861
Channel4Voltage:4088
Channel4Voltage:4085
Channel4Voltage:4088
离线
各位大佬,使用AD的时候,有没有遇到这个问题,是怎么解决的。
离线
@lei4689
国产低端芯片就这德行,不愿意花钱买IP,模拟部分没法一比一盗版,晶圆厂有盗版版图检测算法,就只能逆向工程然后重新手撸灵车IP。
数字IP大家都是用的盗版DW,反正综合完了以后妈都认不出来,没处告去。
国产芯片模拟性能要亲自验证,而且量产要和厂商签合同,保证批次一致性,才敢用。
离线
@lei4689
这个可能是ADC的规格的影响,要看ADC的误差,包含:微分误差、积分误差、线性误差还有温度漂移。
看规格书,误差也不是太大,但是这个现象就不是误差的原因了,感觉就是硬件设计问题,就像普通运放无法轨到轨输出一样,内部用了无法满幅输出的设计。
离线
@Blueskull
关键是这货实在是太拉垮了,一个上市企业的产品,做的连十年前的STC的单片机都不如,十多年前的STC12C单片机,也只是线性不好,这货可好,连基本的满幅输出都做不到,不要说好用了,连基本能用都得打个问号。
离线
@Blueskull
看过几家国产单片机规格书,几乎没有几个ADC指标做的好的,模拟性能真的考验一家公司的设计水平。
离线
@Blueskull
看过几家国产单片机规格书,几乎没有几个ADC指标做的好的,模拟性能真的考验一家公司的设计水平。
GD32的新型号,ADC还可以,规格书标了SNR和ENOB
离线
lei4689 说:@Blueskull
看过几家国产单片机规格书,几乎没有几个ADC指标做的好的,模拟性能真的考验一家公司的设计水平。GD32的新型号,ADC还可以,规格书标了SNR和ENOB
GD也贵啊,据我所知GD的IP都是正版的,除了早期和STM32的HAL版权纠纷以外,GD32是完全干净的IP。
离线
@Blueskull
相比普冉GD当然是贵的,其实也没贵多少,根据需要选择就行了。纯数字应用,普冉也没啥问题。
GD的早期型号GD32F103也被诟病ADC不行,看起来模拟IP做好还是需要一些时间和经验积累的。
一个小窍门:一般规格书上标了ADC的ENOB和SNR指标的,ADC性能都还行,GD32目前ADC最高指标似乎是GD32L233,ENOB典型值为11.2位。
真要追求ADC高精度还是得用外置ADC,比如AD7606,16位ADC准得一塌糊涂。
最近编辑记录 echo (2022-12-05 22:53:01)
离线
@Blueskull
这个HAL版权纠纷能否展开讲讲?据我所知GD32没有HAL库,早期他们的标准库和STM32很像,现在的新库完全不像了。
至于管脚排列兼容,这个应该不构成侵权。
离线
不知道在那里听到说flash会随机掉数据:)
离线
@Blueskull
这个HAL版权纠纷能否展开讲讲?据我所知GD32没有HAL库,早期他们的标准库和STM32很像,现在的新库完全不像了。
至于管脚排列兼容,这个应该不构成侵权。
早期STM32的驱动库是开源但不自由的版权协议,用了STM32的驱动库就得配ST的芯片。GD宣传二进制兼容,就等于教唆用户使用盗版STM32驱动库。
当然GD也发现问题了,之前很多欧美客户找国内ODM,点名不用GD32,所以GD自己搞了自己的库,而且第三方的libopencm3也出来了。
后来STM32的驱动库改成自由版权协议了,应该就是为了让野鸡MCU打压GD的市场份额,和纵连横。
最近编辑记录 Blueskull (2022-12-06 12:18:10)
离线
@Blueskull
然后野鸡MCU和GD32一起分STM32的市场,分得不亦乐乎。
离线
lei4689 说:@Blueskull
看过几家国产单片机规格书,几乎没有几个ADC指标做的好的,模拟性能真的考验一家公司的设计水平。其实MCU片内ADC都不会太好,即使是STM32的ADC终合误差至少也有10LSB左右
这个不能一概而论,MCU内置的ADC也有好的,比如ADuC841,内置的12位ADC ENOB能到11.6位。
GD32和C2000新一点的型号,内置12位SAR ADC的ENOB都能到11位以上,已经非常够用了。
我用GD32内部ADC做的数字电源,电压电流精度都很不错。
离线
写了个GCC Arm工具链的PY32F0项目模板 https://github.com/IOsetting/py32f0-template
离线
CH32V003 这个芯片 5毛钱,大家可以关注下。RISC-V架构
离线
CH32V003 这个芯片 5毛钱,大家可以关注下。RISC-V架构
资源太小了, 而且价格根本不是0.5
离线
jack821119 说:CH32V003 这个芯片 5毛钱,大家可以关注下。RISC-V架构
资源太小了, 而且价格根本不是0.5
这样的价格 资源肯定不可能丰富到哪里去的。你拿到的是代理的价格吧,但是网站上都是标称是5毛的。
离线
网站说多少就能信? 就说TSSOP20的CH32V003F4P6, 2K RAM 16K FLASH, 能从公开渠道0.5的单价买到吗? 你去找沁恒的销售0.5的价格也买不到啊, 买不到的价格拿来谈有什么意义, 完全就是误导人.
PY32F003 8K RAM 64K FLASH, TSSOP20封装, 1元的价格淘宝随便买. 拿一个资源又小价格又没优势的型号在这里找关注, 有啥意义
离线
伤心病狂
离线
普冉的MCU都挺便宜,只可惜全系列都没有USB。
看了很多家厂商,32位、带USB、低管脚、高性价比MCU就数沁恒的CH32V203(TSSOP-20)了。
还有CH571F
离线
海石生风 说:普冉的MCU都挺便宜,只可惜全系列都没有USB。
看了很多家厂商,32位、带USB、低管脚、高性价比MCU就数沁恒的CH32V203(TSSOP-20)了。还有CH571F
CH571是什么价位?主频只有20MHz有点低,主要还是应用蓝牙产品。CH32V203 144MHz除了USB还有CAN和OPA,性价比不是一般地高。
最近编辑记录 海石生风 (2023-01-01 22:52:11)
离线
@海石生风
60M主频,闪存192kB
离线
从某宝的芯岭科技买了十片PY32F002AF15P
数据手册上是 20K Flash, 3K RAM, 最高 24MHz, 无DMA
实测资源为 32K Flash, 4K RAM, 支持 PLL 上 48MHz, 支持 DMA. 其它外设还没来得及测
https://www.cnblogs.com/milton/p/17052963.html
这货很可能是 PY32F030x6 的马甲, 换句话说, 换成 PY32F030 的库直接开发都行
如果仔细看看 PY32F072 的中断向量表, 你甚至会猜, 这货搞不好和072一样是全功能内核啊
0.65元的 TSSOP20 封装M0, 48MHz, 32KF, 4KR, 支持DMA. 无敌了
离线
@IOsetting
如果你说的真的,那真是王炸了。
以前STM32也有先例的,64K FLASH的跟128K FLASH 的是同一个玩意,价格差不少。
离线
@IOsetting
相信是PY32F003的马甲,不是030
--
看完你的链接后就迷糊了
最近编辑记录 TerryX (2023-01-16 13:42:40)
离线
@IOsetting
相信是PY32F003的马甲,不是030
--
看完你的链接后就迷糊了
003的数据手册上没有PLL
不过, 据群友反映, 003其实也能开PLL, 也能上48MHz, 所以其实 --- 003大概率也是030的马甲
离线
https://www.elektroda.com/rtvforum/topic3946116.html
可以看下第21楼之后的回复, 这人已经确认在 PY32F002AA15M6TU 上, 有两个spi, 两个uart
=============== update ================
2 USARTs, 2 SPI.
PY32F030 to PY32F002 pack
基本上可以确认是 PY32F030 了
离线
我等他们的PY32F072出来看看,看看是否可以复刻STM32F072的USB和CAN,看看能不能比CH32V203更便宜。
离线
@IOsetting
大佬,被你一番介绍成功打动!多好的战斗机呀,心动不如行动,也去买来了py32f002a芯片试用,可以使用隐藏的福利(32KFlash 4KRam PLL倍频 DMA等等),实在是真香!但意外还是发生了,我使用coremark跑分时发现,在倍频到48MHz时(FLASH_LATENCY_1)得分是55.63,也就是每MHz得分只有1.159分,不倍频状态24MHz主频时(FLASH_LATENCY_0)跑在零等待状态下,得分是37.128,折算下来每MHz得分有1.547分,总的来说得分偏低(其他战斗机比如某顺是有1.8分以上的得分),翻了手册发现并没有FLASH预取指令的说明及配置,我在思考是不是这个原因导致,或者我跑coremark(基于Keil compiler v5.06 update 6编译,编译选项已使用-O3 -Otime)的姿势不对?请大佬指点一二
最近编辑记录 gddddd (2023-02-12 10:25:55)
离线
还没在m0上测过coremark, 貌似072才有预取, 航顺的跑分是多少?
离线
HK32F030MF4P6也没有预取, 不过据别人测试, 32MHz的时候用0等待也可以正常跑
https://www.eevblog.com/forum/microcontrollers/$0-25-hk32f030m-(cortex-m0-32mhz-16kb-2kb)/msg4615450/#msg4615450
PY32F0系列我还没用0等待测过, 如果在32MHz能用0等待, 性能就还可以.
离线
感觉用来驱动低分辨屏幕比较合适,spi上挂载屏幕+字库 共计4线,屏幕复位+USART_RX
离线
HK32F030MF4P6的coremark跑分有点厉害,在54M主频及以下时每MHz得分1.84,54M以上的高频时因为FLASH等待周期设置更大后每MHz得分反而会下降不少,但也是算拳打STM32脚踩GD32的战斗鸡了!HK32F030MF4P6除了不能倍频和没有DMA,其他都很棒(比如IO映射,中断映射,真实EEPROM,可以设置巨大的FLASH等待周期用来强制降速等等),感觉是很有想法的产品,早期手册上还有闪存指令预取的相关说明,后来改没了,试过开不开预取效果都一样,显然走的另外路子提升效果
离线
@gddddd
py32f002a不是20k吗
离线
@gddddd
54MHz怎么做到的? 外接54MHz时钟? HK32F030MF4P6 之前只粗略的测过, 带I2S是个亮点. 主要问题是 ADC不很稳, 几个pin脚之间会有干扰.
离线
@gddddd
py32f002a不是20k吗
不是呀,你看大佬们的帖子,有隐藏福利,可以直接当PY32F030x6使用
离线
@gddddd
54MHz怎么做到的? 外接54MHz时钟? HK32F030MF4P6 之前只粗略的测过, 带I2S是个亮点. 主要问题是 ADC不很稳, 几个pin脚之间会有干扰.
是的ADC不稳,感觉就是8位数据强行插值到12位,肯定飘得厉害。超频的话就是调整RCC_CR寄存器中HSICAL和HSITRIM位的值,开个MCO输出到示波器看,因为flash等待周期可以设置很大,所以超频可以很高(原始频率32M时得分58.97,超频54M时得分99.55,超频96M时得分124.97)。不过超频对这样的低端战斗机意义也不算很大,毕竟还是需要以稳定性为主,只是可以参考一下证明一下芯片本身体质。HK32F030MF4P6我调主频到108M还能正常工作(外设还是都分频降下来了的),应该还能更高但没继续向上试了
离线
@gddddd
原来是调TRIM啊, 可以可以. 还是有意义的, 就像STM32F407跑168MHz, flash等待都到5了也能用.
离线
@Blueskull
这个授权费是算ARM的还是ARM China的? 据说后者的授权可能会不认, 这样这些芯片就只能内销了
离线
@Blueskull
这个授权费是算ARM的还是ARM China的? 据说后者的授权可能会不认, 这样这些芯片就只能内销了
ARM China拥有ARM内核在中国的全部知识产权,包括出口权。所谓干掰了只是闹掰的时候没交接清楚的IP有争议,成熟IP不用担心。
ARM的授权模式就是地区授权,所有中国内地发生的ARM IP交易都是通过ARM China买的。
离线
发现PY32F0的一个坑:
读取温度和内部电压的ADC1 通道11和12, 在 TSSOP20 封装的 PY32F002A, 003, 030 上读数都是 4095, 只有换成 QFN32 封装的才能读出正确的温度和内部电压.
有其它封装的可以试一下.
离线
上面这个问题已经解决了, 串口模块的TX线会对读数造成干扰, A3不接, 只A2接RX, 就能正常读取了
离线
@kekemuyu
这个图是我的,就是拼手速,通电后立即按下按钮
所以我后面把ch340的引脚搞出来一条用,相当于给py32一个复位信号
后来懒得折腾,放弃了,直接用的 daplink swd 下载代码
我只会arduino,所以看他example很头疼。。。百度到了这里
最近想要搞3.3v和5v切换使用的才想起来这个片,还在跑例子里的 uart 和 gpio
spi还没看懂例子里是怎么用的。。。
再吐槽,新的例子里uart 用的是 PA0和PA1 不是早期文档中,我图里让用的PA2和PA3。。。都不知道该怎么用了。。。
离线
@happysoul
都用PA2 PA3就行, PY32F002A, 003, 030 都一样.
SPI 我写过几个例子, LL库的, 供参考 https://github.com/IOsetting/py32f0-template/tree/main/Examples/LL/SPI
PY32内存和flash容量不大, 用LL库更省资源
离线
如果说上电有一小段时间是ISP的话, STC 用的那种自动下载编程器就行. STC 上电后的ISP模式时间很短只有一两百毫秒, 手按开关得靠软件轮询, 自动的话用TTL芯片的RTS或者DTR脚控制电源.
离线
主要还是看中了这片的宽电压支持,搞个跳线就能切5v 3.3v
串口传数据,spi控制595,用arduino开发atmega简单,写个新唐的ms51都快疯了。。
本来想用ch552,不过2种电压的电路还不一样,最高主频也会有影响,玩不来
https://oshwhub.com/firseve/eeprom28_ms51
https://oshwhub.com/firseve/eeprom_29
离线
你做了这么多编程器啊
离线
我不是搞硬件的 工作是java,硬件纯属于玩 什么片都折腾折腾 也算熟悉下各种芯片的写法 便宜好用是重点
最早只是想搞fc卡带烧录
简单的就开源了,复杂耗时多的就扔咸鱼也能回收些买元件的花费
主要这些老芯片几乎没有编程器,即使有也都是打印机并口的,还需要外接12v或者24v电源才能用
我也就做做这种简单几乎没人做的,但凡有便宜好用的成品我也就不做了
离线
我的工作也是写Java
离线
最近在CNX看到这个芯片的讨论,老外怀疑这个ARM版权是有问题的,可能涉及ARM中国和ARM总部之前的争议。这样,使用这个芯片会有版权风险或者以后涨价的风险。
大家怎么看?
离线
最近在CNX看到这个芯片的讨论,老外怀疑这个ARM版权是有问题的,可能涉及ARM中国和ARM总部之前的争议。这样,使用这个芯片会有版权风险或者以后涨价的风险。
大家怎么看?
版权?啥版权?要严格讲,中国没有合规的东西。你用的钢铁铝铜,哪个采矿工程研发和矿石处理流程是百分百正版?
只要从中国出去的东西都包含大量的盗版,有本事老外别买。之前老外不接受GD32,后来STM32涨价,老外像苍蝇看到屎一样都来了。
涨价是有可能的,但是中国人嘛,自有办法。PY被老外告了,PY官方涨价包含版费,第二天PY就把晶圆拿出去开个小号卖。
一个说不清道不明还花了钱的M0算啥,国产复杂一点的大芯片里面某个对外不开放的深度嵌入式核里面用盗版A7/A53的都有。
更有甚者,国家队搞的军用FPGA里面还有直接从台积电里面安排人偷出来的版图,改了改模拟IP,躲过黑IP检测算法,台积电一样给生产。
离线
@Blueskull
你说的这个小号是不是XL32
离线
@Blueskull
你说的这个小号是不是XL32
这个是小号,但不一定是卖个老外的
离线
SOP16 封装的 PY32F003W, 想将 PF1 和 PF0 复用为 I2C, 因为 PF0 和 PF2 是同一个脚, 而 PF2 就是 NRST, 看手册上说, 要将 NRST 功能换成 IO, 得在 option byte 里设置, 但是发现这个型号没法连 ISP, 没有 BOOT0 脚, 试着重启时连, 连不上.
所以这个型号的 PF0 / PF2 这个脚实际上只能当 NRST 用?
不知道有没有其他人试过这个的
离线
@Blueskull
DesignWare好啊,linux下面一堆现成驱动
离线
@IOsetting
我用pwlink2 lite可以直接修改选项字节内容,把NRST功能关闭就好了,8脚的002A中的PA2和PF2-NRST也是同样情况,不在选项字节中设置为普通IO的话,一用PA2就复位,坑晕了的。感觉要有IOMUX类似的引脚映射功能就对了
离线
@IOsetting
我用pwlink2 lite可以直接修改选项字节内容,把NRST功能关闭就好了,8脚的002A中的PA2和PF2-NRST也是同样情况,不在选项字节中设置为普通IO的话,一用PA2就复位,坑晕了的。感觉要有IOMUX类似的引脚映射功能就对了
感谢指导, 没想到还能拿pwlink设置, 回去试试
离线
发现其实普冉的SDK里就带了option bytes 的操作例子, 改了改 放到 GitHub 上了
https://github.com/IOsetting/py32f0-template/tree/main/Examples/LL/Flash/WriteOptionBytes
在代码里能直接修改, 但是在重新载入option bytes配置时, mcu会重启. 所以要加一个判断, 不然就一直重启进入死循环了
离线
得吐槽一下,PY32F003F1xP的TIM1_CH2居然跟SWDIO复用一个IO,且是唯一选择
离线
TIM1_CH2还能复用到PA9, PB3, 这两个在PY32F003F1xP上没有引出.
但是在更便宜的PY32F002A 上反而 TSSOP20有PB3, SOP16上有PA9
离线
TIM1_CH2还能复用到PA9, PB3, 这两个在PY32F003F1xP上没有引出.
但是在更便宜的PY32F002A 上反而 TSSOP20有PB3, SOP16上有PA9
002是有,但是不敢在不确定性上做赌注哈,就怕后期砍了隐藏福利,那么SRAM就不够用了。
吐槽的是意思就是觉得PY32F003F1xP上的TIM1引脚设计不够合理,基本都跟其他功能SPI、I2C、ADC或SWDIO共用IO,如果用了TIM1,那么这个20pin的也没有其他什么引脚能够用得上了,反而造成了引脚浪费。不用呢又等于少了一个高级定时器功能。
离线
国产都这么卷了吗
离线
002是有,但是不敢在不确定性上做赌注哈,就怕后期砍了隐藏福利,那么SRAM就不够用了。
吐槽的是意思就是觉得PY32F003F1xP上的TIM1引脚设计不够合理,基本都跟其他功能SPI、I2C、ADC或SWDIO共用IO,如果用了TIM1,那么这个20pin的也没有其他什么引脚能够用得上了,反而造成了引脚浪费。不用呢又等于少了一个高级定时器功能。
隐藏福利应该不用担心, 合宙的air001已经在路上了, 资源就是32kf/4kr
https://wiki.luatos.com/chips/air001/index.html
https://github.com/Air-duino
离线
嫌pin脚复用麻烦的可以直接用ssop24的PY32F030E1xM, 焊接比qfn32简单得多, 而且功能脚也全. 价格只比tssop20的贵0.2
离线
下了固件库,怎么都没看到ll库读引脚电平的函数
离线
成功被安利,样片在途...
离线
下了固件库,怎么都没看到ll库读引脚电平的函数
用 LL_GPIO_IsInputPinSet(GPIO_TypeDef *GPIOx, uint32_t PinMask)
__STATIC_INLINE uint32_t LL_GPIO_IsInputPinSet(GPIO_TypeDef *GPIOx, uint32_t PinMask)
{
return (READ_BIT(GPIOx->IDR, PinMask) == (PinMask));
}
离线
Erase Failed!
Cannot access Memory (@ 0xe000edf0, Read, Acc Size: 4 Byte)
Error: Flash Download failed - "Cortex-M0+"
Flash Load finished at 20:09:01
有谁在Keil里用DAPLINK下载遇到过这个问题吗?芯片是PY32F003F15P6,之前都好好的,现在就突然不行了。
擦除就直接失败退出了
也没有进行过读保护,DAPLINK选项里看了芯片还是正常识别的,就是下载不了,换了一块芯片又是可以正常下载的。
离线
swd口被占用了吧, 按reset键同时点下载, 如果还不行, 就拉高BOOT0, 用普冉的ISP工具擦除一下
离线
我也买了点,真是便宜啊,点个灯试试
程序
.thumb
.syntax unified
vectors:
.word zhanding
.word kaishi + 1
.equ zhanding, 0x20001000
kaishi:
__kai_pa_shi_zhong:
ldr r0, = 0x40021034
movs r1, # 1
str r1, [r0]
__pa_she_zhi:
ldr r0, = 0x50000000
ldr r1, = 0xebfffffD
str r1, [r0]
ting:
movs r1, # 1
__led_kai:
str r1, [r0, # 0x18]
ldr r2, = 0xfffff
__led_kai_yanshi:
subs r2, r2, # 1
bne __led_kai_yanshi
__led_guan:
str r1, [r0, # 0x28]
ldr r2, = 0xfffff
__led_guan_yanshi:
subs r2, r2, # 1
bne __led_guan_yanshi
b ting
最近编辑记录 yjmwxwx (2023-04-15 09:08:31)
离线
@yjmwxwx
直接上汇编呀,厉害了
离线
我用8位单片机外挂一个24bit的ADC,用于高精度测量。校准后发现小数点后第5位就不准了,这个测量精度完全不符合24位ADC的精度指标。最终查到和keil C51编译环境有关:通常double类型的变量占8个字节,但在keil C51下,double类型和float类型都占用4个字节,double的精度被”阉割“了。。。
我觉得有必要将8位单片机换成32位的了。py32fXXX看起来不错,准备买几片试试 ^_^
最近编辑记录 sh200436 (2023-04-15 16:28:50)
离线
@yjmwxwx
没看懂,汇编的程序里不需要main吗?
我还专门下了这个zip文件,发现帖子里的这部分就是工程里1.s里的全部。我以为会有个类似main:的函数呢。
而且也没搞明白makefile里只包含了这个1.s文件,gcc编译?
那个zhanding是啥含义?
离线
@Gentlepig
汇编确实不需要main
编译器是ARM-NONE-EABI ,如果arm-none-eabi-ld报错的话就去掉-nostartfiles,我也不懂这个参数是干什么的,以前老版本不报错今天装了新版本的报错。
zhanding就是堆栈顶的意思,固件开头第一个32位就是堆栈顶,第二个32位就是程序入口
我前些日子用STM32F030F4P6做了一个电池内阻测试仪,看到PY32便宜就想移植下,要是能成功就能降低成本。
前些日子我搞的软硬件开源的简易电池内阻测试仪 https://oshwhub.com/yjmwxwx/jian-yi-dian-chi-nei-zu-ce-shi-y
最近编辑记录 yjmwxwx (2023-04-15 20:27:44)
离线
@yjmwxwx
直接上汇编呀,厉害了
汇编也不难正适合这种资源少的单片机,不过我是业余自学的不是专业的,写的汇编不怎么好也就勉强能用
离线
@yjmwxwx
PY32F0 的ADC精度不是很高, 从实际测试看, 勉强到8bit.
和STM32F030对比下, 看看差多少
离线
@yjmwxwx
谦虚了,看了内阻测试仪的代码,能写几千行汇编的人现在不多了
离线
该系列好像没有3V3供电时,可以耐受5V的PIN,开漏输出上拉不到5V,只有大约3.6V。
离线
@yjmwxwx
PY32F0 的ADC精度不是很高, 从实际测试看, 勉强到8bit.
和STM32F030对比下, 看看差多少
PY32还不没学到怎么用ADC,卡在开外部振荡器了,外部振荡器总是不起振,示波器测也没波形,可能我哪里搞的有问题,我的晶振是8MHZ的。
一般STM32 ADC比如显示36XX,后面两位XX是不稳定的,我去年试过国产N32只有后面一位是跳动的。
离线
@yjmwxwx
谦虚了,看了内阻测试仪的代码,能写几千行汇编的人现在不多了
对于我们这些没上过多少学不会英文的C语言才难呢,我看了下官方提供的程序根本看不懂,里面那些英文看着就头大,对我来说都不如直接看固件反汇编
离线
STM8S上有True open drain 功能,可以开漏上拉到5V;该芯片没有此功能,3V3供电使用时需要注意。
离线
@yjmwxwx
C语言不熟练也不懂英文看不懂官方程序只能看手册自己写了,时钟设置成功了,就是PLL只能2倍频啊
shizhong:
ldr r2, = 0x40022000 @FLASH访问控制
movs r1, # 0
str r1, [r2] @0:flash没等待,1:flash等待
ldr r0, = 0x40021000 @ rcc
ldr r1, = 0x20008
str r1, [r0, # 0x10] @外部晶振选择
ldr r1, [r0]
ldr r2, = 0x10000
orrs r1, r1, r2
str r1, [r0] @开外部振荡器
denghse:
ldr r1, [r0]
lsls r1, r1, # 14
bpl denghse @等外部振荡器
ldr r1, = 0x01
str r1, [r0, # 0x0c] @PLL配置
ldr r2, [r0]
ldr r1, = 0x1000000
orrs r1, r1, r2
str r1, [r0] @开PLL
dengpll:
ldr r1, [r0]
lsls r1, # 6
bpl dengpll @等PLL
movs r1, # 0x02
str r1, [r0, # 0x08] @选择系统时钟
离线
@yjmwxwx
编程语言和英文关系不大,只是符号而已
离线
@yjmwxwx
PY32F0 的ADC精度不是很高, 从实际测试看, 勉强到8bit.
和STM32F030对比下, 看看差多少
ADC测量,可以这么测量被测电压:读取被测电压U1,得到ADC量化值N1,然后再读取内部参考电压VREFINT,得到ADC量化值N2.
那么被测电压值:U1 = 1.2*N1/N2。
每次都读一次U1和VREFINT,这样得到的电压会准确一些,精度会高一些。
离线
@yjmwxwx
编程语言和英文关系不大,只是符号而已
但是各种名字都是英文的,看起来头大,下载了官方程序看着像天书看不懂,还特意安装了KEIL想编译出来直接看反汇编结果编译出错也不知道怎么搞。
离线
@yjmwxwx
PY32F0 的ADC精度不是很高, 从实际测试看, 勉强到8bit.
和STM32F030对比下, 看看差多少
搞不懂为什么我设置采集一个通道就是不能出正确数值,但是采集两个通道就正常了,两个100欧电阻串联分压,一端接3.3一端接GND,中间接PA0和PA1。
程序
https://github.com/yjmwxwx/py32/tree/master/adc
用JLINK读出DMA储存在内存的数据看还可以,STM32基本也这样
离线
@yjmwxwx
厉害厉害,这么快就出结果了。
离线
@yjmwxwx
不错, 多谢实测数据
离线
TerryX 说:@IOsetting
相信是PY32F003的马甲,不是030
--
看完你的链接后就迷糊了003的数据手册上没有PLL
不过, 据群友反映, 003其实也能开PLL, 也能上48MHz, 所以其实 --- 003大概率也是030的马甲
这个实测过PLL->MCO,确实PY32F003F4能够PLL到48MHz
离线
请问如何正确读取这款单片机里内置的温度传感器数据啊?
程序里,我设置为读取AIN0-3、内部温度值,其中AIN0-3的读值是正确的,但温度数据不对。
我用了LL库里自带的温度读取函数,但读到的数据似乎不对。。。。
Temp = __LL_ADC_CALC_TEMPERATURE(VDDA_APPLI, ADCxConvertedDatas[5], LL_ADC_RESOLUTION_12B);
最近编辑记录 sh200436 (2023-07-15 21:58:02)
离线
@sh200436
看看是不是上面 84, 85 楼的情况. 如果接了UART, 把上位机的TX断开试试
离线
用PY32做的第一个制作,期间收小麦干农活打断了这几天才捡起来,简单写了个测试程序,但是不知道怎么开两个通道的DMA,只开了ADC的DMA,产生1KHZ正弦波是直接用1K方波滤波得到的,两个量程显示数字0.000-2.000欧,00.00-60.00毫欧。没写校准程序没画PCB,电路里面四个保护三极管和TVS都没焊接,别的和原理图一样,由于没制作第二个不知道哪里画没画错。
测试程序和JLCEDA原理图
github链接
https://github.com/yjmwxwx/py32/tree/master/led_nei_zu_yi
电路图
实物图
测60毫欧电阻
测 0.5毫欧电阻
测1毫欧电阻
测2欧电阻
离线
@sh200436
看看是不是上面 84, 85 楼的情况. 如果接了UART, 把上位机的TX断开试试
我用的是TSSOP-20封装的PY32F003,使用官方的ADC LL例程
(1)PA0-PA3用作模拟电压采集AIN0-AIN3,使用DMA模式,开启了内部参考和温度传感器;
(2)串口使用的是PB6,PB7(UART1),串口干扰的问题可以排除;
--------------------------------------------------------------------------------
测试结果来看,4路模拟电压测量都是准确的,温度数据经过上面的函数解算后,得到的是0XB1, 十进制177。
这个温度值,感觉有点不对。详细代码如下:
离线
@sh200436
请问下DMA多通道怎么配置?比如ADC用DMA通道1,定时器用DMA通道2,两个都开DMA只有定时器的DMA可以工作,手册看了又看不懂应该怎么设置
离线
@sh200436
请问下DMA多通道怎么配置?比如ADC用DMA通道1,定时器用DMA通道2,两个都开DMA只有定时器的DMA可以工作,手册看了又看不懂应该怎么设置
你看我上面帖子里附件:app_adc_dma.txt 我这个代码里,DMA读取多个通道的ADC数据。你把这个文件txt换成.c就行了。我这个例子,参考了官方例程:PY32F003-STK\Example_LL\ADC、ADC_MultiChannelSingleConversion_TriggerSW_DMA。
多路ADC采集设置方式:
(1)配置ADC的采集方式和采集通道,要设置ADC里一个关于DMA的选项;
(2)配置DMA,设置为通道1,外设为ADC,设置传输方向:外设----> 内存, 设置DAM中断;
(3)开启转换后,DMA会自动读取转换结果,多个通道的时候,会按照设定好的顺序,依次被DMA读取,当DMA读取完所有设置的通道后,会产生DMA中断,此时可以批量处理多路ADC数据了。
(4)数据处理完后,重新开启ADC采集。
定时器自身不是也有中断吗,为什么还要用DMA处理定时器的中断呢?多个DMA的方式,我没用过,所以这个情况不清楚。
离线
@sh200436
感谢回复。 以前都是用定时器输出SPWM,需要DMA把正弦表里的数据传输到定时器,现在开两个DMA通道就有一个会不工作,不知道哪里怎么设置
离线
离线
感觉用来驱动低分辨屏幕比较合适,spi上挂载屏幕+字库 共计4线,屏幕复位+USART_RX
Buen dia, tengo una duda, estoy trabajando con un PY32F002A de encapsulado ESSOP10 y lo programo con J-Link pero aqui el detalle es que uso las librerias ll y no puedo hacer la comunicacion USART, creo que se puede deber a un problema con los pines de RX y TX alguien tiene una idea, realmente necesito ayuda
离线
@yjmwxwx
老早就在B站上关注你的内阻仪了,没想到这里由看到你的作品。看分享效果来看,精度到0.01毫欧了,都是用py32f003的片内ADC达到的吗?
是如何达到这种精度的,有空能说说吗?
离线
国民的也开始有几毛的了
离线
国民的也开始有几毛的了
具体型号?
离线
allen820214 说:国民的也开始有几毛的了
具体型号?
应该是MM32 吧,最近他们出了个几毛的,淘宝目前8毛多的M0
离线
这配置看着不够卷啊, 甚至都不如六毛多的HK32F030M
现在PY32能用0.78的价格买到64k/8k的003, 加上淘宝每天的摇一摇红包, 折下来不到0.7一片. 而32k/4k的002a, 加上红包算下来不到0.5一片
离线
确实太卷了,国民的最便宜的应该是这个N32G003
离线
确实太卷了,国民的最便宜的应该是这个N32G003
2毛
48MHz/29.5k/3k
ADC、usart、i2c、spi、比较器
离线
zhenxin 说:确实太卷了,国民的最便宜的应该是这个N32G003
2毛
48MHz/29.5k/3k
ADC、usart、i2c、spi、比较器
刚刚看了下,,淘宝上有销量的店铺,,最便宜的 1.24 元。。
离线
zhenxin 说:确实太卷了,国民的最便宜的应该是这个N32G003
2毛
48MHz/29.5k/3k
ADC、usart、i2c、spi、比较器
2毛不可能吧,我看淘宝都要1块多的
离线
网络孤客 说:zhenxin 说:确实太卷了,国民的最便宜的应该是这个N32G003
2毛
48MHz/29.5k/3k
ADC、usart、i2c、spi、比较器2毛不可能吧,我看淘宝都要1块多的
我是搜淘宝的,没下单,估计是钓鱼价
离线
chaplin1999 说:网络孤客 说:2毛
48MHz/29.5k/3k
ADC、usart、i2c、spi、比较器2毛不可能吧,我看淘宝都要1块多的
我是搜淘宝的,没下单,估计是钓鱼价
前几天看B站有人说他们公司用 C*32V003 批量价格1毛5,惊到我了。
离线
@echo
请教大佬, "用GDLink手动解除了读保护"这个是怎样操作的?
PY32F003 SOP8的封装, 打开了RDP后遇到问题了...
离线
@IOsetting
换个马甲价格涨不少,大多数人不会去验证的
离线