logo

C8051F 单片机简介

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

        C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器 内核,与MCS-51 指令集完全兼容。除了具有标准8052 的数字外设部件之外,片内还集成了 数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。参见表1.1 的产品选择 指南可快速查看每个MCU 的特性。

        MCU 中的外设或功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电 压比较器、电压基准、温度传感器、SMBus/ I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、 定时器、数字I/O 端口、电源监视器、看门狗定时器(WDT)和时钟振荡器等。所有器件都 有内置的FLASH 程序存储器和256 字节的内部RAM,有些器件内部还有位于外部数据存储 器空间的RAM,即XRAM。
        C8051Fxxx 单片机采用流水线结构,机器周期由标准的12 个系统时钟周期降为1 个系统 时钟周期,处理能力大大提高,峰值性能可达25MIPS。
        C8051Fxxx 单片机是真正能独立工作的片上系统(SOC)。每个MCU 都能有效地管理模 拟和数字外设,可以关闭单个或全部外设以节省功耗。FLASH 存储器还具有在系统重新编程 能力,可用于非易失性数据存储,并允许现场更新8051 固件。应用程序可以使用MOVC 和 MOVX 指令对FLASH 进行读或改写,每次读或写一个字节。这一特性允许将程序存储器用 于非易失性数据存储以及在软件控制下更新程序代码。
        片内 JTAG 调试支持功能允许使用安装在最终应用系统上的产品MCU 进行非侵入式(不 占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、 单步、运行和停机命令。在使用JTAG 调试时,所有的模拟和数字外设都可全功能运行。 每个 MCU 都可在工业温度范围(-45℃到+85℃)内用2.7V-3.6V(F018/019 为2.8V-3.6V) 的电压工作。端口I/O、/RST 和JTAG 引脚都容许5V 的输入信号电压。

1.1 CIP-51TM 内核
        C8051Fxxx 系列器件使用Cygnal 的专利CIP-51 微控制器内核。CIP-51 与MCS-51TM 指 令集完全兼容,可以使用标准803x/805x 的汇编器和编译器进行软件开发。CIP-51 内核具有 标准8052 的所有外设部件,包括3 个16 位的计数器/定时器、一个全双工UART、256 字节 内部RAM 空间、128 字节特殊功能寄存器(SFR)地址空间及4 个8 位的I/O 端口。CIP-51 还另外有增加的模拟和数字外设或功能部件。
        CIP-51 采用流水线结构,与标准的8051 结构相比指令执行速度有很大的提高。在一个 标准的8051 中,除MUL 和DIV 以外所有指令都需要12 或24 个系统时钟周期。而对于CIP-51 内核,70%的指令的执行时间为1 或2 个系统时钟周期,只有4 条指令的执行时间大于4 个 系统时钟周期。
        CIP-51 共有111 条指令。下表列出了指令条数与执行时所需的系统时钟周期数的关系。

        CIP-51 工作在最大系统时钟频率25MHz 时,它的峰值速度达到25MIPS。图1.1 给出了 几种8 位微控制器内核工作在最大系统时钟频率时峰值速度的比较关系。

        C8051Fxxx 系列MCU 在与标准8051 相比,在CPU 内核的内部和外部有几项关键性的 改进,提高了整体性能,更易于在最终应用中使用。
        扩展的中断系统向 CIP-51 提供22(C8051F3xx 为12)个中断源(标准8051 只有7 个中 断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU 干 预,却有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。 MCU 可有多达7 个复位源:一个片内VDD 监视器、一个看门狗定时器、一个时钟丢失 检测器、一个由比较器0 提供的电压检测器、一个强制软件复位、CNVSTR 引脚及/RST 引 脚。/RST 引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/RST 引脚。 除了VDD 监视器和复位输入引脚以外,每个复位源都可以由用户用软件禁止。
        MCU 内部有一个能独立工作的时钟发生器,在复位后被默认为系统时钟。如有需要, 时钟源可以在运行时切换到外部振荡器。外部振荡器可以使用晶体、陶瓷谐振器、电容、RC 或外部时钟源产生系统时钟。这种时钟切换功能在低功耗系统中是非常有用的,它允许MCU 从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达16MHz)的 内部振荡器。

1.2 存储器
        CIP-51 有标准8052 的程序和数据地址配置。它包括256 字节的数据RAM,其中高128 字节为两个地址空间。用间接寻址访问通用RAM 的高128 字节,用直接寻址访问128 字节 的SFR 地址空间。数据RAM 的低128 字节可用直接或间接寻址方式访问。前32 个字节为4 个通用工作寄存器区,接下来的16 字节既可以按字节寻址也可以按位寻址。
        某些器件中还另有位于外部数据存储器地址空间的 1K- 4K 字节的RAM 块。这个RAM 块可以在整个 64k 外部数据存储器地址空间中被寻址。
        C8051F02x 中有可用于访问外部数据存储器的外部存储器接口(EMIF)。这个片内外部 数据存储器地址空间可以只映射到片内存储器、只映射到片外存储器、或两者的组合(4K 以 下的地址指向片内,4K 以上的地址指向EMIF)。EMIF 可以被配置为地址/数据线复用方式 或非复用方式。
        MCU 的程序存储器为8K- 64K 字节的FLASH。该存储器以512 字节为一个扇区,可以 在系统编程,且不需在片外提供编程电压。

1.3 JTAG 调试和边界扫描
        C8051Fxxx 具有片内JTAG 和调试电路,通过4 脚JTAG 接口并使用安装在最终应用系 统中的器件就可以进行非侵入式、全速的在系统调试(C8051F3xx 具有片内C2 调试电路, 通过2 脚C2 接口并使用安装在最终应用系统中的器件就可以进行非侵入式、全速的在系统 调试)。该JTAG 接口完全符合IEEE 1149.1 标准(C8051F2xx 的JTAG 接口没有边界扫描功 能),为生产和测试提供完全的边界扫描功能。
        Cygnal 的调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和 单步执行。调试时不需要额外的目标RAM、程序存储器、定时器或通信通道,并且所有的 模拟和数字外设都正常工作。当MCU 单步执行或遇到断点而停止运行时,所有的外设(ADC 除外)都停止运行,以保持同步。
        对于开发和调试嵌入式应用来说,该系统的调试功能比采用标准 MCU 仿真器要优越得 多。标准的MCU 仿真器要使用在板仿真芯片和目标电缆,还需要在应用板上有MCU 的插 座。Cygnal 的调试环境既便于使用又能保证精确模拟外设的性能。

1.4 可编程数字I/O 和交叉开关

        C8051Fxxx具有标准8051兼容的I/O端口。有的端口在某些器件中没有引出脚,没有引出 脚的端口可用作通用寄存器。I/O端口的工作情况与标准8051相似,但有一些改进。 每个端口I/O引脚都可以被配置为推挽或漏极开路输出。在标准8051中固定的"弱上拉" 可以被禁止,这为低功耗应用提供了进一步节电的能力。
        可能最突出的改进是引入了数字交叉开关(C8051F2xx除外)。这是一个大的数字开关网 络,允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的微控制器不同, 这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器将片内的计数器/定时器、 串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配 置为出现在端口I/O引脚。这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源 的组合。

1.5 可编程计数器阵列

        除了通用计数器/定时器之外,C8051F00x/01x/02x MCU还有一个片内可编程计数器/定时 器阵列(PCA)。PCA包括一个专用的16位计数器/定时器时间基准和5(C8051F3xx为3)个可 编程的捕捉/比较模块。时间基准的时钟可以是下面的六个时钟源之一:系统时钟/12、系统时 钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8(C8051F00x/01x 没有后两个时钟源)。
        每个捕捉/比较模块都有4或6种工作方式:边沿触发捕捉、软件定时器、高速输出、8位 脉冲宽度调制器、频率输出、16位脉冲宽度调制器(C8051F00x/01x没有后两种工作方式)。 PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到MCU的端口I/O引脚。

1.6 串行端口
        C8051Fxxx系列MCU内部有一个全双工UART、SPI总线和SMBus/I2C总线。每种串行总线 都完全用硬件实现,都能向CIP-51产生中断,因此很少需要CPU的干预。这些串行总线不"共 享"定时器、中断或端口I/O,所以可以使用任何一个或全部同时使用。C8051F02x系列MCU 内部还有第二个UART,这是一个增强型全双工UART,具有硬件地址识别和错误检测功能。

1.7 模数转换器
        除了C8051F230/1/6之外,其它C8051Fxx器件内部都有一个ADC子系统,由逐次逼近型 ADC、多通道模拟输入选择器和可编程增益放大器(F018/19没有可编程增益放大器)组成。 ADC工作在100ksps的最大采样速率时可提供真正的8位、10位或12位精度。ADC完全由CIP-51 通过特殊功能寄存器控制,系统控制器可以关断ADC以节省功耗。
        C8051F00x/01x/02x还有一个15ppm的电压基准和内部温度传感器,并且8个外部输入通道 的每一对都可被配置为两个单端输入或一个差分输入。
        可编程增益放大器接在模拟多路选择器之后,增益可以用软件设置,从0.5到16以2的整 数次幂递增。当不同ADC输入通道之间输入的电压信号范围差距较大或需要放大一个具有较 大直流偏移的信号时(在差分方式,DAC可用于提供直流偏移),这个放大环节是非常有用的。 A/D转换可以有4种启动方式:软件命令、定时器2溢出、定时器3溢出或外部信号输入。 这种灵活性允许用软件事件、硬件信号触发转换或进行连续转换。一次转换完成后可以产生 一个中断,或者用软件查询一个状态位来判断转换结束。在转换完成后,转换结果数据字被 锁存到特殊功能寄存器中。对于10位或12位ADC,可以用软件控制结果数据字为左对齐或右 对齐格式。
        ADC数据比较寄存器可被配置为当ADC数据位于一个规定的窗口之内时向控制器申请中 断。ADC可以用后台方式监视一个关键电压,当转换数据位于规定的窗口之内时才向控制器 申请中断。
        除了12位的ADC子系统ADC0之外,C8051F02x还有一个8位ADC子系统,即ADC1,它有 一个8通道输入多路选择器和可编程增益放大器。该ADC工作在500ksps的最大采样速率时可 提供真正的8位精度。ADC1的电压基准可以在模拟电源电压(AV+)和外部VREF引脚之间选 择。用户软件可以将ADC1置于关断状态以节省功耗。ADC1的可编程增益放大器的增益可以 被编程为0.5、1、2或4。ADC1也有灵活的转换控制机制,允许用软件命令、定时器溢出或外 部信号输入启动ADC1转换;用软件命令可以使ADC1与ADC0同步转换。

1.8 数模转换器
        C8051F00x/01x/02x(F018/19除外)内部有两个12位电压输出DAC,MCU可以将任何一 个DAC置于低功耗关断方式。C8051F02x的DAC有灵活的输出更新机制,允许用软件命令和 定时器2、定时器3及定时器4的溢出信号更新DAC输出。DAC在作为比较器的参考电压或为 ADC差分输入提供偏移电压时非常有用。

1.9 比较器
        大多数 C8051Fxxx MCU 内部都有两个比较器CP0 和CP1 ( 在 F002/007/012/017300/301/302/303中没有第二个比较器CP1),MCU可以将任何一个比较器置于 低功耗关断方式。
        可以用软件设置比较器的回差电压。每个比较器都能在上升沿或下降沿产生中断,或在 两个边沿都产生中断,比较器的输出状态可以用软件查询。比较器中断能将MCU从等待方式 唤醒。可通过设置交叉开关或端口MUX将比较器的输出接到端口I/O引脚。

C8051F 单片机简介

——