Shop OBEX P1 Docs P2 Docs Learn Events
Can the propeller generate nice GUI graphics on one or two cogs? — Parallax Forums

Can the propeller generate nice GUI graphics on one or two cogs?

Im about to gear up on a new project, Ive been very much in to microwave RF experimentation lately. I started designing a down conversion board for use with SDRs and scanners, the problem is I realized I didn't have any convenient way to build and test a dual 1ghz and 3ghz Local Oscillator unless I wanted to use a pretty pricey Analog Devices frequency synth that goes up to 4ghz. Not only will the chip raise the cost of my down converter considerably but it's phase noise is no where near what can be achieved by multiplying a lower frequency with mixers.

So I decided I want to build a little SI5351 1-200mhz clock generator board that is tcxo referenced, then use two AD9834 DDS chips (clock referenced to one of the 3 si5351 output) that can do square/sine/triangle up to 37mhz and a few VCO's at selected frequency's. The board is basically meant to act as a lower speed oscillator that will let me pick speed/waveform and single or quadrature oscillator output. This will allow me to use it directly for most thing in HF/VHF and make a good starting point to test mixers, frequency multipliers, etc.

So all this comes to one i2c for the si5351, two separate SPI ports for the DDS chips, a couple analog output pins for VCO's. I also want to use a i think an TTL serial port for a GPS I ordered an another SPI port for a real time clock. The GPS is so I can lock the TCXO down, Clock is so I can have a GPS clock lol. Anyways needing to run all these simultaneous serial buses in and out, the propeller naturally came to mind. I know the prop would be great for this stuff but I want the interface to be a 2.8 Spi Touch Display and a Quadrature Encoder with Button, there is just so many options (frequency, waveform, number of outputs, phase difference, amplitude) I dont think a 16 by X display is the greatest idea. Ive never worked with a graphics display before and ive had two seedstudio touch LCD "sheilds" sitting around forever. I guess im wondering is if the propeller is capable of doing a nice GUI with alpha smoothing, double frame buffering, etc. I don't want it to look like a pixelated dos menu. If it can do some decent graphics how many cogs will I need, im assuming the only ram I can get fast enough transfer from is the HUB?

One other thing i am a bit confused about is I spent a fair time teaching myself propeller assembly a while back but moved on to the psoc5 chips before doing anything with it. How does propeller assembly work if one chooses to use C instead of spin?

Comments

  • Bill HenningBill Henning Posts: 6,445
    edited 2016-11-17 03:31
    SPI display should work fine, it has a frame buffer
  • Well im glad to hear you think the prop is up to the task of driving all these different serial ports simultaneously along with a nicw GUI.

    Im still curious though how is PASM and PropC integrated together, I want to get the code done as fast as possible so C and PASM are going to be the way to go, if I use spin im gonna have to go back and re read a bunch of language specific stuff. Can you inline assembly, can one cog run PASM while another runs C? As far as a memory model I want to keep everything small and tight in the propellers memory, but I want to pull graphics from some type of non volatile media and throw the in to sram where I can buffer them in to the Prop ahead of time, im not sure what memory model I should use for this. I have a few 1mb NVRAM chips that would work perfectly but since they are parallel interface I would have to add more complexity using either a CPLD or another PROP, I have a feeling that may get more complicated than pulling from flash/eeprom copying to ram and then copying to hub.
  • jmgjmg Posts: 15,145
    edited 2016-11-18 01:11
    I guess im wondering is if the propeller is capable of doing a nice GUI with alpha smoothing, double frame buffering, etc. I don't want it to look like a pixelated dos menu. If it can do some decent graphics how many cogs will I need, im assuming the only ram I can get fast enough transfer from is the HUB?
    The hard ceiling for 'a nice GUI' on a P1, is going to be RAM limits.
    You have only 32Kbytes on chip, so you are going to struggle to hit "decent graphics" and avoid " a pixelated dos menu".

    Eg Half that memory for Pixels, at 4bpp, supports around 181 x 181 pixels

    That's probably enough for an Instrument Control interface, but if you really want to push up the pixels, maybe something like a FDTI Eve display controller ?

    Another choice, if you want a challenge, would be to implement a HyperRAM display, on a P1.
    100MHz, 64M (8M x 8 ), BGA24
    http://www.digikey.com/product-detail/en/issi-integrated-silicon-solution-inc/IS66WVH8M8BLL-100B1LI/706-1466-ND

    That 8MB completely smashes any Pixel RAM ceiling, and now the issue shifts to one of clocking, and R/W.

    To give yourself options, a split design with 2 P1's would allow a RF/Display PCB split, and permit other displays to be used.
    HW is P1 + Memory + LVC273 latch (if you want VGA option, LVC273 allows Video blanking during Write) to stream 8 bpp to either a LCD, or a VGA display.

    A more modest solution point, would be to use 2 x QuadSPI SRAM (20MHz, 256kx4 each, TSSOP8)

Sign In or Register to comment.