当前位置: 首页 > news >正文

Arduino硬件原理3:核心单片机

Arduino硬件原理3:核心单片机

欢迎大家

大家好,我是费老师
做过STEAM教育,嵌入式硬件开发方案交付经理,
是一位爱分享的十年老创客。

目前正在全职减肥调养身体,抽空分享自己正在学习的以及喜欢的技术

这节课,咱们继续《Arduino硬件原理》,

这节课的核心目标是:

  1. 分析学习328P单片机的最小系统,了解其各部分工作原理;
  2. 在英文单片机文档中,找到硬件相关的内容,并能消化吸收关键点。

高清原理图

通过网盘分享的文件:Arduino UNO R3原理图-2-核心单片机.pdf
链接: https://pan.baidu.com/s/1fTFFHTsp8281xYOvIb9pMw?pwd=753d

哪个是核心单片机?

第一节课的时候,咱们一起从宏观整体观察过UNO的原理图,回顾一下,哪部分是核心单片机呢?
image (46).png

MEGA328P这个单片机,

虽然左边的MEGA16U2单片机,看上去更大,而且有更丰富的外围电路,但它常规的作用,只是一个USB转UART接口,属于调试模块

单片机是什么?能做什么?怎么开展学习?

概念应该不用多说,单片机是Arduino UNO中最核心的器件,

可以简单粗暴地理解成“单芯片计算机”(包含了计算机概念上的各部分:CPU,内存,硬盘,输入输出设备,等)

能做的事可太多了:

  1. 小到时钟,手表,门铃,玩具;
  2. 大到汽车,机器人,飞机人造卫星;
  3. 可以说,但凡是需要某个装置:
    1. 自己产生动作(声、光、动作等),
    2. 或者需要它能感知世界(听、看、触等),

都是需要单片机,作为“控制器”存在的。

开展​学习的路径​:

  1. 讲单片机的优秀老师太多太多了,我入门时候听的看的老师有:郭天祥老师,杜洋老师,小宋老师等,他们的课程作为培养优秀嵌入式工程师来说,是非常体系化非常优秀的;
  2. 我希望我的课程能达到的效果,或者学习路径,不是以培养工程师为目标。而是希望能面向青少年同学或者年轻创客,以我的分享,达到“以学促学”的目的,咱们不追求把单片机吃得多么透彻,而是应用明白,能做东西
  3. 也许单片机或Arduino,只是你的学习历程中的一个小阶段,这个阶段能带来的是,我们可以自己动手实现想法创意的成就感,以及一种​结构化梳理知识的经历和能力​。
  4. 我推荐的学习路径:Arduino(硬件及软件)→小项目→物联网→小项目→··· ···
  5. 至于单片机本身或者各种编程语言,这些都是工具,碰见相应的需求,就学习一下。

从最小系统开始

单片机最小系统模块:围绕核心的单片机,能让单片机运行起来的最小组成部分,也是接触一个新单片机最基本的学习任务

  1. 单片机本身:UNO里最核心的器件,可以简单粗暴地理解成“单芯片计算机”(包含了计算机概念上的各部分:CPU,内存,硬盘,输入输出设备,等);
  2. 时钟电路:有的单片机内置,有的需要单独做,作用都是给单片机提供了一个稳定准确可靠的“心跳”;
  3. 复位电路:开机的时候让单片机回到初始状态,或者运行过程中让程序重新开始。

寻找资料:

  1. 通过立创商城寻找:https://item.szlcsc.com/34869.html
  2. 通过单片机的品牌官网寻找:https://www.microchip.com/en-us/product/ATmega328P

有非常多的芯片公司设计和生产单片机:
国产的:国芯/宏晶/STC,沁恒/WCH,兆易创新/GD,乐鑫/ESP,等等;
国外的:意法半导体/ST,英飞凌/Infineon,微芯/Microchip,德州仪器/TI,等等。

建议在未来的选型中,优先选择国产单片机:
《Arduino硬件原理》系列课程,选择的学习方向,是从Arduino入门,它的资料齐全,生态成熟,适合入门,但毕竟是国外芯,别说是用于生产,就是自己玩,也存在被迫接受涨价的风险;
分享我经历过的卡脖子问题,我之前就职的企业,虽然不大,但是有自主设计和生产的产品,21年,美帝突然对我国实行严格的芯片管控,我们正在研发的和生产的产品都受到很大影响,当时使用的是ST单片机,备选GD单片机,即便是有国产备选方案,作为一家规模不大的小公司,仍然被卡脖子了,芯片价格一度上涨了将近10倍。
回过头来看,国产单片机,无论是服务还是技术水平,已经与国外老牌相当,甚至有所超越,但是价格却能低很多,为什么不选择国产单片机呢?
image (47).png

【需要注意:两个地方的资料都需要看看,不需要有压力,因为我们目前重点看的只有硬件相关的资料】

数据手册中大量篇幅是关于AVR单片机的软件操作,而我们的软件,并非直接操作AVR单片机,是在Arduino中编写程序,二者的难度还是有很大差距的

AVR是Atmel公司(现属Microchip)研发的8位RISC架构单片机系列,是一种应用很广泛的单片机类型,市面上还有很多各种类型的单片机:
8051,历史悠久,老牌类型,但是入门简单,费老师入门的时候就是从STC系列的51单片机开始的;
PIC,Microchip旗下的代表,突出特点是抗干扰特性;
ARM,与手机芯片中常说的ARM架构是一码事,可以说应用最广泛,即有低功耗低成本的,也有高性能的;
RISC-V,开源指令集,新兴的架构,被视作唯一能与ARM抗衡的架构(因为美帝总想搞单边霸权主义,即便是老牌开源如Linux,也已经不是真正的开源精神开创者了);
另外还有很多专有架构的单片机类型,有机会再分享。

通过网盘分享的文件:微芯官网 ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf等2个文件
链接: https://pan.baidu.com/s/19ibfQsfqJ_r21-DnDohARQ?pwd=zg8y

  1. 在手册中寻找关键内容,三部分,它们通常都是手册的开篇部分
    1. 描述:快速获取单片机的特性和关键参数
    2. 引脚图:单片机的封装以及引脚排布等关键硬件信息
    3. 引脚说明:每个引脚的定义和作用,以及应该给什么样的外围电路

为什么要看两个手册,只看其中一个可以吗?
可以,但有时候,我们需要多方验证资料的可靠性,对于MEGA328P这种推广良好的产品,手册出问题的概率很低。但是有一些传感器或者特殊器件,不一定有这个条件,可能早期发布的说明书版本,存在一些问题,后续版本虽然有修订,但不一定能做到所有渠道都即时更新了,所以多找几个渠道看看说明书,是一个能减少弯路的好习惯。毕竟这是在做硬件,万一有错误,硬件的成本是无法避免被浪费的。

  1. 扔给AI,帮我们翻译总结
    image (48).png

    1. 工作电压:1.8V - 5.5V​
    2. 封装:PDIP28,双列直插封装,UNO上使用的就是
      image (49).png
    3. VCC:数字电源正极。必须就近连接0.1μF的去耦电容到GND,以滤除电源噪声
    4. GND:电源地。所有GND引脚应最终连接到电源地
    5. RESET:这个引脚上有个横线,表示是低电平有效,持续一定时间会触发单片机复位。通常外接一个10kΩ的上拉电阻到VCC,防止意外复位。可以连接一个按钮到GND用于手动复位。
    6. AVCC:ADC的模拟电源引脚。​即使不使用ADC,也必须连接到VCC。为获得最佳ADC性能,建议通过一个LC或RC低通滤波器连接到VCC,以分离数字噪声
    7. AREF:ADC的外部参考电压输入引脚。如果使用内部参考电压,此引脚可接一个去耦电容(如0.1μF)到GND。如果使用更精确的外部基准电压源,则将其连接至此引脚
    8. XTAL1/XTAL2​:连接外部晶振,是时钟电路的重要组成部分
    9. PD0(RXD), PD1(TXD):构成USART(串口),R是接收,T是发送
    10. SPI接口:可用于烧录Arduino的引导固件(BootLoader)

把最小系统画出来

为了方便按各个模块进行分析和学习,我将UNO的原理图在嘉立创EDA上抄了一遍。
通过网盘分享的文件:Arduino UNO R3原理图-2-核心单片机.pdf
链接: https://pan.baidu.com/s/1fTFFHTsp8281xYOvIb9pMw?pwd=753d

Arduino中的各个接口,如D0、D1、A0、A1等等,其实就是将单片机上的各个接口进行了重新的排列

  1. 通用输入输出​:单片机的基本工作原理,就是读取或控制引脚的高低电平(0或1)
  2. ADC​:将模拟量转变成数字量,比如在5V单片机系统中,要读取一个电压,它不是0V,也不是5V,而是在这之间平顺变化的电压,此时它是3V,那么我们可以用0-255(2^8)来表示0-5V,此时的3V,在ADC的读取下,就变成了数字量154
  3. PWM​:【回忆开关电源的概念】引脚既然可以读取一个既不是0也不是1的模拟量,那引脚是不是也可以输出一个既不是0也不是1的“模拟量”呢?保持开关一次的总时间不变,通过控制“开关”的时间比例,来实现接水速度的变化,这就是PWM实现的引脚输出不同的电压或电流
  4. 特殊功能​:
    1. 各种硬件通讯接口,如I²C,SPI,UART
    2. ADC的外部参考电压引脚AREF
    3. 中断:生活中的例子,我正在洗衣服,突然手机响了,我要放下正在洗的衣服,接电话,聊完之后,我又回来继续洗衣服,这个“手机响了”就是触发了我的中断机制,处理完中断任务后,我又回到主任务继续干
    4. 定时器:字面意思,碰见了详细讲

【挨个部分讲解,配合元器件的内容讲解】

最小系统用到的元器件

上节课我们开始学习了元器件,其实这是两个名词:

  1. 元件​:基础元件就五类(电阻、电感、电容、二极管、开关管)
  2. 器件​:器件就非常多了,只要不是基础元件的都可以称为器件(连接件,芯片)
电感

电感的种类非常多(贴片,插针,功率,变压器,互感器,磁珠 等),我们还是遇见一个学习一个
学名:贴片电感,0805 10uH 15mA 10%

关键参数
电感值:10uH

H,亨,亨利

精度:±10%

额定电流:15mA

这是关键参数,决定了这个电感能通过的电流大小

封装:0805

图片
image (50).png

资料:https://item.szlcsc.com/1419747.html

拓展

  1. 最简单的电感,就是一根导线,绕成一个弹簧,所以它的电气符号就是类似弹簧的样子(注意区别电阻的电气符号,弹簧是柔软有弹性的)
  2. 电感也是我们中学屋里就接触过的基础元件,他的作用是 抗拒电流的变化,隔交通直
  3. 可以把电感想象成一个弹簧
    1. 通电瞬间/交流电:在压缩弹簧,要往上放重物,这是费力的
    2. 电流不变:弹簧已经被重物压上了,不需要再费我的力气了
    3. 断电瞬间/交流电:要释放弹簧,要往下卸重物,又要费力气了
  4. 这种特性,非常适合配合滤波电容,做进一步的滤波,让电流更加平直纯净
  5. 电容是让电压平直,靠的是电荷电场储能
  6. 电感是让电流平稳,靠的是磁场储能
晶振

学名:CSTCE16M0V53-R0,16MHz ±0.5% 内置负载电容:15pF

关键参数
频率:16MHz

Hz,赫兹
描述的是规律变化的速度,比如一秒钟内开关灯1次,这就是1Hz

内置负载电容:15pF

无源晶振,有的集成化做得好,直接集成了负载电容,可以节省电路

图片
image (51).png

资料:https://item.szlcsc.com/33143.html

拓展

  1. 晶振是各种电子设备的心脏,作用是提供一个稳定精确的节奏,让设备可以按节奏工作
  2. 它的内部核心是石英晶体,原理是压电效应,给晶体加电会震动,震动有会影响电,而震动的频率与石英晶体的大小尺寸有关
  3. 所以电子表又叫石英表,内部有晶振为核心的电路
  4. 通常需要晶振的芯片(单片机及各种有计算功能的芯片),有两个专门接晶振的引脚XTAL1和XTAL2
  5. 晶振通常还须要配两个负载电容,共同形成谐振回路(目前我们还不需要理解什么是谐振,可以理解成它能让震动更精确稳定),负载电容的容值通常都很小,pF级的,通常晶振的手册中会说明这个参数image (52).png
  6. 有的电路设计还会配一个反馈电阻或偏置电阻,也是谐振电路中的一部分,如果是必要的,手册里会给出参考电路的,咱们直接照抄(或者在个别不理解的电路,还有一种调试方法,就是先设计预留上这个元件,实物调试的时候,实测是否需要焊接这个器件)
按键

学名:贴片按键

关键参数
电路结构:单刀单掷

【边画边讲】
几刀几掷,是开关结构的基础,对日后学习理解继电器有用
单刀单掷是最基础,多的有四刀双掷,还有一些旋钮有单刀十掷
常开常闭触点,分别对应电路的开路(断开)和闭路(闭合)

触点电流:50mA

额定电压:12V

遇见电流电压参数,就要注意负载不能超出

封装:SMD 5P 6.2*6.2*2.5mm

注意不要与其他元器件或外壳干涉
有的微动开关,有更高的按键帽,或者可以安装按键帽,以能让用户在外壳外部就能徒手按到,有些按键需要用笔或别的东西戳,是一些不能随意触碰的按键(如路由器的重置)

图片image (53).png

资料:https://item.szlcsc.com/2790288.html

拓展

  1. 按键结构除了几刀几掷,还有自复位自锁互锁之分:
    1. 自复位:按下闭合,松开断开,如微动开关
    2. 自锁:按下闭合,再次按下断开,如汽车双闪灯
    3. 互锁:按下A闭合同时断开B,按下B闭合同时断开A,如
  2. 还有一些低成本按键实现方法:
  3. 薄膜按键:一般按下去是没有声音的,如巧克力键盘(声音来自塑料按键与外壳),电视空调遥控器
  4. 锅仔片按键:按下有声音但是很薄,如面板按键,质感硬的遥控器(射频遥控器)
    image (54).png
排针

学名:排针 2x3P

关键参数
封装:插件,P=2.54mm

有插件也有贴片的,有直针有弯针

为什么间距是2.54mm这个数字?
起源于英制单位:mil,密尔,毫英寸
1mils = 0.0254mm
10mils = 0.254mm
100mils= 2.54mm
也是PCB设计中常用的尺寸单位,通常设计PCB时要注意以下限制:
最小过孔 0.3mm = 12mils
最细线宽 0.15mm= 6mils
最小线-线间距 0.15mm= 6mils

结构:2x3P

有单排也有双排

图片image (55).png

资料:https://item.szlcsc.com/2784471.html

拓展

芯片座

学名:DIP28芯片座

关键参数
封装:DIP28

只要与目标芯片的封装一致就行

方孔

另外还有圆孔的,但一般用于比较古早的芯片,常用的还是方孔芯片座

图片image (56).png

资料:https://item.szlcsc.com/6028058.html

拓展
芯片座的最大作用,就是便于更换芯片,UNO本身定位就是调试测试快速搭建原型,这种场景下,难免会出现事故失误,造成芯片损坏,使用插针的芯片配合芯片座,可以大大提升维修效率

回看电路原理图

前面我们已经学习了电路中的各种元器件,

现在回看核心单片机模块的工作原理,是不是就清晰了很多呢
image (57).png

结尾

这节课的核心目标,我们达成了没有?

  1. 分析学习328P单片机的最小系统,了解其各部分工作原理;
  2. 在英文单片机文档中,找到硬件相关的内容,并能消化吸收关键点。

任何技艺,要想达到登峰造极的境界,唯有终身学习一条路!

这次的课程是V0.1,难免可能有错误,请大家友善指出,

我学习后,会尽快修订错误,并上线V1.0。
image (58).png

http://www.dtcms.com/a/561449.html

相关文章:

  • 学习周报二十
  • 建筑培训网站有哪些哪里有网站建设项目
  • 哪里可以捡到玉石谷歌seo零基础教程
  • 5G-NR标准的QC-LDPC码
  • Google NotebookLM重磅升级:从摘要工具到智能研究引擎的范式转移
  • C++11 面试题插入(左值引用和右值引用的区别)移动构造和移动赋值C++新标准如何解决传值返回但对象销毁问题
  • 住房城乡与建设厅网站首页智慧团建团员注册入口
  • 网站地图可以自己做么杭州网站制作 乐云践新
  • Qt5设定编译生成程序的路径和文件名
  • SpringBoot18-文件上传助手MultipartResolver
  • python学习之os,sys,time,random模块
  • 排序算法实战:从插入排序到希尔排序的实现与性能对决
  • Harmony鸿蒙开发0基础入门到精通Day10--JavaScript篇
  • VMware安装CentOS7操作系统
  • 搬瓦工做网站方法wordpress数据类型
  • 常德网站网站建设软件工程师英文
  • Win11超精简定制版本Tiny11安装教程来袭
  • 【第1章>第2节】图像“腐蚀”处理的理论分析与MATLAB仿真测试
  • 如何将BOOST库集成到VS2019中去使用呢?
  • 黑龙江做网站公司网站建设方案书网络部署方案
  • 乐清微网站建设做网络运营需要掌握什么
  • java学习--冒泡排序
  • iis7.5 网站配置简述网站建设基本步骤
  • visual studio 获取并输出 $(ProjectDir) 的所在的具体路径
  • wordpress网站搜索引擎微信公众号运营模式
  • 海洋捕食算法的详细原理,公式,应用案例MPA-BP
  • 动态规划的解题套路1-泰波那契模型
  • 高端建站咨询京津冀协同发展英文
  • 【Ubuntu】ubuntu虚拟机磁盘不够扩容后开机黑屏-解决方案
  • 网站建设 教学视频教程网站wap版影响权重么