适用于RISC-V架构的I2C通信控制装置及方法与流程

文档序号:36485162发布日期:2023-12-25 23:09阅读:56来源:国知局
适用于的制作方法

本发明涉及通信,具体地说是适用于risc-v架构的i2c通信控制装置及方法。


背景技术:

1、i2c总线硬件设计简单,有极低的功耗,抗干扰能力强,可以实现多主多从,在电路设计中被广泛使用。

2、i2c是半双工的通信方式,现有的i2c控制器的数据收发共用同一个16bit的数据缓冲器tx_rd_data。在数据接收的时候16个bit全部发挥作用,但是在数据发送时只使用了低8个bit即tx_rd_data[7:0],tx_rd_data[8]被用于表示接收发送标志,tx_rd_data[9]用于表示总线重启标志,极大的影响了i2c的传输速率,尤其是在面对液晶屏等通信数据量较大的外设时,通信速率更是捉襟见肘。

3、如何提高i2c通信速率,是需要解决的技术问题。


技术实现思路

1、本发明的技术任务是针对以上不足,提供适用于risc-v架构的i2c通信控制装置及方法,来解决如何提高i2c通信速率的技术问题。

2、第一方面,本发明一种适用于risc-v架构的i2c通信控制装置,包括总线状态寄存器fifo_latch、数据收发缓冲寄存器tx_rd_data、以及从机地址寄存器i2c_addr,fifo_latch用于存储接收发送标志以及总线重启标志,tx_rd_data用于提供数据接收和发送缓存,i2c_addr用于存储放本次i2c通信的从机地址。

3、作为优选,fifo_latch[0]用于表示接收发送标志,fifo_latch[1]用于表示总线重启标志,tx_rd_data[15:0]用于数据接收和发送缓冲,i2c_addr[9:0]用于存储放本次i2c通信的从机地址。

4、作为优选,mcu向i2c模块发送数据时,所述装置用于执行如下:

5、mcu向i2c_addr写入目标从机地址,并向fifo_latch[1]写入总线重启标志,向fifo_latch[0]写入总线发送标志;

6、i2cm模块在读到以上寄存器后会将总线拉低,并产生一个起始位,将从机地址发出,在收到从机的应答后,依次将后面的数据通过总线发出。

7、作为优选,mcu从i2c模块接收数据时,所述装置用于执行如下:

8、mcu向i2c_addr寄存器写入目标从机地址,并向fifo_latch[1]写入总线重启标志,向fifo_latch[0]写入总线接收标志;

9、i2cm模块在读到以上寄存器后会将总线拉低,并产生一个起始位,将从机地址发出。

10、第二方面,本发明一种适用于risc-v架构的i2c通信控制方法,应用于如第一方面任一项所述的一种适用于risc-v架构的i2c通信控制装置,在muc与i2c模块进行数据传输时,通过fifo_latch存储接收发送标志以及总线重启标志,通过tx_rd_data提供数据接收和发送缓存,通过i2c_addr存储放本次i2c通信的从机地址。

11、作为优选,通过fifo_latch[0]表示接收发送标志,通过fifo_latch[1]表示总线重启标志,通过tx_rd_data[15:0]表示数据接收和发送缓冲,通过i2c_addr[9:0]存储放本次i2c通信的从机地址。

12、作为优选,mcu向i2c模块发送数据时,执行如下操作:

13、mcu向i2c_addr写入目标从机地址,并向fifo_latch[1]写入总线重启标志,向fifo_latch[0]写入总线发送标志;

14、i2cm模块在读到以上寄存器后会将总线拉低,并产生一个起始位,将从机地址发出,在收到从机的应答后,依次将后面的数据通过总线发出。

15、作为优选,mcu从i2c模块接收数据时,执行如下操作:

16、mcu向i2c_addr寄存器写入目标从机地址,并向fifo_latch[1]写入总线重启标志,向fifo_latch[0]写入总线接收标志;

17、i2cm模块在读到以上寄存器后会将总线拉低,并产生一个起始位,将从机地址发出。

18、本发明的适用于risc-v架构的i2c通信控制装置及方法具有以下优点:新增一个专用的总线状态寄存器fifo_latch,可以很大幅度降低i2c控制器状态机复杂度,降低soc应用代码的编写难度,极大提高数据发送速率。



技术特征:

1.一种适用于risc-v架构的i2c通信控制装置,其特征在于,包括总线状态寄存器fifo_latch、数据收发缓冲寄存器tx_rd_data、以及从机地址寄存器i2c_addr,fifo_latch用于存储接收发送标志以及总线重启标志,tx_rd_data用于提供数据接收和发送缓存,i2c_addr用于存储放本次i2c通信的从机地址。

2.根据权利要求1所述的适用于risc-v架构的i2c通信控制装置,其特征在于,fifo_latch[0]用于表示接收发送标志,fifo_latch[1]用于表示总线重启标志,tx_rd_data[15:0]用于数据接收和发送缓冲,i2c_addr[9:0]用于存储放本次i2c通信的从机地址。

3.根据权利要求1或2所述的适用于risc-v架构的i2c通信控制装置,其特征在于,mcu向i2c模块发送数据时,所述装置用于执行如下:

4.根据权利要求1或2所述的适用于risc-v架构的i2c通信控制装置,其特征在于,mcu从i2c模块接收数据时,所述装置用于执行如下:

5.一种适用于risc-v架构的i2c通信控制方法,其特征在于,应用于如权利要求1-3任一项所述的一种适用于risc-v架构的i2c通信控制装置,在muc与i2c模块进行数据传输时,通过fifo_latch存储接收发送标志以及总线重启标志,通过tx_rd_data提供数据接收和发送缓存,通过i2c_addr存储放本次i2c通信的从机地址。

6.根据权利要求5所述的适用于risc-v架构的i2c通信控制方法,其特征在于,通过fifo_latch[0]表示接收发送标志,通过fifo_latch[1]表示总线重启标志,通过tx_rd_data[15:0]表示数据接收和发送缓冲,通过i2c_addr[9:0]存储放本次i2c通信的从机地址。

7.根据权利要求5或6所述的适用于risc-v架构的i2c通信控制装置,其特征在于,mcu向i2c模块发送数据时,执行如下操作:

8.根据权利要求5或6所述的适用于risc-v架构的i2c通信控制装置,其特征在于,mcu从i2c模块接收数据时,执行如下操作:


技术总结
本发明公开了适用于RISC‑V架构的I2C通信控制装置及方法,属于通信技术领域,要解决的技术问题为如何提高I2C通信速率。包括总线状态寄存器fifo_latch、数据收发缓冲寄存器tx_rd_data、以及从机地址寄存器i2c_addr,fifo_latch用于存储接收发送标志以及总线重启标志,tx_rd_data用于提供数据接收和发送缓存,i2c_addr用于存储放本次I2C通信的从机地址。

技术研发人员:赵国峰,赵鑫鑫,姜凯
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1