关于嵌入式,你到了什么段位了?
b站有位海事大学的吴老师的视频很有意思,听了之后找时间手打字幕整理了下更清晰。附带一些名词的解释。
单片机:
- 最小F51 3X3mm,用在光模块里。
- Arduino Micro板子 便宜
- 低功耗,静态待机 电流控制在10nA以下
- 开发有一个集成开发环境即可,并且有大量的例程和资源可调用。
- 接口I2C、SPI接一些传感器,屏幕。
- AD读一些模拟量,电位器(电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。)旋钮。PWM信号输出控制电机,舵机的转动。
- 没有USB OTG(OTG技术允许在没有主机(Host)的情况下,实现设备间的数据传送。例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来;也可以将数码照相机中的数据,通过OTG发送到USB接口的移动硬盘上,野外操作就没有必要携带价格昂贵的存储卡,或者背一个便携电脑。).网口.MIPI(MIPI(Mobile Industry Processor Interface)是2003年由ARM, Nokia, ST ,TI等公司成立的一个联盟,目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。MIPI联盟下面有不同的WorkGroup,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI、射频接口DigRF、麦克风/喇叭接口SLIMbus等。).SATA(SATA接口是新型计算机硬盘接口)等告诉信号接口
(5条消息) 冯诺依曼与哈佛结构的区别_zhangwenchaochao的博客-CSDN博客_冯诺依曼和哈佛结构的区别 冯.诺依曼结构中,将程序和数据一样看待,将程序编码为数据,然后与数据一同存放在存储器中,这样计算机就可以调用存储器中的程序来处理数据了。意味着,无论什么程序,最终都是会转换为数据的形式存储在存储器中,要执行相应的程序只需要从存储器中依次取出指令、执行,冯.诺依曼结构的灵魂所在正是这里:减少了硬件的连接,这种设计思想导致了硬件和软件的分离,即硬件设计和程序设计可以分开执行!!!这就催生了程序员这个职业的诞生!!!
DSP:
- 适用于实时信号处理,视频直播类。ARM9,TI的DSP集成Cortex-M4内核。
- digital signal
processor,数字滤波器(两个采样点间对缓存的数据进行一次卷积,移位乘加运算),硬件卷积运算(累加器,硬件乘法器,桶形移位寄存器) - 适合处理单路串行数字信号(可用AD转换成)
ARM:
- 能装OS,支持以太网.USB.MIPI.SATA接口,只要os支持,这些接口都需要协议栈(协议栈,英语名称为Protocol stack,又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程,由上层协议到底层协议,再由底层协议到上层协议。协议栈主要分为以下几种:
OSI协议栈:OSI协议栈是由国际标准化组织为提倡世界范围的互操作性而定义的。它通常被用于其它协议栈进行比较的标准。 TCP/IP协议组:传输控制协议/因特网协议(TCP/IP)是最早的网络协议栈之一。协议是个标准,是约定;协议栈是协议的实现,可以理解为代码、函数库、供上层应用调用。商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理还有系统里的设备之间的通信顺序什么的。所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。) - ARM可以实现手机CPU,单片机stm32,esp32,视频解决方案(运动相机,行车记录仪,水滴摄像头里的中央处理器(ARM核还有一堆硬件处理电路,视频输入电路,传感器控制电路降噪电路,颜色合成电路,到视频压缩电路,出来mpeg4的一个视频流h.264的流或者h.265的流,之后还有有以上这些接口比如以太网 usb接口,以太网接口可以直接推流推到网上去,usb接口可以把他存储到u盘里,TF卡接口把这些东西保存到本地))。
- ARM开发绝大多数没有集成的IDE的开发环境。
海思Hi3519的视频解决方案的开发:开发这个处理器首先要装虚拟机,在虚拟机上装一个Linux操作系统,在Linux操作系统上配置开发工具链,把开发板通过网口和虚拟机连在一起。开启nfs服务,拥有一块共享的空间,之后在windows下使用source insight或vs code 这样的代码编辑软件来编辑代码。编辑完之后,返回虚拟机的状态下之后编译代码,生成可执行文件放到nfs的共享区里,之后再用开发板敲命令运行可执行程序,看运行是否正确。
FPGA:
- Zync7000
- 现场可编程门阵列,集成元件库,一堆离散的硬件的元器件把他们集成的按照一定规律的放到一个硅片上。
- 导线wire 寄存器reg 乘法器(普通三五百块钱的可以集成七八十个,七八千可以七八百个),时钟管理器(PLL DCM
MMCM)倍频降频,存储器(分布式ram和块ram,组合形成普通RAM,双口RAM或FIFO存储器),存储控制器(连接片外DDR2.3.4),可直接访问他,可以把他做成ram,fifo。高速信号的串行器,把并行信号串行成10g甚至10几g这样的告诉的串行信号,就可以实现PCIe了。(光纤,PCIe,SATA),CPU(软核,Microblaze(TM)把上面的集合到一起;赛灵斯公司的7系列之前有个集成的是x86硬核,是IBM power PC架构的;7系列之后ARM硬核 Zync);AD转换器 - 开发方法HDL,硬件描述语言。一步把HDL转成原理图,二步把原理图变成电路图,形成bit文件,下载到芯片,即可使用。
应用:逻辑开发,产生时序(相机开发)。DSP开发,雷达。嵌入式开发,ARM+处理器。挖矿。 - 迭代时间长,需要外挂flash存程序,上电从flash load进去电路图,配置一遍才能进行工作。需要估算电流进行电源设计。
- One chip to rule them all
- 流片:制造芯片
学习推荐韦东山老师的视频,linux-》Android-》鸿蒙os
|