《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Linux以太網的遠程數據采集系統
基于Linux以太網的遠程數據采集系統
中電網
摘要: 本文所研究的數據采集系統結合了以太網Socket技術,USB技術、嵌入式技術(ARM+Linux)等,開發了一套數據采集系統。采集的信號,經過CPU處理后通過USB總線傳輸到Arm-Linux平臺或者本地PC機,實現本地監測。又可以通過以太網傳輸采集的數據量到遠程PC機,實現遠端用戶通過Internet對數據采集卡進行訪問與監測。
Abstract:
Key words :

引言

我們生活在一個五彩繽紛的模擬世界,而在數字化高速發展的今天,如何將模擬的信號 轉化到數字領域顯得尤其重要,這就需要數據采集技術。隨著網絡技術的發展,以太網越來 越能夠滿足工業應用的需要。現場總線的通信功能完全可由以太網較好地完成。最近幾年, 交換式以太網技術的出現大大地提高了以太網的確定性,這同時也使以太網技術在工業領域 的使用更加廣泛。

1. 遠程數據采集系統的總體設計

本文以太網的數據采集系統的設計目標是系統能夠采集 0~2.5V 的電壓信號量,然后通 過USB 接口將處理了的采樣信號傳輸到嵌入式平臺,并且可以通過以太網傳輸到用戶。 一個良好的高速數據采集系統受很多方面的制約,例如采樣的頻率、AD 的精度、傳輸 的速度和平臺通用性等等,本系統主要依靠采用高性能AD 和改變采集卡CPU 對采樣的控 制方式和采樣信號的處理方式來解決。設計中使用了CYPRESS 公司的EZ-USB FX2 系列芯 片CY7C68013。這款芯片有GPIF(General ProgrammableInterface)模式,可以提供高速的數 字邏輯信號給外圍設備(這里給AD),該模式不受CPU 控制,是獨立于CPU 存在的。這就 克服了CPU 對于高速采樣的瓶頸約束,提高了對采樣頻率的控制能力。對于高性能AD, 文中采用了Analog devices 公司的AD7492,該芯片采樣可以達到1MSPS,是12 位并行的 持續逼近型高速模數轉換芯片,系統總體框圖如圖1。

 

 

圖1 總體框圖

2. 數據采集卡設計

該數據采集卡完成的不僅僅是一個數據采集的功能,而在于為以后的設計提供詳細的設 計基礎和平臺,這些功能都可以方便的移植到以后的儀表設計中。數據采集卡的總體框圖如 圖2 所示,輸入信號是0~2.5V 的電壓信號量,需要經過限壓、濾波等處理,然后直接輸入 到ADC 的IN 引腳(板上的IN 引腳端子)。AD 轉換的啟停等控制由CPU 完成,轉換時序由 GPIF 控制器控制。CPU 的GPIF 方式以查詢的形式檢測ADC 的BUSY 引腳,向GPIF 控制 器報告信號采集的狀態。為了達到改變采樣頻率的目的,利用定時器按照采樣頻率要求控制 CPU 的IO 端口,進而控制GPIF 流程的啟停。一次采集流程結束后會自動保存采集上來的 數據到寄存器中,然后CPU 處理寄存器中的數據并送到USB 輸出緩沖區便可輸出至USB 端口。

 

 

圖 2 數據采集卡的總體框圖

2.1AD 轉換部分硬件設計

該設計中使用了 AD7492 作為主采樣器件,AD7492 很容易與微處理器或DSP 接口。輸 入信號從CONVST 的下降沿開始被采樣,轉換也從此點啟動。AD 的輸入為0-2.5V 單極性 電壓。REFOUT 引腳接有最小100nF 的電容,REFOUT 引腳接有最小100nF 的電容,以穩 定內部參考電壓值。CPU 負責控制AD 的啟動、停止和讀取采集數據等工作。設計中使用 了GPIF 模式,由AD 的連接圖可以看出,68013 的CTL 引腳、RDY 引腳和AD 直接連接, 對AD 的時序進行控制。CONVST 腳接到PA7 ( 68013 的IOA^7 )用于控制采樣的啟停,從 而可以控制采樣頻率,CTL, RDY 引腳的行為由GPIF 控制,其電路圖如圖3 所示。

 

 

圖 3 ADC 外圍接線圖

2.2CPU 與EEPROM 的接口電路

CY7C68013 芯片本身不帶ROM,所以擴展一片64Kbit 的I2C 串行E2PROM 存儲程序 代碼。該芯片為低功耗應用而開發,可以充分利用FX2 的I2C 接口而不用占用其它IO 接口。 E2PROM 的連接決定了采集卡作為USB 設備上電枚舉的過程。如果上電沒有檢測到 E2PROM 的存在,則會采用默認PID, VID。枚舉;上電如果檢測到連接有E2PROM 時,loader: 讀E2PROM 的第一個字節來決定如何枚舉,電路圖如圖4 所示。

 

 

圖 4 EEPROM 外圍接線圖

2.3CPU 與鍵盤、顯示的接口電路

由于 56 引腳的68013 只有PA, PB, PD 三組IO,對于12 位的AD,使用了PB, PD 的第 二功能,配置為FD(Fifo Data)。這樣就只剩下PA 口8 個引腳可用,不足以完成鍵盤、顯示、 測試預留等功能。所以采用了PCF8574 I2C 轉I0 口的方式進行擴展。這樣也可以留出足夠 的IO 口用于擴展和測試。

3.系統應用軟件設計

軟件設計主要涉及到三個方面:一是對用CY7C68013 做CPU 的數據采集卡的固件設計 和應用程序設計。CYPRESS 公司為其旗下的產品做了很好的技術支持,例如對該款芯片提 供了完善的固件架構。用戶的應用只要在此固件基礎上開發即可。二是針對數據采集卡設計 基于ARM-LINUX 的USB 設備驅動程序。三是基于ARM-LINUX 平臺,為提供給用戶可視 化界面設計應用程序及遠程PC 上通過以太網采集的應用程序的設計。

3.1 USB 數據采集卡驅動程序

編寫一個 USB 設備的驅動程序,首先需要把驅動程序的對象注冊到USB 子系統中,然后再使用廠商標識和設備標識來判斷是否已經安裝了硬件。注冊是在USB 驅動程序模塊初

始化代碼中完成。例如在初始化代碼中有這樣的語句:

usb register(&sample_driver);

這句話調用了usb register 這個函數,將struct sample_driver{}注冊到USB 核心。

USB 核心如何識別一個驅動適合該設備呢,就要靠usb_device id 結構體完成。struct usbse_device id 結構體提供了一列不同類型的該驅動程序支持的USB 設備。USB 核心使用該列表來判斷對于一個設備該使用哪一個驅動程序,熱插拔腳本使用它來確定當一個特定的 設備插入到系統時該自動裝載哪一個驅動程序。本例中實現了這樣一個結構:

static struct usb_device_id sample_id_table[]={

{USB_DEVICE(USB_Sample_VENDOR_ID,

USB_Sample_PRODUCT_ID) },{} };

MODULE_DEVICE_TABLE (usb, sample_id_table);

USB_DEVICE ( vendor,product)這個宏僅和指定的制造商和產品ID 值相匹配,該宏常用于需要一個特定驅動程序的uss 設備。

int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe,

void *data, int len, int *actual_length,int timeout);

該函數傳遞bulk 數據到驅動中的緩沖區*data,如果傳遞完成之后再復制到用戶區供用戶使用。

int usbes_control_msg(struct usb device *dev, unsigned int pipe,_u8 request,_u8 requesttype,

_u16 value,_u16 index,void *data,_u16 size, int timeout);

該函數允許驅動程序發送和接收USB 控制消息。例如本例中實現的采樣頻率的變換就是通過該命令在用戶和數據采集卡硬件之間傳遞的。

下面以讀設備數據 sample read 為例介紹驅動對硬件的操作過程,流程如圖6 所示。

 

 

圖 6 sample read 函數流程

內核空間和用戶空間有所不同,驅動程序屬于內核空間,普通的應用程序屬于用戶空間, 兩個空間的數據不能直接互訪,必須要借助copy_fromes users()、copy_to_user()兩個函數在 兩個空間中傳遞數據。

3.2 PC 機客戶端的設計

PC 機客戶端使用Delphi 開發。主要完成以下功能:作為Client 和服務器連接、請求并接 收Serve:發來的采集到的數據并在本地客戶端上以波形形式顯示出來。本設計中使用了兩個 定時器完成這些功能,定時器1 負責向Serve:發送“請求數據”的請求,并將返回的數據放 入緩存。定時器2 負責將定時器1 接收來的數據以波形的形式顯示出來,其中,用到了ActiveX 控件VtChart,客戶端收到采集正弦波形如圖7 所示。

 

 

圖7 網絡采上來的正弦波

4.結論

本文創新點:本文研究、設計了基于以太網技術、USB 技術、嵌入式技術的數據采集 系統,將先進的技術融合到工廠自動化的最前端,提高了采樣的精度、速度和可靠性。該數 據采集卡完成的不僅僅是一個數據采集的功能,而在于為以后的設計提供詳細的設計基礎和 平臺,這些功能都可以方便的移植到以后的儀表設計中,可以作為二次開發的平臺。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美精品人爱c欧美精品 | 999视频在线播放777 | 国产日韩欧美视频 | 日韩中文网 | 日本资源在线观看 | 日本韩国三级在线观看 | 成年做羞羞免费观看视频网站 | 在线免费观看a级片 | 嗯啊使劲用力在线观看视频 | 日批视频免费看 | 天天干妹子 | 国产黑色丝袜小视频在线 | 午夜影院a级片 | 1024手机基地在线观看 | 黄色a网站 | 手机精品在线 | 在线视频欧美日韩 | 国产精品久久天天影视 | 免看黄 | 一级爱爱片一级毛片-一毛 一级α一级α片免费观看网站 | 1024手机在线观看 | 成年香蕉大黄美女美女 | 国产人妖性一区二区 | 精品卡1卡2卡三卡免费网站 | 爽爽在线 | 日韩中文字幕网站 | 黄色污污在线观看 | 黄色a免费 | 动漫成年美女黄漫网站小视频 | 国产成人国产在线观看入口 | 欧美videos另类极品 | 黄色免费在线观看视频 | 成人全黄三级视频在线观看 | 国产视频一区二 | 欧美日本韩国国产 | 免费国产成人综合 | 色视频免费在线 | 欧美日韩在线看 | 日本欧美一区二区三区视频麻豆 | 欧美xxxxx色视频在线观看 | 精品视频一区二区三区在线观看 |