cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Calvin
Adventurer
Adventurer
309 Views
Registered: ‎09-28-2020

MIPI CSI-2 TX subsystem Virtual channel

Hi,

Transmission of two different image format through MIPI CSI 2 TX subsystem Ip

Data type = RAW8 for both image formats whereas the number of active lines per frame is different on both

I intend to enable Register based Frame end generation 

Is this the scenario where two different virtual channels are used for different image format?

Also what values can s_axis_tdest take and what do they indicate?

 

0 Kudos
3 Replies
karnanl
Xilinx Employee
Xilinx Employee
266 Views
Registered: ‎03-30-2016

Hello @Calvin 

>Data type = RAW8 for both image formats whereas the number of active lines per frame is different on both

This use case should be supported.

>I intend to enable Register based Frame end generation 
>Is this the scenario where two different virtual channels are used for different image format?

No, register based Frame-end generation features and Virtual Channel is not related.
# But if you do enable “register based Frame-end generation features “
   You need to set Line Count Registers for each Virtual Channel correctly.

> Also what values can s_axis_tdest take and what do they indicate?

s_axis_tdest = 2’b00 -> Virtual Channel 0
s_axis_tdest = 2’b01 -> Virtual Channel 1
You can use Virtual Channel 0,1,2,3.
Please see also PG260 table 2-2 for example.

Regards

Leo


------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs
Versal Example Designs : LINK
>>------------------------------------------------------------------------------------------------
0 Kudos
Calvin
Adventurer
Adventurer
253 Views
Registered: ‎09-28-2020

Hi,

Thanks for the reply!

"But if you do enable “register based Frame-end generation features “
   You need to set Line Count Registers for each Virtual Channel correctly"

Image format 1: frame resolution 2000x2000 -> active image -> 1600pixels x1800lines

Image format 2: frame resolution 2000x2000 -> active image -> 1200pixels x1400lines

  1. Virtual Channel Line Count Register value for image format1 = 1800 and image format2 = 1400 ?
  2. if vc0 is used for both image formats then the Virtual Channel Line Count Register needs to be updated dynamically based on the frame format being transmitted?

 

karnanl
Xilinx Employee
Xilinx Employee
233 Views
Registered: ‎03-30-2016

Hello @Calvin 

>1. Virtual Channel Line Count Register value for image format1 = 1800 and image format2 = 1400 ?

Yes. That is correct.

>2. if vc0 is used for both image formats then the Virtual Channel Line Count Register needs to be updated dynamically based on the frame format being transmitted?

It should be possible, but hard/tricky to do. Since you need to change the register value between frames.
Other alternatives :
a. Disable "register based Frame-end generation features"
    Let MIPI CSI-2 TX generate FE short packet just before sending the next FS short packet.
b. Use VC0 for Image format 1 and VC1 for Image format 2.


Kind regards,
Leo


------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs
Versal Example Designs : LINK
>>------------------------------------------------------------------------------------------------
0 Kudos