欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于FPGA的SD卡測試系統(tǒng)及方法與流程

文檔序號:12888624閱讀:1112來源:國知局
一種基于FPGA的SD卡測試系統(tǒng)及方法與流程

本發(fā)明涉及測試技術(shù)領(lǐng)域,特別涉及一種基于fpga的sd卡測試系統(tǒng),還涉及一種基于fpga的sd卡測試方法。



背景技術(shù):

隨著信息時代的到來,智能手機也成了人們辦公、交流、娛樂的工具,伴隨而來的就是大量手機軟件的出現(xiàn),這對各種移動設備的存儲要求更高了,而sd(securedigitalmemorycard)卡作為大容量存儲器得到了越來越廣泛地應用。

sd卡的性能好壞直接關(guān)系到人們生產(chǎn)和生活中正在進行的工作的安全性和可靠性,一方面由于閃存卡和u盤的結(jié)構(gòu)簡單、技術(shù)門檻低,并且有大量的閃存顆粒殘次品銷往中國;另一方面正品廠家由于移動存儲產(chǎn)品的利潤單薄,減少打假投入,這些主觀和客觀因素都造成偽劣閃存卡和u盤的泛濫成災。所以,sd卡的性能驗證和測試就顯得尤其重要。

目前,測試sd卡的方式主要有兩種,一種是使用sd卡控制器的電路模塊或相應芯片,比如sd卡讀卡器;第二種是將i/o口直接與sd卡接口進行連接,從而用軟件模擬sd卡的時序來控制其讀寫,比如一些單片機有專門的sd卡接口。

使用專用的sd卡控制芯片的方式增加了電路的復雜度,提高了設計成本。而直接用軟件測試雖然降低了成本和復雜度,但是傳輸速率不高,無法滿足高速率連續(xù)測試。



技術(shù)實現(xiàn)要素:

為解決上述現(xiàn)有技術(shù)的不足,本發(fā)明提出了一種基于fpga的sd卡測試系統(tǒng)及方法,不僅可以對sd卡讀寫測試,還可以對sd卡進行單條指令測試和誤碼測試。

本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:

一種基于fpga的sd卡測試系統(tǒng),fpga內(nèi)部控制電路包括時鐘發(fā)生與管理模塊、prbs圖形發(fā)生模塊、發(fā)送模塊、接收模塊、命令控制模塊、數(shù)據(jù)處理模塊、序列同步模塊以及接口控制模塊;

fpga通過接口控制模塊接收上位機的命令,并將命令或者數(shù)據(jù)送至數(shù)據(jù)處理模塊;

數(shù)據(jù)處理模塊判斷命令后進行下一步操作,當正常發(fā)送接收測試和命令測試時,prbs圖形發(fā)生模塊以及序列同步模塊不使能,接收數(shù)據(jù)直接由接收模塊發(fā)送至數(shù)據(jù)處理模塊;當上位機選擇誤碼測試時,prbs圖形發(fā)生模塊與序列同步模塊啟用。

可選地,對sd卡單條指令測試分為兩個階段:第一個階段為初始化階段,第二個階段為數(shù)據(jù)傳輸階段。

可選地,所述初始化階段具體過程如下:

步驟1:fpga先發(fā)送cmd0命令;

步驟2:fpga發(fā)送cmd8命令,等待sd卡響應;若超時后無響應,fpga返回狀態(tài)字0x01,并進行步驟3;若響應正確,則fpga進行步驟3;若響應錯誤,則fpga返回狀態(tài)字0x02,停止測試;

步驟3:fpga發(fā)送cmd55+acmd41命令等待sd卡響應;如果無響應,則fpga返回狀態(tài)字0x03,停止測試;如果響應為busy,則fpga重復步驟3;如果響應為ready,則進行步驟4,并根據(jù)狀態(tài)存儲器中狀態(tài)字判斷出sd卡的類型;

步驟4:fpga發(fā)送cmd2命令等待響應;無響應,則fpga返回狀態(tài)字0x04,停止測試;有響應,則fpga存儲響應值,該響應值為sd卡的cid信息,然后進入步驟5;

步驟5:fpga發(fā)送cmd3命令等待響應;無響應,則fpga返回狀態(tài)字0x05,停止測試;有相應,則fpga存儲響應值,該響應值為卡的相對地址,在傳輸階段需要用到該值,然后進入步驟6;

步驟6:初始化階段完成進入數(shù)據(jù)傳輸階段,等待上位機指令。

可選地,所述數(shù)據(jù)傳輸階段完全由上位機發(fā)送操作指令,fpga控制實現(xiàn)sd卡測試;

上位機操作包括傳輸速率選擇、sd卡模式選擇、誤碼測試以及prbs碼型選擇;

fpga中的數(shù)據(jù)處理模塊進行數(shù)據(jù)的傳輸以及狀態(tài)判斷,上位機根據(jù)狀態(tài)字顯示狀態(tài)。

可選地,所述時鐘發(fā)生與管理模塊測試sd卡在不同傳輸速率下的性能;

上位機設置好傳輸速率后將控制字發(fā)送至下位機,時鐘發(fā)生與管理模塊根據(jù)控制字產(chǎn)生所需要的時鐘發(fā)送至sd卡的時鐘引腳;在不同速率下選擇相同的prbs序列,經(jīng)過相同一段時間后根據(jù)誤碼率判斷傳輸性能。

本發(fā)明還提出了一種基于fpga的sd卡測試方法,fpga內(nèi)部控制電路包括時鐘發(fā)生與管理模塊、prbs圖形發(fā)生模塊、發(fā)送模塊、接收模塊、命令控制模塊、數(shù)據(jù)處理模塊、序列同步模塊以及接口控制模塊;

fpga通過接口控制模塊接收上位機的命令,并將命令或者數(shù)據(jù)送至數(shù)據(jù)處理模塊;

數(shù)據(jù)處理模塊判斷命令后進行下一步操作,當正常發(fā)送接收測試和命令測試時,prbs圖形發(fā)生模塊以及序列同步模塊不使能,接收數(shù)據(jù)直接由接收模塊發(fā)送至數(shù)據(jù)處理模塊;當上位機選擇誤碼測試時,prbs圖形發(fā)生模塊與序列同步模塊啟用。

可選地,對sd卡單條指令測試分為兩個階段:第一個階段為初始化階段,第二個階段為數(shù)據(jù)傳輸階段。

可選地,所述初始化階段具體過程如下:

步驟1:fpga先發(fā)送cmd0命令;

步驟2:fpga發(fā)送cmd8命令,等待sd卡響應;若超時后無響應,fpga返回狀態(tài)字0x01,并進行步驟3;若響應正確,則fpga進行步驟3;若響應錯誤,則fpga返回狀態(tài)字0x02,停止測試;

步驟3:fpga發(fā)送cmd55+acmd41命令等待sd卡響應;如果無響應,則fpga返回狀態(tài)字0x03,停止測試;如果響應為busy,則fpga重復步驟3;如果響應為ready,則進行步驟4,并根據(jù)狀態(tài)存儲器中狀態(tài)字判斷出sd卡的類型;

步驟4:fpga發(fā)送cmd2命令等待響應;無響應,則fpga返回狀態(tài)字0x04,停止測試;有響應,則fpga存儲響應值,該響應值為sd卡的cid信息,然后進入步驟5;

步驟5:fpga發(fā)送cmd3命令等待響應;無響應,則fpga返回狀態(tài)字0x05,停止測試;有相應,則fpga存儲響應值,該響應值為卡的相對地址,在傳輸階段需要用到該值,然后進入步驟6;

步驟6:初始化階段完成進入數(shù)據(jù)傳輸階段,等待上位機指令。

可選地,所述數(shù)據(jù)傳輸階段完全由上位機發(fā)送操作指令,fpga控制實現(xiàn)sd卡測試;

上位機操作包括傳輸速率選擇、sd卡模式選擇、誤碼測試以及prbs碼型選擇;

fpga中的數(shù)據(jù)處理模塊進行數(shù)據(jù)的傳輸以及狀態(tài)判斷,上位機根據(jù)狀態(tài)字顯示狀態(tài)。

可選地,通過時鐘發(fā)生與管理模塊測試sd卡在不同傳輸速率下的性能;上位機設置好傳輸速率后將控制字發(fā)送至下位機,時鐘發(fā)生與管理模塊根據(jù)控制字產(chǎn)生所需要的時鐘發(fā)送至sd卡的時鐘引腳;在不同速率下選擇相同的prbs序列,經(jīng)過相同一段時間后根據(jù)誤碼率判斷傳輸性能。

本發(fā)明的有益效果是:

(1)可以對sd卡進行單條指令測試;

(2)靈活性高,可以逐條指令測試sd卡,而且滿足長時間高速測試要求。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明的一種基于fpga的sd卡測試系統(tǒng)的原理框圖;

圖2為本發(fā)明的fpga內(nèi)部控制電路結(jié)構(gòu)圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明涉及sd卡的測試系統(tǒng)及測試方法,不僅可以對sd卡讀寫測試,還可以對sd卡進行單條指令測試和誤碼測試。本發(fā)明使用fpga代替專用芯片,靈活度高,滿足高速率測試,而且可以對sd卡進行單條指令測試,讀寫測試時還可以插入偽隨機序列,測試系統(tǒng)的誤碼率。

如圖1所示,本發(fā)明的sd卡測試系統(tǒng)通過fpga發(fā)送控制命令至sd卡,將接收到的命令響應或者數(shù)據(jù)經(jīng)過分析后上傳至上位機顯示。其中,硬件部分采用3u大小的pci板卡結(jié)構(gòu),上位機操作系統(tǒng)為win7。

如圖2所示,本發(fā)明的fpga內(nèi)部控制電路主要包括時鐘發(fā)生與管理模塊、prbs圖形發(fā)生模塊、發(fā)送模塊、接收模塊、命令控制模塊、數(shù)據(jù)分析模塊、序列同步模塊以及pci9054接口控制模塊。

fpga通過接口控制模塊接收上位機的命令,并將命令或者數(shù)據(jù)送至數(shù)據(jù)處理模塊。

數(shù)據(jù)處理模塊判斷命令后進行下一步操作,當正常發(fā)送接收測試和命令測試時,prbs模塊以及序列同步模塊不使能,接收數(shù)據(jù)直接由接收模塊發(fā)送至數(shù)據(jù)處理模塊;當上位機勾選誤碼測試功能時,prbs模塊與序列同步模塊啟用。

對sd卡單條指令測試主要分為兩個階段:第一個階段為初始化階段,第二個階段為數(shù)據(jù)傳輸階段。

初始化階段需要按照順序操作,具體過程如下:

步驟1:fpga先發(fā)送cmd0命令。

步驟2:fpga發(fā)送cmd8命令,等待卡響應;若超時后無響應返回狀態(tài)字0x01(若超時后無響應,fpga返回狀態(tài)字0x01),并進行步驟3;若響應正確則進行步驟3;若響應錯誤則fpga返回狀態(tài)字0x02,停止測試;

步驟3:fpga發(fā)送cmd55+acmd41命令等待卡響應;如果無響應則fpga返回狀態(tài)字0x03,停止測試;如果響應為busy則重復步驟3;如果響應為ready,則進行步驟4,并根據(jù)狀態(tài)存儲器中狀態(tài)字判斷出卡的類型。

步驟4:fpga發(fā)送cmd2命令等待響應;無響應則fpga返回狀態(tài)字0x04,停止測試;有響應則fpga存儲響應值,該響應值為卡的cid信息,然后進入步驟5;

步驟5:fpga發(fā)送cmd3命令等待響應。無響應則fpga返回狀態(tài)字0x05,停止測試;有相應則fpga存儲響應值,該響應值為卡的相對地址,在傳輸階段需要用到該值。然后進入步驟6。

步驟6:初始化階段完成進入數(shù)據(jù)傳輸階段,等待上位機指令。

數(shù)據(jù)傳輸階段完全由上位機發(fā)送操作指令,fpga控制實現(xiàn)sd卡測試。上位機操作包括傳輸速率選擇、sd卡模式選擇、誤碼測試以及prbs碼型選擇等。fpga數(shù)據(jù)處理模塊主要進行數(shù)據(jù)的傳輸以及狀態(tài)判斷,上位機根據(jù)狀態(tài)字顯示狀態(tài),狀態(tài)字對應狀態(tài)如表1所示。

表1

測試sd卡在不同傳輸速率下的性能主要通過時鐘發(fā)生與管理模塊。上位機設置好傳輸速率后將控制字發(fā)送至下位機,時鐘發(fā)生與管理模塊根據(jù)控制字產(chǎn)生所需要的時鐘發(fā)送至sd卡的時鐘引腳。在不同速率下選擇相同的prbs序列經(jīng)過相同一段時間后根據(jù)誤碼率判斷傳輸性能。

本發(fā)明測試系統(tǒng)進行prbs誤碼測試的具體步驟如下:

步驟一:誤碼測試使能后,當fpga發(fā)送寫sd卡指令時,prbs序列發(fā)生器使能,同時比特計數(shù)器和字節(jié)計數(shù)器工作,每計數(shù)一個字節(jié)將數(shù)據(jù)發(fā)送至fifo;

步驟二:根據(jù)所選sd卡模式(單線或者四線),確定發(fā)送數(shù)據(jù)方式,選擇不同的并串轉(zhuǎn)換。單線用8轉(zhuǎn)1fifo實現(xiàn),四線用8轉(zhuǎn)4fifo實現(xiàn)。

步驟三:當字節(jié)計數(shù)計到512時(即sd卡一個block的字節(jié)數(shù))停止prbs序列發(fā)生器。

步驟四:fpga發(fā)送讀sd卡指令(要與寫指令中地址相同),同時啟動prbs接收。

步驟五:通過定時中斷將prbs接收對比結(jié)果(比特數(shù),誤碼數(shù))發(fā)送至上位機,上位機計算結(jié)果顯示。

說明:以上是sd卡單塊讀寫誤碼測試,連續(xù)測試時fpga發(fā)送連續(xù)讀寫命令即可。

本發(fā)明還提出了一種基于fpga的sd卡測試方法,其工作原理與上述測試系統(tǒng)相同,這里不再贅述。

本發(fā)明可以對sd卡進行單條指令測試,在數(shù)據(jù)收發(fā)時可以插入偽隨機序列進行誤碼測試;可以人工控制sd卡讀寫速率。

本發(fā)明靈活性高,可以逐條指令測試sd卡,而且滿足長時間高速測試要求;數(shù)據(jù)傳輸過程可插入偽隨機序列進行誤碼測試。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
综艺| 瑞安市| 永登县| 邳州市| 黔南| 九台市| 龙川县| 富川| 内丘县| 化隆| 江津市| 黔西县| 荣成市| 弋阳县| 化州市| 盱眙县| 疏附县| 焦作市| 天峻县| 明光市| 大同市| 襄樊市| 客服| 临泉县| 全椒县| 安达市| 金坛市| 法库县| 汾阳市| 沐川县| 铁岭县| 子长县| 正蓝旗| 璧山县| 石楼县| 河北省| 库伦旗| 阳泉市| 万盛区| 琼海市| 舟山市|