CN109857485A - 一种可编程gpio装置及基于该装置的时序实现方法 - Google Patents
一种可编程gpio装置及基于该装置的时序实现方法 Download PDFInfo
- Publication number
- CN109857485A CN109857485A CN201910077385.4A CN201910077385A CN109857485A CN 109857485 A CN109857485 A CN 109857485A CN 201910077385 A CN201910077385 A CN 201910077385A CN 109857485 A CN109857485 A CN 109857485A
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- data
- decoded
- fetching
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开一种可编程gpio装置及基于该装置的时序实现方法,所述可编程gpio装置包括用于存储来自软件配置的指令的CMD模块、用于存储DATA端口上从外设读取的数据或者写往外设的数据的读/写FIFO、流水线控制模块以及与外设的接口。本发明可由用户编程,通过CPU进行引脚配置,具有快速、灵活的特点,运行中不需要CPU的干预,仅通过一些CPU标志和终端与内核通讯。
Description
技术领域
本发明涉及一种可编程gpio装置及基于该装置的时序实现方法,属于存储器技术领域。
背景技术
每个GPIO端口可通过软件分别配置成输入或输出,即通过配置寄存器控制对应的引脚,实现与外设交互。因为CPU执行软件代码的开销和芯片内部包括系统总线传递数据的时延,软件无法精确控制GPIO管脚上电平的跳变时间和管脚之间的时序关系,因此GPIO不支持高速接口协议继而不能实现与复杂外设数据交互。
随着工艺提高,高速接口协议成为主流,本发明旨在提取各类接口协议时序的共同特征,使用硬件实现根据时序波形编程gpio,以支持各类不同的接口协议。本装置将接口信号分类为时钟,控制信号,数据信号;将时序状态分类为空闲,控制输出,控制输入,数据读入,数据写出,条件触发等待及控制与数据并发的状态等;并据此设计一个指令集合,使用三级流水线,保证接口时序的准确无误,通过软件编程由CPU配置寄存器以及内置的命令SRAM,数据FIFO实现不同的接口应用。
发明内容
本发明要解决的技术问题是提供一种可编程gpio装置和基于该装置的时序实现方法,可由用户编程,通过CPU进行引脚配置,具有快速、灵活的特点,运行中不需要CPU的干预,仅通过一些CPU标志和终端与内核通讯。
为了解决所述技术问题,本发明采用的技术方案是:一种可编程gpio装置,包括CMD模块,用于存储来自软件配置的指令;
模式寄存器和默认电平寄存器,模式寄存器决定CTL每个端口的输入输出设置,作为输入的CTL端口,其输入电平与默认电平寄存器中对应位的电平不一致时接口上所有信号维持不变直到两者一致时才能根据CMD SRAM中的命令条目继续后续的时序演进;
读/写FIFO,用于存储DATA端口上从外设读取的数据或者写往外设的数据;
流水线控制模块,流水线控制模块包括取指状态机、解码状态机、执行状态机,三个状态机分别负责从命令SRAM中提取指令、解析提取到的指令、执行解析的指令;
与外设的接口,包括PCLK、CTL、DATA三类,PCLK是由控制器输出给外设,CTL和DATA都是双向端口。
进一步的,CMD模块存储的每条命令条目长度为32位,其中bit[31:29]为数据控制符,bit31为data有效控制位,为1时表示当前拍DATA接口有效,为0时表示只有CTL接口有效;bit30为读写控制位,表示DATA接口的读写操作,为1时DATA接口为输出,0时DATA为输入,当bit31为1时该位才有效;bit29表示DATA cycle是否多拍,当bit31有效,并且bit29为0时,表示在当前命令只进行一拍数据的读写操作,当bit29为1时,表示进行多拍数据传输,且进行数据传输个数与实际命令的cycle数一致;bit[20:16]表示命令方向以及命令为输出时的pclk cycle个数,当为0时,表示配置为输入的CTL线上的值需要等待变为与默认电平寄存器中对应位的值一致之后再执行下一条命令,此时如果bit31有效,则bit29为0时只进行一拍数据的读写操作,为1时,进行多拍操作,即等待过程的每一个pclk cycle都进行读写操作直到输入变为默认值;
bit[12:0]表示CTL接口上的输出电平或者是否检测输入控制线的电平,与bit[20:16]搭配,当cmd_count=0时代表只看输入控制线,且只看该位上与默认电平不一致的控制线。
进一步的,在与外设的接口上,每个PCLK周期内CTL端口的电平信号由当前执行到的CMD SRAM条目及模式和电平寄存器共同决定,DATA端口的电平信号由当前执行到的CMDSRAM条目及模式和电平寄存器以及写FIFO上的数据或者所连接外设的电平共同决定,CTL每个端口的输入输出设置由模式寄存器决定,作为输出的CTL端口,其输出电平由CMD SRAM中对应命令条目的[12:0]中对应位决定;作为输入的CTL端口,其输入电平需要与默认电平寄存器中对应位的电平一致时才能表示该条命令完成,DATA端口是否有效及有效时的输入输出设置由CMD SRAM条目的[31:30]位决定,DATA端口作为输出时从WR FIFO弹出数据,作为输入时将数据压入RD FIFO中。
进一步的,取指状态机的状态包括空闲、第一次取指、第二次取指、正常取指、触发等待、执行反馈,解码和执行状态机的状态包括空闲、控制输出、控制输入、数据读入、数据写出、条件触发等待、控制输出并数据读写、控制输入并数据写出,三个状态机的状态彼此之间可以两两跳转。
解码状态机的下一个状态取决于对取指状态机当前状态输出的指令的解析,执行状态机的下一个状态取决于解码状态机的当前状态,取指状态机根据模式控制和默认电平寄存器信息以及指令的执行反馈情况决定是否进行状态跳转,使得执行阶段的接口时序与指令队列当中所描述的完全吻合。
进一步的,控制信号CTL的宽度为13bits,数据信号DATA宽度可配置,其宽度必须与内部FIFO的位宽保持一致。
本发明还公开了一种基于上述可编程gpio装置的时序实现方法,包括以下步骤:S01)、CPU配置模式寄存器和默认电平寄存,并编码CMD SRAM;
S02)、取指状态机从空闲状态跳转到取第一条指令的状态;
S03)、第一条指令取出后取指状态机跳转到取第二条指令的状态,与此同时,解码状态机根据解码信息跳转到解码时序状态;
S04)、第二条指令取出后取指状态机跳转到正常取指状态,与此同时,解码状态机根据所解码第二条指令的信息跳转到第二个解码时序状态,执行状态机从空闲状态跳转到上一个解码状态;
S05)、由解码状态所得的解码信息确定执行状态机在步骤S03跳转的上一个解码状态需要的PCLK周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第三条指令的信息跳转到第三个解码时序状态,执行状态机从步骤S03跳转的解码状态跳转到上一个解码状态;
S06)、由解码状态所得的解码信息确定执行状态机在步骤S04跳转的上一个解码状态需要的PCLK周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第四条指令的信息跳转到第四个解码时序状态,执行状态机从步骤S04跳转的解码状态跳转到上一个解码状态;
S07)、因为执行状态机在步骤S06跳转的上一个解码状态需要等待CTL接口上的某个输入信号与模式寄存器的对应位一致,具体等待时长取决于外设,两者一致之后,取指状态机进入空闲状态,解码状态机根据所解码的第五条指令的信息跳转到第五个解码时序状态,执行状态机从步骤S06跳转的解码状态跳转到上一个解码状态;
S08)、由解码状态所得的解码信息确定执行状态机在步骤S07跳转的上一个解码状态需要的PCLK周期,之后解码状态机进入空闲状态,执行状态机从步骤S07跳转的解码状态跳转到上一个解码状态;
S09)、由解码状态所得的解码信息确定执行状态机在步骤S08跳转的上一个解码状态需要的PCLK周期,之后执行状态机进入空闲状态。
进一步的,步骤S03中,解码状态机跳转到的解码时序状态为数据写出状态,步骤S04中,解码状态机跳转到的第二个解码时序状态为数据读入状态,执行状态机跳转到的上一个解码状态是数据写出状态,步骤S05中,解码状态机跳转的第三个解码时序状态是等待状态,执行状态机跳转的上一个解码状态是数据读入状态,步骤S06中,解码状态机跳转的第四个解码时序状态是控制输出状态,执行状态机跳转的上一个解码状态是等待状态,步骤S07中,解码状态机跳转的第五个解码时序状态是控制输入状态,执行状态机跳转的上一个解码状态是控制输出状态,步骤S08中,执行状态机跳转的上一个解码状态是控制输入状态。
本发明的有益效果:传统GPIO只能将引脚设置为输入或输出,设置引脚为固定电平值或者高阻态,不能实现引脚的复杂时序控制。本设计实际为一个多功能外设存储接口控制器,即可由用户编程的接口,通过CPU进行大篇幅的引脚配置,具有快速、灵活等特点。且运行中不需要CPU的干预,仅通过一些CPU标志和中断与内核通讯。其所启用的灵活接口可用作工业标准或专用接口中的主设备,并行和串行接口均可实现。
附图说明
图1为可编程gpio装置的原理框图;
图2为三个状态机运行时的流水线示意图;
图3为模式控制寄存器的示意图;
图4为默认电平寄存器的示意图;
图5为CPU对CMD_SRAM的配置设置的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种可编程gpio装置,如图1所示,包括:
CMD模块,用于存储来自软件配置的指令;
模式寄存器(在图1中表示为Mode Register)和默认电平寄存器(在图1中表示为LevelRegister),位宽为13比特,如图3、4所示,模式寄存器决定CTL每个端口的输入输出设置,作为输入的CTL端口,其输入电平与默认电平寄存器中对应位的电平不一致时接口上所有信号维持不变直到两者一致时才能根据CMD SRAM中的命令条目继续后续的时序演进;
读/写FIFO,用于存储DATA端口上从外设读取的数据或者写往外设的数据;
流水线控制模块,如图2所示,流水线控制模块包括取指状态机(Fetch)、解码状态机(Decode)、执行状态机(Execute),三个状态机分别负责从命令SRAM中提取指令、解析提取到的指令、执行解析的指令;
与外设的接口,包括PCLK、CTL、DATA三类,PCLK是由控制器输出给外设,CTL和DATA都是双向端口。控制信号CTL的宽度为13bits,数据信号DATA宽度可配置,其宽度必须与内部FIFO的位宽保持一致。
如图5所示,CMD模块存储的每条命令条目长度为32位,其中bit[31:29]为数据控制符,bit31(DATA_VALID)为data有效控制位,为1时表示当前拍DATA接口有效,为0时表示只有CTL接口有效;bit30(RW)为读写控制位,表示DATA接口的读写操作,为1时DATA接口为输出,0时DATA为输入,当bit31为1时该位才有效;bit29(DATA_LENGTH)表示DATA cycle是否多拍,当DATA_VALID有效,并且bit29为0时,表示在当前命令只进行一拍数据的读写操作,当DATA_LENGTH为1时,表示进行多拍数据传输,且进行数据传输个数与实际命令的cycle数一致即[20:16]中的数值。
bit[20:16] (Command cycle counter)表示命令方向以及命令为输出时的pclkcycle个数,当为0时,表示配置为输入的CTL线上的值需要等待变为与默认电平寄存器中对应位的值一致之后再执行下一条命令,此时如果DATA_VALID有效,则DATA_LENGTH为0时只进行一拍数据的读写操作(该操作在控制线变为默认值的那一拍进行),为1时,进行多拍操作,即等待过程的每一个pclk cycle都进行读写操作直到输入变为默认值。
bit[12:0] (Command)表示CTL接口上的输出电平或者是否检测输入控制线的电平,与bit[20:16]搭配,当cmd_count=0时代表只看输入控制线,且只看该位上与默认电平不一致的控制线。
本实施例中,在与外设的接口上,每个PCLK周期内CTL端口的电平信号由当前执行到的CMD SRAM条目及模式和电平寄存器共同决定,DATA端口的电平信号由当前执行到的CMD SRAM条目及模式和电平寄存器以及写FIFO上的数据或者所连接外设的电平共同决定,CTL每个端口的输入输出设置由模式寄存器决定,作为输出的CTL端口,其输出电平由CMDSRAM中对应命令条目的[12:0]中对应位决定;作为输入的CTL端口,其输入电平需要与默认电平寄存器中对应位的电平一致时才能表示该条命令完成,DATA端口是否有效及有效时的输入输出设置由CMD SRAM条目的[31:30]位决定,DATA端口作为输出时从WR FIFO弹出数据,作为输入时将数据压入RD FIFO中。
本实施例中,取指状态机的状态包括空闲、第一次取指、第二次取指、正常取指、触发等待、执行反馈,解码状态机和执行状态机的状态包括空闲、控制输出、控制输入、数据读入、数据写出、条件触发等待、控制输出并数据读写、控制输入并数据写出,三个状态机的状态彼此之间可以两两跳转。解码状态机的下一个状态取决于对取指状态机当前状态输出的指令的解析,执行状态机的下一个状态取决于解码状态机的当前状态。取指状态机根据模式控制和默认电平寄存器信息以及指令的执行反馈情况决定是否进行状态跳转,使得执行阶段的接口时序与指令队列当中所描述的完全吻合。因取指和译码实质只需要一个时钟周期,所以流水线的前进速度取决于每条命令的执行时间。一条命令执行时间长短取决于该指令所指代的内容,例如写数据周期数或者等待输入信号变化的等待时长。
图5示例解析:模式控制寄存器表示第CTL[12]为输出模式,CTL[11]为输入模式,CTL[1]为输入模式,CTL[0]为输出模式。默认电平寄存器的表示作为输入的CTL[11]默认为高电平,CTL[1]为低电平。在输入模式下,每一个PCLK周期,判断CTL[11]是否为1并且同时CTL[1]是否为0,不一致则等待至输入改变为一致后再进行下一条命令的操作。
实施例2
本实施例公开一种基于权利要求1所述可编程gpio装置的数据读写方法,包括以下步骤:
S01)、CPU配置模式寄存器和默认电平寄存,并编码CMD SRAM(假设配置了5条指令);
S02)、取指状态机从空闲状态跳转到取第一条指令的状态;
S03)、第一条指令取出后取指状态机跳转到取第二条指令的状态,与此同时,解码状态机根据解码信息跳转到第一个解码时序状态,本实施例中,本状态为数据写出状态;
S04)、第二条指令取出后取指状态机跳转到正常取指状态,与此同时,解码状态机根据所解码第二条指令的信息跳转到第二个解码时序状态,本实施例中,第二个解码为数据读入状态,执行状态机从空闲状态跳转到上一个解码状态,本实施例中,本状态为数据写出状态;
S05)、由解码状态所得的解码信息确定执行状态机在步骤S03跳转的数据写出状态需要的PCLK周期,本实施例中,需要10个pclk周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第三条指令的信息跳转到第三个解码时序状态(等待状态),执行状态机从数据写出状态跳转到上一个解码状态(数据读入状态);
S06)、由解码状态所得的解码信息确定执行状态机的数据读入状态需要8个pclk周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第四条指令的信息跳转到第四个解码时序状态(控制输出状态),执行状态机从数据读入状态跳转到上一个解码状态(等待状态);
S07)、因为执行状态机等待状态需要等待CTL接口上的某个输入信号与模式寄存器的对应位一致,具体等待时长取决于外设,两者一致之后,取指状态机进入空闲状态,解码状态机根据所解码的第五条指令的信息跳转到第五个解码时序状态(控制输入状态),执行状态机从等待状态跳转到上一个解码状态控制输出状态;
S08)、由解码状态所得的解码信息确定执行状态机的控制输出状态需要16个pclk周期,之后解码状态机进入空闲状态,执行状态机从数据写出状态跳转到上一个解码状态控制输入状态;
S09)、由解码状态所得的解码信息确定执行状态机的控制输入状态需要4个pclk周期,之后执行状态机进入空闲状态。
以图5 CMD SRAM中的数据为例解析接口时序如下:
第一条指令,一个pclk时钟周期,CTL[12]输出为0,CTL[0]输出为1
第二条指令,三个pclk时钟周期,CTL[12]输出为1,CTL[0]输出为0
第三条指令,维持当前状态直至检测到输入CTL[11]=1与CTL[1]=0同时成立;在此pclk周期内DATA写出一组数据(来源于WR FIFO)。
第四条指令,十个pclk时钟周期,CTL[12]输出为1,CTL[0]输出为0,同时DATA接口上依次读入十组数据(依次压入RD FIFO)。
第五条指令,维持当前状态直至检测到输入CTL[11]变为1;在此pclk周期内DATA端口上读入一组数据(压入RD FIFO)。
传统GPIO只能将引脚设置为输入或输出,设置引脚为固定电平值或者高阻态,不能实现引脚的复杂时序控制。本装置实际为一个多功能外设存储接口控制器,即可由用户编程的接口,通过CPU进行大篇幅的引脚配置,具有快速、灵活等特点。且运行中不需要CPU的干预,仅通过一些CPU标志和中断与内核通讯。其所启用的灵活接口可用作工业标准或专用接口中的主设备,并行和串行接口均可实现。
注:在本文中端口,引脚,管脚指代相同的意义。命令和指令代指相同意义。以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (8)
1.一种可编程gpio装置,其特征在于:包括
CMD模块,用于存储来自软件配置的指令;
模式寄存器和默认电平寄存器,模式寄存器决定CTL每个端口的输入输出设置,作为输入的CTL端口,其输入电平与默认电平寄存器中对应位的电平不一致时接口上所有信号维持不变直到两者一致时才能根据CMD SRAM中的命令条目继续后续的时序演进;
读/写FIFO,用于存储DATA端口上从外设读取的数据或者写往外设的数据;
流水线控制模块,流水线控制模块包括取指状态机、解码状态机、执行状态机,三个状态机分别负责从命令SRAM中提取指令、解析提取到的指令、执行解析的指令;
与外设的接口,包括PCLK、CTL、DATA三类,PCLK是由控制器输出给外设的单向端口,CTL和DATA都是双向端口。
2.根据权利要求1所述的可编程gpio装置,其特征在于:CMD模块存储的每条命令条目长度为32位,其中bit[31:29]为数据控制符,bit31为data有效控制位,为1时表示当前拍DATA接口有效,为0时表示只有CTL接口有效;bit30为读写控制位,表示DATA接口的读写操作,为1时DATA接口为输出,为0时DATA为输入,当bit31为1时该位才有效;bit29表示DATAcycle是否多拍,当bit31有效,并且bit29为0时,表示在当前命令只进行一拍数据的读写操作,当bit29为1时,表示进行多拍数据传输,且进行数据传输个数与实际命令的cycle数一致;bit[20:16]表示命令方向以及命令为输出时的pclk cycle个数,当为0时,表示配置为输入的CTL线上的值需要等待变为与默认电平寄存器中对应位的值一致之后再执行下一条命令,此时如果bit31有效,则bit29为0时只进行一拍数据的读写操作,为1时,进行多拍操作,即等待过程的每一个pclk cycle都进行读写操作直到输入变为默认值;
bit[12:0]表示CTL接口上的输出电平或者是否检测输入控制线的电平,与bit[20:16]搭配,当cmd_count=0时代表只看输入控制线,且只看该位上与默认电平不一致的控制线。
3.根据权利要求2所述的可编程gpio装置,其特征在于:在与外设的接口上,每个PCLK周期内CTL端口的电平信号由当前执行到的CMD SRAM条目及模式和电平寄存器共同决定,DATA端口的电平信号由当前执行到的CMD SRAM条目及模式和电平寄存器以及写FIFO上的数据或者所连接外设的电平共同决定,CTL每个端口的输入输出设置由模式寄存器决定,作为输出的CTL端口,其输出电平由CMD SRAM中对应命令条目的[12:0]中对应位决定;作为输入的CTL端口,其输入电平需要与默认电平寄存器中对应位的电平一致时才能表示该条命令完成,DATA端口是否有效及有效时的输入输出设置由CMD SRAM条目的[31:30]位决定,DATA端口作为输出时从WR FIFO弹出数据,作为输入时将数据压入RD FIFO中。
4.根据权利要求1所述的可编程gpio装置,其特征在于:取指状态机的状态包括空闲、第一次取指、第二次取指、正常取指、触发等待、执行反馈,解码状态机和执行状态机的状态包括空闲、控制输出、控制输入、数据读入、数据写出、条件触发等待、控制输出并数据读写、控制输入并数据读写,三个状态机各自的内部状态之间可以两两跳转。
5.根据权利要求4所述的可 编程gpio装置,其特征在于:解码状态机的下一个状态取决于对取指状态机当前状态输出的指令的解析,执行状态机的下一个状态取决于解码状态机的当前状态,取指状态机根据模式控制和默认电平寄存器信息以及指令的执行反馈情况决定是否进行状态跳转,使得执行阶段的接口时序与指令队列当中所描述的完全吻合。
6.根据权利要求1所述的可编程gpio装置,其特征在于:控制信号CTL的宽度为13bits,数据信号DATA宽度可配置,其宽度必须与内部FIFO的位宽保持一致。
7.一种基于权利要求3所述可编程gpio装置的时序实现方法,其特征在于:包括以下步骤:S01)、CPU配置模式寄存器和默认电平寄存,并编码CMD SRAM;
S02)、取指状态机从空闲状态跳转到取第一条指令的状态;
S03)、第一条指令取出后取指状态机跳转到取第二条指令的状态,与此同时,解码状态机根据解码信息跳转到解码时序状态;
S04)、第二条指令取出后取指状态机跳转到正常取指状态,与此同时,解码状态机根据所解码第二条指令的信息跳转到第二个解码时序状态,执行状态机从空闲状态跳转到上一个解码状态;
S05)、由解码状态所得的解码信息确定状态状态机在步骤S03跳转的上一个解码状态需要的PCLK周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第三条指令的信息跳转到第三个解码时序状态,执行状态机从步骤S03跳转的解码状态跳转到上一个解码状态;
S06)、由解码状态所得的解码信息确定执行状态机在步骤S04跳转的上一个解码状态需要的PCLK周期,之后取指状态机从等待状态进入普通取指状态,解码状态机根据所解码的第四条指令的信息跳转到第四个解码时序状态,执行状态机从步骤S04跳转的解码状态跳转到上一个解码状态;
S07)、因为执行状态机在步骤S06跳转的上一个解码状态需要等待CTL接口上的某个输入信号与模式寄存器的对应位一致,具体等待时长取决于外设,两者一致之后,取指状态机进入空闲状态,解码状态机根据所解码的第五条指令的信息跳转到第五个解码时序状态,执行状态机从步骤S06跳转的解码状态跳转到上一个解码状态;
S08)、由解码状态所得的解码信息确定执行状态机在步骤S07跳转的上一个解码状态需要的PCLK周期,之后解码状态机进入空闲状态,执行状态机从步骤S07跳转的解码状态跳转到上一个解码状态;
S09)、由解码状态所得的解码信息确定执行状态机在步骤S08跳转的上一个解码状态需要的PCLK周期,之后执行状态机进入空闲状态。
8.根据权利要求7所述的可编程gpio装置的时序实现方法,其特征在于:步骤S03中,解码状态机跳转到的解码时序状态为数据写出状态,步骤S04中,解码状态机跳转到的第二个解码时序状态为数据读入状态,执行状态机跳转到的上一个解码状态是数据写出状态,步骤S05中,解码状态机跳转的第三个解码时序状态是等待状态,执行状态机跳转的上一个解码状态是数据读入状态,步骤S06中,解码状态机跳转的第四个解码时序状态是控制输出状态,执行状态机跳转的上一个解码状态是等待状态,步骤S07中,解码状态机跳转的第五个解码时序状态是控制输入状态,执行状态机跳转的上一个解码状态是控制输出状态,步骤S08中,执行状态机跳转的上一个解码状态是控制输入状态。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077385.4A CN109857485B (zh) | 2019-01-28 | 2019-01-28 | 一种可编程gpio装置及基于该装置的时序实现方法 |
PCT/CN2019/093652 WO2020155545A1 (zh) | 2019-01-28 | 2019-06-28 | 一种可编程gpio装置及基于该装置的时序实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077385.4A CN109857485B (zh) | 2019-01-28 | 2019-01-28 | 一种可编程gpio装置及基于该装置的时序实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857485A true CN109857485A (zh) | 2019-06-07 |
CN109857485B CN109857485B (zh) | 2021-06-15 |
Family
ID=66896316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910077385.4A Active CN109857485B (zh) | 2019-01-28 | 2019-01-28 | 一种可编程gpio装置及基于该装置的时序实现方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109857485B (zh) |
WO (1) | WO2020155545A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155545A1 (zh) * | 2019-01-28 | 2020-08-06 | 山东华芯半导体有限公司 | 一种可编程gpio装置及基于该装置的时序实现方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1407768A (zh) * | 2001-09-02 | 2003-04-02 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多队列数据分组连续转发的装置和方法 |
CN101154183A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器嵌入式在线仿真调试系统 |
CN101154207A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器配置接口操作方法 |
CN102929836A (zh) * | 2012-08-17 | 2013-02-13 | 中国科学院空间科学与应用研究中心 | 一种航天专用asic芯片系统 |
CN103729165A (zh) * | 2014-01-16 | 2014-04-16 | 哈尔滨工业大学 | 应用于高速运动控制系统的pci从设备核心控制模块 |
US20150356053A1 (en) * | 2012-10-15 | 2015-12-10 | Qualcomm Incorporated | Virtual GPIO |
CN105224345A (zh) * | 2014-05-28 | 2016-01-06 | 株洲变流技术国家工程研究中心有限公司 | 一种可编程逻辑器件远程更新系统及其方法 |
CN105808480A (zh) * | 2016-03-01 | 2016-07-27 | 联发科技(新加坡)私人有限公司 | Usb otg设备的角色切换方法、系统及usb otg设备 |
CN108370338A (zh) * | 2015-12-10 | 2018-08-03 | 高通股份有限公司 | 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377764B (zh) * | 2008-09-12 | 2011-10-12 | 北京中星微电子有限公司 | Gpio的配置系统及其数据通信方法 |
CN201590076U (zh) * | 2010-02-10 | 2010-09-22 | 青岛海信移动通信技术股份有限公司 | 一种接口扩展电路及具有所述电路的移动终端 |
CN103297163B (zh) * | 2012-02-22 | 2016-10-05 | 安凯(广州)微电子技术有限公司 | 一种通过gpio口模拟pcm通信的方法及装置 |
US20180329837A1 (en) * | 2017-05-10 | 2018-11-15 | Qualcomm Incorporated | Input/output direction decoding in mixed vgpio state exchange |
CN109857485B (zh) * | 2019-01-28 | 2021-06-15 | 山东华芯半导体有限公司 | 一种可编程gpio装置及基于该装置的时序实现方法 |
-
2019
- 2019-01-28 CN CN201910077385.4A patent/CN109857485B/zh active Active
- 2019-06-28 WO PCT/CN2019/093652 patent/WO2020155545A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1407768A (zh) * | 2001-09-02 | 2003-04-02 | 深圳市中兴通讯股份有限公司上海第二研究所 | 一种多队列数据分组连续转发的装置和方法 |
CN101154183A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器嵌入式在线仿真调试系统 |
CN101154207A (zh) * | 2006-09-29 | 2008-04-02 | 上海海尔集成电路有限公司 | 一种微控制器配置接口操作方法 |
CN102929836A (zh) * | 2012-08-17 | 2013-02-13 | 中国科学院空间科学与应用研究中心 | 一种航天专用asic芯片系统 |
US20150356053A1 (en) * | 2012-10-15 | 2015-12-10 | Qualcomm Incorporated | Virtual GPIO |
CN103729165A (zh) * | 2014-01-16 | 2014-04-16 | 哈尔滨工业大学 | 应用于高速运动控制系统的pci从设备核心控制模块 |
CN105224345A (zh) * | 2014-05-28 | 2016-01-06 | 株洲变流技术国家工程研究中心有限公司 | 一种可编程逻辑器件远程更新系统及其方法 |
CN108370338A (zh) * | 2015-12-10 | 2018-08-03 | 高通股份有限公司 | 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 |
CN105808480A (zh) * | 2016-03-01 | 2016-07-27 | 联发科技(新加坡)私人有限公司 | Usb otg设备的角色切换方法、系统及usb otg设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155545A1 (zh) * | 2019-01-28 | 2020-08-06 | 山东华芯半导体有限公司 | 一种可编程gpio装置及基于该装置的时序实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020155545A1 (zh) | 2020-08-06 |
CN109857485B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4975828A (en) | Multi-channel data communications controller | |
CN107608750B (zh) | 用于型式辨识的装置 | |
US20210279074A1 (en) | Overflow detection and correction in state machine engines | |
CN103440216B (zh) | 一种通过i2c从设备调试mcu的芯片及方法 | |
CN101221541B (zh) | 用于soc的可编程通信控制器 | |
CN102176702A (zh) | 测试系统及测试方法 | |
CN109669729A (zh) | 一种处理器的启动引导方法 | |
CN102622044A (zh) | 主机板及其pcie端口动态配置方法 | |
RU2416819C2 (ru) | Способ, компьютерный программный продукт и устройство для соединения с картой памяти | |
CN101206614A (zh) | 仿真特殊功能寄存器的仿真器 | |
CN113849433A (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
CN115033444B (zh) | 基于8051core在线调试电路控制装置 | |
CN106980587B (zh) | 一种通用输入输出时序处理器及时序输入输出控制方法 | |
US20190271740A1 (en) | Non-intrusive on-chip debugger with remote protocol support | |
CN103793263A (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
CN107305526A (zh) | 一种用于微控制器的调试器 | |
CN109857485A (zh) | 一种可编程gpio装置及基于该装置的时序实现方法 | |
KR20110010793A (ko) | 메모리 디바이스 트레이닝을 위한 임베디드 프로그램가능 컴포넌트 | |
US4667285A (en) | Microcomputer unit | |
CN105242904B (zh) | 用于处理器指令缓冲与循环缓冲的装置及其操作方法 | |
CN102193860A (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN105607874A (zh) | Sata协议加速模块、主机与硬盘通信方法及固态硬盘控制器 | |
US4027290A (en) | Peripherals interrupt control unit | |
US20090100238A1 (en) | Memory card and memory card control changeover method | |
CN106990747A (zh) | 一种plc指令执行器 |
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 |