C8051F340器件是集成的混合信号片上系统型MCU。
目录
C8051F340器件是集成的混合信号片上系统型MCU。
高速、流水线结构的8051兼容的微控制器内核(可达48MIPS)
全速、非侵入式的在系统调试接口(片内)
通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1K FIFO RAM
电源稳压器
真正10位200 ksps的单端/差分ADC,带模拟多路器
片内电压基准和和温度传感器
片内电压比较器(两个)
精确校准的12MHz内部振荡器和4倍时钟乘法器
多达64KB的片内FLASH存储器
多达4352字节片内RAM(256+4KB)
硬件实现的SMBus/ I2C、增强型UART(最多两个)和增强型SPI串行接口
4个通用的16位定时器
具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA)
片内上电复位、VDD监视器和时钟丢失检测器
多达40个端口I/O(容许5V输入)
具有片内上电复位、VDD监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7器件是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有的控制,可以关断任何一个或所有外设以节省功耗。
片内Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。
每种器件都可在工业温度范围(-45℃到+85℃)内用2.7V-5.25V的电压工作。电源电压大于3.6V时,必须使用内部稳压器。对于USB通信,电源电压最小值为3.0V。端口I/O和/RST引脚都容许5V的输入信号电压。C8051F340/1/2/3/4/5/6/7采用48脚TQFP封装或32脚LQFP封装。
图1: 原理框图
C8051F340/1/2/3/4/5/6/7系列器件使用Silicon Labs的CIP-51微控制器内核。CIP-51与MCS-51TM指令集兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括4个16位计数器/定时器、两个具有扩展波特率配置的全双工UART、一个增强型SPI端口、多达4352字节的内部RAM、128字节特殊功能寄存器(SFR)地址空间及多达40个I/O引脚。
CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,系统时钟频率为12-24MHz。而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。
CIP-51共有111条指令。下表列出了指令条数与执行时所需的系统时钟周期数的关系。
执行周期数 | 1 | 2 | 2/3 | 3 | 3/4 | 4 | 4/5 | 5 | 8 |
指令数 | 26 | 50 | 5 | 16 | 7 | 3 | 1 | 2 | 1 |
C8051F340/1/2/3/4/5/6/7 SoC系列MCU在CIP-51内核和外设方面有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。
扩展的中断系统向CIP-51提供16个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU干预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。
C8051F340/1/2/3/4/5/6/7有多达9个复位源:上电复位电路(POR)、片内VDD监视器(当电源电压低于VRST时强制复位)、USB控制器(USB总线复位或VBUS状态变化)、看门狗定时器、时钟丢失检测器、由比较器0提供的电压检测器、软件强制复位、外部复位输入引脚和FLASH读/写错误保护电路复位。除了POR、复位输入引脚及FLASH操作错误这三个复位源之外,其他复位源都可以被软件禁止。在一次上电复位之后的MCU初始化期间,WDT可以被性使能。
高速内部振荡器在出厂时已经被校准为12MHz ±1.5%。时钟恢复电路允许内部振荡器与4倍时钟乘法器配合,提供全速方式USB时钟源。内部振荡器还被用作低速方式下的USB时钟源。外部振荡器也可以与4倍时钟乘法器配合使用。器件内集成了一个低频振荡器,可以在功耗关键的应用中使用。器件内还集成了外部振荡器驱动电路,允许使用晶体、陶瓷谐振器、电容、RC或外部CMOS时钟源产生系统时钟。系统时钟可以被配置为使用内部振荡器、外部振荡器或时钟乘法器输出二分频。如果需要,可以在CPU运行时切换系统时钟振荡源。低频内部振荡器或外部振荡器在低功耗系统中是非常有用的,它允许MCU从一个低频率(节电)的时钟源运行,当需要时再周期性地切换到高速时钟源。
图2: 片内时钟和复位电路
CIP-51有标准8051的程序和数据地址配置。它包括256字节的数据RAM,其中高128字节为双映射。用间接寻址访问通用RAM的高128字节,用直接寻址访问128字节的SFR地址空间。数据RAM的低128字节可用直接或间接寻址方式访问。前32个字节为4个通用寄存器区,接下来的16字节既可以按字节寻址也可以按位寻址。
程序存储器包含64KB(C8051F340/2/4/6)或32KB(C8051F341/3/5/7)的FLASH。该存储器以512字节为一个扇区,可以在系统编程,且不需特别的编程电压。该系列器件都包含片内XRAM。64KB FLASH器件(C8051F340/2/4/6)具有4KB的XRAM,32KB FLASH器件(C8051F341/3/5/7)具有2KB的XRAM。所有器件都有独立的1KB USB FIFO RAM。图1.4给出了64KB FLASH器件的存储器组织。注意,对于64KB器件,位于0xFC00 ~ 0xFFFF的1024字节被保留。
通用串行总线控制器(USB0)符合USB2.0规范,可以全速或低速工作,集成了收发器和端点FIFO RAM。共有8个端点:一个双向控制端点(端点0)和三对输入/输出端点(端点1-3 输入/输出)。
有1KB的RAM块被用作USB FIFO空间。该FIFO空间被分配给端点0-3;端点1-3 的FIFO可以被配置为输入(IN)、输出(OUT)或输入/输出(分割模式)。的FIFO大小为512字节(端点3)。
USB0可以工作在全速或低速方式。片内4倍时钟乘法器和时钟恢复电路允许使用内部高精度振荡器作为USB时钟源,实现全速和低速通信。外部振荡器也可以与4倍时钟乘法器配合使用来产生USB时钟。CPU时钟源与USB时钟相互独立。
USB收发器符合USB2.0规范,并包含内部匹配和上拉电阻。上拉电阻可以被用软件使能/禁止,可以根据软件选择的速度设置(全速或低速)出现在D+或D-引脚。
图3:USB控制器原理框图
C8051F340/1/2/3/4/5/6/7器件内部包含一个稳压器(REG0)。当被使能时,REG0输出连到VDD引脚,并可为外部器件提供电源。REG0可以被软件使能/禁止。
C8051F340/1/2/3/4/5/6/7器件具有片内Silicon Labs 2线(C2)接口调试电路,支持使用安装在最终应用系统中的产品器件进行非侵入式、全速的在系统调试。
Silicon Labs的调试系统支持观察和修改存储器和寄存器,支持断点和单步执行。不需要额外的目标RAM、程序存储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当MCU单步执行或遇到断点而停止运行时,所有的外设(USB、ADC和SMBus除外)都停止运行,以保持与指令执行同步。
开发套件C8051F340DK具有开发应用代码和对C8051F340/1/2/3/4/5/6/7 MCU进行在系统调试所需要的全部硬件和软件。开发套件中包括工作室软件和调试器、8051汇编器和链接器、评估版C编译器和一个调试适配器。套件中还包括一块装有C8051F340MCU的目标应用板、与PC机连接的电缆及一个墙装电源。通过使用连接电缆与编程引脚正确连接,开发套件还可用于对产品PCB上的器件进行调试和编程。
对于开发和调试来说,Silicon Labs IDE接口比采用标准MCU仿真器要*得多。标准的MCU仿真器要使用在板仿真芯片和目标电缆,还需要在应用板上有MCU的插座。Silicon Labs的调试环境既便于使用又能保证精确模拟外设的性能。
C8051F340/1/4/5有40个I/O引脚(5个8位口);C8051F342/3/6/7有25个I/O引脚(3个8位口、和一个1位口)。C8051F340/1/2/3/4/5/6/7端口的工作情况与典型8051端口相似,但有一些改进。每个端口引脚都可以被配置为模拟输入或数字I/O引脚。被选择作为数字I/O的引脚还可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被总体禁止,这为低功耗应用提供了进一步节电的能力。
数字交叉开关允许将内部数字系统资源映射到端口I/O引脚(见图1.6)。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。
图4:数字交叉开关原理框图
C8051F340/1/2/3/4/5/6/7系列MCU内部有一个SMBus/I2C接口、一或两个全双工UART和一个增强型SPI接口。每种串行总线都用硬件实现,都能向CIP-51产生中断,因此需要很少的CPU干预。
除了4个16位的通用计数器/定时器之外,MCU中还有一个片内可编程计数器/定时器阵列(PCA)。PCA包括一个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。PCA的时钟可以是下面的六个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8。外部时钟源对于实时时钟功能是非常有用的,可以在使用内部振荡器驱动系统时钟的同时由外部振荡器给PCA提供时钟。
每个捕捉/比较模块都有六种工作方式:边沿触发捕捉、软件定时器、高速输出、8位或16位脉冲宽度调制器、频率输出。此外,捕捉/比较模块4还提供看门狗定时器(WDT)功能。在系统复位后,捕捉/比较模块4被配置并被使能为WDT方式。PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到端口I/O。
图5:PCA原理框图
C8051F340/1/2/3/4/5/6/7内部有一个10位SAR ADC和一个差分输入多路选择器。该ADC工作在200ksps的采样速率时可提供真正10位的线性度,INL为±1LSB。ADC系统包含一个可编程的模拟多路选择器,用于选择ADC的正输入和负输入。端口I/O引脚中的20个(48脚封装)或21个(32脚封装)引脚可用作ADC的输入;另外,片内温度传感器的输出和电源电压(VDD)也可以作为ADC的输入。用户固件可以将ADC置于关断状态以节省功耗。
A/D转换可以有6种启动方式:软件命令、定时器0溢出、定时器1溢出、定时器2溢出、定时器3溢出或外部转换启动信号。这种灵活性允许用软件事件、周期性信号(定时器溢出)或外部硬件信号触发转换。一个状态位用于指示转换完成,或产生中断(如果被允许)。转换结束后10位结果数据字被锁存到ADC数据寄存器中。
窗口比较寄存器可被配置为当ADC数据位于一个规定的范围之内或之外时向控制器申请中断。ADC可以用后台方式连续监视一个关键电压,当转换数据位于规定的范围之内/外时才向控制器申请中断。
C8051F340/1/2/3/4/5/6/7器件内部有两个电压比较器,可以由用户软件使能/禁止和配置。端口I/O引脚可以通过多路选择器被配置为比较器输入。如果需要,可以将两个比较器输出连到端口引脚:一个锁存输出和/或一个未锁存的输出(异步)。比较器的响应时间是可编程的,允许用户在高速和低功耗方式之间选择。比较器的正向和负向回差电压也是可配置的。
比较器能在上升沿、下降沿产生中断,或在两个边沿都产生中断。当MCU工作在空闲方式时,这些中断可用于唤醒MCU。比较器0还可以被配置为复位源。图1.10给出了比较器0的原理框图。
图6:比较器原理框图