深入解析AT91F40816微控制器:高性能与低功耗的完美结合
在嵌入式系统设计领域,选择一款合适的微控制器对于项目的成功至关重要。AT91F40816作为Atmel AT91 16/32位微控制器家族的一员,凭借其卓越的性能和丰富的功能,成为了众多工程师的首选。今天,我们就来深入了解一下这款微控制器。
文件下载:AT91F40816-33CI.pdf
一、核心特性
1. 强大的处理器核心
AT91F40816采用了ARM7TDMI™ ARM® Thumb®处理器核心,具备高性能的32位RISC架构和高密度的16位指令集。这种架构不仅在性能上表现出色,而且在功耗方面也具有显著优势,是MIPS/Watt方面的佼佼者。同时,嵌入式ICE(In-circuit Emulation)功能为调试提供了便利。
2. 丰富的片上资源
- SRAM:拥有8K字节的片上SRAM,采用32位数据总线,单时钟周期即可完成访问,为数据处理提供了高速的存储支持。
- Flash内存:配备1M字的16位Flash内存(16 Mbits),具有单电压读写功能,访问时间仅为110 ns。其扇区擦除架构、快速字编程时间(20 µs)和快速扇区擦除时间(200 ms),以及双平面组织允许并发读写/擦除操作,为程序存储和更新提供了高效的解决方案。此外,还具备擦除暂停功能和低功耗运行模式(25 mA活动 - 10 µA待机),并支持数据轮询、Toggle Bit和Ready/Busy程序周期结束检测。
3. 灵活的外部总线接口
完全可编程的外部总线接口(EBI)提供了最大64M字节的外部地址空间,8个片选信号和软件可编程的8/16位外部数据总线,方便与各种外部设备进行连接。
4. 高效的中断控制
8级优先级、可单独屏蔽的矢量中断控制器,包含4个外部中断,其中包括一个高优先级低延迟的中断请求,能够快速响应外部事件,提高系统的实时性。
5. 多样化的外设
- 定时器/计数器:3通道16位定时器/计数器,具备3个外部时钟输入和每个通道2个多功能I/O引脚,可用于精确的定时和计数操作。
- USART:2个USART接口,每个USART配备2个专用的外设数据控制器(PDC)通道,支持高速数据通信。
- 看门狗定时器:可编程的看门狗定时器可防止软件陷入死锁,提高系统的稳定性。
6. 先进的节能特性
CPU和外设可以单独停用,实现了全静态操作,内部频率范围为0 Hz至40 MHz(3.0V,85°C),工作电压范围为2.7V至3.6V,温度范围为 -40°C至85°C,适用于各种复杂的应用环境。
二、架构概述
AT91F40816将Atmel的AT91M40800 ARM Thumb微控制器和AT49BV1604/1614 16 Mbits、2.7伏读取和2.7伏字节写入扇区式Flash内存芯片集成在一个紧凑的120球BGA封装中。其架构主要由高级系统总线(ASB)和高级外设总线(APB)组成。ASB负责将ARM7TDMI处理器与片上32位内存、外部总线接口(EBI)和AMBA™桥连接,以实现高性能的数据传输;APB则用于访问片上外设,优化了功耗。
三、引脚配置与描述
1. 引脚配置
AT91F40816的引脚配置详细列出了各个引脚的功能和位置,包括地址总线(A0 - A23)、数据总线(D0 - D15)、片选信号(NCS0 - NCS3、CS4 - CS7)、读写控制信号(NWR0、NWR1、NRD、NWE、NOE)等。这些引脚的合理配置为系统的设计提供了灵活性。
2. 引脚描述
每个引脚都有明确的功能和使用说明,例如地址总线在复位后有效,数据总线为I/O类型,片选信号用于选择外部设备等。了解这些引脚的特性对于正确使用微控制器至关重要。
四、产品使用要点
1. 电源供应
AT91F40816采用单一类型的电源引脚VDD,支持2.7V至3.6V的电压范围,为I/O引脚和核心提供电源。
2. 输入/输出考虑
除EBI数据总线(D0 - D15)外,I/O引脚具有5V容限,可直接与外部5V设备接口,无需额外组件。复位后,微控制器的外设I/O初始化为输入,以提供最大的灵活性。同时,建议在任何应用阶段将输入保持在有效逻辑电平,以降低功耗。
3. 主时钟
该微控制器采用全静态设计,主时钟(MCK)由外部源通过MCKI引脚提供,同时MCK也可通过MCKO引脚输出。在复位期间,MCKO保持低电平,复位后输出MCK信号的镜像。
4. 复位操作
复位可恢复用户接口寄存器的默认状态,并使ARM7TDMI从地址零开始执行下一条指令。NRST引脚为低电平有效输入,异步断言,但复位退出与MCK同步。看门狗也可编程产生内部复位,但NRST引脚具有优先级。
5. 仿真功能
- 三态模式:用于调试目的,可将微控制器的所有输出引脚驱动器禁用,也可用于在标准NVM编程器中对嵌入式Flash进行编程。进入三态模式需在NRST上升沿前的最后10个时钟周期将NTRI引脚保持低电平。
- JTAG/ICE调试:支持ARM标准嵌入式在线仿真,通过JTAG/ICE端口进行调试。在ICE调试模式下,ARM7TDMI核心会响应非JTAG芯片ID以识别微控制器。
6. 内存控制器
ARM7TDMI处理器的地址空间为4G字节,内存控制器将其划分为三个地址空间:内部内存(最低4兆字节)、外部设备(中间空间)和内部外设(最高4兆字节)。在这些地址空间中,ARM7TDMI仅以小端模式运行。
7. 内部内存
- SRAM:集成8K字节的32位宽内部SRAM,单时钟周期可访问,映射在地址0x0(重映射命令后),可用于存储异常向量、堆栈分配或数据和程序存储。
- Flash内存:通过外部总线接口访问2兆字节的Flash内存,支持字节和半字访问。
8. 引导模式选择
ARM复位向量位于地址0x0,复位后ARM7TDMI执行该地址存储的指令。BMS引脚在NRST上升沿前的最后10个时钟周期的输入电平决定了引导内存的类型。
9. 重映射命令
AT91F40816使用重映射命令可在引导内存和内部主SRAM地址之间切换,以动态重新定义ARM向量。重映射操作只能通过内部复位或NRST断言进行更改。
10. 中止控制
当访问EBI地址空间中的未定义地址时,会向ARM7TDMI提供数据中止或预取中止异常的中止信号。访问内部内存或内部外设时,无论地址是否定义,都不会产生中止信号。
11. 外部总线接口
外部总线接口处理0x0040 0000至0xFFC0 0000地址之间的访问,可配置为8个1兆字节的存储体或4个16兆字节的存储体,支持字节、半字和字对齐访问。用户可对每个存储体的等待状态数、数据浮动时间和数据总线宽度进行编程。
12. Flash内存
16M位的Flash内存组织为1,048,576个16位字,通过EBI进行寻址。使用地址线A1至A20,A20不能重新编程为I/O引脚或片选信号。Flash内存具有数据轮询、Toggle Bit和NBUSY输出引脚等功能,可检测程序或擦除周期的结束。此外,还支持双平面操作、扇区擦除暂停和数据保护功能。
13. AT91 Flash上传器软件
所有基于Flash的AT91设备都预装了AT91 Flash上传器软件,可通过串口对嵌入式Flash进行编程。上传器需要NCS0连接到NCSF,并在MCKI上施加有效时钟。
五、外设寄存器与中断控制
1. 外设寄存器
AT91F40816的外设寄存器包括控制寄存器、模式寄存器、数据寄存器、状态寄存器和使能/禁用/状态寄存器。这些寄存器的操作方式和功能各不相同,合理使用这些寄存器可以实现对外设的精确控制。
2. 中断控制
每个外设的中断控制通过状态寄存器和中断掩码进行,可使用非中断单指令启用或禁用外设中断源,减少实时和多任务系统中AIC或核心级的中断屏蔽需求。
3. 外设数据控制器(PDC)
AT91F40816配备4通道PDC,分别用于两个片上USART的接收和发送。PDC通道的用户接口集成在每个USART的内存空间中,包含地址指针寄存器和传输计数器寄存器,可实现数据的高效传输。
六、总结
AT91F40816微控制器以其强大的处理器核心、丰富的片上资源、灵活的外部总线接口和多样化的外设功能,为嵌入式系统设计提供了一个高性能、低功耗的解决方案。无论是在实时控制应用还是计算密集型嵌入式控制应用中,AT91F40816都能展现出卓越的性能。作为电子工程师,我们需要深入了解其特性和使用方法,充分发挥其优势,为项目的成功奠定基础。你在使用AT91F40816微控制器的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
微控制器
+关注
关注
49文章
8830浏览量
165578 -
嵌入式系统
+关注
关注
41文章
3817浏览量
133864
发布评论请先 登录
深入解析AT91F40816微控制器:高性能与低功耗的完美结合
评论