MICROCONTROLADOR ARM NXP LPC2148
LPC2148FBD64-S - ARM7TDMI-S - LQFP64
512KB Flash + 40KB RAM + USB 2.0 Full Speed + 2KB DMA USB
Descubra o poder dos microcontroladores ARMs de 32 bits da NXP (Philips)
Os microcontroladores da família LPC2000 da NXP - divisão de semicondutores da Philips - são baseados na arquitetura ARM7 de 32 bits, mais propriamente ARM7TDMI-S. Eles foram criados para tornar a vida do desenvolvedor mais fácil, pois facilitam muito o processo de depuração, pois o recurso de depuração já está embutido no ARM. Eles são razoavelmente baratos, tem excelente capacidade de processamento, dispõe de muita memória embutida, possuem uma diversidade de periféricos e consomem pouca energia. Tudo isso para tornar sua vida descomplicada. Ele é simples e eficiente! Essa é a filosofia da ARM.
Descomplique seu projeto. Seja inteligente. Use ARM!
Destaques:
- 512 KBytes de memória Flash
- 40 KBytes de memória RAM
- 60 MHz via PLL (cristal de até 30 MHz)
- Instruções de 32 bits!
- Permite Modo Thumb (instruções de 16 bits - economiza até 30% de espaço)
- USB 2.0 Full Speed com 2 KBytes de RAM dedicados + 8 KBytes para DMA
- 2 UART de até 921600 bauds! Sendo uma delas com recursos de modem
- SPI
- SSP
- 2 I2C
- 23 Interrupções (4 externas)
- VIC - Interrupções vetorizadas por hardware
- 2 Timers de 32 bits
- 8 Comparadores e 8 contadores
- 6 PWM
- ADC de 10 bits duplos (até 14 entradas analógicas) - sample de 2.44us
- DAC de 10 bits
- 45 portas de IO de uso geral tolerantes a 5V
- ISP/IAP (In System/In Application Programming)
- Bootloader embutido de fabrica para upload de firmware via serial
- Depuração do hardware em tempo real por JTAG
- Watchdog
- RTC - clock de tempo real - de baixo consumo (com alimentação e cristal externo próprio de 32kHz)
- Cada periférico pode ser habilitado/desabilitado para otimização de energia
- Clock para periféricos controlável - usando divisor (suporta até 60MHz)
- Alimentação de 3,3V +/-10% (3,0V a 3,6V), incluindo POR and BOD
- Sistema avançado de economia de energia
Compatibilidade e Equivalência
De sua linha, o LPC2148 é o modelo de microcontrolador da NXP que possue o maior número de recursos e maior capacidade de memória total. No entanto, ele é compatível quase que totalmente com vários outros microcontroladores da família LPC2000. Se você tem um projeto com outro microcontrolador da família LPC21XX, provavelmente será relativamente fácil adaptá-lo para usar o LPC2148. Pode ser até que nem seja necessário adaptação. Consulte o datasheet de cada série para saber as diferenças individuais de cada um.
Exceto o tamanho da memória flash, o LPC2148 possui compatibilidade total, pino-a-pino, recurso-a-recurso, com os seguintes modelos:
Os seguintes microcontroladores possuem compatibilidade pino-a-pino, recurso-a-recurso, mas possuem menor número de periféricos e menos memória:
Os seguintes microcontroladores possuem compatibilidade quase que pino-a-pino, recurso-a-recurso e variam quanto a memória e periféricos:
- LPC2131
- LPC2132
- LPC2134
- LPC2136
- LPC2138

Sobre o LPC 2148

O microcontrolador ARM LPC2148 tem tudo que os outros da família LPC2XXX tem. Além disso já vem pronto para usá-lo em aplicações em que seja necessário a comunicação via USB. Ele suporta USB 2.0 em modo full speed; possuindo 2 KBytes de memória dedicada a função e além disso permite-se utilizar até 8 KB de sua RAM para a comunicação via DMA.
Veja aqui o datasheet do LPC2148 no website da fabricante NXP/Philips.
Muita Memória Embutida
O LPC2148 possui farta memória interna, tanto RAM, quanto flash. No total são 42 KBytes de memória RAM e 512 KBytes de memória flash. E como se isso fosse pouco, ele pode operar em modo THUMB; nesse modo ele continua sendo um microcontrolador de 32 bits, como é, mas as instruções passam a ser de 16 bits, que segundo cálculos do próprio fabricante, permite-se reduzir até 30% do código final que seria gerado em modo ARM (instruções de 32 bits).
Este microcontrolador permite que se execute código tanto da RAM, quanto da Flash. Para acelerar a execução das instruções vindas da Flash, ele dispõe de um mecanismo de aceleramento. Trata-se do MAM - Memory Accelleration Module. Com o MAM executa-se código vindo da Flash a uma velocidade praticamente igual a da RAM.
O mais impressionante: é muito simples usar estes e muitos outros recursos do LPC2148. De fato, com duas linhas de código se configura a MAM.
Diversidade de Periféricos
A NXP equipou o LPC2148 com uma variedade impressionante de periféricos. Apenas para listar alguns, temos: USB 2.0, RTC, 10 bit ADC 2.44 us, 2x UARTs, 2x I2C, SPI, 2x 32bit TIMERS, 6x PWM, 8x CCR, 1x DAC, WDT.
Poder Ser Veloz
A arquitetura RISC da ARM garante rapidez de processamento, predição de execução, facilidade de programação e simplicidade, porém eficiência. Cumpre com o objetivo. Com certeza supera expectativas.
Você programa em assembler? Imagine uma CPU que permita que cada instrução seja condicionada, evite saltos desnecessários, tenha uma porção de registradores, permita acessar a memória de forma 100% linear, facilite o acesso aos periféricos, simplifique as operações de IO e ainda, tenha instruções que cumpram a função de multiplicar, rotacionar e somar em uma única operação, e, claro, sendo uma RISC. Esse é o ARM da NXP, esses são os microcontroladores da família LPC2000 do qual faz parte o LPC2148.
Fácil de Aprender, Fácil de Programar, Fácil

Quer aprender sobre uma nova geração de microcontroladores? Escolha este. Ele é o melhor!
Ele tem bootloader embutido, você pode facilmente fazer o download de sua firmware para ele usando a porta serial de seu PC. Conecte seu microcomputador nele e programe!
Os ARMs estão em praticamente qualquer dispositivo microeletrônico de hoje. Os ARMs estão em celular, PDA, handheld, GPS, consoles de vídeo games (o NDS usa dois ARMs!) e em uma infinidade de outras aplicações. Sendo uma arquitetura tão usada, você poderá facilmente aprender a usá-lo.
Veja alguns dos recursos úteis para quem quer aprender a trabalhar com o LPC2148 e outros ARMs:
Compiladores
Há próximo de uma dezena de compiladores diferentes para ARM. Dentre estes compiladores, alguns são gratuitos. Dentre os gratuitos, temos o GCC - Gnu Compiler Collection.

O GCC permite que você utilize as bibliotecas C/C++ e assembler que você já está acostumado. Roda tanto em Windows, quanto em Linux e em outras plataformas. O GCC é extremamente poderoso e possivelmente é uma das soluções de compilação mais usadas do planeta. Com ele você faz código seguro, robusto, veloz e eficiente usando linguagem de alto nível. Se preferir ou se precisar, ele compila seu código assembler, também. A maioria das universidades usam o GCC para o desenvolvimento para ARMs.
Para programar seu ARM, você conta com uma infinidade de bibliotecas já prontas para uma série de coisas, inclusive drivers de dispositivos. Só para citar algumas das bibliotecas disponíveis, a maioria com código fonte aberto, tem-se:
- Funções para acesso a cartões de memória MMC, SD e outros. Podendo ser ou não formatados em FAT!
- Codificadores e decodificadores de áudio, como MP3, ringtones, GSM
- Bibliotecas de criptografia/descriptografia on the fly
- Compactadores e descompactadores de dados
- Drivers de LCDs gráficos
- Drivers de LCDs a caracteres
- Players de vídeos
- Drivers de controle da serial
- Drivers para controle USB
- Drivers TCP/IP
- Servidores web (isso mesmo!)
- Emuladores e linguagens script embedding
- Bibliotecas para comunicação GPRS
- Bibliotecas para comunicação com GPS
IDE - Integrated Development Enviroment
Há inúmeras IDEs que podem ser utilizadas no desenvolvimento de sua aplicação ARM. Inclusive gratuitas. As duas IDEs gratuitas mais populares, com certeza são:
Você poderá usá-las para projetar, programar e depurar seu LPC2148.
RTOS - Real Time Operational Systems
O LPC2148 é suficientemente poderoso para rodar com resultados excelentes diversos sistemas operacionais de tempo real. Pode ser uCOS-II, pode ser FreeRTOS ou pode ser outros. Você escolhe.
Economize seu tempo, abstraia, simplifique usando um RTOS. Não conhece um RTOS? Então dê uma olhada no FreeRTOS, ele é excelente.
Simplicidade de depuração
A NXP equipou a família LPC2000, inclusive o LPC2148, com facilidades excepcionais de depuração.
Tudo que você precisa para depurar um LPC2148 já está nele. Não é necessário adquirir caras soluções de depuração. Você só precisa de uma interface JTAG para conectá-lo ao seu computador pela porta paralela ou USB. Essas interfaces custam pouco. Você mesmo pode fazer uma interface JTAG em casa. Há muitos projetos na web ensinando como fazer uma.
De posse de uma JTAG, basta conectá-la ao LPC e pronto! Agora use sua IDE/depurador preferido para acompanhar a execução de seu programa, modificá-lo em tempo de execução e/ou programar seu ARM.
Se você deseja apenas programar o LPC, não é necessário a JTAG. Você pode programá-lo diretamente pela serial do computador. Neste caso, qualquer cabo serial serve.