文章目录
前言
第一章提纲挈领,介绍单片机与其他CPU的区别,以及单片机研究的一般步骤一、基础概念
参考书籍《PIC单片机使用教程——基础篇》作者李学海
link
1.1 单片机是什么
单片机就是微控制器即MCU。从结构上看,单片机内部结构包含cpu(用于运算和控制),存储器,以及IO、定时器等外设。
有人会问单片机和电脑芯片有什么区别?
答案是:两者结构和功能相似,区别是单片机往往用于嵌入式系统,电脑芯片是用于通用计算机系统。
通用计算机体系,其实是基于intel和AMD芯片构建的计算机体系。这类芯片支持CISC指令集,常运行操作系统(Windows)。它的通用性体现于计算机的普及,以及一个通用的计算机模型(主板+键盘+鼠标+显示器等等)。由于存在磁盘(硬盘),通用芯片(intel和AMD)往往不需要把程序下载到芯片里,而只需要存在磁盘上。通用计算机体系,更多的用于开发应用(软件)。
嵌入式计算机体系,说白了,单片机资源更少,但能满足嵌入式系统的实时性,耐用性,并且价格低。单片机固化上不同的程序,单片机就拥有对应功能,烧写完程序的单片机也称为固件。另一方面,嵌入式芯片更加专用于某一类电子系统(如冰箱,汽车等等)。这一类系统往往没有操作系统,或者操作系统简单,人们只需要按键或者简单的界面就能操作。嵌入式芯片往往属于中低端芯片,更多地是开发底层驱动程序。也因此开发一个嵌入式芯片成本可控,可按需求添加总线和通信模块。
PS:随着ARM芯片的不断壮大,像高通和华为麒麟运行安卓系统已经和电脑差距缩小,但更便捷。
最后聊一下软件和硬件的区别:说白了软件就是程序,程序就要有对应的语言及其编译器。而编译器翻译而成的指令,必须能让CPU识别(必须能翻译成CPU支持的指令集)才能执行。所以一定程度上,程序就是应用芯片所具备的硬件资源,来实现逻辑功能。有一些芯片具备有一定功能的硬件单元,比如加法器(也算是实现了算法的硬件化)。所以说,设计芯片实际上等于设计一套工具/资源,然后提供给用户去使用资源(写程序)。
1.2 单片机工作原理是什么
单片机工作原理,一方面指的是单片机编程。编程时,核心是调用内核,其次是控制各个外设。
内核包括CPU,数据存储器和程序存储器,及其相关内容。内核相关的主要内容就是CPU的指令集(单片机内核能实现哪些操作),以及如何实现RAM(数据存储器)的直接访问和间接访问,如何实现ROM/flash(程序存储器)的直接跳转和间接跳转。
现在大多数单片机都有自己的C语言编译器。但是学习单片机的汇编编程,能更好地了解CPU是如何控制指令执行的顺序,以及译码执行的。通过软件仿真器和硬件仿真器,看见程序运行时每一步产生的变化。
另一方面,单片机能实现通信,这又涉及通信协议的内容。
1.3 体系结构和总线结构
体系结构指的是程序存储器和数据存储器的编制方式。典型的体系结构有两种,如下:
- 普林斯顿体系结构,也就是冯诺依曼体系结构
普林斯顿体系结构中,程序存储器和数据存储器是统一编址,两者在一个逻辑空间。 - 哈佛体系结构
哈佛体系结构是将程序存储器和数据存储器分开编址。
总线结构指的是数据总线和指令总线的使用方式
PIC单片机采用的哈佛总线结构是将数据总线和指令总线分开。这样可以实现“流水作业”,即一个指令执行的同时下一个指令开始取值。
1.4 8位单片机的8位指什么
CPU处理的数据的宽度,参与运算的寄存器的数据长度可能不同。平常我们说的8位单片机,8位指的是CPU一次能处理8位二进制数。
具体称多少位单片机,参考以下链接:http://www.elecfans.com/d/585218.html
1.5 TTL集成电路和COMS集成电路
TTL集成电路使用(transistor)晶体管来构成逻辑门电路。功耗较大,驱动能力强,一般工作电压+5V。
CMOS集成电路使用MOS管来构成逻辑门电路,其功耗小,工作电压范围很大
参考链接:link.
二、单片机开发流程
2.1 前期准备
单片机选项,元件选型,设计原理图草图。此时,可以购买市面上同型号的单片机开发板进行软硬件测试。
2.2 参数设计
计算各元件参数,各芯片时序配合。考虑单片机的资源分配,设计软件框架,通信协议
2.3 PCB设计与制作
采用Altium Designer或Cadence进行原理图和PCB设计,然后找加工厂如华秋网,进行生产,实际生产花费不高。
2.4 软件设计与优化
画程序流程图。代码写进行单模块测试,然后再组合到一起。这样有利于充分暴露问题,减少调试压力。
2.5 整理数据和编写文档
记录设计上的失误,调试时遇到的问题,以及分析过程,改进方法等等。具体的比如原理图中元件的参数,PCB封装模型,以及软件程序的调整等。