關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于STM32的傳感器接口模塊的設計

基于STM32的傳感器接口模塊的設計

作者: 時間:2011-09-13 來源:網(wǎng)絡 收藏

h.jpg


2.2 電壓/數(shù)字IO
電壓與數(shù)字開關量基本沿用電流接口模塊的。不同之處在于模擬輸入部分無需經(jīng)過電流一電壓轉(zhuǎn)換,直接經(jīng)運放輸入ADC。數(shù)字量接口直接由MCU的IO端口引出。輸出的電壓直接輸入同向放大電路至AD轉(zhuǎn)換所需要的電平。此處運放就相當于一個電壓跟隨器,顯著特點就是,輸入阻抗高,而輸出阻抗低,可以提高驅(qū)動能力。

i.jpg


2.3 接口模塊硬件實現(xiàn)
整個板子盡量使用緊湊布局。電源以及接口布置于左側(cè),使用螺絲接線端子引出。串口以及以太網(wǎng)口布局在右側(cè)。整個模擬與數(shù)字部分基本分開而設,有效避免干擾。布局基本沒什么變化,左邊螺絲接線端子往外移了一些,主要是考慮到外殼封裝上后螺絲端子可能不夠外露的問題。

l.jpg



3 的標準化接口模塊固件
標準化接口模塊的固件程序包括主程序、配置程序、ADC數(shù)據(jù)采樣程序、EEPROM讀寫程序、以太網(wǎng)網(wǎng)口驅(qū)動程序、UDP協(xié)議棧的嵌入。
接口模塊中共用到三種通信總線。ADC以及以太網(wǎng)控制器與MCU間為SPI總線,EEPROM與MCU間為IIC總線,另外接口模塊提供UART串口對外通信。以外網(wǎng)嵌入UDP協(xié)議。
3.1 AD數(shù)據(jù)采樣
AD數(shù)據(jù)采樣是整個系統(tǒng)接口模塊固件設計的核心工作,也是實現(xiàn)信息獲取的關鍵所在。該模塊負責將采集到的傳感器信息轉(zhuǎn)化為數(shù)字信號。
AD數(shù)據(jù)采樣主要完成如下的幾個功能:
(1)初始化。該工作主要完成對一些物理器件的引腳功能、工作模式等進行預定義;
(2)AD轉(zhuǎn)換。通過軟件啟動模數(shù)轉(zhuǎn)換芯片,完成模擬信號到數(shù)字信號的轉(zhuǎn)換;
(3)數(shù)據(jù)接收和發(fā)送。實時采集轉(zhuǎn)換后的信息,同時發(fā)送相應的控制命令,以切換采集通道。
在數(shù)據(jù)采集過程中,我們可能需要切換不同通道,從而實現(xiàn)對多個傳感器信息的獲取。實際設計中,控制器會在采集本次通道轉(zhuǎn)換結(jié)果的同時,發(fā)送下次采集通道的編號。詳細操作步驟如下:
(1)需采集的通道地址(Ch)通過SPI接口寫入ADS8344的相應寄存器,應用設定的波特率來設置接口傳輸速度;
(2)通過MCU設置GPIOB12(作為AD的CS信號)為低來啟動ADS8344進行數(shù)據(jù)采樣和轉(zhuǎn)換,數(shù)據(jù)傳輸方式為SPI發(fā)送模式;
(3)當數(shù)據(jù)發(fā)送完畢后,設置GPIOB12為高電平,ADS8344結(jié)束數(shù)據(jù)傳輸,進入空閑模式并等待MCU的指令。此外,固件代碼中設置了對ADC進行軟標定的程序。這樣可以通過精密信號源對ADC進行標定,提高采樣精讀。標定信息存儲于EEPROM中。功能實現(xiàn)代碼如下:
j.jpg
3.2 以太網(wǎng)口驅(qū)動
同樣需要先進行SPI接口和GPIO端口初始化,與之前ADC類似,只不過這里用SPI1口。GPIO初始化也不再多說。以太網(wǎng)驅(qū)動部分主要是數(shù)據(jù)包的發(fā)送/接收,緩沖區(qū)的讀寫,物理層的寫等函數(shù)。SPI口的發(fā)送/接收函數(shù)如下:
k.jpg



評論


相關推薦

技術專區(qū)

關閉