周记0047

2019-06-16至2019-06-22

  有些时候,虽然经历很多,也会很不想写。

  上一周的生活,是围绕着三个大事发生的。

  首先最大的是,搬家。之前租住了为期一年的房子,到期了。之后研究所会安排离得不是那么远的宿舍,到时候我就可以骑自行车上下班,不需要坐班车一个多小时,方便很多。但是租期结束,到搬进新宿舍,还有大约一个月的间隙,我就必须要搬回原有的宿舍去住。

  想想一个月也不长,我就只带了自己的铺盖和少数几件衣服。然后第一次体验了所里提供的上下班班车,不得不说这一路是真的很长,完全足够上班车上背一圈单词,下班再背一圈。

  搬家搬过去琐事还是颇多的。因为我已经半年多没有回那边宿舍了,我的学生卡默认被注销了哈哈哈哈哈,我已经是个失踪人口了。其余琐事倒是没什么值得提的,虽然其实占用了很多时间,哪怕我已经尽可能缩减了复杂度。

  第二则是一些探索。

  有一种多次出现在我的周记里的东西,树莓派,这是一种微型PC。为什么这么说呢?因为它除了CPU是ARM架构的博通BCM2837B0(对树莓派3B+而言),主板上的其他东西跟一台普通PC相比也没有什么区别,性能其实也不俗,1.4GHz的主频,配上512MB的内存,其实可以适应绝大部分人对于电脑的需求了(现在市面上的电脑,性能根本就过于冗余了)。但是其尺寸却只有银行卡大小,重量也很轻。跟不用说还有树莓派0这等神器,只有U盘大小,却也是一台完整的PC。

  这样一个东西用来干啥呢?

  当然是用来做科研。

  市面上有一种价格非常低廉的地震仪,叫做Raspberry Shake。非要直译的话那就是树莓奶昔。最便宜的一款,售价374.99刀,最贵的一款,三轴,全天气状况,100Hz采样率,839.99美刀。想象一下这是怎样的一种价格。两千块钱到六千块钱,就可以买到一款地震仪!更何况这台地震仪还很小,很智能!虽然难以在需求超高精度超高稳定度的应用场景下使用,但是,可以用来撒网啊!撒一千台才600万!这还没算批量购买的折扣!

在这里插入图片描述

  类似的,树莓派这东西能用来做我们组的磁传感器的上位机么?我认为当然能!不仅能,而且好!

  我一直认为,除了某些特殊领域的产品,我们组的磁传感器,就应该用单片机或者类似于这样的小型PC来做中控。在我仔细研究了师兄师姐们过去做的设计之后,我只得出了一个结论。

  奢侈

  极度的奢侈。好几千块,好几百万逻辑门的FPGA说用就用了。但是实际上呢?我们的整套系统并没有什么复杂的算法。

  我一直想不通为什么我们的FPGA要负责激励信号的输出?负责了激励信号的输出之后,又嫌弃FPGA的拉动能力不足,还要加一套MOS管芯片去拉升?那为什么不一开始就用一个稳定的晶振?或者类似的振荡电路?反正里外里都要靠MOS管拉动一次,何必为了这个事情占用FPGA的资源?要知道激励信号的频率远远远远低于FPGA的主频,所以也就无所谓时钟对齐的问题——这边几千帧甚至几万帧对应那边的一帧,稍微有几帧对不齐又能怎么样呢?再说中间还要经历一个AD转换的过程,AD的时钟跟FPGA能对齐不就没问题了吗?

  我还想不通为什么大家觉得FPGA比DSP高端?难道贵就是好吗?我们的信号处理,说白了就是加权平均(更复杂的滤波过程目前还是模拟电路在做,我希望未来做成数字电路的,实际上我也有了初步的想法),然后加权平均的值作为负反馈输出,负反馈输出的暂时稳态(再加权平均或者减采样),就是输出的数据。我不明白,这种四则运算级别的东西,基本没有任何复杂逻辑在里面,那当然应该是擅长并行运算的DSP,才能处理得又快又好,开发难度也更低啊!虽然理论上FPGA也能搭建出DSP来——毕竟FPGA就是一系列待调教的逻辑门阵列而已,理论上可以搭建出任何数字逻辑芯片——但是又何必呢?根本用不到这么高级的性能啊!还白白浪费功耗。

  当然实际上DSP也大材小用了。结合我们的实际来看,我们的仪器采样率只有100Hz左右,在数字的世界里,这可以说是如蜗牛一般慢。DSP和FPGA其实都针对的是MHz级别的应用场景,强调一个快!整个系统输出100Hz的数据,却为什么要让整个系统以数百Mhz的频率工作呢?

  此外,开发FPGA一直都在用盗版的Quatus,不觉得危险吗?就像当年的windows黑屏事件——谁知道有没有后门?我认为既然是做科学研究的,既然是相当于在吃知识产权这口饭的,就应该从自己做起,去维护和尊重知识产权。要么,花上千块钱去用正版商业软件;要么,就去用开源软件,去自己开发开源程序——在开源资源丰富的今天,这绝不是什么难事。

  因此我觉得走错了路,第一代师姐(素未谋面),采用单片机的方案,在我看来才是最正确,或者说可能最正确的方案。根本没必要去采集海量的数据再减采样,反而降低系统的稳定性,应该在进入主控机之前,就让数据减少到数十KHz才对。实际上我认为这样很可能更能降低系统内的奇怪来源的噪声。

  此外,负反馈也不应该时刻跟随数据采集,而是一些阶梯状的值,将探头的数据限制在一个工作区间内即可,就像是Sigma-Delta型的ADC一样。

  使用低速的、高精密的AD和相关外围器件,接续单片机进行数据解算,单片机输出负反馈的PWM波,单片机再负责发回数据到Host,或者原地上传网络,或者保存在SD卡——这些全都有代码开放的源程序,或者根本不需要Demo,看看手册就能写。

  所以我这周研究了什么呢?回到周记正题中去。

  如何在各种各样的存储介质上,部署Linux系统。

  如果是STM32开发板,那么教程很全,我认为只要我有时间,上述这一套东西我应该能很快做完,STM32甚至还有自带的多路ADC模块,我都不需要购买外置ADC。但是做人要有发展的眼光——我想做一台树莓派地震仪那样的仪器出来。

在这里插入图片描述

  是的,说不定还能卖钱。当然地震仪这个东西需求大,磁场仪器就不一定了。

  树莓派的Linux系统是部署在一张SD卡上的。将来我估计不会这么搞,因为如果我不用树莓派而用别的什么板子,那么就没必要部署在SD卡上,SD卡还是不如焊接在板子上的存储介质稳定,比如直接焊一块FLASH。

  我看到我们组买的德国的那套设备背面是一张固态。。。。还是稍微有些奢侈了。。。。

  所以我想,摸清楚系统部署在各种介质上,需要掌握什么技术,做什么样的操作。

  目前初步遇到了很大的挫折。当然说不定是我电脑的问题。我的电脑在grub界面就像聋子一样,输入进去的bash代码全部假装没听见,什么输出值也没有。按理说我要在UEFI里能找到我的存储卡,那我的存储卡才能引导系统。但是我现在不知道UEFI过程中能不能找的存储卡,因为我的Grub它不理我。。。。。

  我通过手动写grub程序的方法,成功让计算机从我的硬盘里找到系统内核并执行了挂载,执行系统安装,装进了SD卡。然后问题又出现了,拔掉安装介质之后,我的SD卡硬盘号似乎是发生了变化。。。。于是引导中提示Invalid kernel。。。。。但我也不确定是不是这个原因。这还是因为——我的Grub它不理我。。。。我连查询设备号都查不出来。。。。

  总之我再试试。不喜欢折腾的人,不可能学好理工科。下周先搞明白我的Grub为什么不理我吧!

  第三件事则是组会。开组会又轮到了我讲。所以我就把过去几周来,看的三十多篇论文总结了一下,跟大家分享了一下——实际上由于老师们和师兄师姐们跟我的专业还是有一定差距,我只能讲的比较概括。但是还是花了不少时间整理讲稿和PPT。

  主要就这些事,我就不详细讲每天都干了啥了,那没意思,我也没心情。

  还是去学习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值