ACE1502系列算术控制器引擎:低功耗应用的理想之选
作为电子工程师,我们在设计过程中常常为寻找一款高性能、低功耗且尺寸小巧的微控制器而绞尽脑汁。今天我要给大家介绍Fairchild Semiconductor推出的ACE1502系列算术控制器引擎(ACEx™),它专为低功耗应用设计,具备诸多出色特性,能为我们的设计带来更多便利和可能性。
文件下载:ACE1502VN.pdf
1. 产品概述
ACE1502系列微控制器是一款专用的可编程单片集成电路。它采用CMOS技术制造,是完全静态的器件。该系列拥有8位微控制器内核、64字节的RAM、64字节的数据EEPROM和2K字节的代码EEPROM。其片上外设丰富,包含多功能16位定时器、看门狗/空闲定时器以及可编程欠压检测电路。片上时钟和复位功能减少了对外接元件的需求,让我们在设计电路时更加轻松。而且它提供了8引脚和14引脚的SOIC、TSSOP和DIP封装,方便不同的应用场景选择。
2. 产品特性亮点
2.1 强大的存储与控制能力
- 丰富的内存配置:2K字节的板载代码EEPROM、64字节的数据EEPROM和64字节的RAM,能满足不同的数据存储和程序运行需求。代码EEPROM可存储程序,数据EEPROM能保存重要数据,RAM则为程序运行提供临时存储。
- 看门狗功能:能有效防止程序跑飞,提高系统的稳定性。一旦程序出现异常,看门狗会及时复位系统,让系统恢复正常运行。
2.2 高效的时钟与指令系统
- 片上振荡器:无需外接元件,就能提供稳定的时钟信号。它的指令周期时间为1µs,精度达到±2%,能保证系统的高效运行。
- 适合加密的指令集:对于需要进行块加密的应用,该系列的指令集能提供很好的支持,增强了系统的安全性。
2.3 灵活的I/O配置与低功耗特性
- 多种I/O选项:支持软件选择I/O模式,有推挽输出(带三态选项)、弱上拉或高阻抗输入等多种选择,能适应不同的外设连接需求。
- 低功耗模式:具有低功耗HALT模式(在2.7V时电流仅100nA)和省电IDLE模式,能大大降低系统的功耗,延长电池续航时间,适用于对功耗要求较高的应用。
2.4 其他特性
- 单电源供电:工作电压范围为1.8 - 3.6V,简化了电源设计。
- 数据保存能力:具备40年的数据保留能力,数据EEPROM的最小写入电压为1.8V,可进行1,000,000次数据更改,保证了数据的长期稳定保存。
3. 电气特性分析
3.1 绝对最大额定值
- 环境存储温度范围为 -65°C 到 +150°C,输入电压范围为 -0.3V 到 VCC + 0.3V,引脚温度(10s最大)为 +300°C,所有引脚的静电放电最小值为2000V。这些参数为我们在设计电路时提供了安全边界,确保芯片在合理的环境下正常工作。
3.2 工作条件与电气参数
- 不同型号的工作范围:ACE1502E的工作电压为1.8 - 3.6V,环境工作温度为 -40°C 到 +85°C;ACE1502V的工作电压同样为1.8 - 3.6V,但环境工作温度范围更广,为 -40°C 到 +125°C。我们可以根据实际应用场景选择合适的型号。
- 直流电气特性:包括电源电流、HALT模式电流、IDLE模式电流、EEPROM写入电压等参数。例如,在无数据EEPROM写入时,不同电压下的电源电流有所不同;HALT模式电流在2.7V、25°C时典型值为100nA。这些参数能帮助我们在设计电源电路和评估功耗时做出准确的判断。
- 交流电气特性:如指令周期时间、内部时钟频率变化、EEPROM写入时间等。内部时钟频率在不同电压和温度下会有一定的变化范围,在设计时需要考虑这些因素对系统性能的影响。
4. 算术控制器核心剖析
4.1 CPU寄存器
ACE1502的ACEx微控制器有五个通用寄存器,分别是累加器(A)、X指针(X)、程序计数器(PC)、堆栈指针(SP)和状态寄存器(SR)。
- 累加器(A):作为8位通用寄存器,用于存储数据和算术计算或数据操作的结果,是数据处理的核心部件之一。
- X指针(X):12位的X指针寄存器能提供灵活的内存寻址能力。它可以通过特殊的X指针指令或内存映射指令进行访问,其最高位用于选择数据或程序内存空间,其余11位作为地址,方便我们在不同的内存区域进行数据读写操作。
- 程序计数器(PC):11位的程序计数器存储下一条要执行的指令地址,复位后在正常模式下初始化为0x800,确保程序从指定位置开始执行。
- 堆栈指针(SP):4位的堆栈指针控制着自动程序堆栈。堆栈可以初始化为0x30 - 0x3F之间的任意位置,复位后默认指向0x3F。在子程序调用和返回时,堆栈指针会自动调整,保证程序的正确执行。
- 状态寄存器(SR):8位的状态寄存器包含四个条件代码指示符(C、H、Z、N)、一个中断屏蔽位(G)和一个EEPROM写入标志(R)。这些标志位能反映指令执行的结果和系统状态,方便我们进行程序控制和错误处理。
4.2 中断处理
ACEx微控制器支持四个中断,其中三个可通过SR的G位屏蔽,软件中断不受G位影响。当发生中断时,当前指令执行完毕,返回地址被压入堆栈,程序跳转到中断向量指定的地址执行中断服务程序。中断处理完毕后,通过RETI指令恢复程序执行。在多个中断同时发生时,微控制器会按照优先级顺序处理中断,确保系统的稳定性和响应速度。
4.3 寻址模式
该微控制器有七种寻址模式,包括索引、间接、直接、立即、绝对跳转和相对跳转等。不同的寻址模式能满足不同的编程需求,提高程序的灵活性和效率。例如,索引寻址模式可以通过偏移量和X指针生成有效地址,方便访问数组和表格数据。
4.4 内存映射
所有I/O端口、外设寄存器和核心寄存器(除累加器和程序计数器外)都映射到内存空间。通过内存映射,我们可以像访问内存一样方便地操作这些寄存器,简化了编程过程。同时,不同的内存区域有不同的功能,如0x00 - 0x3F是数据SRAM,0x800 - 0xFF5是程序EEPROM等。
4.5 内存操作
在正常模式下,我们可以通过轮询SR的R标志来写入数据EEPROM。代码EEPROM在正常模式下受保护,只有在编程模式且写入禁用位未设置时才能重写。这种内存保护机制保证了程序的安全性和数据的稳定性。
4.6 初始化寄存器
微控制器有两个8位的初始化寄存器,用于初始化某些片上外设。初始化寄存器1可用于设置时钟模式、看门狗使能、欠压检测等功能;初始化寄存器2用于微调内部振荡器频率。在编程模式下可以对这些寄存器进行读写操作,但不建议在出厂后重新调整内部振荡器频率。
5. 定时器功能介绍
5.1 定时器1
定时器1是一个多功能的16位定时器,可在四种模式下工作:
- 脉冲宽度调制(PWM)模式:能生成指定宽度和占空比的脉冲信号。通过设置T1RA和T1RB寄存器的值,可以控制脉冲的高低电平时间。在该模式下,定时器溢出时会设置中断标志,可通过软件清除并重新加载寄存器值。
- 外部事件计数器模式:通过T1输入信号的边沿来计数外部事件。可以选择上升沿或下降沿触发,当计数器溢出时会重新加载T1RA寄存器的值,并可产生中断。
- 标准输入捕获模式:用于测量输入信号边沿之间的时间间隔。当检测到指定边沿时,将定时器的值捕获到T1RA寄存器中,方便我们进行时间测量和分析。
- 差分输入捕获模式:能自动测量选定边沿之间的时间差,无需软件进行复杂的计算。该模式可以捕获非常短的脉冲或周期宽度,提高了系统的测量精度。
5.2 定时器0
定时器0是一个12位的自由运行空闲定时器。上电或复位后,它从0x000开始计数,每8192个周期(复位后初始为4096个周期)设置一次T0PND标志。我们可以通过轮询T0PND标志或使用中断来处理定时器溢出事件。定时器0还支持退出IDLE模式、HALT模式启动延迟和看门狗预分频等功能。
6. 看门狗与硬件位编码器
6.1 看门狗
看门狗定时器用于在处理器出现“失控”情况时复位设备。它以12位的定时器0作为预分频器,需要在每61,440个周期(但不早于上一次复位后的4096个周期)内进行喂狗操作,即向WDSVR寄存器写入0x1B。看门狗必须在编程模式下通过初始化寄存器的WDEN位启用,一旦启用,软件无法禁用。在进入IDLE模式前,一定要确保看门狗已被喂狗,否则可能会导致系统异常复位。
6.2 硬件位编码器(HBC)
HBC是一个专门用于IR/RF数据传输的硬件位编码外设块。它完全由软件编程控制,可以模拟各种位编码格式。通过配置PSCALE、HPATTERN、LPATTERN、BPSEL、HBCNTRL和DAT0等寄存器,我们可以选择传输频率、存储数据位编码模式、配置数据位模式/帧长度以及控制数据传输流程。例如,通过设置PSCALE寄存器可以在976Hz到125kHz之间配置传输频率。
7. 多输入唤醒/中断块与I/O端口
7.1 多输入唤醒/中断块(MIW)
MIW包含WKEDG、WKEN和WKPND三个内存映射寄存器。WKEDG寄存器用于设置唤醒输入引脚的边沿灵敏度,WKEN寄存器用于启用或禁用每个引脚的唤醒/中断功能,WKPND寄存器包含每个引脚的待处理标志。在使用MIW时,需要按照一定的步骤进行配置,避免产生虚假的待处理标志。当检测到引脚的边沿变化时,相应的WKPND位会被设置,可用于唤醒设备或触发中断。
7.2 I/O端口
ACE1502有八个双向I/O引脚(8引脚封装有六个),可以通过软件将其配置为高阻抗输入、带弱上拉的输入或推挽输出。每个引脚对应三个内存映射寄存器:PORTGC用于配置引脚为输入或输出,PORTGD用于设置引脚的状态或选择输入模式,PORTGP用于读取引脚的值。这些寄存器的配置为我们连接各种外设提供了很大的灵活性。
8. 在线编程、复位与电源管理
8.1 在线编程
该微控制器支持在线编程内部数据EEPROM、代码EEPROM和初始化寄存器。进入编程模式需要在设备执行内部上电复位时,将10位操作码(0x34B)串行移入芯片。编程通过一个外部控制的四线接口进行,包括LOAD控制引脚、SHIFT - IN输入引脚、SHIFT - OUT输出引脚和CLOCK引脚。编程过程中需要遵循特定的时序和协议,确保数据的正确写入和读取。
8.2 复位
复位可以由上电复位、欠压复位、看门狗复位或外部复位(仅14引脚封装有)触发。复位时,所有I/O寄存器将被重置,系统时钟重新启动。上电复位要求Vcc的上升速率不低于10ms/1V,如果不满足该条件,可以使用外部复位引脚。
8.3 电源管理
- HALT模式:这是一种低功耗模式,几乎完全关闭设备。进入HALT模式后,内部振荡器和所有片上系统(包括LBD和BOR电路)都会关闭。设备只能通过MIW电路唤醒,唤醒后需要1ms的启动延迟来稳定振荡器。
- IDLE模式:与HALT模式类似,但内部振荡器、看门狗和定时器0保持活动状态。设备会在定时器0溢出时自动唤醒,唤醒后可以立即恢复正常操作。在进入IDLE模式前,需要清除WKEN寄存器以禁用MIW块。
9. 辅助开发工具
Fairchild Semiconductor为ACE1502提供了丰富的开发工具,如模拟器、仿真器套件、原型板套件等。模拟器可以在Windows系统上加载、汇编和调试ACEx程序,还可以设置断点和跟踪程序执行。仿真器套件支持实时在线调试,能以符号格式调试程序代码,并具备内置编程功能。原型板套件包括ACEDEMO和ACETXRX,分别适用于通用应用和收发应用,方便我们快速测试ACEx应用。
ACE1502系列算术控制器引擎以其高性能、低功耗、丰富的功能和灵活的配置,为电子工程师在低功耗应用设计中提供了一个优秀的选择。在实际应用中,我们可以根据具体需求充分发挥其特性,设计出更加稳定、高效的系统。大家在使用过程中遇到过哪些问题或者有什么独特的应用经验呢?欢迎在评论区分享交流。
发布评论请先 登录
ACE1502系列算术控制器引擎:低功耗应用的理想之选
评论