2016年第4期 工業(yè)儀表與自動化裝置·85 ·基于-A8 的數(shù)據(jù)采集監(jiān)控系統(tǒng)設計荀艷麗,劉 魁(西北工業(yè)大學明德學院 電子信息工程系,西安) 摘要:該文介紹了一種采用單總線數(shù)字式的溫度傳感器 與 芯片組成的新型溫度監(jiān)控系統(tǒng),系統(tǒng)以 芯片為控制核心,利用新型一線制溫度傳感器 測量溫度值,實現(xiàn)環(huán)境溫度的檢測和監(jiān)控。 該設計以溫度采集為例,詳細描述了基于 -A8 的數(shù)據(jù)采集監(jiān)控系統(tǒng)的硬件結構與軟件實現(xiàn)。關鍵詞:-A8;;數(shù)據(jù)采集;溫度監(jiān)控+中圖分類號:TP274 .2 文獻標志碼:A 文章編號:1000-0682(2016)04 -0085- of data based on -A8XUN Yanli,LIU Kui( and , ,Xi’,China) : a new based on -e chips,210 ,using the new type a wire ,to tem- and . The to for , -tex-A8.Key words:-A8;;data ; 0 引言1 系統(tǒng)總體方案設計嵌入式系統(tǒng)( )是一種“完全嵌設計中溫度傳感器的總線由 芯片進 入受控器件內(nèi)部,為特定應用而設計的專用計算機行控制,完成對總線上所有 發(fā)布 系統(tǒng)”。
與個人計算機這樣的通用計算機系統(tǒng)不命令和接收數(shù)據(jù)。 通過相關寄存器向溫度 同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預先傳感器發(fā)送控制信號,溫度傳感器采集溫度數(shù)據(jù)傳 定義的任務。 該文介紹的溫度控制系統(tǒng),以友善之送給,獲取溫度后,對數(shù)據(jù)進行處 臂的開發(fā)板為平臺,通過進行溫理,并將采集到的數(shù)據(jù),通過串口傳送到PC監(jiān)視, 度數(shù)據(jù)采集,結合最新的 架構微處理器這層總線結構主要實現(xiàn)對溫度數(shù)據(jù)的傳輸,另外, 對數(shù)據(jù)進行處理并通過 LCD 顯示出來。 將數(shù)據(jù)轉換為可在LCD上顯示的點坐標, 系統(tǒng)由微控制器、溫度傳感器和LCD等主要部分構實現(xiàn)LCD 的點描繪和數(shù)字顯示。 系統(tǒng)的總體結構[1] 成。 系統(tǒng)啟動后完全自動運行,無需人為干預便可框圖如圖1所示 。 以完成對環(huán)境溫度的實時采集監(jiān)控。 用戶可以自定 義報警上線,當溫度超過極限值,系統(tǒng)便啟動蜂鳴器 報警。圖1 系統(tǒng)的總體結構框圖 收稿日期:2015-11-302 系統(tǒng)軟件設計 基金項目:校內(nèi)自選課題“嵌入式微控制器多功能綜合實驗平軟件編程是儀器功能實現(xiàn)不可或缺的組成部 臺的研制”作者簡介:荀艷麗(1982),女,陜西渭南人,碩士,實驗師,主要分。
由于Linux開發(fā)環(huán)境的優(yōu)越性,該系統(tǒng)所有的 從事電子信息與科學的教學和研究。軟件編寫均在 Linux 系統(tǒng)下完成,代碼編寫使用 ·86 ·工業(yè)儀表與自動化裝置 2016年第4期 vim,編譯采用 arm -linux -gcc,串口監(jiān)視器使用式;然后初始化硬件裝置,LCD清屏,LCD加載圖片。 ,并通過將源代碼編譯成可在開發(fā)至此,系統(tǒng)初始化完成,并進入正常主程序循環(huán)狀態(tài)。 版上執(zhí)行的二進制.bin文件。在正常主程序循環(huán)狀態(tài)中數(shù)據(jù)采集模塊設計步驟,首先進行溫度的采圖2為系統(tǒng)軟件設計整體框圖。 由于整個系統(tǒng)集;若采集的數(shù)據(jù)超過設定值,則蜂鳴器報警。 之后 軟件比較復雜,為了便于編寫、調(diào)試、修改和增刪,系進行數(shù)據(jù)的處理與顯示數(shù)據(jù)采集模塊設計步驟,以實現(xiàn)實時串口監(jiān)視器的 統(tǒng)程序的編制適合采用模塊化的程序結構,故要求溫度顯示和LCD點的描繪和溫度顯示功能。 其主 整個控制系統(tǒng)軟件由許多獨立的小模塊組成,它們程序包括溫度采集子程序、溫度轉化子程序、溫度處 之間通過軟件接口連接,遵循模塊內(nèi)的數(shù)據(jù)關系緊理輸出子程序。 當ARM處理器接收到正確的溫度 湊,模塊間的數(shù)據(jù)關系松散的原則,將各功能模塊組數(shù)據(jù)后,立即進行相應的溫度數(shù)據(jù)處理與轉換,變成 織成模塊化的軟件結構。
可被LCD直接顯示的正確溫度值。3 功能模塊設計3.1 數(shù)據(jù)采集模塊[6]是一個單總線,輸入和輸出都是通過DQ圖2 系統(tǒng)軟件流程圖引腳,需要根據(jù)時序圖,不斷地操作DQ這個引腳,實現(xiàn) 由圖2 可以看出,剛上電時,要先進行具體的功能。 復位功能實現(xiàn)如圖3所示。 ARM 內(nèi)部的初始化,以使ARM進入相應的狀態(tài)和模圖3 復位時序圖 初始化時序:通過復位信號,可以檢測(2); / / 復位完成 是否工作正常,并通知準備通信。(); / / 主機端口浮空輸入模式1)210拉低DQ引腳,復位周期開始。while(())/ / 等待低電平應答信號2)DQ引腳上的低電平保持480 ~960 μs 的時{i+ + ; 間,然后釋放總線。 (1);3)210延時15~60 μs等待應答。 if(i > 100)4) 拉低 DQ 引腳 60 ~240 μs,表示 1; / / 等待超時,初始化失敗,返 應答。
回1;210讀取DQ引腳電平,如果是低電平,表示初 } 始化完成。(250); / / 跳過回復信號5)應答信號結束后,釋放總線,DQ引; / / 檢測到,并且 腳被上拉電阻拉高,復位結束。初始化成功復位代碼的實現(xiàn):} char (void)3.2 UART模塊{ char i = 0;代碼實現(xiàn)如下: = 0X02;/ / PULL UP ()(); / / 主機端口推挽輸出模式{/ / 1配置引腳用于RX/ TX功能(0); / / 拉低總線480~240 μ = (600); = ;(1);/ / 2設置數(shù)據(jù)格式等 2016年第4期 工業(yè)儀表與自動化裝置·87 · = 0x1; / / 使能控制器就可以產(chǎn)生 LCD驅動器所需要的控制 = 0x0; / / 無流控信號來控制STN/ TFT屏了。
= 0x3; / / 數(shù)據(jù)位 8,無校驗,停止LCD控制器的主要作用,是將定位在系統(tǒng)存儲 位1器中的顯示緩沖區(qū)中的LCD 圖像數(shù)據(jù)傳送到外部UCON0 = 0x5; / / 時鐘:PCLK,禁止中斷,使LCD驅動器,并產(chǎn)生必要的控制信號,例如 RGB_ 能UART發(fā)送、接收VSYNC,,等。/ / 3設置波特率LCD初始化函數(shù)中對 LCD 的控制器進行了初 = ; / / 35 始化,共9個步驟: = ; / / 0x1 1)配置相關引腳為LCD功能;}2)打開背光;上述初始化過程共有3個步驟:3)配置 ,設置數(shù)據(jù)輸出路1) 配置 引腳用 于 RX/ TX 功能,即設 置徑,芯片手冊上要求必須設置; 和寄存器使GPA0 和GPA1引4)配置,設置接口類型、時鐘、極性和 腳用于UART功能。使能LCD控制器等;2)設置數(shù)據(jù)格式等。5)配置,設置時序和長度等;3)設置波特率,涉及2 個寄存器: 和6)配置,設置 的數(shù)據(jù)格式; 。
7)配置/ B/ C,設置的坐標; 3.3 定時器模塊8)配置和,設定時器值可以被寫入定時器計數(shù)n緩沖寄存器置 的地址; (),當前的寄存器的值可以從定時器計數(shù)9)配置,使能DMA通道0。 觀察寄存器()讀出。 讀出的值并經(jīng)過()初始化 LCD控制器之后,即可 不是當前的計數(shù)值,而是下次將重載的計數(shù)值。以在LCD上描繪圖形了,代碼里的所有清屏、劃線TCNTn 的值等于0 的時候,自動重載操作把等函數(shù)都是基于()這個函數(shù),它的作用是 的值裝入TCNTn,只有當自動重載功能被在LCD上描繪一個點,通過描繪一個點最終由點到 使能并且TCNTn 的值等于0 的時候才會自動重載。線,再到圖像。 在LCD上描點的本質(zhì)就是往frame- 如果TCNTn等于0,自動重載控制位為0,則定時器 中寫入顏色值。 ()函數(shù)即是往 停止運行。 中寫入白色值。使用手動更新位和反轉位完成定時器的初始化。 當遞減計數(shù)器的值達到0 時會發(fā)生定時器自動重載void ( x, y, color) 操作,所以TCNTn 的初始值必須由用戶提前定義好,{ 在這種情況下就需要通過手動更新位重載初始值。if((x