CN112000602A - 一种扩展cpld器件io口的方法 - Google Patents

一种扩展cpld器件io口的方法 Download PDF

Info

Publication number
CN112000602A
CN112000602A CN202010894058.0A CN202010894058A CN112000602A CN 112000602 A CN112000602 A CN 112000602A CN 202010894058 A CN202010894058 A CN 202010894058A CN 112000602 A CN112000602 A CN 112000602A
Authority
CN
China
Prior art keywords
input
output
port
ports
register
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
Application number
CN202010894058.0A
Other languages
English (en)
Inventor
赵明亮
王吕大
沈月峰
王晓光
龚清生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202010894058.0A priority Critical patent/CN112000602A/zh
Publication of CN112000602A publication Critical patent/CN112000602A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明涉及一种扩展CPLD器件IO口的方法,属于通信技术领域。本发明针对CPLD器件IO口不够用的情况,设计了一种基于I2C总线扩展CPLD器件IO口的方法,该方法简单易行。

Description

一种扩展CPLD器件IO口的方法
技术领域
本发明属于通信技术领域,具体涉及一种扩展CPLD器件IO口的方法。
背景技术
CPLD最初多应用于通信领域,随着信息产业和微电子技术的发展,其应用范围向更多、更广泛的领域扩展,遍及航空航天、医疗、通讯、计算机、网络、安防、汽车电子、工业、消费类市场、测量测试等多个热门领域。随着微电子技术的发展,CPLD的功能越来越强大。由于封装尺寸的限制,器件IO口(CPLD等可编程器件可以供用户作为输入/输出用途的通用管脚)总数是有限的。在设计包含CPLD的电路(例如,电脑主板)的复杂电路板时,很多由ASIC芯片或者分立晶体管完成的功能都交给CPLD来完成,这就会导致CPLD器件IO口不够用的情况。如何针对CPLD器件IO口不够用的情况,设计一种简单易行的扩展IO口数量的方法,成为亟待解决的技术问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何针对CPLD器件IO口不够用的情况,设计一种简单易行的扩展IO口数量的方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种扩展CPLD器件IO口的方法,该方法中,将CPLD器件内部用硬件描述语言实现I2C总线主设备控制器,CPLD器件可通过I2C总线读写PCA9555芯片内部的寄存器;
将CPLD器件外部通过I2C总线连接PCA9555芯片;
使PCA9555芯片对外提供I2C从设备接口和16个IO口,其I2C从设备接口连接CPLD的I2C主设备接口;
在PCA9555芯片内部设置8个寄存器,这些寄存器包括2个输入寄存器、2个输出寄存器、2个配置寄存器和2个输入极性控制寄存器;CPLD器件通过读取输入寄存器获取输入管脚状态;CPLD器件通过写入输出寄存器驱动相应输出管脚;CPLD器件通过写入配置寄存器把相应管脚设置为输入或输出状态。
优选地,所述PCA9555芯片对外提供的16个IO口连接输出器件。
优选地,所述PCA9555芯片对外提供的16个IO口连接LED指示灯。
优选地,所述PCA9555芯片对外提供的16个IO口连接输入器件。
优选地,所述PCA9555芯片对外提供的16个IO口连接拨码开关。
优选地,所述输入极性控制寄存器使用默认值。
本发明又提供了一种利用所述的方法实现的系统。
本发明还提供了一种利用所述的系统实现扩展IO口的输入输出操作的方法,包括以下步骤:
上电后,首先设置IO口的方向,方向设置完成以后才能使用IO口进行正常的输入输出;
PCA9555芯片的2个配置寄存器中,每个配置寄存器8位,共16位,刚好对应16个IO口;向PCA9555芯片的配置寄存器的一位写入“0”,即可把对应的IO口设置为输出,相反地,写入“1”,把对应的IO口设置为输入;CPLD器件根据应用需求,通过I2C总线向PCA9555芯片的2个配置寄存器写入特定值,把16个IO口方向设置为输入或者输出;
IO口的方向设置完成以后,就可以使用16个IO口进行输入输出了;当一个输入口的值发生变化时,通过中断信号通知I2C主设备控制器发起读操作读取输入寄存器的值;
当需要输出的值发生变化时,I2C主设备控制器启动写操作,把要输出的值写入输出寄存器;
通过以上操作实现扩展IO口的输入输出操作。
本发明又提供了一种所述的方法在微电子技术领域中的应用。
本发明还提供了一种所述的系统在微电子技术领域中的应用。
(三)有益效果
本发明针对CPLD器件IO口不够用的情况,设计了一种基于I2C总线扩展CPLD器件IO口的方法,该方法简单易行。
附图说明
图1为本发明中实现的硬件系统组成框图;
图2为本发明中写配置寄存器流程图;
图3为本发明中读输入寄存器的流程图;
图4为本发明中写输出寄存器的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明提供的一种基于I2C总线扩展CPLD器件IO口的方法中,将CPLD器件内部用硬件描述语言实现I2C总线主设备控制器,CPLD器件可通过I2C总线读写PCA9555芯片内部的寄存器;
将CPLD器件外部通过I2C总线连接PCA9555芯片;
使PCA9555芯片对外提供I2C从设备接口和16个IO口,其I2C从设备接口连接CPLD的I2C主设备接口;其16个IO口可以连接拨码开关等输入器件和LED指示灯等输出器件;
在PCA9555芯片内部设置8个寄存器,这些寄存器包括2个输入寄存器、2个输出寄存器、2个配置寄存器和2个输入极性控制寄存器;CPLD器件通过读取输入寄存器获取输入管脚状态;CPLD器件通过写入输出寄存器驱动相应输出管脚;CPLD器件通过写入配置寄存器把相应管脚设置为输入或输出状态;输入极性控制寄存器一般不用设置,默认值即可。
本发明还提供了一种如图1所示的,利用该扩展CPLD器件IO口的方法实现的硬件系统。
该硬件系统的工作原理如下:
上电后,首先设置IO口的方向,方向设置完成以后才能使用IO口进行正常的输入输出;
PCA9555芯片的2个配置寄存器中,每个配置寄存器8位,共16位,刚好对应16个IO口;向PCA9555芯片的配置寄存器的某一位写入“0”,即可把对应的IO口设置为输出,相反地,写入“1”,把对应的IO口设置为输入;CPLD器件根据应用需求,通过I2C总线向PCA9555芯片的2个配置寄存器写入特定值,把16个IO口方向设置为输入或者输出。写配置寄存器的流程如图2所示。
IO口的方向设置完成以后,就可以使用16个IO口进行输入输出了。当某个输入口的值发生变化时,会通过图1中的中断信号通知I2C主设备控制器发起读操作读取输入寄存器的值。读取输入寄存器的流程如图3所示。
当需要输出的值发生变化时,I2C主设备控制器启动写操作,把要输出的值写入输出寄存器。写输出寄存器的流程如图4所示。
通过以上操作实现了扩展IO口的输入输出操作,其中命令字节指要操作的目标寄存器的地址指针。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种扩展CPLD器件IO口的方法,其特征在于,该方法中,将CPLD器件内部用硬件描述语言实现I2C总线主设备控制器,CPLD器件可通过I2C总线读写PCA9555芯片内部的寄存器;
将CPLD器件外部通过I2C总线连接PCA9555芯片;
使PCA9555芯片对外提供I2C从设备接口和16个IO口,其I2C从设备接口连接CPLD的I2C主设备接口;
在PCA9555芯片内部设置8个寄存器,这些寄存器包括2个输入寄存器、2个输出寄存器、2个配置寄存器和2个输入极性控制寄存器;CPLD器件通过读取输入寄存器获取输入管脚状态;CPLD器件通过写入输出寄存器驱动相应输出管脚;CPLD器件通过写入配置寄存器把相应管脚设置为输入或输出状态。
2.如权利要求1所述的方法,其特征在于,所述PCA9555芯片对外提供的16个IO口连接输出器件。
3.如权利要求2所述的方法,其特征在于,所述PCA9555芯片对外提供的16个IO口连接LED指示灯。
4.如权利要求1所述的方法,其特征在于,所述PCA9555芯片对外提供的16个IO口连接输入器件。
5.如权利要求4所述的方法,其特征在于,所述PCA9555芯片对外提供的16个IO口连接拨码开关。
6.如权利要求1所述的方法,其特征在于,所述输入极性控制寄存器使用默认值。
7.一种利用如权利要求1至6中任一项所述的方法实现的系统。
8.一种利用如权利要求7所述的系统实现扩展IO口的输入输出操作的方法,其特征在于,包括以下步骤:
上电后,首先设置IO口的方向,方向设置完成以后才能使用IO口进行正常的输入输出;
PCA9555芯片的2个配置寄存器中,每个配置寄存器8位,共16位,刚好对应16个IO口;向PCA9555芯片的配置寄存器的一位写入“0”,即可把对应的IO口设置为输出,相反地,写入“1”,把对应的IO口设置为输入;CPLD器件根据应用需求,通过I2C总线向PCA9555芯片的2个配置寄存器写入特定值,把16个IO口方向设置为输入或者输出;
IO口的方向设置完成以后,就可以使用16个IO口进行输入输出了;当一个输入口的值发生变化时,通过中断信号通知I2C主设备控制器发起读操作读取输入寄存器的值;
当需要输出的值发生变化时,I2C主设备控制器启动写操作,把要输出的值写入输出寄存器;
通过以上操作实现扩展IO口的输入输出操作。
9.一种如权利要求1至6中任一项所述的方法在微电子技术领域中的应用。
10.一种如权利要求7所述的系统在微电子技术领域中的应用。
CN202010894058.0A 2020-08-31 2020-08-31 一种扩展cpld器件io口的方法 Pending CN112000602A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010894058.0A CN112000602A (zh) 2020-08-31 2020-08-31 一种扩展cpld器件io口的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010894058.0A CN112000602A (zh) 2020-08-31 2020-08-31 一种扩展cpld器件io口的方法

Publications (1)

Publication Number Publication Date
CN112000602A true CN112000602A (zh) 2020-11-27

Family

ID=73464695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010894058.0A Pending CN112000602A (zh) 2020-08-31 2020-08-31 一种扩展cpld器件io口的方法

Country Status (1)

Country Link
CN (1) CN112000602A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775526A (zh) * 2023-08-24 2023-09-19 新誉集团有限公司 一种扩展装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2793814Y (zh) * 2005-06-03 2006-07-05 海信集团有限公司 并行口扩展电路
CN102270019A (zh) * 2011-07-26 2011-12-07 中国船舶重工集团公司第七一六研究所 抗恶劣环境计算机的多主模块管理接口模块
CN105045746A (zh) * 2015-09-09 2015-11-11 四川九洲电器集团有限责任公司 一种接口扩展装置
CN110399276A (zh) * 2019-07-19 2019-11-01 苏州浪潮智能科技有限公司 一种硬盘指示灯的控制方法及相关装置
CN210488542U (zh) * 2019-10-18 2020-05-08 苏州浪潮智能科技有限公司 一种基于i2c总线通信的服务器前控板

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2793814Y (zh) * 2005-06-03 2006-07-05 海信集团有限公司 并行口扩展电路
CN102270019A (zh) * 2011-07-26 2011-12-07 中国船舶重工集团公司第七一六研究所 抗恶劣环境计算机的多主模块管理接口模块
CN105045746A (zh) * 2015-09-09 2015-11-11 四川九洲电器集团有限责任公司 一种接口扩展装置
CN110399276A (zh) * 2019-07-19 2019-11-01 苏州浪潮智能科技有限公司 一种硬盘指示灯的控制方法及相关装置
CN210488542U (zh) * 2019-10-18 2020-05-08 苏州浪潮智能科技有限公司 一种基于i2c总线通信的服务器前控板

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775526A (zh) * 2023-08-24 2023-09-19 新誉集团有限公司 一种扩展装置及电子设备
CN116775526B (zh) * 2023-08-24 2023-10-20 新誉集团有限公司 一种扩展装置及电子设备

Similar Documents

Publication Publication Date Title
CA2109682C (en) Multiple bus interface
US8341326B2 (en) Software layer for communication between RS-232 to I2C translation IC and a host
JPS61156358A (ja) バスコンバータ
CN112416824B (zh) efuse读写控制器、芯片、电子设备及控制方法
CN111309665B (zh) 并行写操作、读操作控制系统及方法
US7836240B2 (en) Interface arrangement for a system on a chip suitable for outputting higher-frequency signals for operating peripheral devices, and use thereof
WO2004032195A2 (en) Simplifying integrated circuits with a common communications bus
CN213581791U (zh) 一种模拟spi接口扩展输入输出接口的电路
CN112000602A (zh) 一种扩展cpld器件io口的方法
JP3992702B2 (ja) 非同期回路設計に使用可能なプログラマブルロジックブロック
CN116700795B (zh) 一种位操作控制系统及控制方法
US6055594A (en) Byte accessible memory interface using reduced memory control pin count
JPH04358252A (ja) ワークステーションおよびその構成方法
TW202213110A (zh) 非整數除頻器以及快閃記憶體控制器
US20160216330A1 (en) Registers for post configuration testing of programmable logic devices
Bruce et al. Personal digital assistant (PDA) based I2C bus analysis
KR100458024B1 (ko) 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템
US7028237B2 (en) Internal bus testing device and method
CN112486756A (zh) 一种利用扩展i2c协议调试芯片的方法、存储介质、电子设备
US20240232101A9 (en) Logic control device of serial peripheral interface, master-slave system, and master-slave switchover method therfor
US20060095633A1 (en) Data transmission coordinating method
US20040268008A1 (en) Semiconductor integrated circuit
CN102446132A (zh) 一种模拟本地总线进行板级管理的方法和装置
US20060095632A1 (en) Data transmission coordinating method and system
US20060095631A1 (en) Data transmission coordinating method

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201127