摘要:对于零基础情况下学习电子信息工程的内容是有一定挑战性的,一方面需要强大的内心(在学电路的过程中难免会发疯),另一方面需要充足的时间。
对于零基础情况下学习电子信息工程的内容是有一定挑战性的,一方面需要强大的内心(在学电路的过程中难免会发疯),另一方面需要充足的时间。
先学电路分析,电路分析是模电和数电的基础,有一定电路分析的知识储备后,对于模电中的电路学习才会更加深刻。在掌握数电、模电知识后,再开始学习数电,尽管数电很多内容都是与“逻辑门”相关,但其底层电路还是晶体管构成的电路,前期学习“逻辑门”电路才会更加透彻。
嵌入式核心技能
(一)循序渐进
基础学习大致分为三部分:电路部分、编程部分、硬件描述语言部分(可选修)
其中电路部分需要从电路分析开始学习,掌握电路分析方法后开始学习模电、数电,模电数电可以同步学习,不过先学习模电后对数电学习会有一定帮助。其次是编程部分,编程部分可以在学习电路分析后开始学习,也可以与电路分析同步学习,具体可以根据自己的时间安排。最后是硬件描述语言与 FPGA部分,这一部分可以选择性学习,如果对这方面感兴趣,可以在学习完数字电子技术后开始学习。(二)学习方法
电子信息工程学习过程中,最好的方法是学习理论知识 —— 具体实践 —— 总结错误与遇到的问题,每一方面都可以用这套学习方法:
电路分析:
学习核心内容如 KVL、KCL、戴维南等效电路、RC/RL 电路瞬态分析等学习完理论后可以动手“搭建”电路,先分析电路然后测量电路是否与分析一致,当然实际搭电路可能有点困难,这就引出另一块知识学习——电路仿真软件(Multisim/Proteus)其次还可以通过仿真软件,去搭建一些常见的电路等,如整流电路、滤波电路,通过仿真软件可以观察电路效果C 语言编程:
学会 C 语言的基础语法后开始敲击代码练习,实现一些最基础的算法,如冒泡排序、堆排序等深入学习指针、结构体、联合体,然后练习实现一些基本的数据结构,如链表、栈、队列等当然最重要的还是 C 语言的 IDE,选择一款适合自己的 IDE,如 VSCode、Keil、Clion 等模拟电子技术是以二极管、三极管、MOS 管以及运算放大电路展开的,通过这些核心知识去熟悉各式的模拟电路模拟电子技术最重要的还是要动手实操,通过在线仿真设计电路,然后再利用面包板、电子元器件搭建电路,并通过一些仪器观察电路(如万用表、示波器等)数字电子技术则是以逻辑门电路为核心,展开组合成为各式各样的逻辑功能块(如加法器、乘法器、触发器等)一方面是逻辑门电路,另一方面是对逻辑电路的设计思维,需要掌握真值表、真值表简化等方法对于数字电路同样也可以通过仿真软件来分析电路,仿真软件主要用到 LogisimFPGA 实际上就是可以用 Verilog “搭建”逻辑电路的芯片,而 Verilog 类似 C 语言编程,编写出组合逻辑和时序逻辑,可以通过设计软件综合成电路的这方面的学习需要熟练掌握数字电子技术中组合逻辑电路和时序逻辑电路设计,通过设计软件可以直接仿真 Verilog 综合的电路可以从小的逻辑电路开始,如半加器、全加器、计数器等,多仿真!多仿真!嵌入式核心学习
核心部分的知识可以整体概括为:微控制器、信号分析与建模、电路板设计。前期学习到的 C 语言知识在此刻可以大展拳脚了,模拟电子技术与数字电子技术的知识也可以应用在电路板原理图的绘制与 PCB 的走线上。如上图所示,具体路线如下:
微控制器:微控制器包括 51 单片机、STM32、ESP32 等,可以利用 C 语言编写程序控制。
51 单片机:51 单片机作为一款入门级的微控制器,可以从点亮一颗 LED 灯开始,到配置定时器、中断、ADC/DAC 和微控制器中最基础的通信协议——UART,基本知识熟悉后可以制作一些小项目(如循迹小车、光立方等),如果觉得简单可以直接从 STM32 开始
STM32:许多项目主流都是使用 STM32,相对于 51 单片机,它拥有更多的外设模块以及完善的 HAL 库,学习阶段可以选择一款单片机将它所有模块的功能及应用吃透(如 PWM、DMA、I2C 等)
ESP32:如果想实现使用手机通过 WIFI 或蓝牙来控制一些设备(如远程控制灯光),那么 ESP32 会是一个不错的选择。
信号分析与建模:此方面需要掌握的知识/技能包括《信号与系统》、MATLAB/Python(用于建模和分析)。
《信号与系统》:核心学习时域与频域的关系以及 FFT 频谱分析。
信号建模:学习 MATLAB/Python 结合《信号与系统》的知识可以对信号数据进行建模分析
电路板设计:电路板设计需要熟悉包括原理图和 PCB 以及 EDA 设计软件。
原理图:绘制原理图应用到的主要是电路相关的知识
PCB:PCB 板绘制需要熟悉一些模拟电路相关的布局布线
EDA 设计软件:主流的设计软件有Altium Designer、Cadence,国内有立创 EDA,一般使用 Altium Designer 较多
嵌入式系统设计学习
进阶阶段当然是需要与项目同行,在项目中学习和成长,这一方面主要是将上述学习到的知识整合应用以及更深入的学习(如电路 EMC 设计、嵌入式编程中 RTOS、高速布局布线等)。
然后开始从系统整体设计到电路设计、原理图绘制、PCB 布局布线、打板,再编写根据功能需求编写程序。可以参考下列项目:
智能窗户控制系统门禁系统(刷卡或者输入密码)CAN 总线数据监听器(需带 CAN 模块的微控制器以及上位机编程知识)感应灯(可感应人体、姿势等,自动开关灯光和调节亮度等)智能家居中控系统(使用 ESP32)当然如果点亮了 FPGA 的知识树,这个阶段也可以着手练习一些项目:
电子信息工程的学习不是一朝一夕就可以的,需要不断进行理论学习、动手实践、经验积累。
自学之路从来都不是孤单的。欢迎在评论区留言:
你正处于文中的哪个阶段?遇到了什么具体问题?在你的学习过程中,哪本书或哪个项目让你感觉进步最大?关于电子信息工程,你还想了解哪些方面的内容?来源:天哥教育