Current Server Time: 23:28 (Central Europe)

#apertus IRC Channel Logs

2024/03/04

Timezone: UTC


01:35
aombk2
left the channel
01:36
aombk2
joined the channel
02:41
aombk3
joined the channel
02:45
aombk2
left the channel
02:53
aombk
joined the channel
02:56
aombk3
left the channel
02:57
aombk2
joined the channel
03:00
aombk
left the channel
03:06
aombk3
joined the channel
03:10
aombk
joined the channel
03:10
aombk2
left the channel
03:13
aombk3
left the channel
03:36
aombk
left the channel
03:40
aombk
joined the channel
03:48
aombk
left the channel
03:50
aombk
joined the channel
07:04
BogdanXOR
left the channel
07:34
BogdanXOR
joined the channel
07:39
BogdanXOR
left the channel
08:04
BogdanXOR
joined the channel
08:09
BogdanXOR
left the channel
08:13
BogdanXOR
joined the channel
10:57
BogdanXOR
left the channel
11:41
BogdanXOR
joined the channel
16:23
BogdanXOR
left the channel
16:43
BogdanXOR
joined the channel
17:00
se6astian
MEETING TIME
17:00
se6astian
who is here?
17:00
Bertl
is here
17:00
se6astian
Bertl already told me he has some interesting news!
17: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
17:03
se6astian
I sourced new stock of wifi sticks (ralink based) and ethernet/usb cables, nothing fancy but most arrived already
17: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
17:04
se6astian
BogdanXOR: I received your ninja v for further testing
17:04
se6astian
but had no time to do so yet, but bertl briefed me about the steps already
17:04
se6astian
so Bertl, what news do you have for us?
17:04
Bertl
well, I spent the last week investigating and evaluating an idea of mine for a cheap but reasonably powerful axiom recorder solution
17:05
Bertl
just to recap, the main problems so far (regarding axiom recorder) have been
17:05
Bertl
1) how do we get the image data from the Axiom Beta into the recorder?
17:06
Bertl
2) how do we get the received data onto some medium which is fast enough to record raw data
17:07
Bertl
so far, the best solutions for 1) have been various capture cards, mostly USB based but also PCIe cards
17: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
17:08
Bertl
(at least not for off the shelf solutions)
17: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
17: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
17:10
Bertl
considering those issues, I got interested in the new RP1 chip used in the raspberry pi 5
17: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
17: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
17: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
17:14
tpw_rules
(peanut gallery: is that chip available now? existing comments i see suggest it's not)
17: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
17:15
tpw_rules
would it be scraped from the rpi5 or just the rpi5 would form the complete solution?
17:15
Bertl
and the RPi5 itself was the basis of my tests
17:16
Bertl
so, for the data in part, I was investigating the USB side and the MIPI side
17:16
Bertl
and turns out, the MIPI side is almost perfect for us
17:16
Bertl
I've been testing with a relatively cheap HDMI to MIPI converter for now
17:16
tpw_rules
(peanut gallery again: mipi is horrifying to implement afaict if you would want to do it yourself)
17:16
Bertl
and that allows us to capture 1080p60 in RGB888 very reliably
17:17
Bertl
for now, we do not plan to do MIPI, although that could be the next step
17:17
Bertl
we can use 4 lanes on each of the two interfaces
17:18
Bertl
so we can easily connect two HDMI outputs at 1080p60 in full raw to the system and also capture it successfully
17:18
Bertl
now for the storage part, we have actually two working solutions
17:19
Bertl
one is to attach an NVMe to the one remaining PCIe lane
17:19
Bertl
which can be configured as PCIe Gen 3 (despite only being certified at Gen 2 for various reasons)
17:19
Bertl
this gives us a sustained throughput of 850-950MB/s
17:20
Bertl
(you need a fast Gen 3 or Gen 4 NVMe for that, but they are relatively cheap as well)
17: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
17:22
Bertl
the total cost of the device is about 260 EUR
17:22
Bertl
and the test was done with pseudo random data from the Axiom Beta
17:23
se6astian
what HDMI to MIPI converter did you test Bertl? the somlabs one?
17: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
17:23
se6astian
cool!
17:23
se6astian
https://somlabs.com/product/dsi2hdmi/ ?
17:23
Bertl
all frames were checked (all data) and no frames were lost
17:26
Bertl
for the HDMI to MIPI solution I used cards based on the toshiba TC358743
17:26
Bertl
the best and cheapest solution here was from Geekworm, the C790 one
17: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
17: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
17:28
Bertl
and when I contacted them, they sent me two of those boards for testing as well
17:28
Bertl
(they need an adapter because the MIPI side is a custom solution)
17: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
17:30
Bertl
so basically generate HDMI and directly convert it into MIPI
17: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
17:31
se6astian
very interesting, Geekworm C790 is 37€ (https://www.amazon.de/Geekworm-Raspberry-Module-TC358743-Supports/dp/B0B76XB1JZ)
17: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
17:32
Bertl
(very similar to the triple DP++ module we did back then)
17:33
Bertl
two of those connections could go to a custom HAT/RPi5 board which contains the two converter
17:33
Bertl
while the third output can be used for non-raw preview
17: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)
17:35
Bertl
all in all, I think this is a viable recorder solution for the Axiom Beta at an excellent price point
17: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
17:36
se6astian
you mentioned a second working storage solution, is that the USB Sticks approach?
17:36
Bertl
well, that's it from my side, if there are any questions, I'm happy to answer them
17:37
Bertl
yes, basically RAID over USB 3.0
17:37
Bertl
which comes kind of naturally if you record each MIPI CSI stream to a separate USB stick/bus
17:38
Bertl
so doesn't even need special handling or so
17:38
se6astian
do the mipi csi video inputs show up as v4l sources or how did you record/view them in your tests?
17:38
Bertl
they are integrated in v4l2 but they need a media setup to work
17:39
se6astian
that is a setup script?
17:39
Bertl
after the setup, it's basically something like this:
17: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
17:39
Bertl
and yes, the setup is done in a script
17:39
se6astian
very nice
17:40
Bertl
setup invovles 'routing' the data in the correct way
17:40
Bertl
*involves
17: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
17:41
se6astian
yeah thats fine for us
17:41
se6astian
how did you connect the nvme ssd to the pi5?
17: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
17:42
Bertl
for the NVMe I bought (also from geekworm) a bottom adapter card
17:42
Bertl
which is basically a second base for the RPi5 where the NVMe goes
17:43
Bertl
this is attached via a tiny flex board to the RPi5 PCIe connector
17:43
se6astian
the X1001 ? https://geekworm.com/products/x1001
17:43
Bertl
the X1002 is the bottom version
17:43
se6astian
ah, great
17:43
Bertl
an yes, they are pretty cheap as well
17:45
Bertl
I plan to do some more tests with USB storage and the second MIPI channel this week (the second adapter just arrived)
17:45
se6astian
does any of this require CPU power ?
17:45
se6astian
reading/writing mipi/ssd?
17:45
Bertl
yes, but it is acceptable
17:46
Bertl
about 50% of one core is involved in MIPI capture and writing to NVMe
17:46
se6astian
sounds reasonable
17:46
Bertl
(there are four cores available on the RPi5)
17:46
Bertl
we also have almost independent two HDMI outputs on the RPi5
17:46
Bertl
and a GPU, where the data can also be routed to
17:47
Bertl
so a special 4k preview or something like that would be an option in the future ;)
17:47
se6astian
very nice, yes
17:47
se6astian
latency would need to be tested
17: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
17:48
se6astian
exactly
17:48
se6astian
super nice
17:49
Bertl
also RPi in general is a quite popular platform
17:49
Bertl
so we do not need to worry about access as well as software support
17:52
se6astian
indeed
17:52
se6astian
anything else to report/share?
17:54
Bertl
not much, I sent you the assembled power connector boards for inspection
17:54
Bertl
together with the Ninja V+ from BogdanXOR for testing last week
17:54
Bertl
that's it
17:55
se6astian
yes, I will test those soon as well when I get to my dupont cable collection
17:55
se6astian
many thanks
17:55
se6astian
anyone else who wants to report?
17:57
se6astian
MEETING CONCLUDED, thanks Bertl!
18:08
Bertl
thanks for the moderation se6astian!
21:54
anuejn
Bertl: very nice experiments
21:55
anuejn
I have some proven-to-work gateware for mipi dsi transmission on the lattice ecp5 parts
21:56
anuejn
though I only needed rather low bandwidth
21:56
tpw_rules
what do you do for a phy?
21:56
anuejn
I implemented an appnote from lattice that suggests using 4(?) resistors
21:57
tpw_rules
ahh, i didn't realize that was sanctioned
21:57
tpw_rules
does it work for csi?
21:58
anuejn
https://www.latticesemi.com/view_document?document_id=52562
21:58
anuejn
(page 12)
21:59
anuejn
though for csi we could get away with the simplified diagram on page 13
21:59
anuejn
because CSI is normally doing HS only
22:00
anuejn
I think that adapting the code I have for CSI would not be a lot of work
22:00
anuejn
and I would be quite interested in doing it actually
22:02
anuejn
Bertl: do you think that would also work for 7-Series HR IO?
22:05
aombk2
joined the channel
22:10
aombk
left the channel
22:16
aombk2
left the channel
22:18
aombk
joined the channel