单片机由CPU、存储器(ROM和RAM)、电源电路、晶体振荡器、复位电路、输入输出接口电路构成。
图1-16 博世三代/四代内部所用CPU简图
1.CPU
CPU是Central Processing Unit(中央处理器)的缩写,主要由运算器、控制器、寄存器组和片内总线等组成(图1-16、图1-17)。它的功能主要是指令控制、操作控制、时序控制、执行指令、数据加工等。以51单片机CPU为例,8位的MCS-51单片机的CPU内部有算术逻辑单元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序状态字PSW(8位)、程序计数器PC(有时也称为指令指针,即IP,16位)、地址寄存器AR(16位)、数据寄存器DR(8位)、指令寄存器IR(8位)、指令译码器ID、控制器等部件组成。
图1-17 德尔福一代和马锐利一代内部所用CPU
(1)运算器(ALU)的主要功能
1)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。
2)加、减、乘、除、加1、减1、比较等算术运算。
3)与、或、异或、求补、循环等逻辑运算。
4)位处理功能(即布尔处理器)。由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。累加器A也用于存放运算结果。
(2)程序计数器PC
PC的作用是用来存放将要执行的指令地址,共16位,可对64K ROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节读出来,然后到CPU中去执行。
(3)指令寄存器IR
IR的作用就是用来存放即将执行的指令代码。CPU执行指令的过程是先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。
(4)指令译码器ID
ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确地执行程序所需要的各种操作。
(5)地址寄存器AR(16位)
AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。地址寄存器AR通过地址总线AB与外部存储器相连。
(6)数据寄存器DR
DR用于存放写入外部存储器或I/O端口的数据信息。可见,数据寄存器对输出数据具有锁存功能。数据寄存器与外部数据总线DB直接相连。
(7)程序状态字PSW
PSW用于记录运算过程中的状态,如是否溢出、进位等。
(8)时序部件
时序部件由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。
图1-18 RAM 93CXX端子图
图1-19 RAM 95080/35080端子图
2.存储器
存储器是计算机中用来存放程序和数据的部件,是计算机的主要组成部分,它反映了计算机的“记忆”功能,存储器的存储容量越大,计算机的性能也就越好。存储器可分为随机存取存储器(Random Access Memory,简称RAM)和只读存储器(Read Only Memory,简称ROM)两大类如图1-18~图1-20所示。后者存放调试好的固定程序和常数,前者存放一些随时有可能变动的数据。顾名思义,只读存储器一旦将数据存入,就只能读出,不能更改(EPROM、EEPROM等类型的ROM可通过一定的方法来更改、写入数据——编者注)。而读写存储器可随时存入或读出数据。实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。RAM也称读写存储器,即CPU在运行过程中能随时进行数据的读出和写入。RAM中存放的信息当关闭电源时会全部丢失,所以,RAM是易失性存储器,只能用来存放暂时性的输入输出数据、中间运算结果、用户程序,也常用它来与外存交换信息或用作堆栈。通常人们所说的微机内存容量就是指RAM存储器的容量。按照RAM存储器存储信息的电路原理的不同,RAM又分为静态RAM和动态RAM两大类。动态RAM简称DRAM。DRAM的基本存储电路是以MOS晶体管的栅极和衬底间的电容来存储二进制信息,由于电容总存在泄漏现象,所以,时间长了DRAM内所存信息会自动消失,为维持DRAM所存信息不变,必须周期性地对DKAM进行刷新(Refresh),即对电容补充电荷。DRAM的基本存储电路通常是由一个MOS晶体管和一个电容组成,所用元件少,因此,集成度可以做得很高,成本低、功耗少,但它需外加刷新电路。DRAM工作速度要比SRAM慢,一般微机系统中的内存储器多采用DRAM。ROM是一种当写入信息之后,就只能读出而不能改写的固定存储器。断电后,ROM中所存信息仍保留不变,所以,ROM是非易失性存储器。因此,微机系统中常用ROM来存放固定的程序和数据,如监控程序、操作系统中的BIOS(基本输出系统)、BASIC解释程序或用户需要固化的程序。汽车电脑中的ROM又可分为EPROM和EEPROM。EPROM:可擦除可编程ROM(Erasable PROM),如2723(4K×8)、2764(8K×8),该存储器允许用户按规定的方法和设备进行多次编程,如编程之后想修改,可用紫外线灯制作的抹除器照射约20min,使存储器全部复原,用户可再次写入新的内容。这对于工程研制和开发特别方便,应用较广。EEPROM:电可擦除可编程ROM(E1ecbicallv Erasable PROM)。EEPROM的特点是,能以字节为单位进行擦除和改写,而不是像EPROM那样整体擦除,也不需要把芯片从用户系统中拔下来用编程器编程,在用户系统即可进行。随着技术的发展,EEPROM的擦写速度将不断加快,容量将不断提高,将可作为非易失性的RAM使用。无论是哪一种形式的ROM,在使用时只能读出,不能写入。断电时,存放在ROM中的信息都不会丢失,所以,是一种非易失性存储器。
图1-20 EEPROM29F400端子图
3.电源电路
单片机中的电源电路大概有两种,开关型稳压电源和集成化稳压电源。近年来广泛应用的新型稳压电源是开关型稳压电源。它的调整管工作在开关状态,本身功耗很小,所以具有效率高、体积小等优点,但电路比较复杂。开关稳压电源从原理上分有很多种。电感L和电容C是储能和滤波元件,二极管VD是调整管在关断状态时为L、C滤波器提供电流通路的续流二极管。开关稳压电源的开关频率都很高,一般从几千赫至几十千赫,所以电感器的体积不很大,输出电压中的高次谐波也不多。它的基本工作原理是,从取样电路(R3、R4)中检测出取样电压,经比较放大后去控制一个矩形波发生器。矩形波发生器的输出脉冲是控制调整管(VT)的导通和截止时间的。如果输出电压UO因为电网电压或负载电流的变动而降低,就会使矩形波发生器的输出脉冲变宽,于是调整管导通时间增大,使L、C储能电路得到更多的能量,结果使输出电压UO被提升,达到了稳定输出电压的目的。集成化稳压电路。近年来已有大量集成稳压器产品问世,品种很多,结构也各不相同。目前用得较多的有三端集成稳压器,有输出正电压的78××系列和输出负电压的79××系列等产品。输出电流从0.1~3A,输出电压有5V、6V、9V、12V、15V、18V、24V等多种。这种集成稳压器只有三个端子,稳压电路的所有部分包括大功率调整管以及保护电路等都已集成在芯片内。使用时只要加上散热片后接到整流滤波电路后面就行了。外围元件少,稳压精度高,工作可靠,一般不需调试。图1-21~图1-23为汽车常用的电源电路。
(www.xing528.com)
图1-21 博世一代所用电源电路30358
图1-22 汽车仪表盘电脑板所用电源电路
图1-23 汽车气囊电脑板所用电源电路
4.晶体振荡器
汽车电脑中应用的晶体振荡器通常是恒温控制式晶体振荡器(OCXO)。目前发展中的还有数字补偿式晶体损振荡器(DCXO)、微机补偿晶体振荡器(MCXO)等。计算机都有个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器(timer)可能更恰当一点。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的端子都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或12.5p,如果再考虑元件端子的等效输入电容,则两个22p的电容构成晶振的振荡电路是一个比较好的选择。图1-24为16M晶体振荡器。图1-25为41M晶体振荡器。
图1-24 16M晶体振荡器
图1-25 41M晶体振荡器
5.复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分。到目前为止,单片机复位电路主要有四种类型:
1)微分型复位电路。
2)积分型复位电路。
3)比较器型复位电路。
4)看门狗型复位电路。
ISA总线的复位信号到南桥之间会有一个非门,跟随器或电子开关,常态时为低电平,复位时为高电平。IDE的复位和ISA总线正好相反,通常两者之间会有一个非门或是一个反向电子开关,也就是说,IDE常态时为高电平,复位时为低电平,这里的高电平为5V或3.3V,低电平为0.5V以下的电位。基本的复位方式包括上电复位、积分型上电复位。
6.输入输出接口电路
输入输出接口英文是input/output interface。输入输出接口包括输入接口和输出接口,是电子设备之间数据传输的重要通道。单片机输入输出接口是CPU与外部设备之间交换信息的连接电路,它们通过总线与CPU相连,简称I/O接口。I/O接口分为总线接口和通信接口两类。当需要外部设备或用户电路与CPU之间进行数据、信息交换以及控制操作时,应使用单片机总线把外部设备和用户电路连接起来,这时就需要使用单片机总线接口;当单片机系统与其他系统直接进行数字通信时使用通信接口。所谓总线接口是把单片机总线通过电路插座提供给用户的一种总线插座,供插入各种功能卡。插座的各个端子与单片机总线的相应信号线相连,用户只要按照总线排列的顺序制作外部设备或用户电路的插线板,即可实现外部设备或用户电路与系统总线的连接,使外部设备或用户电路与单片机系统成为一体。常用的单片机总线接口是K线或CAN线通信接口。
7.总线
(1)总线的概念
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
(2)总线的工作原理
当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。总线中一般又含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。在有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址;而有的系统是分开的。51系列单片机的地址总线和数据总线是复用的,而一般PC中的总线则是分开的。
(3)“数据总线DB”
“数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即它既可以把CPU的数据传送到存储器或I/O接口等其他部件,也可以将其他部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。
(4)“地址总线AB”
“地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为216=64KB。
(5)“控制总线CB”
“控制总线CB”用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和I/O接口电路的,如读/写信号,片选信号、中断响应信号等;也有是其他部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。按照传输数据的方式划分,可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。常见的串行总线有SPI、I2C、USB及RS232等。按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。
(6)总线的主要技术指标
1)总线的带宽(总线数据传输速率)。总线的带宽指的是单位时间内总线上传送的数据量,即每秒传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:总线的带宽=总线的工作频率×总线的位宽/8;或者:总线的带宽=(总线的位宽/8)/总线周期。
2)总线的位宽。总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒数据传输率越大,总线的带宽越宽。
3)总线的工作频率。总线的工作时钟频率以MHz为单位,工作频率越高,总线工作速度越快,总线带宽越宽。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。