硬件知识入门「建议收藏」

2022-09-15 18:09:07 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

目录

一、芯片及开发板类

1. 单片机

2. 最小系统(板)

3. 开发板

4. 嵌入式系统

二、功能

1. GPIO

2. ADC&DAC

3. UART

4. 通信协议(IIC SPI USART CAN USB 232 485 ????….)

5. 单工 半双工 全双工

阻抗匹配

X、常见名词


在此之前,还是要再说几句:

我最开始写的这个东西是给几位咨询我问题的小白入门的,很多细节都不够准确,比如我说51单片机很大很笨拙是不对的,它也有SOP8的贴片版本,封装可以做的很小,这么说的目的是便于理解,快速了解相关知识。在自己学习过程中不断发现有出入的地方,就是自己积累的地方,不用跟我强调我哪里哪里不够准确,这恰好说明你已经理解了我讲的这部分内容,就够了。当然,如果讲的驴唇不对马嘴,那欢迎指出,我会加以改正,感谢各位看官!

催更可以邮件找我: zbn0238@163.com


首先讲讲硬件,我尽量说的通俗点~

一、芯片及开发板类

1. 单片机

单片机就是芯片,目前可以看作CPU。

过去CPU不是只一个,是好几片在板子上的,所以是多片机?(~ ̄▽ ̄)~后来技术提高了,把核心处理器、多级缓存、内存什么的都做到一个芯片里,一片就是单片,相对于多片,所以叫单片机,这个叫法一直流传下来,没有改变。

2. 最小系统(板)

单片机是核心,必须有,然后要工作得有电啊,给他接上手册上给出的适配电压,这就有了供电电路;

芯片要写代码进去,程序代码要一句一句执行啊,按时间先后来,人类生活需要时间做参考,芯片也需要时间做基准,所以也得有时钟电路,提供时间基准。

这样,有了最简单的供电和时钟震荡电路,能让单片机正常工作了,就构成了单片机最小系统,其他什么外设都没有。

3. 开发板

就是在最小系统之上,从引脚连接一些LED啊,喇叭呀,开关什么的给你直接用就可以了。这些芯片之外的硬件(LED、陀螺仪、网络模块等)都叫外设((芯片)部的备)。

NUCLEO-STM32F411RE开发板 ​​​​​​

4. 嵌入式系统

四旋翼(左) 小车(右)

这是曾经的照片了。。。

这是现在的样子……

我们专业课入门学过的51单片机,是最基础的入门单片机,它块头大,用来控制的设备普遍也比较大,但有些手持设备或者要求体积要小的、便携的,就不能用这么一大块黑乎乎的芯片了,于是就有了嵌入式。

51系列单片机最小系统

把功能强大的芯片,做的非常小,贴片封装,然后结合外设电路,变成功能强大的PCB开发板/电路板,这就是嵌入式硬件。

经典,永不过时

配合上芯片里写的程序和操作系统,就组成了一个完整的嵌入式系统。

32又小又强大,51又大又笨拙。

二、功能

1. GPIO

GPIO(General Purpose Input/Output),通用输入输出端口,如A1、A2、B1、C1这些脚,都可以叫GPIO,不要被一大串的字母吓到,它就是个I/O口。

硬件工程师必看:GPIO用法大汇总 – 知乎

这个链接讲的就很基础,请参考。

2. ADC&DAC

ADC(Analog-to-digital converter),模拟-数字转换器。

这个东西听起来就显得高大上很多,但其实理解它也很简单。

模拟-数字信号对照

随便画了个图,我看网上的图都太复杂,不好理解。

上面标着A的图,是模拟信号;下面这个D是数字信号。

单片机引脚输出数据或者输入什么东西都可以叫做信号。

模拟信号不是理解成假如的、模拟来的,生活中实际的信号在电子专业里面就叫模拟信号,模拟信号我们就可以理解成实际信号。

生活中比如声音,电波,就像上面这个图A一样,断断续续的,时有时无的,时大时小的,不规律的实际的信号,就是模拟信号。

而数字信号就是二进制信号,只有0和1,如图D。

这两个图怎么对应起来看呢?

假设我认取一个参考值,在上面A图中标出来一条浅色的线,在这条线以上的信号,我就认定他比我这个参考值大,那就是有,有就把它当做1,而比这个参考值小的,就都不要了,就是0。然后就画出了底下这个数字信号的图。

模数转换器就是参考着这种形式把模拟的信号转换成了数字的信号,把上面那乱七八糟的信号变成了或0或1的信号。

单片机引脚不能输出时高时低的不同值的信号,只能输出0或1,接个LED,GPIO输出1灯就亮,0就灭,就这么简单。这也就是AD(模数转换)的意义——为了能让单片机GPIO输出信号。

与ADC相对应的是DAC,Digital-to-Analog Converter,它是ADC模数转换的逆向过程数模转换。就不用我多解释了。

3. UART

UART(Universal Asynchronous Receiver/Transmitter) 通用异步收发器。

是异步串行通信。

串行通信是指利用一条信号线将数据一位位地顺序传送。

异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的。

拿排队举例子,

串行就是所有人站成一竖排,一个一个按顺序走;并行就是站成一横排,所有人同时走。

异步就是两列一样数量的人,你过来一个,我就过去一个,保证两边人一样多就行,不一定非要一起走;而同步,就是必须一起走,你走我也走,而且什么都得一样,要不就乱了。

数据传送速率用波特率来表示,即每秒钟传送的二进制的位数。

例如数据传送速率为120字符/秒,而假定每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。

4. 通信协议(IIC SPI USART CAN USB 232 485 ????….)

呃,好多种是不是,其实我也不都会……不过了解他们都是用于设备和设备之间通信用的就行。

芯片中各部分通信,都已经在一块芯片里了,内部直接各种走线连到一起了,但是芯片以外就不一样了,各种不同的设备都要和我这块主板相连,不同设备所处的位置又不尽相同。

有些位置很远,要走很长的线,要考虑抗干扰,高低电平的问题,线损的问题;

有的位置很刁钻,不方便走线甚至就没法走线,比如城市智能路灯,全都走线?那地下成了啥?就得用无线的通信方式;

有的设备给出的引脚很少,人家要做小体积,或者防水,就要用尽量少的引脚连接;

有的又要求抗干扰能力特别强,军工级的,那不仅通讯方式有要求,连线和接头都有严格限制,比如飞机上的航空插头;

瞧瞧人家这做工,多粗糙。。。但抗造啊​​​​​

5. 单工 半双工 全双工

收音机 对讲机 手机

不多比比

  • 阻抗匹配

X、常见名词

看门狗

定时器

中断

查询

轮询

IIC

SPI


有空继续更新……

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163090.html原文链接:https://javaforall.cn

0 人点赞