0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入解析C8051F000/1/2/5/6/7和C8051F010/1/2/5/6/7混合信号MCU

chencui 2026-04-15 12:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

深入解析C8051F000/1/2/5/6/7和C8051F010/1/2/5/6/7混合信号MCU

引言

在当今的电子设计领域,混合信号MCU凭借其强大的功能和高集成度,成为了众多工程师的首选。Silicon Labs的C8051F000/1/2/5/6/7和C8051F010/1/2/5/6/7系列MCU就是其中的佼佼者。本文将对这一系列MCU进行全面而深入的剖析,涵盖其系统概述、各模块功能、寄存器配置等方面,为电子工程师们提供一份详尽的参考资料。

文件下载:C8051F012-GQR.pdf

一、系统概述

1.1 产品特性

C8051F000系列MCU是高度集成的混合信号片上系统,具备真正的12位多通道ADC(F000/01/02/05/06/07)或10位多通道ADC(F010/11/12/15/16/17)。它集成了可编程增益前置放大器、两个12位DAC、两个电压比较器(F002/07/12/17只有一个)、电压基准以及与8051兼容的微控制器内核,还拥有32KB的FLASH内存。同时,它还具备I2C/SMBus、UART和SPI串行接口,以及可编程计数器/定时器阵列(PCA)等。C8051F000/01/02/10/11/12拥有256字节的RAM,最高执行速度可达20MIPS;而C8051F005/06/07/15/16/17则拥有2304字节的RAM,最高执行速度可达25MIPS。

1.2 产品选择指南

型号 MIPS (Peak) 内部RAM 通信接口 ADC分辨率(位) ADC输入 温度传感器 封装形式
C8051F012 20 2304 SPI、UART等 10 100 32LQFP
C8051F011 20 2304 SPI、UART等 10 100 48TQFP
C8051F010 20 2304 SPI、UART等 10 100 64TQFP
C8051F007 25 2304 SPI、UART等 12 100 48TQFP
C8051F000 20 256 SPI、UART等 12 100 64TQFP

二、核心CPU——CIP - 51

2.1 兼容性与性能

CIP - 51微控制器内核与MCS - 51™指令集完全兼容,这意味着标准的803x/805x汇编器和编译器都可用于开发软件。与标准8051架构相比,CIP - 51采用流水线架构,大大提高了指令吞吐量。在标准8051中,除MUL和DIV指令外,所有指令执行需要12或24个系统时钟周期,且最大系统时钟通常为12MHz。而CIP - 51内核70%的指令在1或2个系统时钟周期内执行,无指令执行时间超过8个系统时钟周期。在25MHz的最大系统时钟下,其峰值吞吐量可达25MIPS。

2.2 指令集与CPU定时

CIP - 51的指令集与标准MCS - 51™指令集完全兼容,但指令定时有所不同。它基于时钟周期计时,大部分指令的执行时钟周期数与指令的程序字节数相同。条件分支指令在不跳转时比跳转时少一个时钟周期。

2.3 MOVX指令与程序内存

MOVX指令通常用于访问外部数据内存,在CIP - 51中,它可通过PSCTL寄存器的控制位访问片上作为可重编程Flash内存实现的程序内存空间,这为程序代码更新和非易失性数据存储提供了便利。

三、内存组织

3.1 程序内存

CIP - 51拥有64KB的程序内存空间,其中32896字节实现为可在系统中重编程的Flash内存,从地址0x0000到0x807F连续排列。需注意的是,512字节(0x7E00 - 0x7FFF)的内存为工厂预留,不可用于用户程序存储。程序内存通常为只读,但通过设置PSCTL.0位并使用MOVX指令,CIP - 51可对其进行写入操作。

3.2 数据内存

CIP - 51实现了256字节的内部RAM,映射到数据内存空间的0x00到0xFF。数据内存的低128字节用于通用寄存器和暂存内存,可通过直接或间接寻址访问。0x00到0x1F的位置可作为四个通用寄存器组进行寻址,接下来的16字节(0x20到0x2F)既可以字节寻址,也可以位寻址。数据内存的高128字节只能通过间接寻址访问,它与特殊功能寄存器(SFR)占用相同的地址空间,但物理上是分离的。C8051F005/06/07/15/16/17还在CIP - 51的外部数据内存空间中有2048字节的RAM,可使用MOVX指令访问。

3.3 通用寄存器与位寻址位置

数据内存的低32字节(0x00到0x1F)可作为四个通用寄存器组进行寻址,每个组由八个字节宽的寄存器R0到R7组成。程序状态字中的RS0(PSW.3)和RS1(PSW.4)两位用于选择活动寄存器组,方便在子程序和中断服务程序中进行快速上下文切换。此外,0x20到0x2F的16个数据内存位置还可作为128个可单独寻址的位进行访问。

3.4 堆栈

程序员的堆栈可位于256字节数据内存的任何位置,通过堆栈指针(SP,0x81)SFR指定堆栈区域。复位时,堆栈指针初始化为0x07,因此第一个压入堆栈的值将位于0x08位置。MCU还具备内置的堆栈记录硬件,可检测堆栈的溢出或下溢,并在全速调试时通知调试软件。

四、特殊功能寄存器(SFR)

4.1 SFR概述

直接访问数据内存中从0x80到0xFF的位置构成了特殊功能寄存器(SFR),它们用于与CIP - 51的资源和外设进行控制和数据交换。CIP - 51不仅复制了典型8051实现中的SFR,还实现了额外的SFR,用于配置和访问MCU特有的子系统,在保持与MCS - 51™指令集兼容性的同时增加了新功能。

4.2 部分重要SFR介绍

  • SP(堆栈指针):保存堆栈顶部的位置,每次PUSH操作前会递增。复位后默认值为0x07。
  • DPL和DPH:分别是16位数据指针DPTR的低字节和高字节,用于间接寻址访问RAM和Flash内存。
  • PSW(程序状态字):包含多个标志位,如进位标志CY、辅助进位标志AC、寄存器组选择位RS1 - RS0等,用于反映程序执行状态和控制寄存器组的选择。
  • ACC(累加器):用于算术运算。
  • B寄存器:作为某些算术运算的第二个累加器。

五、中断处理

5.1 中断源与向量

CIP - 51包含一个扩展的中断系统,支持总共22个中断源,具有两个优先级级别。中断源包括复位、外部中断、定时器溢出、串口中断等。每个中断源都有一个或多个关联的中断挂起标志位于SFR中,当外设或外部源满足有效中断条件时,关联的中断挂起标志将被置为逻辑1。

5.2 外部中断

两个外部中断源(/INT0和/INT1)可配置为低电平敏感或下降沿敏感输入,通过设置IT0(TCON.0)和IT1(TCON.2)来选择。其余四个外部中断(外部中断4 - 7)为低电平、下降沿敏感输入,中断挂起标志位于Port 1中断标志寄存器中。

5.3 中断优先级

每个中断源可单独编程为低或高优先级。低优先级中断服务程序可被高优先级中断抢占,高优先级中断不可被抢占。每个中断都有一个关联的中断优先级位在SFR(IP - EIP2)中,用于配置其优先级级别,默认优先级为低。

5.4 中断延迟

中断响应时间取决于CPU在中断发生时的状态。最快响应时间为5个系统时钟周期,最长响应时间在特定情况下(如CPU执行RETI指令后接DIV指令)可达18个系统时钟周期。

六、电源管理模式

6.1 空闲模式

设置空闲模式选择位(PCON.0)会使CIP - 51在指令执行完成后暂停CPU并进入空闲模式,所有内部寄存器和内存保持原始数据,所有模拟和数字外设可保持活动。空闲模式可通过使能的中断或/RST信号终止,此时空闲模式选择位将被清除,CPU恢复运行。

6.2 停止模式

设置停止模式选择位(PCON.1)会使CIP - 51进入停止模式,CPU和振荡器停止,所有数字外设关闭。每个模拟外设必须在进入停止模式前单独关闭。停止模式只能通过内部或外部复位终止。

七、Flash内存

7.1 编程与擦除

这些设备包含32k + 128字节的片上可重编程Flash内存,可通过JTAG接口或使用MOVX指令在系统中逐字节编程。Flash位一旦清零,必须通过擦除操作才能重新置为1。写入和擦除操作由硬件自动定时,无需数据轮询来确定操作结束。Flash内存设计可承受至少20,000次写入/擦除周期。

7.2 非易失性数据存储

Flash内存可用于非易失性数据存储,允许在运行时计算和存储校准系数等数据。数据通过MOVX指令写入,通过MOVC指令读取。此外,MCU还在0x8000 - 0x807F位置有一个128字节的Flash扇区,适合作为通用非易失性暂存内存。

7.3 安全选项

CIP - 51提供安全选项来保护Flash内存,防止软件意外修改以及防止查看专有程序代码和常量。Program Store Write Enable(PSCTL.0)和Program Store Erase Enable(PSCTL.1)位可保护Flash内存,必须显式设置为逻辑1才能通过软件修改Flash内存。此外,位于0x7DFE和0x7DFF的安全锁字节可防止通过JTAG接口读取或修改Flash程序内存。

八、外部RAM(C8051F005/06/07/15/16/17)

C8051F005/06/07/15/16/17 MCUs在外部数据内存空间中包含2048字节的RAM,可使用外部移动指令(MOVX)和数据指针(DPTR)或MOVX间接寻址模式访问。该2048字节的RAM以模方式映射在整个64k外部数据内存地址范围内,方便进行线性内存填充操作。

九、复位源

9.1 复位类型

MCU有七种复位源,包括上电复位、软件强制复位、掉电复位、外部复位、缺失时钟检测器复位、比较器0复位和看门狗定时器复位。每种复位源都有其特定的触发条件和操作方式。

9.2 上电复位

C8051F000系列包含电源监控器,在上电时将MCU保持在复位状态,直到VDD上升到(V_{RST}) 电平以上。/RST引脚在100ms的VDD监控器超时结束前保持低电平,以确保VDD电源稳定。

9.3 看门狗定时器复位

MCU包含一个可编程的看门狗定时器(WDT),由系统时钟驱动。当看门狗定时器溢出时,将强制MCU进入复位状态。为防止复位,应用程序软件必须在溢出发生前重启WDT。

十、振荡器

10.1 内部振荡器

每个MCU都包含一个内部振荡器和一个外部振荡器驱动电路,可生成系统时钟。MCU在任何复位后从内部振荡器启动,内部振荡器可通过内部振荡器控制寄存器(OSCICN)进行启用/禁用和频率更改。

10.2 外部振荡器

外部振荡器需要一个外部谐振器、并联模式晶体、电容器或RC网络连接到XTAL1/XTAL2引脚。可通过OSCXCN寄存器配置振荡器电路的源。外部CMOS时钟也可通过驱动XTAL1引脚提供系统时钟。

十一、端口输入/输出

11.1 端口资源与交叉开关

MCU通过四个数字I/O端口(P0、P1、P2和P3)提供广泛的数字资源。每个端口的引脚可定义为相应的端口I/O或分配的内部数字资源。通过优先级交叉开关解码器,可将内部数字资源分配到物理I/O引脚,实现资源分配的灵活性。

11.2 端口初始化

端口I/O初始化包括加载XBR0、XBR1和XBR2寄存器以选择所需的数字I/O功能,设置XBR2中的XBARE位以启用交叉开关。通过端口配置寄存器(PRT0CF、PRT1CF、PRT2CF、PRT3CF)定义I/O引脚的输出驱动特性,可配置为推挽或开漏模式。

11.3 通用端口I/O

每个MCU有四个字节宽的双向并行端口,可作为通用I/O使用。通过相应的特殊功能寄存器(SFR)访问端口时,写入的值将被锁存以保持输出数据值,读取时返回端口输入引脚的逻辑电平。

十二、串行接口

12.1 SMBus / I2C总线

SMBus串行I/O接口符合系统管理总线规范1.1版,与I2C串行总线兼容。它是一个两线、双向串行总线,数据传输速率可达系统时钟的(1/8) 。支持主从设备之间的数据传输,具备仲裁和时钟低扩展机制,以适应不同速度的设备。

12.2 串行外设接口总线(SPI)

SPI提供一个四线、全双工的串行总线,支持多个从设备连接到主设备。可配置为主设备或从设备,主设备模式下最大数据传输速率为系统时钟频率的一半,从设备模式下全双工操作最大数据传输速率为系统时钟频率的(1/10) 。

12.3 UART

UART是一个能够进行异步传输的串行端口,可工作在全双工模式。它有四个操作模式,提供不同的波特率和通信协议。支持多处理器通信,通过第九数据位实现主从处理器之间的通信。

十三、定时器

13.1 定时器概述

每个MCU实现了四个计数器/定时器,包括三个与标准8051兼容的16位计数器/定时器和一个用于ADC、SMBus或通用用途的16位定时器。它们可用于测量时间间隔、计数外部事件和生成周期性中断请求。

13.2 定时器0和定时器1

定时器0和定时器1有四种主要操作模式,包括13位计数器/定时器、16位计数器/定时器、8位计数器/定时器带自动重载和两个8位计数器/定时器(仅定时器0)。可通过TCON和TMOD寄存器进行控制和配置。

13.3 定时器2

定时器2是一个16位计数器/定时器,可使用系统时钟或外部输入引脚的转换作为时钟源。它有三种操作模式:16位计数器/定时器带捕获、16位计数器/定时器带自动重载和波特率发生器模式。

13.4 定时器3

定时器3是一个16位定时器,输入为系统时钟(根据T3M位选择除以1或12)。它总是配置

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深度解析 C8051T600/1/2/3/4/5/6 微控制器:特性、应用与设计要点

    C8051T601-GS.pdf 一、器件概述 C8051T600/1/2/3/4/5/6
    的头像 发表于 04-15 14:55 119次阅读

    深度剖析C8051F350/1/2/3系列MCU:特性、架构与应用解析

    Laboratories推出的C8051F350/1/2/3系列MCU,以其丰富的特性和出色的性能,成为众多应用场景中的理想选择。今天,就让我们
    的头像 发表于 04-15 11:40 178次阅读

    C8051F330/1/2/3/4/5系列MCU混合信号ISP Flash MCU的卓越之选

    C8051F330/1/2/3/4/5系列MCU混合信号
    的头像 发表于 04-15 11:30 126次阅读

    深入剖析C8051F330/1/2/3/4/5系列MCU:功能特性与应用指南

    深入剖析C8051F330/1/2/3/4/5系列MCU:功能特性与应用指南 在电子工程师的日常
    的头像 发表于 04-15 11:30 132次阅读

    深入解析C8051F326/7:全功能USB MCU的卓越之选

    深入解析C8051F326/7:全功能USB MCU的卓越之选 在当今电子技术飞速发展的时代,微控制器(
    的头像 发表于 04-15 11:30 124次阅读

    探索C8051F310/1/2/3/4/5/6/7 8/16 kB ISP Flash MCU家族的卓越性能

    深入探讨C8051F310/1/2/3/4/5/6/7
    的头像 发表于 04-15 11:15 131次阅读

    深入解析C8051F300/1/2/3/4/5混合信号ISP闪存MCU系列

    深入解析C8051F300/1/2/3/4/5混合
    的头像 发表于 04-15 11:15 122次阅读

    深入解析C8051F120/1/2/3/4/5/6/7系列8K ISP FLASH MCU

    深入解析C8051F120/1/2/3/4/5/6/
    的头像 发表于 04-15 11:05 110次阅读

    探究C8051F040/1/2/3/4/5/6/7 8K ISP FLASH MCU家族的强大性能与应用潜力

    探究C8051F040/1/2/3/4/5/6/7 8K ISP FLASH
    的头像 发表于 04-15 10:55 129次阅读

    深入解析C8051F018/9混合信号MCU:特性、应用与设计要点

    深入解析C8051F018/9混合信号MCU:特性、应用与设计要点 在电子工程师的工具箱中,一款
    的头像 发表于 04-15 10:40 123次阅读

    深入解析C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7混合信号MCU

    深入解析C8051F000/1/2/5/6/
    的头像 发表于 04-15 10:30 112次阅读

    深入解析Silicon Labs C8051F2xx 8K ISP FLASH MCU家族

    深入解析Silicon Labs C8051F2xx 8K ISP FLASH MCU家族 在当今的电子设计领域,微控制器(MCU)扮演着至
    的头像 发表于 03-19 17:35 1060次阅读

    C8051F52x/F53x 8/4/2 kB ISP Flash MCU Family:高性能混合信号MCU的深度剖析

    C8051F52x/F53x 8/4/2 kB ISP Flash MCU Family:高性能混合信号
    的头像 发表于 03-18 17:05 516次阅读

    深入解析Silicon Labs C8051F000系列MCU:特性、应用与技术细节

    C8051F000系列是完全集成的混合信号片上系统MCU,有12位多通道ADC(F000/01/02/05/06/07)或10位多通道AD
    的头像 发表于 03-15 17:30 1051次阅读

    深度剖析Silicon Labs C8051F2xx系列MCU:性能、特性与应用全解析

    C8051F2xx系列MCU深入探讨其特性、功能以及在实际应用中的表现。 文件下载: C8051F231-GQR.pdf 一、系统概述 C805
    的头像 发表于 02-11 14:15 390次阅读