【技术实现步骤摘要】
一种对MUXIO接口处理的方法
[0001]本专利技术属于数据传输的
,更具体地,涉及一种对MUXIO接口处理的方法。
技术介绍
[0002]MUXIO接口是由方寸微电子科技有限公司(下称方寸)提出一种类FIFO的接口,特点是时序简单,操作方便。同时除去常规的数据通路还提供了一个方便扩展的命令通路。
[0003]但因为MUXIO时序比较简单,所以对实际应用中,特别是对视频数据的“包”的概念显得有些力不从心。例如,MUXIO的接口中,只有数据或命令的空/满信号,导致在FPGA在进行连续读/写的时候,必然会出现写满或空读的情况,同时,在传输过程中,也不好分辨数据包传输结束,对后续的传输造成困扰。
[0004]经检索,中国专利文献CN107491009A公开了一种轴角传感器信号同步采集方法,实现该方法的电路由轴角信号转换器、SDRAM存储器、FPGA、数字隔离器组成,可以对多通道、不同类型轴角传感器的模拟信号进行并行输入采集;每个通道输入的轴角传感器信号通过轴角信号转换器转换成数字信号送入FPGA;同步采集信号通过数字隔离器传送至FPGA,由FPGA中设计的FIFO接口连接SDRAM,实现采集数据和时标信息的实时存储和读取。此专利技术具有采用新型轴角信号转换器,转换分辨率高达19位,采集通道4路,信号电压范围5~90V;采集数据和时间信息实现并行同步存储和读取,实时性强,读写速度可达128Mbps等优点。
[0005]综上,现有技术并无法解决数据空满的信号无法指示将空和将满,执行连续读/写的动 ...
【技术保护点】
【技术特征摘要】
1.一种对MUXIO接口处理的方法,其特征在于,应用于MCU,所述方法包括;数据源端将数据传输至FPGA,所述FPGA准备好数据并通过MUXIO接口向所述MCU进行写数据,再通过USB接口传输至目的端;或,数据源端通过USB接口将数据传输至MCU,所述MCU准备好数据,FPGA作为目的端通过MUXIO接口从所述MCU中读数据;所述写数据包括低速写、高速写:所述低速写包括:所述FPGA准备好数据,MCU内部的cyrto
·
DMA先将数据从MUXIO的数据FIFO中拉取到MCU内部的ram中,然后USB
·
DMA再将MCU内部ram中的数据拉取到USB
·
FIFO中;所述高速写包括:所述FPGA准备好数据,USB
·
DMA直接将数据从MUXIO的数据FIFO直接拉取到USB
·
FIFO中。2.根据权利要求1所述的一种对MUXIO接口处理的方法,其特征在于,所述FPGA进行写数据时包括发送流控命令,所述流控命令包括:所述MUXIO的数据FIFO的大小为固定阈值,当所述MUXIO的数据FIFO中数据超过预设值后,则通过命令通路向所述FPGA发送一个停止命令;所述FPGA在每写一个固定值的数据后,检查命令通路是否有停止命令;若检查到的是停止命令则阻止所述FPGA继续向所述MCU写数据,直到所述MCU的数据FIFO的数据小于开始写入阈值(根据muxio频率和MCU内部总线的频率计算,一般为经验值)时,所述MCU通过命令通路向所述FPGA发送一个开始命令,所述FPGA在接收到开始命令之后重新开始向所述MCU写入数据。3.根据权利要求1所述的一种对MUXIO接口处理的方法,其特征在于,所述FPGA准备好数据进行低速写时,其状态包括:IDLE、RFIFO、WDATA、WCMD、RCMD、RCMD_WAIT、DECODE、STOP、RESTART、WLOG_START、WLOG_STOP、WCMD_SELG、END,所述低速写过程的具体FPGA状态迁移如下所述:IDLE:初始空闲状态;当IDLE不空时,首先跳转RCMD状态读取MCU的命令FIFO,直到MCU的命令FIFO为空;当MCU的命令FIFO为空时,且MUXIO的数据FIFO不空或MCU的数据FIFO不满时,跳转RFIFO状态,低速写模式开始工作;否则,初始空闲状态保持不变;RFIFO:读MUXIO的数据FIFO状态,预读一拍数据;下一拍跳转WDATA状态;WDATA:写数据状态,将数据从MUXIO的数据FIFO读出并写入MCU的数据FIFO,当整包数据传输结束,或者每发送完固定值的数据,则跳转到WCMD状态;WCMD:写命令状态,在写之前先判断MCU的命令FIFO是否写满;不满则继续写入,满则等待;将小包数据长度和地址写入MCU的命令FIFO;若整包数据传输结束,则跳转END状态;若整包数据传输未结束,则需判断MCU的命令FIFO是否为空;非空则跳转RCMD状态,空则跳转RFIFO状态;RCMD:读MCU的命令FIFO状态,下一拍跳转RCMD_WAIT状态;RCMD_WAIT:读MCU的命令FIFO的等待状态,读取到命令,延时两拍后跳转到DECODE状态;DECODE:命令解析状态,解析收到的命令,并根据命令决定下一状态:(1)当命令为私有命令时,跳转到WCMD_SELF状态;
(2)当命令为日志命令时,跳转到WLOG_START状态(3)当命令为STOP时,跳转到STOP状态;(4)当命令为RESTART时,跳转RESTART状态;(5)当命令为START时,若命令是在低速写模式开始前读取的,即IDLE状态下读取的,则跳转回IDLE状态;命令是在低速写模式开始后读取的,即WCMD状态下读取的,则跳转回DFIFO状态;(6)当为其他命令时,若命令是在低速写模式开始前读取的,即IDLE状态下读取的,则跳转回IDLE状态;命令是在低速写模式开始后读取的,即WCMD状态下读取的,则跳转回DFIFO状态;STOP:停止状态,此状态下MUXIO停止工作,直到收到START命令;当检测MCU的命令FIFO不为空时,跳转RCMD状态;RESTART:重启状态,此状态下MUXIO将FIFO读空,并将数据丢弃;当MUXIO的数据FIFO为空时,跳转IDLE状态;WLOG_START:写START命令日志状态,将START日志写入MUXIO的命令FIFO;完成后下一拍跳转到WLOG_STOP状态;写命令前要判断MCU的命令FIFO是否写满,不满则继续写,满则需要等待;WLOG_STOP:写STOP命令日志状态,将STOP日志写入MUXIO的命令FIFO;完成后下一拍跳转到IDLE状态;写命令前要判断MCU的命令FIFO是否写满,不满则继续写,满则需要等待;WCMD_SELG:写私有命令状态,将读到的命令写回到MUXIO的命令FIFO;完成后下一拍跳转到IDLE状态;写命令前要判断MCU的命令FIFO是否写满,不满则继续写,满则需要等待;END:结束状态,下一拍跳转IDLE状态。4.根据权利要求1所述的一种对MUXIO接口处理的方法,其特征在于,所述FPGA在高速写数据之前,将待传输数据对应的通道、待传输的数据量通过命令通道给到MCU;所述FPGA准备好数据进行高速写时,其状态包括:IDLE、RFIFO、WDATA、WCMD、RCMD、RCMD_WAIT、DECODE、STOP、RESTART、WLOG_START、WLOG_STOP、WCMD_SELG、END,所述高速写过程的具体FPGA状态迁移如下所述:IDLE:初始空闲状态;当MCU的命令FIFO不空时,跳转RCMD状态;当MCU的命令FIFO为空时,MUXIO的数据FIFO非空、MCU的数据FIFO不满时,跳转WCMD状态,开始高速IN数据传输过程;否则状态保持不变;WCMD:写命令状态;写命令前先判断MCU的命令FIFO是否写满;不满则继续写,满则等待;将地址和包长度信息写入MCU的命...
【专利技术属性】
技术研发人员:张贇祺,杨洪杰,刘超,
申请(专利权)人:山东方寸微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。