iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等
第176章 通过逻辑分析仪认识I2C波形
在本章节将使用逻辑分析仪对前面章节编写的FT5X06 I2C驱动产生的波形进行分析,由于采集触摸芯片的波形需要飞线,操作较为复杂,所以同学们不需要自己实际进行采集,只需要看作者采集到的波形即可。
采集到的整体波形如下所示:
接下来对每一部分的波形进行分析。
176.1写操作
在数据传输之前,主机要先发送一个起始信号,起始信号为SDA线从高电平到低电平的跳变,同时SCL线保持高电平,就对应下图所示部分,逻辑分析仪软件也用一个绿色的远点进行了标注,
然后传输了一个8位的数据,分别为7位的地址和读写方向,前七个时钟周期的值为0111000,转换为16进制就是0x38,也就是FT5X06的芯片地址,第8个时钟周期为0,表示读写方向为写入。
然后是一个ACK应答信号,这里为0低电平表示I2C外设已发送应答,然后就要数据传输了,要操作的寄存器地址为0x80,要写入的数据为0x4b,具体波形图如下所示:
发送完成之后主机会发送一个终止信号,终止信号为SDA线从低电平到高电平的跳变,同时SCL线保持高电平,具体波形图如下所示:
可以将写操作分为以下步骤:
1.主机发送一个起始信号
2.主机发送I2C外设的地址和写操作,等待应答信号
3.从机发送应答信号
4.主机要发送寄存器的地址,等待应答信号
5.从机发送应答信号
6.主机发送要写入的寄存器的数据,等待应答信号
7.从机发送应答信号
8.主机要发送终止信号,如果写多个寄存器,重复6,7步骤。
176.2读操作
无论是读操作还是写操作,都要先写入I2C外设地址,所以最开始的波形是相同的,如下图所示:
然后是发送要都读取的寄存器地址,也就是0x80,具体波形如下图所示:
接下来主机就可以读取该寄存器地址的数据了,读取到的数据为0x4B,具体波形如下图所示:
可以将读操作分为以下步骤:
1.主机发送一个起始信号
2.主机要发送12C外设地址和写操作,等待应答信号
3.从机发送应答信号
4.主机要发送要读取的寄存器的地址,等待应答信号
5.从机发送应答信号
6.主机发送起始信号
7.主机发送要读取的12C外设的地址和读操作,等待应答信号
8.从机发送应答信号
9.从机发送数据,也就是要读取的寄存器的数据,等待应答或者非应答信号
10.主机如果不在读取数据,就要发送非应答信号,如果继续读取,就发送应答信号