基于C8051F020單片機的實時測控裝置設計
(1)核心模塊
核心模塊由Cygnal單片機(C8051F020)、UT62L1024SRAM、SPI串行方式8 Mb的FLASH存儲器AT45DB081、日歷時鐘S-3530A、10M以太網芯片8019等組成。全部芯片和電路組合在42.5 mmx53.8 mm的PCB板上,由2 mm腳距的40P雙排插針與數據采集模塊相連接,核心模塊在使用時相當于一個“大芯片”。C8051F020單片機實時采集各種數據,根據預先設定在單片機中的參數,對接收數據進行綜合處理和分析計算,輸出滿足要求的各種控制信號。
(2)數據采集模塊
數據采集模塊上設計有腳距2 mm的40P雙排插孔,可以很方便地實現核心模塊的轉接。每個模塊還設計有3個8位數字I/O端口(P1,P2,P3)和一個8通道模擬輸入端口(AIN),另外還有RS 485通信端口和電源模塊。
通過這些端口單片機可以很方便地對外部傳感器輸入的信號進行實時采集,并通過RS 485通信與系統其他組件實現數據交換。
(3)輸出控制模塊
測控裝置工作過程中根據時序對外部組件進行供電和控制,需要3 V,5 V,12 V和27 V等多種工作電壓,以及多路輸出控制信號,為此設計了輸出控制模塊,通過單片機的可編程數字I/O端口對相關繼電器進行實時控制,從而實現多路電壓和控制信號的穩定輸出。
(4)數字邏輯模塊
數字邏輯模塊將單片機輸出的部分數字信號進行轉換,提供給需要的外部組件,同時也可以接收其他單片機和外部組件的數字信號,進行硬件邏輯判決,從而實現在預定時機可靠地輸出系統觸發信號,最終完成觸發外部執行裝置的功能。
1.2 傳感器數據采集
傳感器是能感受規定的被測量并轉換成可用輸出信號的器件,本系統使用的傳感器作為某型電子裝備的重要組成部分,根據各自的功能“感知”外界環境變化,完成將各種物理量轉化為單片機可以處理的模擬或數字信號,并由單片機對這些信號進行采集和處理。
本系統使用的傳感器主要分為兩大類,一類是無線電傳感器,用來測量系統距目標的距離;另一類是慣性傳感器,用來監測系統運行過程中的實時加速度值。其中慣性傳感器既有高精度大量程的電子式傳感器,又有穩定可靠的機械式傳感器。
對于傳感器輸出的模擬信號,C8051F020單片機擁有專用的模擬輸入引腳(AIN),通過12位ADC對輸入的模擬信號進行采集轉換,并利用ADC轉換結束引起中斷響應,將轉換得到的數據進行分析處理。而對于傳感器輸出的數字信號,經電平轉換后即可由數字I/O端口(P1,P2,P3)進行采集,單片機根據采集到的信號分析判斷系統當前狀態,為適時輸出控制信號和系統觸發信號提供依據。
2 測控裝置的軟件設計
單片機采用C語言編程,相對于匯編語言來說,程序的可讀性大大提高,采用模塊化設計思想也為系統調試和維護帶來極大的方便。
測控裝置軟件采用采用模塊化設計,主要包括數據采集模塊、串口通信模塊,時序控制模塊和信號處理模塊。數據采集模塊又包含ADC數據轉換和數字信號采集兩個子模塊,主要是通過單片機的中斷系統實時采集外部模擬和數字信號;串口通信模塊主要實現單片機與外部組件間的RS 485通信,接收其他測控設備的控制命令,反饋單片機實時采集的各種數據;時序控制模塊利用單片機的定時器精確計時,并根據預先設定的參數,按照系統要求的時序及時準確地發出各種控制信號;信號處理模塊對各類傳感器發出的信號進行中斷處理和分析計算,最終輸出所需的系統觸發信號。
2.1 主程序設計
測控裝置通過串口接收上位機的指令,并存儲由上位機發送的系統參數,在運行過程中,通過傳感器A和傳感器B的動作情況判斷測控裝置當前所處狀態,根據不同的狀態輸出滿足系統需要的各種控制信號。測控裝置通過預先設定的參數和從傳感器C接收的實時數據,進行分析處理,并結合傳感器D發出的各種標志信號進行綜合計算,從而確定輸出系統觸發信號的時機。另外傳感器E的信號具有排他性,可以直接導致測控裝置輸出系統觸發信號。測控裝置的主程序流程圖如圖2所示。本文引用地址:http://www.j9360.com/article/192803.htm
2.2 串口通信程序設計
在以單片機為核心構成的數據采集系統中,往往需要實現PC機與單_片機之間的數據交換。傳統的基于RS 232協議的串口通信存在傳輸距離短、速度慢、信號易受干擾等不足,其應用局限性日益突出,而利用RS 485串行通信,可以實現快速、穩定、遠距離地傳送數據。
評論