一种用PCA9548A扩展芯片进行IIC扩展的方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201811504403.4
(22)申请日 2018.12.10
(71)申请人 天津光电通信技术有限公司
地址 300211 天津市河西区泰山路6号
(72)发明人 曹军伟 陈伟峰 刘佳 
(74)专利代理机构 天津中环专利商标代理有限
公司 12105
代理人 胡京生
(51)Int.Cl.
G06F  13/38(2006.01)
(54)发明名称一种用PCA9548A扩展芯片进行IIC扩展的方法(57)摘要本发明涉及一种用PCA9548A扩展芯片进行IIC扩展的方法,一个文件结点去挂载多个扩展芯片,先理解PCA9548A的从地址,从地址命名规则所示:前4位是固定值,A 2,A 1,A 0器件的从地址,与硬件的连接相关,一个文件结点最多可以
挂载8个9548A扩展芯片,在打开文件结点函数后,需要绑定器件从地址,函数原型如下:ioctl(fd ,I2C_SLAVE_FORCE ,Address);其中Address是IIC 器件前7位地址,绑定不同的从器件地址,就能访问不同的PCA9548A芯片,利用PCA9548A选路机制,选通连接光模块,控制多个光模块。节省了zynq的I/O和中断资源,
降低了成产的成本。权利要求书2页  说明书5页  附图2页CN 109558351 A 2019.04.02
C N  109558351
A
1.一种用PCA9548A扩展芯片进行IIC扩展的方法,其特征在于:所述PCA9548A扩展芯片包括PCA9548A芯片U31和PCA9548A芯片U32,电路连接为:
电阻R160与PCA9548A芯片U31的24脚和22脚并联,电阻R158与PCA9548A芯片U31的24脚和3脚并联,电阻R156与PCA9548A芯片U31的24脚和1脚并联,PCA9548A芯片U31的24脚接UCC_3U3,PCA9548A芯片U31的1脚2脚、21脚和12脚接地,电阻R157与PCA9548A芯片U32的24脚和3脚并联,电阻R179与PCA9548A芯片U32的24脚和1脚并联,PCA9548A芯片U32的24脚接UCC_3U3,PCA9548A芯片U32的1脚2脚、21脚和12脚接地,PCA9548A芯片U31的22脚和PCA9548A芯片U32的22脚相接并通过时钟线SFP_9548A_SCL与ZYNQ的PL的IIC时钟线连接;
PCA9548A芯片U31的23脚和PCA9548A芯片U32的23脚相接并通过数据线SFP_9548A_SDA 与ZYNQ的PL的IIC数据线连接;
PCA9548A芯片U31的5脚和4脚为一路IIC接口、7脚和6脚为一路IIC接口、9脚和8脚为一路IIC接口、11脚和10脚为一路IIC接口、14脚和13脚为一路IIC接口、16脚和15脚为一路IIC 接口、18脚和17脚为一路IIC接口、20脚和19脚为一路IIC接口,共扩展为8路IIC接口,每路IIC接口通过时钟线SCL_SFP<15..0>连接一个光模块的时钟线;
PCA9548A芯片U32的5脚和4脚为一路IIC接口、7脚和6脚为一路IIC接口、9脚和8脚为一路IIC接口、11脚和10脚为一路IIC接口、14脚和13脚为一路IIC接口、16脚和15脚为一路IIC 接口、18脚和17脚为一路IIC接口、20脚和19脚为一路IIC接口,共扩展为8路IIC接口,每路IIC接口通过时钟线SDA_SFP<15..0>连接一个光模块的时钟线;
PCA9548A芯片U31和PCA9548A芯片U32共扩展为16路IIC接口,共连接16个光模块;
利用PCA9548A扩展芯片实现IIC扩展的方法步骤如下:利用一个结点扩展多个PCA9548A扩展芯片,利用不同的从地址去访问PCA9548A扩展芯片;一个文件结点去挂载多个PCA9548A扩展芯片,首先要先理解PCA9548A扩展芯片的从地址,PCA9548A扩展芯片也是一个IIC器件,其从地址命名规则见表1:
表1为从地址命名规则
A1A0
1110A
其中前4位1.1.1.0是固定值,A2,A1,A0是器件的从地址,与硬件的连接相关,即A2,A1,A0在硬件上可以分别置为高低电平,置低电平对应是0,置高电平对应的是1,例如,PCA9548A芯片U31的A2,A1,A0全部与地线相连,即全部置低电平,则PCA9548A芯片U31芯片最终的从地址是1110000,对应16进制是0x70,PCA9548A芯片U32的A2,A1与地线相连,A0与高电平相连,则PCA9548A芯片U32芯片最终的从地址是1110001,对应的16进制是0x71,从3位可选的从地址可知,一个IIC文件结点最多可以挂载8个PCA9548A扩展芯片,在打开文件结点函数后,需要绑定器件从地址,函数原型如下:
fd = open("/dev/i2c-0", O_RDWR);
ioctl(fd, I2C_SLAVE_FORCE, Address);
open函数是linux硬件设备操作函数,其原型是int open (const char * pathname, int flags);在上述例中,const char * pathname对应的是"/dev/i2c-0",表示I2C文件结点所在的路径,flags对应O_RDWR,表示以可读可写的方式打开文件,函数执行成功就会返回文件描述符即fd;
ioctl是设备驱动程序中对设备I/O通道进行管理的函数,它的参数个数如下:int ioctl(int fd,int cmd,…);其中fd是用户程序打开设备时使用open函数返回的文件标识符,cmd就是用户程序对设备的控制命令,在上述函数中,cmd对应的是
I2C_SLAVE_FORCE,该命令是将设备从地址传递给总线,其中Address是IIC器件前7位地址,绑定不同的从器件地址,就能够访问不同的PCA9548A扩展芯片,访问到不同的扩展芯片后,就能够利用PCA9548A扩展芯片选路机制,选通连接光模块,然后就能够控制光模块,在上述例中,PCA9548A芯片U31的从地址为0x70,即Address为0x70,PCA9548A芯片U32的从地址为0x71,即Address为0x71。
一种用PCA9548A扩展芯片进行IIC扩展的方法
技术领域
[0001]本发明涉及一种光信号汇聚类设备,特别涉及一种用PCA9548A扩展芯片进行IIC 扩展的方法,用于实现多路光模块的控制,一个ZYNQ的IIC文件结点能够连接8路PCA9548a 芯片,每路PCA9548a芯片可以扩展出8路IIC接口,每路IIC接口连接一个光模块,这样就能够通过一个IIC文件结点控制64个光模块,大大提高了IIC文件结点的利用率。
背景技术
[0002]利用ZYNQ7000现有的IIC去控制光模块,往往达不到项目规定的数目,毕竟现有的光汇聚系列设备已经达到TB/s级,所以如何能够用现有的ZYNQ所提供的IIC接口去控制更多的光模块,是众多硬件工程师探讨和研究的课题。
[0003]在现有的技术手段中,ZYNQ的I/O和中断资源是有限的,如果利用现有技术去扩展IIC文件结点,为了实现多个光模块的控制,需要ZYNQ扩展多个IIC文件结点,每个文件结点连接一个PCA9548a芯片,如果为了控制8个PCA9548a,那么就需要ZYNQ扩展出8个IIC文件结点,势必会占用ZYNQ大量的I/O资源和中断资源,提高了成本。
发明内容
[0004]为了克服ZYNQ7000提供的IIC接口数目有限的问题,如何利用现有的几个IIC接口去控制多个IIC,本发明提供了一种用PCA9548A扩展芯片进行IIC扩展的方法,可以用较低的成本实现多个IIC接口的控制。
[0005]本发明采用的技术方案是:一种用PCA9548A扩展芯片进行IIC扩展的方法,其特征在于:所述PCA9548A扩展芯片包括PCA9548A芯片U31和PCA9548A芯片U32,电路连接为:电阻R160与PCA9548A芯片U31的24脚和22脚并联,电阻R158与PCA9548A芯片U31的24脚和3脚并联,电阻R156与PCA9548A芯片U31的24脚和1脚并联,PCA9548A芯片U31的24脚接UCC_3U3,PCA9548A芯片U3
1的1脚2脚、21脚和12脚接地,电阻R157与PCA9548A芯片U32的24脚和3脚并联,电阻R179与PCA9548A芯片U32的24脚和1脚并联,PCA9548A芯片U32的24脚接UCC_3U3,PCA9548A芯片U32的1脚2脚、21脚和12脚接地,PCA9548A芯片U31的22脚和PCA9548A芯片U32的22脚相接并通过时钟线SFP_9548A_SCL与ZYNQ的PL的IIC时钟线连接;
PCA9548A芯片U31的23脚和PCA9548A芯片U32的23脚相接并通过数据线SFP_9548A_SDA 与ZYNQ的PL的IIC数据线连接;
PCA9548A芯片U31的5脚和4脚为一路IIC接口、7脚和6脚为一路IIC接口、9脚和8脚为一路IIC接口、11脚和10脚为一路IIC接口、14脚和13脚为一路IIC接口、16脚和15脚为一路IIC 接口、18脚和17脚为一路IIC接口、20脚和19脚为一路IIC接口,共扩展为8路IIC接口,每路IIC接口通过时钟线SCL_SFP<15..0>连接一个光模块的时钟线;
PCA9548A芯片U32的5脚和4脚为一路IIC接口、7脚和6脚为一路IIC接口、9脚和8脚为一路IIC接口、11脚和10脚为一路IIC接口、14脚和13脚为一路IIC接口、16脚和15脚为一路IIC 接口、18脚和17脚为一路IIC接口、20脚和19脚为一路IIC接口,共扩展为8路IIC接口,每路
IIC接口通过时钟线SDA_SFP<15..0>连接一个光模块的时钟线;
PCA9548A芯片U31和PCA9548A芯片U32共扩展为16路IIC接口,共连接16个光模块;
利用PCA9548A扩展芯片实现IIC扩展的方法步骤如下:利用一个结点扩展多个PCA9548A扩展芯片,利用不同的从地址去访问PCA9548A扩展芯片;一个文件结点去挂载多个PCA9548A扩展芯片,首先要先理解PCA9548A扩展芯片的从地址,PCA9548A扩展芯片也是一个IIC器件,其从地址命名规则见表1:
表1为从地址命名规则
A1A0
1110A
其中前4位1.1.1.0是固定值,A2,A1,A0是器件的从地址,与硬件的连接相关,即A2,A1,A0在硬件上可以分别置为高低电平,置低电平对应是0,置高电平对应的是1,例如,PCA9548A 芯片U31的A2,A1,A0全部与地线相连,即全部置低电平,则PCA9548A芯片U31芯片最终的从地址是1110000,对应16进制是0x70,PCA9548A芯片U32的A2,A1与地线相连,A0与高电平相连,则PCA9548A芯片U32芯片最终的从地址是1110001,对应的16进制是0x71,从3位可选的从地址可知,一个IIC文件结点最多可以挂载8个PCA9548A扩展芯片,在打开文件结点函数后,需要绑定器件从地址,函数原型如下:
fd = open("/dev/i2c-0", O_RDWR);
ioctl(fd, I2C_SLAVE_FORCE, Address);
open函数是linux硬件设备操作函数,其原型是int open (const char * pathname, int flags);在上述例中,const char * pathname对应的是"/dev/i2c-0",表示I2C文件结点所在的路径,flags对应O_RDWR,表示以可读可写的方式打开文件,函数执行成功就会返回文件描述符即fd;
ioctl是设备驱动程序中对设备I/O通道进行管理的函数,它的参数个数如下:int ioctl(int fd,int cmd,…);其中fd是用户程序打开设备时使用open函数返回的文件标识符,cmd就是用户程序对设备的控制命令,在上述函数中,cmd对应的是
I2C_SLAVE_FORCE,该命令是将设备从地址传递给总线,其中Address是IIC器件前7位地址,绑定不同的从器件地址,就能够访问不同的PCA9548A扩展芯片,访问到不同的扩展芯片后,就能够利用PCA9548A扩展芯片选路机制,选通连接光模块,然后就能够控制光模块,在上述例中,PCA9548A芯片U31的从地址为0x70,即Address为0x70,PCA9548A芯片U32的从地址为0x71,即Address为0x71。
[0006]本发明的有益效果是:本申请通过一个IIC文件结点扩展了两片PCA9548A芯片,每片PCA9548a能够连接8路IIC,两片PCA9548a能够扩展出16路IIC,本申请还可以请通过一个IIC文件结点扩展八片PCA9548A芯片,每片PCA958能够连接8路IIC,8片PCA9548就能扩展出64路IIC,那么就能够通过一个I
IC文件扩展了64路IIC接口,控制了64个光模块,即,将八片PCA9548A芯片的22脚脚相接并通过时钟线SFP_9548A_SCL与ZYNQ的PL的IIC时钟线连接;将八片PCA9548A芯片的23脚相接并通过数据线SFP_9548A_SDA与ZYNQ的PL的IIC数据线连接;每片PCA9548A芯片的5脚和4脚为一路IIC接口、7脚和6脚为一路IIC接口、9脚和8脚为一路IIC接口、11脚和10脚为一路IIC接口、14脚和13脚为一路IIC接口、16脚和15脚为一路IIC接口、18脚和17脚为一路IIC接口、20脚和19脚为一路IIC接口,共扩展为8路IIC接口,每路IIC 接口通过时钟线SCL_SFP<63..0>和数据线SDA_SFP<63..0>连接一个光模块的时钟线和数

本文发布于:2024-09-20 17:47:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/425658.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:扩展   芯片   地址   文件   函数   结点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议