Hi from poland.

Post Reply
sentox
Posts: 3
Joined: Sat Dec 09, 2017 8:28 am

Hi from poland.

Post by sentox » Sat Dec 09, 2017 6:05 pm

My name is Jacob.
I'm studying IT. Electronics it's my hobby. I was programming arduino pro mini and a little esp8266. STM32 blue pill it's new toy. I wanna do few things using stm: simple ossciloscope with vga video output(this can be difficult), BLDC driver. With my brather doing automatic door, freehand system on AVR MCU and nrf24.

User avatar
RogerClark
Posts: 7541
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: Hi from poland.

Post by RogerClark » Sat Dec 09, 2017 8:20 pm

Welcome

I don’t think there is enough internal RAM on any of the small STM32 boards to make a VGA oscilloscope.

The Pig-O-Scope etc, use a ILI9341 disolay which is 320x240 pixels with 16 bit colour, and display board has over 200k RAM for its internal frame buffer.

STM32F103C only has 20k f which perhaps 16k is available as the USB core and serial ports take memory.

So even if you use 1bit colour, this would be a screen of 16384 bits, which is only 128 x 128 pixels.

Much less resolution than on the ILI9341 display

And using external RAM e.g. via SPI and reading ADC on the BluePill board is a problem because the designers cut corners to make it cheap and omitted the separate analogue supply regulator, so using SPI at the same time as ADC causes noise on the ADC.

So, I don’t think your project will work.

sentox
Posts: 3
Joined: Sat Dec 09, 2017 8:28 am

Re: Hi from poland.

Post by sentox » Sun Dec 10, 2017 1:03 pm

Thanks for answer.
It's fresh idea but i think generate image without buffor.
Something like that:
uint_8 adc[640]
//Adc work
if Xcord == adc[Ycord] then draw pixel

User avatar
RogerClark
Posts: 7541
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: Hi from poland.

Post by RogerClark » Sun Dec 10, 2017 9:30 pm

Interesting idea

I think that should work, because it does not need much processing and the MCU is very fast

So for output pixel X,Y ( X is along the scan line, Y is the scan line number),
The output GPIO pin gets turned on if abs(ADCBUF[X * X_RESOLUTION] - Y * Y_RESOLUTION) < THRESHOLD

and if the pixel output clock is set by a timer and you use an ISR, then the X and Y RESOLUTUON can be set to zero

User avatar
RogerClark
Posts: 7541
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: Hi from poland.

Post by RogerClark » Sun Dec 10, 2017 9:41 pm


Post Reply