返回第27章 收集龙珠第一颗(1 / 2)学霸的黑科技AR首页

陈星擦干脸回到教室,不再胡思乱想。

他从纸盒中拿出那本《ST lib开发指南(Beta 1.0)》,唤出AR界面去扫描上头的内容。

AR很快给出了提示:界面中除了少数几个黄色标签以外,大量的都是白色标签。

此前陈星只接触过:红色、黄色、绿色的标签,对于学习完成充分领悟的知识则是没有标签。而眼下却出现了新的标签--白色。

好在AR很快就给出了解释:【白色:工具手册类内容,用到时查阅即可。】

陈星翻到了某一页讲ST的timer(定时器)配置的章节。

timer是单片机上的常用外设,常用于各类要求精确计时的场合。比如小车上的红外测距功能,就需要timer来精确计算红外线从发射到接收的这段时间。

因为红外线本身就是光波,其传输速度就是光速--30万千米每秒。

这么快的传输速度下,利用红外线的反射来测距,就必须精确计时。一个微秒的误差就是300米,考虑到来回折返,除以2就是150米的误差。

这种级别的计时靠一些时钟芯片是根本不可能实现的,只有靠高精度timer,在RTOS的高实时辅助下才能实现。

陈星看着眼前的内容。只有关于timer的阐释部分标注有黄色标签,其余大篇幅的内容都是白色。

他已然明白。在明白原理的情况下,如何配置芯片使用timer,不过就是顺手查资料的事情。那自然也就谈不上理解和死记硬背。

半节自习课下来。timer部分的内容就已经变成了绿色标签,显示着陈星对其有了不俗的理解。

陈星查阅了下资料,张浩东寄过来的这块开发板,其CPU是stm32f103。这款芯片的最高主频达到了72MHz,这和Intel那些动不动上GHz的芯片自然不能比,但在眼下的单片机领域已经很厉害了。

stm32f103的定时器最高主频也是72MHz,那在此基础上的红外测距理论最小误差为:光速除以主频,再除以2。由于红外测距时红外线打到物体表面反弹回来,实际上是跑了個来回,所以需要除以2。

3X10的8次方米/秒除以 72X10的6次方振动/秒,那一次主频振动能测得的距离是。。。

陈星还是打算用计算器算,他可不想找虐。虽然高考不允许用计算器,但是在陈星看来,计算加减乘除除了考验耐心以外,简直是一无是处。有计算器不用,简直傻帽。

可也因为高考不允许使用计算器,因而老师平时也不让大家使用。陈星只好跑去问林悦借文曲星。他记得林悦的那个文曲星功能很强大,甚至还自带科学计算功能。

陈星不是惧怕眼下的这个计算,毕竟这个计算其实就是300除以72。他是因为接下来还有其它运算,他不想每次运算都要手工解决。

林悦自然是乐意借给他的,可不巧,那文曲星坏了,眼下开不了机。

这下陈星无奈,只好拿出纸笔手工运算。

300除以72,约等于4.167米。再考虑到折返除以2,那就是2.083米。

那也就是说,基于stm32f103的红外测距,理论上的最小误差是2米左右。

而这仅仅还是最佳情况下的理论计算。还需要考虑到各种实际情况,比如:红外线的反馈触发要靠中断,中断抢占耗费的时钟周期。还有读取定时器计数的时钟周期。红外反馈中断触发本身需要耗费的时间。

总之,即便在不存在的最理想情况下,这个最小误差都达到了2米,那实际应用中的误差很可能会超过10米。

那这个测距还测什么,10米以内就测不准了,根本就是个摆设。

陈星想起竞赛官方的开发套件,S3C2440的主频最低都有200MHz,官方套件里很可能用的还是高版本的芯片,那主频弄不好还会更高。

假如主频能达到400多MHz,那也就是比眼前这块stm32f103快了6倍左右,那这个误差就能极大缩小。再优化红外反馈的触发速率,多重优化之下,很可能会把实际误差控制在一米以内。那这个在竞赛场上也能展示一把了。

可是自己眼下没有高频S3C2440,且陈星相信AR给的建议。那么就只有一种可能--竞赛官方的整体方案本就存在不合理。在使用了超出实际性能要求的CPU的情况下,就可以仗着主频高性能强,从而实现力大飞砖的效果。

简答来说,陈星此刻感受到了一波“算力压制”。