1 概述
C8051F0XX系列单片机是Cygnal公司新推出的一种混合信号系统级单片机。该系列单片机片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。其中的C8051F020单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与以前的51系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高。
2 C8051F020的功能特点
C8051F020芯片的内部功能方框图如图1所示。
C8051F020微控制器的内核CIP-51在保持CISC结构及指令系统不变的基础上对指令实行流水作业,该器件废除了机器周期的概念,它的指令以时钟周期为运行单位,因而大大提高了指令的运行速度。当晶振为25MHz时,C8051F020的指令执行速度峰值可达到25MIPS。CIP-51微控制器的存储器结构与标准的8051类似,程序和数据存储器共享同一地址空间,但可用不同的指令类型来访问。
C8051F020带有8个I/O端口(64根I/O口线),其中包括四个低部端口P0~P3(可以位寻址)和四个高部端口P4~P7(不可以位寻址)。在C8051F020中,可通过网络开关以硬件的方式实现I/O端口的灵活配置(如图1所示),也可以通过设置相应的寄存器控制交叉开关来把I/O 口配置为所选择的特殊功能端口。
C8051F020有5个定时/计数器:T0、T1、T2、T3、T4。其中T0、T1和T2与标准8051用法一致。T3是一个具有自动重装载功能的计数器,可以用作启动ADC数据转换、SMBus定时和通用计数器。T4可用作自动重装载功能的16位定时/计数器、有捕获功能的16位定时/计数器和 UART1的波特率发生器。其定时/计数器的工作模式均可通过配置相应的特殊功能寄存器来设定。
通过SPI可访问4线(MOSI、MISO、SCK、NSS)全双工串行总线。它可以工作于主、从两种方式。当C8051F020的SPI工作于主方式时,NSS与数字电源相连接;而当其工作于从方式时,则通过NSS来选通该器件。SPI有全双工和半双工两种操作模式。当C8051F020工作于全双工模式的主方式时,可以通过向数据寄存器SPI0DAT写入一字节来启动一次数据传输。这时,C8051F020会立即在MOSI上串行移出数据,并在 SCK上提供串行时钟。同时,从器件也可在MISO线上向C8051F020串行移出寄存器的内容。传输结束时,SPI0CN.7位被置“1”。 C8051F020的SPI可以在一次传输操作中移入/移出1~8位数据,以适应不同长度的从器件。当SPI未被配置为主器件时,它将作为从器件工作。
SMBus(系统管理总线)是双线双向串行接口,符合SMBus1.1版本,并与I2C串行总线完全一致。C8051F020的SMBus也可工作于主、从两种方式。它们在进行数据交换时,均由主器件来启动。
这种新型的C8051F020单片机芯片内部有一个9通道、12位A/D转换器ADC0和一个8通道、8位A/D转换器ADC1,而且在使用时可以通过寄存器配置来选择通道号和通道数以及以下四种A/D转换方式中的一种来启动。
(1)给寄存器ADC0CN的AD0BUSY位写“1”;
(2)定时器3溢出;
(3)定时器2溢出;
(4)CNVSTR有上升沿。
C8051F020有两个12位D/A转换器DAC0、DAC1,它们也可以通过寄存器配置来选择。启动D/A转换也有以下四种方式:
(1)数据写入到DAC的高字节寄存器;
(2)定时器2溢出;
(3)定时器3溢出;
(4)定时器4溢出。
设计时一般选择第一种方式,当需要输出方波时,可以选择第二、三、四种方式中的一种。在第一种方式下,也可以先写入DAC的低字节,然后再写入高字节,从而启动一次D/A转换。
新型C8051F020单片机把单一的引脚复位发展成多源复位,包括上电复位、掉电复位、外部引脚复位、软件复位、时钟丢失检测复位、比较器0复位、 WDT复位和外部CNVSTR引脚复位等。众多的复位源为保障系统的安全、操作的灵活性和系统的零功耗设计等带来了极大的好处。C8051F020完善的时钟系统能够在满足相应速度的前提下可使平均时钟频率最低,而多复位源则可使系统在掉电方式下随意唤醒。
C8051F020片内配置了标准的JTAG接口(IEEE1149.1)。在上位机软件的支持下,通过串行的JTAG接口可直接对安装在最终应用系统上的单片机进行非侵入式、不占用片内资源、全速在线系统的调试。该调试系统支持观察和修改存储器和寄存器,同时支持断点、观察点、单步运行及停机命令。在使用JTAG接口进行调试时,所有的模拟和数字外设都可全功能运行。不但如此,C8051F020的JTAG逻辑还可为在系统测试提供边界扫描功能。通过边界寄存器的编程控制可以对所有器件引脚、SFR总线和I/O口的弱上拉功能实现观察和控制。
综上所述,C8051F020是一种集成度高、功能强大的单片机芯片,非常适合于要求速度快、可靠性高、扩展功能强和节电的应用系统。
3 总磷在线自动分析仪设计
磷系药剂(以有机磷酸盐为主体的药剂)以其具有良好的缓蚀阻垢性能和低污染排放,而在工业水处理中被广泛采用。由于磷系药剂的种类繁多,且有机磷成分难于直接测量,因此,开发总磷在线分析仪可节能节水、降低污染、提高效率,具有明显的经济效益和社会效益。采用UV-光催化及氧化法提高有机磷在水中的分解并监测其分解水样,以实现定量分析的系统结构如图2所示。
本仪器以C8051F020为核心,外围扩展了数据存储器AT45DB081、时钟芯片 DS1687、数字温度传感器DS18B20、智能液晶和键盘等,它们主要用于完成信号的采集、按键扫描、液晶显示和报警、温度检测、工业标准信号输出、控制阀门的开关和各种光源指示等功能。
数据存储器AT45DB081(SPI串行接口)的存储容量为8MBit,可以存储一年的测量数据;时钟芯片DS1687(8位并行接口)可以自动更新年、月、日、时、分、秒,用以完成仪器的自动标定功能;数字温度传感器DS18B20(单总线接口)用于监测溶液的温度,以保证液体恒温,加快化学反应速度,减小测量周期,提高仪器测量的重现性和稳定性;智能液晶(UART串口通信)和按键则用于完成人机对话功能,形成良好的人机界面。
该仪器用到的I/O口有40多个,可用于控制各个阀门和各种光源的开关、键盘输入和DS1687的扩展等,而C8051F020有64根I/O口线,因此可完全满足需要。
利用该硬件电路配以完善的软件设计可以实现:键盘操作、液晶显示、数据采集及检测、数据输出、报警光源控制和搅拌器的控制。图3是仪器系统的工作主流程框图。在仪器开启时,程序首先进行初始化自检和设置中断入口地址,然后刷新液晶显示屏,读出DS1687的时钟信号并将显示初始浓度值“0. 000mg/L"送到显示屏。开启控制阀,注入被测水样对分解测量杯进行预清洗1分钟,再通过中断响应判断有无键按下。若无键按下,则调用分析子程序以完成一个周期内的操作,并将计算结果送液晶显示器显示,同时将其输送到C8051F020的D/A口作为现场标准信号,最后将测量结果存储到 AT45DB081作为历史记录保存。一个周期测量完毕后,程序返回下一个测量周期。
4 结束语
由于该总磷在线自动分析仪利用了 C8051F020的D/A转换、A/D转换、UART和SPI串行通信等多种增强功能,因此,仪器结构紧凑,设计简化。同时由于该总磷在线自动分析仪集恒温、分解、测量、控制于一体,因而大大简化了化学分析流程,提高了在线分析的检测速度和稳定性,取得了良好的应用效果。