- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My image sensor produces 12-bit image intensity data. I would like to be able to selective, through software, capture either the full 12 bits, or just the most-significant 8 bits. I am looking for a good solution to implement this. I wish to avoid using the CPU to rearrange bits for me. What is the best way to do this?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.,
FX3 does not explicitly support 12 Bit GPIF. This has to be used in 16 Bit Mode. The extra 4 bits have to be either ignored or removed by the host application.
Connect the Most Significant 8 Bits of your image sensor to the D7:0 pins of the GPIF Interface and connect the least significant 8 bits of your image sensor to D15:8 pins of GPIF. Use the GPIF in Big Endian mode.
In your firmware you can switch between a 8-Bit State Machine and a 16-Bit state machine anytime using the CyU3PGpifSMStart API. In the cyfxgpifconfig.h header file, you need to change the register value in the firmware that corresponds to 8 Bit GPIF or 16 Bit GPIF, before everytime you call the CyU3PGpifSMStart API for switching the bus width.
Regards,
- Madhu Sudhan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.,
FX3 does not explicitly support 12 Bit GPIF. This has to be used in 16 Bit Mode. The extra 4 bits have to be either ignored or removed by the host application.
Connect the Most Significant 8 Bits of your image sensor to the D7:0 pins of the GPIF Interface and connect the least significant 8 bits of your image sensor to D15:8 pins of GPIF. Use the GPIF in Big Endian mode.
In your firmware you can switch between a 8-Bit State Machine and a 16-Bit state machine anytime using the CyU3PGpifSMStart API. In the cyfxgpifconfig.h header file, you need to change the register value in the firmware that corresponds to 8 Bit GPIF or 16 Bit GPIF, before everytime you call the CyU3PGpifSMStart API for switching the bus width.
Regards,
- Madhu Sudhan