Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2C #3

Closed
Juninho99 opened this issue May 4, 2024 · 1 comment
Closed

I2C #3

Juninho99 opened this issue May 4, 2024 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Juninho99
Copy link
Collaborator

Juninho99 commented May 4, 2024

Overview:
In our project, we are utilizing standard I2C communication to configure camera registers for various functionalities. Currently, only a partial implementation for writing values to registers one at a time (Option 5, page 19 IMX219 ) has been incorporated. However, the camera offers a broader range of I2C communication options, including single and sequential reads, as well as sequential writes. This issue aims to expand the existing I2C implementation to support all available communication modes and enhance the configurability of camera registers.

Background:
I2C (Inter-Integrated Circuit) is a widely used serial communication protocol for interfacing with peripheral devices, such as cameras, sensors, and memory modules. It facilitates the exchange of data between a master device (e.g. FPGA) and one or more slave devices (e.g. camera) over a two-wire interface.

Current Implementation:
At present, our implementation supports single writes to camera registers, enabling the configuration of individual register values. The FPGA reads the acknowledge bit from the camera, indicating successful register configuration.

Objective:
The objective of this issue is to enhance the existing I2C communication module to support all available modes for configuring camera registers. By implementing comprehensive I2C functionality, we aim to maximize the configurability and performance of the camera within the project.

Next Steps:

  • Implement support for single and sequential reads, as well as sequential writes, based on the provided camera documentation.
  • Verify proper data transfer and acknowledge bit handling to ensure reliable communication between the FPGA and the camera.
  • Conduct thorough testing to validate the functionality of the enhanced I2C communication module across different register configurations and communication modes.
@chili-chips-ba
Copy link
Owner

These port names in i2c_ctrl.sv are the mirror image of what they should have been:

input  logic        scl_do,
output logic        scl_di,

input  logic        sda_do,
output logic        sda_di

They seem to be given from the perspective of IOBUF. Consider changing them so that _do is for module outputs, and _di for module inputs.

@chili-chips-ba chili-chips-ba added the documentation Improvements or additions to documentation label Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants