由电子领域延伸的技术视野

    首先谈一下我写这篇废话的目的,纯粹是因为我在技术自学的路上掉进坑了,不得不重新梳理一下在我的认知里技术之间究竟存在怎样的关系,而我又将如何选择跳坑之路。由于个人水平有限,肯定存在偏颇之处,请见谅。
    通过我近一年半的技术自学,我的半只脚总算踏入了技术世界的大门,从最先开始受到郭天祥于振南十年前写下的文章激励,到自己逐步去实践,现在想想,很值得,只是还是遗憾自己没能尽最大的努力。
    技术世界也是分层的,就跟我们生活的社会一样,不论你是否承认它的阶级性,它就在这里。技术底层可以用一切皆数学来形容,技术顶层可以用一切皆积木来形容。

    下面我就从底层到顶层按数值从小到大进行分类叙述。
    第一层,也就是所谓的最底层。我们先来想一个问题,为啥很多物理学家,发明家,化学家,生物学家,以及各类其他科学家很多情况下都还会有另一个身份:数学家!而这个现象在近代甚至更遥远的时代就更普遍(可自行百度),这是因为那时候的理论都是非常基础性的理论,比如牛顿第二定律,F=ma(其实原始公式更接近数学表达式,就是一个微分式而已),这个式子所代表的含义很有限,也受限于各种条件的制约,因此数学工具成了必要的表达手段,没人去给你封装一个如此简单的数学工具,也没有必要去这么做,所以在基础理论发明或者说发现的时候就不可能离开数学工具,每个发现者都必须熟练应用数学。这里着重强调一下“封装”一词,封装的目的就是为了黑箱操作,只需要知道黑箱在什么时候用来干什么,你就能用它去解决一些无关黑箱内部结构而只与黑箱输入输出相关的问题。
    上个例子说的是基础理论在没有成系统学科前,各类科学家所面临的数学工具使用问题。因为那时候若把相关数学工具做成黑箱(费半天劲做的黑箱里就一个结构F=ma),就好比你用高射炮去打一只蚊子。这是个效率问题。那么如果打的不是蚊子而是飞机,这时候用高射炮就显得非常有必要了,因为改用原始的机枪扫射需要无数密集的机枪,浪费人力物力。开炮的人就专心研究如何瞄准,如何射击即可,自有人研究如何造炮。

    随着人类对自然的需求越来越强烈,各种人通过各种途径发现了一些自然规律,比如“波”这种东西。现在的很多大学生无数次接触这个东西,却没有几个人知道波与三角函数的关系,很多人都认为是三角函数这个数学工具诞生了“波”这种自然的东西。但是我认为恰恰想法,正是因为有“波”或者类似的自然界中的东西本来就存在这个世界上,而我们人类通过各种方法感知(比如各种实验)到了这种东西变化的规律,将这些数据整理起来进行研究,最后就有了三角函数这类数学工具。
说了三段,总算要扯到正题了,第一层的技术就是去感知自然产生数据并生成数学工具进行解释的工作。这类人就是我们普通人民所仰望的各类学科之父,比如什么牛顿啊,汤姆逊,爱迪生,爱因斯坦啥的,反正就是他们都必须是非创新类的科学家,也就是说他们的发现和发明必须伴随大量的无须借助前人数据的实验数据的生成。想到这里我很遗憾中国古代的四大发明不能算在这里面,因为只是感知了现象没有数据解释,好比知道几种药材混在一起就能造成火药,这完全是中层技术。而知道每种药材的化学结构,以及各种结构相互作用后会生成哪些新结构,收集到大量数据后,利用数学公式将各个结构(起作用的部分)表达出来,这就是最底层的技术,有了这个技术,我们就可以去寻找其他类似结构,用不同的药材也能造成火药,当然这个技术就又不属于最底层技术了。

    总算说到第二层技术了。我认为第二层技术仍属于底层技术,这层技术主要负责封装。对,就是做黑箱子。仍然拿火药举例,在得到了第一层技术支持后,把数学公式(化学式也可视为一种特殊的数学式,学过化学的人懂)中涉及的结构拿出来,经过各种办法得到含有该结构的药材,接下来就开始做黑箱子,把具有共性结构的药材装在一起,做成小黑箱子,把数学公式中涉及的各个结构的黑箱子聚在一块作为整个大黑箱子的输入,输出当然就是我们希望的看到的爆炸效果(在公式里其实是转化成其他结构的新物质),到此第二层技术人员就完成了自己的工作了。请注意,每个黑箱子只是指明输入需要什么,输出是什么即可。因为输入中有大量的自由选择空间,所以仍然需要有人去做那部分工作。

    如果你对化学不感冒,那么我再举一个本行电学的例子。现在我们返回上一层,拿音频传输作为例子讲解。第一层技术需要做的是,感知各类声音信号,知道声音本质是振动引起的,如人的喉结振动,这种振动会产生“波”这种好东西,这里称为声波,声波能够传输到接受目标,迫使接受目标同样会振动,也会产生“波”,当底层技术人员发现这种波的几个特性后,大量实验数据总结出一套可以描述声波的数学工具。第二层技术人员根据给出的数学公式,去做相应的黑箱子。

    以下内容比较偏专业化,可以跳过,也可以赏脸看一看指出错误之处。如何做声波的黑箱子,这是一个非常麻烦的事情,尽管底层人员给了我们描述声波规律的数学表达式。我们知道如果不用电学知识,那么空气就可以作为声波的一个黑箱子,输入由你喉结产生的声波,输出有我耳膜被迫产生的声波,最后送入大脑解析。现在我们引入电学,也就是默认电波也具有与声波类似的部分,我们想办法让声波的规律体现子在电波之中,我们便完成了第二层技术工作。

    那么如何做到声到电的转化呢?材料学,电磁学给我们提供了帮助,通过一种叫纸盆的材料作为接受目标进行被迫振动,而这个振动将改变纸盆位置,我们再将这个位置的微小变化放入电磁环境中,就会影响电磁变化,确切地说是先引起磁变化,磁变化再引起电变化,总之最后声波的变化规律经过一系列转化总算强加在了电波变化规律之中(注意只是之中并非简单的转移),接下来就好办多了,因为我们成功地把声波纳入了电学的领域,我们再模仿刚刚的声到电的过程,并用逆向思维就能解决声波再现问题。

    从这个例子中不难不发现,针对电学是第二层技术,其实过程中需要用到其他学科的各层技术(如材料学中纸盆特性(含纸盆形状设计等)),第二层技术人员完成了输入为声波,输出为电波以及逆向的黑箱子设计工作。

    好了现在该电路工程师上场了。他们已经不需要再考虑实现声波到电波的转化原理了。他们要做的技术工作属于第三层。也属于中下层技术。

    仍以音频传输举例说明(不同例子中分层会有差别,涉及不同技术学科交叉应用)。经过第一层技术,我们知道声波的组成成分,也知道人声的特性,具体说,频域特性是300到3200Hz。也就是说通过第二层技术的原理我们需要处理的波的成分就是这部分。一个神奇而伟大的东西就要出现了,它就是滤波器。没错,我们的正常思维都知道,我们应该屏蔽掉不需要的部分,才可能减小干扰。这时候又需要滤波器设计的第二层技术的支持了,通过它我们可以直接或者间接得到适用于我们需要的滤波器,第三层技术人员做好滤波器,并且做好纸盆,做好电路放大器的各种搭配,每种具体的技术都不需要自己去设计,只需要去选择第二层技术提供的黑箱子,将各个黑箱子的输入输出搭配组合,最后得到我们理想的系统功能,比如此处就是得到声音再现。
    若笼统地讲,第一层技术人员提供基础理论,多是单个的独立的规律体现。第二层技术人员提供模块化设计方案,多是将各个规律封装成有输入输出的黑箱子。而第三层技术人员提供系统解决方案,多是涉及各个交叉学科,将第二层技术在不同学科不同领域的成果进行搭配以期待解决实际问题。这三层技术都可以称作底层技术。

———————————————-分割线—————————————-

    现在我们来到另一个层次,上层技术。第四层技术笼统来讲就是驱动层技术,属于中上层技术,是上层技术中离底层技术最近的一层技术,可以直接操作硬件。

    前面说的第三层技术解决的是静态技术,也就是通电即驱动系统工作,并且没有任何选择的余地。比如我要用到立体声,左右声道,多喇叭系统时,驱动层技术就显得很有必要。从驱动层开始我们一般需要涉及到程序编程,而底层硬件将会根据程序作出一定的动态工作,即有了选择的权利。至于何时选择让某个硬件工作这个不是第四层技术人员考虑的事情,这层技术人员需要做的就是编写好对应硬件的驱动程序(注意这个程序根据不同的硬件甚至同一硬件不同型号也会有所差异),但是,如果仅仅是这样,那么似乎驱动层技术人员的薪水也太高了,驱动层人员还需要封装好驱动程序,给上层技术人员提供接口。这样上层人员并不需要知道更多的硬件信息,比如上层只需要知道屏幕就是用来显示一个个像素点的,喇叭就是用来发出不同频率声音的,而驱动层人员还需要清楚知道屏幕型号,因为不同型号的屏幕发光原理可能不同,那么编写的驱动程序将完全是不同思路。

    好吧,我们进入占了第四层技术便宜的第五层技术,第五层技术属于上层技术,它在上层技术中的位置,就类似于第三层技术在底层技术中的位置。这层技术人员利用驱动层技术提供的各类驱动接口进行系统功能搭配,这里提一下“接口”,在封装技术中经常用API表示(自行百度),此处驱动接口一般是什么内容呢?比如屏幕驱动接口的作用在于,给你一个接口(比如我要在哪个坐标点显示什么内容),我把这些需求通过接口告诉驱动层,驱动层就能够根据我的需求去直接操作硬件(在上层中只有驱动层才能直接操作硬件)进行工作,得到我想要的功能。

    第五层技术人员有了这个便利条件,便可以专注于如何创作出能够解决实际问题的应用程序。比如我要做一个画板,拿笔在屏幕上画,屏幕就能显示我画的内容,这里就需要我去搭配触摸技术和屏幕显示技术的驱动层技术。首先调用触摸屏驱动得到触摸坐标,然后将这个坐标作为屏幕显示驱动接口的输入参数,屏幕便能显示我画的内容。当然,如果仅仅只是做这么简单的工作,那么这层技术人员也就没必要领工资了。我这里只是举了个很简单的应用程序,所以看起来很简单,当应用程序需要调用多个驱动程序,而且涉及到分时调用的时候,考虑到各个程序联调,和各种矛盾冲突将会大大增加工作难度(因此有了第六层技术系统层)。这类技术类似各种技术的后台,比如各大网站技术的后端技术。而将后端技术进行界面处理,添加更多人机交互的内容,让用户能够直接感知的技术称为前端技术,其实前端技术也是应用技术一种,也属于应用层即第五层技术。

    为了解决第五层技术面临的各类问题,第六层技术出现了,这就是系统层技术,这层技术扮演的角色是中间协调员,专门做协调工作,以至于尽可能不出现矛盾冲突。比如应用层要分时调用屏幕驱动,第一次调用显示“你好”,第二次调用显示“世界”(程序界一般拿hello world举例),如果不协调,则可能在只显示了“你”后就接着显示“世界”,再显示“好”,最后成了“你世界好”,所以协调工作显得十分必要。当每次应用层要调用驱动层时,首先要通过系统层,系统层确认现场后,决定是否调用驱动层,或者延迟调用,或者做其他处理,总之会大大减少矛盾冲突的发生。

   最后用简短的词语总结各层:基础理论——模块黑箱——系统电路搭配——驱动——系统协调——应用

   看到这里,如果有心的人,肯定能发现,第五层其实应该和第六层对调一下顺序,但是考虑到问题的抛出顺序,在此就不更改了。再说,这一切只是我这个菜鸟的个人观点,不必在意具体分层的顺序,既然是观点,不是论文,就没有对错之分,只有是否完善和是否存在偏颇的问题,还希望各位指出。花了两个小时,没有草稿,心血来潮随手写下,总算结束了。谢谢!

———————————-分割线—————————————-
   以上分析是基于电学的技术视野去看待整个技术层面,其他学科技术分层也可以参考。
   我认为嵌入式从技术层面上讲就是以这几层技术的中层往上下层延伸,凭个人能力,不断去增加嵌入式技术厚度。
   嵌入式从应用层面就是“嵌入”二字,指嵌入在某些产品中的专用型定向型计算机系统。

下面我贴一下这一年半我在大学自学的内容,我一直没有更新博客,总感觉自己在那些真正牛逼的人面前什么都算不上,但是反过来想,谁又不是从菜鸟一步步走过来的呢?以前总结总在心里,没有表达出来,我觉得不利于日后参考。现在趁我想总结一下的三分钟热度,赶快写下这些废话,希望大家和日后的自己不要嘲笑。
大二上学期,开始接触电子类技术,以51单片机开启电子自学入门,学习和掌握了51内核单片机原理,并且熟练应用单片机以及其外围电路进行独立的简单项目开发,例如避障小车,双通信小车,带闹钟的电子时钟,环境监测系统等一系列简单应用。

技能获得:
1.熟练使用keilc51软件,并会调试和查找与之相关的一系列错误。
2.获得全国计算机等级考试C语言优秀证书。并且学习了C++语言,会基础C++工程读写能力。
3.参加学校各类创新项目,熟练掌握办公软件,撰写项目书能力。
4.自学了github使用方法,并上传了自己的简单项目,和下载了和参考了github上优秀程序。

大二下学期开始接触嵌入式,熟悉了嵌入式领域,并以嵌入式为技术分层点,分别进行上层和下层技术自学。
上层以STM32芯片开发为基础,掌握了ARM_cortexM3内核原理,能熟练使用寄存器和库对32芯片进行开发。期间利用各种外围器件和此类芯片进行了简单应用的设计,例如无线电子琴系统,并且整理和撰写了该项目书,并通过此项目了解了嵌入式系统,并模仿系统原理成功解决了项目开发过程中遇到的问题。

下层以模拟电路基础和数字电路基础的理论学习为基础进行理论学习,并借鉴和尝试设计和搭建一些简单模拟数字电路,例如音频红外传输系统。学习了PCB设计,并掌握了Altium Designer软件的使用及设计,例如自主设计了STM32开发版,含一定的外围电路。

获得技能:
1.获得全国计算机等级考试三级嵌入式证书。
2.获得全国大学生英语四级证书。拥有一定的英语技术文档阅读能力。
3.学习了解了PCB设计及开发流程,并参加学校电子工艺实习,亲身体验其过程。
4.掌握了Altium Designer软件的使用和设计PCB的方法。
5.熟练掌握STM32及其外围电路开发。

大三上学期,继续以嵌入式技术作为技术分层点。

向上层,学习并掌握了嵌入式系统原理,并具体学习了FreeRTOS嵌入式系统,并且成功移植到STM32上,进行了简单的应用设计开发。

向下层,学习了模拟滤波器设计,掌握了滤波器原理,各种滤波器转化等方法,会利用相关软件进行滤波器设计。例如FilterSolution以及FilterPro软件。
同时学习了FPGA开发,掌握了VerilogHDL语言,利用Quartus进行简单电路设计,利用Modelsim进行电路仿真。

获得技能:
1.掌握嵌入式系统原理和FreeRTOS嵌入式系统开发。
2.掌握了滤波器原理,并会利用相关软件进行设计。
3.能够使用quartus和modelsim进行FPGA开发。
4.掌握了VerilogHDL语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fffxxx222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值