版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 Nios II 软核处理器的SD卡接口设计(一) 0 引言 Altera公司开发的Nios II是基于可编程片上系统SOPC(System on a Programmable Chip)技术的32 位嵌入式处理器软核。Altera 公司开发的Nios II软核,可以直接放在FPGA中,它表达了把实现产品的全部单元电路集成到一个芯片之内的片上系统SOPC的思想。作为一种具有竞争力的技术,在国外已经有大量的产品使用了这种技术,在国内使用Nios II处理器开展嵌入式系统设计的开发者也越来越多,但是离大规模应用还有距离,应该得到更加广泛的关注。本文在实际的项目中需要使
2、用Nios II来开发存储系统,对于利用Nios II来开展嵌入式系统开发,还有许多工作需要去深入研究本文在开展存储系统项目开发的过程中,完成了基于FPGA的系统硬件软件设计。为了到达系统的设计目标,就需要对Nios II的SOPC技术开展深入的研究。还需要开展uClinux操作系统的移植,基于操作系统的SD卡数据读写,必然就要涉及到怎样编写驱动程序。本文先简单介绍操作SD卡的基本的硬件电路,接着给出了SD卡读写操作和驱动程序设计的基本过程。给出了全文的结论,本文给出的方法具有一定的普遍性,和实用性。 1系统硬件构造设计 1.1 SD卡 SD卡(Secure Digitgal Memory C
3、ard)即“安全数码存储卡”是由日本松下公司、东芝公司、美国SANDISK 等公司在MMC卡的根底上共同开发研究而推出的,是一种容量大、高性能、安全性好、访问接口简单的存储卡,得到了广泛的使用。使用的范围包括:MP3、数码摄像机和照相机产品、智能手机等消费类电子设备。当前很多微处理器在内部都集成了与SD卡通信的接口电路。 1.2 SD卡的特征 SD 卡的外形和接口触点如图1 所示。外形尺寸分为两种,分别为:24 mm * 32 mm * 2.1 mm 或24 mm * 32mm *1.4mm. 图1 SD 卡的形状和接口 微处理器和SD卡之间的接口电路,要符合一定的约定,这个在SD卡的读写操作
4、中,被称为通信协议。为了适应不同的通信协议,可以设置SD 卡使其工作在不同的通信模式之下。SD卡的通信模式分为两种,一种是所谓的SD模式,另一种是SPI模式。现在SPI通信模式得到越来越多的使用。在处理器和SD卡的通信过程中,和SD卡通信的处理器(称为主机),选择一种通信方式,但在通信的整个过程中不能改变通信模式。SD卡分析复位命令,以确定下面的通信采用什么模式,在接下来的时间内,通信双方要使用相同的通信模式。 当工作在SD模式下时,主机使用SD总线访问SD卡,使用多点总线拓朴构造。这种构造包括一个主机和多个从机(这里是指SD卡)。所有的SD卡共用一个时钟信号CLK、电源和地,命令线和数据线则
5、是属于每一SD卡所专用的。前面说到现在的微处理器都集成有硬件SPI接口,用于板内的芯片之间的操作非常方便。当设定工作在SPI模式下时,主机使用自身所带的SPI总线来访问SD卡。微处理器在个发给SD卡的复位命令中配置通信模式为SPI方式,当然在操作SD卡的通信期间,通信模式是不能更改为SD模式的。 1.3 SD卡内部构造 图2是SD卡的内部构造图,主机通过SD卡的接口控制器来控制SD内部的存储单元中的数据。这样设计的目的一方面是把SD卡内部的存储器和外部的操作隔离开来,利于保护内部的数据。另一方面也有利于内部存储器采用更新的工艺,而不影响外部的访问接口。 在使用微处理器来读写SD卡内的数据时,要
6、严格遵循通信协议。首先SD卡的数据传输的基本单位是字节。但是在SD卡的内部是以块为单位来组织数据的。对SD的数据读取操作本质上是以块为单位的。一个块的长度一般是2的幂,比方256字节或者512字节。在具体的数据传输中块的长度(以字节为单位)可以在传输数据之前的命令控制字中设置。至于SD卡所允许的块的长度可以读取SD卡的存放器CSD来确定。在SD卡内部有控制存放器和状态存放器,其中的4个存放器中存放着配置信息,比方RCA存放器中存放本次通信过程中由主机分配的地址。 1.4访问SD卡的硬件电路 SD卡采用SPI总线方式与处理器连接,其电路原理如图2所示。 图2 SD 卡接口电路图 1.5 Nios
7、II的构建过程 首先要考虑到的是使用什么样的Nios II,Nios II分为几个等级,有标准内核和高速内核。由于本系统对速度的要求并不高,设计时采用了标准的Nios II内核。在速度和所占用的资源方面具有比较好的折中。采用Altera公司的SOPC Builder工具来开展构建,生成一个Nios II的标准内核。 接着要对选中的Nios标准内核开展配置,这里要考虑的问题是如何如何分配片内存储器和片外存储器的使用。片内存储器的资源是很宝贵的,所以要先确定系统运行所需要的片内ROM或RAM,在满足性能的条件下,尽可能使用较少的片内存储器。 对于一个实际的系统,光有片内存储器一般是不够的,尤其是考
8、虑到要开展嵌入式操作系统的移植,所以还要增加片外存储器。Niso II通过Avalon总线和片外存储器以及外部设备连接。外部存储器件的类型包括SRAM、SDRAM、DDR2、Flash等,外部设备包括UART串行口等。本设计采用SDRAM. 接着是添加PIO端口,定义输入输出端口,主要的目的是用于Nios II读取数字量。Nios II所采用的时钟和FPGA 的时钟密切相关,一般是通过锁相环PLL 把外部输入的时钟开展倍频之后再送给Nios II来作为主频使用,同时外部设备也使用时钟信号。外部时钟信号为25MHz,而经过倍频后为50MHz. 至此,主要的配置过程就结束了。但是还是需要配置如下部
9、分: (1) 分配存储器和外部设备的基地址和中断请求优先级; (2) 设定NiosII处理器的启动地址,本设计把片内存储器设定为Nios II的启动地址。 (3) 在生成Nios系统时,可以选择生成Verilog语言还是VHDL 语言,本设计采用VHDL语言开展设计; (4) 生成的qsf文件,相当于整个工程的文件,但是关于配置管脚使用的部分,需要用户去生成。生成的方法可以在图形界面下配置,也可以通过写tcl文件的方法。写tcl文件的方法一般来讲,对于大型工程,还是比较方便的。 (5) 编译整个Nios系统,在Altera 提供的开发环境Quartus II 中开展编译。顶层设计文件可以使VHDL 也可以是原理图的形式。 (6) 采用JATG口开展,把生成的的SOF文件到FPGA里。 2系统软件设计 Altera公司为了用户方便使用Nios II来快速研制产品,提供了功能强大、易于使用的Nios II集成开发环境,与一般的嵌入式系统开发设计比较类似。在生成NiosII的过程中已经自动生成了需要使用的头文件(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宾馆防水合同范本
- 2025四川绵阳市中心医院合同制工勤人员招聘3人考试重点题库及答案解析
- 物流违约合同范本
- 针具交换协议书
- 铸铁产品合同范本
- 移动商务合同范本
- 银行转让协议合同
- 不接受调解协议书
- 延后起诉协议书
- 演出场地合同范本
- 2025春季学期国开电大本科《管理英语4》一平台机考真题及答案(第十四套)
- 协会财务支出管理制度
- 公司pmc述职报告
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 芳烃联合装置储运操作规程20130921
- 广东省工程勘察设计服务成本取费导则(2024版)
- CNAS GL027-2023 化学分析实验室内部质量控制指南-控制图的应用
- 《汽车文化(第二版)》中职全套教学课件
- 生命伦理学:生命医学科技与伦理 知到智慧树网课答案
- 23秋国家开放大学《汉语基础》期末大作业(课程论文)参考答案
- 关于建立英国常任文官制度的报告
评论
0/150
提交评论