原创 硬件的错误?软件补!

2023-7-20 10:33 3681 9 3 分类: MCU/ 嵌入式


刚刚入行做一款电子设备时,画图时,把ADC的输出LSBMSB与单片机的P0-8口连接搞反,如同网上搜到的这张图,



当然,schematicU3的封装表达也不好,LSBMSB与数字序号反了,所以连接线也就成了LSB连接到了P0.7AD7

而另外一个网上搜到的,要规范的多:

D7符合标识MCUP2.7D7也是schematicADC模块中的一个符合,标识清楚,不会犯错,软件写起来也顺利!

 

而上面搞反的,高位和地位的数据要反过来,才是正确的ADC输出。

怎么实现呢:1,改硬件,割线飞线,硬件的LSBMSB与单片机的P.0P.7一一对应起来。2、软件补偿,软件数据处理时,将数据顺序反向即可。

 

当时,软件的调试工程师告诉我反了,我核对后也认可确实反了,心里还非常紧张,又要改板子了?割线和飞线?很快软件工程师说,算了,你别动了,我程序上想办法吧。一下子,我就明白了,有些硬件的故障,软件可以补的,特别是类似于数据顺序类型错误,软件调整更方便,当然也有一定的代价,运行时需要消耗资源,周期时间变长。

 

最牛的软件错误硬件补,是IntelPentium系列CPU的硬件错误,这个错误的发现很有意思,

详见:一道数学题,让芯片巨头亏了5亿美金!电子工程专辑公众号上有,写的很详细,很形象,很有意思。

也可以看链接:https://m.163.com/dy/article/HDBS4JIN0538B4E3.html

 

数学家为了计算“布朗常数”,用计算机暴力破解,导致发现新旧计算机结果的差异,最后用了4个月的时间,确定了问题是新的Pentium“奔腾”处理器上。

而这种错误,被发现的概率只有90亿分之一,且由于Intel的傲慢,导致数学家开始四处宣传!

然后各行业的牛人,程序专家、CPU设计专家确定了问题的根源,而且事实确实如此!

最后登场的MATLAB之父,不但最后接过了接力棒,反而将其捧成了奖杯。竟然开发了补丁,发表了MathWorks修复了Intel奔腾浮点数Bug,补丁免费让用户使用。

看看,这波为大众搞技术谋福利,最终成就了MATLAB的狂欢和营销的大好机会!

 

这恐怕是硬件错误软件补的最高境界了!

作者: 追忆流年寻梦少年, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-855000.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /3 下一条