ntsc video on avr32

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

I recently decided to try my hand at the avr32 - a friend gave me an evk1101 and i have been meaning to learn a 32 bit architecture.

I think i'd like to try implementing ntsc video. I have some experience doing this on the 8-bit avrs, so i am aware of the timing sensitivity (I need a 25 MHz pixel clock to get 640 horizontal pixels).

I don't know much about higher level systems, though - so I am wondering what the best way to proceed is. Since I'd eventually like to add keyboard or game controller support to this, is FreeRTOS worth learning about for this purpose? Is it possible to keep track of the timing of the video signal while switching between different tasks, or am I still best advised to stick with the same old inline asm techniques for video generation and do computation during vertical retrace?

Thanks....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It is possible to program the AVR32's in assembler, but it requires more time spent on the datasheet and perhaps some "reverse engineering" of C code from the software framework. You can use GCC or IAR EW kickstart (IAR Kickstart is code limited evaluation software, but AFAIK there is no limit when writing assembly programs).

Some differences compared to 8 bit AVRS:
- The reset vector is at 0x80000000 (not 0x00)
- Base address of the interrupt vectors is programmable (should init EVBA-register).
- If you want to run faster than the startup oscillator (some kHz), you must initialize the crystal oscillator and even the PLL if you want to run faster than the crystal.
- More registers to program for each peripheral (USART etc)
- The "PORTS", GPIO is a bit different. More registers to program.
- DMA for peripherals! (named PDCA). Send/receive stuff while CPU does processing. Perhaps use SSC serial interface for video? SSC works like a big shift register.

Regarding RTOS I have no experience.