PCA9555是一个16 bit 的I2C bus的Expander。

A2,A1,A0是地址位;SCL/SDA 是来自Master的I2C data线和CLK线,VDD是PWR,VSS是参考地,SDA经过I2C Control判定为是读还是写,如果是写,将port配置成output,则将2字节的data经过串并转换依次成8bit的并行数据输出。如果是读,则将port配置成input。

数据经过I2C Contorl,判定为读写后,如果为写,则数据经过移位寄存器(shift Register),串行输入并行输出至相应的寄存器,后经过output port数据输出。如果为读,则反之。

寄存器一共有四种,分别为 input port Register、output port Register、Configuration Register、Polarity inversion Register。每一种寄存器有两个为一对,第一个8bit数据如果进入Regiser0,则下一个8bit则进入Register1。

如何判定是读还是写呢?又如何选定寄存器呢?

Writing: data由master-->slave,可写入output port Registers、configuration port  registers.

如上图所示,会有一个起始位,之后7Bit为地址位,地址位中,高四位默认为0100,后三位通过外部上下拉确定,第八位为读写位,如果是0则为写,如果是1则为读,之后则会跟一位应答位,再后面八位判定是写进哪个寄存器 ,后面应答位,之后数据位,不论是地址byte还是command byte还是data byte,其后面都要跟一位来自slave的应答位,告诉master这个byte已经接收到,可以传输下一个byte了。

Read:data由slave-->master,可从input port register读取数据.

第一个8bit:slave Address+读写位(读为1);

来自slave 应答位;

第2个8bit:Command byte,用于判断写入哪个寄存器;

来自slave应答位;

第3个8bit:重复地址位+读写位

来自slave应答;

后面一次8bit数据位+来自master应答;

寄存器的选取?

通过command byte确定数据到达哪个寄存器,如下图所示

00000000即input port 0 Register;00000010即output port 0 Register,以此类推。

Pin Description

INT:open-drain(OD)需要外部一个特定的上拉;

A2/A1/A0:固定的上下拉表示不同的地址位;

VDD:2.3V-5.5V.

Application design-in :

IO_1_0/IO_1_1/IO_1_2通过外部特定的上下来来确定主板上通过PCIE接的是什么类型的Riser;

A 2/A1/A0通过外部固定的上下拉确定地址位000;

SDA/SCL是一组来自FPGA的I2C,通过IO EXP读取Riser的类型,Wake信号,接在Riser上的PCIe卡的在位信号 等;

INT因为OD,必须有一个外部上拉,同时接入了DC Monitor,产生中断。

PCA9555 Studying相关推荐

  1. Why Sleeping May Be More Important Than Studying

    Why Sleeping May Be More Important Than Studying 转载于:https://www.cnblogs.com/Lamfai/p/10441451.html

  2. be sure to bring water with you while studying

    be sure to bring water with you while studying

  3. 本科studying abroad 无法毕业申请硕士转学转校处理一切studying abroad 问题

    本科studying abroad 无法毕业申请硕士转学转校处理一切studying abroad 问题 本科studying abroad 无法毕业申请硕士转学转校处理一切studying abro ...

  4. 单片机 STM32 HAL IO扩展 PCA9555

    描述 这个用于两线双向总线(I 2 C)的16位扩展器设计用于2.3V至5.5VV CC 运行.通过I 2 C接口[串行时钟(SCL),串行数据(SDA)],它为大多数微控制器系列产品提供通用远程I ...

  5. 《keep studying》————《持续学习》英译汉【istrangeboy精品英文励志短文系列】

    <keep studying>----<持续学习>英译汉dd by istrangeboy it's very simple.the attitude you have whe ...

  6. [读书笔记]How to Get the Most of Studying

    1 beliefs that make you stupid learning is fast(要精读并且回顾课程内容,并且提前要plan充裕的时间,不要低估所需要的时间) knowledge is ...

  7. Ten Rules of Good Studying

    标题 1. Ten Rules of Bad Studying 1.1. Passive rereading 1.2. Letting highlights overwhelm you. 1.3. M ...

  8. Studying Recommendation Algorithms by Graph Analysis

    这是我读完Studying Recommendation Algorithms by Graph Analysis这篇论文所做的笔记,绝非原创只是一些零碎知识的整理.不妥之处还望广大博友积极提出意见! ...

  9. Studying at SUST

    Studying at SUST semester 1 2018年1月19日 星期五 summary 英语综合 - finalEnglishExam.html 自然辩证法 - dialectics_o ...

最新文章

  1. 1957模拟计算机,统考计算机作业
  2. 解决mac下webstorm编辑器识别less的问题
  3. 2.0 es6中forEach以及数组操作
  4. Android中如何提取和生成mp4文件
  5. redis 过期删除策略和淘汰策略 -redis设计与实现笔记
  6. 计算机四级网络工程师考过指南
  7. 配置管理系统和整体变更系统有什么区别与联系
  8. 支付宝扫码枪收银的实现原理你了解吗?
  9. 数据分析-用python分析中国五大城市的PM2.5值(ols建立回归模型)
  10. 解决进入WindowsXP系统蓝屏提示“stop:0X0000007B
  11. 深度Team Building
  12. vue音乐添加,控制开关
  13. 51CTO学院三周年-51cto学院伴我成长
  14. Access-Control-Allow-Origin 解决方法
  15. 更改计算机用户名批处理,修改计算机名批处理
  16. DNS是如何进行域名解析的?
  17. CSAPP LAB Binary bombs实验报告
  18. 直流电机系统模型识别
  19. 抖音xg03算法逆向杂谈
  20. 关于ISE ILA和VIO的使用

热门文章

  1. 【软件工程】-软件过程
  2. Nginx的配置与优化
  3. python宇晨_第三十届全国青少年科技创新大赛青少年科技创意作品中学组.PDF
  4. MySQL 8.0 安装教程
  5. virtualenv虚拟环境中安装MySQL-python
  6. 获取referer中的请求参数_javaweb之request获取referer请求头实现防盗链
  7. 【超全面】机器学习中的超参优化方法总结
  8. CANopen DS402 驱动电机运动控制模式
  9. 会声会影2023最新版功能介绍及使用教程
  10. C#中悲观锁和乐观锁