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

?

基于FPGA+SD3.0 協(xié)議存儲(chǔ)速率優(yōu)化設(shè)計(jì)

2022-08-13 12:35:38劉正軍陳一銘
數(shù)據(jù)采集與處理 2022年4期
關(guān)鍵詞:采集卡校驗(yàn)時(shí)鐘

許 璐,劉正軍,陳一銘

(中國測繪科學(xué)研究院航測所,北京 100036)

引 言

SD(Secure digital)卡是一種基于flash 閃存的高速存儲(chǔ)設(shè)備,因其記憶容量高、傳輸速率快、移動(dòng)靈活性強(qiáng)和安全系數(shù)高等優(yōu)點(diǎn)被廣泛應(yīng)用于音樂、攝影等數(shù)字媒體領(lǐng)域。但隨著數(shù)字媒體領(lǐng)域的快速發(fā)展,無論是對(duì)音樂還是圖像傳感器的采樣頻率、分辨率等指標(biāo)都有了更高的要求,這也對(duì)SD 卡的存儲(chǔ)容量和存儲(chǔ)速度等性能參數(shù)帶來了新挑戰(zhàn)[1-2]。

SD 卡的存儲(chǔ)主要通過控制器實(shí)現(xiàn),目前對(duì)于SD 卡控制器的研究已經(jīng)取得了一些成果。文獻(xiàn)[3]采用基于ARM 處理器的方案,通過Linux 系統(tǒng)成熟的AMBA 總線模式實(shí)現(xiàn)了SD3.0 控制器的設(shè)計(jì),但受限于ARM 芯片的串行化操作流程,實(shí)際的存儲(chǔ)速度很低;文獻(xiàn)[4]采用STM32 微控制器實(shí)現(xiàn)SD 卡的存儲(chǔ),但試驗(yàn)中選擇的是SPI 總線模式,這種模式實(shí)現(xiàn)方便但存儲(chǔ)效率過低,只適合做指令的驗(yàn)證,無法應(yīng)用于實(shí)際的數(shù)據(jù)存儲(chǔ)中;文獻(xiàn)[5]采用Altera NIOS Ⅱ軟核操作SD 卡控制器,實(shí)現(xiàn)了現(xiàn)場可編程邏輯門陣列(Field programmable gate array,F(xiàn)PGA)設(shè)計(jì)的SD 卡控制器的SPI(1 bit)模式,存儲(chǔ)效率同樣不高;文獻(xiàn)[6]設(shè)計(jì)和實(shí)現(xiàn)了FPGA 原型驗(yàn)證平臺(tái)內(nèi)部存儲(chǔ)系統(tǒng)DDR3 控制器及外部存儲(chǔ)系統(tǒng)SD 卡控制器,并結(jié)合工程應(yīng)用設(shè)計(jì)了針對(duì)驗(yàn)證平臺(tái)存儲(chǔ)系統(tǒng)的測試方案,但SD 卡采用的是2.0 版本協(xié)議,理論上的最高存儲(chǔ)速度只有25 MB/s,而實(shí)際應(yīng)用中會(huì)更低,無法滿足數(shù)據(jù)的高速存儲(chǔ)需要;文獻(xiàn)[7]設(shè)計(jì)了一種基于SD3.0 協(xié)議的分布式RTL 級(jí)控制器,采用8 路TF 卡存儲(chǔ)陣列,但此方案存在各個(gè)存儲(chǔ)介質(zhì)間的協(xié)同性工作問題,并且占用面積很大,不適合小型化的數(shù)據(jù)存儲(chǔ)方案。考慮到以上方案的不足,結(jié)合本實(shí)驗(yàn)的需求,本文設(shè)計(jì)一種基于FPGA 芯片的SD(TF)卡控制器,通過SD3.0 協(xié)議的4bit 傳輸模式,對(duì)單TF 卡實(shí)現(xiàn)扇區(qū)寫數(shù)據(jù)操作,旨在占用最小體積的同時(shí),通過提高數(shù)據(jù)的存儲(chǔ)效率,實(shí)現(xiàn)更快的數(shù)據(jù)存儲(chǔ)速度。

1 方案選擇

在芯片的選擇上,F(xiàn)PGA 作為一種可反復(fù)擦寫的編程芯片,相比其他可編程芯片,其內(nèi)部資源豐富、開發(fā)成本低、靈活性高、設(shè)計(jì)周期更短。本實(shí)驗(yàn)采用Xilinx 公司的Artix-7 系列芯片,該系列芯片在單個(gè)成本中提供了最高性能的功耗比結(jié)構(gòu)、收發(fā)器線速、DSP 處理能力以及AMS 集成,可充分滿足對(duì)SD 卡控制器的設(shè)計(jì)資源需求[8-9]。存儲(chǔ)協(xié)議的選擇上,本實(shí)驗(yàn)采用可行性更高的SD3.0 協(xié)議作為SD 卡的存儲(chǔ)協(xié)議。該協(xié)議通過串行指令的發(fā)送—響應(yīng)模式,實(shí)現(xiàn)對(duì)SD 卡的初始化操作,指令結(jié)構(gòu)相對(duì)簡單,操作便捷,并且理論存儲(chǔ)速度可達(dá)104 MB/s[1],適合自主性設(shè)計(jì),滿足存儲(chǔ)速度要求。緩存設(shè)備的選擇上,通過DDR3+RAM+FIFO 內(nèi)外存儲(chǔ)資源相結(jié)合的方式將24 bit 位寬數(shù)據(jù)轉(zhuǎn)換成4 bit 位寬數(shù)據(jù)存入TF 卡中。DDR3作為外部緩存設(shè)備對(duì)寫入的數(shù)據(jù)進(jìn)行暫存,彌補(bǔ)FPGA 芯片內(nèi)部存儲(chǔ)空間不足的缺陷。FIFO與RAM相結(jié)合,實(shí)現(xiàn)數(shù)據(jù)位寬的轉(zhuǎn)換、跨時(shí)鐘域的處理與數(shù)據(jù)的發(fā)送前準(zhǔn)備工作。本實(shí)驗(yàn)的系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure diagram

2 硬件及RTL 級(jí)設(shè)計(jì)

2.1 硬件電路功能設(shè)計(jì)

為保證功能的需要,數(shù)據(jù)采集卡通過對(duì)電路需求的分析、設(shè)計(jì)、焊接、調(diào)試等過程實(shí)現(xiàn)。板卡具有一個(gè)9~24 V 直流輸入接口,2 個(gè)12 V 直流輸出,總功率12 W,各有一個(gè)LED 指示燈;5 V 和3.3 V 電源狀態(tài)指示燈各一個(gè),電線接地端(GND)測試點(diǎn)若干。采用現(xiàn)有成熟的沉金工藝,板卡抗氧化性好、壽命長、導(dǎo)電性好。4 層PCB 板的設(shè)計(jì),彼此間通過通孔、埋孔、盲孔互聯(lián),可靈活設(shè)計(jì),提供了更大的布線空間,最重要的是在高頻電路中滿足對(duì)于電磁屏蔽的需求,提升了電路整體的穩(wěn)定性與性能。由于SD3.0 協(xié)議頻率最高可達(dá)208 MHz,所以TF 卡的走線需布線等長,保持一致,且與FPGA 芯片間的距離不能過大。

數(shù)據(jù)采集卡的硬件實(shí)物圖如圖2 所示。板卡由ARM+FPGA 雙芯片控制,F(xiàn)PGA 負(fù)責(zé)大規(guī)模數(shù)據(jù)的存儲(chǔ),ARM 負(fù)責(zé)其他指令的控制,本文實(shí)驗(yàn)不涉及ARM 芯片的控制內(nèi)容。在FPGA 芯片周圍有很多擴(kuò)展接口與LED 燈,支持與其他設(shè)備的互聯(lián)和電路狀態(tài)的顯示。其中J2:MDR26 接口負(fù)責(zé)與Camera Link 接口的前端采集設(shè)備相連,將采集到的數(shù)據(jù)與控制信號(hào)經(jīng)過解碼芯片的譯碼直接發(fā)送給FPGA;J3、J4、J10 為雙芯片的外接串口,用于控制板與上位機(jī)、傳感器之間的數(shù)據(jù)通信;實(shí)驗(yàn)數(shù)據(jù)通過FPGA 芯片控制存儲(chǔ)在J8A 中,該部分?jǐn)?shù)據(jù)存儲(chǔ)量大、存儲(chǔ)速度要求高,采用基于SD3.0 協(xié)議的雙電壓SD 卡座。該卡座與FPGA 芯片相連,芯片提供3.3 V 與1.8 V 雙電壓引腳,二者并聯(lián)。初始化過程中根據(jù)實(shí)際需要屏蔽低電平引腳,收到CMD11 指令之后選中低電平引腳,屏蔽高電平引腳最終實(shí)現(xiàn)TF 卡引腳電平的切換過程。之所以要進(jìn)行電平切換,主要是需要電路實(shí)現(xiàn)電荷的快速充放,提高高頻模式下的傳輸速度;J11為FPGA 程序的下載接口,負(fù)責(zé)與PC 相連,用于程序更新;J1A 與J1B 責(zé)提供9~24 V 的電壓,為整個(gè)板卡供電,并保持電壓穩(wěn)定。

圖2 數(shù)據(jù)采集卡實(shí)物圖Fig.2 Physical image of data acquisition card

芯片內(nèi)部采用FPGA 自帶的時(shí)鐘管理單元混合模式時(shí)鐘管理器(Mixed-mode clock manager,MMCM)、MIG7 控制器、RAM IP 核、FIFO IP 核與LUT 資源等實(shí)現(xiàn)指令交互與數(shù)據(jù)傳輸功能。指令流程狀態(tài)機(jī)負(fù)責(zé)TF 卡不同模式下指令的收發(fā)和條件的判斷,數(shù)據(jù)流程狀態(tài)機(jī)負(fù)責(zé)對(duì)FIFO 和CRC16校驗(yàn)?zāi)K進(jìn)行控制,控制數(shù)據(jù)流的輸入和CRC 校驗(yàn)的開始與停止。并且內(nèi)部使用異步存儲(chǔ)器實(shí)現(xiàn)設(shè)計(jì),這主要是考慮到時(shí)鐘頻率的改變以及跨時(shí)鐘域的時(shí)序約束問題[10-11]。

FPGA 芯片外接100 MHz 晶振為整個(gè)芯片提供時(shí)鐘。輸入的100 MHz 時(shí)鐘送入芯片內(nèi)部,通過MMCM的倍頻與分頻操作,輸出200、20 和166.667 MHz 的3 路時(shí)鐘[12],200 MHz 時(shí)鐘通過一個(gè)分頻計(jì)數(shù)器再輸出一個(gè)不到400 kHz 的時(shí)鐘。這4 路時(shí)鐘用于TF 卡模式轉(zhuǎn)換、數(shù)據(jù)發(fā)送、DDR3 輸入和參考時(shí)鐘,構(gòu)成芯片內(nèi)部時(shí)鐘樹。

2.2 SD3.0 協(xié)議簡介

SD3.0 協(xié)議支持兩種電壓的工作模式,具體如表1 所示。實(shí)驗(yàn)中采用理想速度最快的SDR104 模式實(shí)現(xiàn)TF卡的數(shù)據(jù)寫入,此時(shí)的卡也必須支持引腳電壓的轉(zhuǎn)換。

表1 SD3.0 模式參數(shù)指標(biāo)Table 1 Parameter index of SD3.0 mode

SD3.0 協(xié)議由空閑狀態(tài)、卡識(shí)別模式和數(shù)據(jù)傳輸模式3 部分組成。發(fā)送CMD8 指令詢問TF 卡支持的電壓是否滿足要求;收到CMD11 指令后進(jìn)行電壓切換;CMD6 負(fù)責(zé)TF 卡的模式轉(zhuǎn)換;功能切換正確后,強(qiáng)制要求發(fā)送CMD19 指令進(jìn)行時(shí)鐘調(diào)制,保證在高頻狀態(tài)下時(shí)鐘的穩(wěn)定性。發(fā)送CMD25 指令進(jìn)入數(shù)據(jù)傳輸模式,實(shí)現(xiàn)TF 卡的連續(xù)寫操作;寫結(jié)束后發(fā)送CMD12 指令對(duì)卡緩沖區(qū)內(nèi)的數(shù)據(jù)進(jìn)行編程。

對(duì)于發(fā)送指令和數(shù)據(jù)的時(shí)鐘而言,在電壓轉(zhuǎn)換之前,時(shí)鐘為100~400 kHz,電壓轉(zhuǎn)換之后進(jìn)入SDR12 模式進(jìn)行傳輸,最高頻率為25 MHz,當(dāng)接收到CMD6 指令的返回值8 個(gè)時(shí)鐘周期之后,TF 卡即可進(jìn)入高速模式(SDR104),最高頻率可用為208 MHz,本實(shí)驗(yàn)中采用200 MHz。

2.3 SD3.0 協(xié)議的RTL 實(shí)現(xiàn)

現(xiàn)有的方案中,由需要電壓轉(zhuǎn)換而帶來控制電路的特殊性,使得選擇FPGA 實(shí)現(xiàn)SD3.0 的方案較少,大部分的方案或基于SD2.0 協(xié)議[13-14],或選擇串行外設(shè)接口(Serial peripheral interface,SPI)模式[15]實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。這種方案的理論存儲(chǔ)速度不僅很低,只有25 MB/s,實(shí)際應(yīng)用中,存儲(chǔ)效率也只有SD 模式的25%,遠(yuǎn)遠(yuǎn)達(dá)不到快速數(shù)據(jù)存儲(chǔ)的使用要求。文獻(xiàn)[16]中,作者選擇SD3.0 模式設(shè)計(jì)了一種基于FPGA 的SD 卡控制器,通過多次的讀寫測試,采用頂層模塊設(shè)計(jì)與相位調(diào)整的方法,設(shè)計(jì)出了一款讀寫速度約為35 MB/s 的SD3.0 控制器。雖然與理想速度104 MB/s 仍存在較大差距,但此方案為實(shí)現(xiàn)更快速度的SD3.0 控制器方案提供了事實(shí)依據(jù)。

實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng)一邊發(fā)送數(shù)據(jù)一邊進(jìn)行CRC16 校驗(yàn)計(jì)算時(shí),得到的校驗(yàn)結(jié)果與正確值存在一個(gè)時(shí)鐘周期的偏移,這使得當(dāng)數(shù)據(jù)發(fā)送完畢后CRC16 的正確校驗(yàn)值還未計(jì)算完成。為解決這一問題,提高數(shù)據(jù)的傳輸效率與準(zhǔn)確性。本文提出如下3 種方案:

(1)采用先計(jì)算CRC 校驗(yàn)值后發(fā)送數(shù)據(jù)的方式,可以保證數(shù)據(jù)發(fā)送的準(zhǔn)確性。但此方案會(huì)使TF卡總線利用率大大降低。先計(jì)算一遍校驗(yàn)值再發(fā)送數(shù)據(jù)相當(dāng)于對(duì)本組數(shù)據(jù)進(jìn)行了兩次串行處理,導(dǎo)致總線利用率不超過50%,在實(shí)際測試過程中傳輸速率結(jié)果大約30 MB/s,與文獻(xiàn)[16]結(jié)果相差不大。

(2)數(shù)據(jù)的校驗(yàn)計(jì)算先于發(fā)送的數(shù)據(jù),即CRC16 計(jì)算比發(fā)送數(shù)據(jù)至少優(yōu)先一個(gè)時(shí)鐘周期,實(shí)現(xiàn)過程中需要準(zhǔn)備兩組相同的緩存資源,一組用來優(yōu)先進(jìn)行校驗(yàn)計(jì)算,另一組延后至少一個(gè)周期進(jìn)行數(shù)據(jù)的發(fā)送,確保數(shù)據(jù)發(fā)送完畢時(shí)校驗(yàn)結(jié)果也能正確完成。這種方法相對(duì)于上一種總線利用率大幅增加,數(shù)據(jù)的傳輸速率也大幅上升,不到50 MB/s。

(3)如圖3 所示,將FIFO 輸出的數(shù)據(jù)先分為相同的兩路,一路輸入到一級(jí)緩存的同時(shí)另一路同步進(jìn)行CRC16 校驗(yàn),這樣可以保證CRC 校驗(yàn)得到的結(jié)果與一級(jí)緩存中的待發(fā)送數(shù)據(jù)保持匹配。將數(shù)據(jù)與CRC 校驗(yàn)結(jié)果拼接后并行送入二級(jí)緩存,這種并行的處理方法雖然會(huì)占用很大的總線帶寬但只占用一個(gè)時(shí)鐘周期,提高了電路的執(zhí)行速度。在數(shù)據(jù)由二級(jí)緩存發(fā)送給TF 卡的過程中一級(jí)緩存又可同時(shí)進(jìn)行數(shù)據(jù)流輸入與CRC 校驗(yàn)操作,將串行處理的過程同步進(jìn)行。若TF 卡正確的返回一個(gè)正脈沖“010”,則證明發(fā)送數(shù)據(jù)準(zhǔn)確,一級(jí)緩存中的數(shù)據(jù)將繼續(xù)送入二級(jí)緩存當(dāng)中,循環(huán)往復(fù)。此方案不僅提高了總線利用率,而且當(dāng)數(shù)據(jù)發(fā)送錯(cuò)誤時(shí)也可重新發(fā)送,使傳輸鏈路更加可靠。

圖3 方案3 存儲(chǔ)流程示意圖Fig.3 Schematic diagram of storage process of Scheme 3

圖4 為TF 卡返回正確響應(yīng)的示意圖,圖中紅圈為TF 卡的響應(yīng)信號(hào)(一位起始位“0”,正脈沖“010”。一位終止位“1”)。當(dāng)TF 卡返回此信號(hào)后,證明數(shù)據(jù)被正確寫入TF 卡緩沖區(qū),等待編程。

圖4 TF 卡響應(yīng)信號(hào)Fig.4 TF card response signal

3 系統(tǒng)測試與結(jié)果分析

3.1 采集卡指標(biāo)分析

現(xiàn)有的圖像采集卡產(chǎn)品已十分成熟,性能穩(wěn)定,具有一定的通用性。但部分采集卡的體積過大,集成度不高,無法滿足小型存儲(chǔ)方案的設(shè)計(jì)要求,也無法滿足特定的功能需求。為此,本文選擇自行設(shè)計(jì)采集卡實(shí)現(xiàn)小型化存儲(chǔ)方案,部分圖像采集卡的參數(shù)見表2。表2 中,SD 采集卡采用的是SDHC 接口,雖然體積較小,但存儲(chǔ)容量不高,存儲(chǔ)速度低,無法作為數(shù)據(jù)的高速存儲(chǔ)方案;采用Camera Link/HDMI+PCI-e 的圖像采集卡需要外接存儲(chǔ)設(shè)備,集成度較低,實(shí)際應(yīng)用起來占用體積較大,不利于實(shí)現(xiàn)小型化存儲(chǔ);本文設(shè)計(jì)的采集卡,將支持SD3.0 協(xié)議的小型TF 卡存儲(chǔ)介質(zhì)集成于板卡上,TF 卡尺寸規(guī)格為15 mm×11 mm×1 mm,遠(yuǎn)小于市場上主流的存儲(chǔ)設(shè)備。使用此方案不僅提高了采集卡整體的集成度,板卡具有豐富接口的同時(shí),面積只有差不多手掌大小,可實(shí)現(xiàn)占用較小體積下數(shù)據(jù)的高速存儲(chǔ)功能,是一種高集成度的應(yīng)用方案。

表2 采集卡參數(shù)Table 2 Acquisition card parameters

3.2 硬件系統(tǒng)可靠性分析

PCB 信號(hào)完整性主要包括阻抗不匹配引起的信號(hào)過沖、不同網(wǎng)絡(luò)之間耦合引起的信號(hào)串?dāng)_和傳輸通道損耗引起的信號(hào)邊沿退化等,會(huì)造成電路的功能錯(cuò)誤,產(chǎn)生電磁兼容問題。為保證板卡硬件設(shè)計(jì)性能穩(wěn)定、板級(jí)輻射發(fā)射不超標(biāo),本文使用Mentor Graphics 公司的EDA 軟件HyperLynx 對(duì)電路做板級(jí)信號(hào)完整性仿真分析。

3.2.1 信號(hào)過沖測試

信號(hào)電平發(fā)生跳變后,第一個(gè)峰值電壓或谷值電壓超過預(yù)設(shè)值,叫做信號(hào)過沖,由信號(hào)過沖引起的振鈴效應(yīng)會(huì)產(chǎn)生嚴(yán)重電磁干擾(Electro-magnetic interference,EMI)。產(chǎn)生過沖的主要原因是傳輸線阻抗不匹配造成信號(hào)多級(jí)反射的疊加。為避免由信號(hào)過沖帶來電壓波動(dòng),產(chǎn)生對(duì)信號(hào)閾值的誤判,本文通過過沖仿真,優(yōu)化布線阻抗和端接阻抗等方法,最小化振鈴效應(yīng),減小PCB 的輻射發(fā)射,改善電路板的電磁兼容特性。

如圖5(a)所示,信號(hào)有輕微過沖,經(jīng)電路原理圖分析,發(fā)現(xiàn)是端接阻抗不匹配而引起的振鈴效應(yīng),這可能會(huì)導(dǎo)致元器件多次判斷峰值電壓與谷值電壓,得到錯(cuò)誤的邏輯結(jié)果,或使得保護(hù)二極管工作于不正常的狀態(tài),影響電路整體功能的實(shí)現(xiàn)。為改善信號(hào)振鈴,實(shí)驗(yàn)中在TF 卡存儲(chǔ)網(wǎng)絡(luò)首末兩端各加入50 Ω 電阻實(shí)現(xiàn)端接阻抗匹配,由此得到圖5(b)所示效果。從圖中可以看出,振鈴效應(yīng)得到了明顯改善,無多峰值或谷值的情況出現(xiàn),保證了電路信號(hào)的穩(wěn)定性與閾值判別結(jié)果的準(zhǔn)確性。

圖5 信號(hào)過沖驗(yàn)證結(jié)果Fig.5 Signal overshoot verification results

3.2.2 信號(hào)串?dāng)_測試

串?dāng)_是多個(gè)不同網(wǎng)絡(luò)間的相互干擾,其機(jī)理是傳輸線之間的容性和感性耦合。容性耦合產(chǎn)生耦合電流,而感性耦合引發(fā)耦合電壓,PCB 板層的參數(shù)、信號(hào)線間距、驅(qū)動(dòng)端和接收端的電氣特性及線端接方式對(duì)串?dāng)_都有一定的影響。實(shí)驗(yàn)中設(shè)定軟件串?dāng)_門限(邏輯高電平的5%左右)后,添加攻擊網(wǎng)絡(luò),對(duì)TF 卡存儲(chǔ)進(jìn)行網(wǎng)絡(luò)攻擊得到如圖6 所示的測試結(jié)果,圖中所示信號(hào)沒有產(chǎn)生明顯的扭曲變形,證明在TF 卡存儲(chǔ)的網(wǎng)絡(luò)中,布線間距合理,高速信號(hào)線間距離適中,沒有發(fā)生明顯的電壓、電流耦合現(xiàn)象,電路性能可靠。

圖6 串?dāng)_測試結(jié)果Fig.6 Crosstalk test results

若實(shí)驗(yàn)中產(chǎn)生了嚴(yán)重的信號(hào)串?dāng)_,導(dǎo)致信號(hào)波形產(chǎn)生了嚴(yán)重形變,可以采用增加信號(hào)間的間距、降低耦合長度、降低路徑特性阻抗和增加短路過孔的防護(hù)布線等優(yōu)化方式。

3.2.3 輻射仿真

電磁兼容(Electro-magnetic compatibility,EMC)仿真提供了一個(gè)可添加單一驅(qū)動(dòng)輸出網(wǎng)絡(luò)的輻射狀況,模擬天線的輻射發(fā)射場。實(shí)驗(yàn)中設(shè)置天線距離PCB 長度3 m,得到DATA0 網(wǎng)絡(luò)的輻射仿真結(jié)果如圖7 所示。本實(shí)驗(yàn)中選擇的200 MHz 頻率上受輻射較小,證明PCB 設(shè)計(jì)在200 MHz 頻率上可提供較強(qiáng)的抗輻射性。

圖7 DATA0 網(wǎng)絡(luò)的輻射仿真測試結(jié)果Fig.7 Radiation simulation test results of DATA0 network

3.3 軟件測試結(jié)果分析

實(shí)驗(yàn)采用Xilinx 公司商用EDA 工具Vivado 2018.3,PC與FPGA 芯片通過QSPI 模式互聯(lián)對(duì)軟件IP 核集成邏輯分析儀(Integrated logic analyzer,ILA)進(jìn)行觀察,分析其波形與實(shí)驗(yàn)結(jié)果。

3.3.1 存儲(chǔ)速度分析

將測試用數(shù)據(jù)寫入扇區(qū),持續(xù)5 min。通過Winhex 軟件觀察,記錄寫入數(shù)據(jù)的最后一個(gè)扇區(qū),與起始扇區(qū)之差為寫入的總扇區(qū)數(shù),通過此方法計(jì)算硬件測試寫入平均速度。通過DiskMark 軟件測試TF 卡的寫入速度記為軟件測試平均寫入速度。選用不同品牌的TF 卡,測試其寫入數(shù)據(jù)的性能,幫助驗(yàn)證TF 卡控制器的設(shè)計(jì)方案是否具有廣泛適用性,能否滿足實(shí)際需求,具體測試結(jié)果見表3。

表3 分別記錄了不同品牌、不同容量TF 卡的軟測和硬件的平均寫入速度。通過實(shí)驗(yàn)分析發(fā)現(xiàn),實(shí)際的存儲(chǔ)速率與理想存儲(chǔ)速率104 MB/s 仍有很大差距。通過觀察軟件IP 核ILA看出,數(shù)據(jù)的寫入狀態(tài)滿足CMD25 指令的連續(xù)寫要求,但寫入一定的數(shù)據(jù)量之后,TF 卡會(huì)處于一個(gè)相對(duì)長時(shí)間的“BUSY”狀態(tài),即data0 總線上返回大量周期的低電平,如圖8 紅圈部分所示。這是一個(gè)不可避免的過程,由TF 卡的寫入機(jī)制可知,寫入的數(shù)據(jù)暫存在TF 卡緩沖區(qū)當(dāng)中,等到緩沖區(qū)寫滿才會(huì)一次性寫入扇區(qū)中,在這個(gè)階段中,數(shù)據(jù)將無法寫入TF 卡,所以實(shí)際的存儲(chǔ)速率與理論值仍有一定差距。

表3 寫入速度記錄表Table 3 Writing speed record table

圖8 TF 卡BUSY 狀態(tài)示意圖Fig.8 Schematic diagram of BUSY state in TF card

分析軟件與硬件的平均測試速度發(fā)現(xiàn),硬件測試得到的平均寫入速度大體上要略高于軟件測試的平均寫入速度,說明通過直接寫扇區(qū)的操作能夠更大限度地提升TF 卡的寫入效率,提高寫入數(shù)據(jù)速度;并且部分TF 卡的寫入速度可超過60 MB/s,遠(yuǎn)高于已有的一些SD 卡控制器的設(shè)計(jì)方案。

3.3.2 數(shù)據(jù)可靠性分析

測試用數(shù)據(jù)由24 位寬加法器組成,由FPGA 計(jì)數(shù)實(shí)現(xiàn)。第一個(gè)數(shù)據(jù)是24 位“0x000001”,最后一個(gè)是24 位“0x00003ff”,一組數(shù)據(jù)由1 024 組16 進(jìn)制數(shù)據(jù)構(gòu)成。通過寫入已知的實(shí)驗(yàn)數(shù)據(jù)可方便后期驗(yàn)證是否存在混亂、誤碼與丟失,具體結(jié)果如圖9 所示。每次寫完一個(gè)循環(huán)后,寫入一組“0xaabbccddeeff”的數(shù)作為幀尾,方便對(duì)數(shù)據(jù)的快速定位與查找。

圖9 測試數(shù)據(jù)結(jié)果Fig.9 Test data results

圖9 結(jié)果表明,本數(shù)據(jù)塊內(nèi)數(shù)據(jù)的寫入保持連續(xù),數(shù)據(jù)塊的銜接上也保持連續(xù),與理論分析的結(jié)果相同,通過連續(xù)10、20、30 min 寫數(shù)據(jù)系統(tǒng)測試表明,測試結(jié)果與圖9 所示相同,并且無誤碼,說明測試得到的數(shù)據(jù)準(zhǔn)確度較高,寫入系統(tǒng)性能穩(wěn)定,具備長時(shí)間數(shù)據(jù)寫入能力。

4 結(jié)束語

本文采用Xilinx 公司的Artix-7 系列FPGA 與SD 協(xié)會(huì)3.0 版本協(xié)議實(shí)現(xiàn)對(duì)SD(TF)卡的數(shù)據(jù)寫入。采用前期PCB 設(shè)計(jì)、電路板制作、FPGA 代碼編寫調(diào)試等實(shí)現(xiàn)流程。通過設(shè)計(jì)與實(shí)現(xiàn),得到以下結(jié)論:

(1)通過FPGA 芯片實(shí)現(xiàn)SD(TF)卡控制器的方案具有一定的可行性,自主設(shè)計(jì)的采集卡體積小,集成度高,通過PCB 的板級(jí)信號(hào)完整性驗(yàn)證設(shè)計(jì)得到的控制板性能穩(wěn)定。

(2)使用Verilog 語言完成SD(TF)卡控制器的RTL 實(shí)現(xiàn)方案,將24 bit 位寬數(shù)據(jù)經(jīng)過DDR3、RAM、FIFO、一級(jí)緩存等級(jí)聯(lián)存儲(chǔ)介質(zhì)送入二級(jí)緩存中與TF 卡直接對(duì)接,通過數(shù)據(jù)流程狀態(tài)機(jī)的控制將數(shù)據(jù)寫入TF 卡,通過方案對(duì)比這一RTL 級(jí)流程無差錯(cuò)、無數(shù)據(jù)混亂,并且數(shù)據(jù)發(fā)送速率最快,可靠性最高。

(3)經(jīng)過測試,寫扇區(qū)的方式比寫文件速度略快,通過驗(yàn)證不同TF 卡的寫入速度選擇速度合適的TF 卡作為存儲(chǔ)介質(zhì),滿足對(duì)于寫入速度60 MB/s 的最低需求,長時(shí)間測試性能穩(wěn)定。

(4)此TF 卡控制器適用于所有支持SD3.0 協(xié)議的TF 卡,具有一定的普適性。

與主流的ARM 實(shí)現(xiàn)SD(TF)卡控制器方案不同,本實(shí)驗(yàn)選擇處理速度更快的FPGA 作為核心控制芯片,通過調(diào)用其內(nèi)部豐富的資源與IP 核完成靈活的方案設(shè)計(jì)。該方案更利于模塊化的實(shí)現(xiàn),方便后續(xù)功能的擴(kuò)展,提高了系統(tǒng)的集成度,為小型化存儲(chǔ)實(shí)驗(yàn)提供了有效的解決方案。

猜你喜歡
采集卡校驗(yàn)時(shí)鐘
高精度AD采集卡性能測試及評(píng)價(jià)方法研究
中國測試(2022年2期)2022-03-19 09:57:30
別樣的“時(shí)鐘”
古代的時(shí)鐘
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
面向數(shù)控機(jī)床的多通道傳感數(shù)據(jù)采集卡設(shè)計(jì)
有趣的時(shí)鐘
并行高速采樣在地震物理模擬采集中的應(yīng)用
時(shí)鐘會(huì)開“花”
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
電子器件(2015年5期)2015-12-29 08:43:12
大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
電測與儀表(2015年1期)2015-04-09 12:03:02
汝州市| 永昌县| 东乡县| 安阳市| 朔州市| 田东县| 阿拉尔市| 中江县| 浑源县| 阿拉善左旗| 台湾省| 黄浦区| 确山县| 岳阳县| 江永县| 炎陵县| 寿光市| 随州市| 闽清县| 普兰店市| 台安县| 昆明市| 中方县| 四平市| 都江堰市| 竹溪县| 城市| 柳州市| 牡丹江市| 柯坪县| 武城县| 西畴县| 深泽县| 凤阳县| 恩平市| 临洮县| 阳城县| 大城县| 清徐县| 鸡西市| 密云县|