CN103729326A - 基于移位寄存器的gpio扩展方法 - Google Patents
基于移位寄存器的gpio扩展方法 Download PDFInfo
- Publication number
- CN103729326A CN103729326A CN201310656809.5A CN201310656809A CN103729326A CN 103729326 A CN103729326 A CN 103729326A CN 201310656809 A CN201310656809 A CN 201310656809A CN 103729326 A CN103729326 A CN 103729326A
- Authority
- CN
- China
- Prior art keywords
- gpio
- shift register
- shifting
- method based
- registers
- 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.)
- Pending
Links
Images
Landscapes
- Shift Register Type Memory (AREA)
Abstract
本发明公开了一种基于移位寄存器的GPIO扩展方法,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。本发明提供的基于移位寄存器的GPIO扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GPIO,从而能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
Description
技术领域
本发明涉及一种计算机端口扩展方法,尤其涉及一种基于移位寄存器的GPIO(General Purpose Input Output Ports,通用输入/输出端口)扩展方法。
背景技术
目前,在许多的嵌入式应用系统中都需要使用GPIO控制外围器件的状态,例如,LED灯的亮灭,器件的电源控制等;因此,设计人员通常会碰到CPU自身的GPIO口数量远远不能满足系统设计的要求。如果采用GPIO数量更多CPU进行替换设计,不但会带来复杂的设计变更,而且设计的可靠度无法保证。因此,有必要提供一种基于移位寄存器的GPIO扩展方法,能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
发明内容
本发明所要解决的技术问题是提供一种基于移位寄存器的GPIO扩展方法,能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
本发明为解决上述技术问题而采用的技术方案是提供一种基于移位寄存器的GPIO扩展方法,其中,包括如下步骤:a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。
上述的基于移位寄存器的GPIO扩展方法,其中,所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。
上述的基于移位寄存器的GPIO扩展方法,其中,所述移位寄存器为74LV595芯片。
上述的基于移位寄存器的GPIO扩展方法,其中,每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2~5。
本发明对比现有技术有如下的有益效果:本发明提供的基于移位寄存器的GPIO扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GPIO,从而能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
附图说明
图1为本发明基于移位寄存器的GPIO扩展方法流程示意图;
图2是本发明使用的74LV595芯片的时序控制图;
图3是本发明在Linux下驱动程序流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明基于移位寄存器的GPIO扩展方法流程示意图。
请参见图1,本发明提供的基于移位寄存器的GPIO扩展方法包括如下步骤:
步骤S1:选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。
步骤S2:获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;
步骤S3:移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。
本发明提供的基于移位寄存器的GPIO扩展方法,所述移位寄存器可选择74LV595芯片;每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2~5。通过74LV959芯片级联的方法实现了3个GPIO口扩展成16个GPIO输出口,根据74LV959的时序,CPU需要使用GPIO口模拟时序,已到达控制74LV959的目的。
本发明在74LV959芯片原理图设计中需要将13脚接地,16脚接3.3V电源,第一块芯片的9脚接第二块芯片的14脚11、12、14脚接GPIO控制信号。
下面详细给出在Linux系统中的实现过程。
请继续参见图2和图3,首先,将CPU的GPIO控制脚设置为输出控制,SHCP脚产生上升沿,同时在DS脚上产生数据电平,当16位数据全部传输完时,在STCP脚产生上升沿,74LV959会将缓存的数据输出到扩展的16个GPIO口上。
综上所述,本发明提供的基于移位寄存器的GPIO扩展方法,将多个移位寄存器进行级联,并在时序控制端输入移位脉冲信号控制写移位入后将移位寄存器的输出端用作GPIO,从而能够灵活方便地实现多个GPIO的扩展,不需要更改CPU,设计简单,可以满足大部分的系统应用。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (4)
1.一种基于移位寄存器的GPIO扩展方法,其特征在于,包括如下步骤:
a)选择多个移位寄存器进行级联,每个移位寄存器包括一个输入端,一个时序控制端和多个输出端;
b)获取待处理的端口数据,在所述时序控制端输入移位脉冲信号依次将所述待处理的端口数据按位从输入端转移到各个输出端;
c)移位写入完成后,所述多个级联移位寄存器的输出端输出待处理的端口数据。
2.如权利要求1所述的基于移位寄存器的GPIO扩展方法,其特征在于,所述移位寄存器为左移寄存器、右移寄存器或双向移位寄存器。
3.如权利要求2所述的基于移位寄存器的GPIO扩展方法,其特征在于,所述移位寄存器为74LV595芯片。
4.如权利要求3所述的基于移位寄存器的GPIO扩展方法,其特征在于,每个74LV595芯片包括8个输出端,所述74LV595芯片的级联数目为2~5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310656809.5A CN103729326A (zh) | 2013-12-06 | 2013-12-06 | 基于移位寄存器的gpio扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310656809.5A CN103729326A (zh) | 2013-12-06 | 2013-12-06 | 基于移位寄存器的gpio扩展方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103729326A true CN103729326A (zh) | 2014-04-16 |
Family
ID=50453406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310656809.5A Pending CN103729326A (zh) | 2013-12-06 | 2013-12-06 | 基于移位寄存器的gpio扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729326A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396505A (zh) * | 2017-09-20 | 2017-11-24 | 上海乐野网络科技有限公司 | 一种驱动多组led灯显示的电路 |
CN111983270A (zh) * | 2020-07-30 | 2020-11-24 | 华润赛美科微电子(深圳)有限公司 | 扩展电路、测试仪及测试方法 |
CN113324670A (zh) * | 2021-05-31 | 2021-08-31 | 于铭 | 一种可扩展的多点温度测量方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090213982A1 (en) * | 2008-02-21 | 2009-08-27 | Hsin-Wei Peng | Shift register and liquid crystal display (lcd) |
CN101777301A (zh) * | 2010-01-15 | 2010-07-14 | 友达光电股份有限公司 | 栅极驱动电路 |
CN201600875U (zh) * | 2010-02-25 | 2010-10-06 | 上海三埃弗电子有限公司 | 一种多led数码管显示装置 |
CN202676177U (zh) * | 2012-06-15 | 2013-01-16 | 宁波吉江汽车制造有限责任公司 | 汽车仪表检测装置 |
CN202855255U (zh) * | 2012-09-26 | 2013-04-03 | 成都亚光电子股份有限公司 | 一种三线串行外设接口的开关矩阵控制电路 |
-
2013
- 2013-12-06 CN CN201310656809.5A patent/CN103729326A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090213982A1 (en) * | 2008-02-21 | 2009-08-27 | Hsin-Wei Peng | Shift register and liquid crystal display (lcd) |
CN101777301A (zh) * | 2010-01-15 | 2010-07-14 | 友达光电股份有限公司 | 栅极驱动电路 |
CN201600875U (zh) * | 2010-02-25 | 2010-10-06 | 上海三埃弗电子有限公司 | 一种多led数码管显示装置 |
CN202676177U (zh) * | 2012-06-15 | 2013-01-16 | 宁波吉江汽车制造有限责任公司 | 汽车仪表检测装置 |
CN202855255U (zh) * | 2012-09-26 | 2013-04-03 | 成都亚光电子股份有限公司 | 一种三线串行外设接口的开关矩阵控制电路 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396505A (zh) * | 2017-09-20 | 2017-11-24 | 上海乐野网络科技有限公司 | 一种驱动多组led灯显示的电路 |
CN111983270A (zh) * | 2020-07-30 | 2020-11-24 | 华润赛美科微电子(深圳)有限公司 | 扩展电路、测试仪及测试方法 |
CN113324670A (zh) * | 2021-05-31 | 2021-08-31 | 于铭 | 一种可扩展的多点温度测量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603501B2 (en) | Communication circuit of serial peripheral interface devices | |
US20140372652A1 (en) | Simulation card and i2c bus testing system with simulation card | |
CN107678988A (zh) | 一种多功能串口装置及实现方法 | |
CN111309665B (zh) | 并行写操作、读操作控制系统及方法 | |
US10884956B2 (en) | I/O bus shared memory system | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN103729326A (zh) | 基于移位寄存器的gpio扩展方法 | |
CN110674069B (zh) | 芯片的数字引脚转换电路及方法、芯片 | |
CN105373511A (zh) | 一种与多个光模块可同时通信的装置和方法 | |
CN113791997A (zh) | 一种解决不同芯片引脚兼容且适配的方法 | |
CN108255760A (zh) | 一种多路i2c系统、及数据读写方法 | |
CN104572560A (zh) | Usb和adc接口复用电路及复用方法 | |
CN201698420U (zh) | 基于i2c总线的小型可插拔收发光模块控制装置 | |
CN106294905A (zh) | 印刷电路板布线系统及方法 | |
CN213904120U (zh) | 一种基于fpga的plc接口扩展结构 | |
US11093434B2 (en) | Communication system and operation method | |
CN110674077B (zh) | 基于fpga的数字引脚转换装置及方法 | |
CN104142905A (zh) | 一种扩展集成电路总线iic的方法及设备 | |
CN103885362A (zh) | 基于cpci-e总线的多dsp并行处理板 | |
CN107885690A (zh) | Spi交换系统及其控制方法 | |
US9576620B2 (en) | Semiconductor apparatus and operating method thereof | |
CN204374831U (zh) | 功能插槽及使用该功能插槽的主板 | |
CN105068965A (zh) | 基于I2C总线的NAND Flash存储方法及系统 | |
CN114747143A (zh) | 可编程设备配置存储器系统 | |
CN205247380U (zh) | 一种基于串行数据传输的背板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140416 |
|
RJ01 | Rejection of invention patent application after publication |