C8051F系列单片机介绍:
C8051F是Silicon Laboratories公司推出的增强型51单片机。
单片机自20世纪70年代末诞生至今,经历了单片微型计算机SCM、微控制器MCU及片上系统SoC三大阶段,前两个阶段分别以MCS-51和80C51为代表。随着在嵌入式领域中对单片机的性能和功能要求越来越高,以往的单片机无论是运行速度还是系统集成度等多方面都不能满足新的设计需要,这时Silicon Labs 公司推出了C8051F系列单片机,成为SoC的典型代表。
C8051F具有上手快(全兼容8051指令集)、研发快(开发工具易用,可缩短研发周期)和见效快(调试手段灵活)的特点,其性能优势具体体现在以下方面:
基于增强的CIP-51内核,其指令集与MCS-51完全兼容,具有标准8051的组织
架构,可以使用标准的803x/805x汇编器和编译器进行软件开发。CIP-51采用流水线结构,70%的的指令执行时间为1或2个系统时钟周期,是标准8051指令执行速度的12倍;其峰值执行速度可达100MIPS(C8051F120等),是目前世界上速度最快的8位单片机。
增加了中断源。标准的8051只有7个中断源Silicon Labs 公司 C8051F系列单片机扩展了中断处理这对于时实多任务系统的处理是很重要的扩展的中断系统向CIP-51提供22个中断源允许大量的模拟和数字外设中断一个中断处理需要较少的CPU干预却有更高的执行效率。
集成了丰富的模拟资源,绝大部分的C8051F系列单片机都集成了单个或两个ADC,在片内模拟开关的作用下可实现对多路模拟信号的采集转换;片内ADC的采样精度最高可达24bit,采样速率最高可达500ksps,部分型号还集成了单个或两个独立的高分辨率DAC,可满足绝大多数混合信号系统的应用并实现与模拟电子系统的无缝接口;片内温度传感器则可以迅速而精确的监测环境温度并通过程序作出相应处理,提高了系统运行的可靠性。
集成了丰富的外部设备接口。具有两路UART和最多可达5个定时器及6个PCA模块,此外还根据不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外设接口在不使用时可以分别禁止以降低系统功耗。与其他类型的单片机实现相同的功能需要多个芯片的组合才能完成相比,C8051单片机不仅减少了系统成本,更大大降低了功耗。
增强了在信号处理方面的性能,部分型号具有16x16 MAC以及DMA功能,可对所采集信号进行实时有效的算法处理并提高了数据传送能力。
具有独立的片内时钟源(精度最高可达0.5%),设计人员既可选择外接时钟,也可直接应用片内时钟,同时可以在内外时钟源之间自如切换。片内时钟源降低了系统设计的复杂度,提高了系统可靠性,而时钟切换功能则有利于系统整体功耗的降低。
提供空闲模式及停机模式等多种电源管理方式来降低系统功耗
实现了I/O从固定方式到交叉开关配置。固定方式的I/O端口,既占用引脚多,配置又不够灵活。在C8051F中,则采用开关网络以硬件方式实现I/O端口的灵活配置,外设电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。
复位方式多样化,C8051F把80C51单一的外部复位发展成多源复位,提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位、WDT复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。
从传统的仿真调试到基于JTAG接口的在系统调试。C8051F在8位单片机中率先配置了标准的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不仅支持Flash ROM的读/写操作及非侵入式在系统调试,它的JTAG逻辑还为在系统测试提供边界扫描功能。通过边界寄存器的编程控制,可对所有器件引脚、SFR总线和I/O口弱上拉功能实现观察和控制。
C8051F系列单片机型号齐全,可根据设计需求选择不同规模和带有特定外设接口的型号,提供从多达100个引脚的高性能单片机到最小3mmX3mm的封装,满足不同设计的需要。
基于上述特点,Silicon Labs 公司C8051F系列单片机作为SoC芯片的杰出代表能够满足绝大部分场合的复杂功能要求,并在嵌入式领域的各个场合都得到了广泛的应用:在工业控制领域,其丰富的模拟资源可用于工业现场多种物理量的监测、分析及控制和显示;在便携式仪器领域,其低功耗和强大的外设接口也非常适合各种信号的采集、存储和传输;此外,新型的C8051F5xx系列单片机也在汽车电子行业中崭露头角。正是这些优势,使得C8051单片机在进入中国市场的短短几年内就迅速风靡,相信随着新型号的不断推出以及推广力度的不断加大,C8051系列单片机将迎来日益广阔的发展空间,成为嵌入式领域的时代宠儿
此系列单片机完全兼容MCS-51指令集,容易上手,开发周期短,大大节约了开发成本。C8051F系统集成度高,总线时钟可达25M。
C8051F系列单片机编程仿真接口介绍:
编程仿真器:
仿真接口:
C8051F单片机有两种接口形式,JTAG和C2接口。
当MCU 为C8051F00X/01X/02X/04X/06X/12X/2XX系列时,选择JTAG。
当MCU 为C8051F3xx/41x/5xx/7xx/8xx/9xx系列时,选择C2。
JTAG方式:
C2方式:
如果你用的C8051F单片机为C2接口,只需要留三个口即可,即C2D、C2CK、GND,注意的是C2D、C2CK需串接R100限流电阻,C2CK上需要加一个2K-10K的上拉电阻。另外C2CK同时也是单片机的复位引脚,需要正确连接复位电路。
最小系统图(以C8051F320为例):
C8051F系列单片机供电规则:
由于C8051F单片机是3.3V低功耗、高速单片机,与大家过去应用传统的5V供电低速单片机在引脚处理与PCB布板方面会有一些区别,我们总结了这方面的经验,提供给大家,以避免在应用设计上走弯路。
一、电源和地线方面的处理
1、模拟电源和数字电源要分别供电,可以使用两个稳压源分别供电,但是两个电源之间的电压差必须满足数据手册中的规定(<0.5V,小于0.3V是比较理想的)。实际应用中模拟电源和数字电源可以来自同一个稳压器的输出,只在AV+与VDD之间接简单的滤波器也是很有效的。这里要加一个小电感,也可以用低阻值的电阻(通常2欧姆,电阻要有足够的寄生电感。) 这种方式既能降低成本又能减少体积。(关于这一点可以参考C8051F各种目标板的原理图的电源部分)。
2、在地线方面,模拟地和数字地要分开布线,然后在一点通过磁珠连接,在实际应用中也可以使用0欧姆绕线电阻连接的。该绕线电阻要有寄生电感,另外,在布线时一定要注意地线应该尽可能的粗,或者采用大面积覆地,电源线也要尽量粗,并且在单片机所有电源和地之间以及每个外围集成电路的VDD和GND间加去耦合电容。
3、如果所使用的器件上有模拟电源,模拟地,数字电源和数字地,所有这些引脚不可以悬空,必须连接。
二、在严酷环境下使用C8051F器件时,在PCB设计时应注意那些问题?
在严酷条件下使用C8051F器件时,我们提供给您的一般性建议如下:
1、在器件的每个电源引脚处放置0.1μF和1.0μF的去耦电容,而且要尽可能地靠近芯片。这一点适用于板上所有的IC(集成电路)。
2、尽可能将板上不使用的空间接地,即所谓的大面积覆铜。
3、在靠近器件外部振荡器引脚处放置外部晶体和其他振荡器元件(如果可行的话)。
4、使用最短的连线以避免产生“天线”,尤其在下列引脚处:/RST,MONEN,XTAL1,XTAL2,TMS,TCK,TDI和TDO。
5、应使用一个1k - 4.7k 的电阻将/RST拉为高电平。且应该在/RST走线和地之间设一个0.1uF的去耦电容。
6、应将MONEN直接接至片上的VDD (首选)或接地。
7、将TMS、TCK、TDI 和接固定电平。
8、连接至系统电缆或其他电路板上的信号应在PCB的连接点处适当地滤波。避免使这些连接在板上形成大的回路。
三、对JTAG引脚的处理
在电路设计时,JTAG口的TCK要加3.3V上拉。上拉电阻值取4.7K。另外,要考虑到在成品阶段(此时已不需要通过JTAG编程),将TCK.TMS.TDI引脚接地,这样更能提高系统的抗干扰能力,对于提高系统的稳定性是非常主要的。
四、对未用到的IO口/模拟输入口的处理
对未用到的IO口建议:设置为漏极开路;并加固定电平;或设置为推挽方式;未用的模拟输入也要接地(接模拟地)。
五、在电路设计时的IO口/模拟输入口的保护
1、在可能对IO口有瞬态冲击的情况下,一定要对IO口进行保护,如可能会有瞬间大电流,就要在IO口上串接限流电阻,建议取值100欧姆。如有瞬态大电压,就要在IO口上接TVS或快速反应二极管。
2、对在产品中使用的模拟输入引脚的输入电平,要在器件的允许范围值内(具体的参数见数据手册)。一般的ADC的输入电压范围是0V~VREF。同时不可以超过器件的极限参数(见数据手册),否则可能造成永久性损坏。具体的做法可以加两个肖特基二极管到电源和地。
六、对复位引脚/MONEN(电源监视)引脚的处理
1、为了提高系统的抗干扰能力和可靠性,建议不要将复位引脚悬空,推荐电路为:在复位引脚加强上拉,电阻可以选择2~10K,还要加一个0.1uF~10uF的去耦电容。
2、如果接有外部看门狗电路,在调试及下载程序的过程中要将看门狗电路断开
3、如果所使用的芯片上有MONEN引脚,此引脚不要悬空,建议直接接电源(使能MONEN)。
七、外接晶振的注意事项
1、选择质量好的晶振、选择损耗小的晶振电容。
2、X TAL1和XTAL2口不要接入5V电压,在接入CMOS时钟输入时,要注意。
3、晶体振荡电路部分对在PCB的板上布局非常敏感,应将晶体尽可能地靠近器件XTAL引脚,并在晶体引脚接上微调(10PF~33PF)电容。布线应尽可能地短并用地线屏蔽,防止其它引线引入噪声或干扰。
4、晶体外壳最好接地。
5、对于C8051F3XX器件,在外接晶体时,一定不要忘记在晶体两端接10MW的电阻。
6、晶体微调电容的地要接模拟地。
八、焊接温度的注意事项
当使用自动焊接时应严格控制以下参数:
1、温升速率:小于6℃/秒
2、预热区芯片引脚的最大温度:125℃
3、回流焊的最大温度:建议215℃到220℃(最大值为235℃)
4、芯片通过液态焊料温度状态的时间:30至85秒(建议75秒)
5、最大冷却速率:4℃/秒
如果使用手工焊接,也应注意电烙铁的温度不易过高,与芯片的接触时间不易过长;
关于焊接的详细资料参见附页<<超小型芯片(SMT)焊接指南:QFP和MLP封装器件。
九、编写软件方面的注意事项
1、如使用C51编程,在使用指针变量(对FLASH进行写操作)按如下方式定义:
unsigned char xdata *idata(或data) pwrite;
这样做的目的是确保写FLASH的指针的地址被分配在
或空间。
2、不用的代码空间全部清为“0”,这可以在程序跑飞后再重新运行。在跳转指令前加两到三个NOP指令。这样也可以在程序跑飞后重新运行。