I don't want to use an FPGA.

I need to quickly put together a prototype that will relay DCMI data (small resolution camera sensor) to DS90CR285. Here performance doesn't matter that much – later it will be deployed on an FPGA anyway. However before that I wanted to fiddle around with this LVDS driver.

In your opinion is it possible to use FSMC/FMC hardware inside STM32F4 series chips to drive DS90CR285 or is it a complete waste of time?

The way I see it - the chip can be treated as an LCD display with some customisations on the way.

UPD: LVDS must comply with Camera Link protocol in base configuration. Transfers are 12-bit so the overall speed is 115200 Bps.

My question is for those who are familiar with STM's FSMC/FMC behaviour when used in this fashion.

DS90CR285 datasheet

STM32F427 datasheet

  • \$\begingroup\$ What is on the other end of those LVDS links? \$\endgroup\$
    – Turbo J
    Oct 12, 2016 at 11:38
  • \$\begingroup\$ A display of some sort. I only know that all that stuff must comply with Camera Link protocol in Base configuration \$\endgroup\$ Oct 12, 2016 at 12:19
  • \$\begingroup\$ I don't really have the time to look into this, but I will mention that you will get much more relevant information on the use of the FSMC/FMC module (and other peripherals) from the reference manual. \$\endgroup\$
    – Tut
    Dec 12, 2016 at 13:19

1 Answer 1


A display link like that is inherently both very parallel and very high rate. A serial to parallel converter doesn't change the bandwidth requirements, and most display won't let you just send data in as slowly as you want.

What would you do with whatever you transmit/receive inside an Cortex-M4, anyway? It's not like a single picture is likely to even fit into RAM.

  • \$\begingroup\$ Required transfer rate is 20MHz, so it's not impossible for M4 hardware to handle. Image is somewhat old school - 320x240. \$\endgroup\$ Oct 12, 2016 at 12:47
  • \$\begingroup\$ Transfers are 12-bit so the overall speed is 115200 kBps. The chip itself has 256k RAM and i can hook up external RAM if i need to. So my question is for those who are familiar with STM's FSMC/FMC behaviour when used in this fashion. \$\endgroup\$ Oct 12, 2016 at 12:51
  • \$\begingroup\$ 320x240x2B (you'll have a hard time streaming 12 bit values through DMA, so you'll probably have to pad to 16bit) = 150kB per image, that might actually fit (still, what are you going to do with that?). But alas, I'm not proficient enough with the STM32F4 to give much advice here, but, honestly, I'd rather go for something much more powerful if I just want to play around, something that you can run a serious operating system on, but sure, this would work; maybe hackaday.com/2013/11/12/building-a-better-serial-camera is of interest to you! \$\endgroup\$ Oct 12, 2016 at 13:00
  • 3
    \$\begingroup\$ The task is simple convert to RGB and send to a display. For some reasons unknown to me people don't want to provide exact details on the display but the protocol is clearly described. Anyway thanks for your advice. \$\endgroup\$ Oct 12, 2016 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.