新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32的瞬態(tài)運(yùn)動(dòng)參數(shù)存儲(chǔ)測(cè)試系統(tǒng)設(shè)計(jì)

        STM32的瞬態(tài)運(yùn)動(dòng)參數(shù)存儲(chǔ)測(cè)試系統(tǒng)設(shè)計(jì)

        作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò) 收藏

        摘要:在瞬態(tài)運(yùn)動(dòng)參數(shù)測(cè)試中,對(duì)存儲(chǔ)測(cè)試系統(tǒng)的實(shí)時(shí)性和功耗提出了更高的要求。提出了一種基于的嵌入式存儲(chǔ)測(cè)試系統(tǒng)的設(shè)計(jì)方案,介紹了該系統(tǒng)關(guān)鍵部分的軟硬件設(shè)計(jì),主要包括模擬、數(shù)據(jù)采集存儲(chǔ)和數(shù)據(jù)回讀。該系統(tǒng)具有實(shí)時(shí)性好、體積小、功耗低的特點(diǎn),適合于惡劣環(huán)境下加速度信號(hào)的采集存儲(chǔ)。試驗(yàn)結(jié)果表明,該系統(tǒng)工作穩(wěn)定,實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。

        本文引用地址:http://www.104case.com/article/201610/307239.htm

        關(guān)鍵詞:;;;;

        引言

        是在特殊環(huán)境下記錄運(yùn)動(dòng)物體參數(shù)行之有效的方法,先將測(cè)試數(shù)據(jù)存入存儲(chǔ)器,待裝置回收后通過(guò)特定接口與上位機(jī)進(jìn)行通信,還原數(shù)據(jù)信息。在諸多領(lǐng)域的測(cè)試中,對(duì)數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的實(shí)時(shí)性和功耗提出了更高的要求,隨著半導(dǎo)體技術(shù)的發(fā)展,各種技術(shù)的進(jìn)步使得高速度、低功耗的存儲(chǔ)測(cè)試系統(tǒng)能夠?qū)崿F(xiàn)。

        本系統(tǒng)選擇ST公司超低功耗的基于ARM Cortex—M3四核的處理器F103C8T6作為核心控制元件,采取內(nèi)部A/D轉(zhuǎn)換器與鐵電存儲(chǔ)器結(jié)合的方法,實(shí)現(xiàn)壓阻式加速度傳感器測(cè)試數(shù)據(jù)的采集、存儲(chǔ),并利用開(kāi)發(fā)平臺(tái)設(shè)計(jì)上位機(jī)應(yīng)用軟件實(shí)現(xiàn)測(cè)試數(shù)據(jù)的回讀及處理。

        1 系統(tǒng)原理

        存儲(chǔ)測(cè)試系統(tǒng)由電源管理模塊、調(diào)理模塊、外部晶振、微控制器、存儲(chǔ)模塊、上位機(jī)模塊以及接口電路組成,如圖1所示。

        a.jpg

        系統(tǒng)采用單電池電源供電,電路內(nèi)部經(jīng)過(guò)多路電源管理單元的穩(wěn)壓處理后為系統(tǒng)各個(gè)模塊供電,實(shí)現(xiàn)多分支電源網(wǎng)絡(luò)管理,以保證系統(tǒng)良好的抗干擾性能。系統(tǒng)的控制核心為STM32F103C8T6,傳感器信號(hào)經(jīng)調(diào)理模塊進(jìn)入微控制器的12位μs級(jí)的A/D轉(zhuǎn)換器后,經(jīng)過(guò)處理和格式轉(zhuǎn)換后循環(huán)記錄在鐵電存儲(chǔ)器 FM25V10內(nèi),一旦傳感器感受的加速度值達(dá)到設(shè)定閾值,則系統(tǒng)將被觸發(fā),并會(huì)自動(dòng)持續(xù)記錄一段時(shí)間,裝置回收后則利用LabVieW上位機(jī)應(yīng)用軟件實(shí)現(xiàn)測(cè)試數(shù)據(jù)的USB回讀及處理。

        2 系統(tǒng)主要部分的硬件設(shè)計(jì)

        2.1

        由于傳感器測(cè)量的信號(hào)十分微弱,需要經(jīng)過(guò)適當(dāng)?shù)姆糯蟆V波等修正后才能夠進(jìn)行一系列處理。信號(hào)調(diào)理電路是存儲(chǔ)測(cè)試系統(tǒng)中非常關(guān)鍵的一個(gè)部分,它在數(shù)據(jù)采集存儲(chǔ)之前對(duì)傳感器輸出信號(hào)進(jìn)行調(diào)理,其性能的優(yōu)劣直接決定了系統(tǒng)的性能與可靠性。信號(hào)調(diào)理電路主要由4部分串聯(lián)組成:隔離放大、交流耦合、電壓跟隨、低通濾波。

        2.1.1 隔離放大

        在存儲(chǔ)測(cè)試系統(tǒng)中,不合適的接地是造成測(cè)量問(wèn)題的普遍原因,必須對(duì)信號(hào)進(jìn)行電氣隔離以防止這些問(wèn)題的發(fā)生。隔離電路能夠打破接地環(huán)路,避免產(chǎn)生高幅值共模電壓。

        本設(shè)計(jì)選用通用的、雙端口的變壓器耦合隔離放大器AD202作為主放大器件。作為一種符合工業(yè)標(biāo)準(zhǔn)的隔離放大器,AD202能夠提供一整套隔離功能,包括信號(hào)隔離和電源隔離,且封裝緊湊,有利于實(shí)現(xiàn)產(chǎn)品的小型化。

        圖2為隔離放大電路原理圖,R1和R2的配比可實(shí)現(xiàn)衰減功能,R6可實(shí)現(xiàn)比例的精確調(diào)節(jié),R3、R4和R5實(shí)現(xiàn)了調(diào)零功能。

        b.jpg

        2.1.2 交流耦合

        為了消除加速度信號(hào)中直流分量的影響,實(shí)現(xiàn)交流耦合,利用電容的“隔直通交”的特性去除信號(hào)里的直流分量,而對(duì)純交流信號(hào)沒(méi)有影響。因此,本設(shè)計(jì)在隔離放大電路之后,加入了一級(jí)交流耦合。

        2.1.3 電壓跟隨

        傳感器信號(hào)在交流耦合之后,串聯(lián)一級(jí)電壓跟隨,可以起到緩沖、隔離的作用。電壓跟隨電路具有高輸入阻抗、低輸出阻抗的特點(diǎn),可以使后級(jí)放大電路工作更穩(wěn)定,如圖3所示。

        c.jpg

        2.1.4 低通濾波

        由于測(cè)試環(huán)境中不可避免地存在著各種干擾和噪聲,如果傳感器信號(hào)線引入外界干擾,將造成進(jìn)入測(cè)試系統(tǒng)的信號(hào)摻雜有一定的噪聲,嚴(yán)重的甚至?xí)绊憸y(cè)試的真實(shí)性。因此,需要使用濾波器對(duì)信號(hào)進(jìn)行抗混疊濾波,以保證信號(hào)的正確性、提高系統(tǒng)信噪比。

        系統(tǒng)使用的二階壓控電壓源低通濾波電路因性能穩(wěn)定、增益易調(diào)節(jié),已廣泛應(yīng)用于測(cè)試系統(tǒng)中,此系統(tǒng)也采用此型濾波電路。電路設(shè)計(jì)如圖4所示。

        d.jpg

        2.2 微控制器接口

        STM32F103處理器采用ST公司獨(dú)有的兩大節(jié)能技術(shù)(130 nm專(zhuān)用低泄漏電流制造工藝和優(yōu)化的節(jié)能架構(gòu)),使其成為要求高性能、低成本、低功耗的嵌入式系統(tǒng)的良好選擇。該設(shè)計(jì)利用其自帶的12位μs級(jí)的A/D轉(zhuǎn)換器、SPI通信接口和USB2.0全速接口,實(shí)現(xiàn)傳感器信號(hào)的采集、存儲(chǔ)和回讀分析。

        3 系統(tǒng)關(guān)鍵部分的軟件設(shè)計(jì)

        3.1 負(fù)延時(shí)數(shù)據(jù)存儲(chǔ)

        本系統(tǒng)選用1 Mb鐵電存儲(chǔ)器FM25V10(128K×8位),每個(gè)加速度數(shù)據(jù)占用2個(gè)字節(jié),可供存儲(chǔ)65536個(gè)數(shù)據(jù)。系統(tǒng)觸發(fā)前,存儲(chǔ)器保持循環(huán)記錄,存儲(chǔ)的內(nèi)容不斷被擦除改寫(xiě)。當(dāng)記錄數(shù)據(jù)達(dá)到觸發(fā)閾值時(shí),測(cè)試系統(tǒng)觸發(fā),延時(shí)計(jì)數(shù)器開(kāi)始計(jì)數(shù),數(shù)據(jù)繼續(xù)記錄至延時(shí)計(jì)數(shù)器到時(shí)。觸發(fā)點(diǎn)前后的數(shù)據(jù)長(zhǎng)度可根據(jù)設(shè)計(jì)要求確定,計(jì)數(shù)結(jié)束后地址發(fā)生器停止工作,加速度信號(hào)得以存儲(chǔ)。記錄完畢后進(jìn)入休眠狀態(tài),等待讀數(shù)和擦除。負(fù)延時(shí)功能可以將觸發(fā)前的一段信息有效保存,從而得到完整的加速度曲線,以保證數(shù)據(jù)的完整性。

        3.2 與上位機(jī)LabVieW的USB通信

        系統(tǒng)利用STM32F103自帶的USB2.0全速接口及其固件驅(qū)動(dòng)程序,實(shí)現(xiàn)從存儲(chǔ)器向PC傳送數(shù)據(jù)和設(shè)置存儲(chǔ)參數(shù)的功能。STM32F10xxxUSB固件驅(qū)動(dòng)程序庫(kù)是ST公司專(zhuān)為STM32F 10xxx系列ARM微控制器提供的固件驅(qū)動(dòng)程序庫(kù),其主要用途是利用STM32F10xxx系列微控制器中的USB宏單元來(lái)簡(jiǎn)化應(yīng)用開(kāi)發(fā)。

        該部分軟件設(shè)計(jì)包括3個(gè)部分:固件驅(qū)動(dòng)程序、USB設(shè)備驅(qū)動(dòng)程序和主機(jī)應(yīng)用程序。

        3.2.1 固件驅(qū)動(dòng)程序設(shè)計(jì)

        固件驅(qū)動(dòng)程序(又稱(chēng)單片機(jī)程序)是指固化到MCU模塊內(nèi)的軟件。固件程序采用模塊化設(shè)計(jì),主要模塊包括:數(shù)據(jù)采集存儲(chǔ)模塊和數(shù)據(jù)通信模塊兩大部分。模塊化設(shè)計(jì)的優(yōu)點(diǎn)是可靠性高、可讀性好、軟件改動(dòng)簡(jiǎn)單。

        USB設(shè)備在上電之后需要首先完成系統(tǒng)時(shí)鐘配置及片內(nèi)外設(shè)的初始化操作。設(shè)備初始化完畢后,數(shù)據(jù)回讀命令的接收、解析及數(shù)據(jù)傳輸?shù)乃胁僮骶谥袛喾?wù)程序中完成。定時(shí)器3為節(jié)拍發(fā)生器,其中斷用于定時(shí)觸發(fā)A/D轉(zhuǎn)換器采樣與轉(zhuǎn)換。DMA通道1產(chǎn)生中斷表明,可以將存儲(chǔ)器中的數(shù)據(jù)打包并通過(guò)USB發(fā)送。

        USB中斷較為復(fù)雜,是固件驅(qū)動(dòng)程序設(shè)計(jì)的核心部分,包括枚舉的整個(gè)過(guò)程,以及除枚舉以外所有與主機(jī)的命令、數(shù)據(jù)交互過(guò)程。控制命令主要包括采樣頻率的設(shè)定、負(fù)延時(shí)時(shí)間的設(shè)定、啟動(dòng)數(shù)據(jù)回讀等。USB設(shè)備總計(jì)使用了3個(gè)端點(diǎn),分別為端點(diǎn)0、端點(diǎn)1和端點(diǎn)3。端點(diǎn)0為USB默認(rèn)的控制傳輸端點(diǎn),供設(shè)備枚舉初始化時(shí)使用;端點(diǎn)1和端點(diǎn)3均為批量傳輸端點(diǎn),端點(diǎn)1方向?yàn)檩斎耄脕?lái)接收PC的控制指令;端點(diǎn)3的方向?yàn)檩敵觯脕?lái)向PC機(jī)發(fā)送數(shù)據(jù)包。

        系統(tǒng)固件程序流程如圖5所示。

        e.jpg

        3.2.2 USB設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

        USB設(shè)備驅(qū)動(dòng)程序介于USB硬件與數(shù)據(jù)采集系統(tǒng)應(yīng)用程序之間,為它們之間的通信提供橋梁。USB驅(qū)動(dòng)程序使用DriverStudio 中的Driver-works2.7編寫(xiě)。Drivei—Works提供了3個(gè)函數(shù)類(lèi)即KUs-bLowerDevice、KUs—bInterface 和KUsbPipe類(lèi),用于實(shí)現(xiàn)USB設(shè)備操作。KUsbLowerDevice類(lèi)用于邏輯設(shè)備的編程,KUsbInterface類(lèi)用于接口的編程,KUsbP ipe類(lèi)用于管道的編程。

        本設(shè)計(jì)使用Driverworks自帶的DriverWizard生成驅(qū)動(dòng)程序框架和Read、write函數(shù),在DeviceControl函數(shù)中添加用戶定義的設(shè)備控制程序,完成用戶自定義的功能。驅(qū)動(dòng)程序編寫(xiě)完畢后,會(huì)編譯生成后綴為“.inf”和“.sys'’兩個(gè)文件。.inf文件是系統(tǒng)用來(lái)查找適合硬件的驅(qū)動(dòng)程序的向?qū)募?dāng)Windows發(fā)現(xiàn)新的設(shè)備時(shí)(比如系統(tǒng)啟動(dòng)時(shí)、在安裝熱插拔設(shè)備時(shí)或者從控制面板安裝新設(shè)備時(shí)),就調(diào)用 Windows的“添加新設(shè)備向?qū)?rdquo;執(zhí)行。這個(gè)向?qū)呙杷锌捎玫?inf文件,找到合適的驅(qū)動(dòng)程序。

        3.2.3 主機(jī)應(yīng)用程序設(shè)計(jì)

        應(yīng)用服務(wù)程序直接面向用戶,是控制數(shù)據(jù)存儲(chǔ)軟件的最上層,不僅提供與用戶交互的界面,而且能通過(guò)發(fā)送各種控制命令來(lái)控制存儲(chǔ)模塊的工作。在Windows 中,實(shí)現(xiàn)與WDM的通信過(guò)程是:先用CreateFile函數(shù)打開(kāi)設(shè)備,然后用Devi—ceIOControl與WDM進(jìn)行通信,包括從 WDM中讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)給WDM,也可以用ReadFile從WDM中讀數(shù)據(jù)或用WriteFile寫(xiě)數(shù)據(jù)給WDM。當(dāng)應(yīng)用程序退出時(shí),用 CloseHartdle關(guān)閉設(shè)備。其軟件設(shè)計(jì)流程如圖6所示。

        f.jpg

        4 試驗(yàn)數(shù)據(jù)與驗(yàn)證

        圖7是本測(cè)試系統(tǒng)所測(cè)得的試驗(yàn)數(shù)據(jù)波形圖,該曲線所測(cè)的是某彈丸在火炮膛內(nèi)的加速度曲線。經(jīng)過(guò)數(shù)據(jù)分析,膛內(nèi)運(yùn)行時(shí)間、膛內(nèi)運(yùn)行距離、膛內(nèi)以及炮口擾動(dòng)過(guò)載均與實(shí)際相符。

        g.jpg

        經(jīng)過(guò)試驗(yàn)論證,本測(cè)試系統(tǒng)在誤差允許的范圍內(nèi)可以達(dá)到測(cè)量精度要求,從而驗(yàn)證了本測(cè)試系統(tǒng)具有較強(qiáng)的應(yīng)用性。

        結(jié)語(yǔ)

        存儲(chǔ)測(cè)試系統(tǒng)是軟硬件緊密結(jié)合的設(shè)備,為了提高實(shí)時(shí)性并降低功耗,需要設(shè)計(jì)者盡量精簡(jiǎn)系統(tǒng)內(nèi)核,只保留和系統(tǒng)功能緊密相關(guān)的軟硬件,利用最低的資源實(shí)現(xiàn)最適當(dāng)?shù)墓δ堋1疚脑O(shè)計(jì)的存儲(chǔ)測(cè)試系統(tǒng),使STM32處理器的優(yōu)點(diǎn)得到了有效的發(fā)揮。對(duì)于本測(cè)試系統(tǒng),可用環(huán)氧樹(shù)脂灌封材料將電路灌封在侵徹類(lèi)引信內(nèi),從而獲取引信的侵徹全程加速度數(shù)據(jù),對(duì)侵徹類(lèi)引信的研制具有重要意義。

        • STM32單片機(jī)中文官網(wǎng)
        • STM32單片機(jī)官方開(kāi)發(fā)工具
        • STM32單片機(jī)參考設(shè)計(jì)


        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 固阳县| 凌云县| 沧源| 阿尔山市| 印江| 岗巴县| 黑山县| 梅州市| 和政县| 通州区| 西青区| 土默特左旗| 泾阳县| 阜宁县| 盘锦市| 静乐县| 芜湖县| 肥西县| 奈曼旗| 军事| 扶风县| 靖西县| 鹿泉市| 璧山县| 建德市| 甘谷县| 正定县| 耒阳市| 苏尼特左旗| 苗栗市| 鹰潭市| 民丰县| 肇东市| 祁阳县| 葫芦岛市| 大足县| 宁明县| 威信县| 清河县| 襄汾县| 静乐县|