有关AXI IIC和PS IIC的自调试技巧.docx
《有关AXI IIC和PS IIC的自调试技巧.docx》由会员分享,可在线阅读,更多相关《有关AXI IIC和PS IIC的自调试技巧.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有关axi 11c和ps nc的自调试技巧lie协议与编程序列” 一文,我们为内部集成电路die)协议的初 学者们提供了有关该协议基础知识和编程序列的详细解释。在本篇博文中,我们将探讨有关AXI IIC和PS IIC的自调试技巧。PS IIC编程序列调试:控制器设置为“主发射器(Mastertransmitter) no在 Zynq-7000/Zynq UltraScale+ 器件中启用 PS IICO确保 SCL 频率配 置为 100 kHz 或 400 kHzo设置主发射器控制器的控制寄存器。检查中断是否已清除,并且已配置实际SCL的时钟分频器。要测试与从设备的通信,请将从地址写入PS I
2、2C地址寄存器(I2C Address),然后将数据写入 I2C_data_regHOLD位应根据数据大小来处理。当数据大小小于FIFO深度时,请清除 HOLD位以终止事务传输,并生成STOP位。在中断使能寄存器(IER)中使能NACK中断后,即可通过ISR来监控从 设备应答(ACK) o验证ISR中的COMP标记位已置位。这样即可确认数据传输成功。如果主传输不成功,用户可使用以下步骤进行调试:确保控制寄存器中的配置正确无误检查ISR中的NACK位,以确认从设备的响应按上述方式谨慎处理HOLD位。否则,将导致SCL下拉直至超时为止监控状态寄存器中的TXDV位,检查是否有任何暂挂数据正在等待传输
3、状态寄存器中的“总线繁忙(Bus busy)”位或BA位将有助于您了解数据 传输期间的总线状态。控制器设置为“主接收器(Masterreceiver)”与对应主发射器的步骤1相同,在Zynq-7000/Zynq UltraScale+器件中 启用PS IICo确保SCL频率配置为100 kHz或400 kHz。使用软件应用来设置主接收器控制器的控制寄存器。与对应主发射器的步骤3相同,检查中断是否已清除,并且已配置实际 SCL的时钟分频器。将读取数据计数填入PS IIC的传输大小寄存器。如果传输大小大于FIFO 深度,则启用HOLD位。将地址写入从地址寄存器等待数据接收完成,可通过检查状态寄存器
4、的RXDV位来确认。如果RXDV = 0且ISR中有任意中断位处于置位状态,则停止传输并报告 错误。同样,如果RXDV = 1且ISR中有任意中断位处于置位状态,则停止传输 并报告错误。如果RXDV=1且未报告任何错误,则从FIFO读取数据,直至状态变为 RXDV=1为止。如果尚未完成接收的剩余数据(来自从设备)小于FIFO深度, 则清除HOLD位。等待ISR中的COMP位变为置位状态以完成传输。以上对应编程序列的调试步骤适用于默认轮询方法。如果对主接收器使用中断方法,则存在如下差异:您需要在数据传输前启用中断无需监控RXDV位,而需检查ISR中的DATA位。常见问题解答在ns中,何谓“超时”
5、 ?如果在任何时间点上,主设备或接入的从设备将SCL时钟信号置于低位,且时间超过超时寄存器中指定的时间段,则会生成TO中断位以避免出 现停滞状况。如何将PS IIC复位?寄存器RST_LPD_IOU2位9和10用于复位控制器支持哪些模式?主设备模式、从设备模式以及多重主设备模式。注:在多重主设备模式下,所有主设备中的SCL频率需保持相同。支持哪些频率?仅支持 100 kHz 和 400 kHzo用户如何检查总线错误?在ISR寄存器中,监控总线上是否存在ARB_L0ST、NACK、RX_0VF和RX_UNF 错误。如何区分DATA标记与COMP标记?在ISR寄存器中,对应每读取14字节数据,DA
6、TA位就有一个触发器,而COMP位则用于指示传输完成。PS IIC遵循何种规范?NXP规范 UM10204支持的最大数据发射率是多少?255 个字节AXI IIC编程序列调试:用户可以使用以下读写操作来调试AXI IIC IP,以了解协议是否正常工 作。快速获取结果的首选选项是使用“动态”编程进行调试。动态读取操作:此操作的最终目的是从从设备中读取单一寄存器,以证明主从设备的功能 是否正常。使用写入操作将START +从设备地址一起写入TX FIFO将从设备的子寄存器地址写入TX FIFO使用读取操作将RE-START +从设备地址一起写入TX FIFO将STOP +要从从设备读取的字节数一起
7、写入TX FIFO使用控制寄存器来启用控制器轮询RX_FIFO_EMPTY的状态寄存器,以查看数据接收状态(如果RX_FIFO=0,则数据已进入接收FIFO内)如果RX FIFO中无数据,且RX_FIFO_EMPTY为1,则可遵循以下步骤来 了解问题:如果由于从设备不响应而导致无法接收数据,那么原因可能是指定地址不 存在任何从设备。请复查从设备地址是否正确。如果您确认从设备地址正确无误,请探测SCL/SDA以了解是否正在从从设 备生成ACKo如果有来自从设备的ACK,请以相同方式检查子寄存器,以对通信进行调 试。检查TX_FIFO_Einpty标记,确认是否所有数据都已完成发射。如果步骤6中未
8、发现任何问题,则表示您可从从设备接收数据,请检查是 否已建立通信。动态写入操作:使用写入操作将START +从设备地址一起写入TX FIFO将从设备的子寄存器地址写入TX FIFO将除最后一个字节外的所有数据字节都写入TX FIFO将STOP +最后一个数据字节写入TX FIFO使用控制寄存器来启用控制器轮询TX_FIFO_EMPTY的状态寄存器,以判定数据发射状态(TX_FIFO_Empty = 1表示数据发射已完成)。如果用户想要检查写入操作是否正确,可通过以下步骤来进行调试:请检查发射占用寄存器,确认是否已发射所有数据。用户还可以执行上述读取操作以便通过读取和验证数据来交叉验证写入操 作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有关AXI IIC和PS IIC的自调试技巧 有关 AXI IIC PS 调试 技巧
限制150内