CN110764956A - 一种基于fpga的sd或mmc接口测试装置和方法 - Google Patents

一种基于fpga的sd或mmc接口测试装置和方法 Download PDF

Info

Publication number
CN110764956A
CN110764956A CN201910809634.4A CN201910809634A CN110764956A CN 110764956 A CN110764956 A CN 110764956A CN 201910809634 A CN201910809634 A CN 201910809634A CN 110764956 A CN110764956 A CN 110764956A
Authority
CN
China
Prior art keywords
data
soc
fpga
module
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910809634.4A
Other languages
English (en)
Other versions
CN110764956B (zh
Inventor
黄世凯
周敏心
林伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201910809634.4A priority Critical patent/CN110764956B/zh
Publication of CN110764956A publication Critical patent/CN110764956A/zh
Application granted granted Critical
Publication of CN110764956B publication Critical patent/CN110764956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种基于FPGA的SD或MMC接口测试装置和方法,装置包括FPGA,且所述FPGA与SOC的SD/MMC接口通过管脚对应连接;所述FPGA在接收到SOC的block读数据命令时,通过所述SD/MMC接口为SOC提供一串预定义的数据,供SOC将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;所述FPGA在接收到SOC的block写数据命令时,通过所述SD/MMC接口接受SOC写的一串数据,将该串数据与所述FPGA内部预定义的数据进行比较,得到写数据的测试结果。本发明通过FPGA逻辑搭建的虚拟SD卡,去掉了传统的卡座和SD卡,使硬件设计更加简单,而且有效降低了测试成本。

Description

一种基于FPGA的SD或MMC接口测试装置和方法
技术领域
本发明涉及一种基于FPGA的SD或MMC接口测试装置和方法。
背景技术
MMC:是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm×32mm×1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。
SD:是Secure DigitalMemory Card的缩写,即安全数码卡,也叫SD卡。它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。在数据传输和物理规范上,SD卡向前兼容了MMC卡,所有支持SD卡的设备也支持MMC卡。
SD卡根据卡的容量分为标准容量卡(SDSC,小于等于2GB),高容量卡(SDHC,大于2GB又不超过32GB),扩展容量卡(SDXC,大于32GB又不超过2TB),其中SDHC和SDXC支持速率级别,速率级别有5个,分别是Class 0(基本速率),Class 2(大于等于2MB/S),Class 4(大于等于6MB/S),Class 6(大于等于6MB/S),Class 10(大于等于10MB/S)。
当前的SOC(System On Chip)处理器都有至少一个的SDMMC接口,方便对容量进行扩展,所以在出厂前的FT(final test)测试中需要对这个接口进行测试,测试方法就是接上一张SD卡,使处理器识别这张卡并对这张卡读写数据,如果读写数据正确,那么SOC的SDMMC接口就满足要求。这样的测试方法缺点在于要采购大量的SD卡并且在硬件设计上需要留一个卡座来放置SD卡,这不利于降低测试成本。
发明内容
本发明要解决的技术问题,在于提供一种基于FPGA的SD或MMC接口测试装置和方法,使用FPGA逻辑搭建出一张基于SD3.0协议的虚拟SD卡,它可以自定义卡的信息、容量和速率级别,用SDMMC接口将FPGA与SOC处理器相连测试,无需SD卡和卡座就能完成测试。
本发明装置是这样实现的:一种基于FPGA的SD或MMC接口测试装置,包括FPGA,且所述FPGA与SOC的SD/MMC接口通过管脚对应连接;
所述FPGA在接收到SOC的block读数据命令时,通过所述SD/MMC接口为SOC提供一串预定义的数据,供SOC将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
所述FPGA在接收到SOC的block写数据命令时,通过所述SD/MMC接口接受SOC写的一串数据,将该串数据与所述FPGA内部预定义的数据进行比较,得到写数据的测试结果。
进一步的,所述FPGA包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;所述CMD处理模块分别连接所述命令响应模块和所述Block测试模块,所述命令响应模块还连接所述卡信息模块;且所述CMD处理模块通过管脚sdmmc_clk,管脚sdmmc_cmd,管脚sdmmc_data,和连接所述SD/MMC接口;
所述CMD处理模块根据命令的类型响应不同的数据,这些数据包括从卡信息模块提取的各种参数和卡状态参数;
所述命令响应模块根据命令的类型准备要响应的数据;
所述卡信息模块存有可供自定义的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息;
所述Block测试模块根据命令的类型为SOC提供一串预定义的数据供SOC判断读数据的测试结果,或接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。
进一步的,所述CMD处理模块还通过管脚sdmmc_det连接所述SD/MMC接口,当开始测试时,CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入。
本发明方法是这样实现的:一种基于FPGA的SD或MMC接口测试方法,使用FPGA逻辑搭建出一张基于SD3.0协议的虚拟SD卡,让所述FPGA与SOC的SD/MMC接口通过管脚对应连接;测试时:
SOC用block读数据命令通过所述SD/MMC接口读取所述FPGA中一串预定义的数据,将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
SOC用block写数据命令通过所述SD/MMC接口写一串数据至所述FPGA中,由所述FPGA与预定义的数据进行比较,得到写数据的测试结果。
进一步的,所述FPGA包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;
读数据测试时:
所述CMD处理模块接收来自SOC的block读数据命令,所述命令响应模块响应相应数据,包括从所述卡信息模块提取的各种参数;同时所述Block测试模块提供一串预定义的数据给SOC,供SOC与内部预定义的数据比较,得到读数据的测试结果;
写数据测试时:
所述CMD处理模块接收来自SOC的block写数据命令,所述命令响应模块响应相应数据,包括从所述卡信息模块提取的各种参数;同时所述Block测试模块接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。
进一步的,所述卡信息模块内的各种参数是由用户预先定义好的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息。
进一步的,在读数据测试或写数据测试开始时,所述CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入。
本发明具有如下优点:本发明通过FPGA逻辑搭建的虚拟SD卡,去掉了传统的卡座和SD卡,使硬件设计更加简单,而且有效降低了测试成本。另外,可以通过FPGA软件内部的逻辑分析仪功能将要观察的信号添加到图形界面上,有利于测试结束后进行问题的分析。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明MMC接口测试装置的整体连接结构示意图。
图2为本发明MMC接口测试装置的具体连接结构示意图。
具体实施方式
实施例一
为本发明基于FPGA的SD或MMC接口测试装置的实施例,请参阅图1所示,其包括FPGA,且所述FPGA与SOC的SD/MMC接口通过管脚对应连接;
所述FPGA在接收到SOC的block读数据命令时,通过所述SD/MMC接口为SOC提供一串预定义的数据,供SOC将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
所述FPGA在接收到SOC的block写数据命令时,通过所述SD/MMC接口接受SOC写的一串数据,将该串数据与所述FPGA内部预定义的数据进行比较,得到写数据的测试结果。
再如图2所示,所述FPGA进一步包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;所述CMD处理模块分别连接所述命令响应模块和所述Block测试模块,所述命令响应模块还连接所述卡信息模块;且所述CMD处理模块通过管脚sdmmc_clk,管脚sdmmc_cmd,管脚sdmmc_data,和连接所述SD/MMC接口。
具体的:
所述CMD处理模块根据命令的类型响应不同的数据,这些数据包括从卡信息模块提取的各种参数和卡状态参数;所述CMD处理模块以sdmmc_clk为时钟并且与sdmmc_cmd管脚相连,当开始测试时,CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入;
所述命令响应模块根据命令的类型准备要响应的数据;如果需要读取卡的参数,则从卡信息模块中读取,并传给CMD处理模块,通过sdmmc_cmd线发送给SOC;
所述卡信息模块存有可供自定义的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息;这些参数在卡的初始化过程中会被SOC读取到,虽然这些参数都可以由用户自行定义,但需要遵循协议规范。SOC通过一系列命令来读取这个模块的参数,为数据的传输做准备;
所述Block测试模块根据命令的类型为SOC提供一串预定义的数据供SOC判断读数据的测试结果,或接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。具体的,Block测试模块的数据是通过sdmmc_data进行传输,主要针对单block读写,多block读写,两者测试方法大体一致。测试的流程是SOC用block读数据命令从测试模块中读取到一串预定义的数据(数据可以自定义,是512个字节,跟SOC预先确定好即可),将这串数据与SOC内部预定义的数据比较,如果正确,说明读数据块是正常的。最后SOC通过block写数据命令写一串数据到本模块,本模块会将收到的数据与预定义的数据比较,结果通过test_status[7:0]反馈。
实施例二
结合图1所示,该实施例是本发明基于FPGA的SD或MMC接口测试方法的实施例,其使用FPGA逻辑搭建出一张基于SD3.0协议的虚拟SD卡,让所述FPGA与SOC的SD/MMC接口通过管脚对应连接;测试时:
SOC用block读数据命令通过所述SD/MMC接口读取所述FPGA中一串预定义的数据,将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
SOC用block写数据命令通过所述SD/MMC接口写一串数据至所述FPGA中,由所述FPGA与预定义的数据进行比较,得到写数据的测试结果。
其中,结合图2所示,所述FPGA包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;
读数据测试时:
所述CMD处理模块接收来自SOC的block读数据命令,所述命令响应模块响应相应数据,包括从所述卡信息模块提取的各种参数;同时所述Block测试模块提供一串预定义的数据给SOC,供SOC与内部预定义的数据比较,得到读数据的测试结果;
写数据测试时:
所述CMD处理模块接收来自SOC的block写数据命令,所述命令响应模块响应相应数据,包括从所述卡信息模块提取的各种参数;同时所述Block测试模块接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。
其中,所述卡信息模块内的各种参数是由用户预先定义好的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息。
在读数据测试或写数据测试开始时,所述CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入。
本发明具有如下优点:本发明通过FPGA逻辑搭建的虚拟SD卡,去掉了传统的卡座和SD卡,使硬件设计更加简单,而且有效降低了测试成本。另外,可以使用添加想要观察信号直接显示在图形界面上,有利于分析问题。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (7)

1.一种基于FPGA的SD或MMC接口测试装置,其特征在于:包括FPGA,且所述FPGA与SOC的SD/MMC接口通过管脚对应连接;
所述FPGA在接收到SOC的block读数据命令时,通过所述SD/MMC接口为SOC提供一串预定义的数据,供SOC将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
所述FPGA在接收到SOC的block写数据命令时,通过所述SD/MMC接口接受SOC写的一串数据,将该串数据与所述FPGA内部预定义的数据进行比较,得到写数据的测试结果。
2.根据权利要求1所述的一种基于FPGA的SD或MMC接口测试装置,其特征在于:所述FPGA包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;所述CMD处理模块分别连接所述命令响应模块和所述Block测试模块,所述命令响应模块还连接所述卡信息模块;且所述CMD处理模块通过管脚sdmmc_clk,管脚sdmmc_cmd,管脚sdmmc_data,和连接所述SD/MMC接口;
所述CMD处理模块根据命令的类型响应不同的数据,这些数据包括从卡信息模块提取的各种参数和卡状态参数;
所述命令响应模块根据命令的类型准备要响应的数据;
所述卡信息模块存有可供自定义的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息;
所述Block测试模块根据命令的类型为SOC提供一串预定义的数据供SOC判断读数据的测试结果,或接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。
3.根据权利要求2所述的一种基于FPGA的SD或MMC接口测试装置,其特征在于:所述CMD处理模块还通过管脚sdmmc_det连接所述SD/MMC接口,当开始测试时,CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入。
4.一种基于FPGA的SD或MMC接口测试方法,其特征在于:使用FPGA逻辑搭建出一张基于SD3.0协议的虚拟SD卡,让所述FPGA与SOC的SD/MMC接口通过管脚对应连接;测试时:
读数据测试时,SOC用block读数据命令通过所述SD/MMC接口读取所述FPGA中一串预定义的数据,将这串预定义的数据与SOC内部预定义的数据比较,得到读数据的测试结果;
写数据测试时,SOC用block写数据命令通过所述SD/MMC接口写一串数据至所述FPGA中,由所述FPGA与预定义的数据进行比较,得到写数据的测试结果。
5.根据权利要求4所述的一种基于FPGA的SD或MMC接口测试方法,其特征在于:所述FPGA包括CMD处理模块、命令响应模块、卡信息模块以及Block测试模块;
读数据测试时:
所述CMD处理模块接收来自SOC的block读数据命令,所述命令响应模块响应相应数据,该响应相应数据包括从所述卡信息模块提取的各种参数;同时所述Block测试模块提供一串预定义的数据给SOC,供SOC与内部预定义的数据比较,得到读数据的测试结果;
写数据测试时:
所述CMD处理模块接收来自SOC的block写数据命令,所述命令响应模块响应相应数据,该响应相应数据包括从所述卡信息模块提取的各种参数;同时所述Block测试模块接受SOC写的一串数据,并与预定义的数据比较得到写数据的测试结果。
6.根据权利要求5所述的一种基于FPGA的SD或MMC接口测试方法,其特征在于:所述卡信息模块内的各种参数是由用户预先定义好的参数,包括卡的容量,支持的速率级别,支持的数据位宽和厂家信息。
7.根据权利要求5所述的一种基于FPGA的SD或MMC接口测试方法,其特征在于:在读数据测试或写数据测试开始时,所述CMD处理模块会拉低sdmmc_det管脚,使SOC认为有SD卡插入。
CN201910809634.4A 2019-08-29 2019-08-29 一种基于fpga的sd或mmc接口测试装置和方法 Active CN110764956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910809634.4A CN110764956B (zh) 2019-08-29 2019-08-29 一种基于fpga的sd或mmc接口测试装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910809634.4A CN110764956B (zh) 2019-08-29 2019-08-29 一种基于fpga的sd或mmc接口测试装置和方法

Publications (2)

Publication Number Publication Date
CN110764956A true CN110764956A (zh) 2020-02-07
CN110764956B CN110764956B (zh) 2022-05-03

Family

ID=69329509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910809634.4A Active CN110764956B (zh) 2019-08-29 2019-08-29 一种基于fpga的sd或mmc接口测试装置和方法

Country Status (1)

Country Link
CN (1) CN110764956B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000612A (zh) * 2020-08-26 2020-11-27 中国科学技术大学 一种在嵌入式系统中使用fpga改进sd卡的方案

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070024271A1 (en) * 2005-06-29 2007-02-01 Saeed Azimi Integrated systems testing
CN101770817A (zh) * 2010-01-18 2010-07-07 华东师范大学 基于fpga的多接口存储器验证系统
CN201562021U (zh) * 2009-11-26 2010-08-25 深圳市同洲电子股份有限公司 一种sd卡接口的测试电路、测试卡及测试系统
CN103970665A (zh) * 2014-05-28 2014-08-06 广州视源电子科技股份有限公司 一种模拟spi flash的fpga系统及调试方法
CN106126380A (zh) * 2016-06-21 2016-11-16 福州瑞芯微电子股份有限公司 一种基于fpga的lvds接口测试方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070024271A1 (en) * 2005-06-29 2007-02-01 Saeed Azimi Integrated systems testing
CN201562021U (zh) * 2009-11-26 2010-08-25 深圳市同洲电子股份有限公司 一种sd卡接口的测试电路、测试卡及测试系统
CN101770817A (zh) * 2010-01-18 2010-07-07 华东师范大学 基于fpga的多接口存储器验证系统
CN103970665A (zh) * 2014-05-28 2014-08-06 广州视源电子科技股份有限公司 一种模拟spi flash的fpga系统及调试方法
CN106126380A (zh) * 2016-06-21 2016-11-16 福州瑞芯微电子股份有限公司 一种基于fpga的lvds接口测试方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000612A (zh) * 2020-08-26 2020-11-27 中国科学技术大学 一种在嵌入式系统中使用fpga改进sd卡的方案

Also Published As

Publication number Publication date
CN110764956B (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
CN103366794B (zh) 用于减少接脚数内存总线接口的装置及方法
CN102662897B (zh) 一种移动终端以及移动终端之间数据交互的方法
US8745304B2 (en) USB to SD bridge
CN101127026A (zh) 一种可移动存储卡的热插拔检测方法
CN112799985B (zh) Usb接口控制方法、usb控制电路及智能网联设备主板
CN108170620A (zh) 一种服务器用硬盘拓展系统及方法、硬盘信号增强方法
CN104217768B (zh) 一种eMMC内嵌式存储器的检测方法和装置
CN116450552B (zh) 基于i2c总线异步批量读写寄存器的方法及系统
CN111931442A (zh) Fpga内嵌flash控制器及电子装置
CN213069787U (zh) 记忆卡的读写控制系统
CN110764956B (zh) 一种基于fpga的sd或mmc接口测试装置和方法
CN103903651A (zh) 双线串行端口内建自测电路及其通讯方法
CN113270137A (zh) 一种基于fpga嵌入式软核的ddr2测试方法
US20080021695A1 (en) ROM emulator and ROM testing method using the same
CN112417802B (zh) 一种模拟存储芯片的方法、系统、设备及存储介质
CN110737552B (zh) 一种基于fpga的sfc接口测试设备与方法
CN108139993B (zh) 内存装置、内存控制器、数据缓存装置及计算机系统
Lu et al. The reading/writing SD card system based on FPGA
TWM592995U (zh) 記憶卡的讀寫控制系統
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN109815169A (zh) 一种存储设备及其存储链路自适应的方法
CN213182727U (zh) 记忆卡的读写控制系统
CN103150262B (zh) 管道式串行接口闪存访问装置
CN115454903A (zh) 一种接口拔插自动化操控装置及方法
CN111198837B (zh) 基于fpga的sdio接口系统、控制器桥接方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province

Patentee after: Ruixin Microelectronics Co.,Ltd.

Address before: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province

Patentee before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd.

CP01 Change in the name or title of a patent holder