ST7SCR1E4与ST7SCR1R4:8位低功耗USB MCU的深度剖析
在当今的电子设备领域,低功耗、高性能的微控制器(MCU)至关重要。ST7SCR1E4和ST7SCR1R4这两款8位低功耗、全速USB MCU凭借其出色的性能和丰富的功能,成为众多工程师的理想选择。本文将深入剖析这两款MCU的特点、功能及应用,为电子工程师提供全面的技术参考。
文件下载:ST7FSCR1R4T1.pdf
一、产品概述
ST7SCR1E4和ST7SCR1R4属于ST7微控制器家族,专为USB应用设计。它们基于通用的8位核心,具备增强的指令集,支持多种功能,适用于各种对功耗和性能有要求的应用场景。
(一)存储器
- 程序存储器:提供高达16KB的ROM或高密度闪存(HDFlash),支持读写保护,HDFlash还具备在线编程(ICP)和应用内编程(IAP)功能,保证了100次写/擦除循环,数据在55°C下可保留40年。
- 随机存取存储器(RAM):高达768字节的RAM,包括128字节的堆栈和256字节的USB缓冲区,为数据处理和存储提供了充足的空间。
(二)时钟、复位和电源管理
- 低电压复位:确保设备在电源异常时能正常复位,保障系统的稳定性。
- 电源节省模式:支持Halt和Wait两种低功耗模式,有效降低功耗,延长设备的续航时间。
- PLL时钟生成:使用4MHz晶体生成48MHz的USB时钟,满足USB通信的高速需求。
(三)中断管理
采用嵌套中断控制器,支持硬件中断和软件中断(TRAP),具备灵活的中断优先级和级别管理,最多可实现4级软件可编程嵌套,拥有16个固定的中断向量。
(四)USB接口
- 高速通信:支持USB 2.0规范,具备256字节的缓冲区,适用于全速批量、控制和中断传输类型。
- 集成设计:片上集成3.3V USB电压调节器和收发器,无需外部组件,简化了设计。
- 多端点支持:提供7个USB端点,包括一个8字节的双向控制端点、一个64字节的输入端点、一个64字节的输出端点和四个8字节的输入端点。
(五)I/O端口
- 丰富的I/O资源:提供35或4个I/O端口,其中多达4个LED输出可通过软件编程实现3mA或7mA的恒定电流。
- 中断功能:2个通用I/O可配置为中断输入,多达8个线路输入也可配置为中断输入,最多支持20个输出。
(六)ISO7816 - 3 UART接口
- 时钟生成:支持4MHz时钟生成,适用于同步/异步协议(T = 0, T = 1)。
- 错误处理:具备奇偶校验错误自动重试功能,可编程波特率范围从372个时钟脉冲到11.625个时钟脉冲。
- 智能卡管理:支持智能卡插入/移除检测,提供可编程的智能卡电源供应,可选1.8V、3V和5V的卡电压,内部升压转换器可仅使用两个外部组件为5V智能卡供电,还具备可编程的智能卡内部电压调节器,带有电流过载保护和4KV ESD保护。
(七)定时器
配备一个8位定时器和时间基准单元(TBU),可用于生成周期性中断,满足定时任务的需求。
二、寄存器和内存映射
MCU能够寻址64KB的存储器和I/O寄存器,可用的内存位置包括40字节的寄存器位置、最多512字节的RAM和最多16KB的用户程序内存。RAM空间包括从0100h到017Fh的128字节堆栈,最高地址字节包含用户复位和中断向量。
三、Flash程序存储器
(一)特点
- 多种编程模式:支持插入编程工具、ICP和IAP三种编程模式,方便用户根据不同需求进行编程。
- 扇区管理:Flash存储器按扇区组织,可独立擦除每个扇区,避免不必要的全擦除操作。
- 读保护:通过选项位启用读保护,保护Flash内存中的程序和数据不被读取和重写。
(二)编程方法
- ICP(在线编程):通过外部控制器或编程工具将微控制器切换到ICC模式,可根据下载到RAM的ICP代码自定义Flash内存编程。
- IAP(应用内编程):使用预先存储在扇区0中的引导加载程序,由用户软件完全控制,可对除扇区0之外的所有扇区进行编程。
四、中央处理单元(CPU)
(一)架构和特点
- 8位架构:具备6个内部寄存器,支持63条基本指令,可实现高效的8位数据操作。
- 快速乘法:支持快速的8位×8位乘法运算,提高数据处理速度。
- 多种寻址模式:拥有17种主要寻址模式,包括间接寻址模式,提供了灵活的内存访问方式。
- 低功耗模式:支持HALT和WAIT低功耗模式,降低系统功耗。
- 中断管理:支持优先级可屏蔽硬件中断和不可屏蔽软件/硬件中断。
(二)寄存器
- 累加器(A):8位通用寄存器,用于存储操作数和算术逻辑运算结果。
- 索引寄存器(X和Y):8位寄存器,用于创建有效地址或作为临时数据存储区。
- 程序计数器(PC):16位寄存器,存储下一条要执行的指令地址。
- 条件代码寄存器(CC):8位寄存器,包含中断掩码和四个标志位,反映指令执行结果。
- 堆栈指针(SP):16位寄存器,始终指向堆栈中的下一个空闲位置。
五、电源节省模式
(一)Wait模式
通过调用“WFI”指令进入Wait模式,此时CPU停止运行,所有外设保持活动状态。在此模式下,CC寄存器的I位被强制为0,允许所有中断。MCU将保持在Wait模式,直到发生中断或复位。
(二)Halt模式
执行“HALT”指令进入Halt模式,这是MCU的最低功耗模式。内部振荡器关闭,所有内部处理停止,包括片上外设的操作。进入Halt模式前必须禁用PLL。当接收到外部中断、USB外设的结束暂停模式中断或复位时,MCU可退出Halt模式,振荡器重新开启,经过512个CPU时钟周期的稳定时间后,CPU恢复运行。
六、I/O端口
(一)功能模式
- 数据传输:支持通过数字输入和输出进行数据传输。
- 外设信号:特定引脚可作为片上外设的备用信号输入/输出。
- 中断检测:可配置为外部中断检测。
(二)寄存器配置
每个端口关联4个主要寄存器:数据寄存器(DR)、数据方向寄存器(DDR)、选项寄存器(OR)和上拉寄存器(PU)。通过这些寄存器可独立配置每个I/O引脚为数字输入(带或不带中断生成)或数字输出。
七、片上外设
(一)看门狗定时器(WDG)
用于检测软件故障,当计数器超时未刷新时,会触发MCU复位。可通过选项字节选择软件或硬件看门狗模式,在低功耗模式下也能正常工作。
(二)时间基准单元(TBU)
可用于生成周期性中断,具备8位向上计数器和可编程预分频器,中断周期最大为8.1ms(在8MHz fCPU下)。
(三)USB接口
实现USB与ST7微控制器之间的全速功能接口,集成收发器、3.3V电压调节器、SIE和USB数据缓冲区接口,支持USB 1.1规范,具备CRC生成/检查、NRZI编码/解码和位填充等功能。
(四)智能卡接口(CRD)
提供与智能卡通信所需的所有信号,支持ISO 7816标准,具备字符模式、自动字符重复和重试功能,可检测卡插入/移除并生成中断。
八、指令集
(一)寻址模式
CPU具备17种不同的寻址模式,可分为7个主要组,包括固有、立即、直接、索引、间接、相对和位操作模式。大多数寻址模式可细分为长和短两种子模式,以满足不同的应用需求。
(二)指令组
ST7家族设备使用由63条指令组成的指令集,可分为13个主要组,包括加载和传输、堆栈操作、增量/减量、比较和测试、逻辑操作、位操作、条件位测试和分支、算术操作、移位和旋转、无条件跳转或调用、条件分支、中断管理和条件代码标志修改等。
九、电气特性
(一)绝对最大额定值
包括电源电压、输入电压、输出电压、ESD敏感度等参数,使用时需注意避免超出这些额定值,以免损坏设备。
(二)推荐工作条件
包括电源电压、外部时钟源和环境温度范围等,确保设备在推荐条件下工作可获得最佳性能。
(三)其他特性
还包括热特性、I/O端口特性、时钟和定时特性、存储器特性、智能卡供应监控器电气特性、EMC特性和通信接口特性等。
十、应用场景与开发建议
(一)应用场景
- 智能卡读卡器:利用其智能卡接口和USB通信功能,可实现高效的智能卡读写操作。
- 工业控制:低功耗和高性能的特点使其适用于工业自动化中的控制设备。
- 消费电子:如便携式设备、智能家居等,可满足对功耗和性能的要求。
(二)开发建议
- 熟悉寄存器操作:深入了解各寄存器的功能和配置方法,以便灵活控制MCU的各项功能。
- 合理使用低功耗模式:根据应用需求,合理选择Wait和Halt模式,降低系统功耗。
- 注意中断处理:正确处理中断,避免中断嵌套导致的堆栈溢出等问题。
- 参考应用笔记:充分利用ST提供的应用笔记,学习和借鉴他人的开发经验。
ST7SCR1E4和ST7SCR1R4是两款功能强大、性能卓越的8位低功耗USB MCU,在众多领域都有广泛的应用前景。电子工程师在开发过程中,应充分了解其特点和功能,结合实际需求进行合理设计,以实现最佳的系统性能。希望本文能为工程师们提供有价值的参考,助力开发出更优秀的产品。