當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件

引言

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

1. 遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的總體設(shè)計

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

圖1 總體框圖

2. 數(shù)據(jù)采集卡設(shè)計

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

圖 2 數(shù)據(jù)采集卡的總體框圖

2.1AD 轉(zhuǎn)換部分硬件設(shè)計

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

圖 3 ADC 外圍接線圖

2.2CPU 與EEPROM 的接口電路

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

圖 4 EEPROM 外圍接線圖

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

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

3.系統(tǒng)應(yīng)用軟件設(shè)計

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

3.1 USB 數(shù)據(jù)采集卡驅(qū)動程序

編寫一個 USB 設(shè)備的驅(qū)動程序,首先需要把驅(qū)動程序的對象注冊到USB 子系統(tǒng)中,然后再使用廠商標(biāo)識和設(shè)備標(biāo)識來判斷是否已經(jīng)安裝了硬件。注冊是在USB 驅(qū)動程序模塊初

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

usb register(&sample_driver);

這句話調(diào)用了usb register 這個函數(shù),將struct sample_driver{}注冊到USB 核心。

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

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)這個宏僅和指定的制造商和產(chǎn)品ID 值相匹配,該宏常用于需要一個特定驅(qū)動程序的uss 設(shè)備。

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

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

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

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);

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

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

圖 6 sample read 函數(shù)流程

內(nèi)核空間和用戶空間有所不同,驅(qū)動程序?qū)儆趦?nèi)核空間,普通的應(yīng)用程序?qū)儆谟脩艨臻g, 兩個空間的數(shù)據(jù)不能直接互訪,必須要借助copy_fromes users()、copy_to_user()兩個函數(shù)在 兩個空間中傳遞數(shù)據(jù)。

3.2 PC 機客戶端的設(shè)計

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

圖7 網(wǎng)絡(luò)采上來的正弦波

4.結(jié)論

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉