CN101136000B - 实现sd主机/从属设备的应用处理器电路和电子设备 - Google Patents

实现sd主机/从属设备的应用处理器电路和电子设备 Download PDF

Info

Publication number
CN101136000B
CN101136000B CN2006101267068A CN200610126706A CN101136000B CN 101136000 B CN101136000 B CN 101136000B CN 2006101267068 A CN2006101267068 A CN 2006101267068A CN 200610126706 A CN200610126706 A CN 200610126706A CN 101136000 B CN101136000 B CN 101136000B
Authority
CN
China
Prior art keywords
interface
application processor
data
processor circuit
system bus
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.)
Expired - Fee Related
Application number
CN2006101267068A
Other languages
English (en)
Other versions
CN101136000A (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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Priority to CN2006101267068A priority Critical patent/CN101136000B/zh
Priority to US11/838,209 priority patent/US7725638B2/en
Publication of CN101136000A publication Critical patent/CN101136000A/zh
Application granted granted Critical
Publication of CN101136000B publication Critical patent/CN101136000B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Abstract

本发明提出一种应用处理器电路,遵循SD兼容接口协议,包括:SD总线接口逻辑,实现SD兼容接口协议中定义的SD接口信号;系统总线接口逻辑,实现系统总线侧的接口功能;数据缓冲区,调整SD总线接口和系统总线接口之间的速度差异;数据缓冲控制器,控制对数据缓冲区的有效访问;和配置单元,对所述电路进行配置以设定其工作在SD主机模式或者SD从属设备模式。本发明还提出一种采用该电路的便携式电子设备。SD兼容接口协议包括MMC/SD/SDIO协议、高速MMC协议、或CE-ATA接口协议。本发明将SD从属逻辑和主机逻辑结合在单一模块中,从而支持SD主机和从属设备功能这两者,实现了电子设备之间更加便利的数据传输。

Description

实现SD主机/从属设备的应用处理器电路和电子设备
技术领域
本发明涉及电子设备之间的高速数据交换。更具体地说,本发明涉及采用MMC/SD/SDIO协议的应用处理器电路,以及包含该应用处理器电路的便携式电子设备。
背景技术
越来越多的便携式电子设备,例如个人数字助理(PDA)、便携式音乐播放器、笔记本电脑中的应用处理器支持采用MMC/SD/SDIO协议的接口,这是因为这些接口在数据传输方面具有很高的效率并且使用简单。以PDA设备为例,通过其上设置的SD卡插槽,将一些功能通过外置的扩展卡来实现,给用户提供了很大的选择余地,便于用户按自己的需求配置其PDA设备。这些功能不仅包括对PDA设备的存储容量进行扩充,还包括用来支持与各种其他外围设备相连接的、其他的PDA功能。具体来说,例如,SD(Secure Digital,安全数字)存储卡被广泛地用于扩展PDA设备的存储容量。最近应用越来越广泛的SDIO(Secure Digital Input/Output,安全数字输入/输出)卡则是基于SD存储卡的,并在电气、机械等方面与其兼容。SDIO卡的常见功能例如包括蓝牙适配器、WLAN适配器、GPS接收器,等等。另外,在SDIO卡规范中还引入了“SDCombo”的概念,其是指包括了SD存储卡和SDIO卡这两者的功能。目前的PDA设备的SD卡插槽能支持SD存储卡、SDIO卡,也能支持MMC卡(Multimedia Card,多媒体卡),所述MMC协议则是一种比SD更早开发出来的存储卡规范。顺便提及,在本申请的上下文中,在很多情况下采用“SD协议”、“SD接口”等概念来涵盖MMC/SD/SDIO这几种协议的情况,以使得本申请的描述更加简明。
目前支持SD接口的应用处理器芯片,只包括SD主机逻辑(hostlogic)来支持SD从属设备(slave device),而不能利用这种接口实现互相连接。例如,现有的具有SD插槽的PDA设备,只具有SD主机逻辑来支持诸如MMC卡、SD存储卡、SDIO卡和SDCombo卡这样的SD从属设备。而两个PDA设备之间则不能通过SD接口实现数据交换。由于目前利用SD协议的数据传输只能在主机和从属设备之间进行,而在实际应用中也可能希望在任何两个支持SD协议的设备,例如同一封装内的两个芯片、或者相互交换数据的两个PDA设备等等之间进行,因此存在这样一种需求,即一个装有应用处理器芯片的例如PDA的电子设备既可以用作SD主机,也可以用作SD从属设备,从而提供数据传输方面的更多便利。
美国专利申请US2005/0197017A1中使用了SD协议,但该申请涉及的是一种基于SD协议来询问设备所支持的传统协议的新协议,其设备本身仍然作为主机控制器,与SD从属设备无关。
发明内容
本发明的目的是解决现有技术中的上述问题,提供一种将SD从属逻辑和SD主机逻辑结合在单一模块中的应用处理器电路,和一种采用该应用处理器电路的便携式电子设备,从而支持SD主机和SD从属设备功能这两者,以便实现电子设备之间更加便利的数据传输。
为实现该目的,本发明的基本思想是结合比较成熟的高速SD主机和SD从属设备的设计,充分利用并改进和完善两者具有公共功能的模块,以经济有效的方式实现二者的结合。
根据本发明的一个方面,提出一种应用处理器电路,其遵循SD兼容接口协议并可被配置用来实现主机功能和从属设备功能,该电路包括:SD总线接口逻辑,用于实现SD兼容接口协议中定义的SD接口信号;系统总线接口逻辑,用于实现系统总线侧的接口功能;数据缓冲区,用于调整SD总线接口和系统总线接口之间的数据传输速度的差异;数据缓冲控制器,用于控制对数据缓冲区的有效访问;和配置单元,用于实现对所述电路的配置,以设定所述电路工作在SD主机模式或者SD从属设备模式。
本发明中所涉及的“SD兼容”接口协议包括以下协议中的一种或多种:MMC协议、SD协议、SDIO协议、高速MMC接口协议、和CE-ATA接口协议。
根据本发明的另一个方面,提出一种便携式电子设备,其包括根据本发明第一方面的应用处理器电路。
根据本发明的应用处理器电路并不是像美国专利申请US2005/0197017A1中那样将一组协议并入SD协议中,而是原样保持SD协议,并组合SD主机和SD从属卡的功能,从而实现OTG(On-The-Go,该概念的含义是该设备既可以用作主机,也可以用作从属设备)的能力。因此,根据本发明的应用处理器电路也可以称为SD-OTG电路或OTG电路。
根据本发明的便携式电子设备,通常是PDA,根据软件和/或硬件的配置,一方面可以作为主机控制器支持高速MMC/SD/SDIO卡,另一方面也可以用作高速MMC卡、高速SD卡、或者高速SDIO卡。由于综合了SD功能和SDIO功能的卡通常称作“SDCombo卡”,因此本发明的设备也可以被称作高速MMC/SDCombo OTG设备。因此,整个应用处理器电路,甚至PDA本身,可以作为MMC卡、SD卡或SDIO卡,将其全部的接口和存储器空间提供给另一个SD主机控制器。换句话说,包含本发明的PDA可以通过SD接口作为蓝牙适配器、WLAN适配器,等等。
借助这种同时作为主机和从属设备的能力,该应用处理器电路可以作为数据接口的主控方或者从属方,因此可以利用SD接口这种数据宽度小,协议简单,数据吞吐率高的方式完成同一封装内各芯片、板上器件、或两个电子设备间的数据交换。当将若干IP核集成在一个芯片中时,这提供了更大的灵活性。例如,当一块芯片集成了本发明的SD-OTG核和USB-OTG核时,则任何SD主机控制器可以通过该芯片完成对USB设备的访问。另一方面,任何USB主控设备也可以通过该芯片完成对MMC/SD/SDIO/SDCombo卡的访问,使得含有本发明的处理器芯片具有更广泛的用途。
几乎所有的具有MMC/SD/SDIO主机控制器的应用处理器均可以采用本发明的构思。本发明提供了一种芯片互连的新的选择,以及一种基于SD总线的总线桥。
附图的简要说明
通过下面结合附图对本发明实施例的说明,可以更清楚地理解本发明的上述及其他特征和优点,其中采用相同或相似的标记来表示相同或相似的部件。
图1从总体上示出了根据本发明一个优选实施例的应用处理器电路的体系结构。
图2示出了图1中的SD总线代理与其他模块之间的互连关系。
图3示出了图1中的寄存器体、系统总线逻辑与其他模块之间的互连关系。
图4A-4D示出了在根据本发明的实施例中,通过有限状态机来实现SD卡状态、SD主机状态和SD-OTG状态的方式。
图5示出了图1中的SD命令代理和SD数据代理模块的功能框图。
图6A-图6C示出了典型的SD从属设备的功能框图,分别对应于面向SD存储卡设备、面向SD总线桥、以及面向非SD兼容的附加设备的应用。
图6D示出了典型的SD主机控制器的功能框图。
图7A-图7C示出了基于图1中示出的实施例,分别包含图6A、图6B、图6C中所示的SD从属设备应用方向的新颖的SD OTG控制器的功能框图。
图8示出了根据本发明的应用处理器芯片与非SD兼容产品之间的互连关系。
具体实施方式
图1从总体上示出了根据本发明一个优选实施例的应用处理器电路100的体系结构。该电路100工作在两个总线域,即图1中左侧示出的系统总线域和右侧示出的SD总线域。图1中示出了系统总线A接口102,系统总线A用于数据的传输。系统总线A接口102连接至系统总线主控逻辑104。图1中还示出了系统总线B接口101,系统总线B用于寄存器体的配置(后面将对寄存器体的配置进行进一步说明)。系统总线B接口101连接至系统总线从属逻辑103。利用系统总线A进行数据传输时,系统总线主控逻辑104用来选择系统总线A上与之传输数据的设备并且启动数据传输。在该优选实施例中,采用不同的系统总线A和B分别完成功能模块的配置和数据传输,由此可通过针对特定用途设计或使用特定的总线以提高性能。另一方面,如果仅从功能上的要求考虑,对于功能模块的配置和数据传输使用相同的系统总线也是一种可行的方案。
由于系统总线A上的数据传输由系统总线主控逻辑104发起,根据本优选实施例,该系统总线主控逻辑104与内部DMA引擎105交换数据。内部DMA引擎105独立完成数据传输任务,以便将系统处理器的负担降到最低。内部DMA引擎105的引入可以极大的改善数据吞吐率。
在系统总线和SD总线之间传输数据时,由于不同总线的数据传输速度不同,需要设置一个数据缓冲区来调整二者之间的速度差异。另外,当系统总线接口和SD总线接口处于不同的时钟域时,需要实现不同时钟域之间的数据、命令、控制信号的同步。为此,在内部DMA引擎105和SD总线116之间设置了SD同步器109。该SD同步器109包括一个数据缓冲区(图中未示出),该数据缓冲区用于完成所述不同时钟域之间的数据同步功能。该SD同步器109还包括命令和控制信号的同步逻辑,从而实现不同时钟域之间的命令和控制信号的同步。根据另外一种实施方式,在系统总线和SD总线之间的关系满足特定要求的情况下,SD同步器109也可以简化为只包括数据缓冲区。数据缓冲区在主机模式和从属模式中被共用,共用部分的大小取决于应用的需要而确定,而并不需要整个数据缓冲区在两种模式下都必须完全利用。
另外,该电路100还具有包含同步器控制逻辑的SD收发器108,来保证对SD同步器109的有效访问。SD收发器108控制SD同步器109中的数据缓冲区的地址信号,此外,还根据系统总线接口的要求,在将来自SD总线接口115的数据放入数据缓冲区之前对其进行协议转换,由此实现两个接口域之间的数据收发。类似地,SD收发器108也可以简单地实现为用于控制对数据缓冲区的有效访问的数据缓冲控制器。在主机模式和从属模式中,可以共用一个缓冲控制器来控制对数据缓冲区的有效访问以防止读失效或写溢出。但是也可以在主机模式和从属模式中分别使用不同的缓冲控制器来控制对数据缓冲区的有效访问。
如上面所述,根据本发明的优选实施例,系统总线主控逻辑104与内部DMA引擎105作为独立的功能模块实现,数据缓冲区和数据缓冲控制器分别实现在SD同步器109和SD收发器108中。但本领域技术人员可以理解,本发明不限于此。例如,当只需要实现最简单的功能时,可以不必考虑不同时钟域之间的同步问题,以及数据吞吐率的性能指标。因而,系统总线控制逻辑、DMA引擎、SD收发器和SD同步器这些模块也可以由一个只包含最简单功能的系统总线逻辑模块来实现。
如图1中所示,根据本发明该优选实施例的电路100中的SD收发器108、SD同步器109和SD状态机106这几个模块连接至SD总线代理114。该SD总线代理114用来执行命令线和数据线上的串/并转换,添加和检测起始/结束位,以及处理CRC运算等等功能。
该SD总线代理114包括三个子模块:SD命令代理111、SD数据代理112和SD时钟发生器/馈送器113。SD命令代理111和SD数据代理112按照SD规范要求实现命令线和数据线上的特定信号序列。图5中示出了SD命令代理111和SD数据代理模块112的功能框图。其中,SD命令代理111包括命令CRC7发生器/校验器,用于实现命令信号中CRC7的生成和校验以及串并转换,并包括命令信号线协议处理单元。SD数据代理112包括数据CRC16发生器/校验器,用于实现数据信号中CRC16的生成和校验以及串并转换,并包括数据信号线协议处理单元。
SD时钟发生器/馈送器113则根据电路100的配置,在主机模式下,驱动SD总线接口115上的给定频率的时钟,而在从属模式下,将SD总线接口115上的时钟馈送到电路100的内部模块。所述SD时钟发生器/馈送器113用于根据所述电路100的配置,实现SD总线接口115上时钟的分频、门控、倒相、和整形功能。
从图2和图3中可以更清楚地看出SD收发器108和SD同步器109与系统总线主控逻辑104和SD总线代理114之间的连接关系。其中的SD收发器108用于数据和命令信息的协调,当接收到从SD总线代理114送来的原始数据后,根据SD总线代理114给出的相关信息,如数据的正确性,是否处于数据块的间隙期,等等,决定是否将数据提交给DMA引擎105,然后经系统总线A向系统上层发送。另一方面,该SD收发器108根据SD状态机106给出的状态信号,对SD总线代理114给出相应的控制信号。另外,该SD收发器108也根据接收到的对命令的回答情况,控制SD总线代理114中的SD时钟发生器/馈送器模块113,同时也可自行决定SD命令代理111发送的命令,如CMD12,来控制SD总线116上的数据和命令传输。SD同步器109是用于适应系统总线和SD总线工作在不同的时钟域而引入的同步机制。如前面所述,SD同步器109包含一个数据缓冲区,用于调整两个总线域之间的速度差异,使得两个时钟域中的功能模块能可靠的进行交互。
SD总线代理模块114基于接收到的命令和数据信号,通过数据/命令线201和202分别与SD状态机106和SD同步器109进行交互。其中,SD总线代理114根据命令、对应的响应信号和数据线的状态使SD状态机106工作,进入相应的逻辑状态并输出与状态对应的控制信号;而用于数据处理的命令和数据送入SD同步器109,该SD同步器109将命令和响应以及数据经过同步处理后,经由系统总线A向系统上层传递,交给驱动程序层。
图2中还示出SD总线代理114通过时钟线204和命令/数据线203与SD总线接口115交换命令、数据和时钟信号。SD总线接口115包括一个命令接口即SD CMD 210,一个时钟接口即SD CLK 209和用附图标记200共同表示的八个数据接口即SD DAT0 2000-SDDAT72007。在SD规范中还列出了几个可选的接口,包括写保护检测、卡插拔检测、Open-Drain信号线状态使能,等等。这些接口不是实现SD规范必须的接口,虽然也可以在主机和从属功能之间复用。为简明起见,在图2中没有示出。
图1中还示出了HS-SD-OTG寄存器体(High Speed SD OTGregister bank,高速OTG寄存器体)模块107,该模块为软件控制和轮询提供了编程接口。SD规范中定义了一组必须实现的寄存器。在寄存器体107中也可共享主机功能和从属功能的公共特征,如RCA、OCR寄存器、DMA起始地址、传输数据块的大小、数目等等。需要说明的是,在本实施例中是针对SoC、也就是含有MCU(Micro ControlUnit,微控制单元)的芯片系统来描述本发明的。在这种情况下,寄存器体107是必须存在的。但是对于不包含MCU的电路来说,即不必支持驱动程序的电路也可以实施本发明,在这种情况下寄存器体107则不是必须的。例如,某些低成本的SD主机控制器并不包含MCU功能,而是仅使用纯电路功能完成最简单的SD主机规范,实现由系统总线接口到SD主机接口的数据交换,同时,该SD主机控制器可以实现SD从属设备功能,以便与另一个SD主机设备进行数据交换,即包含本发明提出的SD-OTG电路。
如图1中所示,该应用处理器电路100还包括一个中断发生器110,耦合至寄存器体107,用于以中断方式向驱动程序层通知所述电路100的工作状态并请求驱动程序的介入。
图3更详细地示出了寄存器体107与系统总线逻辑以及其他子模块之间的相互作用关系。当集成在SoC上的MCU运行相应的驱动程序时,与程序指令对应的硬件电路结构通过系统总线、例如图3中的用于配置寄存器体107的系统总线B,在系统总线从属逻辑103的转换下,经由读/写信号线303,对寄存器体107中的寄存器进行写操作,也就是所谓的“配置”操作,通过该配置操作,改变寄存器中的内容。驱动程序以这种方式设置的控制信号通过控制信号线305和307分别发送给SD状态机106和SD收发器108。另一方面,在电路工作的过程中,SD状态机106和SD收发器108的状态的变化,通过状态信号线306和308分别改变寄存器体107中的特定寄存器,如图3中所示。驱动程序通过系统总线B,在系统总线从属逻辑103的控制下,经由读/写信号线303来读取这些寄存器的内容,从而得到电路的状态。因此,MCU运行驱动程序通过这种读/写寄存器体107的方式实现了对电路的控制。
根据本发明的优选实施例,该应用处理器电路100是工作在主机模式还是工作在从属设备模式,是在使用前由SoC上的MCU在驱动程序控制下,经由系统总线B,按上面描述的方式通过读/写寄存器体107而进行配置的。但是本领域技术人员可以理解,本发明不限于由SoC上的MCU通过软件进行配置的方式,而是可以采用其他方式。可能的配置方式还包括:机械开关,例如一个闭合开关,打开时对应于主机模式,闭合时对应于从属模式;电子激励器,例如电子按钮,加电后进入主机模式,按下按钮后切换到从属模式,再按一下则又切换回主机模式;无线控制方式,例如红外控制,当接收到一组脉冲时,切换到从属模式,再接收到一组脉冲时则又切换回主机模式;以及不限于上述方式的其他配置方式。根据可配置的控制信号,相应的主机功能或从属设备功能被激活。需要注意的是,主机模式/从属设备模式的配置不仅可以在加电初期完成,也可以在任何需要的时候进行,从而动态选择主机或从属设备功能。
图1中的SD状态机106由主机状态机和从属逻辑状态机结合而成。根据本发明的OTG电路的配置方式决定SD状态机106的行为。当OTG电路被配置为从属设备时,SD状态机106工作在从属模式;当OTG电路被配置为主机时,SD状态机106按主机控制器方式工作。
从属逻辑的状态机可包括四种可能的实现方式,包括基于MMC协议、SD存储卡协议、SDIO协议以及结合后两者的SDCombo协议,关于它们的实现方式的规范在以下标准中定义:
MMCA技术委员会发布的多媒体卡系统规范版本4.0(TheMultiMediaCard System Specification,Version 4.0,MMCA TechnicalCommittee);
SD卡协会技术委员会于2005年11月9日发布的SD规范部分1,物理层规范版本2.00草案(SD Specifications Part 1,Physical LayerSpecification,Version 2.00 Draft,November 9,2005,TechnicalCommittee,SD Card Association);
SD卡协会技术委员会于2005年7月8日发布的SD规范部分E1,SDIO规范版本1.20(SD Specifications Part E1,SDIO Specification,Version 1.20 Draft July 8,2005,Technical Committee,SD CardAssociation)。
图4A和图4B以示例的方式分别示出了MMC协议中的、在初始化过程中和在正常工作过程中的卡状态图。
主机状态机的实现方式在以下标准中定义:
SD卡协会技术委员会于2005年7月29日发布的SD规范部分A2,SD主机控制器标准规范版本2.00(SD Specification Part A2,SDHost Controller Standard Specification,Version 2.00 Draft,July,292005,Technical Committee,SD Card Association)。图4C简略地示出了SD主机状态机的示意图。
图4D则示出了SD OTG状态机的示意图,可以看出,该状态机由主机状态机和从属逻辑状态机结合而成。在系统加电后,进行电路初始化,进入就绪状态。然后,取决于电路的配置,该SD OTG状态机分别按照SD主机状态机方式或者SD卡(从属逻辑)状态机方式工作。
以上结合图1到图5说明了本发明的应用处理器电路100、作为一个“OTG”电路的结构及其工作原理,其中详细描述了该电路的各个组成模块及其间的交互作用关系。该OTG电路100既可以被用作SD主机控制器,也可以用作SD从属设备。在实际使用中,取决于期望的应用方向,所述SD从属设备例如可以是SD存储卡、SD总线桥、以及SDIO设备,等等。该OTG电路100也可以用作分别涉及各种SD从属设备应用方向的SD OTG控制器。下面的图6A-6D和图7A-7C分别示出了该OTG电路100在不同的应用方向中所实现的功能。需要说明的是,图中用实线表示的方块是功能模块,这些模块可能在主机和从属功能中复用。图中用虚线表示的方块则是连接的概念,而不是所述功能电路的组成部分。另外需要说明的是,为了简明起见,同时也是为了更加突出该OTG电路100被用于不同应用方向时所实现的功能的不同,在图6A-7C中没有象图1-3中那样示出各个功能模块之间的交互作用关系。但是,本领域技术人员可以理解,图6A-7C中的功能模块实际上就是由图1-3中相对应的模块实现的。为了体现出这种对应关系,在图6A-7C中尽量采用与图1-3中相似的附图标记来指代各个功能模块。
当然,取决于不同的应用方向,在实际设计中需要分别在OTG电路100的基础上分别添加某个(些)功能模块。例如,在SD存储卡的应用方向中,需要引入一个存储器接口模块。这对于本领域的技术人员是很容易理解和实现的。
图6A-图6C示出了当本发明的OTG电路100用作典型的SD从属设备时的功能框图,其分别对应于面向SD存储卡设备、面向SD总线桥、以及面向附加设备的应用。
具体地说,当本发明的OTG电路100用作典型的从属设备时,包括以下主要的功能模块:
卡状态机606a-606c:在不同状态下接收各种命令和响应,并按照接收到的命令或响应改变其状态。
同步器609a-609c:包括数据缓冲区,用来补偿系统总线侧和SD总线侧的不同的数据传输速率。
收发器608a-608c:用于控制对数据缓冲区的安全访问,并且,通常由于对数据缓冲区的读、写访问来自不同的时钟域,该收发器必须处理地址同步。
DMA引擎605a-605c:对于高速数据吞吐,DMA引擎通常用在系统总线侧,实现有效的数据读/写。
命令CRC发生器&校验器611a-611c:产生命令CRC7校验和,并校验命令CRC7结果。
数据CRC发生器&校验器612a-612c:产生数据CRC16校验和,并校验数据CRC16结果。
SD总线接口615a-615c:实现内部逻辑功能模块和外部SD设备之间的物理连接。
寄存器体607a-607c:为软件控制和轮询提供编程接口。
时钟控制器613a-613c:用于实现时钟选通、分割、反相和其他功能,从而对原始时钟源进行变换,以供内部使用。对于简单的设备设计,无论是SD存储卡还是SD总线桥,该时钟控制器可以被省略。
中断发生器610b,610c:根据主机系统要求,某些状态必须被确认和报告。这通常是通过中断机制来完成的。该中断发生器也可以根据系统低电策略来唤醒主机系统。对于SD存储卡,则不需要中断。
闪存接口618a:如果该SD从属设备是SD存储卡时,包括该闪存接口,其为一个用于正确访问闪存部分的控制器子模块。
系统总线接口620b:如果该SD从属设备是SD总线桥,为了在系统总线和外部SD总线之间传输数据,需要该系统总线接口来实现总线事务。
附加设备接口619c:如果该SD从属设备是SDIO卡,则包括另一端的设备接口,如WLAN接口,蓝牙接口等。
图6D示出了当本发明的OTG电路100用作典型的SD主机控制器时的功能框图。
如图6D中所示,典型的SD主机控制器包括以下主要模块:
主机状态机606d:按照在不同状态下接收到的命令和响应,卡中断,或内部工作状态改变、如完成数据传输改变其状态。
同步器609d:包括数据缓冲区,用来补偿系统总线侧和SD总线侧的不同的数据传输速率。
收发器608d:用于控制对数据缓冲区的安全访问,并且,通常由于对数据缓冲区的读、写访问来自不同的时钟域,该收发器必须处理地址同步。
DMA引擎605d:对于高速数据吞吐,DMA引擎通常用在系统总线侧,实现有效的数据读/写。
命令代理611d:产生命令CRC7校验和并校验命令CRC7结果,并完成串并转换,生成和检验命令信号线的起始位、结束位,监测信号线冲突等底层电气处理。
数据代理612d:产生数据CRC16校验和,并校验数据CRC16结果,并完成串并转换,生成和检验数据信号线的起始位、结束位,监测信号线冲突,产生read-wait、busy信号等底层电气处理。
SD总线接口615d:将SD功能模块与SD卡可靠连接的模拟功能部分,包括焊盘、内部上拉电阻等等。
寄存器体607d:该模块为软件控制和轮询提供编程接口。
时钟控制器613d:用于实现时钟选通、分割、反相和其他功能,从而在主机模式时输出预定频率的时钟驱动总线信号。由于在主机模式下,在缓冲区危险期间时钟必须关断时钟,该时钟控制器子模块是必需的。
系统总线接口620d:用来实现系统总线事务的接口。系统总线可以采用任何工业标准或公司专用标准,如AHB、Freescale IP总线,等等。
中断发生器610d:根据主机系统要求,某些状态必须被确认和报告。这通常是通过中断机制来完成的。该中断发生器也可以根据系统低电策略来实现系统唤醒功能。
另外,主机状态机中可包括卡的状态序列,这种实现方式是可选的,因为SD主机控制器的硬件部分可能并不关心当前的卡状态是什么——而是由驱动程序来进行处理。但SD主机控制器可以包括该子模块并发送卡命令序列,特别是当采用纯硬件电路完成主控逻辑时。
图7A-图7C示出了基于图1中示出的实施例,分别包含图6A、图6B、图6C中所示的SD从属设备应用方向的新颖的SD OTG控制器的功能框图。
如图7A-图7C所示,该SD OTG控制器包括以下主要模块:
OTG状态机706a-706c:可根据配置工作于主机模式或从属设备模式,其中包含卡状态序列。对于从属设备功能,该卡状态序列是必需的。但主机可以共享该状态序列来提供更加智能化的控制。根据不同状态下的接收到的各种命令和响应,以及数据线上的有关控制信号改变其状态。
同步器709a-709c:用于同步系统总线时钟域和SD总线时钟域的各种交互信号,其中包括的数据缓冲区用于补偿两侧不同速率的数据传输。因为SD从属设备需要较大的缓冲区大小,这里的缓冲区通常大于主机控制器中的缓冲区,因此复用缓冲区将带来明显的好处。
收发器708a-708c:用于产生数据线上的控制信号,如主机模式下的read-wait控制信号,从属模式下的busy指示信号,等等;也用于主机模式下的自动发送命令,如自动发送CMD12;收发器中还包括数据缓冲区的控制逻辑,确保对上述数据缓冲区的有效访问。
DMA引擎705a-705c:对于高速SD主机控制器和总线桥(其速率可能超过400Mbps),DMA引擎在系统总线侧被广泛地采用。
命令代理711a-711c:产生命令CRC7校验和,并校验命令CRC7结果,并完成串并转换,生成和检验命令信号线的起始位、结束位,监测信号线冲突等底层电气处理。
数据代理712a-712c:产生数据CRC16校验和,并校验数据CRC16结果,并完成串并转换,生成和检验数据信号线的起始位、结束位,监测信号线冲突,产生read-wait、busy信号等底层电气处理。
时钟控制器713a-713c:对于主机部分,该时钟控制器是必需的。但从属设备可以共享该子模块,来提供更多的特征,如节电、内部分频等等。
寄存器体707a-707c:用于软件控制和轮询的编程接口。
SD总线接口715a-715c:由于SD总线总是系统外的外部总线,该SD总线接口用来实现电气物理模拟(相对于数字逻辑)功能。
中断发生器710a-710c:根据主机系统要求,某些状态必须被确认和报告。这通常是通过中断机制来完成的。该中断发生器也可以根据系统低电策略来实现系统唤醒功能。
存储器控制接口718a:当SD OTG是由SD存储卡加入主控逻辑得到时,原来用于访问存储单元的存储器控制接口需要保留。
系统总线接口720b:当SD OTG用于总线桥时,该系统总线接口用于实现系统总线侧的接口逻辑。
附加设备接口719c:当SD OTG用于SDIO卡时,则包括另一端的设备接口,如WLAN接口,蓝牙接口等。
总之,该SD OTG控制器的有益之处在于共享所有可能的功能模块,包括系统总线接口或存储器控制接口、DMA引擎、数据缓冲区、缓冲控制器、SD状态机、时钟控制器、数据&命令CRC发生器/校验器、用于实现编程完整性的组合寄存器体、以及SD总线接口。
一些可选的共享子模块,包括中断发生器,则提供增强的特征。由于SD和MMC标准仍在开发中并趋于支持更先进的传输策略,如更宽的数据总线、更高的速度、支持新的设备如CE-ATA、更高效的数据传输方式等等(其通常是向后兼容的),支持这些新功能的子模块也可以在主机和从属设备部分之间共享。例如,支持描述符链表的高级DMA已在主机控制器的规范草案中提出,但该DMA也可用于更高效率的从属设备中。
图8示出了根据本发明的应用处理器芯片与非SD兼容产品之间的互连关系。当在SoC芯片900上集成了被配置为SD从属设备的本发明的SD-OTG核903和支持USB接口的子模块902时,SD主机控制器904则可以通过该芯片900完成对USB设备901的访问。
前面已经参照附图,结合SoC也就是含有微控制单元的芯片系统描述了本发明的优选实施例。但本领域技术人员可以理解,这仅仅是为了说明的目的而非是对本发明的限制。另外,如前面提到过的,在本申请的上下文中,为了简化描述,采用“SD总线接口”等术语来说明本发明的原理及其示例性的实现方式,而并一定总是同时提到MMC/SD/SDIO接口或特定的一个接口。本领域的技术人员可以理解,这并不意味着本发明仅适用于采用SD协议的接口。另外,在本申请中还采用了例如“SD兼容协议”这样的概念,以涵盖MMC协议、SD协议、SDIO协议、高速MMC接口协议、高速SD协议、高速SDIO协议、CE-ATA接口协议,以及与这些协议兼容的将来的协议。
在不偏离本发明的精神和范围的情况下,本领域技术人员可以做出各种变化和修改。本申请的保护范围仅由所附权利要求来限定。

Claims (14)

1.一种应用处理器电路,遵循SD兼容接口协议并可被配置用来实现主机功能和从属设备功能,该应用处理器电路包括:
SD总线接口逻辑,用于实现SD兼容接口协议中定义的SD接口信号;
系统总线接口逻辑,用于实现系统总线侧的接口功能;
数据缓冲区,用于调整SD总线接口和系统总线接口之间的数据传输速度的差异;
数据缓冲控制器,用于控制对数据缓冲区的有效访问;和
配置单元,用于实现对所述电路的配置,以设定所述电路工作在SD主机模式或者SD从属设备模式;
其中所述SD总线接口逻辑包括:
命令代理,用于实现命令信号中CRC的生成和校验以及串并转换,并且生成和校验命令信号中的起始位和结束位;
多个数据代理,每个数据代理分别对应于一条数据线,用于实现数据信号中CRC的生成和校验以及串并转换,并且生成和校验数据信号中的起始位和结束位;和
时钟控制器,当所述应用处理器电路工作在主机模式时,用于驱动SD总线接口上的时钟信号,当所述应用处理器电路工作在从属模式时,用于将SD总线接口上的时钟信号馈送进所述应用处理器电路内部的功能模块,并且其中所述时钟控制器根据所述电路的配置,实现SD总线接口上时钟的分频、门控、倒相、和整形功能中的一种或几种;以及
状态机,取决于所述电路的配置,按主机模式或从属模式工作。
2.如权利要求1中所述的应用处理器电路,其中,所述SD兼容接口协议包括以下协议中的一种或多种:MMC协议、SD协议、SDIO协议、高速SD协议、高速SDIO协议、高速MMC协议、和CE-ATA接口协议。
3.如权利要求1中所述的应用处理器电路,其中,所述数据缓冲区在主机模式和从属模式中被共用,并且其中取决于应用的需要确定所述共用部分的大小。
4.如权利要求1中所述的应用处理器电路,其中,在主机模式和从属模式中,分别使用不同的数据缓冲控制器来控制对数据缓冲区的有效访问以防止读失效或写溢出。
5.如权利要求1中所述的应用处理器电路,其中,在主机模式和从属模式中,共用同一个数据缓冲控制器来控制对数据缓冲区的有效访问以防止读失效或写溢出。
6.如权利要求1中所述的应用处理器电路,其中,当系统总线接口和SD总线接口处于不同的时钟域时,所述的数据缓冲区用于完成所述不同时钟域之间的数据同步功能,并且,所述电路还包括命令和控制信号的同步逻辑,以实现所述不同时钟域之间的同步。
7.权利要求1中所述的应用处理器电路,其中,所述的数据缓冲控制器除了控制数据缓冲区的地址信号以外,还根据系统总线接口的要求,在将来自SD总线接口的数据放入数据缓冲区之前对其进行协议转换,从而实现两个接口域之间的数据收发。
8.如权利要求1中所述的应用处理器电路,还包含一个寄存器体,用于实现和驱动程序的接口,以提供软件控制和轮询功能,并且,所述配置单元由寄存器体中的部分寄存器构成。
9.如权利要求8中所述的应用处理器电路,还包含一个中断发生器,通过中断方式向驱动程序层通知所述电路的工作状态并请求驱动程序的介入。
10.如权利要求1中所述的应用处理器电路,还包含一个DMA引擎,用于独立完成与系统总线接口之间的数据交换功能。
11.如权利要求1中所述的应用处理器电路,其中,当所述电路用作总线桥、跨接在SD总线和系统总线之间时,所述系统总线接口逻辑实现系统总线的数据交换功能。
12.如权利要求1中所述的应用处理器电路,其中,当所述电路用于存储设备时,所述系统总线接口逻辑实现对所用存储单元的访问。
13.如权利要求1中所述的应用处理器电路,其中,当所述电路用作适配器、将非SD兼容的附加设备转换成与SD接口兼容时,所述系统总线接口逻辑实现对所述附加设备的访问。
14.一种便携式电子设备,包括如权利要求1-13中任一项所述的应用处理器电路。
CN2006101267068A 2006-09-01 2006-09-01 实现sd主机/从属设备的应用处理器电路和电子设备 Expired - Fee Related CN101136000B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2006101267068A CN101136000B (zh) 2006-09-01 2006-09-01 实现sd主机/从属设备的应用处理器电路和电子设备
US11/838,209 US7725638B2 (en) 2006-09-01 2007-08-13 Application processor circuit incorporating both SD host and slave functions and electronic device including same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101267068A CN101136000B (zh) 2006-09-01 2006-09-01 实现sd主机/从属设备的应用处理器电路和电子设备

Publications (2)

Publication Number Publication Date
CN101136000A CN101136000A (zh) 2008-03-05
CN101136000B true CN101136000B (zh) 2011-01-05

Family

ID=39153376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101267068A Expired - Fee Related CN101136000B (zh) 2006-09-01 2006-09-01 实现sd主机/从属设备的应用处理器电路和电子设备

Country Status (2)

Country Link
US (1) US7725638B2 (zh)
CN (1) CN101136000B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660938B1 (en) * 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
KR101007046B1 (ko) 2008-04-23 2011-01-12 주식회사 애트랩 오동작시 자동 복원할 수 있는 통신 시스템 및 이의 복원방법
US7818468B2 (en) * 2008-06-29 2010-10-19 Texas Instruments Incorporated Method and system for processing control information
US9870220B2 (en) * 2008-12-05 2018-01-16 Advanced Micro Devices, Inc. Memory flash apparatus and method for providing device upgrades over a standard interface
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
CN102404414B (zh) * 2010-09-17 2016-05-18 中国银联股份有限公司 基于mmc/sd接口的以太网通信系统及方法
TWI465905B (zh) * 2010-09-22 2014-12-21 Toshiba Kk 記憶體系統、主機控制器、及直接記憶體存取之控制方法
KR101688051B1 (ko) * 2010-11-08 2016-12-20 삼성전자 주식회사 에러 검출 코드를 이용한 데이터 처리 장치, 데이터 처리 방법, 데이터 스큐 보상 방법 및 데이터 처리 장치를 포함하는 반도체 장치
CN102508804A (zh) * 2011-10-20 2012-06-20 豪威科技(上海)有限公司 Sd/sdio主控制器
CN103136143B (zh) * 2011-11-23 2015-12-16 中兴通讯股份有限公司 企业消息总线传输数据的方法及系统
US20130167226A1 (en) * 2011-12-27 2013-06-27 Woodrow LIN Handheld Mobile Device with USB Hard Drive and Optional Biometric Scanner, and Systems Including the Same
US8880770B2 (en) * 2012-06-07 2014-11-04 Apple Inc. Protocol translating adapter
CN103576739A (zh) * 2012-08-02 2014-02-12 中兴通讯股份有限公司 数字芯片、具有数字芯片的设备和大小端模式配置方法
US9390043B2 (en) * 2012-12-17 2016-07-12 Analog Devices, Inc. Trigger routing unit
DE102013210064A1 (de) 2013-05-29 2014-12-04 Robert Bosch Gmbh Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210182A1 (de) * 2013-05-29 2014-12-04 Robert Bosch Gmbh Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210077A1 (de) * 2013-05-29 2014-12-04 Robert Bosch Gmbh Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
CN104238465A (zh) * 2013-06-21 2014-12-24 沈阳中科博微自动化技术有限公司 集成电路生产线主机与异类设备的通信方法
CN103413562A (zh) * 2013-08-09 2013-11-27 珠海市杰理科技有限公司 无线音频适配器及音频播放设备
US20160070665A1 (en) * 2014-09-08 2016-03-10 Htc Corporation Portable electronic device and user data access method therefor
CN104954442B (zh) * 2015-05-26 2018-01-23 北京智视信息科技有限公司 带有远程车联网车辆的监控系统及其监控方法
US9830280B2 (en) * 2015-06-22 2017-11-28 Qualcomm Incorporated Multiple access single SDIO interface with multiple SDIO units
CN105068962A (zh) * 2015-07-23 2015-11-18 上海斐讯数据通信技术有限公司 I2c控制器访问方法及系统
US9940295B2 (en) * 2015-08-14 2018-04-10 Keyssa, Inc. Extremely high frequency systems and methods of operating the same to establish USB data transport protocols
CN108449109B (zh) * 2018-05-16 2023-09-19 成都通量科技有限公司 一种射频前端器件从控接口装置
CN110618833B (zh) * 2018-06-19 2022-01-11 深圳大心电子科技有限公司 指令处理方法及存储控制器
US10467175B1 (en) * 2018-11-29 2019-11-05 Qualcomm Incorporated Secure digital (SD) direct command for improving throughput with a reduced memory footprint
CN110099124B (zh) * 2019-05-08 2022-01-11 大连民族大学 一种通用型楼宇自动化装配式网络通讯系统和方法
CN110912792A (zh) * 2019-11-20 2020-03-24 广东水利电力职业技术学院(广东省水利电力技工学校) 一种EtherCAT、ProfiNET总线兼容系统
CN110971621B (zh) * 2020-01-09 2023-07-11 成都三零嘉微电子有限公司 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法
CN111581136B (zh) * 2020-05-08 2023-04-14 上海琪埔维半导体有限公司 一种dma控制器及其实现方法
CN111752194A (zh) * 2020-06-17 2020-10-09 江西洪都航空工业集团有限责任公司 一种基于usb接口的便携式gjb289a总线通讯设备
CN115237822B (zh) * 2022-09-22 2022-12-30 之江实验室 一种针对晶圆级处理器iic配置接口的地址优化装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421006A (zh) * 2000-03-29 2003-05-28 英特尔公司 用于通过共享外部总线专用互连的装置和方法
CN1153352C (zh) * 1997-03-18 2004-06-09 皇家菲利浦电子有限公司 接收机调谐系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945548A (en) * 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US7836236B2 (en) 2004-02-12 2010-11-16 Super Talent Electronics, Inc. Extended secure-digital (SD) devices and hosts
JP4053704B2 (ja) 2000-01-05 2008-02-27 株式会社東芝 無線インタフェース機能内蔵icカード、アンテナモジュール、情報処理装置
US6941405B2 (en) * 2001-08-21 2005-09-06 02Micro International Limited System and method capable of offloading converter/controller-specific tasks to a system microprocessor
WO2003029998A1 (en) * 2001-09-28 2003-04-10 Koninklijke Philips Electronics N.V. Bus system and bus interface for connection to a bus
JP3636157B2 (ja) * 2002-04-19 2005-04-06 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP3685151B2 (ja) * 2002-04-26 2005-08-17 セイコーエプソン株式会社 クロック制御回路、データ転送制御装置及び電子機器
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
EP1546897B1 (en) * 2002-09-24 2006-12-20 Koninklijke Philips Electronics N.V. Bus connection system
JP3649226B2 (ja) * 2003-05-20 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
TWI296083B (en) * 2003-09-29 2008-04-21 Sharp Kk Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium
US20050144385A1 (en) * 2003-12-30 2005-06-30 Mowery Keith R. Interfacing multiple flash memory cards to a computer system
US20050228281A1 (en) * 2004-03-31 2005-10-13 Nefos Thomas P Handheld diagnostic ultrasound system with head mounted display
US7269669B2 (en) * 2004-07-07 2007-09-11 Sychip Inc Sharing single host controller with multiple functional devices
TWM264642U (en) 2004-08-27 2005-05-11 Incomm Technologies Co Ltd Flash memory device having plural communication protocols
JP2006209643A (ja) * 2005-01-31 2006-08-10 Ricoh Co Ltd インタフェース回路及びそのインタフェース回路を使用したシステム装置
US20060218324A1 (en) 2005-03-25 2006-09-28 Matsushita Electrical Industrial Co., Ltd Systems and methods for flexible data transfers in SDIO and/or MMC
TWM289940U (en) * 2005-06-17 2006-04-21 Genesys Logic Inc I/O interface device for playing multimedia equipment on airplane seat
US7397273B1 (en) * 2006-07-11 2008-07-08 Xilinx, Inc. Bidirectional logic isolation multiplexing with voltage level translation capability for open-drain circuitry

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153352C (zh) * 1997-03-18 2004-06-09 皇家菲利浦电子有限公司 接收机调谐系统
CN1421006A (zh) * 2000-03-29 2003-05-28 英特尔公司 用于通过共享外部总线专用互连的装置和方法

Also Published As

Publication number Publication date
CN101136000A (zh) 2008-03-05
US7725638B2 (en) 2010-05-25
US20080059679A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
CN101136000B (zh) 实现sd主机/从属设备的应用处理器电路和电子设备
CN111090598B (zh) 用于组合多个存储信道的系统和方法
JP4799417B2 (ja) ホストコントローラ
US7209995B2 (en) Efficient connection between modules of removable electronic circuit cards
US8307143B2 (en) Interface card system
JP3128932U (ja) Cpuカード及びコンピュータ
US7269088B2 (en) Identical chips with different operations in a system
JP2006318480A (ja) メモリシステム、および、メモリシステムのメモリチップにアクセスする方法
CN101958152B (zh) 一种nand flash控制器及其应用
TW200415828A (en) Interface integrated circuit device for a USB connection
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
CN101414291A (zh) 一种主从分布式系统和应用于该系统的并行通信方法
US20070124558A1 (en) Apparatus and methods for controlling output of clock signal and systems including the same
CN101436171B (zh) 模块化通信控制系统
CN104834620A (zh) 串行外设接口spi总线电路、实现方法以及电子设备
CN201583943U (zh) 音频soc芯片的高效低功耗dma的ip结构
CN100527104C (zh) 硬盘驱动器控制器及搭载它的系统
CN102419739A (zh) 多主总线仲裁共享装置以及仲裁方法
CN101739367B (zh) 多类总线存储控制的方法与装置
CN101436119A (zh) 一种与存储卡通讯的系统和方法
CN103530256B (zh) CPCIe和PCI协议数据的处理装置及方法
US5440754A (en) Work station and method for transferring data between an external bus and a memory unit
US7861026B2 (en) Signal relay device and method for accessing an external memory via the signal relay device
CN115202257B (zh) 一种lpc总线协议转换及设备并行控制装置及方法
CN108984440B (zh) 降低集成电路功耗的方法及其控制电路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110105

Termination date: 20180901