国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux+ARM 和FPGA 的高速數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

2023-09-19 13:34:02徐義忠曾艷麗宋云鵬
電子設(shè)計(jì)工程 2023年18期
關(guān)鍵詞:機(jī)軟件框圖上位

徐義忠,曾艷麗,孫 超,蘇 鑫,宋云鵬

(1.國(guó)機(jī)傳感科技有限公司,遼寧沈陽(yáng) 110043;2.遼河油田油氣集輸公司,遼寧盤(pán)錦 124010)

管道運(yùn)輸作為一種安全、經(jīng)濟(jì)的運(yùn)輸方式,被廣泛應(yīng)用于天然氣、石油等能源的運(yùn)輸。但由于長(zhǎng)時(shí)間的介質(zhì)腐蝕和磨損,管道會(huì)出現(xiàn)一定程度的損傷,甚至可能發(fā)生重大泄漏爆炸事故,因此管道的安全關(guān)系著國(guó)家經(jīng)濟(jì)發(fā)展及人民生命財(cái)產(chǎn)的安全。隨著油氣管道完整性理念的興起[1],管道內(nèi)檢測(cè)技術(shù)迅速發(fā)展,當(dāng)前國(guó)內(nèi)所應(yīng)用的智能內(nèi)檢測(cè)器以漏磁檢測(cè)技術(shù)(MFL)為典型代表,經(jīng)過(guò)40 多年的發(fā)展,得到了廣泛應(yīng)用,為管道安全運(yùn)行和科學(xué)管理提供了重要決策依據(jù)[2]。其中,軸向漏磁檢測(cè)技術(shù)發(fā)明最早并最為成熟,繼之又出現(xiàn)了橫向漏磁檢測(cè)技術(shù)、三維探頭檢測(cè)技術(shù)、超高清晰度的全斷面漏磁檢測(cè)技術(shù)[3-4]。檢測(cè)技術(shù)的快速發(fā)展和檢測(cè)需求的提出,需要采集大量電磁信號(hào)數(shù)據(jù)來(lái)支撐,導(dǎo)致大量的數(shù)據(jù)需要存儲(chǔ),對(duì)采集系統(tǒng)的速度及兼容性要求極高。因此,設(shè)計(jì)一套高水平、高標(biāo)準(zhǔn)、高效率的智能化管道數(shù)據(jù)采集系統(tǒng)尤為重要[5]。

發(fā)揮ARM+Linux 高速多任務(wù)及FPGA 高速并行優(yōu)勢(shì),設(shè)計(jì)實(shí)現(xiàn)管道內(nèi)檢測(cè)數(shù)據(jù)的高速并行采集、存儲(chǔ)和顯示,多次成功應(yīng)用在長(zhǎng)距離管道內(nèi)檢測(cè)中[6]。

1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

1.1 系統(tǒng)總體框圖

在該系統(tǒng)中,F(xiàn)PGA 主要負(fù)責(zé)數(shù)據(jù)采集和數(shù)據(jù)傳輸[7],ARM 主要負(fù)責(zé)數(shù)據(jù)接收、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)上傳以及和上位機(jī)通信。通過(guò)例化的多路SPI 和I2C 接口FPGA 實(shí)時(shí)采集探頭傳感器和外設(shè)數(shù)據(jù),按一定的數(shù)據(jù)格式緩存于SDRAM 中,然后通過(guò)USB FIFO將數(shù)據(jù)傳遞給ARM,ARM 再通過(guò)FatFS 文件系統(tǒng)按一定的文件名稱和格式將采集數(shù)據(jù)存儲(chǔ)到TF 卡組。串口用于編程調(diào)試,USB3.0 既可用于下載移植Linux 系統(tǒng),也可用于上傳模式下將TF 掛載到PC端,進(jìn)行數(shù)據(jù)高速上傳。網(wǎng)口用于調(diào)試模式下連接上位機(jī)軟件,可以實(shí)時(shí)顯示探頭傳感器和外設(shè)的狀態(tài)[8-9]。系統(tǒng)總體框圖如圖1 所示。

圖1 系統(tǒng)總體框圖

1.2 核心部件選型

FPGA 芯片選用Intel Altera 公司Cyclone 系列的EP4CE15F23(15,408LEs,504 kbit RAM,56 Embedded 18×18 multipliers,20 Global Clock Networks,343 user I/O,4PLLs),支持各種高速外接存儲(chǔ)器接口,支持各種標(biāo)準(zhǔn)的I/O,高速差分I/O,具有豐富的外部資源以及支持多種高性能標(biāo)準(zhǔn)。外部時(shí)鐘源頻率為50 MHz,外接一片HY57V2562GTR(16M×16Bit)SDRAM,能夠滿足速度和數(shù)據(jù)緩存的需求。

ARM 芯片選用NXP 公司的i.MX6ULL,其是一款高性能、超高效的處理器,采用恩智浦先進(jìn)的單ARM Cortex-A7 內(nèi)核實(shí)現(xiàn),運(yùn)行速度高達(dá)792 MHz。i.MX6ULL 包含集成電源管理模塊,可降低外部電源的復(fù)雜性并簡(jiǎn)化電源排序。該系列中的每個(gè)處理器都提供各種內(nèi)存接口,包括LPDDR2、DDR3、DDR3L、原始的和管理的NAND Flash、NOR Flash、eMMC、Quad SPI,以及用于連接外圍設(shè)備的各種其他接口,例如WLAN、藍(lán)牙?、GPS、顯示器和相機(jī)傳感器。i.MX6ULL 功能框圖如圖2 所示。

圖2 NXP i.MX6ULL功能框圖

i.MX6ULL 處理器的特性包括[10]:

1)單核ARM Cortex-A7——單核A7 提供了一種經(jīng)濟(jì)高效的解決方案。

2)多級(jí)存儲(chǔ)系統(tǒng)——處理器的多級(jí)存儲(chǔ)系統(tǒng)基于L1 指令和數(shù)據(jù)緩存、L2 緩存以及內(nèi)部和外部存儲(chǔ)器。該處理器支持多種類型的外部存儲(chǔ)設(shè)備,包括DDR3、低壓DDR3、LPDDR2、NOR 閃存、NAND 閃存(MLC 和SLC)、OneNAND ?、Quad SPI 和管理的NAND,包括最高4.4/4.41/4.5 版的eMMC。

3)智能速度技術(shù)——在整個(gè)IC 中實(shí)施的電源管理,使多媒體功能和外圍設(shè)備在活動(dòng)和各種低功耗模式下都消耗最少的功率。

4)動(dòng)態(tài)電壓和頻率縮放——通過(guò)縮放電壓和頻率來(lái)優(yōu)化設(shè)備的電源效率以優(yōu)化性能。

5)多媒體動(dòng)力源——多級(jí)緩存系統(tǒng)、NEON?MPE(媒體處理器引擎)協(xié)處理器、可編程智能DMA(SDMA)控制器、異步音頻采樣率轉(zhuǎn)換器、電泳顯示器(EPD)控制器和像素處理流水線(PXP)增強(qiáng)了處理器的多媒體性能,以支持2D 圖像處理,包括顏色空間轉(zhuǎn)換、縮放、alpha 混合和旋轉(zhuǎn)。

6)2 個(gè)以太網(wǎng)接口——2 個(gè)10/100 MB/s 以太網(wǎng)控制器。

7)人機(jī)界面——每個(gè)處理器支持一個(gè)數(shù)字并行顯示界面。

8)接口靈活——每個(gè)處理器都支持連接到各種接口:兩個(gè)帶PHY 的高速USB OTG、多個(gè)擴(kuò)展卡端口(高速M(fèi)MC/SDIO 主機(jī)和其他)、兩個(gè)帶PHY 的12位ADC 模塊多達(dá)10 個(gè)輸入通道和兩個(gè)CAN 端口。

9)高級(jí)安全性——處理器提供支持硬件的安全功能,可實(shí)現(xiàn)安全電子商務(wù)、數(shù)字版權(quán)管理(DRM)、信息加密、安全啟動(dòng)、AES-128 加密、SHA-1、SHA-256硬件加速引擎和安全軟件下載。

10)集成電源管理——處理器集成線性穩(wěn)壓器并在內(nèi)部為不同域生成電壓電平,這顯著簡(jiǎn)化了系統(tǒng)電源管理結(jié)構(gòu)。

在該系統(tǒng)中,i.MX6ULL 配置了512 MB DDR3 作為內(nèi)存,512 MB NAND 作為系統(tǒng)和用戶程序存儲(chǔ),同時(shí)移植了Linux 操作系統(tǒng)[10]。

2 系統(tǒng)典型電路

2.1 FIFO轉(zhuǎn)USB電路

FIFO 轉(zhuǎn)USB 電路的芯片選用飛特帝亞公司(FTDI)的FT232H,F(xiàn)T232H 高速單通道橋接芯片以USB 高速(60 MB/s)運(yùn)行,具有靈活的串行接口或并行FIFO 接口,數(shù)據(jù)傳輸速率高達(dá)40 MB/s。使用串行EEPROM 接口,該設(shè)備可以被配置為各種異步和同步串行標(biāo)準(zhǔn),例如JTAG、SPI、I2C 和UART 以及同步和異步并行FIFO 接口。該設(shè)備還具有新的同步、半雙工FT1248 總線,它允許利用1、2、4 或8 條數(shù)據(jù)線以達(dá)到30 MB/s。I/O 結(jié)構(gòu)端口電壓為3.3 V,具有5 V 耐壓,與FPGA 接口相連時(shí)具有更大的靈活性。FIFO 轉(zhuǎn)USB 電路如圖3 所示。

圖3 FIFO轉(zhuǎn)USB電路

FT232H 將FPGA 采集的暫存在SDRAM 里的信息通過(guò)FIFO 取出轉(zhuǎn)成USB 格式發(fā)送給ARM,完成FPGA 和ARM 之間的數(shù)據(jù)傳遞[11]。

2.2 網(wǎng)口轉(zhuǎn)USB電路

網(wǎng)口轉(zhuǎn)USB 電路的芯片選用亞信公司(AXIS)的AX88179。AX88179 是一款低價(jià)、小封裝、高性能、高集成度、即插即用的USB 3.0 轉(zhuǎn)千兆以太網(wǎng)單芯片,支持超節(jié)能以太網(wǎng)(EEE)標(biāo)準(zhǔn)及低功耗的數(shù)字信號(hào)處理(DSP)技術(shù),可應(yīng)用于任何具備標(biāo)準(zhǔn)USB 端口的嵌入式系統(tǒng),僅需單25 MHz 時(shí)鐘即可正常工作。網(wǎng)口轉(zhuǎn)USB 電路如圖4 所示。

圖4 網(wǎng)口轉(zhuǎn)USB電路

AX88179 用于連接ARM 和上位機(jī)軟件,調(diào)試時(shí)可以將來(lái)自上位機(jī)軟件的命令傳送給ARM,對(duì)系統(tǒng)進(jìn)行設(shè)置,也可以將ARM 接收的數(shù)據(jù)傳送到上位機(jī)進(jìn)行解析,以便實(shí)時(shí)了解探頭傳感器和外設(shè)的狀態(tài)[12-13]。

2.3 USB HUB電路

USB HUB 電路的芯片選用臺(tái)灣湯銘的FE8.1。FE8.1 是一款高度集成、高質(zhì)量、極小體積、極低功耗的高速四口USB HUB 集線器控制器,是USB 兩端口集線器高性能的解決方案,是嵌入式的最佳選擇。USB HUB 電路如圖5 所示。

圖5 USB HUB電路

FE8.1 整合下游網(wǎng)口轉(zhuǎn)USB 電路和FIFO 轉(zhuǎn)USB電路的數(shù)據(jù)與上游的ARM 進(jìn)行交換。

2.4 寫(xiě)入和讀取切換電路

數(shù)據(jù)的寫(xiě)入和讀取切換電路的芯片選用德州儀器(TI)的HD3SS6126。HD3SS6126 器件是一款針對(duì)USB 應(yīng)用而設(shè)計(jì)的高速無(wú)源開(kāi)關(guān),用于將超高速USB RX 和TX 以及USB 2.0 DP 和DM 信號(hào)從源位置路由到目標(biāo)位置,反之亦然。寫(xiě)入和讀取切換電路如圖6 所示。

圖6 寫(xiě)入和讀取切換電路

數(shù)據(jù)采集時(shí),ARM 通過(guò)SEL 切換到存儲(chǔ)模塊,將數(shù)據(jù)存儲(chǔ)到TF 卡中;數(shù)據(jù)上傳時(shí),切換到USB3.0,將TF 卡掛載到電腦,就可以將存儲(chǔ)的數(shù)據(jù)拷貝出來(lái)進(jìn)行分析。

3 系統(tǒng)軟件開(kāi)發(fā)和測(cè)試結(jié)果

該系統(tǒng)的軟件主要包括三大部分:FPGA 程序主要用于數(shù)據(jù)的采集和傳送,定時(shí)采集探頭傳感器的數(shù)據(jù),按一定的幀格式傳遞給ARM;ARM 程序主要用于數(shù)據(jù)的接收和存儲(chǔ),接收到FPGA 發(fā)送的數(shù)據(jù)后,一方面將數(shù)據(jù)存儲(chǔ)在TF 卡組,另一方面可以和上位機(jī)軟件通信,接收上位機(jī)的命令和將采集數(shù)據(jù)傳送給上位機(jī);上位機(jī)軟件主要用于采集數(shù)據(jù)的顯示,將ARM 發(fā)送的數(shù)據(jù)解析后顯示,操作者可以實(shí)時(shí)查看系統(tǒng)參數(shù)和探頭傳感器的狀態(tài),也可以將對(duì)系統(tǒng)參數(shù)的設(shè)置指令傳送給ARM。具體的系統(tǒng)軟件結(jié)構(gòu)框圖如圖7 所示。

圖7 系統(tǒng)軟件結(jié)構(gòu)框圖

3.1 FPGA軟件

上電復(fù)位后,F(xiàn)PGA 通過(guò)SPI 接口接收ARM 的指令,解析后按照相應(yīng)的指令執(zhí)行;當(dāng)收到開(kāi)始采集信號(hào)后,按照設(shè)定的頻率發(fā)送采集使能信號(hào),啟動(dòng)探頭傳感器的信號(hào)采集,將采集到的數(shù)據(jù)按照一定的幀格式存入SDRAM,一幀結(jié)束后通過(guò)FT232H 傳遞給ARM。當(dāng)收到停止采集信號(hào)后,停止發(fā)送采集使能信號(hào),再次進(jìn)入等待狀態(tài)[14-16]。FPGA 程序框圖如圖8 所示。FPGA 程序流程圖如圖9 所示。

圖8 FPGA程序框圖

圖9 FPGA程序流程圖

3.2 ARM軟件

上電后,裁剪適配的Linux 系統(tǒng)[17-19]啟動(dòng),完成各項(xiàng)基本配置后自動(dòng)執(zhí)行用戶程序,判別是調(diào)試模式還是存儲(chǔ)模式。如果是調(diào)試模式,則通過(guò)網(wǎng)口連接到上位機(jī),啟動(dòng)采集后將各探頭傳感器的信息顯示在上位機(jī)上,從而可以實(shí)時(shí)檢查各探頭傳感器的狀況;如果是存儲(chǔ)模式,則一直監(jiān)測(cè)里程信息,如果符合采集條件,就會(huì)啟動(dòng)采集,將接收到的USB FIFO 數(shù)據(jù)按一定格式存入TF卡組。ARM程序流程圖如圖10所示。

圖10 ARM程序流程圖

3.3 上位機(jī)軟件

上位機(jī)軟件采用Python 編寫(xiě)[20],用以太網(wǎng)和ARM 連接,連接成功后可以對(duì)系統(tǒng)的一些參數(shù)如電池使用時(shí)間和系統(tǒng)時(shí)間等進(jìn)行設(shè)置,參數(shù)回傳到ARM,保存到Flash 里;可以點(diǎn)擊采集按鈕,通過(guò)ARM 向FPGA 發(fā)送采集使能,將探頭和傳感器采集的數(shù)據(jù)進(jìn)行解析后[21-24]實(shí)時(shí)顯示在上位機(jī)上,便于對(duì)整個(gè)系統(tǒng)進(jìn)行調(diào)試;系統(tǒng)數(shù)據(jù)采集完畢后,也可以利用上位機(jī)軟件發(fā)送命令,讓ARM 通過(guò)USB 將TF 卡組掛載到電腦,以便將采集的數(shù)據(jù)拷貝出來(lái)進(jìn)行分析。上位機(jī)程序流程圖如圖11 所示。

圖11 上位機(jī)程序流程圖

4 結(jié)束語(yǔ)

該系統(tǒng)已經(jīng)在40 吋及以下漏磁管道檢測(cè)器中成功應(yīng)用,采樣頻率可達(dá)4 kHz,存儲(chǔ)空間可達(dá)8 TB,存儲(chǔ)時(shí)間可達(dá)100 h,可搭接至多120 個(gè)三軸周向全覆蓋漏磁探頭,120 個(gè)測(cè)徑探頭,改變了以往MCU 控制器系統(tǒng)采樣率不高、接口不夠豐富的弊端,應(yīng)對(duì)40吋及以下尺寸檢測(cè)器的超高清檢測(cè)數(shù)據(jù)量完全沒(méi)有問(wèn)題。

為了適應(yīng)更大尺寸內(nèi)檢測(cè)器需要,主要在ARM的主頻和內(nèi)核數(shù)量以及存儲(chǔ)容量和存取速度上加以改進(jìn),可以選用更為高級(jí)的內(nèi)嵌ARM 硬核的FPGA芯片作為主控芯片,其本身具有豐富的接口資源,主頻高,還可多核操作,可以簡(jiǎn)化設(shè)計(jì),提高可靠性;以硬盤(pán)作為存儲(chǔ)介質(zhì),以千兆網(wǎng)口作為讀取接口,既能提高系統(tǒng)的存儲(chǔ)可靠性,增大存儲(chǔ)容量,又能提高數(shù)據(jù)的存取速度。

猜你喜歡
機(jī)軟件框圖上位
捷豹I-PACE純電動(dòng)汽車(chē)高壓蓄電池充電系統(tǒng)(三)
特斯拉 風(fēng)云之老阿姨上位
車(chē)迷(2018年12期)2018-07-26 00:42:22
電路圖2017年凱迪拉克XT5
算法框圖的補(bǔ)全
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
道岔監(jiān)測(cè)系統(tǒng)上位機(jī)軟件設(shè)計(jì)
基于正交試驗(yàn)法的北斗用戶機(jī)軟件測(cè)試用例設(shè)計(jì)
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
電子器件(2015年5期)2015-12-29 08:43:12
以新思路促推現(xiàn)代農(nóng)業(yè)上位
赤壁市| 和平县| 柯坪县| 云和县| 宝山区| 壤塘县| 汤原县| 湟源县| 怀远县| 同仁县| 虎林市| 淮滨县| 云阳县| 温泉县| 建湖县| 驻马店市| 涞水县| 视频| 神农架林区| 永和县| 东海县| 威宁| 澄迈县| 方正县| 屯门区| 咸阳市| 民权县| 中阳县| 华坪县| 莱芜市| 峨山| 乌拉特后旗| 泸水县| 方山县| 瑞金市| 田林县| 神池县| 绥棱县| 乳山市| 朝阳县| 延安市|