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

硬件知识入门「建议收藏」各位有哪些方面想要了解的,我懂得就都解释给大家,要不我自己也想不到更新哪些方面

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

目录

一、芯片及开发板类

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


有空继续更新……

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm更改运行的快捷键_pycharm常用快捷键

    pycharm更改运行的快捷键_pycharm常用快捷键直接remove就可以了

  • 加壳工具简单使用

    加壳工具简单使用时间20210107,环境winxp介绍一些加壳工具和和它们的简单使用,为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。1. #include<stdio.h>2. intmain()3. {4. inti=5;5. scanf(“%d”,&i);6. while(i–)7. {8. printf(“HelloWorld%d\n”,i);9. }

  • 深入理解 HashMap

    深入理解 HashMap什么是HashMap?​ HashMap是基于哈希表的Map接口是实现的。此实现提供所有可选操作,并允许使用null做为值(key)和键(value)。HashMap不保证映射的顺序,特别是它不保证该顺序恒久不变。此实现假定哈希函数将元素适当的分布在各个桶之间,可作为基本操作(get和put)提供稳定的性能。在jdk1.7中的HashMap是基于数组+链表实现的,在jdk1….

  • 顺序OleDbCommand命名参数,你了解不?

    顺序OleDbCommand命名参数,你了解不?   接触到一个老的项目,里面大量使用OleDbConnection进行数据库操作,在执行SQL块语句时,对它的顺序参数、命名参数很不了解。据说不能使用命名参数,但我这里试验了一下,好像是可以的,只是对参数的顺序还是有要求。看看你能知道下面的输出结果吗?   测试环境:OleDbConnection+Oracle10G   using System;using System.Data…

  • numpy的astype函数

    numpy的astype函数astype函数用于array中数值类型转换

  • sql中的嵌套查询_sql的多表数据嵌套查询

    sql中的嵌套查询_sql的多表数据嵌套查询今天纠结了好长时间,才解决的一个问题,问题原因是求得多条数据中, 时间和日期是最大的一条数据先前是以为只要msx函数就可以解决的,Select* fromtableNamewheredate=(selectmax(date)fromTableName) andtime=(selectmax(time)fromTableName)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号