摘要:在瞬態運動參數測試中,對存儲測試系統的實時性和功耗提出了更高的要求。提出了一種基于STM32的嵌入式存儲測試系統的設計方案,介紹了該系統關鍵部分的軟硬件設計,主要包括模擬信號調理、數據采集存儲和USB數據回讀。該系統具有實時性好、體積小、功耗低的特點,適合于惡劣環境下加速度信號的采集存儲。試驗結果表明,該系統工作穩定,實現了設計目標。
引言
存儲測試技術是在特殊環境下記錄運動物體參數行之有效的方法,先將測試數據存入存儲器,待裝置回收后通過特定接口與上位機進行通信,還原數據信息。在諸多領域的測試中,對數據采集存儲系統的實時性和功耗提出了更高的要求,隨著半導體技術的發展,各種技術的進步使得高速度、低功耗的存儲測試系統能夠實現。
本系統選擇ST公司超低功耗的基于ARM Cortex—M3四核的處理器STM32F103C8T6作為核心控制元件,采取內部A/D轉換器與鐵電存儲器結合的方法,實現壓阻式加速度傳感器測試數據的采集、存儲,并利用LabView開發平臺設計上位機應用軟件實現測試數據的USB回讀及處理。
1 系統原理
存儲測試系統由電源管理模塊、調理模塊、外部晶振、微控制器、存儲模塊、上位機模塊以及接口電路組成,如圖1所示。

系統采用單電池電源供電,電路內部經過多路電源管理單元的穩壓處理后為系統各個模塊供電,實現多分支電源網絡管理,以保證系統良好的抗干擾性能。系統的控制核心為STM32F103C8T6,傳感器信號經調理模塊進入微控制器的12位μs級的A/D轉換器后,經過處理和格式轉換后循環記錄在鐵電存儲器 FM25V10內,一旦傳感器感受的加速度值達到設定閾值,則系統將被觸發,并會自動持續記錄一段時間,裝置回收后則利用LabVieW上位機應用軟件實現測試數據的USB回讀及處理。
2 系統主要部分的硬件設計
2.1 信號調理
由于傳感器測量的信號十分微弱,需要經過適當的放大、濾波等修正后才能夠進行一系列處理。信號調理電路是存儲測試系統中非常關鍵的一個部分,它在數據采集存儲之前對傳感器輸出信號進行調理,其性能的優劣直接決定了系統的性能與可靠性。信號調理電路主要由4部分串聯組成:隔離放大、交流耦合、電壓跟隨、低通濾波。
2.1.1 隔離放大
在存儲測試系統中,不合適的接地是造成測量問題的普遍原因,必須對信號進行電氣隔離以防止這些問題的發生。隔離電路能夠打破接地環路,避免產生高幅值共模電壓。
本設計選用通用的、雙端口的變壓器耦合隔離放大器AD202作為主放大器件。作為一種符合工業標準的隔離放大器,AD202能夠提供一整套隔離功能,包括信號隔離和電源隔離,且封裝緊湊,有利于實現產品的小型化。
圖2為隔離放大電路原理圖,R1和R2的配比可實現衰減功能,R6可實現比例的精確調節,R3、R4和R5實現了調零功能。

2.1.2 交流耦合
為了消除加速度信號中直流分量的影響,實現交流耦合,利用電容的“隔直通交”的特性去除信號里的直流分量,而對純交流信號沒有影響。因此,本設計在隔離放大電路之后,加入了一級交流耦合。
2.1.3 電壓跟隨
傳感器信號在交流耦合之后,串聯一級電壓跟隨,可以起到緩沖、隔離的作用。電壓跟隨電路具有高輸入阻抗、低輸出阻抗的特點,可以使后級放大電路工作更穩定,如圖3所示。

2.1.4 低通濾波
由于測試環境中不可避免地存在著各種干擾和噪聲,如果傳感器信號線引入外界干擾,將造成進入測試系統的信號摻雜有一定的噪聲,嚴重的甚至會影響測試的真實性。因此,需要使用濾波器對信號進行抗混疊濾波,以保證信號的正確性、提高系統信噪比。
系統使用的二階壓控電壓源低通濾波電路因性能穩定、增益易調節,已廣泛應用于測試系統中,此系統也采用此型濾波電路。電路設計如圖4所示。

2.2 微控制器接口
STM32F103處理器采用ST公司獨有的兩大節能技術(130 nm專用低泄漏電流制造工藝和優化的節能架構),使其成為要求高性能、低成本、低功耗的嵌入式系統的良好選擇。該設計利用其自帶的12位μs級的A/D轉換器、SPI通信接口和USB2.0全速接口,實現傳感器信號的采集、存儲和回讀分析。
3 系統關鍵部分的軟件設計
3.1 負延時數據存儲
本系統選用1 Mb鐵電存儲器FM25V10(128K×8位),每個加速度數據占用2個字節,可供存儲65536個數據。系統觸發前,存儲器保持循環記錄,存儲的內容不斷被擦除改寫。當記錄數據達到觸發閾值時,測試系統觸發,延時計數器開始計數,數據繼續記錄至延時計數器到時。觸發點前后的數據長度可根據設計要求確定,計數結束后地址發生器停止工作,加速度信號得以存儲。記錄完畢后進入休眠狀態,等待讀數和擦除。負延時功能可以將觸發前的一段信息有效保存,從而得到完整的加速度曲線,以保證數據的完整性。
3.2 與上位機LabVieW的USB通信
系統利用STM32F103自帶的USB2.0全速接口及其固件驅動程序,實現從存儲器向PC傳送數據和設置存儲參數的功能。STM32F10xxxUSB固件驅動程序庫是ST公司專為STM32F 10xxx系列ARM微控制器提供的固件驅動程序庫,其主要用途是利用STM32F10xxx系列微控制器中的USB宏單元來簡化應用開發。
該部分軟件設計包括3個部分:固件驅動程序、USB設備驅動程序和主機應用程序。
3.2.1 固件驅動程序設計
固件驅動程序(又稱單片機程序)是指固化到MCU模塊內的軟件。固件程序采用模塊化設計,主要模塊包括:數據采集存儲模塊和數據通信模塊兩大部分。模塊化設計的優點是可靠性高、可讀性好、軟件改動簡單。
USB設備在上電之后需要首先完成系統時鐘配置及片內外設的初始化操作。設備初始化完畢后,數據回讀命令的接收、解析及數據傳輸的所有操作均在中斷服務程序中完成。定時器3為節拍發生器,其中斷用于定時觸發A/D轉換器采樣與轉換。DMA通道1產生中斷表明,可以將存儲器中的數據打包并通過USB發送。
USB中斷較為復雜,是固件驅動程序設計的核心部分,包括枚舉的整個過程,以及除枚舉以外所有與主機的命令、數據交互過程。控制命令主要包括采樣頻率的設定、負延時時間的設定、啟動數據回讀等。USB設備總計使用了3個端點,分別為端點0、端點1和端點3。端點0為USB默認的控制傳輸端點,供設備枚舉初始化時使用;端點1和端點3均為批量傳輸端點,端點1方向為輸入,用來接收PC的控制指令;端點3的方向為輸出,用來向PC機發送數據包。
系統固件程序流程如圖5所示。

3.2.2 USB設備驅動程序設計
USB設備驅動程序介于USB硬件與數據采集系統應用程序之間,為它們之間的通信提供橋梁。USB驅動程序使用DriverStudio 中的Driver-works2.7編寫。Drivei—Works提供了3個函數類即KUs-bLowerDevice、KUs—bInterface 和KUsbPipe類,用于實現USB設備操作。KUsbLowerDevice類用于邏輯設備的編程,KUsbInterface類用于接口的編程,KUsbP ipe類用于管道的編程。
本設計使用Driverworks自帶的DriverWizard生成驅動程序框架和Read、write函數,在DeviceControl函數中添加用戶定義的設備控制程序,完成用戶自定義的功能。驅動程序編寫完畢后,會編譯生成后綴為“.inf”和“.sys'’兩個文件。.inf文件是系統用來查找適合硬件的驅動程序的向導文件,當Windows發現新的設備時(比如系統啟動時、在安裝熱插拔設備時或者從控制面板安裝新設備時),就調用 Windows的“添加新設備向導”執行。這個向導掃描所有可用的.inf文件,找到合適的驅動程序。
3.2.3 主機應用程序設計
應用服務程序直接面向用戶,是控制數據存儲軟件的最上層,不僅提供與用戶交互的界面,而且能通過發送各種控制命令來控制存儲模塊的工作。在Windows 中,LabView實現與WDM的通信過程是:先用CreateFile函數打開設備,然后用Devi—ceIOControl與WDM進行通信,包括從 WDM中讀數據和寫數據給WDM,也可以用ReadFile從WDM中讀數據或用WriteFile寫數據給WDM。當應用程序退出時,用 CloseHartdle關閉設備。其軟件設計流程如圖6所示。

4 試驗數據與驗證
圖7是本測試系統所測得的試驗數據波形圖,該曲線所測的是某彈丸在火炮膛內的加速度曲線。經過數據分析,膛內運行時間、膛內運行距離、膛內以及炮口擾動過載均與實際相符。

經過試驗論證,本測試系統在誤差允許的范圍內可以達到測量精度要求,從而驗證了本測試系統具有較強的應用性。
結語
存儲測試系統是軟硬件緊密結合的設備,為了提高實時性并降低功耗,需要設計者盡量精簡系統內核,只保留和系統功能緊密相關的軟硬件,利用最低的資源實現最適當的功能。本文設計的存儲測試系統,使STM32處理器的優點得到了有效的發揮。對于本測試系統,可用環氧樹脂灌封材料將電路灌封在侵徹類引信內,從而獲取引信的侵徹全程加速度數據,對侵徹類引信的研制具有重要意義。
上一篇:基于LabVIEW的電動汽車電池監測預警系統
下一篇:基于STC12C5A60S2的雙電源供電智能控制系統設計
推薦閱讀
史海拾趣
背景:進入21世紀后,隨著全球化和互聯網的發展,HN Electronics開始尋求更廣闊的市場空間。
發展:公司決定拓展國際市場,首先在亞洲市場設立分支機構,隨后進軍歐洲和北美。為了加速國際化進程,HN Electronics與多家國際知名電子企業建立了戰略合作關系,共同開發新產品。
關鍵事件:2005年,HN Electronics與韓國某知名電子企業簽署合作協議,共同研發新一代顯示驅動芯片,這一合作極大地提升了公司在顯示技術領域的競爭力。
在電子行業競爭日益激烈的環境下,Antelec公司深知持續創新的重要性。公司不斷加大研發投入,引進先進的研發設備和人才,推動技術升級和產品創新。同時,公司還積極關注行業發展趨勢和客戶需求變化,及時調整產品策略和市場布局,保持了在市場中的領先地位。
在發展過程中,APLUS Products公司注重與上下游企業的合作與共贏。公司積極與供應商建立良好的合作關系,確保原材料的質量和供應的穩定性;同時,也與多家知名企業建立了戰略合作關系,共同開拓市場、分享資源。這些合作不僅提高了公司的運營效率,也增強了其市場競爭力。
面對日新月異的市場需求和技術變革,Fedco_Batteries始終保持創新的步伐。公司加大了研發投入,不斷推出新型電池產品,滿足客戶的多樣化需求。同時,公司還積極探索新的應用領域,將電池技術應用于更多領域,如新能源汽車、智能家居等。這種創新驅動的發展戰略,讓Fedco_Batteries在行業中始終保持領先地位。
隨著技術的不斷進步和市場需求的不斷變化,Elektron公司不斷進行技術創新和產品升級。公司成功開發出適用于船上使用的單點和多點焊接整流器以及弧光燈的電影整流器等產品,進一步擴大了市場份額。同時,Elektron還注重產品質量和性能的提升,通過引進先進的生產設備和工藝,不斷提高產品的可靠性和耐用性。
Aplus Flash Technology Inc公司自成立以來,一直致力于閃存技術的研發與生產。在電子行業的激烈競爭中,公司憑借對技術的深入理解和持續創新,成功研發出了一款高性能、低成本的閃存芯片,迅速占據了市場份額。這款芯片不僅滿足了消費者對電子設備存儲容量和速度的需求,還因其出色的穩定性和耐用性贏得了客戶的廣泛好評。Aplus Flash Technology Inc公司因此成為了閃存市場的佼佼者,為公司的進一步發展奠定了堅實基礎。
晶圓廠(Fab) 中芯國際(SMIC)總裁兼首席執行官張汝京(Richard Chang) 2007年12月,中芯國際上海12英寸生產線(Fab 8)正式運營。同月,中芯國際與IBM簽訂45nm bulk CMOS技術許可協議,使中芯國際為全球客戶提供45nm代工服務有了可能。 中芯 ...… 查看全部問答∨ |
|
串口發送的問題:發送16 18 98 01 20 E7 這樣一條指令到單片機。相同的代碼,在pc上vc的代碼可以正常啟動單片機,但wince上evc的代碼就不行,請問是什么原因。而wince上發出的指令我用pc接收得到的數據得確是16 18 98 01 20 E7 。大家幫忙分析一下 ...… 查看全部問答∨ |
在windlows Mobile 平臺上作了一個操作文件的程序。文件是以可讀寫方式打開的,對其進行了一次讀寫操作后,在進行寫操作就會出錯。用GetLastError調出錯誤原因顯示“訪問被拒絕”,檢查文件指針沒有發現未釋放的文件指針。現在不知道該怎么解決,請 ...… 查看全部問答∨ |
C:\\Program Files\\Windows CE Tools\\wce400\\STANDARDSDK\\Include\\x86\\prsht.h(261) : error C2146: syntax error : missing \';\' before identifier \'hdr\' C:\\Program Files\\Windows CE Tools\\wce400\\STANDARDSDK\\Include\\x86\\pr ...… 查看全部問答∨ |
這些資料是做智能家居系統收集的,有興趣的可以看看。 1.周工SmartCortex M3-1700資料 http://bbs.eeworld.com.cn/thread-153450-1-1.html 2.幾種LPC1700開發板原理圖 http://bbs.eeworld.com.cn/thread-111150-1-1.html… 查看全部問答∨ |
上電后,用于顯示采樣數據的8個led燈先全亮,然后最高位滅,下來全滅。程序是這樣的——module amyad(clk,din,clk_ad,cs,dout); input clk; input din; output clk_ad; &nbs ...… 查看全部問答∨ |