Thursday, October 13, 2011

MIDI synthesizer on mbed

Finally my long term desire to make a MIDI synthesizer using touchpad was satisfied. When I first thought of making a MIDI synthesizer two years ago, I was planning to do it using an AVR microcontroller but the implementation of it was procrastinated till now.

Working with mbed

After one year of working with the NGX blueboard, I finally got a chance to fool around with mbed. Till now I was wondering as to what makes mbed so popular. I came to know the reason after working with it.

Wednesday, May 25, 2011

MCPWM in LPC17xx

Motor Control PWM can be used to control AC and DC motors. It can also be used for many other purposes which require timing, counting, comparing or capturing. The MCPWM is used for generating audio signals in the 2d game console as the general PWM is used for color generation. And I will be discussing as to how it works and how to initialize it.

Monday, April 18, 2011

Success of 2D game console

Long time efforts have paid off and we were able to create a 2D game console for NTSC TV!! The features and specifications of the console are as follows.

Easier method of color generation for NTSC Television

 Please read this and this (optional) for better understanding before you read this post.

Few popular methods used to generate different colors for NTSC are
1. using AD725 IC for RGB values to NTSC color conversion
2. using a standard 3.579545MHz as the color carrier and producing different delays to get different phase and in-turn different colors in NTSC. This can be done by using a number of buffers to create delays and selecting the required color among these delayed signals by the use of a multiplexer.

Tuesday, January 25, 2011

DMA in LPC17xx

Direct Memory Access is a feature which allows the peripherals to access the memory directly or to transfer data to other peripherals without the help of CPU. So whenever we are using DMA, we can be doing computations on the CPU while the data transfer is taking place. Effectively the microcontroller is multitasking.

LPC17xx has a General Purpose DMA (GPDMA) which has 8 channels of which each can perform unidirectional data transfer. All types of data transfers like memory-memory, memory-peripheral, peripheral-peripheral are supported. And we can prioritize the DMA transfers as we wish. It can also perform 8-bit, 16-bit and 32-bit wide transactions. If we want to transfer a stream of data that is not stored in contiguous manner, then we can use the scatter and gather feature of the DMA which uses linked list. There are many many more features available with the GPDMA out of which I will be explaining some basic features in this post. I will talk about other advanced features as and when it is required.

Monday, January 24, 2011

Using PWM on LPC17xx

PWM can be used for generating analog signals of frequency very much lower than that of the PWM frequency. LPC1768 has one PWM with six channels. There will be one timer for each PWM and this timer will be used by all channels of that PWM. Configuring the PWM is similar to that of configuring a timer. The only difference is that we also need to specify the location of rising and falling edges for each channel that we use.

Monday, January 17, 2011

Why is NTSC color carrier frequency 3.57954545 MHz and not some other number that can be remembered easily?

Hello guys. I am back after a long break. Now I will continue to tell a little more about NTSC before I start writing blogs on the actual Game Console implementation on LPC1768. I would suggest you to read the previous post before reading this one for better understanding.

I mentioned that the NTSC color carrier frequency is 3.57954545 MHz. If I want to create a game console for NTSC TV then I need to generate this frequency and use it as the color carrier. But why is 3.57954545 MHz chosen as the carrier and not some other frequency which can be easily remembered or generated?