7

宏晶新推出的STC16单片机,有哪些方面的不足?

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng%3D%3D&%3Bmid=2247497411&%3Bidx=1&%3Bsn=dc1d696aecf84e71ea24ee6852e3d835
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

关注+ 星标公众 ,不错过精彩内容

n6ryemn.gif!mobile

转自 | 嵌入式ARM

STC16F单片机是STC(宏晶科技)新推出的一款16位单片机,功能强大,有40K内存、128K Flash,内置USB/PWM/ADC/SPI/IIC/CAN/LIN等外设,可以简单理解为STC8H的高性能版本。

目前,STC16F40K128-LQFP64已经开始送样。STC16的特点是: 16位8051,准32位机,多累加器结构,CAN/Lin,16位加减乘除指令,再高配32位乘除单元,单精度浮点运器,计算能力直指M4,力压M3,横推M0。

根据部分宏晶供应商介绍,实际上STC16是个32位的8051,为了编译器,被阉割成16位机,内部32位访问,用户看到的是16位。传统8051的位都支持,后续版本加强扩充的位。

供应商表示,STC16是STC8051的自然延伸,管脚兼容,拥有相同时钟频率,是碾压M0的存在。M0是阉割的16位机,还没除,位操作不方便。STC16有指令集16位乘除,再加 32位乘除单元和单精度浮点运算器,ARM的话直接上STC32M4。

zYB3Mj3.png!mobile

不过,近期,一位21ic坛友提出了灵魂拷问,引发了网友的讨论。

用户tzgok表示,在看了几天STC16F的资料,感觉如下这2个主要问题不解决,国内的技术员很难全面使用它。

1、开发环境问题: 如果后续得不到KEIL全面的编译和调试支持,开发和使用会很麻烦,至于第三方提供的“图形化编程”,这玩意只适合学生玩玩,套用老姚的话就是,“不要和趋势作对,你要跟着行情走”,目前 KEIL就是趋势 ,而且KEIL这20多年累积的经验,不是任何一个新出的小软件可以替代的,更何况全球无数的技术员在使用它。

nmINnmy.png!mobile

关注我公众号,后台回复“Keil系列教程”查看更多关于Keil的内容。

2、芯片性能问题: STC16F本身定位为16位MCU,但最高工作频率只有33MHZ,这太鸡肋了,如果不能运行到100MHZ以上,那么16位MCU就毫无优势,因为16位的目标应该是:价格和功耗接近8位机,功能和速度接近32位机。现在连STC8H都跑到48MHZ了,更别说100MHZ的C8051F120,而STC16F居然只有33MHZ,这个太遗憾,说难听点,这个运行速度就是——鸡肋。

vUfeuqn.png!mobile

用户autopccopy认为,STC16 就是增强Intel C251内核,当然使用 KEIL 四驾马车之一 的C251 完善支持。速度称以后会72M ~ 140M,一步一步来。既有高速度也有开发的便利性,STC16承上启下。打通8-16-32的产品线。

Iv6zA3Q.png!mobile

但tzgok认为,目前STC16还有四个痛点:

1、目前无法在线仿真。

2、目前的有效FLASH是60K可用,另外60K无法使用。

3、要到后期版本才推出更高频率的版本。

4、目前的EEPROM/IAP也不能用;以后会增加DMA功能。

z2quq2z.png!mobile

“STC的51就是搅局儿的,虽然我用了10年STC,但最后还是放弃了,因为曾经给予很多希望,但最后发现这家伙就是个混世魔王,从头到尾不能仿真,我就不了解为啥还有些人在使用,现在我转向了深圳赛元的,能仿真,手册例程非常正规,用的很爽”,用户taobaofarmer无奈说出心声。

他还说:“我在用国产赛元8051,性能很高,文档例程写的很好,有自己的仿真器,仿真很完善,整个产业链都挺完善的,不像STC,官网乱的跟一窝蚂蚁似的,永远不能仿真,市场就是这样,总是用先进的价格低廉的东西淘汰老旧落后的东西,STC估计也蹦哒不了多久了,但因为还是有一批学习能力差的不能升级的用户,等到这批用户再被淘汰了,那STC倒闭也就差不多到时候了。”

R3YFviN.jpg!mobile

用户coody表示,这几天测试了STC16F的样片,使用KEIL C251的编译器,主要是测试其扩展的硬件整数运算单元、硬件单精度浮点单元,单精度浮点运算速度比不带硬件浮点的M0、M3快得多。整数运算速度速度也很快。

测试了DFT、FFT、Goertzel滤波算法软解DTMF,采样市电交流电压电流计算电压电流有效值、有功功率、功率因素。

其中FFT运算最耗时间,跑30MHz,ADC使用32K采样,256点FFT(8ms),频点分频率125Hz,int整数运算,蝶形计算时间为4.24ms,128频点幅度计算为0.7ms,计算过程中,ADC会持续32K采样。这个速度非常满意,FFT分析是实时连续的。

数字滤波也比较耗时间,我常用8阶IIR数字滤波器,32位有符号整数运算耗时20us,这个非常好,满足40KHz以内的采样速度要求。单精度运算耗时53us,已经满足低速的要求(采样16KHz以下)。

“我觉得 STC 最大的绊脚石,是没有完善的库函数。51芯片寄存器少,做大一点的项目已经有些复杂了,更不用说 STC16、ARM 和 RISC-V 了。如果官方一直不给库函数,那将是开发者的噩梦,将会限制芯片的推广”,用户guysxpf这样说。

你怎么看待STC16以及STC本身?欢迎留言交流。

------------  END   ------------

推荐阅读:

精选汇总 | 专栏 | 目录 | 搜索

精选汇总 | ARM、Cortex-M

精选汇总 | ST工具、下载编程工具

微信公众号『嵌入式专栏』,底部菜单查看更多内容,回复“ 加群 ”按规则加入技术交流群。

FveMruq.jpg!mobile

点击“ 阅读原文 ”查看更多分享,欢迎 点分享、收藏、点赞、在看。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK