RZ-G/RZG hardware: Difference between revisions

From Renesas.info
Line 23: Line 23:
== Camera ==
== Camera ==


=== MIPI-CSI2 virtual channels in RZ/G2N-M-H ===
=== MIPI-CSI2 virtual channels in RZ/G2 ===
As per MIPI CSI-2 specification, each MIPI-CS2 interface can carry up to 4 virtual channels, each channel can be a video stream.
As per MIPI CSI-2 specification, each MIPI-CS2 interface can carry up to 4 virtual channels, each channel can be a video stream.


Line 36: Line 36:
[[File:VIN and MIPI-parallel source.png|frameless|600x600px]]
[[File:VIN and MIPI-parallel source.png|frameless|600x600px]]


The RZ/G2E is a bit different because it has less HW resources, both in terms of MIPI CSI-2 (single 2-lane) and VIN (2 channels).
Even if similar, the RZ/G2E is a bit different because it has less HW resources, both in terms of MIPI CSI-2 (one 2-lane CSI40 despite the name and one parallel input) and VIN (2 channels).
 
In case of RZ/G2L-LC-UL, the CRU (Camera Data Receiving Unit) is used instead of VIN. There's a single CRU instance and only one video stream can be stored in memory at a time. Depending on the target frame rate it would be technically possible to switch from the different virtual channels to capture different frames of different streams.

Revision as of 15:21, 14 October 2021

RZ-G

DDR

DDR (auto) refresh and self-refresh

There is often a confusion between DDR auto refresh and self refresh, this small note is meant to shed some light on these two terms.

DDR refresh or auto refresh is simply the command that is sent from the DDR controller (DDRC) to the DDR chip periodically (in the range of milliseconds) to refresh the DDR content. This happens while normal operation, so all the signals including the clock are active.

DDR self-refresh instead is a low power mode that is entered by issuing the (auto) refresh command and keeping the CKE low. In this case the DDR chip uses an internal counter to trigger the refresh. In self refresh mode all the DDRC signals but CKE are "don't care" and they may not even be actively driven to save power.

In some cases, especially for DDR used in temperature sensitive applications, there is a feature called Auto Self-Refresh (ASR) that is basically an self-refresh with a variable refresh time automatically computed based on the temperature. If ASR is not supported normally the refresh time should be configured before the self-refresh mode is entered.

In RZ/G2 there is a low power mode where all the power supplies but the DDRC I/Os (mainly to drive CKE) are off, to better support the so called suspend-to-RAM, that allows to keep the DDR content and save power. When the power supplies are back the MPU will reboot quicker by restoring its state from the one saved in the DDR before entering the low power mode. Obviously, in order for the suspend-to-RAM to be supported and all the power supplies off, there should be a PMIC that supports it and some software routines that handles the handshake, as well as the shutdown / wake up.

Clocks

TBD

Timers

TBD

Camera

MIPI-CSI2 virtual channels in RZ/G2

As per MIPI CSI-2 specification, each MIPI-CS2 interface can carry up to 4 virtual channels, each channel can be a video stream.

MIPI-CSI2 virtual channels.png

In the RZ/G2M, RZ/G2N and RZ/G2H there are 2 CSI-interfaces, CSI40 (4-lane) and CSI20 (2-lane), the maximum transfer rate is 1.5Gbit/s per lane. The total bandwidth results in a limitation in terms of maximum size video format, both for a single channel and for the 4 potential channels.

Each virtual channel can then be assigned to a VIN (Video Input Module) channel, that stores in memory the video data. VIN max capture size is 4096x4096 .

On top of MIPI-CSI2, in the RZ/G2M there are 2 digital inputs (parallel) that share 2 VIN channels with MIPI-CSI2:

VIN and MIPI-parallel source.png

Even if similar, the RZ/G2E is a bit different because it has less HW resources, both in terms of MIPI CSI-2 (one 2-lane CSI40 despite the name and one parallel input) and VIN (2 channels).

In case of RZ/G2L-LC-UL, the CRU (Camera Data Receiving Unit) is used instead of VIN. There's a single CRU instance and only one video stream can be stored in memory at a time. Depending on the target frame rate it would be technically possible to switch from the different virtual channels to capture different frames of different streams.