描述
AT91FR40161微控制器:嵌入式设计的理想之选
在嵌入式系统开发领域,选择一款合适的微控制器至关重要。今天,我们就来深入探讨Atmel公司的AT91FR40161微控制器,了解它的特性、架构、应用以及相关设计要点。
文件下载:AT91FR40161-CI.pdf
一、产品概述
AT91FR40161是Atmel AT91 16/32位微控制器家族的一员,基于ARM7TDMI处理器内核。它具有高性能的32位RISC架构和高密度的16位指令集,功耗极低。大量内部存储的寄存器使得异常处理速度极快,非常适合实时控制应用。其八层优先级向量中断控制器与外设数据控制器相结合,显著提升了实时设备的性能。
该微控制器将超过1 Mbit的片上SRAM、丰富的外设功能和16 Mbits的Flash存储器集成在一个紧凑的120球BGA封装中,为许多计算密集型嵌入式控制应用提供了强大、灵活且经济高效的解决方案,同时还能显著减小电路板尺寸和降低系统成本。
二、特性亮点
处理器内核与架构
- ARM7TDMI内核:采用ARM7TDMI® ARM® Thumb®处理器内核,具备高性能32位RISC架构和高密度16位指令集,在MIPS/Watt方面表现出色,还集成了嵌入式ICE(在线仿真)功能。
- 双总线架构:由高级系统总线(ASB)和高级外设总线(APB)组成。ASB用于ARM7TDMI处理器与片上32位存储器、外部总线接口(EBI)和AMBA™桥的接口,以实现高性能;APB则用于访问片上外设,优化了功耗。
存储器配置
- SRAM:片内集成136 Kbytes的SRAM,直接连接到32位数据总线,单周期可访问,使用处理器的ARM指令集在33 MHz时可实现30 MIPS的最大性能,降低了系统功耗。
- Flash存储器:拥有1024K字的16位Flash存储器(2M字节),支持单电压读写,具有扇区擦除架构和擦除暂停功能,双平面组织允许同时进行读和编程/擦除操作,还具备数据轮询、切换位和就绪/繁忙程序周期结束检测等特性。此外,还集成了AT91 Flash Uploader软件,方便程序应用软件的上传。
- 外部总线接口(EBI):可编程的外部总线接口,支持最多八个片选信号,最大外部地址空间为64M字节,软件可编程8/16位外部数据总线,采用早期读取协议,可实现比标准存储器接口更快的存储器访问。
外设功能
- 中断控制器:8级优先级、可单独屏蔽的向量中断控制器,包含四个外部中断,其中一个为高优先级低延迟中断请求。
- I/O端口:32个可编程I/O线,可灵活配置为各种外设的输入输出。
- 定时器/计数器:3通道16位定时器/计数器,每个通道有三个外部时钟输入和两个多功能I/O引脚。
- USART:两个USART,每个USART有两个专用的外设数据控制器(PDC)通道,可实现高速同步或异步通信。
- 看门狗定时器:可编程看门狗定时器,可防止软件陷入死锁导致系统锁定。
- 电源管理:具备先进的节能特性,CPU和外设可单独停用,支持0 Hz至33 MHz的内部频率范围(3.0V,85°C),工作电压范围为2.7V至3.6V,温度范围为 -40°C至85°C。
三、引脚配置与功能
AT91FR40161的引脚配置丰富,涵盖了地址总线、数据总线、片选信号、时钟信号、复位信号等多种功能引脚。每个引脚都有明确的功能定义,例如:
- 地址总线(A0 - A23):用于传输地址信息,复位后有效,注意不要将A20重新编程为I/O,因为它是Flash地址的最高有效位。
- 数据总线(D0 - D15):用于数据的输入输出。
- 片选信号(NCS0 - NCS3、CS4 - CS7):用于选择外部设备,有低电平有效和高电平有效之分。
详细的引脚描述和功能说明在文档的表格中进行了清晰的阐述,设计时需要根据具体的应用场景进行合理的引脚分配和连接。
四、工作模式与操作
电源供应与时钟
- 电源:采用单一电源引脚(V_{DD}),为I/O焊盘和内核供电,支持2.7V至3.6V的电压范围。
- 时钟:具有全静态设计,主时钟(MCK)由外部源通过MCKI引脚提供,MCKO引脚可输出主时钟信号,该引脚与通用I/O线复用,需要通过PIO控制器进行编程配置。
复位操作
- NRST引脚复位:NRST为低电平有效输入,异步断言,但退出复位时与MCK内部同步。为确保正确操作,MCKI上的信号在NRST上升沿之前至少10个时钟周期内必须有效,处理器在NRST上升沿后80个时钟周期进行首次取指。
- 看门狗复位:看门狗可编程产生内部复位,效果与NRST引脚断言相同,但不采样BMS和NTRI引脚,不更新启动模式和三态模式。若NRST引脚被断言且看门狗触发内部复位,NRST引脚具有优先级。
仿真功能
- 三态模式:用于调试,可在不拆卸目标板上的器件的情况下连接仿真探头。进入三态模式时,AT91R40807微控制器的所有输出引脚驱动禁用,可通过外部引脚直接访问Flash,便于在板安装前使用标准闪存编程器进行生产闪存编程。进入该模式需在NRST上升沿前的最后十个时钟周期将NTRI引脚保持低电平,正常操作时需通过高达400 kΩ的电阻将NTRI引脚在复位期间保持高电平。
- JTAG/ICE调试:支持ARM标准嵌入式在线仿真,TDI、TDO、TCK和TMS引脚专门用于此调试功能,可通过外部ICE接口连接到主机计算机。在ICE调试模式下,ARM7TDMI内核会响应一个非JTAG芯片ID来识别微控制器,但不完全符合IEEE1149.1标准。
内存控制与启动模式
- 内存控制器:ARM7TDMI处理器地址空间为4 Gbytes,内存控制器对内部32位地址总线进行解码,定义了三个地址空间:最低的四兆字节为内部存储器,中间为EBI控制的外部设备(存储器或外设)预留空间,最高的四兆字节为内部外设空间。ARM7TDMI仅在小端模式下运行。
- 启动模式选择:ARM复位向量位于地址0x0,NRST线释放后,ARM7TDMI执行该地址存储的指令。BMS引脚在NRST上升沿前的最后10个时钟周期的输入电平决定了启动存储器的类型,高电平选择内部32位扩展SRAM,低电平选择NCS0上的外部16位存储器。若要使用嵌入式Flash存储器作为启动存储器,需将BMS输入外部拉低,并将NCS0外部连接到NCSF。
- 重映射命令:ARM向量(复位、中止、数据中止、预取中止、未定义指令、中断、快速中断)从地址0x0映射到地址0x20。通过重映射命令可在启动存储器和内部主SRAM存储体地址之间切换,该命令可通过EBI用户界面写入EBI_RCR(重映射控制寄存器)的RCB来实现。若需要访问其他外部设备(连接到片选1至7),则必须执行重映射命令,且重映射操作只能通过内部复位或NRST断言来恢复。
外部总线接口与Flash操作
- 外部总线接口(EBI):处理地址0x0040 0000至0xFFC0 0000之间的访问,可生成控制外部设备访问的信号,可配置为八个1兆字节的存储体至四个16兆字节的存储体,支持字节、半字和字对齐访问。用户可对每个存储体的等待状态数、数据浮动时间、数据总线宽度等进行编程,还具有早期读取协议,可显著减少外部设备在单时钟周期访问时的访问时间要求。
- Flash存储器:2 Mbyte的Flash存储器组织为1,048,576个16位字,通过EBI进行寻址,使用地址线A1 - A20。除Flash存储器使能信号外,地址、数据和控制信号在内部互连。用户需将Flash存储器使能(NCSF)连接到EBI上的一个低电平有效片选信号,若Flash存储器用作启动存储器,则必须使用NCS0,且BMS输入必须外部拉低。启动时,EBI需配置正确数量的标准等待状态。Flash存储器具有数据轮询、开放漏极NBUSY输出引脚和切换位功能,可检测程序或擦除周期的结束。它分为两个存储平面,可在一个平面进行程序或擦除操作时从另一个平面进行读取。此外,它还被划分为39个扇区,具有擦除暂停功能,可保护任何扇区的数据,还提供可选的VPP引脚以提高程序/擦除时间。
AT91 Flash Uploader软件
所有基于Flash的AT91设备都预装了AT91 Flash Uploader软件,该软件位于嵌入式Flash的第一个扇区,允许通过串口对嵌入式Flash进行编程,可使用片上的任意一个USART。操作时,需要将嵌入式Flash用作AT91FR40161的启动存储器,并向MCKI提供有效时钟。复位后,Flash Uploader会立即将自身复制到内部SRAM并跳转执行,后续操作仅使用该内存资源,外部访问仅用于对嵌入式Flash进行编程。编程系统通过专有协议发送命令和数据,最后一步需由编程系统擦除并编程Flash的第一个扇区,以降低Flash Uploader被擦除且电源关闭的风险。
外设操作
- 外设寄存器:AT91FR40161的外设连接到32位宽的高级外设总线,外设寄存器仅支持字访问,字节和半字访问将被自动屏蔽最低地址位并生成字访问。每个外设都有16 Kbyte的地址空间(AIC仅有4 Kbyte),常见的外设寄存器包括控制寄存器(写唯一寄存器,写入1触发命令)、模式寄存器(定义外设配置)、数据寄存器(用于处理器与外设之间的数据交换)、状态寄存器(返回外设状态)和启用/禁用/状态寄存器(用于外设中断源的启用和禁用)。
- 外设中断控制:每个外设的中断控制通过状态寄存器使用中断掩码进行控制,状态寄存器位与相应的中断掩码位进行与运算,结果进行或运算以生成中断源信号发送到高级中断控制器。中断掩码可在中断掩码寄存器中读取,并通过中断使能寄存器和中断禁用寄存器进行修改,可使用不可中断的单条指令启用或禁用外设中断源,避免了在AIC或内核级别进行中断屏蔽。
- 外设数据控制器(PDC):AT91FR40161有4个通道的PDC,专门用于两个片上USART。每个USART的接收器和发送器各有一个PDC通道,PDC通道的用户界面集成在每个USART的内存空间中,包含32位地址指针寄存器(RPR或TPR)和16位传输计数器寄存器(RCR或TCR)。当执行完编程的传输次数后,USART状态寄存器中的传输结束状态位将被设置,并可生成中断。
五、系统与用户外设
系统外设
- 电源管理(PS):优化功耗,可使软件停止ARM7TDMI时钟(空闲模式),并在模块接收到中断(或复位)时重新启动。还可单独启用和禁用片上外设时钟,以匹配功耗和应用需求。
- 高级中断控制器(AIC):具有8级优先级、可单独屏蔽的向量中断控制器,驱动ARM7TDMI的NIRQ和NFIQ引脚,可处理外部快速中断线(FIQ)和片上外设的中断信号。具有广泛的可编程性和向量特性,可减少实时中断处理的开销,还具有伪向量检测功能和保护模式,便于调试。
- 并行I/O控制器(PIO):拥有32个可编程I/O线,其中六个引脚作为通用I/O引脚,其他I/O线与外设的外部信号复用,以优化封装引脚的使用。可在输入变化时生成中断,并在任何PIO引脚插入简单的输入毛刺滤波器。
- 看门狗(WD):基于16位计数器构建,用于防止软件陷入死锁导致系统锁定,可生成内部复位或中断,或在专用引脚NWDOVF上断言有效电平。所有编程寄存器都受密码保护,以防止意外编程。
- 特殊功能(SF):提供实现芯片识别、复位状态和保护模式等特殊功能的寄存器。
用户外设
- USART:提供两个相同的全双工通用同步/异步接收器/发送器,每个USART有自己的波特率发生器和两个专用的外设数据控制器通道。数据格式包括起始位、最多8个数据位、可选的可编程奇偶校验位和最多2个停止位,还具有接收器超时寄存器和时间保护寄存器,便于与PDC配合工作和与慢速远程设备接口。
- 定时器/计数器(TC):包含三个相同的16位定时器/计数器通道,每个通道可独立编程,执行频率测量、事件计数、间隔测量、脉冲生成、延迟定时和脉冲宽度调制等多种功能。可在捕获或波形模式下使用,三个计数器通道可同时启动并链接在一起。
六、订购与封装信息
订购信息
AT91FR40161的订购代码为AT91FR40161 - CI,采用BGA 120封装,适用于工业温度范围( -40°C至85°C)。
封装信息
该微控制器采用120球球栅阵列(BGA)封装,文档中提供了详细的封装图纸和相关尺寸信息,包括球直径、球焊盘、阻焊层开口、镀覆材料、焊球材料、湿度敏感度等级等。同时,还给出了热阻数据、最大重量以及推荐的焊接曲线,设计时需要严格按照这些参数进行电路板设计和焊接操作,以确保器件的性能和可靠性。
七、总结与思考
AT91FR40161微控制器凭借其强大的处理器内核、丰富的存储器配置、多样的外设功能以及灵活的操作模式,为嵌入式系统设计提供了一个全面而强大的解决方案。在实际应用中,电子工程师需要根据具体的项目需求,合理配置引脚、选择合适的启动模式、优化外设使用,以充分发挥该微控制器的性能优势。同时,对于调试和编程功能的掌握,也有助于提高开发效率和产品的稳定性。
大家在使用AT91FR40161微控制器时,是否遇到过一些独特的问题或有一些巧妙的应用经验呢?欢迎在评论区分享交流。
打开APP阅读更多精彩内容