Introduction to arm based LPC 2148 Microcontroller: LPC 2148 microcontroller belongs to ARM7( Advanced RISC Machine) family, means the ARM is basically an architecture that is used in microcontroller and processors. The word RISC stands for reduced instruction set computer, as its name shows that it is just like a small or mini controller which works on the basis of less instruction as compared to other conventional microcontrollers. This LPC 2148 microcontroller used the 16-bit/32-bit set instruction architecture for real time emulation. It also contains the embedded trace support for combing the microcontroller to high speed flash memory whose ranging between 32KB to 512kB. Its unique accelerator architecture structure and 128kB wide memory enables the code execution at high clock rate.
ARM is a company now which manufactures microcontroller and microprocessors for various types of mobiles, iphones and digital devices. ARM is among the most popular processor companies. It is used in maximum mobile phone of the world. ARM processors are power efficient which makes them suitable for low power embedded applications. Therefore ARM based microcontroller or microprocessors are used in mostly embedded applications now a days. LPC2148 microcontroller has ARM 7 based architecture.
General features of LPC2148 microcontroller
This ARM microcontroller is best for critical code size applications because it can easily reduce the code size to 30% without reducing the performance. They are easily available in tiny size and consume less power as compared to other microcontrollers . So, due to tiny size and consume less power, these microcontrollers are ideal for that applications where miniaturization is major requirements such as at point of sale and access control etc. It consists of serial communication interface whose ranging from a USB 2,full speed device, multiple UARTs, SPI,SSP to 12C bus and 8kB to, up to 40 kB no chip SRAM, all these features are so much appropriate for communication gateway and protocol converters. Beside this, it also consists of various 32 bit timers,10 bit DAC (Digital to analog converter),10 bit ADC (analog to digital converter) ,PWM(pulse width modulation) channel,45 fast GPIO lines and level sensitive external interrupts pins make this microcontroller very special for medical system and industrial controls. The general architecture block diagram of this LPC 2148 microcontroller with all their essential parts is shown in figure 1
General Architecture Block Diagram of LPC 2148 Microcontroller
Figure 1 General Architecture Block Diagram of LPC 2148 Microcontroller with all their essential parts.
Description about General Architecture of LPC 2148 Microcontroller
LPC 2148 microcontroller consist of three buses such as ARM7 Local bus, AHB ( Advanced high performance bus) and VPB bus etc. these buses are used for performing different function and these are also consisting of different functioning parts such as ,
GPIO pins: ARM based LPC2148 microcontroller has 45 general purpose input output pins. The operating voltage of these input output pins is 5 volt.
On Chip Static RAM (SRAM): This on chip static ram is used for storing data or code. This ram could be accessed as 8 bit,16 bit or 32 bit. The memory of this ram could be increased to 8 kB,16 kB or 32 kB by using USB.
On Chip Flash Program Memory: LPC 2148 microcontroller contains 512 kB on chip flash memory this memory is used for almost data storage or code storage. The programming of this flash memory could be accomplished with several ways.
Vectored Interrupt Controller: All input requests are received by vectored interrupt controller (VIC) and it converts them into fast interrupt request (FIQ). So, fast interrupt request and non fast interrupt requests are defined by programming setting in vectored interrupt controller.
Digital to analog Converter: This LPC 2148 microcontroller has one 10 bit digital to analog converter (DAC).This converter converts the digital input into analog output. The maximum DAC output voltages are called VREF voltages. Power down mode and buffered output is also available in this digital to analog converter.
Analog to Digital Converter: This LPC 2148 microcontroller also contains two analog to digital converters whose names are ADC0 and ADC0. There are 14 total number of inputs of ADC are available and these two converters successfully converts 10 bit analog input to digital output. The measurement rang of each convert is 0V to VREF and global star command is used for both converters.
UART: This LPC 2148 microcontroller contains two UART whose name are UART 0 and UART 01. These UARTs are provided the full mode control handshake interface during transmitting or receiving the data lines. These are used 16 Byte data rate during transmitting or receiving the data. For covering wide range of baud rate they also contain the built in functional baud rate generator, therefore there is no need of any external crystal of specific value.
I2C Bus Serial I/O Controller: I2 C bus serial is bidirectional multi master bus. It can easily control two or more buses which are connected to it. The data which is transferred for master bus to slave bus is transferred through this bidirectional bus at baud rate up 400 k. Similarly the serial clock synchronization allows the device to communicate the data of different baud rate pass through only one serial bus. This clock synchronization could be used as handshake mechanism for resuming or suspending the data transfer.
SPI Serial I/O Control: This SPI serial I/O control supports the duplex data transfer, means this control supports the device for transferring the data whose range 4 kB to 16 kB from master bus to slave bus. This operation is called synchronous serial communication operation from master but to slave bus. This data is transmitted or received in 8 frames and each frame is contains 4 bits to 16 bits.
Timers: This LPC 2148 microcontroller has two timers or counters. These timers are 32 bit and are programmable with 32 bit pre scaler value as well as it also has one external event counter. Each timer has four 32 bit capture channels which take the snapshot of timer value during the transition of any input signal. With the help of this capture event the interruption could be also generate.
Watch Dog Timer: This LPC 2148 microcontroller also contains the watch dog timer whose main purposes is to reset the microcontroller with in specific amount of time during erroneous state. After this state it again turned on the microcenter with in specific amount of time limit.
Real Time Clock (RTC): In this LPC 2148 microcontroller, the RTC is designed to set the counters for the measuring the whole time when the controller is in operating mode or idle mode. It has designed to consume little power which make it suitable for battery powered systems where CPU is not continually in operating mode.
Crystal Oscillator: This LPC 2148 microcontroller contains the on chip integrated oscillator which operate with an external crystal whose range is in between 1 MHz to 25 MHz Its output frequency is called focs and controller clock frequency is called CCLK. These names are used for making rate equation. These frequencies would be same when the PLL is connected and in running position.
PLL: This LPC 2148 microcontroller contains two phase locked loops whose names are PLL0 and PLL1.The input frequency whose range is in between 1 MHz to 25 MHz is accepted by this PLL. This frequency range could be extended from 10 MHz to 60 MHz by using the current controlled oscillator (CCO)
LPC 2148 Microcontroller Registers: This LPC 2148 microcontroller also consists of one program status register and 16 general purposes registers whose names are R0 to R15. These register has wide range such as 8,16 and 32 bits. Beside this, it also consists of one shadow register which is selected such as operation mode switch.
Interrupts : It has vectored interrupt controller. VIC can be configured sixteen configurable priorities. LPC2148 microcontroller has 9 level or edge triggered external interrupts.
Power saving modes: It has power saving modes also like idle mode and sleep mode.