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