[发明专利]实现PCIe接口转CF卡接口的FPGA芯片及方法有效
申请号: | 201510599657.9 | 申请日: | 2015-09-18 |
公开(公告)号: | CN105183680B | 公开(公告)日: | 2018-03-20 |
发明(设计)人: | 陶程;谢振新;梁元涛 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙)42225 | 代理人: | 彭程程 |
地址: | 430074 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 pcie 接口 cf fpga 芯片 方法 | ||
技术领域
本发明涉及PCIe接口转CF卡接口领域,具体来讲涉及实现PCIe接口转CF卡接口的FPGA芯片及方法。
背景技术
随着PCIe(Peripheral Component Interconnect express,外设部件互连标准接口)技术的日趋成熟和高性能特点,CPU外设接口有限,使用PCIe接口挂载外部设备的应用越来越广泛。CF(Compact Flash,便携式电子设备的数据存储设备)卡作为一种通用可靠的可移动便携存储器,在通信设备和工业设备中具有广泛的需求,CF卡接口符合PATA(Parallel Advanced Technology Attachment,并行硬盘接口技术)接口协议的定义。
PCIe接口转CF卡接口的桥接功能芯片种类较少,现有的PCIe接口转CF卡接口的芯片,均是统一生产,而对于不同使用场景中的一些特殊需求,例如定时启动数据传输,DMA模块主动发起数据传输,CF卡接口时序可配置等功能,无法一一满足要求,灵活性低,不能够适应多种使用场景。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种实现PCIe接口转CF卡接口的FPGA芯片及方法,能够适用不同使用场景的不同需求,灵活性高。
为达到以上目的,本发明采取一种实现PCIe接口转CF卡接口的FPGA芯片,分别连接CPU和CF卡,包括:PCIe IP核模块,用于向CPU提供标准PCIe接口;适配模块,用于PCIe IP核模块的接口总线到本地总线的适配;直接内存访问模块,与PCIe IP核模块连接,用于发起CF卡与CPU之间的数据传输;CF卡接口协议模块,与直接内存访问模块连接,用于向CF卡提供满足并行硬盘接口技术的接口;控制寄存器,通过适配模块挂接在PCIe基地址空间下,用于控制直接内存访问模块和CF卡接口协议模块。
在上述技术方案的基础上,所述PCIe IP核模块的接口总线为Avalon总线或AXI总线。
在上述技术方案的基础上,所述控制寄存器包括控制直接内存访问模块的直接内存访问控制器,以及控制CF卡接口协议模块的CF卡控制器。
在上述技术方案的基础上,所述直接内存访问模块包括发送方向控制器、接收方向控制器和先入先出队列模块,发送方向控制器用于控制直接内存访问模块由PCIe IP核模块读取需要写入CF卡的数据,接收方向控制器用于控制直接内存访问模块,读取CF卡接口协议模块从CF卡中读取的数据,先入先出队列模块包括两个先入先出队列,分别用于存储所述需要写入CF卡的数据和所述从CF卡中读取的数据。
在上述技术方案的基础上,在用于存储需要写入CF卡的数据的先入先出队列中,当数据量达到总线突发传输长度时,向CF卡接口协议模块发起数据传输。
在上述技术方案的基础上,在用于存储从CF卡中读取的数据的先入先出队列中,当数据量达到与PCIe IP核模块对应的接口总线长度时,由直接内存访问模块通过PCIe IP核模块写入数据到CPU。
在上述技术方案的基础上,所述控制寄存器中的CF卡控制器还包括模块寄存器、指令先入先出队列寄存器、读先入先出队列寄存器和写先入先出队列寄存器,模块控制寄存器用于配置接口时序、各个先入先出队列深度、先入先出队列阀值。
本发明还提供一种实现PCIe接口转CF卡接口的方法,包括:
对于PIO类指令,控制寄存器控制CF卡接口协议模块,将指令内容组成相应的CF卡接口指令时序,若是PIO读指令,将CF卡返回的数据存放在控制寄存器中,通过读取控制寄存器获取数据;若是PIO写指令,将该数据反映在接口时序;
对于Ultra直接内存访问类指令,通过控制寄存器控制直接内存访问模块,设置最大总线突发传输长度、CPU侧存储地址和本次传输数据长度,直接内存访问模块等待CF卡接口协议模块给出的数据/空间准备好的请求,控制寄存器控制CF卡接口协议模块发送Ultra直接内存访问传输指令;若是向CF卡写数据的指令,在控制寄存器存储数据量低于阀值时,直接内存访问模块从CPU侧读取数据,并存储在控制寄存器,通过CF卡接口协议模块按照CF接口时序写入CF卡;若是CF卡读数据的指令,则CF卡接口协议模块读取CF卡中目的地址的数据,并储存在控制寄存器中,当储存数据量高于阀值时,内存访问模块直接分次读取目的地址的数据,并写到CPU侧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510599657.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档摘要自动生成的方法
- 下一篇:一种无线电子教鞭