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

基于STM32的以太網數據采集系統設計

2015-08-07 12:10:26田玉周楚建安
微處理機 2015年1期
關鍵詞:系統設計

田玉周,楚建安

(西安工程大學,西安710048)

基于STM32的以太網數據采集系統設計

田玉周,楚建安

(西安工程大學,西安710048)

提出了一種以太網數據采集系統,該系統核心處理器和數據采集器件為STM32F103ZE,以太網控制芯片是DM9000A。分別介紹了采集器的硬件和軟件設計,詳細分析了模擬量數據采集、分析、傳送的各模塊軟硬件設計,詳細介紹了UIP1.0協議棧的移植。此以太網數據采集器可以用于遠程監控系統的數據采集模塊。

數據采集;STM32芯片;DM9000A芯片;UIP1.0協議

1 引 言

2 系統總體方案

隨著互聯網技術、以太網技術的發展,遠程監控越來越成為研究和應用的熱點。作為遠程監控的重要組成部分,數據采集及傳送模塊也顯得尤為重要。遠程監控系統的發展對于數據采集的精確性、實時性和安全性都有了更高要求。

傳統數據采集由于儲存空間小和通訊接口的局限,存在精度不高、采集信息量小的缺點,已經不能滿足遠程監控系統中對數據的精度和信息量的需求。針對這種情況設計了基于STM32的以太網數據采集器,由于用到了以Cext-M3為核心的STM32芯片,該芯片有豐富的片上資源,大大節約了外圍硬件。同時芯片上16通道的12位ADC模數轉換模塊[1],也使數據采集的精確度顯著提高。基于以太網的數據傳輸協議的運用,解決了通訊中通訊協議轉換的問題。實現了無縫信息集成。

本數據采集系統主要包含數據采集模塊、通訊模塊,整體設計如圖1所示。所要采集的模擬信號經過前端模擬調理模塊的調節,使之處于A/D轉換能夠轉換的電壓范圍內,再利用STTM32的片內ADC模塊實現A/D轉換,采集過的數據經STM32系統內核處理后由DM9000A發送給上位機。

圖1 系統總體框圖

3 系統硬件設計

3.1 數據采集

數據采集模塊主要包括數據的調理和采集,其主要硬件是STM32。基于ARM Cortex-M3的STM32由意法半導體公司生產,其數據總線寬度為32bit、最大時鐘頻率72MHz、具有256KB程序存儲器、64KB數據RAM、80個可編程輸入/輸出端、10個定時器、工作電源電壓2V~3.6V以及12位的ADC、FSMC。STM32數據采集有18個通道,可以測量16個外部模擬量和2個內部模擬量,各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。ADC的結果可以左對齊或右對齊方式存儲在16位數據寄存器中。其結構示意圖如圖2示。

圖2 A/D模塊示意圖

3.2 數據處理和傳輸

數據處理和傳輸模塊硬件主要由STM32微控制器和DA9000A以太網驅動芯片構成。DM9000A集成了10/100M物理層接口,內部帶有16K字節SRAM作為數據收發的FIIO緩存,其中3k作為發送包緩沖區,剩下的作為接收包緩沖區。支持8/16 bit兩種主機工作模式,本系統中用的是16bit工作模式。同時支持802.3以太網傳輸協議。

STM32與DM9000A連接電路如圖3所示。

圖3 硬件連接

DA9000A中只有兩個地址端口經過處理器STM32直接訪問,一個是INDEX端口,另一個是DATA端口。而訪問哪個端口處理器是由CMD決定的。當引腳CMD=0時,處理器STM32訪問INDEX端口寄存器,當引腳CMD=1時,處理器STM32訪問DATA端口。INDEX端口的內容為DATA端口的寄存器地址。在訪問任何寄存器之前,寄存器地址都必須保存在INDEX端口中。因此在讀寫DM9000A寄存器時,先將其地址寫入INDEX,再通過DATA端口讀寫數據。

4 系統軟件設計

4.1 STM32數據采集程序

數據采集模塊程序的設計中,首先是對模擬量采集程序初始化。意法半導體公司提供了ADC模塊的固件庫函數,通過對固件庫函數的調用,用戶可以輕松實現對ADC模塊的設置,本程序中,ADC的設置如下[2-3]:

1)對模擬量采集端口的設計,我們設計為模擬輸入模式,GPIO_Mode_AIN。

2)設置ADC工作模式為對立模式,ADC_Mode_Independent。

3)使能ADC掃描。

4)設置ADC轉換工作為連續模式,ADC_ContinuousConvMode=ENABLE。

5)ADC觸發方式為軟件觸發

6)設置轉換所得到的數據右對齊

7)設置順序進行規則轉換的ADC通道數目。

8)設置采樣順序和采樣時間。

通過以上設置,ADC模塊連續采樣并轉化各個模擬量,并且把所得數據儲存到16位數據儲存器中,等待其通過以太網向上位機傳輸。在這個過程中,UIP1.0提供的UIP_APPCALL(),將是我們對數據處理程序與UIP連接的一個重要函數。

4.2 DM9000A驅動程序

作為底層驅動程序,對DM9000A驅動程序的編寫主要有三個方面:驅動初始化、數據發送、數據接收。

4.2.1 驅動器初始化

通過驅動器初始化,可以啟動以太網控制器DM9000A,使之處于數據收發狀態,我們調用函數DM9000A_int(void):

完成以上設計后就可以使以太網控制器正常啟動,接收和發送數據包。

4.2.2 數據發送

DM9000A有16K的SRAM作為數據發送和接收緩沖區。其中3K作為發送緩沖區,發送器的起始地址為0x00H,緩沖區可以保存index1、intex2兩個數據包,在軟件或硬件復位后,默認的數據發送包為index1,首先將發送數據包長度寫入長度寄存器中,然后置位發送控制寄存器的bit-0位,則DM9000A開始發送index1數據包。在index1數據包發送結束之前,數據發送包index2被移入TX SRAM中。在index1數據包發送結束后,將index2數據字節長度寫入長度寄存器中,然后,置位發送控制寄存器的bit-0位,則index2數據包開始發送。在這里我們用到函數DM9000_send(void)。

4.2.3 數據接收

DM9000A的數據接收緩沖區是一個環形數據結構[4]。在軟件或硬件復位后,RX SRAM的起始地址為0X0C00。每個接收數據包都包含有CRC校驗域,數據域,以及緊跟其后的4字節包頭域。4字節包頭格式為:01h(是否接收到數據包)、狀態(確認接收包是否正確)、BYTE_COUNT低、BYTE_COUNT高(接收包的長度)。接收函數為DM9000_read(void)。

4.3 UIP1.0協議棧的移植

系統軟件設計中需要移植UIP1.0協議棧,uip是瑞典計算機科學學院開發的,它去掉了完整的TCP/IP協議中不常用的功能,簡化了通訊流程,但是保留了必要的協議,重點放在了IP/TCP/ICMP/UDP/ARP這些網絡層和傳輸層協議上,保證了代碼的通用和結構的穩定。Uip協議棧主要提供了三個函數讓底層調用,它們是:uip_int()用于協議棧初始化,uip_intput()用于處理上位機傳過來的數據包,uip_periodic()用于處理uip內部時鐘事件。同時提供UIP_APPCALL()用于應用程序接口。

IP1.0協議棧,首先會通過uip_int()對協議棧進行初始化,然后設置IP地址、網關、掩碼設置,以及監聽端口,最后進入主循環對數據處理。其數據處理過程如圖4所示。

圖4 uip數據處理流程圖

當底層函數接收到數據包時會放在uip_buff,先檢測數據包是否為0,不為0則說明收到數據包,再判斷該數據包是ip包還是ARP報文,若是ip包,經過去以太網結構更新ARP表后,將數據包交由uip_input()處理,再把其返回值發送到以太網。若是ARP報文,是ARP回應就更新ARP表,是ARP請求則構造回應包做出回應。同時uip還會定時對各個連接進行輪詢[5]。

4.4 應用程序接口

高級應用程序UIP_APPCALL()是數據傳輸的關鍵,當底層接收到上位機傳來的數據時,會通過uip_input,調用UIP_APPCALL()函數,從而讓高級應用程序去處理數據,uip_int返回時會將輸出的數據賦值給uip_buff,數值長度賦值給uip_len,然后通過底層函數DM9000_send將獲得數據從以太網發出。

高級應用程序如下所示,主要是檢測上位機發送過來的獲取電壓命令,根據不同命令將獲取的不同電壓值通過uip_int以返回值的形式傳輸給底層驅動函數,由驅動函數發送到以太網上去。

5 系統調試

程序在keil uvision4上用C語言編寫,編寫完成后經Jlink下載到STM32。系統上電后,打開TCP&UDP測試工具,新建連接,設置目標IP為192.168.1.10,目標監聽端口4001。打開連接,在發送端口輸入獲取指令,就可以獲得采集到的電壓數據,如圖所示,上傳速度達到10K/S以上。

圖5 調試結果

6 結束語

該系統設計并移植了UIP1.0協議棧,用到STM32和DM9000A芯片。設計的以太網數據采集器能夠直接將模擬數據采集并傳給上位機,12位的STM32使數據精確度大大提高,經過調試達到了設計要求。本系統減少了芯片數量,使電路板設計小巧,能夠用于教學實驗和工業領域。

[1] 意法半導體(中國)投資有限公司.STM32F10xxx參考手冊[EB/OL].[2011-5].http://www.st.com/mcu/.

[2] 孟強,徐慧,萬青苗.基于STM32的數據采集及顯示系統的設計[J].計算機知識與技術,2013,13(9):3184-3186.

[3] 郝雯,沈金鑫,梅成.基于STM32單片機的儲存市數據采集系統[J].電子設計工程,2013,17(21):80-82.

[4] 施勇,溫陽東.基于DM9000A的嵌入式以太網接口設計與實現[J].合肥工業大學學報,2011,34(4):519-521.

[5] 張磊,周一帆.基于uip協議的生產設備數據采集系統設計[J].濟南大學學報,2014,28(1):65-67.

Design of Ethernet Data Acquisition System Based on STM32

Tian Yuzhou,Chu Jian'an
(Xi’an Polytechnic University,Xi’an 710048,China)

An Ethernet data acquisition system is introduced in this paper,and STM32F103ZE is used as the core processor and data acquisition device and DM9000A as Ethernet controller chip.The hardware and software design of the acquisition device,the analog data acquisition,analysis and transfer are described in details,and the transplant of UIP1.0 protocol stack is proposed as well.The ethernet data acquisition system can be used for remotemonitoring system data acquisition module.

Data acquisition;STM32 Chip;DM9000A Chip;UIP1.0 agreement

10.3969/j.issn.1002-2279.2015.01.020

TP23

A

1002-2279(2015)01-0072-04

田玉周(1989-),男,河南濮陽人,碩士研究生,主研方向:電力電子與電力傳動。

2014-04-25

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 亚洲精品图区| 亚洲aⅴ天堂| 欧美日韩国产一级| 萌白酱国产一区二区| 全部免费特黄特色大片视频| 一区二区自拍| 国产精品一区不卡| 欧美在线国产| 99久视频| 国产成人综合日韩精品无码不卡 | 亚洲欧美一区二区三区蜜芽| 日韩精品无码免费一区二区三区| 精品伊人久久大香线蕉网站| 国产欧美自拍视频| 欧美激情伊人| 国产va视频| 久久亚洲美女精品国产精品| 国产精品三级专区| 毛片久久久| 欧美一级高清免费a| 国内精品免费| 日本欧美午夜| 久久男人视频| 国产精品一区二区国产主播| 夜夜拍夜夜爽| 国产成人凹凸视频在线| 国产一线在线| 一级毛片视频免费| 高清国产在线| 色播五月婷婷| 国产精品无码在线看| 亚洲国产91人成在线| 色综合a怡红院怡红院首页| 日韩成人午夜| 国产成人亚洲精品色欲AV| 天天色天天综合| 国产丝袜91| 欧美在线视频不卡| 国产va在线观看免费| 免费不卡在线观看av| 久久99热66这里只有精品一| 欧美日韩国产在线播放| 国产一级毛片在线| 中文字幕乱妇无码AV在线| 国产欧美自拍视频| 在线播放国产一区| 久久香蕉国产线看观| 欧美成人午夜视频免看| 91九色最新地址| h网址在线观看| 91精品啪在线观看国产| 亚洲成人高清在线观看| 精品国产一区二区三区在线观看 | 亚洲视频无码| 久久久久88色偷偷| 国产精品无码久久久久久| 国产9191精品免费观看| 国产精品2| 国产色偷丝袜婷婷无码麻豆制服| JIZZ亚洲国产| 精品三级在线| 欧美亚洲一二三区| 欧美成人A视频| 久久久久亚洲Av片无码观看| 99视频精品在线观看| 欧美中文字幕在线播放| 国产麻豆aⅴ精品无码| 成人在线亚洲| 波多野结衣无码视频在线观看| 国产精品福利一区二区久久| 欧美午夜视频在线| 男人天堂亚洲天堂| 国产成人无码AV在线播放动漫| 国产手机在线小视频免费观看| 日本尹人综合香蕉在线观看| 欧美成人精品在线| 永久免费精品视频| 美女被操91视频| 亚洲美女一区二区三区| 国产精品伦视频观看免费| 国产呦视频免费视频在线观看| 国产女同自拍视频|