大家好,又见面了,我是你们的朋友全栈君。
目录
4. 通信协议(IIC SPI USART CAN USB 232 485 ????….)
在此之前,还是要再说几句:
我最开始写的这个东西是给几位咨询我问题的小白入门的,很多细节都不够准确,比如我说51单片机很大很笨拙是不对的,它也有SOP8的贴片版本,封装可以做的很小,这么说的目的是便于理解,快速了解相关知识。在自己学习过程中不断发现有出入的地方,就是自己积累的地方,不用跟我强调我哪里哪里不够准确,这恰好说明你已经理解了我讲的这部分内容,就够了。当然,如果讲的驴唇不对马嘴,那欢迎指出,我会加以改正,感谢各位看官!
催更可以邮件找我: zbn0238@163.com
首先讲讲硬件,我尽量说的通俗点~
一、芯片及开发板类
1. 单片机
单片机就是芯片,目前可以看作CPU。
过去CPU不是只一个,是好几片在板子上的,所以是多片机?(~ ̄▽ ̄)~后来技术提高了,把核心处理器、多级缓存、内存什么的都做到一个芯片里,一片就是单片,相对于多片,所以叫单片机,这个叫法一直流传下来,没有改变。
2. 最小系统(板)
单片机是核心,必须有,然后要工作得有电啊,给他接上手册上给出的适配电压,这就有了供电电路;
芯片要写代码进去,程序代码要一句一句执行啊,按时间先后来,人类生活需要时间做参考,芯片也需要时间做基准,所以也得有时钟电路,提供时间基准。
这样,有了最简单的供电和时钟震荡电路,能让单片机正常工作了,就构成了单片机最小系统,其他什么外设都没有。
3. 开发板
就是在最小系统之上,从引脚连接一些LED啊,喇叭呀,开关什么的给你直接用就可以了。这些芯片之外的硬件(LED、陀螺仪、网络模块等)都叫外设((芯片)外部的设备)。
4. 嵌入式系统
这是曾经的照片了。。。
我们专业课入门学过的51单片机,是最基础的入门单片机,它块头大,用来控制的设备普遍也比较大,但有些手持设备或者要求体积要小的、便携的,就不能用这么一大块黑乎乎的芯片了,于是就有了嵌入式。
把功能强大的芯片,做的非常小,贴片封装,然后结合外设电路,变成功能强大的PCB开发板/电路板,这就是嵌入式硬件。
配合上芯片里写的程序和操作系统,就组成了一个完整的嵌入式系统。
32又小又强大,51又大又笨拙。
二、功能
1. GPIO
GPIO(General Purpose Input/Output),通用输入输出端口,如A1、A2、B1、C1这些脚,都可以叫GPIO,不要被一大串的字母吓到,它就是个I/O口。
这个链接讲的就很基础,请参考。
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
有空继续更新……
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163090.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...