CN109977041B - 与嵌入式多媒体卡装置通信的主机装置 - Google Patents

与嵌入式多媒体卡装置通信的主机装置 Download PDF

Info

Publication number
CN109977041B
CN109977041B CN201711438484.8A CN201711438484A CN109977041B CN 109977041 B CN109977041 B CN 109977041B CN 201711438484 A CN201711438484 A CN 201711438484A CN 109977041 B CN109977041 B CN 109977041B
Authority
CN
China
Prior art keywords
data
command
spi
mode
terminal
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.)
Active
Application number
CN201711438484.8A
Other languages
English (en)
Other versions
CN109977041A (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 BV
NXP USA Inc
Original Assignee
NXP BV
NXP USA 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 NXP BV, NXP USA Inc filed Critical NXP BV
Priority to CN201711438484.8A priority Critical patent/CN109977041B/zh
Publication of CN109977041A publication Critical patent/CN109977041A/zh
Application granted granted Critical
Publication of CN109977041B publication Critical patent/CN109977041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本公开涉及主机装置与嵌入式多媒体卡装置通信。主机装置包括与嵌入式多媒体卡(eMMC)装置进行通信的第一串行外围接口(SPI)和第二SPI。主机装置具有模式控制器,该模式控制器控制第一SPI分别在用于命令发送和响应接收的第一发送模式和第一接收模式之间切换。模式控制器控制第二SPI分别在用于数据发送和数据接收的第二发送模式和第二接收模式之间切换。

Description

与嵌入式多媒体卡装置通信的主机装置
技术领域
本发明总体涉及电子电路,并且更具体地涉及与嵌入式多媒体卡(eMMC)装置通信的主机装置。
背景技术
诸如便携式计算机、蜂窝手机、数码相机、可穿戴装置等的便携式电子装置通常包括用于数据存储的嵌入式多媒体卡(eMMC)装置。这样的eMMC装置被嵌入到对应的便携式电子装置内,并且包括用于存储数据的闪存存储器。便携式电子装置还包括对eMMC装置执行各种存储器访问操作的嵌入式主机装置。
图1示出了与eMMC装置通信的传统主机装置的示例。更具体地说,图1示出了包括与eMMC装置104通信的传统主机装置102的集成电路(IC)100。IC 100被嵌入在电子装置(未示出)内,诸如被嵌入上面列出的装置之一内。主机装置102可以包括微处理器、微控制器、专用集成电路(ASIC)处理器、中央处理单元(CPU)等。主机装置102包括主机控制器106,主机控制器106使主机装置102能够通过通信接口108与eMMC装置104通信。通信接口108包括双向命令通道108A、单向时钟通道108B以及包括八个数据通道的双向数据总线108C。
主机装置102连接在电源电压VCC和地GND之间。主控制器106是具有用于与eMMC装置104通信的专用引脚(未示出)的主机装置102的专用外设。
eMMC装置104连接在电源电压VCC和地GND之间。eMMC装置104包括eMMC装置控制器110和存储器阵列112。eMMC装置控制器110是使得eMMC装置104能够通过通信接口108与主机装置102通信的专用外设。eMMC装置控制器110具有用于与主机装置102通信的专用引脚(未示出)。eMMC装置104还包括用于接收复位信号的复位端子RST。存储器阵列112是存储数据的闪存存储器。
主机装置102通过主机控制器106和双向命令通道108A向eMMC装置104发送各种命令以执行各种存储器访问操作。命令的示例包括数据读取、数据写入、数据擦除、格式eMMC等。主机装置102还通过主控制器106和单向时钟通道108B向eMMC装置104发送时钟信号。时钟信号使eMMC装置104与主机装置102同步。
eMMC装置104通过eMMC装置控制器110和双向命令通道108A发送对从主机装置102接收的每个命令的响应。基于响应,主机装置102对eMMC装置104执行对应的存储器访问操作。例如,基于对数据写入命令的响应,主机装置102将写入数据发送到eMMC装置104,并且基于对数据读取命令的响应,主机装置102从eMMC装置104接收读取数据。
随着便携式装置变得更小,能够减小主机装置的大小将是有利的。
附图说明
当结合附图阅读时,将会更好地理解本发明的优选实施例的以下详细描述。通过举例来说明本发明,并且本发明不受附图的限制,在附图中相同的附图标记指示类似的元件。
图1是包括与eMMC装置通信的主机装置的传统集成电路的示意性框图;
图2是根据本发明的实施例的包括与eMMC装置通信的主机装置的集成电路的示意性框图;
图3是根据本发明的实施例的图2的集成电路的详细示意性框图;以及
图4是根据本发明的另一个实施例的图2的集成电路的详细示意性框图。
具体实施方式
附图的详细描述旨在作为对本发明的当前优选实施例的描述,而不旨在表示可以实践本发明的唯一形式。应该理解的是,相同或等效的功能可以通过意图被包括在本发明的精神和范围内的不同实施例来实现。
在一个实施例中,本发明提供了与嵌入式多媒体卡(eMMC)装置通信的主机装置。主机装置包括第一串行外围接口(SPI)、第二SPI和模式控制器。第一SPI具有连接到eMMC装置的第一端子的命令输出端子,并且发送数据写入命令和数据读取命令中的至少一个。第一SPI还具有连接到第一端子用于接收对数据写入命令和数据读取命令中的至少一个的响应的响应输入端子。第一SPI可按照第一发送模式和第一接收模式操作。第二SPI具有连接到eMMC装置的第二端子用于基于数据写入命令发送写入数据的数据输出端子。第二SPI还具有连接到第二端子用于基于数据读取命令接收读取数据的数据输入端子。第二SPI可按照第二发送模式和第二接收模式操作。模式控制器基于数据写入命令和数据读取命令之一使第一SPI按照第一发送模式和第一接收模式操作,并且使第二SPI按照第二发送模式和第二接收模式操作。
在另一个实施例中,本发明提供了与eMMC装置通信的主机装置,其中主机装置包括第一和第二SPI、第一和第二控制寄存器以及模式控制器。第一SPI具有连接到eMMC装置的第一端子用于发送数据写入命令和数据读取命令中的至少一个的命令输出端子。第一SPI还具有连接到第一端子用于接收对数据写入命令和数据读取命令的响应的响应输入端子。第一SPI可按照第一发送模式和第一接收模式之一操作。第二SPI具有连接到eMMC装置的第二端子用于基于数据写入命令发送写入数据的数据输出端子。第二SPI还具有连接到第二端子用于基于数据读取命令接收读取数据的数据输入端子。第二SPI可按照第二发送模式和第二接收模式操作。第一控制寄存器具有用于使第一SPI能够按照第一发送模式和第一接收模式之一操作的第一保留位。第二控制寄存器具有用于使第二SPI能够按照第二发送模式和第二接收模式之一操作的第二保留位。模式控制器基于数据写入命令和数据读取命令中的至少一个来控制第一保留位的值,从而使得第一SPI能够按照第一发送模式和第一接收模式之一操作。模式控制器还基于数据写入命令和数据读取命令中的至少一个来设置第二保留位的值,使得第二SPI能够按照第二发送模式和第二接收模式之一操作。
在又一个实施例中,本发明提供了一种包括与eMMC装置通信的主机装置的集成电路。主机装置包括第一和第二SPI以及模式控制器。第一SPI具有连接到eMMC装置的第一端子用于发送数据写入命令和数据读取命令中的至少一个的命令输出端子。第一SPI发送数据写入命令以对eMMC装置执行数据写入操作并发送数据读取命令以对eMMC装置执行数据读取操作。第一SPI还具有连接到第一端子用于接收对数据写入和数据读取命令的响应的响应输入端子。第一SPI可按照第一发送模式和第一接收模式之一操作。第二SPI具有连接到eMMC装置的第二端子用于基于数据写入命令发送写入数据的数据输出端子。第二SPI还具有连接到第二端子用于基于数据读取命令接收读取数据的数据输入端子。第二SPI可按照第二发送模式和第二接收模式之一操作。模式控制器基于数据写入命令和数据读取命令中的至少一个使得第一SPI按照第一发送模式和第一接收模式之一操作,并且使得第二SPI按照第二发送模式和第二接收模式之一操作。
本发明的各种实施例提供了与eMMC装置通信的主机装置。主机装置和eMMC装置包含在IC上。主机装置包括第一SPI、第二SPI和模式控制器。第一SPI具有连接到eMMC装置的第一端子用于命令和响应传输的命令输出和响应输入端子。第一SPI可按照第一发送模式和第一接收模式之一操作。在某个时刻,命令输出和响应输入端子之一是有效的。当第一SPI处于第一发送模式时,命令输出端子是有效的并且将数据写入命令和数据读取命令中的至少一个发送到eMMC装置。当第一SPI处于第一接收模式时,响应输入端子是有效的,并且从eMMC装置接收对数据写入命令和数据读取命令中的至少一个的响应。第二SPI具有连接到eMMC装置的第二端子用于数据传输的数据输出和数据输入端子。第二SPI可按照第二发送模式和第二接收模式操作。在某个时刻,数据输出端和数据输入端子之一是有效的。当第二SPI处于第二发送模式时,数据输出端子是有效的,并向eMMC装置发送写入数据。当第二SPI处于第二接收模式时,数据输入端子是有效的,并从eMMC装置接收读取数据。模式控制器基于数据写入命令和数据读取命令中的至少一个使得第一SPI能够按照第一发送模式和第一接收模式之一操作,并且使得第二SPI能够按照第二发送模式和第二接收模式之一操作。
使用第一和第二SPI与eMMC装置通信消除了主机装置具有专用主机控制器的需要,这又降低了主机装置的电路和封装大小。主机装置的大小减小有利于满足便携式电子装置的大小限制。
现在参考图2,示出了根据本发明的实施例的包括与嵌入式多媒体卡(eMMC)装置204通信的主机装置202的集成电路200的示意性框图。在一个实施例中,集成电路200被嵌入在诸如便携式计算机、蜂窝手机、数码相机、膝上型计算机、平板电脑、便携式导航装置、可穿戴装置等的电子装置(未示出)内。
主机装置202连接在电源电压VCC和地GND之间。主机装置202是对eMMC装置204执行诸如读取、写入、格式化和擦除操作的各种存储器访问操作的数据处理装置。主机装置202的示例包括微处理器、微控制器、专用集成电路(ASIC)处理器、中央处理单元(CPU)等。主机装置202包括第一串行外围接口(SPI)206、第二SPI 208和模式控制器210。主机装置202通过第一和第二SPI 206和208连接到eMMC装置204。
第一和第二SPI 206和208使主机装置202能够与eMMC装置204通信。第一和第二SPI 206和208是同步串行通信接口,其使得主机装置202能够将命令、数据、控制信号、时钟信号、功率信号等等传输给eMMC装置204。
第一SPI 206可按照第一发送模式和第一接收模式之一操作。当主机装置202想要向eMMC装置204发送命令时,第一SPI 206能够按照第一发送模式操作。当主机装置202想要从eMMC装置204接收对命令的响应时,第一SPI 206能够按照第一接收模式操作。
第二SPI 208可按照第二发送模式和第二接收模式之一操作。当主机装置202想要向eMMC装置204发送数据时,基于该命令,使得第二SPI 208能够按照第二发送模式操作。当主机装置202想要从eMMC装置204接收数据时,基于该命令,第二SPI 208能够按照第二接收模式操作。
模式控制器210是基于要发送到eMMC装置204的命令使第一SPI 206能够在第一发送模式和第一接收模式之间操作和切换的控制电路。模式控制器210还再次基于该命令使得第二SPI 208在第二发送模式和第二接收模式之间操作和切换。在一个实施例中,模式控制器210被实现为存储在主机装置202的主存储器(未示出)中的一组指令。在另一个实施例中,使用嵌入在主机装置202内的诸如微控制器、ASIC处理器等的专用硬件电路来实现模式控制器210。第一和第二SPI 206和208结合模式控制器210形成用于与eMMC装置204通信的主机装置202的eMMC主机控制器。
eMMC装置204是片上存储器装置。eMMC装置204连接在电源电压VCC和地GND之间,并且包括eMMC装置控制器212和存储器阵列214。eMMC装置204还包括用于接收复位信号的复位端子RST。
eMMC装置控制器212是eMMC装置204的专用外设,其使得eMMC装置204能够与主机装置202通信。eMMC装置控制器212具有用于与主机装置202通信的专用端子(在图3中示出)。在一个实施例中,eMMC装置控制器212还包括用于促进数据存储管理的中央处理单元(CPU,未示出)。
存储器阵列214是存储从主机装置202接收的数据的闪存存储器。存储器阵列214还存储对从主机装置202接收的每个命令的响应。在一个实施例中,基于从主机装置202接收的命令,eMMC装置控制器212从存储器阵列214取出数据和对应的响应。eMMC装置控制器212还将取出的响应和数据发送到主机装置202。存储器阵列214还用于存储诸如制造商信息、版本信息、序列号信息等与eMMC装置204相关的信息。将在下面结合图3详细解释主机装置202和eMMC装置204的操作。
图3是根据本发明的实施例的集成电路200的详细示意性框图。在该实施例中,主机装置202包括第一和第二控制寄存器300和302、主机处理器304、命令存储器306、命令处理机308、直接存储器访问(DMA)控制器310、数据存储器312、位移位器(bit-shifter)314和计时器316。在一个实施例中,主机装置202还包括作为软件模块安装在主机装置202的主存储器中的安全数字多媒体卡(SDMMC)接口,其中SDMMC接口使主机装置202能够与eMMC装置204通信。主机装置202还包括输入/-输出端子PIO。IC 200包括第一电阻器318和第二电阻器320。eMMC装置204包括eMMC装置控制器212和存储器阵列214。eMMC装置控制器212包括命令端子CMD、数据端子D0和eMMC时钟端子CLK。
第一SPI 206包括命令输出端子SPI1_MOSI、响应输入端子SPI1_MISO、第一时钟端子SPI1_CLK和第一芯片选择端子SPI1_CS。命令输出端子SPI1_MOSI通过命令通道322连接到命令端子CMD。响应输入端子SPI1_MISO连接到命令输出端子SPI1_MOSI。响应输入端子SPI1_MISO还通过命令通道322连接到命令端子CMD。
主机装置202通过使用命令输出端子SPI1_MOSI经由命令通道322将各种命令发送到eMMC装置204。命令的示例包括数据读取、数据写入、数据擦除、格式eMMC命令等。主机装置202通过响应输入端子SPI1_MISO经由命令通道322从eMMC装置204接收对命令的响应。
在一个时刻,命令输出端子SPI1_MOSI和响应输入端子SPI1_MISO之一有效。当命令输出端子SPI1_MOSI有效并且响应输入端子SPI1_MISO无效时,第一SPI 206按照第一发送模式操作。当响应输入端子SPI1_MISO有效且命令输出端子SPI1_MOSI无效时,第一SPI206按照第一接收模式操作。因此,主机装置202通过第一SPI 206实现半双工命令和响应传输。第一SPI 206可通过第一控制寄存器300按照第一发送模式和第一接收模式之一操作。使用第一控制寄存器300进行命令输出端子SPI1_MOSI和响应输入端子SPI1_MISO的激活和去激活消除了命令通道322中的任何输出冲突。
第二SPI 208包括数据输出端子SPI2_MISO、数据输入端子SPI2_MOSI、第二时钟端子SPI2_CLK以及第二芯片选择端子SPI2_CS。数据输出端子SPI2_MISO通过数据通道324连接到数据端子D0。数据输入端子SPI2_MOSI连接到数据输出端子SPI2_MISO。数据输入端子SPI2_MOSI还通过数据通道324连接到数据端子D0。
为了对eMMC装置204执行数据写入操作,基于数据写入命令,主机装置202使用数据输出端子SPI2_MISO经由数据信道324将写入数据发送到eMMC装置204。为了对eMMC装置204执行数据读取操作,基于数据读取命令,主机装置202使用数据输入端子SPI2_MOSI经由数据通道324从eMMC装置204接收读取数据。
在一个时刻,数据输出端子SPI2_MISO和数据输入端子SPI2_MOSI之一有效。当数据输出端子SPI2_MISO有效且数据输入端子SPI2_MOSI无效时,第二SPI 208按照第二发送模式操作。当数据输入端子SPI2_MOSI有效且数据输出端子SPI2_MISO无效时,第二SPI 208按照第二接收模式操作。因此,主机装置202通过第二SPI 208实现半双工数据传输。第二SPI 208取决于存储在第二控制寄存器302中的值可按照第二发送模式和第二接收模式操作。因此,使用第二控制寄存器302的数据输出端子SPI2_MISO和数据输入端子SPI2_MOSI的激活和去激活消除了数据通道324中的任何输出冲突。
第一芯片选择端子SPI1_CS连接到第二芯片选择端子SPI2_CS。在一个实施例中,第一SPI 206产生芯片选择信号CSS。第一芯片选择端子SPI1_CS将芯片选择信号CSS发送至第二芯片选择端子SPI2_CS,从而使得第一SPI 206能够作为主SPI来操作。因此,接收芯片选择信号CSS的第二SPI 208充当从SPI。当芯片选择信号CSS有效时,第二SPI 208被启用。相反,当芯片选择信号CSS无效时,第二SPI 208被禁用。
第一时钟端子SPI1_CLK连接到第二时钟端子SPI2_CLK,用于同步由主机装置202执行的命令和数据传输。当第一SPI 206是主SPI时,第一SPI 206产生且提供时钟信号CS给充当从SPI的第二SPI 208。第一时钟端子SPI1_CLK将时钟信号CS提供给第二时钟端子SPI2_CLK。第一时钟端子SPI1_CLK还通过时钟通道326连接到eMMC装置控制器212的eMMC时钟端子CLK。第一时钟端子SPI1_CLK还通过时钟通道326将时钟信号CS发送到eMMC时钟端子CLK,以使eMMC装置204与主机装置202同步。I/O端子PIO连接到eMMC装置204的复位端子RST。输入/输出端子PIO产生并发送复位信号到复位端子RST来复位eMMC装置204。
第一控制寄存器300是具有第一保留位的第一n位寄存器(例如,n=8)。第一保留位用于控制第一SPI 206的操作。基于第一保留位的值,第一SPI 206被启用以按照第一发送模式和第一接收模式之一操作。在一个实施例中,当第一保留位被设置(即,'1')时,第一SPI 206按照第一发送模式操作,并且当第一保留位为'0'时,第一SPI 206按照第一接收模式操作。在另一个实施例中,当第一保留位为'0'时,第一SPI 206按照第一发送模式操作,并且当第一保留位为'1'时,第一SPI 206按照第一接收模式操作。在一个实施例中,第一控制寄存器300使用输入/输出控制(IOCON)寄存器来实现。在另一个实施例中,使用具有第一保留位的第一n位变量(例如,n=8)来实现第一控制寄存器300。
第二控制寄存器302是具有第二保留位的第二n位寄存器(例如,n=8)。第二保留位用于控制第二SPI 208的操作。基于第二保留位的值,第二SPI 208将按照第二发送模式和第二接收模式之一操作。在一个实施例中,当第二保留位被设置时,第二SPI 208按照第二发送模式操作,并且当第二保留位被清除时,第二SPI 208按照第二接收模式操作。在另一个实施例中,当第二保留位被清除时,第二SPI 208按照第二发送模式操作,并且当第二保留位被设置时,第二SPI 208按照第二接收模式操作。在一个实施例中,第二控制寄存器302使用IOCON寄存器来实现。在另一个实施例中,使用具有第二保留位的第二n位变量(例如,n=8)来实现第二控制寄存器302。本领域技术人员将理解,可以仅使用一个寄存器和/或存储器位置来形成第一和第二控制寄存器300和302。
主机处理器304产生命令以对eMMC装置204执行对应的存储器访问操作。主机处理器304将命令提供给命令存储器306和DMA控制器310。主机处理器304的示例包括ARM核心处理器、数字信号处理器(DSP)等等。
命令存储器306连接到主机处理器304,用于接收由主机处理器304产生的命令。在一个实施例中,命令存储器306被实现为静态随机访问存储器(SRAM)中的先进先出(FIFO)存储器缓冲器。命令存储器306将从主机处理器304接收的命令存储在队列中。命令存储器306还将命令提供给第一SPI 206和命令处理机308。命令存储器306通过第一SPI 206从eMMC装置204接收对命令的响应。命令存储器306存储并提供从eMMC装置204接收的响应至主机处理器304和命令处理机308。在一个实施例中,命令存储器306包括以串行格式将每个命令发送到第一SPI 206的第一移位寄存器(未示出)。
命令处理机308接收来自命令存储器306的命令和响应,并将所接收的命令和响应传输给模式控制器210。在一个实施例中,命令处理机308被实现为存储在主机装置202的主存储器中的一组指令。在另一个实施例中,命令处理机308通过嵌入在主机装置202内的专用硬件电路来实现。
DMA控制器310连接到主机处理器304和数据存储器312。DMA控制器310从主机处理器304接收数据读取和数据写入命令,并且控制对eMMC装置204的数据读取和数据写入操作的执行。DMA控制器310产生并发送第一和第二中断信号至主机处理器304以指示完成数据读取和数据写入操作。DMA控制器310还将第一和第二中断信号传送给模式控制器210。在一个实施例中,主机装置202包括诸如ARM处理器、cortex-MO+处理器等的协处理器而不是DMA控制器310来控制数据读取和数据写入操作的执行。
数据存储器312连接到DMA控制器310和第二SPI 208。在一个实施例中,数据存储器312是SRAM中的FIFO存储器缓冲器。数据存储器312存储从DMA控制器310接收到的写入数据,并将写入数据提供给第二SPI 208以发送到eMMC装置204。在一个实施例中,数据存储器312包括以串行格式将写入数据发送到第二SPI 208的第二移位寄存器(未示出)。数据存储器312存储通过第二SPI 208从eMMC装置204接收的读取数据。在一个实施例中,数据存储器312向DMA控制器310和位移位器314提供读取数据。
位移位器314将读取数据提供给主机处理器304。在一个实施例中,位移位器314是串行入并行出移位寄存器,其将读取数据以并行格式发送到主机处理器304。在另一个实施例中,位移位器314是以串行格式将读取数据发送到主机处理器304的串行入串行出移位寄存器。
模式控制器210接收来自命令处理机308的命令和响应以及来自DMA控制器310的第一和第二中断信号。模式控制器210基于命令通过控制第一保留位的值使第一SPI 206能够在第一发送模式和第一接收模式之间切换。模式控制器210还基于命令通过控制第二保留位的值来使得第二SPI 208能够在第二发送模式和第二接收模式之间切换。
当计时器316超时时,计时器316产生第三中断信号以复位模式控制器210。当模式控制器210在预定时限内没有接收到对命令的响应时,计时器316超时并产生第三中断信号,从而复位模式控制器210。计时器316可以包括看门狗计时器、多速率计时器等。第一和第二电阻器318和320用作分别用于防止命令和数据通道322和324的开路状况的故障安全电阻器。
在操作中,电源电压VCC为主机装置202和eMMC装置204供电。SDMMC接口初始化eMMC装置204,并且当eMMC装置204被初始化时,模式控制器210变为可操作。为了对eMMC装置204执行诸如数据写入操作之类的存储器访问操作,主机处理器304产生数据写入命令。数据写入命令包括要从其获取写入数据的主存储器的存储器地址。数据写入命令还包括写入数据的数据大小的信息。主机处理器304将数据写入命令提供给命令存储器306。命令存储器306对数据写入命令进行存储和排队。基于时钟信号CS,命令存储器306将数据写入命令提供给命令处理机308和第一SPI 206。在一个实施例中,命令存储器306在时钟信号CS的上升沿将数据写入命令提供给命令处理机308和第一SPI 206。命令处理机308还将数据写入命令提供给模式控制器210。
当模式控制器210从命令处理机308接收到数据写入命令时,模式控制器210将第一保留位设置为'1'。基于第一保留位'1'的值,命令输出端子SPI1_MOSI被激活,并且响应输入端子SPI1_MISO被去激活。因此,模式控制器210修改第一保留位的值以使得第一SPI206能够按照第一发送模式操作。
命令输出端子SPI1_MOSI通过命令通道322将数据写入命令发送到命令端子CMD。在一个实施例中,数据写入命令是多位命令。因此,命令输出端子SPI1_MOSI基于时钟信号CS将数据写入命令逐位地发送到命令端子CMD。因此,时钟信号CS同步数据写入操作。命令输出端子SPI1_MOSI可能需要时钟信号CS的第一预定数量的时钟周期来将数据写入命令发送到eMMC装置204。例如,如果数据写入命令是16位数据写入命令,则命令输出端子SPI1_MOSI需要时钟信号CS的16个时钟周期来将数据写入命令发送到eMMC装置204。
模式控制器210然后等待第一预定数量的时钟周期,并将第一保留位的值改变为'0'。例如,对于16位数据写入命令,模式控制器210在将第一保留位的值改变为'0'之前等待16个时钟周期。基于第一保留位'0'的值,命令输出端子SPI1_MOSI被去激活,并且响应输入端子SPI1_MISO被激活。因此,模式控制器210修改第一保留位的值以使第一SPI 206在第一预定数量的时钟周期过去之后能够按照第一接收模式操作。eMMC装置204的命令端子CMD从命令输出端子SPI1_MOSI接收数据写入命令。eMMC装置控制器212然后处理数据写入命令并且从存储器阵列214获取对数据写入命令的对应响应。在一个实施例中,响应可以指示eMMC装置204准备好用于数据写入操作。在另一个实施例中,响应可以指示eMMC装置204由于一个或多个操作问题而没有准备好用于数据写入操作。操作问题的示例是存储器阵列214中的存储器空间的不可用性。
命令端子CMD通过命令通道322将响应发送到现在有效的响应输入端子SPI1_MISO。响应输入端子SPI1_MISO将响应发送到命令存储器306。命令存储器306存储并提供响应到主机处理器304和命令处理机308。
命令处理机308将响应提供给模式控制器210。基于对数据写入命令的响应,模式控制器210将第一保留位的值改回为'1',以启用第一SPI 206的第一发送模式。因此,命令输出端子SPI1_MOSI被激活,以将在命令存储器306中排队的下一个命令发送到eMMC装置204。此外,当对数据写入命令的响应指示eMMC装置204准备好用于数据写入操作时,模式控制器210将第二保留位的值改变为'1'。基于第二保留位的值,数据输出端子SPI2_MISO被激活,并且数据输入端子SPI2_MOSI被去激活。因此,当eMMC装置204准备好用于数据写入操作时,模式控制器210修改第二保留位的值以使得第二SPI 208能够按照第二发送模式操作。
在一个实施例中,当模式控制器210在第一预定数量的时钟周期过去之后没有接收到响应时,计时器316超时并产生第三中断信号。模式控制器210基于第三中断信号而复位并且从命令处理机308接收新命令。因此,计时器316防止模式控制器210在第一预定数量的时钟周期过去之后仍等待响应。第三中断信号是硬件驱动器中断信号。
主机处理器304处理从eMMC装置204接收到的响应。在一个实施例中,当响应指示eMMC装置204准备好用于数据写入操作时,主机处理器304将数据写入命令提供给DMA控制器310。然后,DMA控制器310控制主机装置202与eMMC装置204之间的写入数据传输。在另一个实施例中,当响应指示eMMC装置204没有准备好用于数据写入操作时,主机处理器304产生新命令来解决一个或多个操作问题。本领域技术人员将明白,主机装置202通过执行用于发送数据写入命令的类似步骤来将新命令发送到eMMC装置204。
DMA控制器310从主机处理器304接收数据写入命令。基于包括在数据写入命令中的存储器地址,DMA控制器310访问主存储器并且从存储器地址获取写入数据。DMA控制器310还将写入数据存储在数据存储器312中。写入数据也被发送到第二SPI 208。
现在有效的数据输出端子SPI2_MISO通过数据通道324将写入数据发送到数据端子D0。在一个实施例中,写入数据是多位数据。因此,数据输出端子SPI2_MISO基于时钟信号CS将写入数据逐位地发送到数据端子D0。数据输出端子SPI2_MISO可能需要时钟信号CS的第二预定数量的时钟周期以将写入数据发送到eMMC装置204。数据端子D0从数据输出端子SPI2_MISO接收写入数据。eMMC装置控制器212然后将写入数据存储在存储器阵列214中。
当第二预定数量的时钟周期过去并且数据写入操作完成时,DMA控制器310产生并发送第一中断信号到主机处理器304并且到模式控制器210。当模式控制器210接收到来自DMA控制器310的第一中断信号时,模式控制器210基于从命令处理机308接收的下一个命令来改变第二保留位的值。
为了执行诸如数据读取操作之类的另一个存储器访问操作,主机处理器304产生数据读取命令。在一个实施例中,数据读取命令包括将从其读取读取数据的存储器阵列214的存储器地址。数据读取命令还包括读取数据的数据大小的信息。主机装置202通过执行如上所述的用于发送数据写入命令的类似步骤来将数据读取命令发送到eMMC装置204。
当对数据读取命令的响应指示eMMC装置204准备好用于数据读取操作时,模式控制器210将第二保留位的值改变为'0'。基于第二保留位的值,数据输出端子SPI2_MISO被去激活,并且数据输入端子SPI2_MOSI被激活。换句话说,当eMMC装置204准备好用于数据读取操作时,模式控制器210修改第二保留位的值以使得第二SPI 208能按照第二接收模式操作。
主机处理器304将数据读取命令提供给DMA控制器310。然后,DMA控制器310控制主机装置202和eMMC装置204之间的读取数据传输。现在有效的数据输入端子SPI2_MOSI通过数据通道324从数据端子D0接收读取数据。在一个实施例中,读取数据是多位数据。因此,数据输入端子SPI2_MOSI基于时钟信号CS从数据端子D0逐位接收读取数据。数据输入端子SPI2_MOSI可能需要时钟信号CS的第三预定数量的时钟周期来从eMMC装置204接收读取数据。因此,时钟信号CS同步数据读取操作。数据输入端子SPI2_MOSI从数据端子D0接收读取数据。数据输入端子SPI2_MOSI将读取数据提供给数据存储器312。
当第三预定数量的时钟周期过去并且数据读取操作完成时,DMA控制器310产生并发送第二中断信号到主机处理器304,并且到模式控制器210。当模式控制器210接收到来自DMA控制器310的第二中断信号时,模式控制器210基于从命令处理机308接收到的下一个命令改变第二保留位的值。
在一个实施例中,DMA控制器310从数据存储器312接收读取数据并访问用于存储读取数据的主存储器。在另一个实施例中,数据存储器312将读取数据发送到位移位器314,位移位器314又将读取数据发送到主机处理器304。在一个实施例中,位移位器314处理读取数据以执行安装在主机装置202的主存储器中的各种用户应用程序。
在一个实施例中,当eMMC装置204被初始化时,主机装置202发送初始化命令以取出存储在嵌入在eMMC装置204内的eMMC寄存器(未示出)中的eMMC装置204的信息。在一个实施例中,eMMC寄存器被包括在存储器阵列214中。该信息可以包括eMMC装置204的制造商信息、版本信息、序列号信息等。在一个实施例中,当主机装置202发送不需要通过第二SPI208与eMMC装置204的数据发送和接收的操作命令时,模式控制器210仅控制第一SPI 206。主机装置202通过执行与用于发送数据读取和数据写入命令类似的步骤来将初始化命令和操作命令发送到eMMC装置204。
本领域普通技术人员将理解,主机装置202的范围不限于具有两个单独的控制寄存器,即,第一和第二控制寄存器300和302。在另一个实施例中,主机装置202可以仅包括具有分别用于控制第一和第二SPI 206和208的操作的两个保留位(即,第一和第二保留位)的一个控制寄存器(即,第一控制寄存器300或第二控制寄存器302)。因此,模式控制器210分别通过第一控制寄存器300的第一保留位和第二保留位,使得第一SPI 206能够按照在第一发送模式和第一接收模式操作,并且使得第二SPI 208能够按照第二发送模式和第二接收模式操作。
现在参考图4,示出了根据本发明的另一实施例的集成电路200的详细示意性框图。第二SPI 208产生芯片选择信号CSS。第二芯片选择端子SPI2_CS将芯片选择信号CSS发送至第一芯片选择端子SPI1_CS,由此使得第二SPI 208能够作为主SPI来操作。因此,接收芯片选择信号CSS的第一SPI 206充当从SPI。当芯片选择信号CSS有效时,第一SPI 206被启用。相反,当芯片选择信号CSS无效时,第一SPI 206被禁用。
当第二SPI 208是主SPI时,第二SPI 208产生并提供时钟信号CS给充当从SPI的第一SPI 206。第二时钟端子SPI2_CLK将时钟信号CS提供给第一时钟端子SPI1_CLK。第二时钟端子SPI2_CLK还通过时钟通道326将时钟信号CS发送到eMMC时钟端子CLK,用于使eMMC装置204与主机装置202同步。
本领域普通技术人员将会理解,当第二SPI 208是主SPI时,端子SPI2_MOSI和SPI2_MISO分别充当数据输出端子和数据输入端子。此外,当第一SPI 206是从SPI时,端子SPI1_MISO和SPI1_MOSI分别充当命令输出和响应输入端子。主机装置202执行到eMMC装置204的命令和数据传输,如图3中所解释的。
由于主机装置202使用第一和第二SPI 206和208与eMMC装置204进行通信,因此消除了对专用主机控制器的需要。因此,与包括专用主机控制器的传统主机装置相比,主机装置202需要更少的空间并且具有小的封装大小。主机装置202的小封装大小使得主机装置202能够用于具有最终产品大小限制的便携式电子装置中。由于第一和第二SPI 206和208不需要与主机装置202的主存储器进行交互,所以使用命令和数据存储器306和312解决了任何数据访问定时抖动问题。因此,主机装置202的操作速度与传统主机装置相比得到改善。由于主机处理器304和DMA控制器310分别能够与第一和第二SPI 206和208进行通信,所以主机装置202实现了比传统主机装置高的数据传输速率。
虽然已经说明和描述了本发明的各种实施例,但是显然本发明不仅限于这些实施例。在不脱离根据权利要求中所描述的本发明的精神和范围的情况下,许多修改、改变、变化、替换和等同物对于本领域技术人员而言将是显然的。

Claims (10)

1.一种与嵌入式多媒体卡eMMC装置通信的主机装置,所述主机装置包括:
第一串行外围接口SPI,具有命令输出端子SPI1_MOSI、响应输入端子SPI1_MISO、第一时钟端子SPI1_CLK和第一芯片选择端子SPI1_CS,命令输出端子SPI1_MOSI连接到所述eMMC装置的命令端子CMD,用于发送用于对所述eMMC装置执行数据写入操作的数据写入命令和用于对所述eMMC装置执行数据读取操作的数据读取命令中的至少一个,所述响应输入端子SPI1_MISO连接到所述命令端子CMD,用于接收对所述数据写入命令和所述数据读取命令中的至少一个的响应,其中所述第一SPI能够按照第一发送模式和第一接收模式之一操作;
第二SPI,具有数据输出端子SPI2_MISO、数据输入端子SPI2_MOSI、第二时钟端子SPI2_CLK以及第二芯片选择端子SPI2_CS,所述数据输出端子SPI2_MISO连接到所述eMMC装置的数据端子D0,用于基于所述数据写入命令向所述eMMC装置发送写入数据,所述数据输入端子SPI2_MOSI连接到所述数据端子D0,用于基于所述数据读取命令从所述eMMC装置接收读取数据,其中所述第二SPI能够按照第二发送模式和第二接收模式之一操作;
模式控制器,连接到所述第一SPI和所述第二SPI,所述模式控制器基于所述数据读取命令和所述数据写入命令,使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式操作,并且使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式操作;以及
第一电阻器和第二电阻器,所述第一电阻器和第二电阻器用作用于防止命令和数据通道的开路状况的故障安全电阻器。
2.根据权利要求1所述的主机装置,还包括:
主机处理器,通过所述第一SPI的所述命令输出端子SPI1_MOSI向所述eMMC装置提供所述数据读取命令和所述数据写入命令,并通过所述第一SPI的所述响应输入端子SPI1_MISO从所述eMMC装置接收对所述数据读取命令和所述数据写入命令的响应。
3.根据权利要求2所述的主机装置,还包括:
命令存储器,存储所述数据写入命令和所述数据读取命令中的至少一个以及提供对所述数据写入命令和所述数据读取命令之一的响应;
数据存储器,用于存储所述写入数据和所述读取数据;以及
命令处理机,从所述命令存储器接收所述数据读取命令和所述数据写入命令以及对所述数据读取命令和所述数据写入命令的响应,并将所述数据读取命令和所述数据写入命令以及对所述数据读取命令和所述数据写入命令的响应提供给所述模式控制器。
4.根据权利要求3所述的主机装置,还包括位移位器,所述位移位器从所述数据存储器接收所述读取数据,并将所述读取数据提供给所述主机处理器。
5.根据权利要求2所述的主机装置,还包括:
直接存储器访问DMA控制器,连接到所述主机处理器,用于通过所述第二SPI基于所述数据读取命令和所述数据写入命令分别执行所述数据读取操作和所述数据写入操作,其中所述DMA控制器产生并发送中断信号到所述主机处理器和所述模式控制器,以指示由所述第二SPI执行的所述数据读取操作和所述数据写入操作的完成。
6.根据权利要求1所述的主机装置,还包括:
第一控制寄存器,具有用于使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式之一操作的第一保留位,其中所述模式控制器基于所述数据读取命令和所述数据写入命令设置所述第一保留位的值,从而使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式之一操作;以及
第二控制寄存器,具有用于使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式操作的第二保留位,其中所述模式控制器基于所述数据读取命令和所述数据写入命令设置所述第二保留位的值,从而使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式之一操作。
7.根据权利要求1所述的主机装置,还包括第一控制寄存器,具有用于使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式操作的第一保留位和用于使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式操作的第二保留位,其中:
所述模式控制器基于所述数据读取命令和所述数据写入命令设置所述第一保留位的值,从而使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式之一操作;以及
所述模式控制器基于所述数据读取命令和所述数据写入命令设置所述第二保留位的值,从而使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式之一操作。
8.根据权利要求1所述的主机装置,其中所述第一SPI和所述第二SPI中的至少一个产生并发送时钟信号到另一SPI和所述eMMC装置,以同步所述数据读取操作和所述数据写入操作。
9.一种用于与嵌入式多媒体卡eMMC装置通信的主机装置,所述主机装置包括:
第一串行外围接口SPI,具有连接到所述eMMC装置的第一端子的命令输出端子SPI1_MOSI和连接到所述eMMC装置的第一端子的响应输入端子SPI1_MISO,所述命令输出端子SPI1_MOSI用于发送用于对所述eMMC装置执行数据写入操作的数据写入命令和用于对所述eMMC装置执行数据读取操作的数据读取命令中的至少一个,所述响应输入端子SPI1_MISO用于接收对所述数据写入命令和所述数据读取命令中的至少一个的响应,其中所述第一SPI能够按照第一发送模式和第一接收模式之一操作;
第二SPI,具有连接到所述eMMC装置的第二端子的数据输出端子SPI2_MISO和连接到所述eMMC装置的所述第二端子的数据输入端子SPI2_MOSI,所述数据输出端子SPI2_MISO用于基于所述数据写入命令向所述eMMC装置发送写入数据,所述数据输入端子SPI2_MOSI用于基于所述数据读取命令从所述eMMC装置接收读取数据,其中所述第二SPI能够按照第二发送模式和第二接收模式之一操作;
第一控制寄存器,具有用于使得所述第一SPI能够按照所述第一发送模式和所述第一接收模式之一操作的第一保留位和用于使得所述第二SPI能够按照所述第二发送模式和所述第二接收模式之一操作的第二保留位;
模式控制器,基于所述数据写入命令和所述数据读取命令中的至少一个设置所述第一保留位和所述第二保留位的值,从而使得所述第一SPI和所述第二SPI分别能够按照所述第一发送模式和所述第一接收模式操作之一以及所述第二发送模式和所述第二接收模式之一操作;
第一电阻器和第二电阻器,所述第一电阻器和第二电阻器用作用于防止命令和数据通道的开路状况的故障安全电阻器;
主机处理器,通过所述第一SPI向所述eMMC装置提供所述数据写入命令和所述数据读取命令中的至少一个,并通过所述第一SPI从所述eMMC装置接收对所述数据写入命令和所述数据读取命令中的至少一个的响应;
命令存储器,存储所述数据写入命令和所述数据读取命令中的至少一个以及对所述数据写入命令和所述数据读取命令中的至少一个的响应;
数据存储器,存储所述写入数据和所述读取数据中的至少一个;以及
命令处理机,从所述命令存储器接收所述数据写入命令和所述数据读取命令中的至少一个以及对所述数据写入命令和所述数据读取命令中的至少一个的响应,并将所述数据写入命令和所述数据读取命令中的至少一个以及对所述数据写入命令和所述数据读取命令中的至少一个的响应提供给所述模式控制器。
10.一种集成电路,包括:
主机装置,包括具有命令输出端子SPI1_MOSI、响应输入端子SPI1_MISO、第一时钟端子SPI1_CLK和第一芯片选择端子SPI1_CS的第一串行外围接口SPI以及具有数据输出端子SPI2_MISO、数据输入端子SPI2_MOSI、第二时钟端子SPI2_CLK以及第二芯片选择端子SPI2_CS的第二SPI;以及
与所述主机装置连接的嵌入式多媒体卡eMMC装置,其中所述eMMC装置包括:(i)存储器阵列,用于存储从所述主机装置接收的数据;(ii)连接到所述第一SPI的所述命令输出端子SPI1_MOSI的第一端子,用于从所述主机装置接收数据读取命令和数据写入命令,并且用于将响应发送到所述主机装置;以及(iii)连接到所述第二SPI的数据输入端子SPI2_MOSI和数据输出端子SPI2_MISO的第二端子,其中所述eMMC装置响应于数据读取命令将从所述存储器阵列读取的读取数据发送到所述主机装置,并且所述主机装置响应于写入数据命令将写入数据发送到所述eMMC用于存储在所述存储器阵列中,
其中所述第一SPI能够按照第一发送模式和第一接收模式操作,并且所述第二SPI能够按照第二发送模式和第二接收模式操作,以及
其中所述主机装置进一步包括模式控制器,所述模式控制器基于所述数据读取命令和所述数据写入命令,使所述第一SPI按照所述第一发送模式和所述第一接收模式之一操作,并且使所述第二SPI按照所述第二发送模式和所述第二接收模式之一操作;以及
所述主机装置进一步包括第一电阻器和第二电阻器,所述第一电阻器和第二电阻器用作用于防止命令和数据通道的开路状况的故障安全电阻器。
CN201711438484.8A 2017-12-27 2017-12-27 与嵌入式多媒体卡装置通信的主机装置 Active CN109977041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711438484.8A CN109977041B (zh) 2017-12-27 2017-12-27 与嵌入式多媒体卡装置通信的主机装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711438484.8A CN109977041B (zh) 2017-12-27 2017-12-27 与嵌入式多媒体卡装置通信的主机装置

Publications (2)

Publication Number Publication Date
CN109977041A CN109977041A (zh) 2019-07-05
CN109977041B true CN109977041B (zh) 2024-05-24

Family

ID=67071383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711438484.8A Active CN109977041B (zh) 2017-12-27 2017-12-27 与嵌入式多媒体卡装置通信的主机装置

Country Status (1)

Country Link
CN (1) CN109977041B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600787B (zh) * 2020-11-16 2023-07-07 江苏徐工工程机械研究院有限公司 一种通信系统及通信方法
CN112506838A (zh) * 2021-02-03 2021-03-16 青岛鼎信通讯股份有限公司 一种应用于ir46电表检定装置的spi时钟同步方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101718970A (zh) * 2008-10-08 2010-06-02 通用汽车环球科技运作公司 用于车辆用电牵引系统中的变换器的多处理器控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309652A (ja) * 2004-04-20 2005-11-04 Fujitsu Ltd マイクロコントローラ
KR101919903B1 (ko) * 2012-09-14 2018-11-19 삼성전자 주식회사 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101718970A (zh) * 2008-10-08 2010-06-02 通用汽车环球科技运作公司 用于车辆用电牵引系统中的变换器的多处理器控制器

Also Published As

Publication number Publication date
CN109977041A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
US10318179B1 (en) Host device to embedded multi-media card device communication
US9619175B2 (en) Embedded multimedia card (eMMC), host for controlling the eMMC, and methods of operating the eMMC and the host
EP1132824B1 (en) Electronic device with card interface
US8683149B2 (en) Reconfigurable memory controller
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
US20190213164A1 (en) Mobile device and interfacing method thereof
TW200413937A (en) Combination non-volatile memory and input-output card with direct memory access
US20100064083A1 (en) Communications device without passive pullup components
CN107710179B (zh) 具有多个sdio单元的多址单sdio接口
US9483427B2 (en) Data storage apparatus
CN109977041B (zh) 与嵌入式多媒体卡装置通信的主机装置
EP3382567B1 (en) Multiple storage devices implemented using a common connector
US10127172B2 (en) Single SDIO interface with multiple SDIO units
US20200242066A1 (en) Semiconductor integrated circuit and operation method thereof
US9563586B2 (en) Shims for processor interface
US9811485B2 (en) Single relay SDIO interface with multiple SDIO units
US20070005847A1 (en) Data transfer control device and electronic instrument
US6845444B2 (en) Method and apparatus for reducing strapping devices
US9311261B2 (en) Universal serial interface and semiconductor device including the same
US20070131767A1 (en) System and method for media card communication
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
JP2006509279A (ja) 複数のメモリコントローラを持つメモリシステム及びその同期化方法。
US7730233B2 (en) Data transfer control device and electronic instrument

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