CN102508801A - 主机驱动装置和方法及传输控制装置和方法 - Google Patents

主机驱动装置和方法及传输控制装置和方法 Download PDF

Info

Publication number
CN102508801A
CN102508801A CN2011103475992A CN201110347599A CN102508801A CN 102508801 A CN102508801 A CN 102508801A CN 2011103475992 A CN2011103475992 A CN 2011103475992A CN 201110347599 A CN201110347599 A CN 201110347599A CN 102508801 A CN102508801 A CN 102508801A
Authority
CN
China
Prior art keywords
pin
card
transmission
host
dmarq
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.)
Granted
Application number
CN2011103475992A
Other languages
English (en)
Other versions
CN102508801B (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201110347599.2A priority Critical patent/CN102508801B/zh
Publication of CN102508801A publication Critical patent/CN102508801A/zh
Application granted granted Critical
Publication of CN102508801B publication Critical patent/CN102508801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明提供了一种主机驱动装置和方法及传输控制装置和方法。对于TrueIDE模式的CF卡,本发明仍使CF卡受控于Host的不具有DMA引擎的I/O总线接口,从而允许I/O总线的占用权能够随时切换至I/O通信模块;但是,本发明通过改进Host的驱动方式、以及在CF卡与Host之间的信号适配,能够使CF卡工作在DMA传输模式、而非PIO传输模式,从而能够在没有I/O通信模块占用I/O总线时利用DMA传输模式提高传输效率、在有I/O通信模块需要占用I/O总线时又能够使CF卡让出I/O总线。

Description

主机驱动装置和方法及传输控制装置和方法
技术领域
本发明涉及CF(Compact Flash,紧凑式闪存)卡技术,特别涉及用于CF卡的主机驱动装置和方法及传输控制装置和方法。
背景技术
CF卡作为一种先进的移动存储产品,其具有高速度、大容量、体积小、重量轻、功耗低等优点,并且能够适配ATA(Advanced TechnologyAttachment,先进技术附属)、IDE(Integrated Device Electronics,集成电路设备)接口。
CF卡有三种管脚定义模式:Memory Card(存储卡)模式、I/O Card(I/O卡)模式、以及True IDE(标准IDE)模式。其中,CF卡在True IDE模式下与主机通信的信号最少、硬件接口最简单、软件易于实现,并且IDE接口的应用更为普及、应用更为成熟,因而CF卡最常使用True IDE模式。
在True IDE模式下,CF卡的支持三种数据传输模式:PIO(ProgrammingInput/Output Model,设计输入/输出模型)模式、DMA(Direct Memory Access,直接内存访问)模式和UDMA(Ultra Direct Memory Access,高级直接内存访问)模式。其中:
在True IDE PIO传输模式下,CF卡的读、写访问是由Host(主机)的I/O总线接口来控制的,并且,如图1所示,对于CF卡被读、写访问的每一Sector(大小为512Bytes的扇区)来说,均需要等待CF卡的一次传输准备以及在传输准备完成之后产生一次中断(如图1中的交叉线区域所示)、并待Host确认该次中断(如图1中的空白区域所示)之后才能够开始一个Sector的传输(如图1中的阴影区域所示);即,CF卡在受控于I/O总线接口的True IDE PIO传输模式下无法连续传输(本文所述的“连续传输”是指相邻Sector之间不会被中断间隔)多个Sector;
在True IDE DMA传输模式下,CF卡的读、写访问是由Host指令一DMA引擎(集成在Host的I/O总线接口中或独立于Host之外)来控制的,并且,如图2所示,对于CF卡被读、写访问的多个Sector来说,只需要等待CF卡的一次传输准备(如图2中的交叉线区域所示)即可开始多个Sector的转输(如图2中的阴影区域所示)、以及多个Sector的转输之后再由CF卡产生一次中断并由Host确认该次中断(图2中未示出);即,CF卡在受控于DMA引擎的True IDE DMA传输模式下能够连续传输多个Sector;
在True IDE UDMA传输模式下,CF卡的读、写也是由Host指令一DMA引擎来控制的,并且,实现原理与True IDE DMA传输模式基本相同。
上述的True IDE的三种传输模式中,True IDE PIO传输模式和True IDEDMA传输模式的接口电气要求基本相同,而True IDE UDMA传输模式的接口电气要求则相对更高,因此,多数CF卡仅能够实现True IDE PIO传输模式和True IDE DMA传输模式。
由于CF卡所具有的如前文所述的各种优点,因而CF卡已经成为数据通信设备(例如路由器和交换机)常备的非易失性存储介质,用于保存启动文件、配置文件和日志文件等系统文件。
图3为现有技术中包含有CF卡的数据通信设备的系统框架示意图。如图3所示,该数据通信设备包括SOC CPU、CF卡、Boot芯片、以及I/O通信模块,其中,还CF卡、Boot芯片、以及I/O通信模块挂接于SOC CPU的I/O总线。
其中,如图3所示的SOC CPU作为Host、其I/O总线接口中通常都不会集成DMA引擎,而且,CF卡属于数据通信设备中的非核心业务器件,如图3所示的数据通信设备中也不会针对非核心业务器件而额外设置独立的DMA引擎,因此,对于True IDE模式的CF卡来说,就只能够以受控于I/O总线接口的True IDE PIO传输模式来实现传输。
此外,在如图3所示的数据通信设备中,应用CF卡需要满足如下要求:
1、I/O通信模块的传输数据量通常较小、但实时性要求较高,因而I/O通信模块占用I/O总线传输数据的优先级高于CF卡,相应地,CF卡的数据传输过程可以被I/O通信模块随时打断、并能够随时恢复。
2、在没有I/O通信模块占用I/O总线时,CF卡的传输效率应尽可能的高。
对于上述的要求1,由于在True IDE PIO传输模式下,各Sector之间的传输是间断的,且每一个Sector的传输是由256个独立的I/O访问组成、每次I/O访问传输16比特数据、每传输16比特数据的持续时间又极短(约80ns),因而,True IDE PIO传输模式便于I/O总线接口能够及时将I/O总线的占用权切换至I/O通信模块、以满足I/O通信模块的实时性要求;
但对上述的要求2,由于在True IDE PIO传输模式,各Sector之间的传输是间断的,因而会导致传输效率不高、即无法满足传输效率应尽可能高的要求。
发明内容
有鉴于此,本发明提供一种主机驱动装置和主机驱动方法、以及一种传输控制装置和传输控制方法。
本发明提供的一种主机驱动装置,包括:
调用触发模块,依据接收到的表示访问CF卡的调用命令,通过I/O总线接口的数据线管脚输出DMA访问命令至CF卡;
片选提示模块,在所述调用触发模块输出所述DMA访问命令后,通过所述预定义管脚指示一传输控制装置将CF卡的片选管脚与I/O总线接口的片选管脚断开并置为无效;
有效应答模块,在所述调用触发模块输出所述DMA访问命令后,处理第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚有效的中断、并通过预定义管脚指示所述传输控制装置将CF卡DMACK管脚置为有效;
数据传输模块,在所述片选提示模块和所述有效应答模块均发出指示后,通过所述数据线管脚以True IDE DMA传输模式的时序与CF卡传输数据;
无效应答模块,在所述数据传输模块完成传输后,处理所述第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚无效的中断、并通过所述预定义管脚指示所述传输控制装置将CF卡的CF_DMACK管脚置为无效;
调用终止模块,在所述数据传输模块完成传输后,处理第二中断管脚从CF卡接收到的表示完成传输的中断、并返回表示调用结束的返回命令。
进一步包括:
传输暂停模块,用于在需要CF卡让出I/O总线时使所述数据传输模块已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时触发所述数据传输模块继续传输。
进一步包括:
检测响应模块,用于在所述数据传输模块已开始但未完成转输时,检测所述第一中断管脚以及所述第二中断管脚是否有中断;
若仅有所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断,则触发所述无效应答模块并使所述数据传输模块的传输暂停、待所述有效应答模块接收到表示CF卡DMARQ管脚有效的中断之后触发所述数据传输模块继续传输;
若所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断、以及所述第二中断管脚又接收到CF卡发送的表示错误的中断,则触发所述无效应答模块和所述调用终止模块、并使所述数据传输模块的传输终止。
进一步包括:
片选恢复模块,在所述数据传输模块完成传输或所述传输终止后,通过所述预定义管脚指示所述传输控制装置将CF卡片选管脚与所述I/O总线接口的片选管脚恢复导通。
进一步包括:
中断使能模块,在所述调用触发模块输出所述DMA访问命令之后,通过所述预定义管脚使能所述传输控制装置针对CF卡DMARQ管脚的状态上报中断;
使能取消模块,在所述数据传输模块完成传输且所述无效应答模块发出指示后、或者在所述传输终止后,通过所述预定义管脚指示所述传输控制装置取消所述使能。
所述数据线管脚复用为所述预定义管脚。
本发明提供的一种传输控制装置,包括:
逻辑接口,用于通过Host的预定义管脚与Host交互;
握手管脚控制逻辑电路,用于在CF卡DMARQ管脚跳变为有效后向Host的第一中断管脚上报表示CF卡DMARQ管脚有效的中断、并依据所述逻辑接口接收的Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为有效;在CF卡DMARQ管脚跳变为无效后向所述第一中断管脚上报表示CF卡DMARQ管脚无效的中断、并依据所述逻辑接口接收的Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为无效;
片选管脚控制逻辑电路,用于依据所述逻辑接口接收的Host在向CF卡发送DMA访问命令后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并将CF卡片选管脚强置为无效;
访问管脚控制逻辑电路,用于在所述I/O总线接口的片选管脚有效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚导通、在所述I/O总线接口的片选管脚无效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚断开。
所述I/O总线接口的片选管脚无效是由于所述传输中的数据间隔、或CF卡让出I/O总线所至。
CF卡DMARQ管脚无效是由于CF卡完成传输、或CF卡暂停传输、或CF卡发生传输错误所致。
所述片选管脚控制逻辑电路进一步依据所述逻辑接口接收的Host在完成所述传输、或在由于所述传输错误而终止所述传输后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并取消对CF卡片选管脚的强置无效。
所述握手管脚控制逻辑电路进一步依据所述逻辑接口接收的Host在向CF卡发送DMA访问命令后的对应指示,开启中断上报功能;以及,依据所述逻辑接口接收的Host在完成所述传输并已收到CF卡DMARQ管脚无效的中断后、或在由于所述传输错误而终止所述传输后的对应指示,关闭中断上报功能。
所述逻辑接口中设置有:
DMARQ中断使能字段,用于被Host置为有效值、以表示所述使能;被Host置为无效值、以表示取消所述使能;
DMARQ有效标志字段,用于被所述握手管脚控制逻辑电路在CF卡DMARQ管脚有效时置为有效值、以表示有CF卡DMARQ管脚有效的中断;被Host在处理CF卡DMARQ管脚有效的中断后置为无效值、以表示无CF卡DMARQ管脚有效的中断;
DMARQ无效标志字段,用于被握手管脚控制逻辑电路在CF_DMARQ管脚无效时置为有效值1、以表示有CF卡DMARQ管脚无效的中断;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值0、以表示无CF_DMARQ管脚无效的中断;
DMACK应答指示字段,用于被Host在处理CF卡DMARQ管脚有效的中断后置为有效值、以表示将CF卡DMACK管脚置为有效的指示;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值、以表示将CF卡DMACK管脚置为无效的指示;
CE状态指示字段,用于被Host在发出所述DMA访问命令后置为有效值1、以表示将CF卡片选管脚与所述I/O总线接口的片选管脚断开并强置为无效的指示;被Host在完成传输或由于所述传输错误而终止所述传输后置为无效值0、以表示恢复CF卡片选管脚与所述I/O总线接口的片选管脚为导通状态的指示。
本发明提供的一种主机驱动方法,包括:
步骤a1,依据接收到的表示访问CF卡的调用命令,通过I/O总线接口的数据线管脚输出DMA访问命令至CF卡;
步骤a2,在所述步骤a1输出所述DMA访问命令后,通过所述预定义管脚指示一传输控制装置将CF卡的片选管脚与I/O总线接口的片选管脚断开并置为无效;
步骤a3,在所述步骤a1输出所述DMA访问命令后,处理第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚有效的中断、并通过预定义管脚指示所述传输控制装置将CF卡DMACK管脚置为有效;
步骤a4,在所述步骤a2和所述步骤a3均发出指示后,通过所述数据线管脚以True IDE DMA传输模式的时序与CF卡传输数据;
步骤a5,在所述步骤a4完成传输后,处理所述第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚无效的中断、并通过所述预定义管脚指示所述传输控制装置将CF卡的CF_DMACK管脚置为无效;
步骤a6,在所述步骤a4完成传输后,处理第二中断管脚从CF卡接收到的表示完成传输的中断、并返回表示调用结束的返回命令。
进一步包括:
步骤b0,在需要CF卡让出I/O总线时使所述步骤a4已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时触发所述步骤a4继续传输。
进一步包括:
步骤c0,在所述步骤a4已开始但未完成时,检测所述第一中断管脚以及所述第二中断管脚是否有中断;
若仅有所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断,则进一步触发所述步骤a5、并使所述步骤a4的传输暂停,待所述步骤a3接收到表示CF卡DMARQ管脚有效的中断之后触发所述步骤a4继续传输;
若所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断、以及所述第二中断管脚又接收到CF卡发送的表示错误的中断,则触发所述步骤a5和所述步骤a6、并使所述步骤a4的传输终止。
进一步包括:
步骤d0,在所述步骤a4完成传输或所述步骤a4的传输终止后,通过所述预定义管脚指示所述传输控制装置将CF卡片选管脚与所述I/O总线接口的片选管脚恢复导通。
进一步包括:
步骤e1,在所述步骤a1输出所述DMA访问命令之后,通过所述预定义管脚使能所述传输控制装置针对CF卡DMARQ管脚的状态上报中断;
步骤e2,在所述步骤a4完成传输且所述步骤a5发出指示后、或者在所述步骤a4的传输终止后,通过所述预定义管脚指示所述传输控制装置取消所述使能。
该主机驱动方法将所述数据线管脚复用为所述预定义管脚。
本发明提供的一种传输控制方法,包括:
步骤A,依据Host在向CF卡发送DMA访问命令后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并将CF卡片选管脚强置为无效;
步骤B,在CF卡DMARQ管脚跳变为有效后向Host的第一中断管脚上报表示CF卡DMARQ管脚有效的中断、并依据Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为有效;
步骤C,在所述I/O总线接口的片选管脚有效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚导通、在所述I/O总线接口的片选管脚无效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚断开;
步骤D,在CF卡DMARQ管脚跳变为无效后向所述第一中断管脚上报表示CF卡DMARQ管脚无效的中断、并依据Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为无效。
所述I/O总线接口的片选管脚无效是由于所述传输中的数据间隔、或CF卡让出I/O总线所至。
CF卡DMARQ管脚无效是由于CF卡完成传输、或CF卡暂停传输、或CF卡发生传输错误所致;
若是由于CF卡完成传输或CF卡发生传输错误所致,则所述步骤D之后直接结束流程;
若是由于CF卡暂停传输所致,则所述步骤D之后再返回至所述步骤B。
所述步骤B进一步依据Host在完成所述传输、或在由于所述传输错误而终止所述传输后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并取消对CF卡片选管脚的强置无效。
所述步骤A进一步依据Host在向CF卡发送DMA访问命令后的对应指示,开启中断上报功能;以及,依据Host在完成所述传输并已收到CF卡DMARQ管脚无效的中断后、或在由于所述传输错误而终止所述传输后的对应指示,关闭中断上报功能。
该方法进一步设置有:
DMARQ中断使能字段,用于被Host置为有效值、以表示所述使能;被Host置为无效值、以表示取消所述使能;
DMARQ有效标志字段,用于被所述步骤B在CF卡DMARQ管脚有效时置为有效值、以表示有CF卡DMARQ管脚有效的中断;被Host在处理CF卡DMARQ管脚有效的中断后置为无效值、以表示无CF卡DMARQ管脚有效的中断;
DMARQ无效标志字段,用于被所述步骤D在CF_DMARQ管脚无效时置为有效值1、以表示有CF卡DMARQ管脚无效的中断;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值0、以表示无CF_DMARQ管脚无效的中断;
DMACK应答指示字段,用于被Host在处理CF卡DMARQ管脚有效的中断后置为有效值、以表示将CF卡DMACK管脚置为有效的指示;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值、以表示将CF卡DMACK管脚置为无效的指示;
CE状态指示字段,用于被Host在发出所述DMA访问命令后置为有效值1、以表示将CF卡片选管脚与所述I/O总线接口的片选管脚断开并强置为无效的指示;被Host在完成传输或由于所述传输错误而终止所述传输后置为无效值0、以表示恢复CF卡片选管脚与所述I/O总线接口的片选管脚为导通状态的指示。
如上可见,对于True IDE模式的CF卡,本发明仍使CF卡受控于Host的不具有DMA引擎的I/O总线接口,从而允许I/O总线的占用权能够随时切换至I/O通信模块;但是,本发明通过改进Host的驱动方式、以及在CF卡与Host之间的信号适配,能够使CF卡工作在True IDE DMA传输模式、而非True IDE PIO传输模式,从而能够在没有I/O通信模块占用I/O总线时利用DMA传输模式提高传输效率、在有I/O通信模块需要占用I/O总线时又能够使CF卡让出I/O总线。
附图说明
图1为现有技术中以True IDE PIO传输模式传输数据的示意图;
图2为现有技术中以True IDE DMA传输模式传输数据的示意图;
图3现有技术中包含有CF卡的数据通信设备的系统框架示意图;
图4为True IDE PIO传输模式的时序图;
图5为True IDE DMA传输模式的时序图;
图6为本发明实施例中的主机驱动装置和传输控制装置的结构示意图;
图7为如图6中所示的传输控制装置的逻辑接口的优选结构示意图;
图8a至图8c为本发明实施例中的主机驱动方法的流程示意图;
图9a至图9c为本发明实施例中的传输控制方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
如背景技术部分的分析可知:
CF卡工作在True IDE PIO传输模式下的传输效率较低主要是由于多个Sector无法连续传输所致,相比之下,由于True IDE DMA传输模式能够实现多个Sector的连续传输,因而如果CF卡工作在True IDE DMA传输模式,则传输效率就能够有所提高;
但是,对于不具有DMA引擎的I/O总线接口,CF卡只能够受控于I/O总线接口、并工作在True IDE PIO传输模式。
为了解决上述矛盾,本发明实施例中仍使CF卡受控于Host的不具有DMA引擎的I/O总线接口,从而允许I/O总线的占用权能够随时切换至I/O通信模块;但是,本发明实施例中通过改进Host的驱动方式、以及在CF卡与Host之间的信号适配,能够使CF卡工作在True IDE DMA传输模式、而非True IDE PIO传输模式,从而能够在没有I/O通信模块占用I/O总线时利用DMA传输模式(消除Sector之间用于准备及中断的等待时间)提高传输效率、在有I/O通信模块需要占用I/O总线时又能够使CF卡让出I/O总线。
下面,结合True IDE PIO传输模式与True IDE DMA传输模式的时序比对,详细说明本发明实施例中对Host驱动方式的改进、以及在CF卡与Host之间的信号适配。
图4为True IDE PIO传输模式的时序图。如图4所示,在以Host的I/O总线接口所控制的True IDE PIO传输模式中:
数据线D[15:0],用于传输数据;
地址线A[2:0],针对数据线D[15:0]所传输的数据,需要相应地切换形成对应的有效电平组合(具体请参照CF卡的规范协议);
片选信号线CE0和CE1,针对数据线D[15:0]所传输的每16比特数据,这两者之一(通常是CE0)需要相应地切换至低电平有效,其余无数据传输的时刻(I/O通信模块占用I/O总线时的无数据传输期间、以及数据传输期间的正常间隔)则这两者均切换至高电平无效;
访问控制信号线IORD和IOWR,针对数据线D[15:0]所传输的每16比特数据,这两者之一(读访问时为IORD、写访问时为IOWR)需要相应地切换至低电平有效,其余时刻(I/O通信模块占用I/O总线时的无数据传输期间、以及数据传输期间的正常间隔)则这两者均切换至高电平无效。
另外,对于不具有DMA引擎的I/O总线接口来说,如图4所示的时序是只能是由PIO访问命令(用于读访问的PIO读命令或用于写访问的PIO写命令)所触发,其中:
PIO访问命令也通过数据线D[15:0]传输,并需要地址线A[2:0]管脚相应地切换形成对应的有效电平组合(具体请参照CF卡的规范协议);
并且,在传输PIO访问命令时,CE0和CE1之一(具体请参照CF卡的规范协议)需要相应地切换至低电平有效、以及IOWR管脚相应地切换至低电平有效。
图5为True IDE DMA传输模式的时序意图。如图5所示,在以DMA引擎所控制的True IDE DMA传输模式中:
数据线D[15:0],用于传输数据;
地址线A[2:0],针对数据线D[15:0]所传输的数据不需要具有任何特定状态,即,True IDE DMA传输模式下的数据传输与地址线A[2:0]的状态无关,故图5中省略了地址线A[2:0]的时序;
DMA握手信号线DMARQ和DMACK,其中的DMARQ在CF卡完成数据传输准备(可以是针对连续多个Sector)后会主动由高电平无效跳变至低电平有效、在数据传输(可以是连续多个Sector)完成后会主动由低电平有效跳变至高电平无效,其中的DMACK在CF卡完成传输准备后需要由高电平无效被置为低电平有效、在CF卡于传输完成后上报的中断被确认后需要由低电平有效被置为高电平无效;
片选信号线CE0和CE1,在True IDE DMA传输模式下,无论数据线D[15:0]是否有数据传输,这两者均需要保持在高电平无效;
访问控制信号线IORD和IOWR,针对数据线D[15:0]所传输的每16比特数据,这两者之一(读访问时为IORD、写访问时为IOWR)需要相应地切换至低电平有效,其余时刻(I/O通信模块占用I/O总线时的无数据传输期间、以及数据传输期间的正常间隔)则这两者均切换至高电平无效。
另外,如图5所示的时序是由DMA访问命令(用于读访问的DMA读命令或用于写访问的DMA写命令)触发,其中:
DMA访问命令也通过数据线D[15:0]传输,并需要地址线A[2:0]管脚相应地切换形成对应的有效电平组合(具体请参照CF卡的规范协议);
并且,在传输DMA访问命令时,CE0和CE1之一(具体请参照CF卡的规范协议)需要相应地切换至低电平有效、以及IOWR管脚相应地切换至低电平有效。
在本发明实施例中:
Host的I/O总线接口与如图4所示的时序相对应,并具有只能够遵循如图4所示时序的数据线HOST_D[15:0]管脚、地址线HOST_A[2:0]管脚、片选信号线HOST_CE0管脚和HOST_CE1管脚、以及HOST_IORD管脚和HOST_IOWR管脚;
CF卡则与如图5所示的时序相对应,具有需要符合如图5所示时序的数据线CF_D[15:0]管脚、握手信号线CF_DMARQ管脚和CF_DMACK管脚、地址线CF_A[2:0]管脚、片选信号线CF_CE0管脚和CF CE1管脚、以及CF_IORD管脚和CF_IOWR管脚。
通过比对图4和图5所涉及的管脚时序可以明显看出,只能遵循如图4所示时序的I/O总线接口与需要符合如图5所示时序的CF卡之间存在诸多冲突。
针对上述的冲突,本发明实施例对Host的驱动方式的改进主要包括:
1、由于只有DMA访问命令才能够触发CF卡的True IDE DMA传输模式,因此:
本发明实施例需要Host能够向CF卡产生DMA访问命令、而非PIO访问命令。
2、对于CF卡来说,True IDE DMA传输模式的启动和结束均依赖于按照如图5所示时序来识别CF_DMARQ管脚的状态、以及控制CF_DMACK管脚的状态变化,但Host的I/O总线接口并不具有相应的管脚、即无法识别CF_DMARQ管脚的状态以及控制CF_DMACK管脚的状态,因此:
本发明实施例需要Host能够借助其他方式来识别CF卡的CF_DMARQ管脚的状态、以及控制CF卡的CF_DMACK管脚的状态。
3、对于CF卡来说,True IDE DMA传输模式下必须使CF_CE0管脚和CF_CE1管脚按照如图5所示的时序而均处于高电平无效,而I/O总线接口的HOST_CE0管脚和的HOST_CE1管脚只能够遵循如图4所示的时序、即与CF_CE0管脚和CF_CE1管脚在True IDE DMA传输模式下的时序要求产生冲突,因此:
本发明实施例需要Host能够发出提示、以借助其他方式来阻止CF_CE0管脚和CF_CE1管脚受控于HOST_CE0管脚和HOST_CE1管脚、并确保CF_CE0管脚和CF_CE1管脚在True IDE DMA传输模式下持续在高电平无效。
4、由于CF卡工作在True IDE DMA传输模式,因此:
本发明实施例也需要Host能够以True IDE DMA传输模式的时序传输数据,即,无需等待每两个Sector的数据之间的准备和中断、而是连续传输Sector数据。
针对上述的冲突,本发明实施例在CF卡与Host之间的信号适配主要包括:
1、关于DMA握手信号线DMARQ和DMACK的适配:
由于Host的I/O总线接口并不具有相应的管脚、即无法识别CF_DMARQ管脚的状态以及控制CF_DMACK管脚的状态,因此,本发明实施例需要于Host外部搭建用于Host识别CF卡的CF_DMARQ管脚、以及用于Host控制CF卡的CF_DMACK管脚的通道;
其中,用于Host识别CF_DMARQ管脚的通道可以借用Host的中断管脚(不属于I/O总线接口),而用于Host控制CF_DMACK管脚的通道则可以借用Host可用来传输信息的任意预定义管脚。
2、关于片选信号线CE0和CE1的适配:
CF卡的CF_CE0管脚和CF_CE1管脚在True IDE DMA传输模式下必须持续在高电平无效,但I/O总线接口的HOST_CE0管脚和HOST_CE1管脚的时序又无法满足CF_CE0管脚和CF_CE1管脚在True IDE DMA传输模式下的该时序要求;
因此,本发明实施例在CF卡以True IDE DMA传输模式与Host传输数据时,需要将CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚断开(即断开片选信号线CE0和CE1)、并将CF_CE0管脚和CF_CE1管脚强置为高电平无效。
此外,即便CF卡工作在True IDE DMA传输模式,但在Host向CF卡传输DMA访问命令时也仍然需要CF_CE0管脚和CF_CE1管脚之一(具体请参照CF卡的规范协议)随着对应的HOST_CE0管脚或HOST_CE1管脚而相应地变为低电平有效;
因此,本发明实施例只需要在CF卡以True IDE DMA传输模式与Host传输数据时实现上述的断开以及强至无效,而在除传输数据之外的其余时刻则仍可将CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚导通(即导通片选信号线CE0和CE1)。
即,本发明实施例对片选信号线CE0和CE1的适配,需要依据Host利用改进后的驱动方式所发出的提示而相应地在上述的导通与断开之间切换。
3、关于访问控制信号线IORD和IOWR的适配:
无论是True IDE PIO传输模式还是True IDE DMA传输模式,访问控制信号线IORD和IOWR在数据传输过程中均需要针对每16比特数据而变为有效;
因此,在传输数据的过程中,可借助I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚,分别控制CF卡的CF_IORD管脚和CF_IOWR管脚。
另外,当有I/O通信模块占用I/O总线时,还需要通过避免CF_IORD管脚和CF_IOWR管脚的有效而暂停CF卡的传输。
为了同时满足上述的两个要求,本发明实施例利用I/O总线接口的HOST_CE0管脚和HOST_CE1管脚之一(通常为HOST_CE0管脚)来控制HOST_IORD管脚与CF_IORD管脚的导通和断开、以及HOST_IOWR管脚与CF_IOWR管脚的导通和断开。
这是因为,在I/O总线接口所遵循的如图4所示时序中,HOST_CE0管脚和HOST_CE1管脚之一(通常为HOST_CE0管脚)与HOST_IORD管脚和HOST_IOWR管脚是基本同步的。
那么,在正常的传输过程中:
当HOST_CE0管脚和HOST_CE1管脚之一(通常为HOST_CE0管脚)针对每16比特数据而变为有效时,将此时同步有效的HOST_IORD管脚与CF_IORD管脚导通、以及将此时同步有效的HOST_IOWR管脚与CF_IOWR管脚导通,即可使CF_IORD管脚和CF_IOWR管脚针对每16比特数据而变为有效;
而当HOST_CE0管脚和HOST_CE1管脚之一(通常为HOST_CE0管脚)针对相邻16比特数据之间的正常间隔而变为无效时,将此时同步无效的HOST_IORD管脚与CF_IORD管脚断开、以及将此时同步无效的HOST_IOWR管脚与CF_IOWR管脚断开,也不会影响CF_IORD管脚和CF_IOWR管脚在断开后变为无效;
从而,能够确保CF_IORD管脚和CF_IOWR管脚按照如图5所示的时序变化控制CF卡传输。
另外,在有I/O通信模块占用I/O总线、并使CF卡让出I/O总线暂停传输的过程中:
HOST_CE0管脚和HOST_CE1管脚均会由于CF卡让出I/O总线而持续无效,此时,HOST_IORD管脚与CF_IORD管脚相应地持续断开、以及HOST_IOWR管脚与CF_IOWR管脚也相应地持续断开,并且,断开后的CF_IORD管脚和CF_IOWR管脚当然也会持续为无效,从而使CF卡能够暂停传输;
并且,只要CF卡恢复I/O总线的占用权,CF_IORD管脚和CF_IOWR管脚又会按照前述正常传输过程中的方式控制CF卡继续传输。
为了实现上述对Host驱动方式的改进,本发明实施例提供了一种主机驱动装置;而为了实现在CF卡与Host之间的上述信号适配,本发明实施例提供了一种传输控制装置。
图6为本发明实施例中的主机驱动装置和传输控制装置的结构示意图。在图6中,主机驱动装置承载于Host中、并位于Host中承载有文件系统的处理内核与Host的I/O总线接口之间(可以由计算机程序实现),传输控制装置则独立于Host和CF卡之外、并位于Host与CF卡之间(可以由例如FPGA或CPLD等逻辑器件实现),以及:
Host的I/O总线接口中的HOST_D[15:0]管脚与CF卡的CF_D[15:0]管脚直连形成数据线D[15:0]、并同时被传输控制装置复用;
Host的I/O总线接口中的HOST_A[2:0]管脚与CF卡的CF_A[2:0]管脚直连形成地址线A[2:0]、并同时被传输控制装置复用;
Host的I/O总线接口中的HOST_CE0管脚和HOST_CE1管脚通过传输控制装置分别与CF卡的CF_CE0管脚和CF_CE1管脚导通或断开、默认状态为导通,从而形成可在导通与断开之间任意切换的片选信号线CE0和CE1;
Host的I/O总线接口中的HOST_IORD管脚和HOST_IOWR管脚通过传输控制装置分别与CF卡的CF_IORD管脚和CF_IOWR管脚导通或断开、默认状态为断开,从而形成可在导通与断开之间任意切换的访问控制信号线IORD和IOWR;
Host的一中断信号线HOST_ISR管脚(不属于I/O总线接口)连接在传输控制装置;
Host的另一中断信号线HOST_INTRQ管脚(不属于I/O总线接口)与CF卡的信号线CF_INTRQ管脚直连。
需要说明的是,本发明实施例中涉及地址线A[2:0]的时序仍沿用现有CF卡的时序规范、地址线A[2:0]被传输控制装置复用时的时序也可以参照现有任意一种寻址方式,因而后文中省略对地址线A[2:0]、以及地址线A[2:0]相关的HOST_A[2:0]管脚和CF_A[2:0]管脚的说明。
如图6所示,本发明实施例中的驱动装置包括:调用触发模块、中断使能模块、片选提示模块、有效应答模块、数据传输模块、传输暂停模块、检测响应模块、无效应答模块、调用终止模块、以及使能取消模块和片选恢复模块。
1)、对于正常的传输过程:
调用触发模块,用于接收Host中的处理内核所发送的调用命令、该调用命令表示访问CF卡;依据接收到的调用命令,通过I/O总线接口的HOST_D[15:0]管脚输出DMA访问命令至CF卡的CF_D[15:0]管脚。
相应地,CF卡的CF_D[15:0]管脚接收到DMA访问命令即可触发TrueIDE DMA传输模式,并且CF卡的CF_DMARQ管脚会在True IDE DMA传输模式被触发后由无效自动跳变为有效。
中断使能模块,用于在调用触发模块输出DMA访问命令之后,通过I/O总线接口的HOST_D[15:0]管脚使能传输控制装置针对CF_DMARQ管脚的状态上报中断,从而使Host能够借助传输控制装置向HOST_ISR管脚上报的中断来识别CF卡的CF_DMARQ管脚的状态。
有效应答模块,用于在调用触发模块输出DMA访问命令、以及中断使能模块使能传输控制装置针对CF_DMARQ管脚的状态上报中断之后,处理HOST_ISR管脚接收到的表示CF_DMARQ管脚有效的中断,并通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为有效,从而使Host能够借助传输控制装置来控制CF卡的CF_DMACK管脚的状态。
片选提示模块,用于在调用触发模块输出DMA访问命令之后,通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开、并将CF_CE0管脚和CF_CE1管脚强置为无效,从而能够阻止CF_CE0管脚和CF_CE1管脚在以True IDE DMA传输模式传输数据的过程中受控于HOST_CE0管脚和HOST_CE1管脚而变为有效,以确保CF卡的CF_CE0管脚和CF_CE1管脚在传输过程中能够保持在无效。
数据传输模块,用于在片选提示模块指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚断开并置为无效、以及有效应答模块已指示传输控制装置将CF卡的CF_DMACK管脚置为有效之后,通过I/O总线接口的HOST_D[15:0]管脚以True IDE DMA传输模式的时序与CF卡的CF_D[15:0]管脚传输数据(多个Sector可连续传输)。
其中,虽然数据传输模块以True IDE DMA传输模式的时序来连续传输多个Sector的数据,但是,数据传输模块并不等同于集成在I/O总线接口中或独立于Host之外的DMA引擎。
相应地,在传输过程中,传输控制装置在I/O总线接口的HOST_CE0管脚或HOST_CE1管脚有效时能够将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚导通、在I/O总线接口的HOST_CE0管脚和HOST_CE1管脚均无效时能够将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚断开,从而能够使CF_IORD管脚和CF_IOWR管脚按照如图5所示时序而控制CF卡传输数据。
当Host与CF卡完成所有数据的传输之后,CF卡的CF_DMARQ管脚会由有效自动跳变为无效,已获取到中断使能信息的传输控制装置能够依据检测到的CF_DMARQ管脚的无效状态而通过HOST_ISR管脚上报表示CF_DMARQ管脚无效的中断。
无效应答模块,用于在数据传输模块完成传输之后处理HOST_ISR管脚接收到的表示CF_DMARQ管脚无效的中断,并通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为无效。
相应地,在CF卡的CF_DMACK管脚被传输控制装置置为无效之后,CF卡还会通过CF_INTRQ管脚上报表示传输结束的中断至Host的HOST_INTRQ管脚。
调用终止模块,用于在数据传输模块完成传输、并且无效应答模块指示传输控制装置将CF卡的CF_DMACK管脚置为无效之后,处理HOST_INTRQ管脚从CF卡接收到的表示CF卡完成传输的中断,并向承载有文件系统的处理内核返回表示调用结束的返回命令。
片选恢复模块,在数据传输模块完成传输后,通过HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通。
使能取消模块,在数据传输模块完成传输且无效应答模块发出指示后,通过HOST_D[15:0]管脚指示传输控制装置取消前文所述的使能。
2)、对于传输过程中随时有可能出现I/O通信模块占用I/O总线、并由此需要暂停传输的情况:
传输暂停模块,用于在需要使CF卡让出I/O总线时使数据传输模块已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时再触发数据传输模块继续传输。
3)、对于在传输过程中随时由CF卡主动暂停传输、或CF卡发生传输错误的情况:
在CF卡主动暂停传输、以及发生传输错误时,CF_DMARQ管脚均会由有效自动跳变为无效;并且,在CF卡发生传输错误时,CF卡还会通过CF_INTRQ管脚上报表示传输错误的中断至Host的HOST_INTRQ管脚。
检测响应模块,用于在数据传输模块已开始但未完成转输时,检测HOST_ISR管脚以及HOST_INTRQ管脚是否有中断。
若仅有HOST_ISR管脚接收到传输控制装置上报的表示CF_DMARQ管脚无效的中断,则表示是CF卡主动暂停传输,因此,可由检测响应模块触发无效应答模块指示传输控制装置将CF卡的CF_DMACK管脚置为无效、并使数据传输模块的传输暂停。
此后,只要CF卡主动恢复传输并将CF_DMARQ管脚跳变为有效,则待有效应答模块在接收到表示CF_DMARQ管脚有效的中断后即可触发数据传输模块继续传输;
若HOST_ISR管脚接收到传输控制装置上报的表示CF_DMARQ管脚无效的中断、以及HOST_INTRQ管脚接收到CF卡发送的表示错误的中断,则表示CF卡发生传输错误并需要终止传输,因此,可由检测响应模块触发无效应答模块指示传输控制装置将CF卡的CF_DMACK管脚置为无效、触发调用终止模块向承载有文件系统的处理内核返回表示调用结束的返回命令、并使数据传输模块的传输终止;还可由检测响应模块触发片选恢复模块进一步在传输终止时指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通,以及,触发使能取消模块进一步在传输终止时指示传输控制装置取消前文所述的使能。
若在HOST_ISR管脚以及HOST_INTRQ管脚均未检测到中断,则在数据传输模块完成传输后,即检测响应模块可结束检测。
如上可见,基于Host的不具有DMA引擎的I/O总线接口,本发明实施例中承载于Host的主机驱动装置仍能够支持CF卡工作在True IDE DMA传输模式;而且,该主机驱动装置还可以允许由不同原因所导致的传输暂停、并能够恢复传输。
另需要说明的是,在上述主机驱动装置中:
1、传输暂停模块主要用于暂停传输并使CF卡让出I/O总线,其针对的是具有高实时性要求的I/O通信模块的应用环境,但实际应用中如果应用环境中共享I/O总线的其他器件不具有如此高的实时性要求,也可以不需要传输暂停模块,这样,也仍能够在脱离DMA引擎的前提下使CF卡以True IDEDMA传输模式进行数据传输,从而产生提高传输效率的技术效果;
2、检测响应模块主要是用于支持CF卡主动暂停传输、以及发现CF卡传输错误而终止传输,但实际应用中,如果不需要支持CF卡主动暂停传输的功能、以及忽略CF卡传输错误,则也可以不需要检测响应模块;
3、片选恢复模块主要是为了保证CF卡的下一次传输能够正常进行,如若可以通过其他方式(例如手动开关或重启等)而使传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态,则无需片选恢复模块;
4、中断使能模块和使能取消模块主要是用于控制传输控制装置上报中断的使能、用以避免传输控制装置在不存在传输时误上报中断,但实际应用中,如果能够容忍传输控制装置误上报中断,也可以不需要中断使能模块和使能取消模块、而是允许传输控制装置在任何时刻上报中断;
5、Host的I/O总线接口中的HOST_D[15:0]管脚主要用于Host与CF卡的CF_D[15:0]管脚之间通过数据线传输DMA访问命令和数据,并同时复用为Host中的主机驱动装置与Host外的传输控制装置之间用于传输各种指示信息的通道,但实际应用中,也可以额外设置独立于HOST_D[15:0]管脚之外的任意预定义管脚来作为传输各种指示信息的通道;
即,除了DMA访问命令和数据必须通过HOST_D[15:0]管脚与CF_D[15:0]管脚之间的数据线传输之外,其余在主机驱动装置与传输控制装置之间的交互信息均可通过预定义管脚传输;
相应地,HOST_A[2:0]管脚与CF_A[2:0]之间的地址线也是同理。
如图6所示,本发明实施例中的传输控制装置包括:逻辑接口、握手管脚控制逻辑电路、片选管脚控制逻辑电路、以及访问管脚控制逻辑电路。其中:
逻辑接口作为Host中的主机驱动装置与传输控制装置之间传输各种指示信息的接口、并连接Host的I/O总线接口中的HOST_D[15:0]管脚;
握手管脚控制逻辑电路连接CF卡的CF_DMARQ管脚和CF_DMACK管脚、并连接Host的HOST_ISR管脚,握手管脚控制逻辑电路还连接逻辑接口;
片选管脚控制逻辑电路连接Host的I/O总线接口中的HOST_CE0管脚和HOST_CE1管脚、以及CF卡的CF_CE0管脚和CF_CE1管脚,片选管脚控制逻辑电路还连接逻辑接口;
访问管脚控制逻辑电路连接Host的HOST_IORD管脚和HOST_IOWR管脚、Host的HOST_CE0管脚或HOST_CE1管脚(图6中以适用于常见情况的HOST_CE0管脚为例)、以及CF卡的CF_IORD管脚和CF_IOWR管脚。
1)对于正常的传输过程:
Host(即主机驱动装置的调用触发模块)在通过I/O总线接口的HOST_D[15:0]管脚输出DMA访问命令至CF卡的CF_D[15:0]管脚之后,还会使能(由主机驱动装置的中断使能模块使能)传输控制装置针对CF_DMARQ管脚的状态上报中断;
以及,CF卡的CF_D[15:0]管脚接收到DMA访问命令后,即可触发TrueIDE DMA传输模式、并使其的CF_DMARQ管脚由无效自动跳变为有效;
相应地:
逻辑接口,用于从Host的HOST_D[15:0]管脚接收Host(即主机驱动装置的调用触发模块)在输出DMA访问命令之后再次发出(即由主机驱动装置的中断使能模块发出)的表示使能传输控制装置针对CF_DMARQ管脚的状态上报中断的指示;
握手管脚控制逻辑电路,用于依据逻辑接口接收到的表示使能传输控制装置针对CF_DMARQ管脚的状态上报中断的指示,获知针对CF_DMARQ管脚的状态上报中断已被使能、并开启中断上报功能;
握手管脚控制逻辑电路(中断上报功能此时已开启),还用于在检测到CF_DMARQ管脚由无效自动跳变为有效后,向Host的HOST_ISR管脚上报表示CF_DMARQ管脚有效的中断(即上报至主机驱动装置的有效应答模块)。
在Host(即上报至主机驱动装置的有效应答模块)通过表示CF_DMARQ管脚有效的中断获知CF卡的CF_DMARQ管脚已由无效自动跳变为有效后,会通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为有效;
相应地:
逻辑接口,还用于从Host的HOST_D[15:0]管脚接收Host(主机驱动装置的有效应答模块)在接收到表示CF_DMARQ管脚有效的中断之后发出的表示将CF_DMACK管脚置为有效的指示;
握手管脚控制逻辑电路,还用于依据逻辑接口接收到的表示将CF_DMACK管脚置为有效的指示,将CF卡的CF_DMACK管脚置为有效。
此外,为了确保CF卡的CF_CE0管脚和CF_CE1管脚在传输过程中能够保持在无效,Host在发出DMA访问命令之后,还会(即由主机驱动装置的片选提示模块)通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开并置为无效;
相应地:
逻辑接口,还用于从Host的HOST_D[15:0]管脚接收Host在输出DMA访问命令之后发出(即由主机驱动装置的片选提示模块发出)的表示将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开并置为无效的指示;
片选管脚控制逻辑电路,用于依据逻辑接口接收到的表示将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开并置为无效的指示,将CF卡的CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开、并将CF卡的CF_CE0管脚和CF_CE1管脚强置为无效。
此后,Host(即主机驱动装置的数据传输模块)即可通过HOST_D[15:0]管脚开始与CF卡的CF_D[15:0]管脚之间传输数据;
并且,Host的I/O总线接口中的HOST_CE0管脚、以及HOST_IORD管脚(读访问时)或HOST_IOWR管脚(写访问时)会针对每16比特数据而交替地有效和无效;
相应地:
访问管脚控制逻辑电路,用于在I/O总线接口的HOST_CE0管脚有效时,将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚导通、以使CF卡的CF_IORD管脚和CF_IOWR管脚能够分别随着HOST_IORD管脚和HOST_IOWR管脚的有效而随之变为有效;
访问管脚控制逻辑电路,还用于在I/O总线接口的HOST_CE0管脚无效(此时HOST_CE1管脚也无效)时,将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚断开、以使CF卡的CF_IORD管脚和CF_IOWR管脚能够分别在HOST_IORD管脚和HOST_IOWR管脚无效时也相应地的变为无效;
即,对于正常的传输过程来说,访问管脚控制逻辑电路随所述I/O总线接口的HOST_CE0管脚交替地有效和无效,即可将CF卡的CF_IORD管脚和CF_IOWR管脚分别与I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚在HOST_CE0管脚有效时导通、无效时断开,从而确保CF_IORD管脚和CF_IOWR管脚按照如图5所示的时序变化控制CF卡传输。
当CF卡完成所有数据的传输之后,CF卡的CF_DMARQ管脚会由有效自动跳变为无效;
相应地:
握手管脚控制逻辑电路(中断上报功能此时已开启),还用于在检测到CF_DMARQ管脚无效时,向HOST_ISR管脚上报表示CF_DMARQ管脚无效的中断(即上报至主机驱动装置的无效应答模块)。
在Host(即主机驱动装置的无效应答模块)通过表示CF_DMARQ管脚无效的中断获知CF卡的CF_DMARQ管脚已由有效自动跳变为无效后,会通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为无效;
相应地:
逻辑接口,还用于从Host的HOST_D[15:0]管脚接收Host(即主机驱动装置的无效应答模块)在传输完成之后发出的表示将CF卡的CF_DMACK管脚置为无效的指示;
握手管脚控制逻辑电路,用于依据逻辑接口接收到的表示将CF卡的CF_DMACK管脚置为无效的指示,将CF卡的CF_DMACK管脚置为无效。
在CF卡的CF_DMACK管脚置为无效之后,CF卡还会通过CF_INTRQ管脚上报表示传输结束的中断至Host的HOST_INTRQ管脚;
Host(即主机驱动装置中的调用终止模块)会依据HOST_INTRQ管脚接收到的表示CF卡完成传输的中断而结束调用(向承载有文件系统的处理内核返回表示调用结束的返回命令)。
并且,Host(即主机驱动装置中的片选恢复模块)会在传输完成后指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通;
以及,Host(即主机驱动装置中的使能取消模块)还会在传输完成且已发出将CF_DMACK管脚置为无效的指示后指示传输控制装置取消前文所述的使能;
相应地:
逻辑接口,还用于从Host的HOST_D[15:0]管脚接收Host在传输完成后发出(即由主机驱动装置的片选恢复模块发出)的将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通的指示,以及,接收Host在传输完成且已发出将CF_DMACK管脚置为无效的指示后又发出(即由主机驱动装置的使能取消模块发出)的取消前述使能的指示;
片选管脚控制逻辑电路,还用于依据逻辑接口接收到的将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通的指示,将CF卡的CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态、并取消对CF卡的CF_CE0管脚和CF_CE1管脚的强置无效;
握手管脚控制逻辑电路,用于依据逻辑接口接收到的取消使能的指示,确认针对CF_DMARQ管脚的状态上报中断已被禁止、并关闭之前已开启的中断上报功能。
2)、对于传输过程中随时有可能出现I/O通信模块占用I/O总线、并由此需要暂停传输的情况:
Host(即主机驱动装置的传输暂停模块)会在需要使CF卡让出I/O总线时,暂停已开始但未完成的传输、并待可恢复CF卡占用I/O总线时再触发继续传输;
在上述暂停的期间内,访问管脚控制逻辑电路能够进一步在I/O总线接口的HOST_CE0管脚由于CF卡让出I/O总线而持续无效时,将CF卡的CF_IORD管脚和CF_IOWR管脚分别与I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚持续保持为断开、以使CF卡让出I/O总线时暂停传输并等待继续传输。
只要CF卡重新占用I/O总线,HOST_CE0管脚就会恢复针对每16比特数据交替地有效和无效,那么,访问管脚控制逻辑电路自然也就随之将CF_IORD管脚和CF_IOWR管脚分别HOST_IORD管脚和HOST_IOWR管脚导通及断开,使CF卡能够继续传输。
3)、对于在传输过程中随时由CF卡主动暂停传输、或CF卡发生传输错误的情况:
在CF卡主动暂停传输、以及发生传输错误时,CF_DMARQ管脚均会由有效自动跳变为无效;并且,在CF卡发生传输错误时,CF卡还会通过CF_INTRQ管脚上报表示传输错误的中断至Host的HOST_INTRQ管脚;
Host(即主机驱动装置的检测响应模块)会在已开始但未完成转输时检测HOST_ISR管脚以及HOST_INTRQ管脚是否有中断,并以此判断传输是CF卡主动暂停传输(HOST_ISR收到中断、但HOST_INTRQ管脚未接收到CF卡的中断)或是由于CF卡发生传输错误(HOST_ISR收到中断、且HOST_INTRQ管脚接收到CF卡的中断)而需要终止传输;
相应地:
握手管脚控制逻辑电路所检测到的CF_DMARQ管脚无效、以及将CF_DMACK管脚置为无效,除了是由于CF卡完成传输所致之外,还有可能是由于CF卡暂停传输、或CF卡发生传输错误所致;
逻辑接口所能够接收的将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通的指示、以及取消前述使能的指示,除了可以在传输完成之后接收到之外,还有可能在终止传输后接收;
同样地,针对上述指示,片选管脚控制逻辑电路将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通、并取消对CF卡的CF_CE0管脚和CF_CE1管脚的强置无效,以及握手管脚控制逻辑电路关闭使能,除了可以发生在传输完成后之外,还有可能发生在终止传输后。
如上可见,针对Host的不具有DMA引擎的I/O总线接口,本发明实施例中传输控制装置能够通过适配信号而支持CF卡工作在True IDE DMA传输模式;而且,该传输控制装置还可以允许由不同原因所导致的传输暂停、并能够恢复传输。
另需要说明的是,在上述的传输控制装置中:
1、片选管脚控制逻辑电路在完成传输或终止传输后均会在Host的控制下恢复CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚的导通,这主要是为了保证CF卡的下一次传输能够正常进行;实际应用中,也可以通过其他方式(例如手动开关或重启等)而使片选管脚控制逻辑电路将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态,而并不限于受控于Host;
2、握手管脚控制逻辑电路的中断上报功能受控于Host,主要是为了避免传输控制装置在不存在传输时误上报中断,但实际应用中,如果能够容忍传输控制装置误上报中断,则握手管脚控制逻辑电路可以无需受到Host的中断使能控制,而是默认地保持中断功能开启。
3、与主机驱动装置同理,逻辑接口连接HOST_D[15:0]管脚仅仅是因为HOST_D[15:0]管脚被复用为前文提及的预定义管脚,HOST_A[2:0]管脚也是同理。
图7为如图6所示的传输控制装置中的逻辑接口的优选结构示意图。如图7所示,为了便于主机驱动装置与传输控制装置之间交互各种指示,本发明实施例为传输控制装置的逻辑接口提供了一种优选实现方式,该优选实现方式在逻辑接口中设置有如下的字段(不同字段可由Host中承载的主机驱动装置所包括的相应模块利用地址线HOST_A[2:0]或替代的其他预定义管脚分别寻址):
DMARQ中断使能字段,用于被Host(即主机驱动装置的中断使能模块)置为有效值1、以表示使能传输控制装置、即握手管脚控制逻辑电路针对CF_DMARQ管脚的状态上报中断的指示;以及,被Host(即主机驱动装置的使能取消模块)置为无效值0、以表示取消该使能;
DMARQ有效标志字段,用于被握手管脚控制逻辑电路在CF_DMARQ管脚有效时置为有效值1、以表示当前有CF_DMARQ管脚有效的中断;被Host(即主机驱动装置的有效应答模块)在处理CF_DMARQ管脚有效的该中断之后置为无效值0、以表示当前无CF_DMARQ管脚有效的中断;
DMARQ无效标志字段,用于被握手管脚控制逻辑电路在CF_DMARQ管脚无效时置为有效值1、以表示当前有CF_DMARQ管脚无效的中断;被Host(即主机驱动装置的无效应答模块)在处理CF_DMARQ管脚无效的中断之后置为无效值0、以表示当前无CF_DMARQ管脚无效的中断;
DMACK应答指示字段,用于被Host(即主机驱动装置的有效应答模块)在处理CF_DMARQ管脚有效的该中断之后置为有效值1、以表示将CF_DMACK管脚置为有效的指示;被Host(即主机驱动装置的无效应答模块)在处理CF_DMARQ管脚无效的中断之后置为无效值0、以表示将CF_DMACK管脚置为无效的指示;
CE状态指示字段,用于被Host(即主机驱动装置的片选提示模块)在输出DMA访问命令置为有效值1、以表示将CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚断开并置为无效的指示;被Host(即主机驱动装置的片选恢复模块)在完成传输或由于CF卡传输错误而终止传输后置为无效值0、以表示恢复CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚为导通状态的指示。
当然,如图7所示的逻辑结构仅仅一种可选的优选逻辑结构,实际应用中也可以采用其他方式予以替换。
以上是对本发明实施例中的主机驱动装置和传输控制装置的详细说明。与之相对应地,本发明实施例为了实现对Host驱动方式的改进还提供了一种主机驱动方法、为了实现CF卡与Host之间的信号适配还提供了一种传输控制方法。下面,分别对主机驱动方法以及传输控制方法进行详细说明。
图8a至图8c为本发明实施例中的主机驱动方法的流程示意图。
对于正常的传输过程,请参见图8a。如图8a所示,本发明实施例中运行在Host的主机驱动方法包括用于正常传输的如下步骤:
步骤811,接收Host中的处理内核所发送的调用命令、该调用命令表示访问CF卡;依据接收到的调用命令,通过I/O总线接口的HOST_D[15:0]管脚输出DMA访问命令至CF卡的CF_D[15:0]管脚。
相应地,CF卡的CF_D[15:0]管脚接收到DMA访问命令即可触发TrueIDE DMA传输模式,并且CF卡的CF_DMARQ管脚会在True IDE DMA传输模式被触发后由无效自动跳变为有效。
步骤812,在步骤811输出DMA访问命令之后,通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开、并将CF_CE0管脚和CF_CE1管脚强置为无效,从而能够阻止CF_CE0管脚和CF_CE1管脚在以True IDE DMA传输模式传输数据的过程中受控于HOST_CE0管脚和HOST_CE1管脚而变为有效,以确保CF卡的CF_CE0管脚和CF_CE1管脚在传输过程中能够保持在无效。
步骤813,在步骤811输出DMA访问命令之后,通过I/O总线接口的HOST_D[15:0]管脚使能传输控制装置针对CF_DMARQ管脚的状态上报中断,从而使Host能够借助传输控制装置向HOST_ISR管脚上报的中断来识别CF卡的CF_DMARQ管脚的状态。
步骤814,在步骤811输出DMA访问命令、步骤813使能传输控制装置针对CF_DMARQ管脚的状态上报中断之后,处理HOST_ISR管脚接收到的表示CF_DMARQ管脚有效的中断,并通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为有效,从而使Host能够借助传输控制装置来控制CF卡的CF_DMACK管脚的状态。
步骤815,在步骤812指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚断开并置为无效、以及步骤814已指示传输控制装置将CF卡的CF_DMACK管脚置为有效之后,通过I/O总线接口的HOST_D[15:0]管脚以True IDE DMA传输模式的时序与CF卡的CF_D[15:0]管脚传输数据(多个Sector的数据可以连续传输)。
相应地,在传输过程中,传输控制装置在I/O总线接口的HOST_CE0管脚或HOST_CE1管脚有效时能够将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚导通、在I/O总线接口的HOST_CE0管脚和HOST_CE1管脚均无效时能够将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚断开,从而能够使CF_IORD管脚和CF_IOWR管脚按照如图5所示时序而控制CF卡传输数据。
当Host与CF卡完成所有数据的传输之后,CF卡的CF_DMARQ管脚会由有效自动跳变为无效,已获取到中断使能信息的传输控制装置能够依据检测到的CF_DMARQ管脚的无效状态而通过HOST_ISR管脚上报表示CF_DMARQ管脚无效的中断。
步骤816,在步骤815完成传输之后处理HOST_ISR管脚接收到的表示CF_DMARQ管脚无效的中断,并通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为无效。
相应地,在CF卡的CF_DMACK管脚被传输控制装置置为无效之后,CF卡还会通过CF_INTRQ管脚上报表示传输结束的中断至Host的HOST_INTRQ管脚。
步骤817,在步骤815完成传输、并且步骤816已指示传输控制装置将CF卡的CF_DMACK管脚置为无效之后,处理HOST_INTRQ管脚从CF卡接收到的表示CF卡完成传输的中断,并向承载有文件系统的处理内核返回表示调用结束的返回命令。
步骤818,在步骤815完成传输、并且步骤816已指示传输控制装置将CF卡的CF_DMACK管脚置为无效之后(或者也可以无需等待步骤816而是直接在步骤815之后执行),通过HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通。
步骤819,在步骤815完成传输、并且步骤816已指示传输控制装置将CF卡的CF_DMACK管脚置为无效之后,通过HOST_D[15:0]管脚指示传输控制装置取消前文所述的使能。
至此,上述流程结束。
对于传输过程中随时有可能出现I/O通信模块占用I/O总线、并由此需要暂停传输的情况,请参见图8b。如图8b所示,本发明实施例中运行在Host的主机驱动方法,除了包括如图8a所示的各步骤之外,还进一步包括用于Host在需要CF卡让出I/O总线时暂停传输并恢复传输的如下步骤:
步骤820,在需要CF卡让出I/O总线时使步骤815已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时再触发步骤815继续传输。
对于在传输过程中随时由CF卡主动暂停传输、或CF卡发生传输错误的情况,请参见图8c。如图8c所示,本发明实施例中运行在Host的主机驱动方法,除了包括如图8a所示的各步骤之外,还进一步包括用于支持CF卡主动暂停传输并恢复传输、以及针对CF卡传输错误终止传输的如下步骤:
步骤830,在步骤815已开始但未完成转输时,检测HOST_ISR管脚以及HOST_INTRQ管脚是否有中断。
这是因为,在CF卡主动暂停传输、以及发生传输错误时,CF_DMARQ管脚均会由有效自动跳变为无效;并且,在CF卡发生传输错误时,CF卡还会通过CF_INTRQ管脚上报表示传输错误的中断至Host的HOST_INTRQ管脚。
若步骤830检测到仅有HOST_ISR管脚接收到传输控制装置上报的表示CF_DMARQ管脚无效的中断,则表示是CF卡主动暂停传输,因此,可由步骤830触发步骤816指示传输控制装置将CF卡的CF_DMACK管脚置为无效、并使步骤815已开始但未完成的传输暂停;
此后,只要CF卡主动恢复传输并将CF_DMARQ管脚跳变为有效,则可返回步骤814接收到表示CF_DMARQ管脚有效的中断,然后即可由步骤814触发步骤815继续已开始但未完成的传输。
若步骤830检测到HOST_ISR管脚接收到传输控制装置上报的表示CF_DMARQ管脚无效的中断、以及HOST_INTRQ管脚接收到CF卡发送的表示错误的中断,则表示CF卡发生传输错误并需要终止传输,因此,可由步骤830触发步骤816指示传输控制装置将CF卡的CF_DMACK管脚置为无效、触发步骤817向承载有文件系统的处理内核返回表示调用结束的返回命令、并使步骤815的传输终止;并且,步骤830还可触发步骤818进一步在传输终止时指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通,以及,触发步骤819进一步在传输终止时指示传输控制装置取消前文所述的使能。
若步骤830在HOST_ISR管脚以及HOST_INTRQ管脚均未检测到中断,则在步骤815完成传输后即可结束检测(此情况下即相当于如图8a所示的流程)。
如上可见,基于Host的不具有DMA引擎的I/O总线接口,本发明实施例中运行于Host的主机驱动方法仍能够支持CF卡工作在True IDE DMA传输模式;而且,该主机驱动方法还可以允许由不同原因所导致的传输暂停、并能够恢复传输。
另需要说明的是,在上述主机驱动方法中:
1、如图8b所示的步骤820主要用于暂停传输并使CF卡让出I/O总线,其针对的是具有高实时性要求的I/O通信模块的应用环境,但实际应用中如果应用环境中共享I/O总线的其他器件不具有如此高的实时性要求,也可以不需要步骤820及相应的如图8b所示流程,这样,仅依靠如图8a所示的流程也仍能够在脱离DMA引擎的前提下使CF卡以True IDE DMA传输模式进行数据传输,从而产生提高传输效率的技术效果;
2、如图8c所示的步骤830主要是用于支持CF卡主动暂停传输、以及发现CF卡传输错误而终止传输,但实际应用中,如果不需要支持CF卡主动暂停传输的功能、以及忽略CF卡传输错误,则也可以不需要步骤830及相应的如图8c所示流程;
3、如图8a至8c中的步骤818主要是为了保证CF卡的下一次传输能够正常进行,如若可以通过其他方式(例如手动开关或重启等)而使传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态,则无需步骤818;
4、如图8a至8c中的步骤813和步骤819主要是用于控制传输控制装置上报中断的使能、用以避免传输控制装置在不存在传输时误上报中断,但实际应用中,如果能够容忍传输控制装置误上报中断,也可以不需要步骤813和步骤819、而是允许传输控制装置在任何时刻上报中断;
5、Host的I/O总线接口中的HOST_D[15:0]管脚主要用于Host与CF卡的CF_D[15:0]管脚之间通过数据线传输DMA访问命令和数据,并同时复用为Host中的主机驱动装置与Host外的传输控制装置之间用于传输各种指示信息的通道,但实际应用中,也可以额外设置独立于HOST_D[15:0]管脚之外的任意预定义管脚来作为传输各种指示信息的通道;
即,除了DMA访问命令和数据必须通过HOST_D[15:0]管脚与CF_D[15:0]管脚之间的数据线传输之外,其余在主机驱动方法用于与传输控制装置之间的交互信息均可通过预定义管脚传输;
相应地,HOST_A[2:0]管脚与CF_A[2:0]之间的地址线也是同理。
图9a至图9c为本发明实施例中的传输控制方法的流程示意图。
对于正常的传输过程,请参见图9a。如图9a所示,本发明实施例中在Host与CF卡之间实现的传输控制方法包括如下步骤:
步骤910,依据从Host的HOST_D[15:0]管脚接收到的Host发出(即由主机驱动方法的步骤813发出)的表示使能传输控制装置针对CF_DMARQ管脚的状态上报中断的指示,获知针对CF_DMARQ管脚的状态上报中断已被使能、并开启中断上报功能。
这是因为:
Host(即主机驱动方法的步骤811)在通过I/O总线接口的HOST_D[15:0]管脚输出DMA访问命令至CF卡的CF_D[15:0]管脚之后,还会(由主机驱动方法的步骤811)使能传输控制装置针对CF_DMARQ管脚的状态上报中断;
以及,CF卡的CF_D[15:0]管脚接收到DMA访问命令后,即可触发TrueIDE DMA传输模式、并使其的CF_DMARQ管脚由无效自动跳变为有效,只有中断上报被使能才有可能向Host上报CF_DMARQ管脚有效的中断。
步骤911,由于中断上报功能此时已开启,因而在检测到CF_DMARQ管脚由无效自动跳变为有效后,向Host的HOST_ISR管脚上报表示CF_DMARQ管脚有效的中断(该中断可由主机驱动方法的步骤814处理)。
在Host(即主机驱动方法的步骤814)通过表示CF_DMARQ管脚有效的中断获知CF卡的CF_DMARQ管脚已由无效自动跳变为有效后,会通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为有效。
步骤912,依据从Host的HOST_D[15:0]管脚接收的Host(主机驱动方法的步骤814)发出的表示将CF_DMACK管脚置为有效的指示,将CF卡的CF_DMACK管脚置为有效。
此外,为了确保CF卡的CF_CE0管脚和CF_CE1管脚在传输过程中能够保持在无效,Host在发出DMA访问命令之后,还会(即由主机驱动方法的步骤812)通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开并置为无效;
步骤913,依据从Host的HOST_D[15:0]管脚接收的Host发出(即由主机驱动方法的步骤812发出)的表示将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开并置为无效的指示,将CF卡的CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚断开、并将CF卡的CF_CE0管脚和CF_CE1管脚强置为无效。
此后,Host(即主机驱动方法的步骤815)即可通过HOST_D[15:0]管脚开始与CF卡的CF_D[15:0]管脚之间传输数据;
并且,Host的I/O总线接口中的HOST_CE0管脚、以及HOST_IORD管脚(读访问时)或HOST_IOWR管脚(写访问时)会针对每16比特数据而交替地有效和无效;
步骤914,在I/O总线接口的HOST_CE0管脚有效时,将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚导通、以使CF卡的CF_IORD管脚和CF_IOWR管脚能够分别随着HOST_IORD管脚和HOST_IOWR管脚的有效而随之变为有效;以及,在I/O总线接口的HOST_CE0管脚无效(此时HOST_CE1管脚也无效)时,将I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚分别与CF卡的CF_IORD管脚和CF_IOWR管脚断开、以使CF卡的CF_IORD管脚和CF_IOWR管脚能够分别在HOST_IORD管脚和HOST_IOWR管脚无效时也相应地的变为无效;
即,对于正常的传输过程来说,步骤914随所述I/O总线接口的HOST_CE0管脚交替地有效和无效,即可交替地将CF卡的CF_IORD管脚和CF_IOWR管脚分别与I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚在HOST_CE0管脚有效时导通、无效时断开,从而确保CF_IORD管脚和CF_IOWR管脚按照如图5所示的时序变化控制CF卡传输。
当CF卡完成所有数据的传输之后,CF卡的CF_DMARQ管脚会由有效自动跳变为无效。
步骤915,在检测到CF_DMARQ管脚无效时,向HOST_ISR管脚上报表示CF_DMARQ管脚无效的中断(该中断由主机驱动方法的步骤816处理)。
在Host(即主机驱动方法的步骤816)通过表示CF_DMARQ管脚无效的中断获知CF卡的CF_DMARQ管脚已由有效自动跳变为无效后,会通过I/O总线接口的HOST_D[15:0]管脚指示传输控制装置将CF卡的CF_DMACK管脚置为无效。
步骤916,依据从Host的HOST_D[15:0]管脚接收的Host(即主机驱动方法的步骤816)在传输完成之后发出的表示将CF卡的CF_DMACK管脚置为无效的指示,将CF卡的CF_DMACK管脚置为无效。
在CF卡的CF_DMACK管脚置为无效之后,CF卡还会通过CF_INTRQ管脚上报表示传输结束的中断至Host的HOST_INTRQ管脚;
Host(即主机驱动方法的步骤817)会依据HOST_INTRQ管脚接收到的表示CF卡完成传输的中断而结束调用(向承载有文件系统的处理内核返回表示调用结束的返回命令)。
并且,Host(即主机驱动方法的步骤818)会在传输完成后指示传输控制装置将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通;
以及,Host(即主机驱动方法的步骤819)还会在传输完成且已发出将CF_DMACK管脚置为无效的指示后指示传输控制装置取消前文所述的使能。
步骤917,依据从Host的HOST_D[15:0]管脚接收的Host在传输完成后发出(即由主机驱动方法的步骤818发出)的将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通的指示,将CF卡的CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态、并取消对CF卡的CF_CE0管脚和CF_CE1管脚的强置无效;以及,依据从Host的HOST_D[15:0]管脚接收的Host在传输完成且已发出将CF_DMACK管脚置为无效的指示后又发出(即由主机驱动方法的步骤819)的取消前述使能的指示,确认针对CF_DMARQ管脚的状态上报中断已被禁止、并关闭之前已开启的中断上报功能。
至此,上述流程结束。
对于传输过程中随时有可能出现I/O通信模块占用I/O总线、并由此需要暂停传输的情况,请参见图9b。如图9b所示,本发明实施例中的传输控制方法除了包括如图9a所示的各步骤之外,还进一步包括于用于在CF卡让出I/O总线时暂停传输并恢复传输的如下步骤:
步骤920,在I/O总线接口的HOST_CE0管脚由于CF卡让出I/O总线而持续无效时,将CF卡的CF_IORD管脚和CF_IOWR管脚分别与I/O总线接口的HOST_IORD管脚和HOST_IOWR管脚持续保持为断开、以使CF卡让出I/O总线时暂停传输并等待继续传输。
这是因为,Host(即主机驱动方法的步骤820)会在需要CF卡让出I/O总线时暂停已开始但未完成的传输、并待可恢复CF卡占用I/O总线时再触发数据传输模块继续传输;
只要CF卡重新占用I/O总线,HOST_CE0管脚就会恢复针对每16比特数据交替地有效和无效,那么,则本流程即可返回至步骤914使CF卡能够继续传输。
对于在传输过程中随时由CF卡主动暂停传输、或CF卡发生传输错误的情况:
由于在CF卡主动暂停传输、以及发生传输错误时,CF_DMARQ管脚均会由有效自动跳变为无效;并且,在CF卡发生传输错误时,CF卡还会通过CF_INTRQ管脚上报表示传输错误的中断至Host的HOST_INTRQ管脚;
以及,Host(即主机驱动方法的步骤830)会在已开始但未完成转输时检测HOST_ISR管脚以及HOST_INTRQ管脚是否有中断,并以此判断传输是CF卡主动暂停传输(HOST_ISR收到中断、但HOST_INTRQ管脚未接收到CF卡的中断)或是由于CF卡发生传输错误(HOST_ISR收到中断、且HOST_INTRQ管脚接收到CF卡的中断)而需要终止传输;
相应地,在如图9a所示的各步骤中:
步骤915检测到的CF_DMARQ管脚无效、以及步骤916将CF_DMACK管脚置为无效,既可能是由于CF卡完成传输所致,还有可能是由于CF卡暂停传输、或CF卡发生传输错误所致;
步骤917依据相应指示而将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复为导通、以及取消前述使能,既可以是在传输完成之后执行的,还有可能在终止传输后执行的。
那么,如图9c所示:
对于传输过程中由CF卡主动暂停传输的情况,如若步骤915检测到的CF_DMARQ管脚无效、以及步骤916将CF_DMACK管脚置为无效是由于CF卡完成传输所致,还有可能是由于CF卡暂停传输,则待CF卡主动触发继续传输后还会使其CF_DMARQ管脚变为有效,那么,步骤916之后可以暂不执行步骤917,而是待CF卡主动触发继续传输后再返回至步骤911继续执行本步骤;
对于传输过程中由于CF卡发生传输错误而终止传输的情况,则仍然适用于如图9a所示的流程。
如上可见,针对Host的不具有DMA引擎的I/O总线接口,本发明实施例中传输控制方法能够通过适配信号而支持CF卡工作在True IDE DMA传输模式;而且,该传输控制方法还可以允许由不同原因所导致的传输暂停、并能够恢复传输。
另需要说明的是,在上述的传输控制方法中:
1、步骤917在完成传输或终止传输后均会在Host的控制下恢复CF_CE0管脚和CF_CE1管脚分别与HOST_CE0管脚和HOST_CE1管脚的导通,这主要是为了保证CF卡的下一次传输能够正常进行;实际应用中,也可以通过其他方式(例如手动开关或重启等)而将CF_CE0管脚和CF_CE1管脚分别与I/O总线接口的HOST_CE0管脚和HOST_CE1管脚恢复导通状态,而并不限于受控于Host;
2、步骤910开启中断上报功能、以及步骤917中关闭中断上报功能,主要是为了避免在不存在传输时误上报中断,但实际应用中,如果能够容忍误上报中断,则可以无需步骤910以及步骤中关闭中断上报功能的操作。
3、与主机驱动方法同理,逻辑接口连接HOST_D[15:0]管脚仅仅是因为HOST_D[15:0]管脚被复用为前文提及的预定义管脚,HOST_A[2:0]管脚也是同理。
另外,以上的主机驱动方法和传输控制方法可以利用如图7中所示出字段结构实现各种指示的交互。
上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (24)

1.一种主机驱动装置,其特征在于,包括:
调用触发模块,依据接收到的表示访问CF卡的调用命令,通过I/O总线接口的数据线管脚输出DMA访问命令至CF卡;
片选提示模块,在所述调用触发模块输出所述DMA访问命令后,通过所述预定义管脚指示一传输控制装置将CF卡的片选管脚与I/O总线接口的片选管脚断开并置为无效;
有效应答模块,在所述调用触发模块输出所述DMA访问命令后,处理第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚有效的中断、并通过预定义管脚指示所述传输控制装置将CF卡DMACK管脚置为有效;
数据传输模块,在所述片选提示模块和所述有效应答模块均发出指示后,通过所述数据线管脚以True IDE DMA传输模式的时序与CF卡传输数据;
无效应答模块,在所述数据传输模块完成传输后,处理所述第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚无效的中断、并通过所述预定义管脚指示所述传输控制装置将CF卡的CF_DMACK管脚置为无效;
调用终止模块,在所述数据传输模块完成传输后,处理第二中断管脚从CF卡接收到的表示完成传输的中断、并返回表示调用结束的返回命令。
2.根据权利要求1所述的主机驱动装置,其特征在于,进一步包括:
传输暂停模块,用于在需要CF卡让出I/O总线时使所述数据传输模块已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时触发所述数据传输模块继续传输。
3.根据权利要求1所述的主机驱动装置,其特征在于,进一步包括:
检测响应模块,用于在所述数据传输模块已开始但未完成转输时,检测所述第一中断管脚以及所述第二中断管脚是否有中断;
若仅有所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断,则触发所述无效应答模块并使所述数据传输模块的传输暂停、待所述有效应答模块接收到表示CF卡DMARQ管脚有效的中断之后触发所述数据传输模块继续传输;
若所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断、以及所述第二中断管脚又接收到CF卡发送的表示错误的中断,则触发所述无效应答模块和所述调用终止模块、并使所述数据传输模块的传输终止。
4.根据权利要求3所述的主机驱动装置,其特征在于,进一步包括:
片选恢复模块,在所述数据传输模块完成传输或所述传输终止后,通过所述预定义管脚指示所述传输控制装置将CF卡片选管脚与所述I/O总线接口的片选管脚恢复导通。
5.根据权利要求3所述的主机驱动装置,其特征在于,进一步包括:
中断使能模块,在所述调用触发模块输出所述DMA访问命令之后,通过所述预定义管脚使能所述传输控制装置针对CF卡DMARQ管脚的状态上报中断;
使能取消模块,在所述数据传输模块完成传输且所述无效应答模块发出指示后、或者在所述传输终止后,通过所述预定义管脚指示所述传输控制装置取消所述使能。
6.根据权利要求1所述的主机驱动装置,其特征在于,所述数据线管脚复用为所述预定义管脚。
7.一种传输控制装置,其特征在于,包括:
逻辑接口,用于通过Host的预定义管脚与Host交互;
握手管脚控制逻辑电路,用于在CF卡DMARQ管脚跳变为有效后向Host的第一中断管脚上报表示CF卡DMARQ管脚有效的中断、并依据所述逻辑接口接收的Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为有效;在CF卡DMARQ管脚跳变为无效后向所述第一中断管脚上报表示CF卡DMARQ管脚无效的中断、并依据所述逻辑接口接收的Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为无效;
片选管脚控制逻辑电路,用于依据所述逻辑接口接收的Host在向CF卡发送DMA访问命令后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并将CF卡片选管脚强置为无效;
访问管脚控制逻辑电路,用于在所述I/O总线接口的片选管脚有效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚导通、在所述I/O总线接口的片选管脚无效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚断开。
8.根据权利要求7所述的传输控制装置,其特征在于,所述I/O总线接口的片选管脚无效是由于所述传输中的数据间隔、或CF卡让出I/O总线所至。
9.根据权利要求7所述的传输控制装置,其特征在于,CF卡DMARQ管脚无效是由于CF卡完成传输、或CF卡暂停传输、或CF卡发生传输错误所致。
10.根据权利要求9所述的传输控制装置,其特征在于,
所述片选管脚控制逻辑电路进一步依据所述逻辑接口接收的Host在完成所述传输、或在由于所述传输错误而终止所述传输后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并取消对CF卡片选管脚的强置无效。
11.根据权利要求10所述的传输控制装置,其特征在于,
所述握手管脚控制逻辑电路进一步依据所述逻辑接口接收的Host在向CF卡发送DMA访问命令后的对应指示,开启中断上报功能;以及,依据所述逻辑接口接收的Host在完成所述传输并已收到CF卡DMARQ管脚无效的中断后、或在由于所述传输错误而终止所述传输后的对应指示,关闭中断上报功能。
12.根据权利要求11所述的传输控制装置,其特征在于,所述逻辑接口中设置有:
DMARQ中断使能字段,用于被Host置为有效值、以表示所述使能;被Host置为无效值、以表示取消所述使能;
DMARQ有效标志字段,用于被所述握手管脚控制逻辑电路在CF卡DMARQ管脚有效时置为有效值、以表示有CF卡DMARQ管脚有效的中断;被Host在处理CF卡DMARQ管脚有效的中断后置为无效值、以表示无CF卡DMARQ管脚有效的中断;
DMARQ无效标志字段,用于被握手管脚控制逻辑电路在CF_DMARQ管脚无效时置为有效值1、以表示有CF卡DMARQ管脚无效的中断;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值0、以表示无CF_DMARQ管脚无效的中断;
DMACK应答指示字段,用于被Host在处理CF卡DMARQ管脚有效的中断后置为有效值、以表示将CF卡DMACK管脚置为有效的指示;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值、以表示将CF卡DMACK管脚置为无效的指示;
CE状态指示字段,用于被Host在发出所述DMA访问命令后置为有效值1、以表示将CF卡片选管脚与所述I/O总线接口的片选管脚断开并强置为无效的指示;被Host在完成传输或由于所述传输错误而终止所述传输后置为无效值0、以表示恢复CF卡片选管脚与所述I/O总线接口的片选管脚为导通状态的指示。
13.一种主机驱动方法,其特征在于,包括:
步骤a1,依据接收到的表示访问CF卡的调用命令,通过I/O总线接口的数据线管脚输出DMA访问命令至CF卡;
步骤a2,在所述步骤a1输出所述DMA访问命令后,通过所述预定义管脚指示一传输控制装置将CF卡的片选管脚与I/O总线接口的片选管脚断开并置为无效;
步骤a3,在所述步骤a1输出所述DMA访问命令后,处理第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚有效的中断、并通过预定义管脚指示所述传输控制装置将CF卡DMACK管脚置为有效;
步骤a4,在所述步骤a2和所述步骤a3均发出指示后,通过所述数据线管脚以True IDE DMA传输模式的时序与CF卡传输数据;
步骤a5,在所述步骤a4完成传输后,处理所述第一中断管脚从所述传输控制装置接收到的表示CF卡DMARQ管脚无效的中断、并通过所述预定义管脚指示所述传输控制装置将CF卡的CF_DMACK管脚置为无效;
步骤a6,在所述步骤a4完成传输后,处理第二中断管脚从CF卡接收到的表示完成传输的中断、并返回表示调用结束的返回命令。
14.根据权利要求13所述的主机驱动方法,其特征在于,进一步包括:
步骤b0,在需要CF卡让出I/O总线时使所述步骤a4已开始但未完成的传输暂停、并待可恢复CF卡占用I/O总线时触发所述步骤a4继续传输。
15.根据权利要求13所述的主机驱动方法,其特征在于,进一步包括:
步骤c0,在所述步骤a4已开始但未完成时,检测所述第一中断管脚以及所述第二中断管脚是否有中断;
若仅有所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断,则进一步触发所述步骤a5、并使所述步骤a4的传输暂停,待所述步骤a3接收到表示CF卡DMARQ管脚有效的中断之后触发所述步骤a4继续传输;
若所述第一中断管脚接收到的表示CF卡DMARQ管脚无效的中断、以及所述第二中断管脚又接收到CF卡发送的表示错误的中断,则触发所述步骤a5和所述步骤a6、并使所述步骤a4的传输终止。
16.根据权利要求15所述的主机驱动方法,其特征在于,进一步包括:
步骤d0,在所述步骤a4完成传输或所述步骤a4的传输终止后,通过所述预定义管脚指示所述传输控制装置将CF卡片选管脚与所述I/O总线接口的片选管脚恢复导通。
17.根据权利要求15所述的主机驱动装置,其特征在于,进一步包括:
步骤e1,在所述步骤a1输出所述DMA访问命令之后,通过所述预定义管脚使能所述传输控制装置针对CF卡DMARQ管脚的状态上报中断;
步骤e2,在所述步骤a4完成传输且所述步骤a5发出指示后、或者在所述步骤a4的传输终止后,通过所述预定义管脚指示所述传输控制装置取消所述使能。
18.根据权利要求13所述的主机驱动方法,其特征在于,该主机驱动方法将所述数据线管脚复用为所述预定义管脚。
19.一种传输控制方法,其特征在于,包括:
步骤A,依据Host在向CF卡发送DMA访问命令后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并将CF卡片选管脚强置为无效;
步骤B,在CF卡DMARQ管脚跳变为有效后向Host的第一中断管脚上报表示CF卡DMARQ管脚有效的中断、并依据Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为有效;
步骤C,在所述I/O总线接口的片选管脚有效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚导通、在所述I/O总线接口的片选管脚无效时将CF卡的访问控制管脚与所述I/O总线接口的访问控制管脚断开;
步骤D,在CF卡DMARQ管脚跳变为无效后向所述第一中断管脚上报表示CF卡DMARQ管脚无效的中断、并依据Host在处理该中断后的对应指示将CF卡的CF_DMACK管脚置为无效。
20.根据权利要求19所述的传输控制方法,其特征在于,所述I/O总线接口的片选管脚无效是由于所述传输中的数据间隔、或CF卡让出I/O总线所至。
21.根据权利要求19所述的传输控制方法,其特征在于,CF卡DMARQ管脚无效是由于CF卡完成传输、或CF卡暂停传输、或CF卡发生传输错误所致;
若是由于CF卡完成传输或CF卡发生传输错误所致,则所述步骤D之后直接结束流程;
若是由于CF卡暂停传输所致,则所述步骤D之后再返回至所述步骤B。
22.根据权利要求21所述的传输控制方法,其特征在于,
所述步骤B进一步依据Host在完成所述传输、或在由于所述传输错误而终止所述传输后的对应指示,将CF卡片选管脚与Host的I/O总线接口的片选管脚断开、并取消对CF卡片选管脚的强置无效。
23.根据权利要求22所述的传输控制方法,其特征在于,
所述步骤A进一步依据Host在向CF卡发送DMA访问命令后的对应指示,开启中断上报功能;以及,依据Host在完成所述传输并已收到CF卡DMARQ管脚无效的中断后、或在由于所述传输错误而终止所述传输后的对应指示,关闭中断上报功能。
24.根据权利要求23所述的传输控制方法,其特征在于,该方法进一步设置有:
DMARQ中断使能字段,用于被Host置为有效值、以表示所述使能;被Host置为无效值、以表示取消所述使能;
DMARQ有效标志字段,用于被所述步骤B在CF卡DMARQ管脚有效时置为有效值、以表示有CF卡DMARQ管脚有效的中断;被Host在处理CF卡DMARQ管脚有效的中断后置为无效值、以表示无CF卡DMARQ管脚有效的中断;
DMARQ无效标志字段,用于被所述步骤D在CF_DMARQ管脚无效时置为有效值1、以表示有CF卡DMARQ管脚无效的中断;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值0、以表示无CF_DMARQ管脚无效的中断;
DMACK应答指示字段,用于被Host在处理CF卡DMARQ管脚有效的中断后置为有效值、以表示将CF卡DMACK管脚置为有效的指示;被Host在处理CF卡DMARQ管脚无效的中断之后置为无效值、以表示将CF卡DMACK管脚置为无效的指示;
CE状态指示字段,用于被Host在发出所述DMA访问命令后置为有效值1、以表示将CF卡片选管脚与所述I/O总线接口的片选管脚断开并强置为无效的指示;被Host在完成传输或由于所述传输错误而终止所述传输后置为无效值0、以表示恢复CF卡片选管脚与所述I/O总线接口的片选管脚为导通状态的指示。
CN201110347599.2A 2011-11-07 2011-11-07 主机驱动装置和方法及传输控制装置和方法 Active CN102508801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110347599.2A CN102508801B (zh) 2011-11-07 2011-11-07 主机驱动装置和方法及传输控制装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110347599.2A CN102508801B (zh) 2011-11-07 2011-11-07 主机驱动装置和方法及传输控制装置和方法

Publications (2)

Publication Number Publication Date
CN102508801A true CN102508801A (zh) 2012-06-20
CN102508801B CN102508801B (zh) 2014-07-02

Family

ID=46220892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110347599.2A Active CN102508801B (zh) 2011-11-07 2011-11-07 主机驱动装置和方法及传输控制装置和方法

Country Status (1)

Country Link
CN (1) CN102508801B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540529A (zh) * 2003-10-31 2004-10-27 港湾网络有限公司 Cpld实现cf卡移动存储的方法
CN1584816A (zh) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 一种具有多重接口功能的存储卡及其传输模式选择方法
JP2007233800A (ja) * 2006-03-02 2007-09-13 Ricoh Co Ltd インタフェース回路における転送方式切換回路
CN102222054A (zh) * 2010-04-19 2011-10-19 凹凸电子(武汉)有限公司 数据传输装置、方法及控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540529A (zh) * 2003-10-31 2004-10-27 港湾网络有限公司 Cpld实现cf卡移动存储的方法
CN1584816A (zh) * 2004-06-03 2005-02-23 瑞程科技股份有限公司 一种具有多重接口功能的存储卡及其传输模式选择方法
JP2007233800A (ja) * 2006-03-02 2007-09-13 Ricoh Co Ltd インタフェース回路における転送方式切換回路
CN102222054A (zh) * 2010-04-19 2011-10-19 凹凸电子(武汉)有限公司 数据传输装置、方法及控制器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《中国优秀硕士学位论文全文数据库信息科技辑》 20110630 徐红伟 "高速数据采集记录装置研制" 第15-28页 1-24 , *
《仪器仪表用户》 20061008 盛中国 "基于S3C4510B嵌入式系统CF卡高速存储技术" 第118-119页 1-24 第13卷, 第5期 *
徐红伟: ""高速数据采集记录装置研制"", 《中国优秀硕士学位论文全文数据库信息科技辑》, 30 June 2011 (2011-06-30), pages 15 - 28 *
盛中国: ""基于S3C4510B嵌入式系统CF卡高速存储技术"", 《仪器仪表用户》, vol. 13, no. 5, 8 October 2006 (2006-10-08), pages 118 - 119 *

Also Published As

Publication number Publication date
CN102508801B (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
TWI733752B (zh) 用於旁波帶通訊之系統及方法、以及實體非暫時性計算機可讀媒體
JP4799417B2 (ja) ホストコントローラ
KR100968641B1 (ko) 점-대-점 링크 협의 방법, 디바이스, 집적 회로 및 전자시스템
CN101587462B (zh) 高速数据通信链路中的usb数据传输装置及其数据传输方法
US20110320706A1 (en) Storage apparatus and method for controlling the same
TWI515577B (zh) 用於裝置中的單元之間通訊的方法及介面
EP2453362A2 (en) Data transferring apparatus and control method thereof
CN106155960A (zh) 基于gpio握手和edma的uart串口通信方法
CN102591834A (zh) 单线总线系统
CN102193889B (zh) 一种i2c总线转发器及其读写方法
WO2022213865A1 (zh) 计算机设备、虚拟化加速设备、数据传输方法及存储介质
CN108132910A (zh) 系统互连以及具有系统互连的片上系统
CN104021101A (zh) 基于lpc1768平台的usb接口系统及实现方法
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
CN102983989B (zh) 一种服务器虚拟地址的迁移方法、装置和设备
US8996734B2 (en) I/O virtualization and switching system
CN110419035A (zh) Usb主机到主机自动切换
US7996206B2 (en) Serial attached small computer system interface (SAS) connection emulation for direct attached serial advanced technology attachment (SATA)
CN104460406A (zh) 单线通信的方法及基于单线通信的单片机固件升级方法
CN103530215A (zh) 一种内部集成电路主机的自检方法、装置及主机
CN111124985A (zh) 一种移动终端只读控制方法及装置
CN214225796U (zh) 时间同步电路
CN102508801B (zh) 主机驱动装置和方法及传输控制装置和方法
CN104765710B (zh) 一种包含双处理器的读卡器的工作方法
US8417932B2 (en) Information processing apparatus and control method thereof

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.