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.
Clique e veja aqui o datasheet do LPC2148.
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.
Outros Produtos
Se precisar, também temos a placa adaptadora LQFP64 para DIP que facilita o uso e soldagem do LPC2148 e de outros CIs SMD de 64 pinos tipo LQFP64.