Configuração do pino do microcontrolador baseado em ARM7 (LPC2148)

Experimente Nosso Instrumento Para Eliminar Problemas





Projetistas de sistemas embarcados e SOC (sistema em chip) escolhem núcleos de microprocessador , bibliotecas e diferentes ferramentas para desenvolver aplicativos baseados em microprocessador. Um processador ARM é uma das melhores alternativas disponíveis para projetistas de sistemas embarcados. Nos últimos anos, a arquitetura ARM se tornou muito popular e está disponível em diferentes fabricantes de IC. As aplicações dos processadores ARM envolvem telefones celulares, sistemas de freios automotivos, etc. Os parceiros da comunidade ARM global desenvolveram semicondutores, bem como empresas de design de produtos que incluem engenheiros, designers e desenvolvedores. Este artigo é sobre o microcontrolador LPC2148 baseado em ARM7, sua arquitetura e configuração de pinos. Este artigo ajudará você a entender os fundamentos do microcontrolador.

Microcontrolador LPC2148 baseado em ARM7

A forma completa de um ARM é um computador com conjunto de instruções reduzido avançado (RISC) máquina , e é uma arquitetura de processador de 32 bits expandida por acervos ARM. As aplicações de um processador ARM incluem vários microcontroladores, bem como processadores. A arquitetura de um processador ARM foi licenciada por muitas corporações para projetar produtos SoC e CPUs baseados em processador ARM. Isso permite que as empresas fabricem seus produtos usando a arquitetura ARM. Da mesma forma, todas as principais empresas de semicondutores farão SOCs baseados em ARM, como Samsung, Atmel, TI etc.




O que é um processador ARM7?

O processador ARM7 é comumente usado em aplicativos de sistema embarcado. Além disso, é um equilíbrio entre a sequência clássica e a sequência do novo Cortex. Este processador é formidável em encontrar os recursos existentes na internet com documentação de excelência oferecida pela NXP Semiconductors. É perfeitamente adequado para um aprendiz obter em detalhes a implementação de design de hardware e software.

Microcontrolador LPC2148

O microcontrolador LPC2148 é projetado pela Philips (NXP Semiconductor) com vários recursos e periféricos embutidos. Por esses motivos, se tornará mais confiável e também uma opção eficiente para o desenvolvedor de aplicativos. LPC2148 é um microcontrolador de 16 ou 32 bits baseado na família ARM7.



Características do LPC2148

Os principais recursos do LPC2148 incluem o seguinte.

  • O LPC2148 é um microcontrolador baseado na família ARM7 de 16 ou 32 bits e está disponível em um pequeno pacote LQFP64.
  • ISP (na programação do sistema) ou IAP (na programação do aplicativo) usando o software carregador de boot on-chip.
  • A RAM estática no chip é de 8 kB-40 kB, a memória flash no chip é de 32 kB-512 kB, a interface ampla é de 128 bits ou o acelerador permite operação em alta velocidade de 60 MHz.
  • Demora 400 milissegundos para apagar os dados no chip completo e 1 milissegundo para 256 bytes de programação.
  • As interfaces Embedded Trace e o Embedded ICE RT oferecem depuração em tempo real com rastreamento de alta velocidade da execução de instruções e software Real Monitor on-chip.
  • Possui 2 kB de RAM de endpoint e controlador de dispositivo de velocidade total USB 2.0. Além disso, este microcontrolador oferece 8kB de RAM no chip próximo ao USB com DMA.
  • Um ou dois ADCs de 10 bits oferecem 6 ou 14 analógicos i / ps com baixo tempo de conversão de 2,44 μs / canal.
  • Apenas o DAC de 10 bits oferece o / p analógico mutável.
  • Contador de eventos externos / temporizadores de 32 bits-2, unidade PWM e watchdog.
  • RTC de baixa potência (relógio em tempo real) e entrada de relógio de 32 kHz.
  • Várias interfaces seriais como dois UARTs 16C550, dois barramentos I2C com velocidade de 400 kbit / s.
  • Pinos de entrada / saída rápidos tolerantes a 5 volts em um pequeno pacote LQFP64.
  • Pinos de interrupção externa-21.
  • 60 MHz do máximo CPU CLK-clock que pode ser obtido do loop de bloqueio de fase programável no chip por tempo de resolução é de 100 μs.
  • O oscilador incorporado no chip funcionará por um cristal externo que varia de 1 MHz a 25 MHz
  • Os modos de economia de energia incluem principalmente inatividade e desligamento.
  • Para otimização de energia extra, há ativação ou desativação individual de funções periféricas e escalonamento CLK periférico.

Memória


O microcontrolador LPC2148 possui memória FLASH de 512 kB no chip, bem como SRAM no chip de 32 kB. Além disso, este microcontrolador inclui suporte inerente de até 2kB de memória RAM USB de ponto final. Esta memória é adequada para todos os aplicações de microcontroladores.

Sistema de memória FLASH on-chip

Este microcontrolador inclui um sistema de memória Flash de 512 kB e essa memória pode ser útil tanto para o armazenamento de dados quanto para o código. A programação desta memória pode ser feita da seguinte forma.

  • Ao incorporar interface JTAG em série
  • Usando UART ou ISP (na programação do sistema)
  • Capacidades de IAP (Programação no Aplicativo)

O programa de aplicativo baseado na função IAP também pode ser removido enquanto o programa está em execução. Sempre que o carregador de inicialização do microcontrolador LPC2148 no chip é utilizado, 500 kB de memória Flash podem ser obtidos para o código do consumidor. A memória Flash deste microcontrolador oferece a menor quantidade de 100.000 ciclos de gravação / apagamento, bem como 20 anos de preservação de dados.

SRAM no chip

Este microcontrolador oferece RAM estática com 32 kB e muito útil para armazenamento de dados ou código. É acessível para 8 bits, 16 bits e 32 bits.

Portas de entrada / saída

O microcontrolador LPC2148 tem duas portas de entrada / saída e são denominadas P0 e P1. Cada pino de porta é marcado com PX.Y. Aqui, 'X' denota o número da porta como 0 ou 1, enquanto 'Y' denota o número do pino 0-31. Todos os pinos também podem executar tarefas alternativas. Por exemplo, P0.8 fornece como GPIO e pino Tx do UART1, AD1.1, PWM4. Em RST (RESET), cada pino é organizado como GPIO.

Como começar a programar?

A etapa inicial em direção à programação lpc2148 é um arranjo de pinos GPIO. Então, aqui estão os conceitos relacionados também como registros . Os pinos da porta de E / S de uso geral em LPC2148 incluem P0.0 a P0.31 e P1.16 a P1.31 e, na verdade, esses pinos estão disponíveis com base na utilização da função alternativa.

A porta 0 e a porta 1 são portas de entrada / saída de 32 bits e cada bit dessas portas pode ser controlado por uma direção individual. As operações da porta 0 e porta 1 dependem da função de um pino que é selecionado usando o bloco de pino conectado. Na Porta-0, pinos como P0.24, P0.26 e P0.27 não podem ser obtidos, enquanto na Porta-1, os pinos 0 a 15 não podem ser obtidos. Aqui, ambos os pinos como Porta-0 e Porta-1 são controlados por dois grupos de registros discutidos abaixo.

Configuração do pino LPC2148

Configuração de pinos do microcontrolador baseado em ARM7 (LPC2148)

Configuração de pinos do microcontrolador baseado em ARM7 (LPC2148)

Pin1- (P0.21 / PWM5CAP1.3 / AD1.6)

  • P0.21 é um pino GPIO (pino de E / S de uso geral)
  • AD1.6 é obtido em microcontroladores LPC2144 / 46/48 apenas onde um AD1.6 denota ADC-1, i / p-6.
  • PWM5 é um modulador de largura de pulso output-5.
  • CAP1.3 é uma captura i / p para Timer-1, canal-3

Pin2- (P0.22 / CAP0.0 / AD1.7 / MAT0.0 2

  • P0.22 é um pino digital GPIO
  • O pino AD1.7 está disponível em LPC2144 / 46/48 apenas onde um AD1.7 denota ADC-1, entrada-7
  • CAP0.0 é um pino de entrada de captura para Timer-0, canal 0.
  • MAT0.0 é uma correspondência o / p para Timer-0, canal 0

Pin3-RTXC1 3

É um I / p para o circuito oscilador RTC

Pin4- TRACEPKT3 / P1.19

  • TRACEPKT3 é um pacote de rastreamento, bit-3, porta de entrada / saída padrão pelo pull-up interno.
  • P1.19 é um pino digital GPIO

Pin5-RTXC2

Este é um pino de saída do circuito oscilador RTC

Pin6, Pin18, Pin25, Pin42 e Pin50

Esses pinos são uma referência de aterramento

Pin7-VDDA

Este pino é uma fonte de alimentação de tensão analógica (3,3 V), e esta tensão é muito útil para o on-chip conversores analógico para digital e conversores de digital para analógico.

Pin8- P1.18 / TRACEPKT2

  • P1.18 é um pino digital GPIO
  • TRACEPKT2 é um pacote de rastreamento, bit-2, porta de entrada / saída padrão pelo pull-up interno.

Pin9- P0.25 / AOUT / AD0.4

  • P0.25 é um pino digital GPIO I
  • AD0.4 denota ADC-0, entrada-4
  • Aout- a saída do DAC e que está acessível apenas em LPC2142 / LPC2144 / LPC2146 / LPC2148

Pin10- D +

Este pino é uma linha D + bidirecional USB

Pin11- D-

Este pino é uma linha D bidirecional USB

Pin12-P1.17 / TRACEPKT1

  • P1.17 é um pino digital GPIO
  • TRACEPKT1 é um pacote de rastreamento, bit-1, porta de entrada / saída padrão pelo pull-up interno.

Pin13-P0.28 / CAP0.2 / AD0.1 / MAT0.2

  • P0.28 é um pino digital GPIO
  • AD0.1 denota ADC-0, entrada-1
  • CAP0.2 é uma captura i / p para o temporizador 0, canal 2.
  • MAT0.2 é uma correspondência o / p para Timer-0, canal-2

Pin14-P0.29 / CAP0.3 / AD0.2 / MAT0.3

  • P0.29 é um pino digital GPIO
  • AD0.2 denota ADC-0, entrada-2
  • CAP0.3 é uma captura i / p para Timer-0, canal 3.
  • MAT0.3 é uma correspondência o / p para Timer-0, canal 3

Pin15-P0.30 / EINT3 / AD0.3 / CAP0.0

  • P0.30 é um pino digital GPIO
  • AD0.3 denota ADC-0, entrada-3
  • EINT3 é uma interrupção externa de 3 entradas.
  • CAP0.3 é uma captura i / p para Timer-0, canal 0.

Pin16- P1.16 / TRACEPKT0

  • P1.16 é um pino digital GPIO
  • TRACEPKT1 é um pacote de rastreamento, bit-0, porta de entrada / saída padrão por pull-up interno

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 é um pino digital GPIO
  • UP_LED é um indicador LED de boa conexão USB. Quando o dispositivo está organizado, ele é baixo e quando o dispositivo não está organizado, então ele é alto.
  • CONNECT- Este sinal é usado para controlar um resistor externo (1,5 kΩ) sob o controle de um controle de software e é usado pelo recurso de Soft Connect

Pin19- P0.0 / PWM / TXD0

  • P0.0 é um pino digital GPIO
  • TXD0 é um transmissor o / p para UART0.
  • PWM1 é um modulador de largura de pulso o / p-1.

Pin20- P1.31 / TRIESTE

  • P1.31 é um pino digital GPIO
  • TRST é uma reinicialização de teste para a interface JTAG.

Pin21-P0.1 / PWM3 / RXD0 / EINT0

  • P0.1 é um pino digital GPIO
  • RXD0 é um receptor i / p para UART0.
  • PWM3 é um modulador de largura de pulso o / p-3.
  • EINT0 é uma entrada 0 de interrupção externa

Pin22- P0.2 / CAP0.0 / SCL0

  • P0.2 é um pino digital GPIO
  • SCL0 é um I / O de clock I2C0 e o / p de dreno aberto
  • CAP0.0 é uma captura i / p para Timer-0, canal 0.

Pinos 23, 43 e 51-VDD

Esses pinos são a tensão da fonte de alimentação para as portas de E / S, bem como para o núcleo.

Pin24- P1.26 / RTCK

  • P1.26 é um pino digital GPIO
  • RTCK é um teste CLK o / p retornado, um sinal adicional adicionado à porta JTAG. Quando a frequência do processador muda, isso ajuda na sincronização do depurador.

Pin26- P0.3 / SDA0 / MAT0.0 / EINT1

  • P0.3 é um pino digital GPIO
  • SDA0 é uma E / S de dados I2C0 e dreno aberto o / p para observância do barramento I2C.
  • MAT0.0 é combinado o / p para o temporizador 0, canal 0.
  • EINT1 é uma interrupção externa 1-i / p.

Pin27-P0.4 / CAP0.1 / SCK0 / AD0.6

  • P0.4 é um pino de E / S digital GPIO
  • SCK0 é um CLK serial para SPI0 e SPI CLK o / p do mestre / i / p para o escravo.
  • CAP0.1 é uma captura i / p para o temporizador 0, canal 0.
  • IAD0.6 denota ADC-0, entrada-6

Pin28-P1.25 / EXTIN0

  • P1.25 é um pino de E / S digital GPIO
  • EXTIN0 é um gatilho externo i / p, e entrada / saída padrão com pull-up interno

Pin29- P0.5 / MAT0.1 / MISO0 / AD0.7

  • P0.5 é um pino de E / S digital GPIO
  • MISO0 é um mestre em saída escrava para SPI0, dados i / p para mestre SPI / dados o / p de escravo SPI.
  • MAT0.1 é uma correspondência o / p para o temporizador 0, canal 1.
  • AD0.7 denota ADC-0, entrada-7.

Pin30-P0.6 / MOSI0 / CAP0.2 / AD1.0

  • P0.6 é um pino de E / S digital GPIO
  • MOSI0 é um mestre de saída escravo para SPI0, e dados o / p do mestre / dados I / p SPI para escravo SPI.
  • CAP0.2 é uma captura i / p para o temporizador 0, canal 2.

Pin31-P0.7 / PWM2 / SSEL0 / EINT2

  • P0.7 é um pino de E / S digital GPIO
  • SSEL0 é uma seleção de escravo para SPI0 e escolhe a interface SPI como escravo.
  • PWM2 é uma saída-2 do modulador de largura de pulso.
  • EINT2 é uma interrupção externa de 2 entradas.

Pin32-P1.24 / TRACECLK

  • P1.24 é um pino de E / S digital GPIO.
  • TRACECLK é um CLK de rastreamento e porta de entrada / saída padrão com pull-up interno

Pin 33-P0.8 / TXD1 / PWM4 / AD1.1

  • P0.8 é um pino de E / S digital GPIO
  • TXD1 é um transmissor o / p para UART1.
  • PWM4 é um modulador de largura de pulso o / p-4.
  • AD1.1 denota ADC-1, entrada-1, e pode ser obtido apenas em LPC2144 / 46/48.

Pin34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 é um pino de E / S digital GPIO
  • RXD1 é um receptor i / p para UART1.
  • PWM6 é um modulador de largura de pulso o / p-6.
  • EINT3 é uma interrupção externa de 3 entradas

Pin35-P0.10 / RTS1 / CAP1.0 / AD1.2

  • P0.10 é um pino de E / S digital GPIO
  • RTS1 está solicitando o envio de o / p para UART1 e LPC2144 / 46/48.
  • CAP1.0 é uma captura i / p para o temporizador 1, canal 0.
  • AD1.2 denota ADC-1, entrada-2, e pode ser obtido apenas em LPC2144 / 46/48

Pin36-P1.23 / PIPESTAT2

  • P1.23 é um pino de E / S digital GPIO
  • PIPESTAT2 é um status de pipeline, bit-2. E porta de entrada / saída padrão com pull-up interno

Pin37-P0.11 / CAP1.1 / CTS1 / SCL1

  • P0.11 é um pino de E / S digital GPIO
  • CTS1 está claro para enviar i / p para UART1, e estes são acessíveis apenas em LPC2144 / 46/48
  • CAP1.1 é uma captura i / p para o temporizador 1, canal 1.
  • SCL1 - I2C1 CLK I / O e dreno aberto o / p para observância do barramento I2C

Pin38-P0.12 / MAT1.0 / AD1.3 / DSR1

  • P0.12 é um pino de E / S digital GPIO
  • DSR1 é um conjunto de dados pronto i / p para UART1, e estes são acessíveis apenas em LPC2144 / 46/48.
  • MAT1.0 é uma correspondência o / p para o temporizador 1, canal 0.
  • AD1.3 denota entrada ADC-3 e é acessível apenas em LPC2144 / 46/48.

Pin39-P0.13 / DTR1 / MAT1.1 / AD1.4

  • P0.13 é um pino de E / S digital GPIO
  • DTR1 é um terminal de dados pronto o / p para UART1 e LPC2144 / 46/48 apenas.
  • MAT1.1 é uma correspondência o / p para o temporizador 1, canal 1.
  • AD1.4 denota ADC input-4, e estes são acessíveis apenas em LPC2144 / 46/48.

Pin40-P1.22 / PIPESTAT1

  • P1.22 é um pino de E / S digital GPIO
  • PIPESTAT1 é um status de pipeline, bit-1 e porta de entrada / saída padrão com pull-up interno

Pin41-P0.14 / DCD1 / EINT1 / SDA1

  • P0.14 é um pino de E / S digital GPIO
  • DCD1 é uma portadora de dados detecta i / p para UART1, e também apenas para LPC2144 / 46/48.
  • EINT1 é uma entrada de interrupção 1 externa.
  • SDA1 é uma E / S de dados I2C1 e um dreno aberto o / p para observância do barramento I2C

Pin44: P1.21 / PIPESTAT0 44

  • I / O P1.21 é um pino de E / S digital GPIO
  • PIPESTAT0 é um status de pipeline, bit 0 e porta de entrada / saída padrão pelo pull-up interno.

Pin45: P0.15 / EINT2 / RI1 / AD1.5 45

  • I / O P0.15 é um pino de E / S digital GPIO
  • RI1 é um ponteiro de anel i / p para UART1 e está acessível apenas em LPC2144 / 46/48.
  • EINT2 é uma interrupção externa de 2 entradas.
  • AD1.5 indica ADC 1, entrada-5 e também disponível apenas em LPC2144 / 46/48

Pin46: P0.16 / MAT0.2 / EINT0 / CAP0.2

  • P0.16 é um pino de E / S digital GPIO
  • EINT0 é uma entrada de interrupção 0 externa.
  • MAT0.2 é uma correspondência o / p para Timer-0, canal -2
  • CAP0.2 é uma captura i / p para o temporizador 0, canal 2.

Pin47: P0.17 / SCK1 / CAP1.2 / MAT1.2 47

  • P0.17 é um pino de E / S digital GPIO
  • CAP1.2 é uma captura i / p para Timer-1, canal-2.
  • SCK1 é um CLK serial para SSP e CLK o / p do mestre ao escravo.
  • MAT1.2 é uma correspondência o / p para Timer-1, canal-2.

Pin48: P1.20 / TRACESYNC

  • P1.20 é um pino de E / S digital GPIO
  • TRACESYNC é a sincronização de rastreamento.

Pin49: VBAT

Fonte de alimentação RTC: Este pino fornece a alimentação para o RTC.

Pin52: P1.30 / TMS

P1.30 é um pino de E / S digital GPIO

TMS é um modo de teste selecionado para interface de JTAG.

Pin53: P0.18 / CAP1.3 / MISO1 / MAT1.3

  • P0.18 é um pino de E / S digital GPIO
  • CAP1.3 é uma captura i / p para o temporizador 1, canal 3.
  • MISO1 é um mestre In Slave-out para SSP, e dados i / p para SPI- mestre

Pin54: P0.19 / MOSI1 / MAT1.2 / CAP1.2

  • P0.19 é um pino de E / S digital GPIO.
  • MAT1.2 denota correspondência o / p para o temporizador 1, canal 2.
  • MOSI1 é um mestre de saída escravo para o mestre SSP.
  • CAP1.2 é uma captura i / p para o temporizador 1, canal 2.

Pino 55: P0.20 / SSEL1 / MAT1.3 / EINT3

  • P0.20 é um pino de E / S digital GPIO.
  • MAT1.3 é uma correspondência o / p para o temporizador 1, canal 3. I
  • SSEL1 é um Slave Select projetado para SSP. Aqui, escolhe a interface do SSP como escravo.
  • EINT3 é uma interrupção externa de 3 entradas.

Pin56: P1.29 / TCK

  • P1.29 é um pino de E / S digital GPIO
  • TCK é um CLK de teste para uma interface de JTAG.

Pin57: Entrada de reinicialização externa

O dispositivo pode ser reorganizado por um LOW neste pino, efetuando portas de entrada / saída, bem como periféricos para obter em suas condições padrão, e a execução do processador começa no endereço 0.

Pin58: P0.23 / VBUS

  • P0.23 é um pino de E / S digital GPIO
  • VBUS especifica a existência de energia do barramento USB

Pin59: VSSA

VSSA é um aterramento analógico e deve ser a tensão semelhante ao VSS, embora deva ser separado para reduzir o erro e o ruído

Pin60: P1.28 / TDI 60

  • P1.28 é um pino de E / S digital GPIO
  • O pino TDI é um dado de teste usado para fazer a interface JTAG

Pin61: XTAL2

XTAL2 é um o / p do amplificador oscilador

Pin62: XTAL1

XTAL1 é um i / p para o gerador CLK interno, bem como para circuitos osciladores

Pin63: Referência VREF-ADC

Este pino deve ser nominalmente igual ou menor que a tensão do VDD, embora deva ser separado para reduzir o erro, bem como o ruído.

Pin64: P1.27/TDO 64

  • P1.27 é um pino de E / S digital GPIO
  • TDO é um teste de dados usado para fazer a interface do JTAG.

Portanto, trata-se da configuração do pino do microcontrolador LPC2148 baseado em ARM 7. Para os alunos de engenharia eletrônica, essas informações darão um conhecimento básico sobre configuração de pinos, memória de portas de E / S, bem como registros. Aqui fica uma pergunta para você, quais são as aplicações do microcontrolador LPC2148?