Current Server Time: 20:20 (Central Europe)

#apertus IRC Channel Logs

2024/03/04

Timezone: UTC


00:35
aombk2
left the channel
00:36
aombk2
joined the channel
01:41
aombk3
joined the channel
01:45
aombk2
left the channel
01:53
aombk
joined the channel
01:56
aombk3
left the channel
01:57
aombk2
joined the channel
02:00
aombk
left the channel
02:06
aombk3
joined the channel
02:10
aombk
joined the channel
02:10
aombk2
left the channel
02:13
aombk3
left the channel
02:36
aombk
left the channel
02:40
aombk
joined the channel
02:48
aombk
left the channel
02:50
aombk
joined the channel
06:04
BogdanXOR
left the channel
06:34
BogdanXOR
joined the channel
06:39
BogdanXOR
left the channel
07:04
BogdanXOR
joined the channel
07:09
BogdanXOR
left the channel
07:13
BogdanXOR
joined the channel
09:57
BogdanXOR
left the channel
10:41
BogdanXOR
joined the channel
15:23
BogdanXOR
left the channel
15:43
BogdanXOR
joined the channel
16:00
se6astian
MEETING TIME
16:00
se6astian
who is here?
16:00
Bertl
is here
16:00
se6astian
Bertl already told me he has some interesting news!
16:02
se6astian
quick updates from me: we discussed moving the wiki to github hosted asciidocs with CI builds of PDF and HTML content - nothing decided yet but the topic is moving
16:03
se6astian
I sourced new stock of wifi sticks (ralink based) and ethernet/usb cables, nothing fancy but most arrived already
16:03
se6astian
anuejn and me plan to meet next monday to tinker with the axiom raw recorder setup/solution and push that forward hopefully then
16:04
se6astian
BogdanXOR: I received your ninja v for further testing
16:04
se6astian
but had no time to do so yet, but bertl briefed me about the steps already
16:04
se6astian
so Bertl, what news do you have for us?
16:04
Bertl
well, I spent the last week investigating and evaluating an idea of mine for a cheap but reasonably powerful axiom recorder solution
16:05
Bertl
just to recap, the main problems so far (regarding axiom recorder) have been
16:05
Bertl
1) how do we get the image data from the Axiom Beta into the recorder?
16:06
Bertl
2) how do we get the received data onto some medium which is fast enough to record raw data
16:07
Bertl
so far, the best solutions for 1) have been various capture cards, mostly USB based but also PCIe cards
16:07
Bertl
while those work reasonably well, the better solutions tend to cost a lot and PCIe usually is not 'small' enough to easily package in a recording device
16:08
Bertl
(at least not for off the shelf solutions)
16:08
Bertl
another problem is with USB being a limiting factor and many systems we investigated can not handle the full USB 3.0 speeds and if they can, certainly not for two capture solutions
16:09
Bertl
the second part, the storage system is a problem too, but this seems to get better at least if some NVMe is available
16:10
Bertl
considering those issues, I got interested in the new RP1 chip used in the raspberry pi 5
16:11
Bertl
this chip basically is a custom processor and chipset solution with quite some peripherals and a number of PCIe lanes which connect it to the main processor on the RPi5
16:13
Bertl
among those peripherals we have gigabit ethernet, 2x MIPI d-phys with four MIPI engines (2x CSI and 2x DSI), two independent USB 3.0 busses and two eMMC/SD interfaces
16:13
Bertl
this is all connected via PCIe gen 2 and one PCIe lane is still available from the main CPU which can be used for something else
16:14
tpw_rules
(peanut gallery: is that chip available now? existing comments i see suggest it's not)
16:15
Bertl
no, it is not easily available, but the good news is, it comes on the RPi5 and that is available for less than 100 bucks
16:15
tpw_rules
would it be scraped from the rpi5 or just the rpi5 would form the complete solution?
16:15
Bertl
and the RPi5 itself was the basis of my tests
16:16
Bertl
so, for the data in part, I was investigating the USB side and the MIPI side
16:16
Bertl
and turns out, the MIPI side is almost perfect for us
16:16
Bertl
I've been testing with a relatively cheap HDMI to MIPI converter for now
16:16
tpw_rules
(peanut gallery again: mipi is horrifying to implement afaict if you would want to do it yourself)
16:16
Bertl
and that allows us to capture 1080p60 in RGB888 very reliably
16:17
Bertl
for now, we do not plan to do MIPI, although that could be the next step
16:17
Bertl
we can use 4 lanes on each of the two interfaces
16:18
Bertl
so we can easily connect two HDMI outputs at 1080p60 in full raw to the system and also capture it successfully
16:18
Bertl
now for the storage part, we have actually two working solutions
16:19
Bertl
one is to attach an NVMe to the one remaining PCIe lane
16:19
Bertl
which can be configured as PCIe Gen 3 (despite only being certified at Gen 2 for various reasons)
16:19
Bertl
this gives us a sustained throughput of 850-950MB/s
16:20
Bertl
(you need a fast Gen 3 or Gen 4 NVMe for that, but they are relatively cheap as well)
16:21
Bertl
so far I tested a setup with one HDMI to MIPI and recorded 10 minutes if 1080p60 at 3x8bit data directly to NVMe
16:22
Bertl
the total cost of the device is about 260 EUR
16:22
Bertl
and the test was done with pseudo random data from the Axiom Beta
16:23
se6astian
what HDMI to MIPI converter did you test Bertl? the somlabs one?
16:23
Bertl
it took about a second for the stream to stabilize (at the start) and from the 36000 captured frames I got one frame with an error
16:23
se6astian
cool!
16:23
se6astian
https://somlabs.com/product/dsi2hdmi/ ?
16:23
Bertl
all frames were checked (all data) and no frames were lost
16:26
Bertl
for the HDMI to MIPI solution I used cards based on the toshiba TC358743
16:26
Bertl
the best and cheapest solution here was from Geekworm, the C790 one
16:27
Bertl
this can be directly used on the RPi5 as it has support for the four lanes and a cable option for the CM4/zero which is the same interface as the RPi5 has
16:27
Bertl
an interesting detail here is that our friends from antmicro have created a board which features two of those for HDMI capture some years ago
16:28
Bertl
and when I contacted them, they sent me two of those boards for testing as well
16:28
Bertl
(they need an adapter because the MIPI side is a custom solution)
16:29
Bertl
that said, the HDMI to MIPI route could in the future, assuming that we can source the toshiba chips somewhere, be integrated into the Axiom Beta plugins
16:30
Bertl
so basically generate HDMI and directly convert it into MIPI
16:31
Bertl
alternatively we could use other chips or cheap FPGA solutions (like the GoWin parts) to do LVDS to MIPI CSI directly without the HDMI step
16:31
se6astian
very interesting, Geekworm C790 is 37€ (https://www.amazon.de/Geekworm-Raspberry-Module-TC358743-Supports/dp/B0B76XB1JZ)
16:32
Bertl
another approach we are currently investigating is to use USB-C in Alt mode for HDMI, which in turn would allow to have 3 USB-C HDMI outputs on one dual plugin module
16:32
Bertl
(very similar to the triple DP++ module we did back then)
16:33
Bertl
two of those connections could go to a custom HAT/RPi5 board which contains the two converter
16:33
Bertl
while the third output can be used for non-raw preview
16:34
Bertl
and finally, with the detached sequencer, we can basically transport the full sensor format over those channels at reasonably high frame rates (>40FPS)
16:35
Bertl
all in all, I think this is a viable recorder solution for the Axiom Beta at an excellent price point
16:35
Bertl
note that you could even add USB 3.x sticks for direct recording or similar as long as you distribute the bandwidth accordingly
16:36
se6astian
you mentioned a second working storage solution, is that the USB Sticks approach?
16:36
Bertl
well, that's it from my side, if there are any questions, I'm happy to answer them
16:37
Bertl
yes, basically RAID over USB 3.0
16:37
Bertl
which comes kind of naturally if you record each MIPI CSI stream to a separate USB stick/bus
16:38
Bertl
so doesn't even need special handling or so
16:38
se6astian
do the mipi csi video inputs show up as v4l sources or how did you record/view them in your tests?
16:38
Bertl
they are integrated in v4l2 but they need a media setup to work
16:39
se6astian
that is a setup script?
16:39
Bertl
after the setup, it's basically something like this:
16:39
Bertl
v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='RGB3' --stream-mmap=4 --stream-skip=3 --stream-count=36000 --stream-to=/dev/nvme0n1 --stream-poll
16:39
Bertl
and yes, the setup is done in a script
16:39
se6astian
very nice
16:40
Bertl
setup invovles 'routing' the data in the correct way
16:40
Bertl
*involves
16:41
Bertl
the only limitation (which is not a real limitation with the new sequencer) is that the maximum resolution seems to be 1920x1200 at 60Hz over 4 CSI lanes
16:41
se6astian
yeah thats fine for us
16:41
se6astian
how did you connect the nvme ssd to the pi5?
16:42
Bertl
so we can't simply send 2048x1536 for example (as we do on the Magewell cards), as the toshiba chip does not recognize those formats
16:42
Bertl
for the NVMe I bought (also from geekworm) a bottom adapter card
16:42
Bertl
which is basically a second base for the RPi5 where the NVMe goes
16:43
Bertl
this is attached via a tiny flex board to the RPi5 PCIe connector
16:43
se6astian
the X1001 ? https://geekworm.com/products/x1001
16:43
Bertl
the X1002 is the bottom version
16:43
se6astian
ah, great
16:43
Bertl
an yes, they are pretty cheap as well
16:45
Bertl
I plan to do some more tests with USB storage and the second MIPI channel this week (the second adapter just arrived)
16:45
se6astian
does any of this require CPU power ?
16:45
se6astian
reading/writing mipi/ssd?
16:45
Bertl
yes, but it is acceptable
16:46
Bertl
about 50% of one core is involved in MIPI capture and writing to NVMe
16:46
se6astian
sounds reasonable
16:46
Bertl
(there are four cores available on the RPi5)
16:46
Bertl
we also have almost independent two HDMI outputs on the RPi5
16:46
Bertl
and a GPU, where the data can also be routed to
16:47
Bertl
so a special 4k preview or something like that would be an option in the future ;)
16:47
se6astian
very nice, yes
16:47
se6astian
latency would need to be tested
16:48
Bertl
of course, but we still have minimal latency on the 'third' HDMI output from the Beta, so not a problem for real time stuff
16:48
se6astian
exactly
16:48
se6astian
super nice
16:49
Bertl
also RPi in general is a quite popular platform
16:49
Bertl
so we do not need to worry about access as well as software support
16:52
se6astian
indeed
16:52
se6astian
anything else to report/share?
16:54
Bertl
not much, I sent you the assembled power connector boards for inspection
16:54
Bertl
together with the Ninja V+ from BogdanXOR for testing last week
16:54
Bertl
that's it
16:55
se6astian
yes, I will test those soon as well when I get to my dupont cable collection
16:55
se6astian
many thanks
16:55
se6astian
anyone else who wants to report?
16:57
se6astian
MEETING CONCLUDED, thanks Bertl!
17:08
Bertl
thanks for the moderation se6astian!
20:54
anuejn
Bertl: very nice experiments
20:55
anuejn
I have some proven-to-work gateware for mipi dsi transmission on the lattice ecp5 parts
20:56
anuejn
though I only needed rather low bandwidth
20:56
tpw_rules
what do you do for a phy?
20:56
anuejn
I implemented an appnote from lattice that suggests using 4(?) resistors
20:57
tpw_rules
ahh, i didn't realize that was sanctioned
20:57
tpw_rules
does it work for csi?
20:58
anuejn
https://www.latticesemi.com/view_document?document_id=52562
20:58
anuejn
(page 12)
20:59
anuejn
though for csi we could get away with the simplified diagram on page 13
20:59
anuejn
because CSI is normally doing HS only
21:00
anuejn
I think that adapting the code I have for CSI would not be a lot of work
21:00
anuejn
and I would be quite interested in doing it actually
21:02
anuejn
Bertl: do you think that would also work for 7-Series HR IO?
21:05
aombk2
joined the channel
21:10
aombk
left the channel
21:16
aombk2
left the channel
21:18
aombk
joined the channel