• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32的USB數(shù)據(jù)采集器的設計

      2018-10-21 10:20:55李雪靜鄧成中
      汽車實用技術(shù) 2018年17期

      李雪靜 鄧成中

      摘 要:隨著計算機科學技術(shù)的快速發(fā)展,PC機作為控制平臺的數(shù)據(jù)采集系統(tǒng)已經(jīng)成為了當前發(fā)展的主要趨勢。文章設計了基于微處理器平臺STM32的USB數(shù)據(jù)處理采集系統(tǒng),USB通信的方式實現(xiàn)和PC軟件之間的數(shù)據(jù)交換,數(shù)據(jù)通過USB接口傳輸,并在PC機進行實時數(shù)據(jù)顯示,給出了主要模塊的具體的硬件電路設計和程序的設計模塊。

      關鍵詞:數(shù)據(jù)采;USB通信;STM32

      中圖分類號:V557 文獻標識碼:A 文章編號:1671-7988(2018)17-172-05

      Abstract: With the rapid development of computer science and technology, PC machine as the control platform of the data acquisition system has become the main trend of the current development. In this paper, the design of based on STM32 microprocessor platform USB data acquisition and processing system, data exchange between the USB communication and the PC software, data is transmitted through the USB interface and in the PC for real-time data display, gives the main module of the specific hardware circuit design and program design module.

      Keywords: Data acquisition; USB communication; STM32

      CLC NO.: V557 Document Code: A Article ID: 1671-7988(2018)17-172-05

      前言

      數(shù)據(jù)采集一般指的是將待測設備或傳感器中的模擬和數(shù)字結(jié)構(gòu)單元中自動的采集信號(包括電量和非電量),然后發(fā)送到遠程的PC或服務器上再進行分析處理[1]。

      數(shù)據(jù)采集器是一種能夠?qū)ΜF(xiàn)場或遠程采集的數(shù)據(jù)進行分析記錄的設備。其輕便的特性使其在多種場合適用。數(shù)據(jù)采集器的輸入源一般是以自帶的過程傳感器或震動傳感器等的測量信號作為它的輸入,在其內(nèi)部搭載了十分復雜的測量分析技術(shù)和豐富多樣化的顯示系統(tǒng),所有這些組成的檢測系統(tǒng)能很方便的對機器設備進行周期性的故障排查和狀態(tài)檢測。它同計算機一起構(gòu)成了機器設備診斷主要的輔助手段[2]。

      20世紀90年代至今,許多科技發(fā)達的國家已經(jīng)廣泛的推廣使用這種數(shù)據(jù)采集技術(shù)。而且隨著集成電路制造技術(shù)的飛速發(fā)展,高性能,高可靠性的專業(yè)單片機數(shù)據(jù)采集系統(tǒng)(DAS)開始出現(xiàn)。目前隨處可見精度高達16位的DAS產(chǎn)品,其采集數(shù)據(jù)每秒就可以達到十萬次以上。至此數(shù)據(jù)采集技術(shù)已經(jīng)逐漸發(fā)展成為了一門專門的技術(shù)。

      目前,智能化的控制系統(tǒng),模塊化的接口是數(shù)據(jù)采集系統(tǒng)的主要發(fā)展方向[3]。

      1 系統(tǒng)結(jié)構(gòu)組成

      1.1 USB數(shù)據(jù)采集器硬件系統(tǒng)設計

      本設計是基于STM32F103主控器的硬件系統(tǒng)電路設計,其中包括電源管理電路、數(shù)據(jù)采集電路、控制電路三部分。采用STM32自帶的USB2.0功能簡化電路設計;模擬信號采用具有雙通道可調(diào)增益的采樣芯片LMH6517;脈沖計數(shù)采用帶施密特觸發(fā)器的光耦隔離芯片H11L1M;輸入、輸出通道均采用光耦隔離,所有信號通過USB通信發(fā)送回主機[4]。圖一為為該系統(tǒng)的整體組成框圖。

      1.2 USB數(shù)據(jù)采集器軟件設計

      本設計中軟件系統(tǒng)設計包括單片機下位程序設計和PC界面數(shù)據(jù)顯示界面程序(上位機程序)設計。下位機程序由硬件驅(qū)動程序、用戶配置程序、系統(tǒng)控制程序。主要包括8通道開關狀態(tài)的數(shù)據(jù)讀取,8通道開關狀態(tài)的數(shù)據(jù)控制輸出,兩路脈沖信號的中斷輸入,模擬信號的ADC采集,以及對USB功能的實現(xiàn)。上位機程序包括數(shù)據(jù)通道控制程序、8通道開關狀態(tài)顯示界面、8通道開關量輸出控制界面、脈沖計數(shù)顯示界面、模擬信號波形顯示界面、模擬直流信號顯示界面。本設計中下位程序采用KEIL5編譯器編譯,上位機程序采用Visual Studio 2013編譯,并生成可執(zhí)行文件[5], 圖2為整個軟件系統(tǒng)框圖。

      2 系統(tǒng)硬件電路設計

      2.1 電源模塊

      本設計中不需要使用備份工作電壓,直接將VBAT連接到系統(tǒng)工作電壓上,保證芯片正常工作,并連接一個旁路電容到地。圖3為主控制器外圍電路。由于存在多通道開關量輸出端口,考慮到USB輸出功率不能較好的驅(qū)動功率較大的器件,本設計中使用了USB供電和外部輸入直流電壓兩張可選擇的供電方案。當不存在外部電源時,系統(tǒng)工作電壓由USB提供,當有外部電源接入時,系統(tǒng)自動切換到外部電源供電[6]。

      2.1.1 寬輸入電壓穩(wěn)壓設計

      根據(jù)使用性能需求和硬件設計要求,采用MPQ4558寬電壓輸入芯片作為穩(wěn)壓芯片,其設計電路如圖3所示。

      2.1.2 線性穩(wěn)壓設計

      采用低電流,低電壓的單通道線性穩(wěn)壓器MPQ8904,其使用PNP放大電路,內(nèi)部具有熱開關和限流保護,輸出電壓值由反饋引腳輸入電壓值與0.5V參考電壓通過比較器確定,通過對PNP的控制實現(xiàn)穩(wěn)壓輸出[7]。電路設計如圖4所示。

      如果芯片上電時間低于100μs則需要設計RC電路增加上電時間,電阻典型值為100kΩ,電容典型值為10nF。PG引腳與MCU引腳相連接,3.3V電壓輸出端并聯(lián)兩個電容器[8],得到穩(wěn)定3.3V電壓。

      2.1.3 電源多路復用器設計

      因為在該系統(tǒng)中可能同時存在兩個電源輸入,具有熱保護器,浪涌電流控制電路,具有交叉?zhèn)鲗ё钄嗪头聪騻鲗ё枞δ?,在切換時可以實現(xiàn)無縫過渡,設計時選用TPS2115多路復用器自動選擇系統(tǒng)電源[9]。其電路設計如圖5所示。

      2.2 模擬數(shù)據(jù)采集模塊

      模擬信號表示的是信息參數(shù)在一定變化范圍內(nèi)表現(xiàn)為非間斷的信號。壓力、溫度、電流、電壓這樣的信號通常是模擬信號,所以人們通常將模擬信號稱為連續(xù)信號。不同數(shù)據(jù)的傳輸必須轉(zhuǎn)換為相應的信號,在進行數(shù)據(jù)分析是我們需要將這些信號從機械結(jié)構(gòu)、人體表面、器件端口讀取回來。將外界的連續(xù)信號讀取會回來作為有用數(shù)據(jù)分析的過程就是模擬信號采集的過程。然而這些信號強度差異很大,有的信號變化比較微弱、有的信號變化比較明顯。本設計主要是考慮針對不同的信號進行采集,為了有更大適應范圍,信號采集后的處理可以根據(jù)不同情況改變信號增益倍數(shù),選用高性能的LMH6517作為信號處理芯片。在采集比較微弱信號時可以增加增益倍數(shù),采集變化比較明顯的信號時可以減小增益倍數(shù)。其硬件電路設計如圖6所示[10]。

      通道A用于波形信號的采集和放大輸入端信號,采用選用的LC濾波電路為高通濾波設計。在信號輸出端,采用LC構(gòu)成的帶通濾波器使輸出信號完整和清楚,本設計的電氣參數(shù)對應的中心頻率為75MHZ,40MHz帶寬。在通道B用于直流信號的采集和放大,輸入端阻抗為200Ω,輸出端通過RC電路組成低通濾波器,采集信號變化狀況。

      2.3 數(shù)字計數(shù)器模塊

      在本設計中,需要對外界的脈沖信號進行計數(shù)。外部信號的表現(xiàn)狀態(tài)有很多,很多需要計數(shù)的信號不是標準的高低電平,電壓也可能與引腳電壓不匹配。為了滿足更多的外界情況,本設計采用自帶施密特觸發(fā)器的光耦合隔離芯片。硬件設計電路如圖7所示。

      H11L1M可以達到1MHz的數(shù)據(jù)傳輸速度,工作電壓為5V。設計時在輸入端串聯(lián)1K的限流電阻避免電流過大燒壞芯片。在輸出端串聯(lián)兩個電阻分壓,匹配芯片引腳電壓。因為內(nèi)部自帶施密特觸發(fā)器,當沒有信號輸入時,輸出端引腳為高電平。當有信號輸入時,輸出端引腳為低電平[11]。

      2.4 多通道隔離開關量輸入模塊

      在設計中對外部信號進行隔離輸入常用的有電磁隔離和光耦合隔離。電磁隔離包括隔離變壓器方式,隔離變壓器使信息通過隔離勢壘的方式是用變壓器線圈來傳輸,使得前端的電流變化狀態(tài)只能通過線圈來引起另一側(cè)的電流變化[30]。交流信號的隔離非常適合于變壓器耦合。變壓器隔離的優(yōu)點是可以給隔離端供電而且速度高,然而巨大的體積是變壓器的不足之處。在隔離的透明的絕緣層上的光傳輸?shù)墓怦詈霞夹g(shù),可以實現(xiàn)隔離目的[12]。其電路設計如圖8所示。

      2.5 多通道隔離開關量輸出模塊

      本設計要求8通道隔離開關量輸出,光耦合更適合小信號傳輸,并且有體積小、成本低的優(yōu)點。其電路設計如圖9所示。

      ISP321-4正向輸入電流為10mA,在輸入端串聯(lián)330Ω限流電阻,輸出端由1KΩ電阻連接到5V電壓。當輸入端為高電壓時,輸出端為高電壓。當輸入端為低電壓時,輸出為低電壓。通過對I/O口的控制實現(xiàn),隔離后的開關量輸出[13]。

      3 系統(tǒng)軟件部分設計

      3.1 USB通信程序設計

      本設計將USB自定義描述為串口設備。由于官方提供了大量的庫函數(shù),在使用中不需要從底層描述開始。在軟件設計時,對API的調(diào)用使我們只需要對配置文件部分和數(shù)據(jù)轉(zhuǎn)換部分配置[14]。其配置如圖10所示。

      3.2 高速模擬數(shù)據(jù)采集程序設計

      STM32F103支持雙通道同時工作,達到12位采樣精度。使用DMA傳輸ADC轉(zhuǎn)換值,DMA通道11在每次輸入變化時將變化后的值轉(zhuǎn)換到自定義的變量中。通過在使用的DMA通道上使能循環(huán)模式,傳輸連續(xù)進行,此時ADC通道被配置為連續(xù)轉(zhuǎn)換。DMA通道的使用在代碼量和時間上使ADC到內(nèi)存的數(shù)據(jù)傳送更容易。DMA循環(huán)模式也允許沒有人為干涉時的連續(xù)的數(shù)據(jù)傳遞。其設計如圖11所示。

      3.3 脈沖計數(shù)輸入程序設計

      本設計中將脈沖計數(shù)的輸入引腳分別接入到TIM1_CH2N和TIM1_CH3N上,在使用時需要將輸入引腳PB0和PB1配置浮空輸入。能夠精確的捕捉波形,使用中斷觸發(fā)方式計數(shù)。這種方式需要配置中斷的優(yōu)先級,在本設計中配置為高級,還需要配置定時器和編程自己需要的中斷函數(shù)[15]。設計如圖12所示。

      3.4 多通道輸入輸出程序設計

      STM32的多個IO并行操作有兩種配置方發(fā),方法A:單個配置使用,這樣可以不會影響用于某系功能的GPIO端口,但是這樣配置在軟件編寫的過程中比較復雜。

      方法B:ODR設置法,優(yōu)點是操作簡單,缺點是該功能口上的其余IO口不作為普通的IO輸出使用。

      結(jié)合硬件設計,由于GPIOC和GPIOB均有部分IO口作為其它功能操作,所以選擇方法A進行軟件設計[16]。其設計如下圖13所示。

      3.5 上位機設計

      由于本設計中需要采集的數(shù)據(jù)較多,在考慮到傳輸速度和不同情況對數(shù)據(jù)的需求不同設計了開關量輸入按鈕、開關量輸出按鈕、波形顯示按鈕、模擬信號按鈕、脈沖計數(shù)按鈕。通過這些按鈕選擇需要通信的數(shù)據(jù),當波形顯示按鈕和模擬信號顯示按鈕按下后,可以通過增益放大旋鈕選擇模擬量采集的增益放大倍數(shù)[17]。

      在設計過程中,控件可以使用官方提供的控件庫,也可以自定義控件。根據(jù)本設計的需求,設計界面還包括開關量輸入的信號通過8個LED燈來指示。如果某通道有信號輸入,則其對應通道的LED點亮[18]。觀察LED的情況判斷是否有信號輸入。通過8個開關按鈕選擇要輸出的端口,當按鈕為ON時引腳為高電壓,當開關按鈕為OFF時輸出低電壓。本設計中還需要顯示外部波形信號的輸入[19],不同的要求選擇需要的信息,顯示的模擬信號是通過PC處理后得到的。同時設計一個數(shù)據(jù)顯示窗口顯示直流輸入的小信號,這路模擬信號是通過B通道中的數(shù)據(jù)計算得到的,在本設計中默認使用電壓值表示。設計兩個脈沖計數(shù)顯示通道,分別顯示脈沖計數(shù)器1和脈沖計數(shù)器2??梢灾庇^的從數(shù)據(jù)端口讀取脈沖計數(shù)個數(shù)。完成界面布局設計后需要實現(xiàn)應用程序和下位機程序的通信。由于數(shù)據(jù)量較多,并且類型不同本設計中采用先發(fā)送命令后發(fā)送數(shù)據(jù)的方式實現(xiàn)[20]。

      4 結(jié)論

      本次設計的基于STM32的USB數(shù)據(jù)采集系統(tǒng),介紹了其相應的硬件電路設計、下位機與上位機設計思路,完成的基于STM32的USB數(shù)據(jù)采集器具有體積小、可靠性高、功耗低等特點。使用USB總線來傳輸數(shù)據(jù),為數(shù)據(jù)的采集提供了一種方便有效的采集方式,在工業(yè)監(jiān)控等領域上具有一定的應用前景。

      參考文獻

      [1] 張全士.USB接口驅(qū)動程序的設計與開發(fā)[D].電子科技大學,2009.

      [2] 鐘志彬.基于單片機的USB設備的研究與設計[D].安徽農(nóng)業(yè)大學,2010.DOI:10.766 6/d.y1735134.

      [3] 方旭.基于STM32處理器和PC主機的USB通信協(xié)議的實現(xiàn)[D].山東大學,2009.DOI:10.766 6/d.y1651973.

      [4] 蔡磊.基于STM32F103芯片的USB接口的研究與實現(xiàn)[D].復旦大學,2009.DOI:10.766 6/d.y1968196.

      [5] 鮮征征.USB通信協(xié)議及接口驅(qū)動程序的研究與開發(fā)[D].科技大學,2004.

      [6] 劉有利.基于USB的高速數(shù)據(jù)采集系統(tǒng)設計[D].西安電子科技大學,2006.DOI:10.7666/d.y8 58651.

      [7] 文先仕.基于ARM Cortex-M3的智能監(jiān)控器的設計[D].西華大學,2010.DOI:10.7666/d.y17 50437.

      [8] 樊龍.基于STM32的智能儀表數(shù)據(jù)采集系統(tǒng)的設計[D].太原理工大學,2014.

      [9] 趙圣飛.基于STM32的數(shù)據(jù)采集存儲系統(tǒng)的設計與實現(xiàn)[D].中北

      大學,2014.

      [10] 張佳瑞.基于單片機的數(shù)據(jù)采集和無線數(shù)據(jù)傳輸系統(tǒng)[D].西南交通大學,2013.DO I:10.7666/d.Y2334411.

      [11] Y. H. Sheu, Y. P. Dai and D. S. Fu, "Embedded USB homecare internet system," Circuits and Systems (APCCAS), 2010 IEEE Asia Pacific Conference on, Kuala Lumpur, 2010, pp. 442-445.

      [12] T. S. Wey and Y. H. Sheu, "Embedded USB Host/Slave Broadcas ting System for Computer Assisted Learning System," Innovations in Bio-inspired Computing and Applications (IBICA),2011 Second International Conference on, Shenzhan, 2011, pp. 249-252.

      [13] E. Missimer, Y. Li and R. West, "Real-time USB communication in the Quest operating system," Real-Time and Embedded Technol -ogy and Applications Symposium (RTAS), 2013 IEEE 19th, Phi -ladelphia, PA, 2013, pp. 11-20.

      [14] C. Y. Ing and T. L. Lee, "USB Device Sharing Server for Office Environment," Asia-Pacific Services Computing Conference, 2008. APSCC '08. IEEE, Yilan, 2008, pp. 953-956.

      [15] F. He, "USB Port and power delivery: An overview of USB port interoperabiliy," Product Compliance Engineering (ISPCE), 2015 IEEE Symposium on, Chicago, IL, 2015, pp. 1-5.

      [16] Lakkoju, S. Gudla and B. S. Mantravadi, "AVR-USB data acquisition," Electronics Computer Technology (ICECT), 2011 3rd International Conference on, Kanyakumari, 2011, pp. 35-39.

      [17] L. Letaw, J. Pletcher and K. Butler, "Host Identification via USB Fingerprinting," Systematic Approaches to Digital Forensic Engine -ering (SADFE), 2011 IEEE Sixth International Workshop on, Oakland, CA, 2011, pp. 1-9.

      [18] 選兵.基于USB數(shù)據(jù)采集的虛擬儀器設計[D].太原理工大學, 2006.DOI: 10.7666/d. y979365.

      [19] 琚彬.基于WPF平臺的自定義控件開發(fā)[D].西安電子科技大學, 2008.DOI:10.766 6/d.y1431474.

      [20] 魏旭可.基于STM32單片機的光譜儀數(shù)據(jù)采集及處理系[D].中國海洋大學,2012.DOI:10.7666/d.y2159712.

      永清县| 正镶白旗| 麻城市| 化隆| 绥棱县| 遂溪县| 乡城县| 兴义市| 江川县| 宣威市| 嵊泗县| 仁布县| 区。| 安龙县| 屯昌县| 甘肃省| 丽水市| 公主岭市| 陇南市| 铜鼓县| 江孜县| 岑巩县| 教育| 台山市| 江门市| 沁源县| 乌恰县| 拜城县| 清河县| 普兰县| 永康市| 巴林左旗| 宜春市| 辽宁省| 乐亭县| 盐池县| 德庆县| 甘泉县| 确山县| 新泰市| 抚顺市|