You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was having problems with my RBPi 3 B+ / running Linux Kernel 4.19.57-v7+ while trying to get both eyes to work reliable with the arduino IPS TFT 240x240 panel. Left eye (SPI0.0) was fine, but right eye (SPI1.2) would only work with frequency dropped to 10MHz vs suggested 96MHz.
After doing some research I found that at least for bcm2835 only SPI0 has DMA support and a larger FIFO, while SPI1 and 2 can only support lower speeds due to lack of DMA and smaller FIFO size. I couldn't find any supporting info that SPI1 would have a larger FIFO or DMA on bcm2837 (PI3 and beyond) so I changed my setup to use SPI0 for both left and right eye using two channel selects - the problem with the right eye went away and I am able to run at 30+ fps with 96MHz spi frequency... only change needed to the fbx2.c was to change spi1.2 to spi0.1 and wire my eyes accordingly.
My questions now:
with other linux kernels, could SPI1 actually reach 96MHz? If yes, would this be at the expense of higher processor utilization in case SPI1 fifo has to be serviced more often or does RBPi3 and above have large FIFOs and DMA on SPI1 & 2 as well?
regardless of the above - would it make sense to switch to single SPI in order to share resources and reduce wiring - or did anybody reach significantly more than 30fps on RBPi3 using the dual SPI approach?
The text was updated successfully, but these errors were encountered:
I also have the same setup by the sounds of it, and the 'right' eye screen (same IPS 240x240) is blank but backlit and obviously getting a signal. I spent an hour with a multimeter thinking it was my soldering, but they checked out fine.
As follow-up; in my situation, the bitrate drop to even 4,000,000 didnt result in an image on the right screen (left was still fine) - or at 8M or 10M. (Also, as new person to this kind of work, not sure why a bitrate is measures in MHz here?)
I think my next option is to try to hook them up to the single SPI and use channel select as suggested. Bit mystified as to why this wouldnt work on my set up.
I was having problems with my RBPi 3 B+ / running Linux Kernel 4.19.57-v7+ while trying to get both eyes to work reliable with the arduino IPS TFT 240x240 panel. Left eye (SPI0.0) was fine, but right eye (SPI1.2) would only work with frequency dropped to 10MHz vs suggested 96MHz.
After doing some research I found that at least for bcm2835 only SPI0 has DMA support and a larger FIFO, while SPI1 and 2 can only support lower speeds due to lack of DMA and smaller FIFO size. I couldn't find any supporting info that SPI1 would have a larger FIFO or DMA on bcm2837 (PI3 and beyond) so I changed my setup to use SPI0 for both left and right eye using two channel selects - the problem with the right eye went away and I am able to run at 30+ fps with 96MHz spi frequency... only change needed to the fbx2.c was to change spi1.2 to spi0.1 and wire my eyes accordingly.
My questions now:
The text was updated successfully, but these errors were encountered: