基于移位寄存器的GPIO扩展方法技术

技术编号:9935405 阅读:231 留言:0更新日期:2014-04-18 07:10
一种基于移位寄存器的GPIO扩展方法,其特征在于,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于移位寄存器的GPIO扩展方法,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。本专利技术提供的基于移位寄存器的GPIO扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GPIO,从而能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。【专利说明】基于移位寄存器的GP10扩展方法
本专利技术涉及一种计算机端口扩展方法,尤其涉及一种基于移位寄存器的GP10(General Purpose Input Output Ports,通用输入 / 输出端口)扩展方法。
技术介绍
目前,在许多的嵌入式应用系统中都需要使用GP10控制外围器件的状态,例如,LED灯的亮灭,器件的电源控制等;因此,设计人员通常会碰到CPU自身的GP10 口数量远远不能满足系统设计的要求。如果采用GP10数量更多CPU进行替换设计,不但会带来复杂的设计变更,而且设计的可靠度无法保证。因此,有必要提供一种基于移位寄存器的GP10扩展方法,能够灵活方便地实现多个GP10的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于移位寄存器的GP10扩展方法,能够灵活方便地实现多个GP10的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。本专利技术为解决上述技术问题而采用的技术方案是提供一种基于移位寄存器的GP10扩展方法,其中,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。上述的基于移位寄存器的GP10扩展方法,其中,所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。上述的基于移位寄存器的GP10扩展方法,其中,所述移位寄存器为74LV595芯片。上述的基于移位寄存器的GP10扩展方法,其中,每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2?5。本专利技术对比现有技术有如下的有益效果:本专利技术提供的基于移位寄存器的GP10扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GP10,从而能够灵活方便地实现多个GP10的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。【专利附图】【附图说明】图1为本专利技术基于移位寄存器的GP10扩展方法流程示意图;图2是本专利技术使用的74LV595芯片的时序控制图;图3是本专利技术在Linux下驱动程序流程图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的描述。图1为本专利技术基于移位寄存器的GP10扩展方法流程示意图。请参见图1,本专利技术提供的基于移位寄存器的GP10扩展方法包括如下步骤:步骤S1:选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。步骤S2:获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;步骤S3:移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。本专利技术提供的基于移位寄存器的GP10扩展方法,所述移位寄存器可选择74LV595芯片;每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2?5。通过74LV959芯片级联的方法实现了 3个GP10 口扩展成16个GP10输出口,根据74LV959的时序,CPU需要使用GP10 口模拟时序,已到达控制74LV959的目的。本专利技术在74LV959芯片原理图设计中需要将13脚接地,16脚接3.3V电源,第一块芯片的9脚接第二块芯片的14脚11、12、14脚接GP10控制信号。下面详细给出在Linux系统中的实现过程。请继续参见图2和图3,首先,将CPU的GP10控制脚设置为输出控制,SHCP脚产生上升沿,同时在DS脚上产生数据电平,当16位数据全部传输完时,在STCP脚产生上升沿,74LV959会将缓存的数据输出到扩展的16个GP10 口上。综上所述,本专利技术提供的基于移位寄存器的GP10扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GP10,从而能够灵活方便地实现多个GP10的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。虽然本专利技术已以较佳实施例揭示如上,然其并非用以限定本专利技术,任何本领域技术人员,在不脱离本专利技术的精神和范围内,当可作些许的修改和完善,因此本专利技术的保护范围当以权利要求书所界定的为准。【权利要求】1.一种基于移位寄存器的GPIO扩展方法,其特征在于,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。2.如权利要求1所述的基于移位寄存器的GP10扩展方法,其特征在于,所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。3.如权利要求2所述的基于移位寄存器的GP10扩展方法,其特征在于,所述移位寄存器为74LV595芯片。4.如权利要求3所述的基于移位寄存器的GP10扩展方法,其特征在于,每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2?5。【文档编号】G06F13/40GK103729326SQ201310656809【公开日】2014年4月16日 申请日期:2013年12月6日 优先权日:2013年12月6日 【专利技术者】冯健, 甘琼花 申请人:南京智达康无线通信科技股份有限公司本文档来自技高网...

【技术保护点】
一种基于移位寄存器的GPIO扩展方法,其特征在于,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯健甘琼花
申请(专利权)人:南京智达康无线通信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1