江賢志 左傳友 劉華章
摘 要:為了實現(xiàn)某型電子裝備研制中對于時序控制和多路數(shù)據(jù)采集的實時性要求,設計了一種基于C8051F020單片機的實時測控裝置。采用多單片機系統(tǒng)實現(xiàn)了多路模數(shù)混合信號的實時采集,完成復雜的時序控制,準確地輸出各種控制信號。將采集的數(shù)據(jù)進行綜合分析計算,利用硬件邏輯判決電路對單片機的計算結果和傳感器的參考信號進行優(yōu)先級判斷,最終輸出系統(tǒng)所需的觸發(fā)信號。該裝置采用多個單片機和功能模塊,構建了多數(shù)入多輸出的數(shù)據(jù)采集和控制系統(tǒng),利用RS 485協(xié)議實現(xiàn)多機串行通信,完成了系統(tǒng)預定功能。
關鍵詞:C8051F020; 測控裝置; 數(shù)據(jù)采集; 時序控制
中圖分類號:TN368?34 文獻標識碼:A 文章編號:1004?373X(2013)02?0132?03
0 引 言
C8051Fxxx 單片機是美國Silabs公司推出的完全集成的混合信號系統(tǒng)級芯片,具有與8051指令集完全兼容的CIP?51內核[1]。在項目研制中采用C8051F020單片機,對于熟悉掌握51單片機的技術人員來說,在硬件設計及軟件編程上大大提高了研制效率和裝備可維護性。測控裝置是某型電子裝備的實時控制裝置,是整個系統(tǒng)最重要的組成部分之一,是系統(tǒng)運行過程中的指揮控制中心。該裝置通過構建多單片機系統(tǒng),實現(xiàn)了復雜時序的實時控制以及多路數(shù)據(jù)采集,可以提供系統(tǒng)正常工作所需的多路輸出控制信號;通過硬件設計和軟件編程實現(xiàn)了單片機與單片機、單片機與上位機之間的實時通信,各子系統(tǒng)之間的數(shù)據(jù)交換和復雜邏輯關系的處理,系統(tǒng)在規(guī)定時間可靠輸出多路控制信號等功能。
1 測控裝置的硬件設計
1.1 總體設計
測控裝置主要完成裝備運行過程中的參數(shù)設置、時序控制、數(shù)據(jù)采集、輸出控制、串口通信等任務,其硬件設計采用了“核心模塊+數(shù)據(jù)采集模塊+輸出控制模塊+數(shù)字邏輯模塊”的模塊化設計思想。其中核心模塊包含單片機系統(tǒng)的基本功能,其他三個模塊分別完成系統(tǒng)特定功能。這種設計思想既簡化了系統(tǒng)硬件設計,又縮短了系統(tǒng)研制周期。測控裝置的總體設計框圖如圖1所示。
(1)核心模塊
核心模塊由Cygnal單片機(C8051F020)、UT62L1024SRAM、SPI串行方式8 Mb的FLASH存儲器AT45DB081、日歷時鐘S?3530A、10M以太網芯片8019等組成。全部芯片和電路組合在42.5 mm×53.8 mm的PCB板上,由2 mm腳距的40P雙排插針與數(shù)據(jù)采集模塊相連接,核心模塊在使用時相當于一個“大芯片”。C8051F020單片機實時采集各種數(shù)據(jù),根據(jù)預先設定在單片機中的參數(shù),對接收數(shù)據(jù)進行綜合處理和分析計算,輸出滿足要求的各種控制信號。
(2)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊上設計有腳距2 mm的40P雙排插孔,可以很方便地實現(xiàn)核心模塊的轉接。每個模塊還設計有3個8位數(shù)字I/O端口(P1,P2,P3)和一個8通道模擬輸入端口(AIN),另外還有RS 485通信端口和電源模塊。
通過這些端口單片機可以很方便地對外部傳感器輸入的信號進行實時采集,并通過RS 485通信與系統(tǒng)其他組件實現(xiàn)數(shù)據(jù)交換。
(3)輸出控制模塊
測控裝置工作過程中根據(jù)時序對外部組件進行供電和控制,需要3 V,5 V,12 V和27 V等多種工作電壓,以及多路輸出控制信號,為此設計了輸出控制模塊,通過單片機的可編程數(shù)字I/O端口對相關繼電器進行實時控制,從而實現(xiàn)多路電壓和控制信號的穩(wěn)定輸出。
(4)數(shù)字邏輯模塊
數(shù)字邏輯模塊將單片機輸出的部分數(shù)字信號進行轉換,提供給需要的外部組件,同時也可以接收其他單片機和外部組件的數(shù)字信號,進行硬件邏輯判決,從而實現(xiàn)在預定時機可靠地輸出系統(tǒng)觸發(fā)信號,最終完成觸發(fā)外部執(zhí)行裝置的功能。
1.2 傳感器數(shù)據(jù)采集
傳感器是能感受規(guī)定的被測量并轉換成可用輸出信號的器件[2],本系統(tǒng)使用的傳感器作為某型電子裝備的重要組成部分,根據(jù)各自的功能“感知”外界環(huán)境變化,完成將各種物理量轉化為單片機可以處理的模擬或數(shù)字信號,并由單片機對這些信號進行采集和處理。
本系統(tǒng)使用的傳感器主要分為兩大類,一類是無線電傳感器,用來測量系統(tǒng)距目標的距離;另一類是慣性傳感器,用來監(jiān)測系統(tǒng)運行過程中的實時加速度值。其中慣性傳感器既有高精度大量程的電子式傳感器,又有穩(wěn)定可靠的機械式傳感器。
對于傳感器輸出的模擬信號,C8051F020單片機擁有專用的模擬輸入引腳(AIN),通過12位ADC對輸入的模擬信號進行采集轉換,并利用ADC轉換結束引起中斷響應,將轉換得到的數(shù)據(jù)進行分析處理。而對于傳感器輸出的數(shù)字信號,經電平轉換后即可由數(shù)字I/O端口(P1,P2,P3)進行采集,單片機根據(jù)采集到的信號分析判斷系統(tǒng)當前狀態(tài),為適時輸出控制信號和系統(tǒng)觸發(fā)信號提供依據(jù)。
2 測控裝置的軟件設計
單片機采用C語言編程,相對于匯編語言來說,程序的可讀性大大提高,采用模塊化設計思想也為系統(tǒng)調試和維護帶來極大的方便[3]。
測控裝置軟件采用采用模塊化設計,主要包括數(shù)據(jù)采集模塊、串口通信模塊,時序控制模塊和信號處理模塊。數(shù)據(jù)采集模塊又包含ADC數(shù)據(jù)轉換和數(shù)字信號采集兩個子模塊,主要是通過單片機的中斷系統(tǒng)實時采集外部模擬和數(shù)字信號;串口通信模塊主要實現(xiàn)單片機與外部組件間的RS 485通信,接收其他測控設備的控制命令,反饋單片機實時采集的各種數(shù)據(jù);時序控制模塊利用單片機的定時器精確計時,并根據(jù)預先設定的參數(shù),按照系統(tǒng)要求的時序及時準確地發(fā)出各種控制信號;信號處理模塊對各類傳感器發(fā)出的信號進行中斷處理和分析計算,最終輸出所需的系統(tǒng)觸發(fā)信號。
2.1 主程序設計
測控裝置通過串口接收上位機的指令,并存儲由上位機發(fā)送的系統(tǒng)參數(shù),在運行過程中,通過傳感器A和傳感器B的動作情況判斷測控裝置當前所處狀態(tài),根據(jù)不同的狀態(tài)輸出滿足系統(tǒng)需要的各種控制信號。測控裝置通過預先設定的參數(shù)和從傳感器C接收的實時數(shù)據(jù),進行分析處理,并結合傳感器D發(fā)出的各種標志信號進行綜合計算,從而確定輸出系統(tǒng)觸發(fā)信號的時機。另外傳感器E的信號具有排他性,可以直接導致測控裝置輸出系統(tǒng)觸發(fā)信號。測控裝置的主程序流程圖如圖2所示。
參考文獻
[1] 潘琢金,施國君.C8051Fxxx高速SoC單片機原理及應用[M].北京:北京航空航天大學出版社,2003.
[2] 陳杰,黃鴻.傳感器與檢測技術[M].北京:高等教育出版社,2005.
[3] 童長飛.C8051F系列單片機開發(fā)與C語言編程[M].北京:北京航空航天大學出版社,2005.
[4] 李新超,李繼凱.基于RS 485總線的數(shù)據(jù)采集處理系統(tǒng)[J].現(xiàn)代電子技術,2007,30(5):25?27.
[5] 梅健,黃勇亮,陳聰,等.基于書寫筆勁識別的身份驗證系統(tǒng)[J]. 電子科技,2011(9):136?139.
[6] 段新燕.單片機液晶顯示系統(tǒng)的設計[J].電子科技,2012(8): 13?15.