基于NiosⅡ软核处理器下SD卡驱动设计

最新更新时间:2010-08-07来源: 电子设计工程关键字:NiosⅡ  Avalon总线  SD卡  驱动  HAL 手机看文章 扫描二维码
随时随地手机看文章

  近年来,基于FPGA的软核处理器以其高度的设计灵活性和低成本在嵌入式市场中得到重视并不断发展。其中具有代表性的软核处理器有Ahera的NiosⅡ处理器和Xilinx的MicroBlaze处理器。NiosⅡ处理器具有完全的可定制性,包括处理器的定制,外设的定制和接口的定制等;32位的NiosⅡ处理器具有超过200 DIMP的性能,而其成本只有同级别性能ARM处理器的l/10。此外,SD存储卡以其大容量和小尺寸的特点,成为市面上各种嵌入式消费产品最常见的存储媒介,探讨SD卡设备的设计具有广泛的应用价值。这里将结合NiosⅡ处理器的总线架构,分析SD卡的接口协议和驱动程序设计方法,并给出SD卡设备在NiosⅡ处理器的设计实例。

  1 NiOSⅡ处理器的Avalon总线架构

  Nios和NiosⅡ都使用了Avalon总线,这是一种交换式架构的片内总线。该总线形式和PCI、ISA等板间互连总线的最大区别在于:其主从设备之间有紧密耦合关系。Avalon总线架构中,由硬件设计人员通过SOPC Builder规定互连的主从设备(包括数据、控制信号、片选、地址的互连),不连接的设备之间是互相看不到的。每个Avalon主设备端有多路复用器,用来从多个从设备的数据总线中选择当前要访问的数据。图l为Avalon总线系统结构。

  Avalon接口用于提供描述主外设和从外设中基于地址读/写接口的基础,例如,微控制器、存储器、UART及定时器等。接口规范定义了外设和Avalon开关互联结构之间的数据传输。在没有主或从接口限制的情况下,规范的互联策略允许任何主外设连接到任何从外设;Avalon接口描述了一个可配置的互联策略,允许外设的设计者限制某种特定传输所需的信号类型。

  Avalon定义了5种传输方式:从端口传输、主端口传输、流水线读传输、流传输控制和三态传输。这里仅分析SD卡设备所使用的从端口传输方式。

  1.1 从设备信号

  从设备信号是与主设备相连接的一组信号端口,这里所针对的SD卡设备的Avalon从端口需定义的信号端口如表1所列。

  表l所列出的从设备信号只是这里所针对的SD卡设备所需要的信号,并不是从设备所支持的所有信号。对于其他从设备可根据其自身特点及需要来选择相应的信号接口。

  1.2 从端口读/写传输

  从端口读传输是主设备通过SD卡控制器对SD卡进行读取的操作,即读取SD卡的数据;从端口写传输是主设备通过SD卡控制器对SD卡进行写操作,即对SD卡写入数据。图2为从端口读/写信号时序。

  从端口读传输时,在时钟上升沿开始传输数据,并在下一个时钟上升沿完成传输。在clk的第1个上升沿,systeminterconnect fabric配合read、begintransfer信号将有效的address,byteenable和read信号传输给从端口,且system interconnect fabric在内部将address译码,产生并驱动从端口的chipselect信号。chipselect信号一旦有效,则从端口立即驱动readdata。system interconnect fabric则在下一个clk上升沿捕获readdata。

  从端口写传输是由system interconnect fabric发起的。它向从端口传输1个单元的数据,且在1个时钟周期内完成。system intercon-nect fabric配合write、begintransfer信号提供address,writedata,byteenable和write。system interconnectfabric不对address进行译码,驱动chipselect,并使其有效。从端口在下一个时钟的上升沿捕获地址、数据和控制信号,并完成写传输。

  从端口的读写时序是通过SD卡控制器完成的,而SD卡的控制器是以NiosⅡ软核处理器外设的形式与处理器相连接的。其关系如图3所示。

  2 SD卡的接口协议分析

  SD卡即可靠数字存储卡(Seeure Digital Memory Card),是为满足消费电子类产品对安全、容量、性能等有特殊要求的环境而设计的。  SD卡定义了SD和SPI这2种可选择的总线协议。这里研究的是SPI协议下的SD卡设备开发。SPI是面向字节的传输,SPI的命令和数据块都是以8个比特为单位进行分组的。SPI的信息分为控制帧、反馈帧和数据帧,所有的SPI信息都是建立在命令、应答和数据端口标记上的。所有主机和卡之间的通信都由主机控制,主机通过拉低CS信号开始一个总线事务。

  SPI模式下,SD卡可支持单个块和多个块的读/写操作,在接收到一个合法的读取命令后,这个SD卡可将用一个应答标志来应答响应,随后的就是一个数据块。在接收到一个合法的写指令时,SD卡将响应一个应答标记,并等待主控制器发送这个数据块。图4为单个块数据的读取操作,图5为单个块数据的写入操作。

  3 SD卡驱动设计

  NiosⅡ软件架构是建立在硬件抽象层HAL(Hardware Abstraction Layer)之上的,HAL为Nios软件开发者提供了编程接口、底层的设备驱动、HAL API以及C标准库等资源。

  HAL系统库为Nios软件设计人员提供了应用程序与底层硬件交互的设备驱动接口,大大简化了应用程序的开发。同时,HAL系统库还为应用程序与底层硬件驱动划分了一条很清晰的分界线,从而大大提高了应用程序的复用性,使得应用程序不受底层硬件变化的影响。基于HAL的系统层次结构如图6所示。

  SD卡设备属于字符模型设备,其数据结构负责收集一系列用于响应HAL文件系统访问操作的函数指针,函数实体由设备驱动定义。SD卡设备的数据结构如下:

  其中,dev指向当前字符模式设备的alt_dev数据结构实例;fd_flags代表传递给open()函数的操作选项参数;priv为当前HAL系统代码并未使用该变量。llist代表设备的节点,具有previous和next两个域,分别指向之前和之后注册的设备,这样系统中的所有已注册设备就形成一个设备链,供HAL操作系统内部使用。name即system.h中定义的设备名,表示HAL文件系统的一个装载点。

  其设备的数据结构定义为:

  在NiosII中,其SD卡的驱动函数具体定义为:

  以下给出SPI写数据的关键代码:

  4 结论

  基于NiosⅡ软核处理器的设备驱动设计方案具有良好的稳定性和设计灵活性,可以真正按照设计者的需要设计每个细节,使系统整体结构简洁明朗,便于移植和进行二次开发工作。这里通过分析NiosⅡ处理器的总线架构、SD卡的接口协议,给出SD卡设备在NiosⅡ处理器的设计实例,具有通用的意义。

关键字:NiosⅡ  Avalon总线  SD卡  驱动  HAL 编辑:金海 引用地址:基于NiosⅡ软核处理器下SD卡驱动设计

上一篇:LED驱动电源的选择和设计应考虑的问题
下一篇:LED照明驱动电源电路设计技术应用

推荐阅读最新更新时间:2023-10-18 14:59

Vishay发布新型光隔离式MOSFET驱动
    宾夕法尼亚、MALVERN — 2012 年 11 月12 日 — 日前,Vishay Intertechnology, Inc.(NYSE 股市代号:VSH)宣布,推出采用小尺寸SOP-4表面贴装封装的新型光隔离式MOSFET驱动器--- VOM1271。新器件集成了关断电路,因此不需要外部的关断元件和副边供电电源。新的MOSFET驱动器极大降低了配置成本和PCB空间,并提高了整体的系统可靠性和性能。     VOM1271针对工业和自动化测试设备等最终产品中的MOSFET驱动器、隔离式螺线管驱动器和定制固态继电器(SSR)进行优化。此前,设计者针对这些应用只能使用功率较小的市售SSR,或是体积大、价格昂贵的高压“h
[电源管理]
Vishay发布新型光隔离式MOSFET<font color='red'>驱动</font>器
利用安森美半导体LED驱动器设计高效LED灯串
近年来,高亮度LED的应用领域不断增多,涵盖从移动设备背光、中大尺寸LCD背光、汽车内部及外部照明及通用照明等宽广范围。常见DC-DC LED照明应用包括景观照明、内部低压道路照明、太阳能供电照明、汽车照明、应用车辆照明、船舶应用、低压卤素类替代及飞机内部照明等。 安森美半导体提供DC-DC低功率 LED照明应用的多款LED驱动器,涵盖升压、降压以及升降压等不同拓扑结构,如图1所示。在这系列产品中,NCL30160和NCL30161是安森美半导体较新的两款DC-DC LED驱动器。NCL30161 LED驱动器适合于宽电压应用,它可通过平均电流控制使LED纹波电流控制在平均电流的10%,输出不需要滤波电容,而且支持PWM或
[电源管理]
利用安森美半导体LED<font color='red'>驱动</font>器设计高效LED灯串
LED驱动器的原理及典型应用
在各种不同类型的光源中,高亮度 LED(发光二极管) 目前增长势头良好,正开始替代白炽灯、卤素灯、荧光灯、 HID氙气灯等其它种类的光源。近年来,高亮度 LED(HBLED)开始用于建筑照明、装饰照明,以及标识牌照明等,这样就为LED驱动器的发展提供了广阔的前景。 LED驱动器是Catalyst公司最重视的产品之一,Catalyst公司有可直接用于照明的驱动器。其中 “白色LED驱动器”的驱动方式配置合理,使用方式灵活多样,有较高的性价比,目前大量地应用于手机背光技术中。随着LED照明技术的革命,LED驱动器将会有一个辉煌的应用前景。 LED驱动器直流驱动原理 LED是由电流驱动的器件,其亮度与正向电流呈比例关系
[电源管理]
LED<font color='red'>驱动</font>器的原理及典型应用
Allegro MicroSystems 实现30亿颗电机驱动器出货量
Allegro MicroSystems 实现30亿颗电机驱动器出货量 重大里程碑 创新设计帮助客户提高效率,降低成本,同时帮助达到更高安全标准 美国新罕布什尔州曼彻斯特 - 运动控制和节能系统传感技术和功率半导体解决方案的全球领导厂商 Allegro MicroSystems (以下简称Allegro)今天宣布已经出货第30亿颗电机驱动器芯片,这充分见证了 Allegro 在运动控制业务方面的实力。 Allegro 值得信赖且非常可靠的电机驱动器已帮助世界各地的客户开发出更安全、功能更强大且可靠性更高的电机驱动解决方案,这些包括汽车、工业和消费类等应用领域的电动汽车、数据中心服务器、无绳电动工具等产品。 汽车行
[工业控制]
Allegro MicroSystems 实现30亿颗电机<font color='red'>驱动</font>器出货量
德州仪器(TI)推出高功率多拓朴驱动
德州仪器(TI)宣布推出一款高功率多拓朴DC/DCLED驱动器,可调节开关频率与电流感应阀值,高度设计弹性与低电磁干扰(EMI),适合汽车车头灯、雾灯及一般通用照明等应用。该TPS92690是一款支援低侧电流感应的N通道MOSFET控制器,支援升压或升降压LED驱动器拓朴,如SEPIC、Cuk、返驰式拓朴等。   TPS92690DC/DCLED控制器丰富特性,可为设计人员大幅提升系统设计弹性。例如可调整开关频率最高达2MHz,与电流感应阀值,可帮助设计人员最佳化LED驱动器,实作小型、高效率或两者兼具的电子产品。独立脉宽调变(PWM)及类比输入与通用调光控制方法结合,可调节LED电流或提供过热保护(thermal fol
[电源管理]
μC/OS-II下通用驱动框架的设计与实现
1、概述 在嵌入式应用系统中使用嵌入式操作系统可以提高应用系统的开发效率和提升嵌入式应用系统的稳定可靠性,因此,在嵌入式应用系统中使用嵌入式操作系统将成为嵌入式应用系统的设计主流 。μC/OS-II是由美国学者Labrosse设计的一个优秀的嵌入式实时操作系统 ,它是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,目前已经得到广泛应用。 μC/OS-II提供了操作系统必须具备的基本功能,包括:任务管理、信号量管理、邮箱管理、消息队列管理、事件管理、时间管理、内存管理,但它不提供设备管理和文件系统管理,已有研究者对μC/OS-II进行了文件子系统功能扩展 。在实际应用中,对系统设备的有效管理也是一个非常重要
[嵌入式]
Power Integrationgs推出LED驱动器设计
美国加利福尼亚州圣何塞,2012年6月5日讯– 世界上效率最高、使用寿命最长的离线式LED驱动器IC的制造商Power Integrations(纳斯达克股票代号:POWI)今日宣布推出一款适用于LED路灯和其他工业/基础设施照明系统的150 W 48 V 电源的参考设计套件。RDR-292中所描述的驱动器电路在230 VAC输入下效率达93%,在110 VAC输入下效率达91%。该设计可使系统的功率因数达到0.97以上、THD低于10%,同时可轻松满足EN61000-3-2 C标准。在相同的设计平台下,只需简单的从HiperPFS?(PFC)和HiperLCS?(LLC)家族成员中选择不同的转换器IC以及对应功的率器件大小,即可
[电源管理]
分析:模拟半导体2008年不会“冷”
  最近有许多有关模拟方面的重大新闻,如美国开始研究需要用无线的方式将电能传输到地球的空中太阳能的开发利用,还有MEMS振荡器取得了突破性进展等等,这些都激励我关注新的一年中模拟产品的发展趋向。虽然从各个方面传来的信息来看,2008年的半导体市场不怎么乐观,但很多公司和预测机构却调高了对模拟半导体的预期,认为2008年的模拟IC将会获得不俗的发展。这些趋势似乎从大型IC厂商的行动中也能寻得一点蛛丝马迹,如,TI在前不久加大在模拟领域的研发投入和宣传攻势,ADI出售数字业务,而将经历集中于其核心的模拟业务。   模拟所包括的范畴很广,包括放大、比较、驱动、衰减、滤波等的信号调理产品,实现各种信号转换(包括接口转换)的转换产品,
[焦点新闻]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved