C8051F020單片機及其在總磷在線自動分析儀中的應用
1 概述
C8051F0XX系列單片機是Cygnal公司新推出的一種混合信號系統(tǒng)級單片機。該系列單片機片內(nèi)含CIP-51的CPU內(nèi)核,它的指令系統(tǒng)與MCS-51完全兼容。其中的C8051F020單片機含有64kB片內(nèi)Flash程序存儲器,4352B的RAM、8個I/O端口共64根I/O口線、一個12位A/D轉(zhuǎn)換器和一個8位A/D轉(zhuǎn)換器以及一個雙12位D/A轉(zhuǎn)換器、2個比較器、5個16位通用定時器、5個捕捉/比較模塊的可編程計數(shù)/定時器陣列、看門狗定時器、VDD監(jiān)視器和溫度傳感器等部分。C8051F020單片機支持雙時鐘,其工作電壓范圍為2.7~3.6V(端口I/O,RST和JTAG引腳的耐壓為5V)。與以前的51系列單片機相比,C8051F020增添了許多功能,同時其可靠性和速度也有了很大提高。
2 C8051F020的功能特點
C8051F020芯片的內(nèi)部功能方框圖如圖1所示。
C8051F020微控制器的內(nèi)核CIP-51在保持CISC結構及指令系統(tǒng)不變的基礎上對指令實行流水作業(yè),該器件廢除了機器周期的概念,它的指令以時鐘周期為運行單位,因而大大提高了指令的運行速度。當晶振為25MHz時, C8051F020的指令執(zhí)行速度峰值可達到25MIPS。CIP-51微控制器的存儲器結構與標準的8051類似,程序和數(shù)據(jù)存儲器共享同一地址空間,但可用不同的指令類型來訪問。
C8051F020帶有8個I/O端口(64根I/O口線),其中包括四個低部端口P0~P3(可以位尋址)和四個高部端口P4~P7(不可以位尋址)。在C8051F020中,可通過網(wǎng)絡開關以硬件的方式實現(xiàn)I/O端口的靈活配置(如圖1所示),也可以通過設置相應的寄存器控制交叉開關來把I/O 口配置為所選擇的特殊功能端口。
C8051F020有5個定時/計數(shù)器:T0、T1、T2、T3、T4。其中T0、T1和T2與標準8051用法一致。T3是一個具有自動重裝載功能的計數(shù)器,可以用作啟動ADC數(shù)據(jù)轉(zhuǎn)換、SMBus定時和通用計數(shù)器。T4可用作自動重裝載功能的16位定時/計數(shù)器、有捕獲功能的16位定時/計數(shù)器和 UART1的波特率發(fā)生器。其定時/計數(shù)器的工作模式均可通過配置相應的特殊功能寄存器來設定。
通過SPI可訪問4線(MOSI、MISO、SCK、NSS)全雙工串行總線。它可以工作于主、從兩種方式。當C8051F020的SPI工作于主方式時,NSS與數(shù)字電源相連接;而當其工作于從方式時,則通過NSS來選通該器件。SPI有全雙工和半雙工兩種操作模式。當C8051F020工作于全雙工模式的主方式時,可以通過向數(shù)據(jù)寄存器SPI0DAT寫入一字節(jié)來啟動一次數(shù)據(jù)傳輸。這時,C8051F020會立即在MOSI上串行移出數(shù)據(jù),并在 SCK上提供串行時鐘。同時,從器件也可在MISO線上向C8051F020串行移出寄存器的內(nèi)容。傳輸結束時,SPI0CN.7位被置“1”。 C8051F020的SPI可以在一次傳輸操作中移入/移出1~8位數(shù)據(jù),以適應不同長度的從器件。當SPI未被配置為主器件時,它將作為從器件工作。
SMBus(系統(tǒng)管理總線)是雙線雙向串行接口,符合SMBus1.1版本,并與I2C串行總線完全一致。C8051F020的SMBus也可工作于主、從兩種方式。它們在進行數(shù)據(jù)交換時,均由主器件來啟動。
這種新型的C8051F020單片機芯片內(nèi)部有一個9通道、12位A/D轉(zhuǎn)換器ADC0和一個8通道、8位A/D轉(zhuǎn)換器ADC1,而且在使用時可以通過寄存器配置來選擇通道號和通道數(shù)以及以下四種A/D轉(zhuǎn)換方式中的一種來啟動。
(1)給寄存器ADC0CN的AD0BUSY位寫“1”;
(2)定時器3溢出;
(3)定時器2溢出;
(4)CNVSTR有上升沿。
C8051F020有兩個12位D/A轉(zhuǎn)換器DAC0、DAC1,它們也可以通過寄存器配置來選擇。啟動D/A轉(zhuǎn)換也有以下四種方式:
(1)數(shù)據(jù)寫入到DAC的高字節(jié)寄存器;
(2)定時器2溢出;
(3)定時器3溢出;
(4)定時器4溢出。
設計時一般選擇第一種方式,當需要輸出方波時,可以選擇第二、三、四種方式中的一種。在第一種方式下,也可以先寫入DAC的低字節(jié),然后再寫入高字節(jié),從而啟動一次D/A轉(zhuǎn)換。
新型C8051F020單片機把單一的引腳復位發(fā)展成多源復位,包括上電復位、掉電復位、外部引腳復位、軟件復位、時鐘丟失檢測復位、比較器0復位、 WDT復位和外部CNVSTR引腳復位等。眾多的復位源為保障系統(tǒng)的安全、操作的靈活性和系統(tǒng)的零功耗設計等帶來了極大的好處。C8051F020完善的時鐘系統(tǒng)能夠在滿足相應速度的前提下可使平均時鐘頻率最低,而多復位源則可使系統(tǒng)在掉電方式下隨意喚醒。
C8051F020片內(nèi)配置了標準的JTAG接口(IEEE1149.1)。在上位機軟件的支持下,通過串行的JTAG接口可直接對安裝在最終應用系統(tǒng)上的單片機進行非侵入式、不占用片內(nèi)資源、全速在線系統(tǒng)的調(diào)試。該調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,同時支持斷點、觀察點、單步運行及停機命令。在使用JTAG接口進行調(diào)試時,所有的模擬和數(shù)字外設都可全功能運行。不但如此,C8051F020的JTAG邏輯還可為在系統(tǒng)測試提供邊界掃描功能。通過邊界寄存器的編程控制可以對所有器件引腳、SFR總線和I/O口的弱上拉功能實現(xiàn)觀察和控制。
綜上所述,C8051F020是一種集成度高、功能強大的單片機芯片,非常適合于要求速度快、可靠性高、擴展功能強和節(jié)電的應用系統(tǒng)。
3 總磷在線自動分析儀設計
磷系藥劑(以有機磷酸鹽為主體的藥劑)以其具有良好的緩蝕阻垢性能和低污染排放,而在工業(yè)水處理中被廣泛采用。由于磷系藥劑的種類繁多,且有機磷成分難于直接測量,因此,開發(fā)總磷在線分析儀可節(jié)能節(jié)水、降低污染、提高效率,具有明顯的經(jīng)濟效益和社會效益。采用UV-光催化及氧化法提高有機磷在水中的分解并監(jiān)測其分解水樣,以實現(xiàn)定量分析的系統(tǒng)結構如圖2所示。
本儀器以C8051F020為核心,外圍擴展了數(shù)據(jù)存儲器AT45DB081、時鐘芯片 DS1687、數(shù)字溫度傳感器DS18B20、智能液晶和鍵盤等,它們主要用于完成信號的采集、按鍵掃描、液晶顯示和報警、溫度檢測、工業(yè)標準信號輸出、控制閥門的開關和各種光源指示等功能。
數(shù)據(jù)存儲器AT45DB081(SPI串行接口)的存儲容量為8MBit,可以存儲一年的測量數(shù)據(jù);時鐘芯片DS1687(8位并行接口)可以自動更新年、月、日、時、分、秒,用以完成儀器的自動標定功能;數(shù)字溫度傳感器DS18B20(單總線接口)用于監(jiān)測溶液的溫度,以保證液體恒溫,加快化學反應速度,減小測量周期,提高儀器測量的重現(xiàn)性和穩(wěn)定性;智能液晶(UART串口通信)和按鍵則用于完成人機對話功能,形成良好的人機界面。
該儀器用到的I/O口有40多個,可用于控制各個閥門和各種光源的開關、鍵盤輸入和DS1687的擴展等,而C8051F020有64根I/O口線,因此可完全滿足需要。
利用該硬件電路配以完善的軟件設計可以實現(xiàn):鍵盤操作、液晶顯示、數(shù)據(jù)采集及檢測、數(shù)據(jù)輸出、報警光源控制和攪拌器的控制。圖3是儀器系統(tǒng)的工作主流程框圖。在儀器開啟時,程序首先進行初始化自檢和設置中斷入口地址,然后刷新液晶顯示屏,讀出DS1687的時鐘信號并將顯示初始濃度值“0. 000mg/L"送到顯示屏。開啟控制閥,注入被測水樣對分解測量杯進行預清洗1分鐘,再通過中斷響應判斷有無鍵按下。若無鍵按下,則調(diào)用分析子程序以完成一個周期內(nèi)的操作,并將計算結果送液晶顯示器顯示,同時將其輸送到C8051F020的D/A口作為現(xiàn)場標準信號,最后將測量結果存儲到 AT45DB081作為歷史記錄保存。一個周期測量完畢后,程序返回下一個測量周期。
4 結束語
由于該總磷在線自動分析儀利用了 C8051F020的D/A轉(zhuǎn)換、A/D轉(zhuǎn)換、UART和SPI串行通信等多種增強功能,因此,儀器結構緊湊,設計簡化。同時由于該總磷在線自動分析儀集恒溫、分解、測量、控制于一體,因而大大簡化了化學分析流程,提高了在線分析的檢測速度和穩(wěn)定性,取得了良好的應用效果。