日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導讀]隨著計算機技術(shù)與現(xiàn)代工業(yè)系統(tǒng)的發(fā)展,工業(yè)領(lǐng)域中對數(shù)據(jù)采集的精度和數(shù)據(jù)處理的實時性提出了更加苛刻的要求,以保證后續(xù)更加復雜的控制。

隨著計算機技術(shù)與現(xiàn)代工業(yè)系統(tǒng)的發(fā)展,工業(yè)領(lǐng)域中對數(shù)據(jù)采集的精度和數(shù)據(jù)處理的實時性提出了更加苛刻的要求,以保證后續(xù)更加復雜的控制,而傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)一般采用A/D 芯片主控芯片搭配的方法,處理速度慢、功能單一,當被測對象復雜且數(shù)據(jù)量較大時,很難滿足對數(shù)據(jù)高精度的采樣,而通過RS232 串口與上位機通信則更無法保證數(shù)據(jù)處理的實時性。針對這一實際情況,設(shè)計了基于FPGA 與ARM 搭配的數(shù)據(jù)采集系統(tǒng),F(xiàn)PGA 負責保證數(shù)據(jù)采樣的高精度和高速度,而ARM 作為主控芯片,嵌入Linux 內(nèi)核,負責控制整個系統(tǒng),并將數(shù)據(jù)通過USB高速上傳到上位機中,借助上位機的強大運算能力,保證數(shù)據(jù)處理的實時性,同時根據(jù)不同的被測信號只需選擇相應的數(shù)據(jù)采集卡,即可方便簡單地組成一個用戶自定義的數(shù)據(jù)采集系統(tǒng),具備良好的通用性。

1 系統(tǒng)總體設(shè)計

數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu)如圖1 所示,主要由輸入調(diào)理電路、A/D 轉(zhuǎn)換電路、FPGA 和ARM控制電路組成。被采集的模擬信號經(jīng)由調(diào)理電路輸入到A/D 轉(zhuǎn)換芯片,進行模數(shù)轉(zhuǎn)換,在FPGA的控制下送入到FPGA 內(nèi)嵌的FIFO 存儲模塊中并通知ARM 立即取走數(shù)據(jù),最后通過USB 交由上位機進行實時處理。


FPGA 與ADC 的連接與控制

2 FPGA 系統(tǒng)設(shè)計

FPGA 具有高集成度、高可靠性、低功耗及時序控制精確等優(yōu)點,選用Xilinx Spartan3 系列的XC3S200 負責控制A/D 轉(zhuǎn)換及數(shù)據(jù)的緩存,可以簡化電路設(shè)計,縮短開發(fā)周期。ARM 選用Atmel公司的SAM9G45 芯片,工作頻率達400MHz,能夠保證實時高速地控制采集系統(tǒng)和上傳數(shù)據(jù)。

2.1 FPGA 與ADC 的連接與控制

數(shù)據(jù)采集芯片選用ADI 公司的AD7656,是一款六通道16 位逐次逼近型,低功耗,每路通道最大采集速度為250kS /s 的A/D 轉(zhuǎn)換芯片,可實現(xiàn)較高的采樣精度和速率。

FPGA 與AD7656 的連接如圖2 所示,AD7656 的6 個采樣通道被分為3 組,由CONV STA、CONV STB 和CONV STC 3 個信號啟動對應的雙通道同步采樣,將該3 個引腳相連即可實現(xiàn)6個輸入通道的同步采樣,同時提供并行和串行接口兩種模式,為了提高數(shù)據(jù)吞吐率,采用16 位( /B 引腳置低) 的并行接口( SER/引腳置低) 模式,以便與FPGA 的16 位數(shù)據(jù)線直接相連傳輸數(shù)據(jù)。


FPGA 與ADC 的連接與控制

FPGA 中的A/D 控制模塊通過將CONV ST引腳電平拉高,啟動相應通道的采樣,采樣過程中BUSY 引腳為高電平,表示正在進行采樣; 當采樣完畢后,AD7656 自動將BUSY 置低; FPGA 中的A/D 控制模塊檢測到BUSY 信號為低后將CS 和RD 信號置低,讀取并保存數(shù)據(jù)到FPGA 內(nèi)部的FIFO 中。FPGA 對AD7656 的控制過程仿真如圖3 所示。


FPGA 與ADC 的連接與控制

2.2 FPGA 與ARM 的連接

FPGA 與ARM 的連接如圖4 所示,在與ARM的通信中,由于是跨時鐘域通信,為了避免亞穩(wěn)態(tài)、采樣丟失及潛在邏輯錯誤等情況的發(fā)生,采用脈沖邊緣檢測法,對ARM 傳來的控制信號首先進行內(nèi)部時鐘同步再做后續(xù)處理。


FPGA 與ADC 的連接與控制

FPGA 收到ARM 的RST 命令后控制AD 芯片開始采樣,檢測到BUSY 引腳為低后FPGA 將數(shù)據(jù)取走并緩存到FIFO,然后改變INT 引腳上的電平,向ARM 產(chǎn)生一次中斷; ARM 每判定一次中斷,通過CLRINT 給予FPGA 反饋,F(xiàn)PGA 在CLRINT 有效期內(nèi)將不再產(chǎn)生中斷; ARM 使能NCS 和NRD 信號通過數(shù)據(jù)線D[15: 0]將數(shù)據(jù)完全取走后,清除CLRINT 信號,以使FPGA 可以繼續(xù)向ARM 產(chǎn)生中斷。

FPGA 中斷控制模塊的狀態(tài)轉(zhuǎn)移過程如圖5所示,當BUSY 信號為低并且已將數(shù)據(jù)緩存到FIFO 中后, INT 引腳置位產(chǎn)生中斷,同時啟動一定時器。若在定時期間CLRINT 有效,則認為ARM 正常響應了中斷; 若直到定時結(jié)束,CLRINT一直無效,則認為ARM 未能檢測到中斷或不能正常響應,F(xiàn)PGA 等待一小段時間后再次產(chǎn)生中斷。


FPGA 與ADC 的連接與控制

3 ARM 系統(tǒng)設(shè)計

ARM 芯片嵌入Linux 3.0.4 版本的內(nèi)核,通過開發(fā)設(shè)備驅(qū)動程序,能夠穩(wěn)定高速地處理FPGA數(shù)據(jù)并通過USB 實時上傳到主機中。

3.1 FPGA 驅(qū)動程序

FPGA 驅(qū)動主要負責控制并讀取FPGA 數(shù)據(jù),并將數(shù)據(jù)緩存到KFIFO 等結(jié)構(gòu)中工作:

a.管理RST 信號線,控制FPGA 進行采樣。

b.根據(jù)硬件電路調(diào)用為FPGA 申請指定區(qū)域內(nèi)存,由于芯片帶有MMU 單元,不能直接訪問申請的物理內(nèi)存,需要將申請到的內(nèi)存區(qū)重新映射到虛擬地址。當對該內(nèi)存區(qū)進行讀訪問時,NCS 與NRD 信號會由內(nèi)核負責置為低有效。

c.為INT 信號申請中斷線,注冊中斷處理例程。中斷發(fā)生后,將CLRINT 置高有效,從映射的虛擬地址讀取數(shù)據(jù)并保存在KFIFO 中。

d.重新使能中斷線,等待下次中斷。

KFIFO 是由Linux 內(nèi)核提供的先進先出隊列,能夠快速穩(wěn)定地緩存數(shù)據(jù)。FPGA 驅(qū)動程序?qū)FIFO 符號導出,以使USB 驅(qū)動程序也可以直接訪問然后將其上傳到主機中。

3.2 USB 驅(qū)動程序

Linux 內(nèi)核為USB 設(shè)備側(cè)驅(qū)動提供了USB Gadget 框架,提供了良好的上層接口,隱藏了底層USB 規(guī)范的具體實現(xiàn)。設(shè)備側(cè)的USB 驅(qū)動程序需要提供一個讀端點0x01,讀取上位機的控制信息; 寫端點0x82,向上位機報告當前采集系統(tǒng)的狀態(tài); 寫端點0x83 將采集數(shù)據(jù)上傳到上位機中。主要實現(xiàn)過程如下:

a.配置3 個USB 端點描述符( 一個讀端點0x01,兩個寫端點0x82 和0x83) 。

b.從0x01 端點接收到上位機的采樣命令后,進行初始化工作,通知FPGA 開始采樣。

c.為request 結(jié)構(gòu)分配內(nèi)存,將KFIFO 緩沖區(qū)的采樣數(shù)據(jù)拷貝到request 包中。request 結(jié)構(gòu)類似于Windows 下的URB( USB Request Block)請求包。

d.向0x83 端點提交寫請求,將request 包中的數(shù)據(jù)通過USB 上傳到主機中。

e.如果采樣過程中發(fā)生錯誤,如緩沖區(qū)溢出等情況,通過0x82 端口向上位機匯報,請求重啟。

上位機USB 驅(qū)動程序使用Driver Studio 工具,以Visual Studio 2010 作為輔助開發(fā)環(huán)境。上位機只需與數(shù)據(jù)采集設(shè)備配置同樣的USB 端點,通過0x01 端口向ARM 發(fā)送控制命令,從0x82 端口讀取采集系統(tǒng)的狀態(tài)信息,將從0x83 端口接收到的數(shù)據(jù)緩存后待上層數(shù)據(jù)處理程序讀取。

4 系統(tǒng)總體流程與試驗

采集系統(tǒng)的工作流程如圖6 所示,系統(tǒng)上電后ARM 引導Linux 啟動,初始化內(nèi)部寄存器及板卡上的RAM,向內(nèi)核裝載USB 驅(qū)動及FPGA 驅(qū)動,初始化FPGA 和配置AD7656 工作模式。初始化完畢并接收到主機采樣命令后,A/D 開始進行采樣,系統(tǒng)進入等待數(shù)據(jù)狀態(tài); 采樣結(jié)束后拉低BUSY 引腳觸發(fā)FPGA 通知ARM 來讀取數(shù)據(jù)。ARM將FPGA傳來的數(shù)據(jù)及系統(tǒng)狀態(tài)信息通過USB 迅速上傳到上位機中,上位機根據(jù)具體應用進行數(shù)據(jù)處理等操作,完成一次采集工作。


FPGA 與ADC 的連接與控制

采集系統(tǒng)在實際試驗中,AD7656 每次完成6通道的采集轉(zhuǎn)換需3μs,F(xiàn)PGA 實際工作時鐘頻率為40MHz,ARM 的主時鐘頻率( MCK ) 為133MHz,因此數(shù)據(jù)從FPGA 上傳到主機所需時間小于1μs,即4μs 內(nèi)就可以完成一次采樣,滿足系統(tǒng)每周期采樣256 次的需求。對50Hz 交流電信號每個周期采樣128 個點,采樣結(jié)果如圖7 所示。


FPGA 與ADC 的連接與控制

5 結(jié)束語

采用FPGA + ARM 芯片組合的數(shù)據(jù)采集系統(tǒng),F(xiàn)PGA 負責采樣控制,ARM 負責整個系統(tǒng)的邏輯控制,通過USB 總線上傳到上位機處理。整個系統(tǒng)采樣精度高,數(shù)據(jù)傳送快,能夠滿足現(xiàn)代工業(yè)系統(tǒng)中對多通路、高精度、高速度、實時處理和易操控的復雜需求,同時借助Linux 內(nèi)核,針對不同領(lǐng)域不同應用,可輕松進行二次開發(fā),將有廣闊的應用前景。

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉