第十章 C8051F系列SOC单片机 10.1 C8051F系列单片机简介 10.2 C8051F单片机结构及原理
10.1 C8051F系列单片机简介 10.1.1 C8051F系列单片机的诞生 美国 Silabs 公司推出的C8051F系列单片机,把 C8051F 系列单片机从微控制器(MCU)时代推向片上系统( SOC )时代,使其以8051为内核的单片机上了一个新的台阶。
SOC即 System On Chip 的缩写,即把计算机常用的一些数字模拟设备全部都做在一块芯片上,使之成为一个完整的模拟数据采集与控制系统。 C8051F系列单片机是一种高集成度的SOC型芯片,具有与 8051 兼容的微控制器内核,与MCS-51指令系统完全兼容。除具有标准 8051 部件外,片内还具有数据采集和控制系统中常用的模拟部件及其他数字外设部件。
C8051F系列单片机既能处理数字信号也能处理模拟信号,所以称为混合信号系统级芯片或片上单片机系统,简称单片机。
10.1.2 C8051F系统单片机的组成 1、CIP-51微控制器内核 C8051F系统单片机采用Silabs公司的专利CIP-51微控制器内核。CIP-51内核具有标准8052的所有部件,并在此基础上进行了几项关键性的改进,提高了整体的性能,更易于应用。
2、中断系统 扩展的中断系统可响应22个中断源的中断请求,在设计多任务实时系统时,大大增加了单片机对外界复杂多变情况的反应能力。
3、存储器 C8051F 系统单片机具有标准的8052的程序和数据存储器的地址配置。存储器包括256B的核内RAM,还具有核外1KB~4KB的RAM。程序存储器包括8KB~128KB的FLASH存储器。 C8051F02X等单片机中有可用于访问外部数据存储器的外部存储器接口(EMIF)。EMIF可以被配置为地址/数据复用方式或非复用方式。
4、模数和数模转换 大部分的C8051Fxxx单片机内部都有A/D转换模块,不同型号中的A/D转换位数、转换速度和输入通道数不完全相同。 部分的C8051Fxxx单片机内部有两个12位数模转换器,MCA可将任何一个DAC置于低功耗关断方式。
5、并行接口 C8051Fxxx单片机具有一般单片机的通用I/O端口,不同型号的引脚数量不同,I/O端口的部分引脚可通过软件配置成不同的特殊功能。
6、串行接口 C8051F系列MCU除了具有全双工UART串行口之外,还增加了SPI总线和 SMBus/I2 总线。
7、定时器和可编程计数器阵列 在C8051F系列单片机中都具有2~4个通用定时/计数器。在一些型号中还具有一个片内可编程定时器/计数器阵列(PCA)。
10.1.3 C8051F系列单片机的特点 1、指令运行速度高 由于C8051Fxxx单片机采用流水线结构,废除了机器周期的概念,指令以时钟周期为运行单位,由标准的12个系统时钟周期降为 1 个系统时钟周期,处理能力大大提高。在相同时钟下,指令运行速度比一般的80C51系列单片机提高大约10倍。70%指令的执行时间为 1 个或 2 个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。
2、I/O端口功能采用软件配置实现 在C8051Fxxx单片机中,I/O 端口的通用基本输入输出特性与标准8051兼容,但I/O端口的其他功能则是由配置实现,这样极大提高了端口配置的灵活性。
3、时钟系统更加完善 C8051F系列单片机具有一个更加完美和先进的时钟系统,可采用多种时钟源(2MHz、4MHz、8MHz或16MHz) MCU 内部有一个能独立工作的时钟发生器,在复位后被默认为系统时钟,其时钟振荡频率是可编程的;可选择外部时钟振荡器或外部时钟源产生系统时钟。 在程序运行时,可通过软件方便地实现时钟内外切换。
4、可实现通过JTAG口的在线系统调试 在 C8051FXXX 单片机(8位)中首先配置了片内JTAG接口和调试电路,可为生产和测试提供完全的边界扫描功能。
5、有多种复位方式 C8051F提供了7个复位源:片内 VDD监视器、看门狗定时器、时钟失效检测器、由比较器0提供的电压检测器、软件强制复位、CNVSTR引脚及RST引脚。 多复位源提高了系统的安全性、灵活性,并有利于零功耗设计。
6、进一步降低了系统功耗 C8051F 系列单片机采用了可降低系统功耗的多种方法: 1)采用3V(电压范围2.7V至3.6V)供电; 2)完善时钟系统,在满足响应速度的要求下,使 系统的平均时钟频率最低,降低了功耗; 3)多种复位源,可使系统在掉电情况下,方便 活地重新复位; 4)片上外设都能单个关闭或全部关闭以节省功 耗。
10.1.4 C8051F系列单片机分类 C8051F系列单片机型号很多,按照它们的主要共性大约可以分为 10 个子系列;按照它们的主要区别分为 6 类。
1、通用型 通用型C8051Fxxx单片机功能比较全面,通用性较好,应用较为广泛。 330等
图10-1 C8051F310的结构框图
2、超微型 超微型 C8051Fxxx单片机主要特点是结构简单,功能减少,体积大大缩小,仅有3mm×3mm,外部引脚为11个。
图10-2 C8051F30x的结构框图
3、CAN型 主要特点是增加了CAN总线; 典型型号:C8051F04X
图10-3 C8051F04x的结构框图
4、精确A/D型 精确A/D型主要特点是具有转换精度较高的A/D模块。 典型型号:C8051F35x,C8051F06x
图10-4 C8051F35x的结构框图
5、USB型 USB型的主要特点是具有USB功能控制器; 典型型号:C8051F32x
图10-5 C8051F32x的结构框图
6、高速型 高速型的主要特点是单片机的工作速度高于其他型号; 典型型号:C8051F12x/13x
图10-6 C8051F12x/13x的结构框图
10.2 C8051F单片机结构及原理 以功能较全面,应用较广泛的C8051F02x子系列为例,介绍以CIP-51为内核C8051F系列单片机的结构及工作原理。
10.2.1 C8051F的CIP-51内核 CIP-51内核,它是在Intel公司标准8位8051单片机的组织结构和功能的基础上加以改进和提高形成的。
1、CIP-51内核的组成及结构 CIP- 51内核也称为微控制器(Micro Controller Unit, MCU),实际上就是C8051F单片机的中央处理器(CPU)部分,主要完成运算和控制功能,管理整个单片机系统的各个外设的工作。
图10-7 CIP-51原理框图
2、CIP-51内核的特点 1) 主要功能部件及组成与8051相同; 2) 与MCS-51指令系统完全兼容; 3) 时钟频率为0~25MHz,执行速度一般可达25兆指令/秒,有的型号最高执行速度可达100兆指令/秒; 4) 增加了流水线结构,70%指令的执行时间为1~2个系统时钟周期;
5) 与模/数、数字外设有关的SFR移到核外,通过SFR接口与CPU交换信息; 6) 中断系统扩展为可处理22个中断源; 7) 复位和时钟电路不包括在核内; 8) 具有程序和数据存储器安全管理功能
3、CIP-51内核的基本部件 1)中央处理器(CPU) C8051F系列的CPU是单片机最核心的部分,主要完成运算和控制功能,只是它的控制功能比通用处理器更强。CPU是8位中央处理单元。
2)数据存储器(片内RAM) C8051F内核中有256B的RAM,地址空间为00H~FFH。特殊功能寄存器(SFR)其地址为80H~FFH,与部分RAM地址重叠,用不同的寻址方式区分它们。 3)SFR总线接口 SFR总线接口用于控制与管理核外的数字与模拟功能模块,以及所有的I/O端口等。
4)存储器结构 C8051F单片机大部分系列都有位于片上的核外数据存储器空间RAM(XRAM),除此还可向外扩展64KB RAM。存储器接口就是用于控制和管理片上和片外的数据存储器,需要用MOVX访问。
5)流水线结构 在CIP-51中采用流水线结构,使多条指令并行执行,大大提高了单片机的执行速度。 6)中断系统 C8051F系列单片机的中断系统可以满足一般控制应用需要,中断源最多可达22个。
10.2.2 C8051F单片机的结构与原理 1、C8051F02x单片机的组成与结构 C8051F020单片机是以8051内核为中心,通过SFR总线、外部数据存储总线、系统时钟线、复位线等与64KB FLASH、4KB XRAM、数字功能模块、模拟功能模块、片上时钟系统和JTAG逻辑电路相连,构成一个完整的单片机片上系统。
图10-8 C8051F020 内部结构图
2、引脚定义及功能 C8051F02x系列单片机实际有效引脚有2种,即64个和100个,封装形式TQFP(Thin Quad Flat Package),它的体积很小、很薄,是一种表面贴焊的封装形式,芯片尺寸为17mm x 17mm。
图10-9 TQFP-100引脚图
图2-4 TQFP-64引脚图
表1 C8051F02x型号的引脚定义及功能 引脚 名称 不同芯片引脚号 引脚类型 功能说明 F020 F021 F022 F023 VDD 37,64,90 24,41,57 数字电源 DGND 38,63,89 25,40,56 数字地 AV+ 11,14 6 模拟电源 AGND 10,13 5 模拟地 TMS 1 58 数字输入 带内部上拉的JTAG测试模式选择 TCK 2 59 带内部上拉的JTAG测试时钟 TDI 3 60 带内部上拉的JTAG测试数据输入。在TCK上升沿锁存TDI TDO 4 61 数字输出 带内部上拉的JTAG测试数据输出,数据在TCK的下降沿从TDO引脚输出,TDO输出是一个三态驱动器
引脚名称 不同芯片引脚号 引脚类型 功能说明 F020 F021 F022 F023 /RST 5 62 数字I/O 单片机复位。内部VDD监视器的漏极开路输出,当VDD<2.7V,并且MONEN为高时被驱动为低电平。外部信号源可以通过将该引脚置为低电平启动一次系统复位。 XTAL1 26 17 模拟输入 晶振输入。该引脚为晶振或陶瓷谐振器的内部振荡器电路的反馈输入。为了得到精确的内部时钟,可以在XTAL1和XTAL2之间接上一个晶振或陶瓷谐振器。还可以由该引脚输入一个外部CMOS时钟源,提供系统时钟。 XTAL2 27 18 模拟输出 晶振输出。该引脚为晶振或陶瓷谐振器的激励驱动器输出端。
引脚名称 不同芯片引脚号 引脚类型 功能说明 F020 F021 F022 F023 MONEN 28 19 数字输入 VDD监视器控制。该引脚接高电平时,允许内部VDD监视器工作,当VDD<2.7V时,强制系统复位。该引脚接低电平时,内部VDD监视器被禁止。 VREF 12 7 模拟I/O 带隙电压基准输出(对所有单片机);DAC电压基准输入(仅限于C8051F021/3型号) VREFA 8 模拟输入 ADC0和ADC1的电压基准输入 VREF0 16 ADC0的电压基准输入 VREF1 17 ADC1的电压基准输入 VREFD 15 DAC的电压基准输入 AIN0.0 18 9 ADC0输入通道0
引脚名称 不同芯片引脚号 引脚类型 功能说明 F020 F021 F022 F023 AIN0.1 19 10 模拟输入 ADC0输入通道1 AIN0.2 20 11 ADC0输入通道2 AIN0.3 21 12 ADC0输入通道3 AIN0.4 22 13 ADC0输入通道4 AIN0.5 23 14 ADC0输入通道5 AIN0.6 24 15 ADC0输入通道6 AIN0.7 25 16 ADC0输入通道7 CP0+ 9 4 比较器0的同相输入端 CP0- 8 3 比较器0的反相输入端 CP1+ 7 2 比较器1的同相输入端 CP1- 6 1 比较器1的反相输入端
引脚名称 不同芯片引脚号 引脚类型 功能说明 F020 F021 F022 F023 DAC0 100 64 模拟输出 D/A转换器0的电压输出 DAC1 99 63 D/A转换器1的电压输出 P0.0 62 55 数字I/O P0.0;详见端口输入输出部分 P0.1 61 54 P0.1;详见端口输入输出部分 P0.2 60 53 P0.2;详见端口输入输出部分 P0.3 59 52 P0.3;详见端口输入输出部分 P0.4 58 51 P0.4;详见端口输入输出部分 ALE/P0.5 57 50 外部存储器地址总线ALE选通(复用方式) P0.5;详见端口输入输出部分 /RD/P0.6 56 49 外部存储器接口的/RD选通 P0.6;详见端口输入输出部分
引脚名称 不同芯片 引脚号 引脚类型 功能说明 F020 F021 F022 F023 /WR/P0.7 55 48 数字I/O 外部存储器接口的/WR选通 P0.7;详见端口输入输出部分 AIN1.0/A8/P1.0 36 29 模拟输入 ADC1输入通道0(详见ADC1说明)外部存储器地址总线位8(非复用方式) P1.0;详见端口输入输出部分 AIN1.1/A9/P1.1 35 28 P1.1;详见端口输入输出部分 AIN1.2/A10/P1.2 34 27 P1.2;详见端口输入输出部分 AIN1.3/A11/P1.3 33 26 P1.3;详见端口输入输出部分 AIN1.4/A12/P1.4 32 25 P1.4;详见端口输入输出部分 AIN1.5/A13/P1.5 31 24 P1.5;详见端口输入输出部分 AIN1.6/A14/P1.6 30 23 P1.6;详见端口输入输出部分 AIN1.7/A15/P1.7 22 P1.7;详见端口输入输出部分
引脚名称 不同芯片 引脚号 引脚 类型 功能说明 F020 F021 F022 F023 A8m/A0/P2.0 46 37 数字I/O 外部存储器地址总线位8(复用方式) 外部存储器地址总线位0(非复用) P2.0;详见端口输入输出部分 A9m/A1/P2.1 45 36 P2.1;详见端口输入输出部分 A10m/A2/P2.2 44 35 P2.2;详见端口输入输出部分 A11m/A3/P2.3 43 34 P2.3;详见端口输入输出部分 A12m/A4/P2.4 42 33 P2.4;详见端口输入输出部分 A13m/A5/P2.5 41 32 P2.5;详见端口输入输出部分 A14m/A6/P2.6 40 31 P2.6;详见端口输入输出部分 A15m/A7/P2.7 39 30 P2.7;详见端口输入输出部分 AD0/D0/P3.0 54 47 外部存储器地址/数据总线位0(复用) 外部存储器数据总线位0(非复用) P3.0;详见端口输入输出部分
引脚名称 不同芯片引脚号 引脚 类型 功能说明 F020 F021 F022 F023 AD1/D1/P3.1 53 46 数字I/O P3.1;详见端口输入输出部分 AD2/D2/P3.2 52 45 P3.2;详见端口输入输出部分 AD3/D3/P3.3 51 44 P3.3;详见端口输入输出部分 AD4/D4/P3.4 50 43 P3.4;详见端口输入输出部分 AD5/D5/P3.5 49 42 P3.5;详见端口输入输出部分 AD6/D6/P3.6 48 39 P3.6;详见端口输入输出部分 AD7/D7/P3.7 47 38 P3.7;详见端口输入输出部分 P4.0 98 P4.0;详见端口输入输出部分 P4.1 97 P4.1;详见端口输入输出部分 P4.2 96 P4.2;详见端口输入输出部分 P4.3 95 P4.3;详见端口输入输出部分 P4.4 94 P4.4;详见端口输入输出部分
引脚名称 不同芯片引脚号 引脚 类型 功能说明 F020 F021 F022 F023 ALE/PP4.5 93 数字I/O 外部存储器地址总线ALE选通(复用) P4.5详见端口输入输出部分 /RD/P4.6 92 外部存储器接口的/RD选通 P4.6详见端口输入输出部分 /WR/P4.7 91 外部存储器接口的/WR选通 P4.7详见端口输入输出部分 A8/P5.0 88 外部存储器地址总线位8(复用方式) P5.0详见端口输入输出部分 A9/P5.1 87 P5.1;详见端口输入输出部分 A10/P5.2 86 P5.2;详见端口输入输出部分 A11/P5.3 85 P5.3;详见端口输入输出部分 A12/P5.4 84 P5.4;详见端口输入输出部分 A13/P5.5 83 P5.5;详见端口输入输出部分
引脚名称 不同芯片引脚号 引脚 类型 功能说明 F020 F021 F022 F023 A14/P5.6 82 数字I/O P5.6;详见端口输入输出部分 A15/P5.7 81 P5.7;详见端口输入输出部分 A8m/A0/P6.0 80 外部存储器地址总线位8(复用) 外部存储器地址总线位0(非复用) P6.0;详见端口输入输出部分 A9m/A1/P6.1 79 P6.1;详见端口输入输出部分 A10m/A2/P6.2 78 P6.2;详见端口输入输出部分 A11m/A3/P6.3 77 P6.3;详见端口输入输出部分 A12m/A4/P6.4 76 P6.4;详见端口输入输出部分 A13m/A5/P6.5 75 P6.5;详见端口输入输出部分 A14m/A6/P6.6 74 P6.6;详见端口输入输出部分 A15m/A7/P6.7 73 P6.7;详见端口输入输出部分
引脚名称 不同芯片引脚号 引脚 类型 功能说明 F020 F021 F022 F023 AD0/D0/P7.0 72 47 数字I/O 外部存储器地址/数据总线位0(复用) 外部存储器数据总线位0(非复用) P7.0;详见端口输入输出部分 AD1/D1/P7.1 71 P7.1;详见端口输入输出部分 AD2/D2/P7.2 70 P7.2;详见端口输入输出部分 AD3/D3/P7.3 69 P7.3;详见端口输入输出部分 AD4/D4/P7.4 68 P7.4;详见端口输入输出部分 AD5/D5/P7.5 67 P7.5;详见端口输入输出部分 AD6/D6/P7.6 66 P7.6;详见端口输入输出部分 AD7/D7/P7.7 65 P7.7;详见端口输入输出部分
说明 1) C8051F02x单片机的大部分I/O引脚都有2~3种功能,在复位时,一部分专用引脚功能不变,其他大部分引脚均为通用I/O端口的转入状态,当要把它们作为其他功能模块的转入或转出引脚时,需对它们进行配置。 2) VDD和GND各为3个引脚,使用时建议全部接上,可提高抗干扰能力。
3) 如果在系统中没有使用模拟部分,芯片的模拟电源V+和模拟地AGND也要连接。 4) VDEF端也可以作为带隙电压基准输出驱动其他电路,但需加一个24kΩ的电阻把电流限制在100µA。 5) 模拟功能模块的引脚大部分为固定引脚,但C8051F02x的8路模拟输入采用复用方式(AIN1.0~AIN1.7),此时对输入端最好采用加限压或限流保护。
6) TMS、TCK、TDI和TDO引脚是专门用于JTAG接口的,在不使用JTAG接口时,TMS、TCK和TDI要直接接地或通过下拉电阻接地。 7) MONEN(VDD监视器输入)引脚不能悬空,要接VDD或接地。 8) 表中P0~P7口每端功能,可查阅相关书籍(C8051系列SOC单片机原理及应用)。
3、C8051F单片机的工作原理 C8051F单片机是高集成度的SOC芯片,也是一个完整的数据采集与控制系统。它是以CIP-51F内核(8051核)为核心的单片机系统。在C8051F单片机中采用流水线结构,使得指令能够并行执行,从而大大提高了指令的运行速度。
工作过程: 1) 单片机刚加电时,外部或内部复位信号使单片机复位,各功能模块均为停机等待,系统处于最小功耗状态。 2) 单片机复位后默认采用内部振荡器工作方式,工作频率为2MHz,内部振荡器立即开始工作。如果需要采用外部振荡器,启用后,单片机可通过软件切换到外部振荡器工作。 3) 在CPU启动后,从程序存储器0000H单元取出指令,执行程序。