`
zhangziyangup
  • 浏览: 1187445 次
文章分类
社区版块
存档分类
最新评论

AVR系列单片机的基本架构(翻译自俄语讲义)

 
阅读更多


本文章由zhmxy555(毛星云)编写,转载请注明出处。

http://blog.csdn.net/zhmxy555/article/details/7685596


作者:毛星云 邮箱: happylifemxy@qq.com 期待着与志同道合的朋友们相互交流





这篇文章节选自我的导师,来自乌克兰国立航空航天大学的萨沙教授提供的单片机讲义,原文由俄语书写。

浅墨在学习过程中将文章翻译成了中文,以便于更深刻的理解。

由于浅墨是单片机这块的初学者,这里在将我的部分译文发出来,理解不深刻之处还希望单片机方面的行家给予指正,

或者若乌克兰单片机方的知识与国内存在不同之处,也希望能与大家交流,毕竟交流是学习和提高很好的途径。





一、单片机的基本架构

(Основные архитектуры микро-ЭВМ)

单片机的名称来自于它的用途——用于控制某些过程或者子系统(因此得名控制器,单片机)。随着计算能力的发展,使其被运用到数字化加工处理成为了可能。

单片机——即一个包含了单芯片处理器的系统所基本的所有基本要求的设备,这些要求包括,CPU,RAM,ROM,输入端口,输出端口,定时器。模数转换器,数模转换器,硬件接口以及其他的部件。事实上,单片机是一个内建于芯片上的系统,且有着很大的多样性。分为家用的无线电电子系统用途方向(手机,音乐电台,电视等等),以及工业上的无线电电子系统用途方向(流程控制系统,传感器,嵌入式系统,数字数据处理)。

在之前,最常见的单片机, Intel的8051系列收到了广泛的认可。到目前为止,各大厂商生产的处理器芯片都是在模仿Intel 8051的基础上的。



图1中呈现了单片机的结构框图。

Рис. 1. i8051系列单片机的架构图


图中对应的词汇:

аккумулятор 蓄电池

декодер команд 指令解码器

регистр команд 注册指令

генератор тактовых импульсов 时钟脉冲发生器

регистр статуса状态寄存器

ОЗУ RAM

указатель стека 堆栈指针

память 内存

счетчик команд 程序计数器

таймеры 计时器

счетчики 定时器

модуль прерываний 中断模块

8-разрядная шина команд и данных 8位总线指令和数据

单片机建立在名为冯·诺伊曼架构的单一总线的数据与命令上。

微型计算机的结构体系概念是很复杂的,其中包括:


1. 微型计算机的组织结构图图示。


2. 微型计算机各设备的访问方法和方式图示。


3. 内存寻址的方法。


4. 微型计算机的数据结构和遍历方式。


5. 机器码的设置


6. 机器码的格式


7. 中断

因此,微型计算机架构的概念包括了开发人员需要了解的几乎所有必要的信息。



缺点:

冯·诺依曼架构规定了数据总线的指令和数据采用交替采样的方式,而这与并行访问相比,需要花费更多的时间。


优点:

冯·诺依曼架构可以实现程序的自动调试。


工作原理:


这种架构的工作原理如下。单片机的所有操作都同步到时钟脉冲。随着从程序内存中的下一个时钟脉冲指令(即通过总线,使命令和数据传输到指令寄存器和解码器的一些指令)被选中,然后通过相应的指令读取数据总线,获取相应的数据。

第一步,数据通过总线由аккумулятор(俄语意思为蓄电池,但是逻辑不通啊。。。。求解)提供。

第二步,操作在算术逻辑单元之中执行,即进行算术逻辑运算,然后将结果通过总线返回到аккумулятор中。

因此,总线的数据和命令总是处于占用状态。此外,所以的操作都必须通过通用寄存器,即累加器。


基于冯·诺依曼架构的微型计算机大部分都是做为一般用途。

相对于冯·诺依曼显著提高单片机性能的哈佛架构(Гарвардская архитектур)拥有独立的总线数据和指令。在这个架构的基础上,出现了很多如今的单片机,后面我们将讨论这种架构。




二、各厂商间单片机特性的比较


Сравнение МК различных производителей)


选择特定功能的单片机需要考虑很多方面的问题。


选择一款单片机型号时,重点考虑主要的参数有:

1.工作效率 [MIPS](Million Instruсtions perSecond)


2.时钟频率[MHz]


3.功率[mW / MHz]


4.输入/输出的线路数


5.所需的外围设备


6.可用性和辅助调试工具


7.开发人员的习惯与喜好


8.价格


以上的每一项都是独立的,需要单独进行考虑。

现今有几家厂商出品的单片机比较的出色。

如:MSP430(TexasInstruments德州仪器),AVR (Atmel 公司 ),PICxx (Microchip公司),H8(Hitachi日立),MC68 (Motorola摩托罗拉),以及生产8051的各种厂商。

不同单片机型号完成特定功能所需代码量的规模可以在下图中看到,其中16位表现最好的为MSP430,8位中表现最好的为AVR系列。



Рис. 1. 代码量规模走势比较图

单片机可达到的最高性能由时钟频率以及运行一个命令的周期时间决定。但不同的单片机规定的时钟周期间会有差异。



表一中列举了一系列型号单片机的分频系数

Таблица 1


从表中可以看到,PIC系列的单片机的分频系数为AVR和MSP430系列的4倍。

因此,在8位单片机中,来自Atmel公司的AVR型表现最为出色。






Рис. 2 分别采用各式型号单片机的完成相同任务的周期比较图





三、Atmel公司的AVR系列单片机


(МК серии AVR фирмы Атмел)

Atmel公司的AVR系列单片机基于扩展型的哈佛架构,具有独立的数据总线和程序。这个8位的RISC单片机用于嵌入式应用,具有便利的编程模式,提供了广泛的软件和硬件的支持。

如果在使用说明中表明时钟频率最大可达到20MHz,即性能上可以达到近20MIPS。

所有的AVR型单片机都用于快闪记忆体的存储程序,位于处理器的单芯片上,并允许高达10,000的写入周期。此外,AVR系列单片机大多数拥有EEPROM内存构成,确保了高达10,000的擦除和读写信息的周期。具有闪存和EEPROM,就可以在内电路中进行编程。

将可编程的单片机安装在印刷电路板上之后,就可以通过代码的编写来制订和改变程序的运作。


AVR型的单片机能支持内部以及外部的RC发生器,对每个负载的负载能力最高可达20mA。AVR单片机可在非常宽的电压范围内工作,电压范围可在1.8V到6V之间。就因为这样,单片机的特点便是具有相当低的电流消耗值。例如,频率为4MHz下,耗费量只有3mA,而在节能模式下,耗费量仅2mA。

AVR型单片机存在着工业(记作“I类”- Industrial)和商业(记作“C“-Commercial)两种类型的性能标准。其中商业标准采用工作温度为0°C... +70°C之间,而工业标准为- 40°C...... +85°C。

AVR型单片机的线路目前有至少20种不同的类型,可分为四大组:

• XMega AVR (前缀为 ATXmegaXXX);

• Mega AVR (前缀为 ATmegaXXX);

• Classic AVR (前缀为 AT90SXXX);

• Tiny AVR (前缀为 ATtinyXXX);

下面对除Xmega AVR其他的三项做一个简要的介绍



Mega AVR:

Mega AVR在AVR单片机四个系列中拥有最大的记忆体,最多的端口支持和最丰富的外设集。


Classic AVR:

Classic AVR 单片机系列包含不同的外设组合,拥有均衡的内存大小,不同数量的接口。因此,开发人员能够根据实际情 况做出最佳的选择,而不是使用不合适的接口数量,造成成本上的浪费。


Tiny AVR:

微小的Tiny AVR排在最后。作为非常廉价的晶体,价值大约1美元。

拥有数量不多的接口,可以在低压电源的或者有供源能力的外设下工作,如ADC。

由于AVR单片机系列的硬件功能相当的通俗易懂,因此如果要研究单片机,通过AVR系列来学习将是明智的选择。




四、AVR系列单片机的硬件特性和架构


(Аппаратные особенности и архитектураAVR-микроконтроллеров.)

在此讲义之中,学习过程将基于型号为Atmega16的单片机。

产品规格:

▲130个队列,即可以在一个时钟周期内执行的最大队列数。

▲约16 MIPS的最大输出功率(在16MHz的时钟频率下)

▲内置周期为2的乘法器

▲非易失性的程序储存器和数据:

16KB的系统可编程程序存储器

512字节的数据存储器

▲1KB的内建RAM

▲JTAG型接口

▲集成的外设

▲6种低能耗的模式

▲工作电压:

2,7 - 5,5 V(ATmega16L);

4,5 - 5,5 V(ATmega16);

▲工作频率

0 - 8 МHz(ATmega16L);

0 - 16МHz(ATmega16).



1. ATmega16系列单片机的引脚分配

(Назначениевыводов МК ATMega16)



引脚介绍:

PA7…PA0 –端口А的引脚;

PB7…PB0 –端口B的引脚;

PC7…PC0 –端口C的引脚;

PD7…PD0 –端口D的引脚

VCC – 数字电源部分

GND – 接地

RESET – 单片机复位输入端

XTAL1 –输入时钟信号端;

XTAL2 – 输出时钟信号端

AVCC –ADC电源

AREF –输入ADC的参考电压

AGND – 接地;


2.ATMega16单片机的架构

(Архитектура МК ATMega16)

AVR系列的单片机基于扩展型哈佛架构,是一种拥有单独的数据和地址总线的架构,程序存储器和数据存储器都具有独立的地址空间。

AVR系列的单片机为单芯片上的中央处理单元(CPU),ROM,RAM和外设的组合。

ATMega16单片机的架构如下图:



Рис. 1. ATMega16型单片机的架构图


图中单词解释:


Генератор тактовых импульсов 时钟脉冲发生器

Счетчик команд 计数器

Указатель стека 堆栈指针

Память програми 存储器中的程序

ОЗУ RAM

16-разрядная шина команд16位总线指令

Рабочие регистр工作计数器

Регистр команд 注册指令

Декодер команд 指令解码器

Порт A 端口A

АЦП ADC(模数转换器)

Порт B 端口B

Таймеры/счетчики 定时器/计数器

Сторожевой таймер 看门狗定时器

Память данных 数据存储器

Порт D 端口D

УАПП 串口

Компаратор比较器

Порт C 端口C

Последовательный интерфейс связи с периферией 外设的串行通信接口

ROM包含两个独立的区域 - 程序存储器和数据存储器。

单片机程序存储在程序存储器中,在数据存储器可以存储用户数据(此外,用户数据可以被暂时存储在RAM中)。


程序存储器地址空间的分布如下图:


Рис. 2. AVR的程序存储器的空间地址分布图


程序存储器分为两个部分 - 用户程序区(应用Flash区)和启动分区(Boot区)。

大部分AVR命令都拥有一个16位字的形式,用一个16位的命令来连接程序存储器的每个地址,由零地址开始(即0000)

程序执行命令后,单片机重置,由程序存储器中的零地址开始复位。

程序存储器在工作时主要利用了单级管道——当某命令在执行的时候,下一个命令从程序存储器器中进行选择。这种方式允许我们处理每个时钟周期,处于同一时间的命令,必须从程序计数器的队伍中进行选择(即程序计算器指定的下一个命令的地址)。




文章完。


7月4号补充:

AVR 单片机的堆栈与MCS 51 单片机不同, 是倒置的。凡倒置的堆栈, 堆栈指针初始化时都取栈区最高地址, 进栈为减地址, 出栈为加地址。



相关俄语单词列表:


архитектуры 架构


микроконтроллеров 单片机,微控制器


изначального 原始的


предназначения 目的,目标


управлять 控制


контроллер 控制器


предназначались旨在,打算


реализации 实施,执行


развитием 发展


вычислительной 计算


стало 是,为,被


содержащее 包含


кристалле水晶


ОЗУ RAM


ПЗУ ROM


процессор 处理器,CPU


порты ввода 输入端口


порты вывода 输出端口


таймеры 定时器


АЦП 模数转换器 ADC


ЦАП 数模转换器 DAC


аппаратные 硬件


аппаратные интерфейсы связи 硬件通讯接口


узлы 节点


По сути 事实上


Благодаря 归功于,感谢,得益于,owe to


области 对


разнообразны 各不相同


бытовые 家喻户晓的,家庭的


радиоэлектронные 电子的


промышленные 产业


подсистемами 分系统,子系统


опроса 测量


датчиков 传感器


встроенные системы 嵌入式系统


данных 数据


обработки 处理


наиболее 最


распространенными 常见,普遍


процессорного 处理器的,CPU的


ядра 核心,内核


производителями制造商


ныне 现在,现今


декодер 解码器


команд 指令


регистр 注册


указатель 指数,索引,指针


стека 堆栈


память 内存,记忆


счетчик команд 程序计数器


генератор тактовых импульсов 时钟脉冲发生器


таймеры 计时器


счетчики 定时器


модуль прерываний 中断模块


УАПП 自动再重启装置


порт 端口


8-разрядная шина команд и данных 8位总线指令和数据


построены 建立


средства 方式,手段


форматы данных 数据格式


представления 浏览


набор 设定


Недостаток 缺点


параллельном доступе 并行访问


синхронизируются 同步


инструкция 指令


потребление 消费


коммерческого 商业的


префикс 前缀


数据传输指令表:


指令 操作数 说明 操作 影响标志 周期


MOV Rd , Rr 寄存器传送Rd←Rr 0≤d≤31 , 0≤r≤31 1

LDS Rd , k 从SRAM 中装入Rd← ( k) 0 ≤ d≤ 31 , 0 ≤ k≤ 64K 3

STS k , Rr 数据送SRAM ( k) ← Rr 0 ≤ r ≤31 , 0 ≤ k≤ 64 K 3

LDI Rd , K 装入立即数Rd← K 16≤d≤31 , 0≤K≤255 2

LD Rd , X X 间址取数Rd← ( X) 0 ≤ d≤ 31 2

LD Rd , X + X 间址取数后增1 Rd← ( X) , X←X + 1 0≤d≤31 2

LD Rd , - X X 减1 后间址取数X←X - 1 , Rd← (X) 0≤d≤31 2

ST X, Rr X 间址存数(X)←Rr 0≤r≤31 2

ST X + , Rr X 间址存数后增1 (X)←Rr , X←X + 1 2

ST - X, Rr X 减1 后间址存数X←X - 1 , ( X) ← R r 2

LD Rd , Y Y 间址取数Rd← ( Y) 0≤d≤31 2

LD Rd , Y + Y 间址取数后增1 Rd← ( Y) , Y←Y + 1 0≤d≤31 2

LD Rd , - Y Y 减1 后间址取数Y←Y - 1 , Rd← (Y) 0≤d≤31 2

LDD Rd , Y + q Y 带偏移量间址取数Rd← ( Y + q) 0 ≤ d≤ 31 , 0 ≤ q≤63 2

ST Y , Rr Y 间址存数(Y)←Rr 0≤r≤31 2

ST Y + , R r Y 间址存数后增1 (Y)←Rr , Y←Y + 1 2

ST - Y, R r Y 减1 后间址存数Y←Y - 1 , ( Y) ← Rr 2

STD Y + q , Rr Y 带偏移量间址存数(Y + q )← Rr 0≤q≤63 2

LD Rd , Z Z 间址取数Rd← ( Z) 0≤d≤31 2

LD Rd , Z + Z 间址取数后增1 Rd← ( Z) , Z←Z + 1 0≤d≤31 2

LD Rd , - Z Z 减1 后间址取数Z←Z - 1 , Rd← ( Z) 0≤d≤31 2

LDD Rd , Z + q Z 带偏移量间址取数Rd← ( Z + q ) 0 ≤ d≤ 31 , 0 ≤ q≤63 2

ST Z , Rr Z 间址存数(Z)←R r 0≤r≤31 2

ST Z + , Rr Z 间址存数后增1 (Z)←R r , Z←Z + 1 2

ST - Z, Rr Z 减1 后间址存数Z←Z - 1 , (Z) ← Rr 2

STD Z + q , Rr Z 带偏移量间址存数(Z + q)← Rr 0≤q≤63 2

LPM 从程序区取数R0← (Z) 2 IN Rd , P 从I/ O 口取数Rd←P 0≤d≤31 , 0≤P≤63 1

OUT P, R r 数据送I/ O 口P←R r 0≤P≤63 1

PUSH Rr 压栈( SP )←Rr , SP←S P - 1 2

POP Rd 出栈S P←SP + 1 , Rd←( SP ) 0≤d≤31 2




































分享到:
评论

相关推荐

    AVR系列单片机C语言编程与应用实例.pdf

    在技术层面,AVR系列单片机基于双总线结构的RISC架构,能够提供较高的数据处理效率。单片机技术自1976年Intel公司推出MCS-48系列以来迅速发展,应用范围已经扩展至自动测量、智能仪表、工业控制和家用电器等多个领域...

    AVR系列单片机C语言编程与应用实例

    《AVR系列单片机C语言编程与应用实例》是一本专为单片机学习者设计的教程,尤其适合那些已经掌握了51单片机基础知识并希望深入理解AVR系列单片机的读者。AVR单片机由Atmel公司(现已被Microchip Technology收购)...

    AVR系列单片机C语言编程与应用实例.rar

    1. **AVR单片机基础**:介绍AVR单片机的架构,包括CPU、存储器、I/O端口、中断系统等基本概念。理解这些基础知识对于编写有效的C语言程序至关重要。 2. **C语言在AVR上的应用**:讲解如何在AVR单片机上使用GCC...

    AVR系列单片机c语言编程与应用实例.zip

    AVR系列单片机是Atmel公司(现已被Microchip Technology收购)开发的一系列高性能、低功耗的微控制器,广泛应用于嵌入式系统设计。本资料“AVR系列单片机c语言编程与应用实例”主要针对使用C语言进行AVR单片机编程和...

    AVR系列单片机学习软件及资料.zip

    AVR系列单片机是Atmel公司(现已被Microchip Technology收购)开发的一系列高性能、低功耗的微控制器,广泛应用于嵌入式系统设计。这个"AVR系列单片机学习软件及资料.zip"压缩包包含了一系列的学习资源,帮助初学者...

    AVR单片机 翻译文献

    AVR单片机翻译文献 在本节中,我们将详细介绍AVR单片机的架构和特征,包括其丰富的指令集、32个通用工作寄存器、 Arithmetic Logic Unit (ALU) 的设计、时钟周期内的寄存器访问、代码效率和性能等方面。 AVR...

    AVR系列单片机C语言编程与应用实例1

    AVR系列单片机是Atmel公司推出的高性能RISC单片机,本书给出了C语言开发的应用实例,便于学习利用。

    AVR常用单片机芯片中文资料.rar

    AVR系列单片机是由Atmel公司开发的一系列高级精简指令集(RISC)微控制器,因其高效能和低功耗而广受欢迎。在"AVR常用单片机芯片中文资料.rar"这个压缩包中,我们可以期待找到一系列关于AVR单片机的重要中文资源,...

    AVR系列单片机C语言编程与应用实例.PDF

    本书针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LSB8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内部资源和外部功能扩展,又包含了...

    AVR系列单片机AD转换程序

    AVR系列单片机AD转换程序是嵌入式系统开发中的关键部分,它涉及到了模拟信号与数字信号之间的转换。在AVR微控制器中,AD转换器(Analog-to-Digital Converter,简称ADC)用于将来自传感器或其他模拟输入源的连续信号...

    AVR单片机技术 AVR单片机MEGA系列选型表.pdf

    AVR单片机是Atmel公司(现已被Microchip Technology收购)开发的一种高性能、低功耗的微控制器系列,广泛应用于各种嵌入式系统。MEGA系列是AVR家族中的一个重要分支,以其丰富的功能和多样化的选型而受到工程师们的...

    AVR系列单片机通信系统接口电路

    ### AVR系列单片机通信系统接口电路:设计与原理 #### 概述 AVR系列单片机,作为Atmel公司推出的一种高性能、低功耗的8位微控制器,广泛应用于各种嵌入式系统设计中。其强大的处理能力和丰富的外设资源使其在通信...

    AVR系列单片机的protel原理图,protel PCB封装

    AVR系列单片机是Atmel公司(现已被Microchip Technology收购)开发的一系列高性能、低功耗的微控制器,广泛应用于嵌入式系统设计。Protel是一款历史悠久且功能强大的电子设计自动化(EDA)软件,它包括原理图设计、...

    AVR单片机综合开发板_实验讲义

    3. IO口实验:IO口实验用于介绍和演示AVR单片机的输入输出端口的操作,了解如何控制单片机的IO口进行基本的输入输出功能。 4. 七段数码管显示实验:通过实验介绍如何利用AVR单片机控制七段数码管进行数字和字符的...

    马潮AVR单片机资料

    AVR单片机是Atmel公司(现已被Microchip Technology收购)推出的一种高性能、低功耗的微控制器系列,广泛应用于嵌入式系统设计。马潮老师是知名的电子技术讲师,他的AVR单片机教程因其深入浅出的讲解而备受好评。在...

Global site tag (gtag.js) - Google Analytics