您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > ATtiny13_中文
2535D–AVR–04/04产品特性•高性能、低功耗的8位AVR®微处理器•高级RISC结构–120条指令–大多数指令执行时间为单个时钟周期–32个8位通用工作寄存器–全静态工作–工作于20MHz时性能高达20MIPS•非易失性程序和数据存储器–1K字节的系统内可编程Flash擦写寿命:10,000次–64字节的系统内可编程EEPROM擦写寿命:100,000次–64字节的片内SRAM–可以对锁定位进行编程以及实现EEPROM数据的加密•外设特点–一个具有独立预分频器的8位定时器/计数器及两条PWM通道–含有片内参考电压的4路10位ADC–具有独立片内振荡器的可编程看门狗定时器–片内模拟比较器•特殊的处理器特点–片内调试系统–通过SPI端口在系统内可编程–片内/片外中断源–低功耗空闲模式、噪声抑制模式、省电模式–增强型上电复位–可编程的掉电检测–片内标定振荡器•I/O和封装–8引脚PDIP/SOIC:6可编程I/O线•工作电压:–ATtiny13V:1.8-5.5V–ATtiny13:2.7-5.5V•速度等级–ATtiny13V:0-4MHz@1.8-5.5V,0-10MHz@2.7-5.5V–ATtiny13:0-10MHz@2.7-5.5V,0-20MHz@4.5-5.5V•工业级温度范围•低功耗–正常模式:1MHz,1.8V:240µA–掉电模式:0.1µAat1.8V引脚配置Figure1.ATtiny13芯片引脚12348765(PCINT5/RESET/ADC0/dW)PB5(PCINT3/CLKI/ADC3)PB3(PCINT4/ADC2)PB4GNDVCCPB2(SCK/ADC1/T0/PCINT2)PB1(MISO/AIN1/OC0B/INT0/PCINT1)PB0(MOSI/AIN0/OC0A/PCINT0)PDIP/SOIC具有1KB系统内可编程Flash的8位微控制器ATtiny13初稿本文是英文数据手册的中文翻译,其目的是方便中国用户的阅读。它无法自动跟随原稿的更新,同时也可能存在翻译上的错误。读者应该以英文原稿为参考以获得更准确的信息。Rev.2535D–AVR–04/042ATtiny132535D–AVR–04/04综述ATtiny13是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATtiny13的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。方框图Figure2.ATtiny13结构框图PROGRAMCOUNTERINTERNALOSCILLATORWATCHDOGTIMERSTACKPOINTERPROGRAMFLASHSRAMMCUCONTROLREGISTERGENERALPURPOSEREGISTERSINSTRUCTIONREGISTERTIMER/COUNTER0INSTRUCTIONDECODERDATADIR.REG.PORTBDATAREGISTERPORTBPROGRAMMINGLOGICTIMINGANDCONTROLMCUSTATUSREGISTERSTATUSREGISTERALUPORTBDRIVERSPB0-PB5VCCGNDCONTROLLINES8-BITDATABUSZADC/ANALOGCOMPARATORINTERRUPTUNITCALIBRATEDYXRESETCLKIWATCHDOGOSCILLATORDATAEEPROM3ATtiny132535D–AVR–04/04AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器昀高至10倍的数据吞吐率。ATtiny13有1K字节Flash,64字节EEPROM,64字节SRAM,6个通用I/O口线,32个通用工作寄存器,1个具有比较模式的8位定时器/计数器,片内/外中断,4路10位ADC,具有片内振荡器的可编程看门狗定时器,以及三种可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、ADC、模拟比较器以及中断系统继续工作;掉电模式时保存寄存器中值,停止除中断和硬件复位之外所有功能工作;ADC噪声抑制模式时终止CPU及ADC以外所有I/O模块的工作以降低ADC转换噪声。本芯片是以Atmel高密度非易失性存储器技术生产的。通过SPI串行接口可对程序存储器进行系统内编程。ATtiny13AVR具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。引脚说明VCC数字电路的电源GND地端口B(PB5..PB0)端口B为6位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能,请参见P48。RESET复位输入引脚。持续时间超过昀小门限时间的低电平将引起系统复位。门限时间见P30Table12。持续时间小于门限时间的脉冲不能保证可靠复位。代码例子本数据手册包含了一些简单的代码例子以说明如何使用芯片各个不同的功能模块。这些例子都假定在编译之前已经包含了正确的头文件。有些C编译器在头文件里并没有包含位定义,而且各个C编译器对中断处理有自己不同的处理方式。请注意查阅相关文档以获取具体的信息。4ATtiny132535D–AVR–04/04AVRCPU内核介绍本节从总体上讨论AVR内核的结构。CPU的主要任务是保证程序的正确执行。因此它必须能够访问存储器、执行运算、控制外设以及处理中断。结构综述Figure3.AVR结构的方框图为了获得昀高的性能以及并行性,AVR采用了Harvard结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU在执行一条指令的同时读取下一条指令(在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的Flash。快速访问寄存器文件包括32个8位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU操作。在典型的ALU操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。寄存器文件里有6个寄存器可以用作3个16位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16位的X、Y、Z寄存器。FlashProgramMemoryInstructionRegisterInstructionDecoderProgramCounterControlLines32x8GeneralPurposeRegistrersALUStatusandControlI/OLinesEEPROMDataBus8-bitDataSRAMDirectAddressingIndirectAddressingInterruptUnitWatchdogTimerAnalogComparatorI/OModule2I/OModule1I/OModulen5ATtiny132535D–AVR–04/04ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16位,亦即每个程序存储器地址都包含一条16位或32位的指令。在中断和调用子程序时返回地址的程序计数器(PC)保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于SRAM的大小。在复位例程里用户首先要初始化堆栈指针SP。这个指针位于I/O空间,可以进行读写访问。数据SRAM可以通过5种不同的寻址模式进行访问。AVR存储器空间为线性的平面结构。AVR有一个灵活的中断模块。控制寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。I/O存储器空间包含64个可以直接寻址的地址,作为CPU外设的控制寄存器、SPI,以及其他I/O功能。映射到数据空间即为寄存器文件之后的地址0x20-0x5F。ALU-算术逻辑单元AVRALU与32个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数之间的ALU运算只需要一个时钟周期。ALU操作分为3类:算术、逻辑和位操作。此外还提供了支持无/有符号数和分数乘法的乘法器。具体请参见指令集。6ATtiny132535D–AVR–04/04状态寄存器状态寄存器包含了昀近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。AVR中断寄存器SREG定义如下:•Bit7–I:全局中断使能I置位时使能全局中断。单独的中断使能由其他独立的控制寄存器控制。如果I清零,则不论单独中断标志置位与否,都不会产生中断。任意一个中断发生后I清零,而执行RETI指令后I恢复置位以使能中断。I也可以通过SEI和CLI指令来置位和清零。•Bit6–T:位拷贝存储位拷贝指令BLD和BST利用T作为目的或源地址。BST把寄存器的某一位拷贝到T,而BLD把T拷贝到寄存器的某一位。•Bit5–H:半进位标志半进位标志H表示算术操作发生了半进位。此标志对于BCD运算非常有用。详见指令集的说明。•Bit4–S:符号位,S=N⊕VS为负数标志N与2的补码溢出标志V的异或。详见指令集的说明。•Bit3–V:2的补码溢出标志支持2的补码运算。详见指令集的说明。•Bit2–N:负数标志表明算术或逻辑操作结果为负。详见指令集的说明。•Bit1–Z:零标志表明算术或逻辑操作结果为零。详见指令集的说明。•Bit0–C:进位标志表明算术或逻辑操作发生了进位。详见指令集的说明。通用寄存器文件寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/输出方案:•输出一个8位操作数,输入一个8位结果•输出两个8位位操作数,输入一个8位结果•输出两个8位位操作数,输入一个16位结果•输出一个16位位操作数,输入一个16位结果Figure4为CPU32个通用工作寄存器的结构。Figure4.AVRCPU通用工作寄存器Bit76543210ITHSVNZCSREG读/写R/WR/WR/WR/WR/WR/WR/WR/W初始值0000000070Addr.R00x00R10x017ATtiny132535D–AVR–04/04大多数操作寄存器文件的指令都可以直接访问所有的寄存器,而且多数这样的指令的执行时间为单个时钟周期。如Figure4所示,每个寄存器都有一个数据内存地址,将他们直接映射到用户数据空间的头32个地址。虽然寄存器文件的物理实现不是SRAM,这种内存组织方式在访问寄存器方面具有极大的灵活性,因为X、Y、Z寄存器可以设置为指向任意寄存器的指针。R20x02…R130x0D通用R140x0E工作R150x0F寄存器R160x10R170x11…R260x1AX寄存器,低字节R270x1BX寄存器,高字节R280x1CY寄存器,低字节R290x1DY寄存器,高字节R300x1EZ寄存器,低字节R310x1FZ寄存器,高字节8ATtiny132535D–AVR–04/04X、Y、Z寄存器寄存器R26..R31除了用
本文标题:ATtiny13_中文
链接地址:https://www.777doc.com/doc-6437762 .html