基于C8051F020單片機的實時測控裝置設(shè)計
摘要:為了實現(xiàn)某型電子裝備研制中對于時序控制和多路數(shù)據(jù)采集的實時性要求,設(shè)計了一種基于C8051F020單片機的實時測控裝置。采用多單片機系統(tǒng)實現(xiàn)了多路模數(shù)混合信號的實時采集,完成復雜的時序控制,準確地輸出各種控制信號。將采集的數(shù)據(jù)進行綜合分析計算,利用硬件邏輯判決電路對單片機的計算結(jié)果和傳感器的參考信號進行優(yōu)先級判斷,最終輸出系統(tǒng)所需的觸發(fā)信號。該裝置采用多個單片機和功能模塊,構(gòu)建了多數(shù)入多輸出的數(shù)據(jù)采集和控制系統(tǒng),利用RS 485協(xié)議實現(xiàn)多機串行通信,完成了系統(tǒng)預定功能。
關(guān)鍵詞:C8051F020;測控裝置;數(shù)據(jù)采集;時序控制
0 引言
C8051Fxxx單片機是美國Silabs公司推出的完全集成的混合信號系統(tǒng)級芯片,具有與8051指令集完全兼容的CIP-51內(nèi)核。在項目研制中采用C8051F020單片機,對于熟悉掌握51單片機的技術(shù)人員來說,在硬件設(shè)計及軟件編程上大大提高了研制效率和裝備可維護性。測控裝置是某型電子裝備的實時控制裝置,是整個系統(tǒng)最重要的組成部分之一,是系統(tǒng)運行過程中的指揮控制中心。該裝置通過構(gòu)建多單片機系統(tǒng),實現(xiàn)了復雜時序的實時控制以及多路數(shù)據(jù)采集,可以提供系統(tǒng)正常工作所需的多路輸出控制信號;通過硬件設(shè)計和軟件編程實現(xiàn)了單片機與單片機、單片機與上位機之間的實時通信,各子系統(tǒng)之間的效據(jù)交換和復雜邏輯關(guān)系的處理,系統(tǒng)在規(guī)定時間可靠輸出多路控制信號等功能。
1 測控裝置的硬件設(shè)計
1.1 總體設(shè)計
測控裝置主要完成裝備運行過程中的參數(shù)設(shè)置、時序控制、數(shù)據(jù)采集、輸出控制、串口通信等任務(wù),其硬件設(shè)計采用了“核心模塊+數(shù)據(jù)采集模塊+輸出控制模塊+數(shù)字邏輯模塊”的模塊化設(shè)計思想。其中核心模塊包含單片機系統(tǒng)的基本功能,其他三個模塊分別完成系統(tǒng)特定功能。這種設(shè)計思想既簡化了系統(tǒng)硬件設(shè)計,又縮短了系統(tǒng)研制周期。測控裝置的總體設(shè)計框圖如圖1所示。
(1)核心模塊
核心模塊由Cygnal單片機(C8051F020)、UT62L1024SRAM、SPI串行方式8 Mb的FLASH存儲器AT45DB081、日歷時鐘S-3530A、10M以太網(wǎng)芯片8019等組成。全部芯片和電路組合在42.5 mmx53.8 mm的PCB板上,由2 mm腳距的40P雙排插針與數(shù)據(jù)采集模塊相連接,核心模塊在使用時相當于一個“大芯片”。C8051F020單片機實時采集各種數(shù)據(jù),根據(jù)預先設(shè)定在單片機中的參數(shù),對接收數(shù)據(jù)進行綜合處理和分析計算,輸出滿足要求的各種控制信號。
(2)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊上設(shè)計有腳距2 mm的40P雙排插孔,可以很方便地實現(xiàn)核心模塊的轉(zhuǎn)接。每個模塊還設(shè)計有3個8位數(shù)字I/O端口(P1,P2,P3)和一個8通道模擬輸入端口(AIN),另外還有RS 485通信端口和電源模塊。
通過這些端口單片機可以很方便地對外部傳感器輸入的信號進行實時采集,并通過RS 485通信與系統(tǒng)其他組件實現(xiàn)數(shù)據(jù)交換。
(3)輸出控制模塊
測控裝置工作過程中根據(jù)時序?qū)ν獠拷M件進行供電和控制,需要3 V,5 V,12 V和27 V等多種工作電壓,以及多路輸出控制信號,為此設(shè)計了輸出控制模塊,通過單片機的可編程數(shù)字I/O端口對相關(guān)繼電器進行實時控制,從而實現(xiàn)多路電壓和控制信號的穩(wěn)定輸出。
(4)數(shù)字邏輯模塊
數(shù)字邏輯模塊將單片機輸出的部分數(shù)字信號進行轉(zhuǎn)換,提供給需要的外部組件,同時也可以接收其他單片機和外部組件的數(shù)字信號,進行硬件邏輯判決,從而實現(xiàn)在預定時機可靠地輸出系統(tǒng)觸發(fā)信號,最終完成觸發(fā)外部執(zhí)行裝置的功能。
1.2 傳感器數(shù)據(jù)采集
傳感器是能感受規(guī)定的被測量并轉(zhuǎn)換成可用輸出信號的器件,本系統(tǒng)使用的傳感器作為某型電子裝備的重要組成部分,根據(jù)各自的功能“感知”外界環(huán)境變化,完成將各種物理量轉(zhuǎn)化為單片機可以處理的模擬或數(shù)字信號,并由單片機對這些信號進行采集和處理。
本系統(tǒng)使用的傳感器主要分為兩大類,一類是無線電傳感器,用來測量系統(tǒng)距目標的距離;另一類是慣性傳感器,用來監(jiān)測系統(tǒng)運行過程中的實時加速度值。其中慣性傳感器既有高精度大量程的電子式傳感器,又有穩(wěn)定可靠的機械式傳感器。
對于傳感器輸出的模擬信號,C8051F020單片機擁有專用的模擬輸入引腳(AIN),通過12位ADC對輸入的模擬信號進行采集轉(zhuǎn)換,并利用ADC轉(zhuǎn)換結(jié)束引起中斷響應(yīng),將轉(zhuǎn)換得到的數(shù)據(jù)進行分析處理。而對于傳感器輸出的數(shù)字信號,經(jīng)電平轉(zhuǎn)換后即可由數(shù)字I/O端口(P1,P2,P3)進行采集,單片機根據(jù)采集到的信號分析判斷系統(tǒng)當前狀態(tài),為適時輸出控制信號和系統(tǒng)觸發(fā)信號提供依據(jù)。
2 測控裝置的軟件設(shè)計
單片機采用C語言編程,相對于匯編語言來說,程序的可讀性大大提高,采用模塊化設(shè)計思想也為系統(tǒng)調(diào)試和維護帶來極大的方便。
測控裝置軟件采用采用模塊化設(shè)計,主要包括數(shù)據(jù)采集模塊、串口通信模塊,時序控制模塊和信號處理模塊。數(shù)據(jù)采集模塊又包含ADC數(shù)據(jù)轉(zhuǎn)換和數(shù)字信號采集兩個子模塊,主要是通過單片機的中斷系統(tǒng)實時采集外部模擬和數(shù)字信號;串口通信模塊主要實現(xiàn)單片機與外部組件間的RS 485通信,接收其他測控設(shè)備的控制命令,反饋單片機實時采集的各種數(shù)據(jù);時序控制模塊利用單片機的定時器精確計時,并根據(jù)預先設(shè)定的參數(shù),按照系統(tǒng)要求的時序及時準確地發(fā)出各種控制信號;信號處理模塊對各類傳感器發(fā)出的信號進行中斷處理和分析計算,最終輸出所需的系統(tǒng)觸發(fā)信號。
2.1 主程序設(shè)計
測控裝置通過串口接收上位機的指令,并存儲由上位機發(fā)送的系統(tǒng)參數(shù),在運行過程中,通過傳感器A和傳感器B的動作情況判斷測控裝置當前所處狀態(tài),根據(jù)不同的狀態(tài)輸出滿足系統(tǒng)需要的各種控制信號。測控裝置通過預先設(shè)定的參數(shù)和從傳感器C接收的實時數(shù)據(jù),進行分析處理,并結(jié)合傳感器D發(fā)出的各種標志信號進行綜合計算,從而確定輸出系統(tǒng)觸發(fā)信號的時機。另外傳感器E的信號具有排他性,可以直接導致測控裝置輸出系統(tǒng)觸發(fā)信號。測控裝置的主程序流程圖如圖2所示。
2.2 串口通信程序設(shè)計
在以單片機為核心構(gòu)成的數(shù)據(jù)采集系統(tǒng)中,往往需要實現(xiàn)PC機與單_片機之間的數(shù)據(jù)交換。傳統(tǒng)的基于RS 232協(xié)議的串口通信存在傳輸距離短、速度慢、信號易受干擾等不足,其應(yīng)用局限性日益突出,而利用RS 485串行通信,可以實現(xiàn)快速、穩(wěn)定、遠距離地傳送數(shù)據(jù)。
測控裝置的串口通信模塊實現(xiàn)單片機與其他單片機以及上位機之間的信息交互,根據(jù)自定義的通信協(xié)議發(fā)送或接收數(shù)據(jù),并通過UART中斷服務(wù)程序?qū)邮盏臄?shù)據(jù)進行分析判斷。串口通信模塊分為數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩個子模塊。數(shù)據(jù)發(fā)送子模塊實現(xiàn)單片機對外傳輸數(shù)據(jù),這些數(shù)據(jù)主要包括單片機采集的各類傳感器數(shù)據(jù)、主程序執(zhí)行過程中需要向其他單片機發(fā)送的指令和單片機進行數(shù)據(jù)處理、綜合計算產(chǎn)生盼數(shù)據(jù)。數(shù)據(jù)接收子模塊主要負責接收來自其他單片機和上位機的指令,接收上位機發(fā)送的各種參數(shù)。測控裝置的串口通信程序流程圖如圖3所示。
3 結(jié)語
在實時測控裝置研制中采用了多個C8051F020單片機,以22.118 4 MHz的晶體振蕩器作為系統(tǒng)時鐘,整個系統(tǒng)運行速度得到了很大的提高。較硬件均采用模塊化設(shè)計,為設(shè)備調(diào)試和后期維護提供了便利。通過單機調(diào)試和系統(tǒng)聯(lián)調(diào),24路控制信號輸出準確無誤,外部傳感器的48路數(shù)據(jù)采集及時高效,系統(tǒng)工作性能穩(wěn)定可靠,較好地完成了實時數(shù)據(jù)采集、復雜時序控制、多機串行通信等任務(wù),達到了設(shè)計要求。