CN112000602A - 一种扩展cpld器件io口的方法 - Google Patents
一种扩展cpld器件io口的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004377 microelectronic Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-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最初多应用于通信领域,随着信息产业和微电子技术的发展,其应用范围向更多、更广泛的领域扩展,遍及航空航天、医疗、通讯、计算机、网络、安防、汽车电子、工业、消费类市场、测量测试等多个热门领域。随着微电子技术的发展,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所述的系统在微电子技术领域中的应用。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775526A (zh) * | 2023-08-24 | 2023-09-19 | 新誉集团有限公司 | 一种扩展装置及电子设备 |
Citations (5)
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总线通信的服务器前控板 |
-
2020
- 2020-08-31 CN CN202010894058.0A patent/CN112000602A/zh active Pending
Patent Citations (5)
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)
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 |