Design and verification of an I2C controller

Authors

  • Duong Minh Tri HCMC University of Technology and Education, Vietnam
  • Nguyen Hoang Ky Anh HCMC University of Technology and Education, Vietnam
  • Nguyen Chi Phuc HCMC University of Technology and Education, Vietnam
  • Nguyen Dinh Cao Tu HCMC University of Technology and Education, Vietnam
  • Tran Minh Tri HCMC University of Technology and Education, Vietnam
  • Huynh Hoang Ha HCMC University of Technology and Education, Vietnam
  • Do Duy Tan HCMC University of Technology and Education, Vietnam

Corressponding author's email:

tandd@hcmute.edu.vn

DOI:

https://doi.org/10.54644/jte.65.2021.141

Keywords:

I2C standard, FPGA, digital interface, AMBA, testbench

Abstract

I2C (Inter-Integrated Circuit) is a synchronous serial data transmission standard widely used to connect multiple ICs (Integrated Circuits) together or to connect ICs and peripherals with low-to-medium speed in digital systems. The main advantage of the I2C standard is the ability to connect the central processor and multiple peripherals with simple hardware. In this paper, we present the design process of an I2C module communicating via AMBA APB (Advanced Microcontroller Bus Architecture - Advanced Peripheral Bus) bus standard. Specifically, the I2C module is designed using Verilog hardware description language, can be configured as a Master or a Slave, and supports various data transmission rates. Extensive simulation results are presented to verify the performance of the designed I2C module.

Downloads: 0

Download data is not yet available.

References

Pong P. Chu. RTL Hardware Design using VHDL. A JOHN WILEY & SONS, INC, 2006.

Stephen Brown and Zvonko Vranesic. Fundamentals of Digital Logic with Verilog Design (third edition). McGraw Hill, 2014.

D. Trivedi, A. Khade, K. Jain and R. Jadhav, "SPI to I2C Protocol Conversion Using Verilog," 2018 Fourth International Conference on Computing Communication Control and Automation (ICCUBEA), Pune, India, 2018, pp. 1-4. DOI: https://doi.org/10.1109/ICCUBEA.2018.8697415

A. Anagha and M. Mathurakani, "Prototyping of dual master I2C bus controller," 2016 International Conference on Communication and Signal Processing (ICCSP), Melmaruvathur, 2016, pp. 2124-2129.

A. Anagha and M. Mathurakani, "Prototyping of dual master I2C bus controller," 2016 International Conference on Communication and Signal Processing (ICCSP), Melmaruvathur, India, 2016, pp. 2124-2129. DOI: https://doi.org/10.1109/ICCSP.2016.7754555

P. Bagdalkar and L. Ali, "Hardware Implementation of I2C Controller on FPGA and Validation Through Interfacing with Low-Cost ADC," 2020 Fourth International Conference on Inventive Systems and Control (ICISC), Coimbatore, India, 2020, pp. 887-891. DOI: https://doi.org/10.1109/ICISC47916.2020.9171095

C. Liu, Q. Meng, T. Liao, X. Bao and C. Xu, "A Flexible Hardware Architecture for Slave Device of I2C Bus," 2019 International Conference on Electronic Engineering and Informatics (EEI), Nanjing, China, 2019, pp. 309-313. DOI: https://doi.org/10.1109/EEI48997.2019.00074

V. Patel K.S and B. R, "Design and Verification of Wishbone I2C Master Device," 2018 International Conference on Networking, Embedded and Wireless Systems (ICNEWS), Bangalore, India, 2018, pp. 1-5. DOI: https://doi.org/10.1109/ICNEWS.2018.8904034

AMBA™ Specification (Rev 2.0), developer.arm.com/docs/ihi0011/a/amba specification-rev-20.

Wael M. El-Medany. Reconfigurable CRC IP core design on xilinx spartan 3AN FPGA. International Journal of Computer Applications in Technology (IJCAT), 55(4), 2017. DOI: https://doi.org/10.1504/IJCAT.2017.086013

V. Venkataramanan; S. Lakshmi; Vineet A. Kanetkar. Design and implementation of LTE physical layer on FPGA. International Journal of Computer Applications in Technology (IJCAT), 61(1), 2019. DOI: https://doi.org/10.1504/IJCAT.2019.102111

Published

27-08-2021

How to Cite

[1]
Dương Minh Trí, “Design and verification of an I2C controller”, JTE, vol. 16, no. 4, pp. 60–68, Aug. 2021.

Most read articles by the same author(s)