999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32 微控制器的電平采集系統設計

2022-05-26 02:11:52王琦張云強呂巖
電子制作 2022年8期
關鍵詞:單片機信號系統

王琦,張云強,呂巖

(1.陜西省電子信息產品監督檢驗院,陜西西安,710000;2.西安市產品質量監督檢驗院,陜西西安,710065)

在檢驗檢測工作中,各種樣品設備的運行狀態是檢測的重要參數。電壓作為反應檢測樣品電氣特性之一的重要模擬量,對其的監控需要轉換為數字信號量。國外產品往往價格高昂,操作復雜,無法達到本地化應用的要求。本文嘗試利用意法半導體STM32F103ZET6 微控制器實現了對-3.3V~+3.3V 的近緩變直流電壓信號的采集。

1 電平采集系統設計簡介

電平采集系統的工作流程為將原始電壓信號通過集成運放電路線性運算處理后,達到單片機針腳0~+3.3V 的檢測范圍,內部ADC 將獲取的電壓轉換為數字信號,程序通過線性逆向運算獲取實時電壓值,不僅能以實時數據的形式顯示在LCD 顯示屏上,還能夠通過串口發送到上位機顯示。系統運行期間可以實現主動按鍵校準,并提示校準信息,可根據當前需求擴展功能和更改采樣頻率,并為后續的功能需求留有足夠的接口,方便功能的二次開發。實驗環境下,系統最大誤差不超過0.06V,完全滿足高精度的采集需求。

電壓采集系統的總體構成主要包括信號處理電路、A/D轉化電路、STM32F103ZET6單片機、復位電路、LCD顯示屏、按鍵等構成[1-2]。它可對-3.3V~+3.3V 的近緩變直流電壓信號進行實時讀取,將信號變換為單片機可處理的電壓范圍,然后顯示在顯示屏上,同時發送到上位機。其中信號處理單元和單片機由電源單獨供電。下面將就系統的各部分設計進行具體介紹。

2 電壓采集系統電路設計

電壓采集系統電路設計包括信號處理電路、電源電路、顯示模塊電路、串口通訊電路及系統軟件設計。

■2.1 信號處理電路與電源電路設計

一般的情況下,數據的采集不能對信號進行直接測量。采集系統需要對信號源有一個隔離的過程,因此我們要設計一個信號處理電路。源跟隨器是一個能夠實現信號隔離和信號還原的電路,輸出電壓與輸入電壓是一樣的,對前級電路隔離,對后級電路還原輸入信號,提供穩定的恒壓源功能。

LM358 是一顆雙運算放大器,內部有兩個獨立的運算放大器,適合單電源工作和雙電源工作兩種模式。考慮到信號的波動范圍在-3.3V~+3.3V 而參考電壓在+3.3V 附近,信號合成范圍在-3.3V~+6.6V 范圍內,為了保證信號的還原度和電源獲取的便捷性,電路中的LM358 采用+9V、-3.5V 雙電源供電模式。

如圖1 所示,信號由SINGAL 端口輸入,由OUTPUT端口輸出。經過軟件仿真,具體的輸入輸出關系如公式(1)所示:

圖1 信號處理電路設計

Voutput:信號輸出電壓 Vsingal:信號輸入電壓Vref:參考電壓。

信號處理電路一共需要的電壓,分別是+9V、+5V、+3.3V 和-3.5V。9V、5V 電源在市面上能夠找到多種解決方案,在此不作討論。電源電路主要解決+3.3V和-3.5V的問題。

如圖2 所示,經過軟件驗證后,ICL7660 芯片在8 腳連接+5V 電壓時,5 腳能夠產生-5V 的負電壓,由于負載電流較大,在經過7909芯片穩壓處理后,能夠得到穩定的-3.5V電壓,可以直接為LM358 提供負電源供電。+3.3V 電壓由目前普遍運用的AMS1117DT-3.3 芯片產生,該芯片輸入端接入+5V 電壓,輸出端能夠提供穩定的+3.3V 電壓。

圖2 電源模塊電路

■2.2 顯示模塊電路與串口通訊電路設計

顯示屏采用的LCD R61509VN,此款顯示屏支持SPI 和8080 協議,可以自動適應協議改變工作模式。FSMC 是STM32單片機的可變靜態存儲控制器,能夠直接控制SRAM、NAND FLASH 和NOR FLASH,支持8/16/32 位數據寬度。

8080 時序也叫做英特爾時序,總線的控制線有四根,分別是RD 寫使能,向RAM 中寫入數據,低電平有效;WR讀使能,向RAM 中讀數據,低電平有效;CS 片選,低電平有效;RS 寄存器選擇,高電平有效,總線數據位共16 位[3]。具體信號指標如表1 所示。

表1 8080接口功能

由于外部SRAM 接口與傳統8080 接口基本相似,部分不相同的線路可以通過軟件控制,此時STM32 能夠通過FSMC 將TFT-LCD 顯示接口當作SRAM 操作,間接控制LCD 顯示功能。單片機FSMC 為TFT-LCD 預留接口,17至34 針腳作為16 位數據位,其余位作為觸控和控制位。

根據接口陣腳位的含義,就得到了FSMC 與8080 時序總線的連接方式,具體連接方式如表2 所示。片選CS 與NE4 連接,LCD 寄存器選擇RS 與A10 連接,讀使能RD 與NOE連接,寫使能WR與NEW連接,其余的數據位一一對應。

表2 FSMC與8080接口連接方式

串口通訊電路主要將單片機經過處理的GPIO 數據通過數字邏輯編碼轉發到串口接口上,使上位機能夠獲取到當前的處理數據[4]。單片機的高低電平邏輯與傳統計算機的不同,主要是電壓上的差異,單片機的高電平大于+2.4V,對應的上位機高電平大于+3V,低電平小于+0.4V,對應的上位機低電平在小于-3V,該電路主要將單片機的高低電平邏輯轉換為上位機的高電平邏輯。電路如圖3 所示,由PB10 端口傳遞到DIN1 的數據通過SP3232 轉換為上位機邏輯電平從DOUT1 發送至RS-232 接口。

圖3 串口模塊電路

至此,系統電路部分基本設計完成,考慮到電壓采集系統的小型化和維持功能拓展性,本次設計將信號運算部分和部分電源模塊進行了整體布局,將元器件手動布局,由軟件自動布線,信號處理系統電路如圖4 所示。

圖4 信號處理系統電路圖

信號由SINGAL 端口輸入,單片機從SINGAL_OUTPUT端口采集數據,VOLTAGE_POWER 為負電源產生芯片供電,AD_VCC 為LM358 芯片供電,PULL_POWER 為運算電路參考電壓,所有信號與供電均共地。

■2.3 軟件系統設計

軟件系統設計除了本次設計需要的功能外,還留有大量的功能接口。軟件系統主要由A/D 控制程序、時鐘控制程序、LCD 顯示程序、LED 控制程序、外部中斷程序及其處理函數、按鍵程序和串口通訊程序組成。整個系統由統一的時鐘控制程序控制,主程序對各個模塊進行對應的初始化操作并在屏幕上顯示基本顯示框架,初始化完成后即開始由A/D 控制程序對信號進行采集,外部中斷出發后由對應的中斷處理函數實現校準,并在顯示屏上提示用戶校準成功。顯示屏數據與上位機顯示數據同步更新。

2.3.1 軟件開發語言及開發環境介紹

本系統在全局采用最常用的單片機高級開發語言-C 語言,由于C 語言是一門強靜態語言,代碼經過預處理、編譯、鏈接后占用的空間很小以及得益于指針的使用,運行內存占用也很小,這完全適合單片機的資源少、功能多、使用靈活的特點。上位機能夠對串口進行通訊的語言有很多,為了開發的便捷性,本系統采用Python 語言進行串口程序接收的開發。本次設計采用集成開發環境Keil uVision 5 作為軟件開發工具,該工具被廣泛地應用于51 單片機和ARM 核心單片機的開發。

2.3.2 單片機軟件系統流程

本次設計的軟件系統的流程比較簡單,首先進行系統初始化,這里包括時鐘系統、中斷等級分組、串口、LCD 顯示和外部中斷的初始化,初始化完成之后立即進入循環函數,在函數中主要完成A/D 轉換、數值發送和顯示的任務。外部中斷監控按鍵的狀態,如果按鍵的狀態被觸發,主循環會暫停,進入中斷處理函數中完成數據的校準,完成之后返回到主循環暫停的位置繼續進行數據的采集。中途如若發生了復位按鍵的動作,系統會立即從第一個過程開始進行。整個過程沒有退出的軟件觸發定義,只有當電源斷開時,軟件才會被動退出。

2.3.3 軟件程序設計

軟件中的按鍵校準功能需要按鍵來觸發外部中斷,其中選用開發板上的KEY-RIGHT 按鍵進行設置,當按鍵按下時開關處于接通狀態,松開時處于斷開狀態。該按鍵接口屬于GPIOE 的第四針腳,未按下時該針腳處于低電平狀態,按下后處于高電平狀態[5]。通過檢測GPIOE4 針腳電平狀態實現單片機系統對按鍵狀態的檢測,完成外部中斷標志位的觸發動作。初始化代碼如下所示:

A/D 轉換程序主要控制驅動單片機內部的ADC 模塊以規定的時序進行模數轉換,將ADC 轉化后的12 位二進制數值轉化為十進制數值[6-7]。程序開始后,隨即指定轉換通道和采樣時間,這一步是規范取值的接口和時間,使能轉換功能后就能得到有效的數值,由于硬件對原始信號進行了線性處理,獲得有效值需要逆向計算,具體數值計算如公式(2)所示:

Vreal:實際電壓值;Vadc:經過A/D 模塊轉換后的12 位電壓值;Vref:硬件電路中的參考電壓。

檢測到轉換完成標志后,對單次采樣值進行累加,經過多次采樣并且次數達到設置的采樣次數時,函數返回本次采樣平均值作為有效數值。

LCD 顯示程序主要針對LCD 顯示屏設計,LCD 顯示屏TFT-R61509VN 是一塊3.0 寸240×400 分辨率并且帶觸摸控制功能的屏幕,廠家已經提供了對應的驅動模塊、函數庫以及常用的ASCII 字符顯示模塊,本次設計選用官方函數庫進行編程,主要實現屏幕顯示框架、數值刷新和提示信息的顯示。

外部中斷程序簡稱EXTI,管理著單片機的中斷線或者事件線。每個中斷/事件線都有自己對應的獨立檢測器,可以對信號陡增時檢測、信號陡降時檢測和同時對兩種情況檢測。按鍵程序定義按鍵行為會在按鍵按下時將原有的低電平瞬間變成高電平,就產生了一次上升沿檢測中的標志性行為。其主要用于電壓值的校準,按下校準按鍵,中斷檢測程序能夠將程序直接進入到中斷處理函數中去,外部中斷處理函數只有在按鍵狀態位標志出發以后能運行,其余時間均處于待機狀態,不會對主程序產生任何影響。

本次設計中串口的主要功能主要完成數據的發送,在功能上只設計了數據對外發送的模塊,數據對內接收沒有啟用。數據發送的媒介采用自定義printf 接口向上位機發送實時采集電壓值。在該接口的作用下,發送的內容通過指針參數傳入,函數得到參數后判斷需要發送的內容,然后將有結束符號“

主站蜘蛛池模板: 国产情侣一区二区三区| 久久久久国产精品免费免费不卡| 一区二区三区国产精品视频| 色窝窝免费一区二区三区| 九九九精品视频| 国产精品免费久久久久影院无码| 噜噜噜久久| 九九热视频在线免费观看| 色爽网免费视频| 99久久精品免费视频| 欧美一区二区啪啪| 91精品小视频| 伊人久久大香线蕉aⅴ色| 国产成人亚洲精品无码电影| 人人艹人人爽| 国产亚洲成AⅤ人片在线观看| 亚洲人成电影在线播放| AV在线天堂进入| 永久免费av网站可以直接看的| 日本91在线| 国产高清无码第一十页在线观看| www.91中文字幕| 国产亚洲欧美日韩在线一区| 福利在线不卡一区| 日韩A∨精品日韩精品无码| 波多野结衣国产精品| 在线欧美日韩| 色婷婷视频在线| 99热精品久久| 国产精品所毛片视频| 97se亚洲| 91视频青青草| 国产天天色| 精品乱码久久久久久久| 国产午夜在线观看视频| 亚洲免费播放| 久久网欧美| 日韩欧美国产中文| 久久不卡国产精品无码| 国产幂在线无码精品| 免费无遮挡AV| 精品国产美女福到在线直播| 国内精品自在自线视频香蕉| 国产精品第一区在线观看| 欧美、日韩、国产综合一区| 免费在线色| 精品福利视频导航| 欧美亚洲第一页| 亚洲成网站| 亚洲国产日韩欧美在线| 午夜啪啪福利| 色婷婷亚洲十月十月色天| 国产欧美精品一区二区| 国产黄网永久免费| 亚洲成人网在线观看| 成人免费一级片| av一区二区三区在线观看| 四虎亚洲国产成人久久精品| 国产女人18毛片水真多1| 成人精品视频一区二区在线| 亚洲久悠悠色悠在线播放| 四虎成人精品在永久免费| 手机精品视频在线观看免费| 一本久道久久综合多人| 亚洲精品色AV无码看| 日本在线亚洲| 欧美国产日产一区二区| 亚洲天堂日韩在线| 久久精品视频亚洲| 最新国产高清在线| 综合天天色| 成人在线视频一区| 试看120秒男女啪啪免费| 亚洲综合香蕉| 亚洲中文精品人人永久免费| 亚洲精品无码专区在线观看| 高清不卡一区二区三区香蕉| 亚洲av中文无码乱人伦在线r| 欧美日韩一区二区在线免费观看| 亚洲无码高清免费视频亚洲| 九九香蕉视频| 四虎成人在线视频|