打印
[51单片机]

STC的BUG,联系FAE不理我,这比过几天涨价几倍还恶劣

[复制链接]
楼主: gx_huang
手机看帖
扫描二维码
随时随地手机跟帖
101
**NT018 发表于 2021-5-10 13:05
将已白发苍苍的 R&D, 从繁忙的 STC32M4 研发现场请回 STC 1T 8051 时代,又穿越了下,凭其遥远的追忆,我们 ...

唉,这话说得让人无语。
婊*子立贞洁牌也不过如此吧!

使用特权

评论回复
102
hwpga| | 2021-5-10 20:04 | 只看该作者
本帖最后由 hwpga 于 2021-5-10 20:07 编辑
lyjian 发表于 2021-5-10 19:05
唉,这话说得让人无语。
婊*子立贞洁牌也不过如此吧!

51内核做到4T应用就够了
没必须在把速度在做上去
功耗反而能做的更低
以后的51基本都带个DMA之类,丰富外设反而会更好

至于你觉得功耗和工艺内核有关,跟速度无关或许是对的






使用特权

评论回复
103
lyjian| | 2021-5-10 20:17 | 只看该作者
本帖最后由 lyjian 于 2021-5-10 20:18 编辑
**NT018 发表于 2021-5-10 13:05
将已白发苍苍的 R&D, 从繁忙的 STC32M4 研发现场请回 STC 1T 8051 时代,又穿越了下,凭其遥远的追忆,我们 ...

建议你们给老姚制作个牌子挂脖子上好好反思一下8051的历史。
51的T2从一诞生就有16位自动重装功能,16位捕抓功能,加或减计数功能,你们的所谓创新设计是偷了T2的功能而不是增加了T2的功能。
就算是白送给的东西也送个能用的吧?就算不能用也给说一下吧?
做技术就不能实在点吗?吹牛也不用吹出宇宙吧?
STC的8051确实有意思,但还是局限于兴趣爱好玩玩找乐吧!用来做专业重要的产品,确实需要很大的勇气。同感。




使用特权

评论回复
104
lyjian| | 2021-5-10 20:22 | 只看该作者
hwpga 发表于 2021-5-10 20:04
51内核做到4T应用就够了
没必须在把速度在做上去
功耗反而能做的更低

多少T和功耗没关系。
不要快用低频。
4T核现在只有新塘还在做,够的话就不会出现1T了。

使用特权

评论回复
105
lyjian| | 2021-5-10 20:31 | 只看该作者
本帖最后由 lyjian 于 2021-5-10 20:35 编辑
hwpga 发表于 2021-5-10 20:04
51内核做到4T应用就够了
没必须在把速度在做上去
功耗反而能做的更低

没说和速度(CPU工作频率速度,不是指令周期数)无关。
是跟多少T无关。

使用特权

评论回复
106
hwpga| | 2021-5-10 20:40 | 只看该作者
本帖最后由 hwpga 于 2021-5-10 20:44 编辑
lyjian 发表于 2021-5-10 20:31
没说和速度(CPU工作频率速度,不是指令周期数)无关。
是跟多少T无关。 ...

STC8G是Y6核心对吧。
如果老妖用Y6核心做3款,
分别是现在的STC8G 1T  
STC8G 4T  
STC8G  12T
速度方面1T最快肯定的
你觉得功耗呢,会不变?


我的意思很简单,8G速度没必须再做上去了
反而做下来,功耗会做的更低
现在的51内核4T基本够了









使用特权

评论回复
107
lyjian| | 2021-5-10 20:44 | 只看该作者
hwpga 发表于 2021-5-10 20:40
STC8G是Y6核心对吧。
如果老妖用Y6核心做3款,
分别是现在的STC8G 1T  

先搞清楚数字电路的功耗和什么有关再来讨论这个问题

使用特权

评论回复
108
lyjian| | 2021-5-10 21:06 | 只看该作者
hwpga 发表于 2021-5-10 20:40
STC8G是Y6核心对吧。
如果老妖用Y6核心做3款,
分别是现在的STC8G 1T  

你确定你搞懂了1T4T12T到底是指什么?
如果Y6分别做成1T4T12T那他那它就不是Y6,而是Y6-1T,Y6-4T,Y6-12T三个完全不同的核。
时钟通过1分频4分频12分频后再供给CPU不叫1T4T12T。
对比两个CPU的功耗大小要看相同MIPS的功耗,而不是看相同MHz下的功耗。

使用特权

评论回复
109
lyjian| | 2021-5-10 21:19 | 只看该作者
hwpga 发表于 2021-5-10 20:40
STC8G是Y6核心对吧。
如果老妖用Y6核心做3款,
分别是现在的STC8G 1T  

你就没搞定功耗与什么相关,速度与什么相关。
8G工作频率能到多高是由芯片的制造工艺水平决定而不是由它是多少T核决定。

使用特权

评论回复
110
hwpga| | 2021-5-10 21:25 | 只看该作者
lyjian 发表于 2021-5-10 21:19
你就没搞定功耗与什么相关,速度与什么相关。
8G工作频率能到多高是由芯片的制造工艺水平决定而不是由它 ...

Y6核心,做3款,都是内部IRC24MHZ
STC8G  1T     24MHZ
STC8G 4T      24MHZ
STC8G 12T    24MHZ
3款都可以在被CLKDIV分频
3款功耗都是一样对吧.


使用特权

评论回复
111
lyjian| | 2021-5-10 23:08 | 只看该作者
hwpga 发表于 2021-5-10 21:25
Y6核心,做3款,都是内部IRC24MHZ
STC8G  1T     24MHZ
STC8G 4T      24MHZ

服了!
通过内部分频表示的是工作在不同的频率,不是表示不同的T。
不是1分频就叫1T,4分频就叫4T... ...
就算是用屁股思考也能分辨,同样的内核不同的工作频率,功耗能一样吗?
另外,你仍然没搞懂这个T是什么意思。
这个T表示的是每条指令执行需要的时钟周期数。一个内核,每条指令执行需要的时钟周期数是固定的,它不会既是1T又是4T还可以是12T。
时钟分频加长的只是时钟周期而不是指令执行的周期数。对于1T核来说,尽管4分频后某条指令执行的时间变成了原来的4T长,但这条指令周期数还是1T,时间变成4T仅仅是因为CPU的时钟频率降低了4倍。

使用特权

评论回复
112
William1994| | 2021-5-10 23:14 | 只看该作者
**NT018 发表于 2021-5-10 13:05
将已白发苍苍的 R&D, 从繁忙的 STC32M4 研发现场请回 STC 1T 8051 时代,又穿越了下,凭其遥远的追忆,我们 ...

帮您改一下:    鉴于我司研发文档、FAQ、DataSheet等文档不完善,只能请教了一下当时的R&D。看着他仍然在不完善文档的情况下孤军开发STC32M4的身影,以我司的特色文化下,对您的此次提问已经尽我所能的动用资源进行技术支持。后续问题也将尽力支持,我的邮箱是NT018@qq.cn,欢迎垂询任何问题。
    1 早期STC15系列增加了T2,但是考虑实际用户的需求,鉴于寄存器地址紧张(设计上也为了考虑更低的成本),连中断标志位都隐藏了(没有分配地址,总线不可访问),并且做了自动清除。具体的清除方法是xxx。当时设计的时候考虑8051已经有了两个定时器,而更多的场合需要不是太复杂的阉割版本的定时器就足够了,既节省了空间,又很实用。
     2 STC8系列的定时器虽然增加了xxx功能,但是我们由于历史的包袱,保留了和我们上一代芯片的兼容性。在更合理和更兼容上,我们为了客户的平滑升级,最终选择了后者。对于新一代的规格书中对此问题描述不清,而给您带来的不便,深表歉意。在此也感谢有您这么认真的客户帮我们测试。我们下一班规格书变更中将对此进行修改,预计下周能review结束并发布。
     3 根据你复现问题的例子代码中的功能,可以参考非本人原创的某德国工程师做的基于AVR MCU的一个硬件定时器实现一堆软件定时器的xxx项目。如果确实有多个定时器并且需要此功能的需求,欢迎提供给我们,我们下一版芯片定义的时候会酌情考虑。您的痛点,是我们努力的方向。一旦采用,会有精美烧写器的海报赠送。

      xxxxxxxx 这事不用说谁是标准,事实上存在的都知道有合理性。 不用扯intel,大家也知道8051在那个时代设计的很多细节的局限性。但是就定时器的这个功能来讲,局限的还是STC15。你看看STM32的定时器,不管有多少个,功能都是一样的。xxxxxxxxx      



使用特权

评论回复
评论
gta5 2022-2-10 16:58 回复TA
这样写的确客气很多,效果好很多。但是STC没有这种意识,各类数据手册(特别是新系列)还是有不少错漏,建议增加一个电子邮箱进行反馈交互,并有专门的技术及技术经理进行登记分析,逐一回复。数据手册要更规范、更准确! 
113
William1994| | 2021-5-10 23:22 | 只看该作者
lyjian 发表于 2021-5-10 20:22
多少T和功耗没关系。
不要快用低频。
4T核现在只有新塘还在做,够的话就不会出现1T了。 ...

1T的逻辑门个数略微多一些。
举个栗子:并行执行的时候,上个指令结果要存入ACC,下个指令要从ACC取内容(比如 跳转到A+PC的指令)。那么上个指令的  读-计算-写 没有结束之前,下个指令只能取指令,而不能取被加数。 而4T的就不需要这个互斥等待。

使用特权

评论回复
114
lyjian| | 2021-5-11 00:41 | 只看该作者
本帖最后由 lyjian 于 2021-5-11 12:41 编辑
William1994 发表于 2021-5-10 23:22
1T的逻辑门个数略微多一些。
举个栗子:并行执行的时候,上个指令结果要存入ACC,下个指令要从ACC取内容 ...

不管1T还是4T,指令的操作都是一样的:取指=>译码=>执行。
1T采用的是流水线结构,当前指令在译码时同时取下一条指令码,当前指令执行时同时译码下一条指令,永远不会出现你说的同时执行两条指令要等待种情况。
4T采用的是单线串行结构,当前指令取指=>译码=>执行=>下一条指令取指=>译码=>执行.. ..  
不管1T还是4T,每条指令需要完成的事情都是一样的,差别只有完成的快慢。

使用特权

评论回复
115
gdszzyq| | 2021-5-11 11:19 | 只看该作者
本帖最后由 gdszzyq 于 2021-5-11 11:24 编辑
lyjian 发表于 2021-5-9 08:09
这种还真不好意思说是芯片的问题。
对这个芯片来说,它永远只有8位移位操作。
32位变量或16位变量那都是 ...


真不知道个芯片只能做8位移位操作,我的程序的确是有24位移位操作,我问他们的FAE为什么不直接告诉我?只会说他们的芯片没问题,这是FAE该有的态度吗?我的变量压根没在中断里出现过,而且为什么会影响到定时功能?本来定时周期是1毫秒的,出问题时变成起码1000毫秒以上,这有点莫名其妙吧

使用特权

评论回复
116
gdszzyq| | 2021-5-11 11:38 | 只看该作者
lyjian 发表于 2021-5-9 08:32
这个它们FAE也没说错,确实不是他们芯片的问题,而是你程序的问题。
千万不要想当然的把STC15的T2当成普 ...

我正因为知道T2只有自动重载模式才没在中断里重新装载初值,开始就是这样用的才出问题,当然如果初值一直没改变就没问题,当初值实时变化时就必须在中断里重新装载初值才行,否则就出乱,另外T2R是在辅助寄存器中的一位,T2R=0和T2R=1写T2写入的都是同一个地方

使用特权

评论回复
117
gdszzyq| | 2021-5-11 11:50 | 只看该作者
本帖最后由 gdszzyq 于 2021-5-11 11:55 编辑
William1994 发表于 2021-5-9 23:34
初值随时可以赋值,只在计数溢出的瞬间load到外设的内部寄存器。DataSheet的框图里面有。不需要在溢出中 ...


我开始就是这样用的所以才出问题,后来是无意中发现在中断里重新赋值就没问题,一样都是16位自动重载,T0、T1就不用在中断里重装初值,只是在T2就必须在中断里重新赋值,当然初值一直没改变时就不用在中断里重新赋值,说明书我是有看的,就因为看了才被误导了,一直找不到原因才去找FAE问的,结果他来一句是你的问题就打发了

使用特权

评论回复
118
lyjian| | 2021-5-11 12:04 | 只看该作者
本帖最后由 lyjian 于 2021-5-11 12:10 编辑
gdszzyq 发表于 2021-5-11 11:19
真不知道个芯片只能做8位移位操作,我的程序的确是有24位移位操作,我问他们的FAE为什么不直接告诉我?只 ...

这种问题不用想都知道是软件自身的问题。
你见过哪个8位芯片不是只有8位移位操作的?我们能做24位移位操作是因为软件用多条8位移位操作拼成了一个24位移位操作。

使用特权

评论回复
119
lyjian| | 2021-5-11 12:39 | 只看该作者
gdszzyq 发表于 2021-5-11 11:38
我正因为知道T2只有自动重载模式才没在中断里重新装载初值,开始就是这样用的才出问题,当然如果初值一直 ...

估计你就没搞懂怎么用T2。
T2R=0时,写T2时同时写入RL_T2。T2R=1时,写T2实际只写入RL_T2。
所以,你永远没办法实时更新T2。
另外,在中断外更新T2,有可能会碰到写T2到一半时恰好碰到T2中断,这时T2重装的就是你不想要的数据,考虑这种情况没有?
建议你把你的软件贴出来,让别人告诉你什么地方有bug。

使用特权

评论回复
120
gdszzyq| | 2021-5-11 14:05 | 只看该作者
lyjian 发表于 2021-5-11 12:39
估计你就没搞懂怎么用T2。
T2R=0时,写T2时同时写入RL_T2。T2R=1时,写T2实际只写入RL_T2。
所以,你永远 ...

一、我明白定时开启后每次给T2L及T2H赋值是写入RL_TL2及RL_TH2,我不需要实时更新T2,只需要在下一次中断时更新就行。
二、刚好发生在写入了T2L或T2H时发生中断这时就不是实际的初值了,这个只影响一个周期而已,实际应用没有影响,发生这种情况的概率也是极低的,何况如果只是T2L改变就没有影响,T0\T1我就是这么用就没有问题
我是用3个定时器产生3路脉冲驱动步进电机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则