一种基于fpga实现cy7c68013通信的方法

文档序号:6524676阅读:659来源:国知局
一种基于fpga实现cy7c68013通信的方法
【专利摘要】本发明涉及一种基于FPGA实现多CY7C68013通信的方法,用于FPGA与USB芯片CY7C68013之间的通信,在FPGA内部增加fifo用于缓存数据,防止数据丢失;配合状态机的控制,实现优先级高的数据优先传输的功能;FPGA内部电路包括FPGA接口模块及调制解调,数据处理模块;述FPGA接口模块的内部包括三个数据接口,用于FPGA与CY7C68013芯片的通信,二者通过CY7C68013芯片的数据端口进行通信,每次通信传输16bit数据;优点是,FPGA与CY7C68013芯片通信的过程中,通过状态机的控制能够确保当优先级较高的数据到来并达到传输条件时,暂停传输其他数据,优先传输的优先级较高的数据,以保证优先级较高的重要数据能够在第一时间传输,同时使用fifo对数据进行缓存,保证优先级较低的数据在等待传输的过程中不会丢失。
【专利说明】 —种基于FPGA实现CY7C68013通信的方法
【技术领域】
[0001]本发明涉及通信、测控等设备,特别涉及一种基于FPGA实现多CY7C68013通信的方法。
【背景技术】
[0002]目前,随着通信技术的发展,通信、测控设备电路的各电路板与usb接口的数据传输有着越来越广泛的应用。本发明的USB芯片基于CYPRESS公司的CY7C68013芯片。由于USB芯片只有一组16bit的数据接口,对于多种数据(数据,命令等)的传输,会有数据阻塞或者一直传输某一种数据而导致其他数据丢失等问题。这样不仅仅会浪费大量的时间等待有用的紧急信息,还有可能造成数据丢失,通信的速率和效率都会大大降低。

【发明内容】

[0003]鉴于现在技术存在的问题,本发明提供一种基于FPGA实现CY7C68013通信的技术方案,通过状态机的控制达到能够实现数据的传输具有优先级的目的。
[0004]本发明是通过这样的技术方案实现的:一种基于FPGA实现CY7C68013通信的方法,用于FPGA与USB芯片CY7C68013之间的通信,其特征在于,在FPGA内部增加f ifo( f irstin first out)用于缓存数据,防止数据丢失;配合状态机的控制,实现优先级高的数据优先传输的功能;
FPGA内部电路包括FPGA接口模块及调制解调,数据处理模块;
所述FPGA接口模块的内部包括三个数据接口,用于FPGA与CY7C68013芯片的通信,二者通过CY7C68013芯片的数据端口进行通信,每次通信传输16bit数据;
FPGA与CY7C68013芯片之间的通信接口采用如下定义:
CY_DATA[15:0]:数据通路;
FLAGB: CY7C68013芯片内部fifo满状态标志;
FLAGC: CY7C68013芯片内部fifo空状态标志;
SLWR_N:写控制信号,低电平有效;
PKTEND_N:写数据完成标志,低电平有效;
SLRD_N:读控制信号,低电平有效;
SL0E_N:可输出标志,低电平有效;
ADR [1: O]: CY7C68013 芯片内部的 RAM 地址;
所述CY7C68013芯片工作在slave fifo模式下,USB接口模块主要由控制电路,状态机组成,其中控制电路用于产生读写控制信号;状态机用于控制执行发送和接收数据;
PGA接口模块通过三个数据接口与CY7C68013芯片通信,分别有三种数据需要传输:A:由FPGA发送给CY7C68013芯片的数据;B:由FPGA发送给CY7C68013芯片的命令;C:由CY7C68013芯片发送给FPGA的命令。他们的优先级为:BCA ;
PGA接口模块控制时序包括: I部分为当FPGA to CY info fifo非空,且CY7C68013芯片的地址指向内部相应的ram且该ram不满,则传输由FPGA发送给CY7C68013芯片的命令。此时SLWR_N为低电平,写有效,当数据传输完成后,PKTEND_N信号为低电平表示数据传输完毕;
II部分为当CY to FPGA info f ifo非满,且CY7C68013芯片相应ram非空,此时FPGAto CY info fifo为空,则传输由CY7C68013芯片发送给FPGA的命令。此时SLRD_Mf号为低电平,读有效,同时SL0E_N信号比SLRD_N信号早拉低一个时钟周期,保证满足由CY7C68013芯片的时序要求;
III部分为当 FPGA to CY data fifo 非空,FPGA to CY info fifo 为空,CY to FPGAinfo fifo为满,并且CY7C68013芯片相应的ram不满,则传输由FPGA发送给CY7C68013芯片的数据。此时SLWR_NS低电平,写有效,当数据传输完成后,PKTEND_Wf号为低电平表示数据传输完毕。
[0005]本发明的优点是,通信系统中,FPGA与CY7C68013芯片通信的过程中,通过状态机的控制能够确保当优先级较高的数据到来并达到传输条件时,暂停传输其他数据,优先传输的优先级较高的数据,以保证优先级较高的重要数据能够在第一时间传输,同时使用fifo对数据进行缓存,保证优先级较低的数据在等待传输的过程中不会丢失。
【专利附图】

【附图说明】
[0006]图1.数据传输总体示意图;
图2.接口模块控制时序示意图;
图3.数据传输状态转移图。
【具体实施方式】
[0007]为了更清楚的理解本发明,结合附图和实施例详细描述本发明:
如图1至图3所示,CY7C68013芯片需要配置为slave fifo模式。通过数据接口每次传输的读写数据为16bit数据。
[0008]FPGA与CY7C68013芯片的接口定义如下:
CY_DATA[15:0]:数据通路;
FLAGB: CY7C68013芯片内部fifo满状态标志;
FLAGC: CY7C68013芯片内部fifo空状态标志;
SLWR_N:写控制信号,低电平有效;
PKTEND_N:写数据完成标志,低电平有效;
SLRD_N:读控制信号,低电平有效;
SL0E_N:可输出标志,低电平有效;
ADR[1:0]: CY7C68013 芯片内部的 RAM 地址;
如图1所示,FPGA主要由两部分组成:三个fifo IP,用于缓存进入本发明代码的数据,防止因为传输优先级较高的数据导致优先级较低的数据丢失;控制逻辑,用来产生读写信号来控制FPGA与CY7C68013芯片的通信时序,数据传输的优先级等内容。
[0009]本发明共有三种数据需要传输:A:由FPGA发送给CY7C68013芯片的数据;B:由FPGA发送给CY7C68013芯片的命令;C:由CY7C68013芯片发送给FPGA的命令。他们的优先级为:BCA。
[0010]如图2所示,为逻辑控制电路部分。PGA接口模块控制时序包括:
I部分为当FPGA to CY info fifo非空,且CY7C68013芯片的地址指向内部相应的ram且该ram不满,则传输由FPGA发送给CY7C68013芯片的命令。此时SLWR_N为低电平,写有效,当数据传输完成后,PKTEND_N信号为低电平表示数据传输完毕。II部分为当CY to FPGAinfo fifo非满,且CY7C68013芯片相应ram非空,此时FPGA to CY info fifo为空,则传输由CY7C68013芯片发送给FPGA的命令。此时SLRD_N信号为低电平,读有效,同时SL0E_N信号比SLRD_N信号早拉低一个时钟周期,保证满足由CY7C68013芯片的时序要求。III部分为当 FPGA to CY data fifo 非空,FPGA to CY info fifo 为空,CY to FPGA info fifo为满,并且CY7C68013芯片相应的ram不满,则传输由FPGA发送给CY7C68013芯片的数据。此时SLWR_N为低电平,写有效,当数据传输完成后,PKTEND_N信号为低电平表示数据传输完毕。
[0011]如图3所示,为状态机转移图。一共十个状态,包括一个idle。通过检测各个fifo的空满状态,达到使状态机跳转,实现按照上文所述的BCA的优先级传输数据。
[0012]根据上述说明,结合本领域技术可实现本发明的方案。
【权利要求】
1.一种基于FPGA实现CY7C68013通信的方法,用于FPGA与USB芯片CY7C68013之间的通信,其特征在于,在FPGA内部增加fifo (first in first out)用于缓存数据,防止数据丢失;配合状态机的控制,实现优先级高的数据优先传输的功能; FPGA内部电路包括FPGA接口模块及调制解调,数据处理模块; 所述FPGA接口模块的内部包括三个数据接口,用于FPGA与CY7C68013芯片的通信,二者通过CY7C68013芯片的数据端口进行通信,每次通信传输16bit数据; FPGA与CY7C68013芯片之间的通信接口采用如下定义: CY_DATA[15:0]:数据通路; FLAGB: CY7C68013芯片内部fifo满状态标志; FLAGC: CY7C68013芯片内部fifo空状态标志; SLWR_N:写控制信号,低电平有效; PKTEND_N:写数据完成标志,低电平有效; SLRD_N:读控制信号,低电平有效; SL0E_N:可输出标志,低电平有效; ADR [1: O]: CY7C68013 芯片内部的 RAM 地址; 所述CY7C68013芯片工作在slave fifo模式下,USB接口模块主要由控制电路,状态机组成,其中控制电路用于产生读写控制信号;状态机用于控制执行发送和接收数据; PGA接口模块通过三个数据接口与CY7C68013芯片通信,分别有三种数据需要传输:A:由FPGA发送给CY7C68013芯片的数据;B:由FPGA发送给CY7C68013芯片的命令;C:由CY7C68013芯片发送给FPGA的命令;他们的优先级为:BCA ; PGA接口模块控制时序包括: I部分为当FPGA to CY info fifo非空,且CY7C68013芯片的地址指向内部相应的ram且该ram不满,则传输由FPGA发送给CY7C68013芯片的命令;此时SLWR_N为低电平,写有效,当数据传输完成后,PKTEND_N信号为低电平表示数据传输完毕; II部分为当CY to FPGA info f ifo非满,且CY7C68013芯片相应ram非空,此时FPGAto CY info fifo为空,则传输由CY7C68013芯片发送给FPGA的命令;此时SLRD_Mf号为低电平,读有效,同时SL0E_N信号比SLRD_N信号早拉低一个时钟周期,保证满足由CY7C68013芯片的时序要求; III部分为当 FPGA to CY data fifo 非空,FPGA to CY info fifo 为空,CY to FPGAinfo fifo为满,并且CY7C68013芯片相应的ram不满,则传输由FPGA发送给CY7C68013芯片的数据;此时SLWR_N为低电平,写有效,当数据传输完成后,PKTEND_N信号为低电平表示数据传输完毕。
【文档编号】G06F13/38GK103729320SQ201310707821
【公开日】2014年4月16日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】毛悦, 张鹏泉, 曹晓冬, 范玉进, 李柬, 褚孝鹏, 李光, 张波, 李羚梅 申请人:天津光电通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1