一、芯片与开发板类别
1.单片机
单片机就是芯片,可以看成是CPU,“单”是相对与“多”而言,以前的CPU是好几片在一块板子上,叫做单片机,现在技术好了,把一些处理器,缓冲器,内存等都做到一个芯片里,一片即单片,所以叫做单片机。
2.最小系统板
其核心是内部的单片机,
系统工作需要通电,所以必须有供电电路
把代码写入芯片,程序代码执行是逐句执行的,所以有时间顺序,故而芯片得有时间做基准,所以系统板需要有时钟电路,为芯片提供时间基准
3.开发板
在最小系统板的基础上,引入一些外部硬件设备(LED,蜂鸣器等),通过引脚连接即可使用,这个时候板子就叫成了开发板,是人为开发引入外设(芯片的外部设备)的。
4.嵌入式系统
嵌入式硬件:把功能强大的芯片,做的非常小,贴片封装,结合外设电路,变成功能强大的PCB开发板/电路板
嵌入式系统:把嵌入式硬件配上芯片里写的操作系统,就组成了一个完整的嵌入式系统(51,STM32等),通常被集成到其它产品中,不像常用计算机那种作为独立设备存在。
二、名词解释
GPIO
General Purpose Input/Output,通用输入输出端口,参考:硬件工程师必看:GPIO用法大汇总 - 知乎
ADC、DAC
模拟-数字转换器,数字-模拟转换器,(信号的转变)
单片机引脚输出数据或者输入什么东西都可以叫做信号。
模拟信号我们就可以理解成实际信号。生活中比如声音,电波(心率波图),断断续续的,时有时无的,时大时小的,很不规律的实际的信号,就是模拟信号。
数字信号就是二进制信号,只有0和1
如何转换:
参考:
假设取一个参考值,在模拟图在画一条直线表示,在直线以上的信号,认定比参考值大,那就是有,有就把它当做1,而比参考值小的,就都不要了,就是0。然后就画出了底下这个数字信号的图。
模数转换器就是参考着这种形式把模拟的信号转换成了数字的信号,把上面那乱七八糟的信号变成了或0或1的信号。
单片机引脚不能输出时高时低的不同值的信号,只能输出0或1,接个LED,GPIO输出1灯就亮,0就灭,就这么简单。这也就是AD(模数转换)的意义——为了能让单片机GPIO输出信号。
与ADC相对应的是DAC,Digital-to-Analog Converter,它是ADC模数转换的逆向过程数模转换。
UART
Universal Asynchronous Receiver/Transmitter 通用异步收发器
异步串行通信:
串行通信指利用一条信号线将数据一位位按顺序传送。(排队买东西结账,一个一个来)
并行通信利用多条数据线同时按顺序传送多位数据。(军训踢正步,一排一排往前走)
异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少不固定
同步通信数据的传输按照固定的时间间隔进行
数据传送速率用波特率来表示,即每秒钟传送的二进制的位数。
例如数据传送速率为120字符/秒,而假定每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。
单工、半双工,双工
单工、半双工和全双工是指在通信中数据传输的三种不同工作模式。
区别在于数据的传输方向和能否同时进行数据发送和接收。
单工:
单工通信模式只允许数据在一个方向上进行传输,即数据只能从发送方传输到接收方,而接收方无法发送数据回发送方。(一个方向)(广播,收音机)
半双工:
半双工通信模式允许数据在两个方向上传输,但不同时间只能在一个方向上传输数据,即同一时刻只能发送或接收数据。(两个方向,不同时间)(对讲机)
双工:
全双工通信模式允许数据在两个方向上同时传输,即可以同时发送和接收数据,不需要等待。(两个方向,同同时间)(电话通信,双方可以同时说话和倾听,无需等待)
通信协议(IIC SPI UART CAN USB RS232 RS485…)
用于不同组件、模块或设备之间进行通信和数据交换的规则和约定。(中国人和美国人打交道,必须使用同一语言,中文或英文,这里的语言就可以认为是一种通信协议)
芯片中各部分通信,都已经在一块芯片里了,内部直接各种走线连到一起了,但是芯片以外就不一样了,各种不同的设备都要和我这块主板相连,不同设备所处的位置又不尽相同。
I2C(Inter-Integrated Circuit): I2C是一种用于连接微控制器和外围设备的串行通信协议。它使用两根线(时钟线和数据线)来实现设备之间的通信。
SPI(Serial Peripheral Interface): SPI也是一种用于设备之间通信的串行协议,它支持多主设备的通信,适用于需要高速数据传输的应用。
UART(Universal Asynchronous Receiver-Transmitter): UART是一种异步通信协议,用于串口通信。它在许多嵌入式系统中用于与外部设备进行简单的串行通信,如连接传感器、模块等。
CAN(Controller Area Network): CAN协议主要用于汽车和工业领域中的通信。它支持多节点通信,适用于需要高可靠性和实时性的应用。
Ethernet: 以太网协议在嵌入式系统中用于连接设备到局域网或互联网。它在需要高速数据传输和远程控制的应用中很常见。
RS232和RS485是两种常用的串行通信标准:
RS232:
-
单点通信: RS232适用于单点通信,即一个发送方和一个接收方之间的通信。通信是点对点的,不能同时连接多个设备。
-
距离限制: RS232的传输距离相对较短,一般在15米左右。信号传输的距离受到线路阻抗、噪声等因素的影响。
-
信号电平: RS232使用正负电平表示数据位,负电平表示逻辑1,正电平表示逻辑0。
-
通信速率: RS232支持多种通信速率,通常可以达到较高的速率,如115200 bps。
-
线路: RS232需要使用至少3根线(TX、RX、GND)进行数据传输。
RS485:
-
多点通信: RS485适用于多点通信,即多个设备之间可以共享同一条数据总线。它支持最多32个发送方和32个接收方。
-
距离扩展: RS485的传输距离相对较远,可以达到1200米以上。可以通过信号放大器等手段进一步扩展距离。
-
信号电平: RS485使用差分电平表示数据位,正负电平之间的电压差表示逻辑1或逻辑0。这种方式可以提高抗干扰能力。
-
通信速率: RS485同样支持多种通信速率,通常可以达到较高的速率。
-
线路: RS485通常需要使用两根线(A、B)进行数据传输,同时还需要一个共地线(GND)来连接设备。
- RS232适用于点对点通信,通信距离较短。
- RS485适用于多点通信,通信距离较远,具有更强的抗干扰能力。
- RS485支持多个设备共享同一条总线,有助于构建复杂的通信网络。