数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 17962|回复: 118

[C51] 为什么你们选择了STC?

  [复制链接]
发表于 2019-4-22 01:04:23 | 显示全部楼层 |阅读模式
本帖最后由 la45088d1 于 2019-4-22 01:07 编辑

      最近在写STC15W401AS的时候顺便了解了一下STC MCU的内核发现平淡无奇。STC只是将机器周期与时钟源振荡周期的比值从1:12提升到了1:1而已。在MSC8051中,机制还是那样,没什么太大改变。35MHz的频率根本不够用。最近做一个实验,想用STCW401AS定频驱动雾化片。为了让Class-E部分有足够输出,所以使用几个IO口完成boost控制器功能。涉及到PID算法非常耗费时间,期望的调整速率是20KHz,但程序基本完成后才发现有点悬。
      结果今天无意中看到一款叫做C8051F410的MCU才后悔不已,要是我不随大流只懂得MSC8051就是只用STC就好,毕竟论坛上不少人使用的就是STC的,所以之前选型的时候没多想。为什么我如此后悔呢?且看我到来。


      这是C8051F41x系列的Datasheet,可以看到内置高达200KSa/s的12bit ADC,线性度很好。多达24个模拟通道和窗口中断发生器。并且还有12bit电流模式DAC,简直干翻STC有没有?还有3个可配置为16bit的计时器,RTC时钟,16bit CRC硬件单元,SMBus硬件协议。而IO口和Flash,SRAM跟SRTC不相上下,价格更是毫无区别!STC有的,它都有,甚至吊打,它有的STC没有。更重要的是,它还支持在线调试,只要有特定的调试器类似于ARM的J-link:T
      The C8051F41x devices include on-chip Silicon Laboratories 2-Wire (C2) debug circuitry that provides non-intrusive, f ull speed, in-circuit debugging of the production part installed in the end application.Silicon Laboratories’ debugging system supports inspection and modification of memory and registers, breakpoints, and single stepping. No additional target RAM, program memory, timers, or communicationschannels are required. All the digital and analog peripherals are functional and work correctly while debugging.All the peripherals (except for the ADC and SMBus) are stalled when the MCU is halted, during singlestepping, or at a breakpoint in order to keep them synchronized.
       STC是怎么干的?特定型号的MCU加上下载专有固件才可以用串口调试,非常麻烦。而该MCU内核是MSC8051的变异版本,加入了流水线并将时钟频率提升到50MHz,性能高达50MIPS,估计快到35MHz STC15系列的2倍:
      The CIP-51 employs a pipelined architecture that greatly increases its instruction throughput over the standard8051 architecture. In a standard 8051, all instructions except for MUL and DIV take 12 or 24 systemclock cycles to execute, and usually have a maximum system clock of 12-to-24 MHz. By contrast, the CIP-51 core executes 70% of its instructions in one or two system clock cycles, with no instructions taking morethan eight system clock cycles.
      STC是不错的改进型8051 MCU但绝对不是最好的,也并不想想象中那么出色,但为什么你们都选择了STC,而不是Silicon Laboratories呢?我觉得在我的方案中,C8051F410应该比STC15W401AS更适合,更好的性能和更丰富的外设,任何人都不会拒绝。如果我早选择了
C8051F410,我就不会为了35MHz的时钟频率犯愁,不断的精简代码来防止性能不足的问题。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 2家元 +21 收起 理由
kamp + 1 不是一个级别的东东,虽然都是8051.
家睦 + 20

查看全部打赏

发表于 2019-4-22 07:58:48 | 显示全部楼层
:loveliness: 「论选错单片机后如何优雅地甩锅给网友」
回复 支持 11 反对 0

使用道具 举报

发表于 2019-4-22 08:14:11 | 显示全部楼层
数码小透明 发表于 2019-4-22 07:58
「论选错单片机后如何优雅地甩锅给网友」

小透明同学,你又调皮了。。。。。。:titter:
回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-22 08:17:21 | 显示全部楼层
C8051F的内核还是非常优秀的,还有不少内置USB的型号,开发USB也有现成的库,异常方便。一开始用STC就是因为下载程序比AT89C51方便多了,后来用了C8051F才知道,用U-EC5调试程序的多么方便
回复 支持 反对

使用道具 举报

发表于 2019-4-22 08:20:44 | 显示全部楼层
要便宜 选STM8s  可以在线调试,非常便宜。。。。 要性能 选stm32基本日常使用毫无压力,如果性能还不行那就上真正的嵌入式。。。。
回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-22 08:22:23 | 显示全部楼层
入门,随手选了个便宜的。
回复 支持 2 反对 0

使用道具 举报

发表于 2019-4-22 09:08:04 | 显示全部楼层
没有最好,只有更好。合适就好。8位单片机重点在控制,不在速度。要速度快选arm的。
回复 支持 3 反对 0

使用道具 举报

发表于 2019-4-22 10:25:41 | 显示全部楼层
那么,C8051F41x和STM8比较又如何呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-22 11:01:24 | 显示全部楼层
fsss007 发表于 2019-4-22 10:25
那么,C8051F41x和STM8比较又如何呢?

两者在算术运算和寻址方式和控制方式差不多,预期同频下STM8和STC表现应该差不多。但是STC没有流水线,指令吞吐量小了一截,STM8小胜;而C8051F4有流水线,并且流水效率高于STM8加上一倍高于STM8主频,所以同频8位下C8051F4小胜STM8,吊打STC,火力全开更是把这两个甩在后面。
但是对于16位数据处理,STM8有些优势,对比于全速运行的C8051F4,差距会明显缩小。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-22 11:03:00 | 显示全部楼层
kkstun 发表于 2019-4-22 09:08
没有最好,只有更好。合适就好。8位单片机重点在控制,不在速度。要速度快选arm的。 ...

那肯定不能为了一个PID直接用ARM,那成本高到哪里去了!做产品老板肯定不会批。
回复 支持 反对

使用道具 举报

发表于 2019-4-22 12:24:35 | 显示全部楼层
C8051F410好像不便宜吧。
回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-22 12:27:25 | 显示全部楼层
C8051真的很棒,唯一缺点就是价格有点贵,普及度不如STC,要是普及度够好,早就没STC什么事了,你看内部集成SRAM,STC到现在还是小里小气的8KB,人家早就64KB了,更不用说丰富的外设--ADC/DAC/USB等等,你见过C8051做的Flash烧录器吧(MiniPro 100e)?STC的做的出来么?连个虚拟USB接口技术都舍不得放出来,遮遮掩掩的,你还能指望啥?
STC的PWM和AVR系列的Fast PWM更是没得比,人家内部支持锁相环倍频,最高可以支持到256Khz的8bit PWM, 请问STC性能,主频可以支持么?除了普及度够高,价格其实也不是特别优惠,你还能指望啥?

打赏

参与人数 1家元 +20 收起 理由
2545889167 + 20 正解

查看全部打赏

回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-22 12:38:23 | 显示全部楼层
新手上手案例教程多,其他stc真没什么优势,除了支持国产其他没有了:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-22 13:19:22 | 显示全部楼层
kkstun 发表于 2019-4-22 12:24
C8051F410好像不便宜吧。

跟STC一样的价位,它们两都不便宜。可是C8051F40x贵的有理由,STC15呢?就算是那些的早期产品,依旧价格不低。

打赏

参与人数 1家元 +20 收起 理由
2545889167 + 20 人家凭手册上的那句全球最大8051厂家卖那么.

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-4-22 13:22:07 | 显示全部楼层
我觉得,业余爱好者与职业做产品,在选型取向上不一样.

业余爱好者,不关心性价比才对.5块钱一片,与95块钱一片,成本上能有多大差别?少抽一条烟就有了.好玩才是正理.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-22 13:25:35 | 显示全部楼层
简燕 发表于 2019-4-22 13:22
我觉得,业余爱好者与职业做产品,在选型取向上不一样.

业余爱好者,不关心性价比才对.5块钱一片,与95块钱一 ...

可是STC真的不好玩呐,要啥没啥,处处受限。业余爱好者就是图个省心又能出效果,这些STC并没有什么优势。
回复 支持 反对

使用道具 举报

发表于 2019-4-22 13:45:33 | 显示全部楼层
本帖最后由 南天音乐 于 2019-4-22 13:57 编辑

针对你的PID运算来说,C8051只不过50M的主频对你有提升空间而已吧,其它外设再好也改不了你前面说的51内核机制:titter:但很少有让51单片机跑这么高主频的,因为成熟的硬件设计通常需要考虑功耗和性能均衡,以及很重要的EMI问题。我觉得51内核跑算法超过35M就该换内核了,因为这工作量已经不是51内核可以承担的了,这就是芯片的应用定位-51单片机本身就是定位于低速简单控制场合,何必要它跑出M7的速度呢:lol:
回复 支持 4 反对 0

使用道具 举报

发表于 2019-4-22 13:47:21 | 显示全部楼层
la45088d1 发表于 2019-4-22 13:25
可是STC真的不好玩呐,要啥没啥,处处受限。业余爱好者就是图个省心又能出效果,这些STC并没有什么优势。 ...

是的.51内核的产品不好玩.

我觉得,单片机的性能,内核运算速度是次要因素,主要因素是片上外设的种类和性能.

打赏

参与人数 1家元 +20 收起 理由
2545889167 + 20

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-4-22 22:13:18 来自手机浏览器 | 显示全部楼层
我又不懂英文,免费给我,我也不会用啊
回复 支持 2 反对 0

使用道具 举报

发表于 2019-4-23 09:06:03 | 显示全部楼层
有太多的功能,而不是需要的,再多也没有用
回复 支持 2 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-23 00:57 , Processed in 0.109200 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表