Author Topic: Arduino Graphics Coprocessor options  (Read 3542 times)

tboy32

  • Jr. Member
  • **
  • Posts: 4
    • View Profile
Arduino Graphics Coprocessor options
« on: September 07, 2015, 09:18:39 am »
Would it be possible to use a STM32F405 for the Arduino graphics accelerator project? I like how fast the F4 demo is (in the U5 Vivaz LCD project). I wanted to use a 405/7 for their speed, but I don't need the Ethernet capability of the 407, so it seems like the 405 is the way to go. I was also hoping to use the small LQFP64 package (F405RG) to save board space, however I notice the LCD reversing project utilizes the FSMC peripheral which the F405RG doesn't have. I also notice the Arduino accelerator project doesn't use the FSMC. I see the Arduino project uses an overclocked F051 @ 64MHz, and it's suggested to use a F031.

Would I see a performance (framerate) improvement from using a F4 @ 168MHz vs the original F0 @ 64MHz or is the graphics accelerator example already optimized to the point where it wouldn't make much difference? How much work would be involved to modify the accelerator project code to work with a F4? Would it be better to use a 405RG without the FSMC peripheral and use/modify the Arduino graphics accelerator project code (which doesn't use the FSMC), or go with a 405VG (LQFP100) which has that peripheral and modify the U5 Vivaz LCD project code to add the I2C interface?

Thanks!

Andy Brown

  • Administrator
  • Hero Member
  • *****
  • Posts: 283
    • View Profile
    • Andy's Workshop
Re: Arduino Graphics Coprocessor options
« Reply #1 on: September 07, 2015, 10:44:47 am »
Wow, lots of questions :) I'll give you a full answer shortly when I've gone through the detail but basically you're looking at two issues.

  • How fast you can write to the LCD bus and that's limited by the timings given in the controller datasheet combined with the frequencies you can get from the clock multipliers and dividers in the STM32. The extra grunt in the F4 doesn't necessarily help here because you'll be dividing down to keep the slower LCD bus in spec.
  • How fast you can perform the graphics algorithms themselves - i.e. the work you're doing when you're not writing pixels to the LCD. The F4 clearly wins by a country mile over the F0 in this department.
It's worse than that, it's physics Jim!