sd卡传输数据到sd卡 索尼emc不过一般调整哪里

STM32与SD卡通信分层思考
> STM32与SD卡通信分层思考
STM32与SD卡通信分层思考
  最近做了一些&&和通信的一些思考,一直以来SD的驱动和应用困扰了我很久,寒假的时候看到SD简化版物理层协议的时候就傻掉了,看到SD的驱动快3000行的代码也动摇了。这几天几种地看了一下的相关内容,总结了一些体会,感觉也没有那么恐怖了。我决定从分层上来讨论SD的驱动和应用,因为这样可以构建一个清晰的逻辑,且不知哪位计算机大师曾说过:一切计算机问题都可以用分层的方法来解决。本文引用地址:
  我自己把从驱动到应用共分为4层,从下至上依次为:驱动层、物理层、文件系统层、应用层。下面一一来介绍各层的一些重要的操作。
  1)驱动层
  驱动层,对应到ST的库,就是stm32f10x_sdio.c/.h这个两文件。其实使用任何一个的外设,只要用库函数都离不开这一对互相对应的.c/.h文件。对于SDIO外设来说,它就是用来操作寄存器的,由于涉及ST库函数的编写,没能力参透,在此不赘述它的实现过程。
  2)物理层
  这一层可以说是承上启下的一层,下接驱动层,用于操作寄存器,上接文件系统层,用于统一管理文件,可谓整个SD驱动的核心代码。其实,如果对于SD的要求不高,可以直接在这一层上面进行文件操作,只是没有文件系统操作起来实在不便。之所以叫物理层是因为这一部分的代码主要参考了&SD卡物理层简化协议&这样一个东西。这个协议规定了控制器对SD卡操作的各种指令的格式和操作时序。这一层对应了源代码中的sdio_sdcard.c/.h这两个文件,那么它主要实现了什么功能呢?这一层最重要的一个函数就是SD_Init()&&SD卡的初始化函数。这函数包括了SD卡的上电、识别、卡初始这三个重要步骤,分别对应两个子函数&&SD_PowerOn、SD_InitializeCards(),而SD_InitializeCards()的返回值包含了卡的类型信息。这两个子函数的实现则是通过STM32内置的SDIO控制器发送CMD命令完成,这个命令的发送要严格遵守SD协议的流程图,而且要及时进行标志位判断,否则很容易程序跑飞了。发送CMD命令是通过填写SDIO_CmdInitStructure这个结构体完成的。举个例子:
  SDIO_CmdInitStructure.SDIO_Argument = 0x00;
  SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD;
  SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_S
  SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
  SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_E
  这个结构体包含了五个参数,从上至下分别控制的是:参数、命令索引、响应格式、是否等待、硬件流控制。填写了五个结构体也就也就配置好了一个CMD命令格式,使用SDIO_SendCommand()函数发送命令即可。当然,这一层还包含了一些其他外设的初始化&&NVIC(配置中断向量优先级)、GPIO(配置了SD插槽的IO口)、DMA(使用DMA模式传输)。总结一下这部分就是主机(STM32)用CMD命令控制了SD卡,所以说在这一层上就已经可以直接调用函数来进行初始化、读写操作了。那么为什么又会有文件系统层呢?
  3)文件系统层
  它的存在就是用来管理文件的。一个SD卡,现在普通的8个G,要是直接使用物理层来操作,就要操作人来记住好多文件的地址、长度等等,这些事情本来就是计算机可以完成的,所以人们就发明了文件系统这么个东西,用来管理大容量储存设备,在文件系统之上来进行操作,整个格局就显得很大了,也更高端大气上档次,否则调用个文件就要写个地址,什么0x20000f54之类的,用的人不得疯了。说了这么多,文件系统的作用就是一个管理层,下接SD的物理层,用来发送各种CMD操作SDIO控制器的寄存器,上承应用函数,封装好了由开发人员自由调用,可以说也是承上启下的关键代码。而且很幸运的是已经有人替你写好了这个代码的绝大部分,你只需要进行适量的修改就能为你所用,搭建起一个文件系统来。FATFS就是在一个很遥远的地方的好心人已经替你写好的东西,这东西通用性很强,与驱动层完全脱离,留下了一些接口函数,往哪个平台上移植,就填写相应的接口函数即可。这个接口连接了SD卡的物理层和文件系统的操作函数。这一层对应的ff.c/.h文件由于也是很遥远的大神编写的,参透不能。故在此不讲怎么实现。
  4)应用层
  这一层应该是硬件开发人员发挥的一层,因为对应的平台不同,这一层的接口函数填写就完全不同。应用层就是由上一层(文件系统层)留下的各种接口构成,我们填写了接口函数,就可以直接跑文件系统了。怎么写接口函数呢?FATFS在留接口时除了留下了函数名,还留下了参数以及参数对应的功能和格式。帮助文件中有对应接口函数要实现的功能,其实不用查帮助文件通过接口函数的名字也能猜到,比如disk_read就是读盘。这个接口函数要实现读盘功能,就得调用在物理层写下的各种函数,如SD_ReadBlock(),只要注意子函数与母函数调用参数要一致就行,这个一致性就需要开发人员充分理解函数参数功能了。这部分代码很少,编写起来也不是很难,就是要注意记得判断标志位。
  至此,SD的操作函数就已经被封装好了,只需要查询FATFS中各种操作函数的功能既可以调用它。
  SD驱动还有很多问题没有搞清楚,之前只是对着源码单步调试,看了看功能实现过程,接下来就准备动手移植文件系统试试了,希望能成功。SD驱动做起来还是很有意思的,通过它与其他外设,比如MP3模块或液晶屏模块连接可以实现歌曲播放和图片显示,还是颇有成就感。以前在用电子产品的时候没想到想听首歌看张图这么复杂,从0101的最原始编码到我们看到听到的模拟信号经过了这么多道的工序,想起来也只得感叹人类智慧的无穷尽也。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
EMC内部重大调整:统一存储与数据保护部门合并
合并 数据保护
  公司正着手对其部门结构进行大刀阔斧地合并与重组,如今VMAX/VNX统一运营部门与DPAD(即数据保护部门)将共同构建起全新的核心技术部门。
  此次建立的新部门将由DPAD现任总裁Guy Churchward负责统领。XtremIO产品也将在号这一新年伊始的重要时刻投身于新部门帐下。
  EMC公司此前就曾经将ViPR业务转移至CJ Desai负责的新兴技术部门当中,从而彻底结束了前者及其相关产品以独立地位进行运营的局面。
  将所有主要存储与数据产品划归为同一部门的下辖资产能够更好地实现不同存储阵列之间的扩展与统一机制。ProtectPoint在这方面同样有所提及。根据我们得到的消息,客户在接纳XtremIO全闪存阵列时表现出的热情与积极性令EMC公司感到颇为惊讶。
  Desai的新兴技术部门在此之后也将拥有丰富的产品积累,其中包括ScaleIO、混合云、存储、Isilon以及ViPR等――即各类互补性及非主要存储产品。
  以上属于EMC联邦架构当中的EMC信息基础设施(简称EMC II)公司,由CEO David Goulden负责管理工作,Pivotal与RSA则不在此范畴之内。
  根据该公司产品业务负责人Jeremy Burton(即EMC公司产品与市场营销部门总裁)的说法,EMC II现在已经经过组织调整,在架构上基本遵循其主要客户购买产品时采取的流程。核心买家的关注重点主要集中在存储与数据保护产品身上,而应用程序/业务线的买家们则更重视具备功能的向外扩展归档机制(配合HDFS的Isilon)、软件定义存储(ViPR)以及其它一些相关解决方案。
  Isilon产品的客户开始提出要求,希望能在该系列阵列方案中找到更多与对象及HDFS访问相关的功能特性。
  目前负责管理VMAX/VNX业务的高管人员Brian Gallagher正着手推进一个云管理与协调项目。他所构建的团队将主要进行基础设施技术方案的开发工作,旨在确保应用程序在由多套混合云体系进行代理时能够继续提供一致性服务表现。
  被EMC所收购的Cloudscaling也可能成为Gallagher运营体系下的一大组成部分。
  就在上述调整正式公布之前不久,David Goulden刚刚被任命为EMC II公司全职CEO,而此次变更也给EMC II下辖的各个部门带来了影响。经过组织结构调整之后,营销团队的执行效率应该能够更上一层楼,而产品开发也将在技术实力与推进速度方面得到强化。
  就目前的情况看,CTD(即核心技术部门)将成为EMC II麾下规模最为庞大的盈收获取手段,而部门总裁也将因此获得与之相符的崇高地位与显赫权利。
  此次结构变更还表明,尽管激进派投资方埃利奥特资本管理公司一直在催促将拆分出去并且/或者让EMC做好接受来自等潜在供应商买家的整体收购邀请的准备,但EMC的内部业务仍然照常运转、并未因此受到负面干扰。而且从当前形势分析,惠普也如同渡渡鸟一般面临着极为艰难的生存挑战。
相关文章:
[ 责任编辑:杨瑗嘉 ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte逻辑分析仪在SD卡中的应用
> 逻辑分析仪在SD卡中的应用
逻辑分析仪在SD卡中的应用
1.引言本文引用地址:我们现在处在信息时代里,数码相机,笔记本电脑等电子设备都已进入千家万户。而这些都离不开存储设备。存储设备在从选数管,到打孔卡、硒鼓、光盘、软盘、磁带、固态硬盘等的变迁中,有一位成员脱颖而出&&它就是卡。卡以大容量,低功耗,小巧轻便,热插拔,价格便宜等特点,在如今的移动存储中占有重要的地位,比如现在的笔记本电脑、数码相机、mp4等数码产品,都无一例外的带有卡读卡器接口,方便用户使用。今天我们就以广州致远电子出品的系列产品LAB7504为例,介绍其在SD卡设计中的。2.SD卡简介SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(支持四位宽的并行传输)。表1介绍了数据率与模式的关系。SD模式的总线拓扑结构为:一个主机(如微控制器)、多个从机(卡)和同步的星形拓扑结构。所有卡共用时钟CLK、电源和地信号。而命令线(CMD)和数据线(DAT0~DAT3)则是卡的专用线,即每张卡都独立拥有这些信号线。表2介绍了SD模式下的信号功能。在SPI模式下,主机使用SPI总线访问卡,微控制器在卡上电后的第1个复位命令就可以选择卡进入SD模式或SP I模式,但在卡上电期间,它们之间的通信模式不能更改为SD模式。表3介绍了SPI模式下的信号功能。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一21ic官方微信-->
后使用快捷导航没有帐号?
查看: 3809|回复: 9
SD卡利用verilog读取成功
&&已结帖(0)
主题帖子积分
实习生, 积分 26, 距离下一级还需 24 积分
实习生, 积分 26, 距离下一级还需 24 积分
主题帖子积分
专家等级:结帖率:50%
主题帖子积分
实习生, 积分 26, 距离下一级还需 24 积分
实习生, 积分 26, 距离下一级还需 24 积分
经过一段时间的写和改,终于可以读取指定地址中SD卡数据。如下一个为用winhex查看的数据
一个读取出来的数据。
在这里主要是利用上一个帖子中的模块,时钟产生之类的,在NOIS中只是用作控制,因为用NIOS软核做控制很方便。而利用verilog模块进行接口转换和数据传输比较直接。
在这里读取采用的频率为50M的时钟进行四分频,也就是12.5M,在之前sandisk的数据手册中说到2G的SD卡初始化的速度不应超过400K,在这里我从200K一直到12.5M都进行测试过,都可以顺利完成初始化和数据的读取。
在之前也研究过文件系统,已经可以读取指定的文件,我下面要做的工作是接着完善之前文件系统的程序,使之能够更好得用到我现有的硬件中。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
高级工程师, 积分 6304, 距离下一级还需 1696 积分
高级工程师, 积分 6304, 距离下一级还需 1696 积分
主题帖子积分
专家等级:结帖率:23%
主题帖子积分
高级工程师, 积分 6304, 距离下一级还需 1696 积分
高级工程师, 积分 6304, 距离下一级还需 1696 积分
鄙视电工就是鄙视全人类的智慧;抛弃电子就是毁灭文明,人类将回到刀割火种的时代
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:20.00
主题帖子积分
恭喜。谢谢啦。
& && && && && && && &2014, 追逐梦想
主题帖子积分
资深技术员, 积分 421, 距离下一级还需 79 积分
资深技术员, 积分 421, 距离下一级还需 79 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 421, 距离下一级还需 79 积分
资深技术员, 积分 421, 距离下一级还需 79 积分
请问一下,我用stm32做的sd卡控制,spi方式操作,
对sd卡的初始化都对了,就是读取sd卡指定扇区的数据时,读出的数据和用winhex查看的数据不匹配,完全是乱的,我发了CMD17后收到0xfe后,再接受数据的,
还记得那只蜡,那副花,那只笔,和那双手的温度,我没有哭,没有笑,也没有了你,未曾相逢,才是最好的开始,没有结果,才是最美满的结束.......
主题帖子积分
资深工程师, 积分 16330, 距离下一级还需 3670 积分
资深工程师, 积分 16330, 距离下一级还需 3670 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深工程师, 积分 16330, 距离下一级还需 3670 积分
资深工程师, 积分 16330, 距离下一级还需 3670 积分
顶一个& &谢谢了&&很不错& &哦呵呵& &谢谢共享& &哦呵呵
微软CEO史蒂夫·鲍尔默:不要激情,要有韧性
电子设计的灵魂是知识,坚持做技术,共勉
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
很不错的东西
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
不错,谢谢分享,详细点就好了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
真的哦,想用Verilog写,但是很怕用FIFO,经常出问题。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 472, 距离下一级还需 28 积分
资深技术员, 积分 472, 距离下一级还需 28 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
资深技术员, 积分 472, 距离下一级还需 28 积分
资深技术员, 积分 472, 距离下一级还需 28 积分
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
请问一下,我用stm32做的sd卡控制,spi方式操作,
对sd卡的初始化都对了,就是读取sd卡指定扇区的数据时, ...
STM读取的是物理扇区&&
WINHX显示的是逻辑扇区
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
无冕之王奖章
等级类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
涓涓之细流
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
核心会员奖章
等级类勋章
时间类勋章
技术新星奖章
人才类勋章
热门推荐 /2EMC 磁环的工作原理及应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
EMC 磁环的工作原理及应用
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 sd卡传输速率 的文章

 

随机推荐