Skyduino:~#
Articles
programmation, test

[Test] LPC1769 Board

Salut à tous !
C’est samedi, l’heure du test à sonner !

Aujourd’hui au programme le test d’une des plateformes de développement LPCx de NxP, la LPC1769.

La LPC1769 qu’est ce que c’est ?
Tout d’abord comme sont nom l’indique c’est une carte axé autour d’un microcontrolleur LPC1769 mais j’y reviendrai plus tard.

ensuite comme toujours, la boite !
Sauf que là il n’y pas une boite mais une enveloppe à papier bulle …

Bon ok une enveloppe pourquoi pas, par contre aucune trace du numéro de série pour l’enregistrement en ligne … bizarre …

Le PCB est awesome, tracé hyper fin avec une qualité et une précision vraiment « pro », inutile de précisé que les CI au format cms utilisés sont absolument irremplaçable en cas de problèmes mais bon c’est pas trop grave.

La board est constitué de deux parties, une partie programmateur/débuggeur LPC-Link et une autre partie « target » comportant tout ce qui faut pour faire des truc sympa.

La partie débuggeur :

Et la partie « target » :

Pour ce qui est de la partie débuggeur c’est un LPC-Link, donc non compatible avec openOCD en l’état, et qui demande d’utilisé l’IDE expresso dérivé d’eclipse pour fonctionner, avec une limite de débuggage de 128Ko .. dommage.
La partie débuggeur peut cependant être détaché de la partie « target » il est donc possible d’utiliser le debuggeur sur une autre board.

Voici à quoi ressemble l’électronique de la partie « target » :

Qu’est qu’on peut y voir :
– une EEprom I2C de 8Ko,
– un PHY pour une connexion ethernet (w/ stack tcp/udp) + quartz dédié + 2 led dédié,
– une led libre pour l’utilisateur,
– 2 rangée de connecteur SIL enfichable sur une breadboard et le fameux LPC1769.

Petit zoom sur les deux connecteurs :

Comme vous pouvez le voir il y a aussi une deuxième série de connecteurs un peu en vrac qui peut servir pour divers utilisation.

Je voudrais aussi faire une petite remarque sur la possibilité de pouvoir « couper » la board en deux parties.
Certes c’est bien prévu de pouvoir séparé la partie debuggeur de la partie « target » mais regardez :

Pas facile de couper entre les deux hein ?
Personnellement je ne m’y risquerai pas !

Allez une petite vu iso pour le plaisir !

Et aussi une petie vu d’ensemble de la partie « target ».

Et du débuggeur.

Bon j’en est finit avec les photos ^^
Alors concrètement qu’est ce que le LPC1769 a dans le ventre ?
Premièrement c’est un ARM-Cortex M3 cadencé en interne à 120MHz via un quartz de 12MHz et une PLL.
Qui dit ARM Cortex dit microcontrolleur 32Bits, le LPC1769 n’échappe pas à cette régle !

La liste des fonctions est juste … comment dire … énorme ! (/protection anti-CMB)

ARM Cortex-M3 processor, running at frequencies of up to 120 MHz (LPC1769). A Memory Protection Unit (MPU) supporting eight regions is included.
- ARM Cortex-M3 built-in Nested Vectored Interrupt Controller (NVIC).
- Up to 512 kB on-chip flash programming memory. Enhanced flash memory accelerator enables high-speed 120 MHz operation with zero wait states.
- In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.
On-chip SRAM includes:
- 32/16 kB of SRAM on the CPU with local code/data bus for high-performance CPU access.
- Two/one 16 kB SRAM blocks with separate access paths for higher throughput. These SRAM blocks may be used for Ethernet, USB, and DMA memory, as well as for general purpose CPU instruction and data storage.
- Eight channel General Purpose DMA controller (GPDMA) on the AHB multilayer matrix that can be used with SSP, I2S-bus, UART, Analog-to-Digital and Digital-to-Analog converter peripherals, timer match signals, and for memory-to-memory transfers.
- Multilayer AHB matrix interconnect provides a separate bus for each AHB master. AHB masters include the CPU, General Purpose DMA controller, Ethernet MAC, and the USB interface. This interconnect provides communication with no arbitration delays.
Split APB bus allows high throughput with few stalls between the CPU and DMA.
- Serial interfaces:
- Ethernet MAC with RMII interface and dedicated DMA controller.
- USB 2.0 full-speed device/Host/OTG controller with dedicated DMA controller and on-chip PHY for device, Host, and OTG functions.
- Four UARTs with fractional baud rate generation, internal FIFO, and DMA support. One UART has modem control I/O and RS-485/EIA-485 support, and one UART has IrDA support.
- CAN 2.0B controller with two channels.
- SPI controller with synchronous, serial, full duplex communication and programmable data length.
- Two SSP controllers with FIFO and multi-protocol capabilities. The SSP interfaces can be used with the GPDMA controller.
- Three enhanced I2C bus interfaces, one with an open-drain output supporting full I2C specification and Fast mode plus with data rates of 1 Mbit/s, two with standard port pins. Enhancements include multiple address recognition and monitor mode.
- I2S (Inter-IC Sound) interface for digital audio input or output, with fractional rate control. The I2S-bus interface can be used with the GPDMA. The I2S-bus interface supports 3-wire and 4-wire data transmit and receive as well as master clock input/output.
- Other peripherals:
- 70 (100 pin package) General Purpose I/O (GPIO) pins with configurable pull-up/down resistors. All GPIOs support a new, configurable open-drain operating mode. The GPIO block is accessed through the AHB multilayer bus for fast access and located in memory such that it supports Cortex-M3 bit banding and use by the General Purpose DMA Controller.
- 12-bit Analog-to-Digital Converter (ADC) with input multiplexing among eight pins, conversion rates up to 200 kHz, and multiple result registers. The 12-bit ADC can be used with the GPDMA controller.
- 10-bit Digital-to-Analog Converter (DAC) with dedicated conversion timer and DMA.
- Four general purpose timers/counters, with a total of eight capture inputs and ten compare outputs. Each timer block has an external count input. Specific timer events can be selected to generate DMA requests.
- One motor control PWM with support for three-phase motor control.
- Quadrature encoder interface that can monitor one external quadrature encoder.
- One standard PWM/timer block with external count input.
- RTC with a separate power domain and dedicated RTC oscillator. The RTC block includes 20 bytes of battery-powered backup registers.
- Watchdog Timer (WDT). The WDT can be clocked from the internal RC oscillator, the RTC oscillator, or the APB clock.
- ARM Cortex-M3 system tick timer, including an external clock input option.
- Repetitive interrupt timer provides programmable and repeating timed interrupts.
- Each peripheral has its own clock divider for further power savings.
- Standard JTAG test/debug interface for compatibility with existing tools. Serial Wire Debug and Serial Wire Trace Port options.
- Emulation trace module enables non-intrusive, high-speed real-time tracing of instruction execution.
- Integrated PMU (Power Management Unit) automatically adjusts internal regulators to minimize power consumption during Sleep, Deep sleep, Power-down, and Deep power-down modes.
- Four reduced power modes: Sleep, Deep-sleep, Power-down, and Deep power-down.
- Single 3.3 V power supply (2.4 V to 3.6 V).
- Four external interrupt inputs configurable as edge/level sensitive. All pins on Port 0 and Port 2 can be used as edge sensitive interrupt sources.
- Non-maskable Interrupt (NMI) input.
- Clock output function that can reflect the main oscillator clock, IRC clock, RTC clock, CPU clock, and the USB clock.
- The Wake-up Interrupt Controller (WIC) allows the CPU to automatically wake up from any priority interrupt that can occur while the clocks are stopped in deep sleep, Power-down, and Deep power-down modes.
- Processor wake-up from Power-down mode via any interrupt able to operate during Power-down mode (includes external interrupts, RTC interrupt, USB activity, Ethernet wake-up interrupt, CAN bus activity, Port 0/2 pin interrupt, and NMI).
- Brownout detect with separate threshold for interrupt and forced reset.
- Power-On Reset (POR).
- Crystal oscillator with an operating range of 1 MHz to 25 MHz.
- 4 MHz internal RC oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.
- PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator.
- USB PLL for added flexibility.
- Code Read Protection (CRP) with different security levels.
- Unique device serial number for identification purposes.

C’est juste impressionnant non !? chacune de ces fonctions pourrai donner lieu à des dizaines de projets différent !

Je ne pourrai pas m’attardais sur la partie software car je suis en se moment même en train de regardé son fonctionnement.
Pour le moment j’ai pu voir que le LPCXexpresso IDE est une version allégé d’eclipse avec en plus le support du débuggage (jusqu’à 128Ko pour la version gratuite).
Les programmes semblent assez simple à mettre en place, je suis en train de regarder comment utiliser mon bon vieu coocox IDE pour la compilation (histoire de rester sur un IDE que je connais).

Pour le moment j’en suis au stade du blink ^^

Conclusion :
Pour moins de 25€ cette board est juste incroyable, le LPC1769 a une puissance phénoménale qui pourrai presque faire tourner un ulinux !
Pour un projet un peu gros comme un systéme de controle avec de l’usb, de l’ethernet et plein d’autre chose ou simplement pour un petit robot c’est vraiment l’idéal !
Aprés pour les plus fortuné d’entre vous il existe un « base board » dans le 120€ qui permet de tester tout les périphériques sans avoir à bricoler quelque chose. Je vais prendre en main la board puis j’essayerai de câbler un port usb (simple, 4 fils) et une port RJ-45 magjack.
La guerre qui fait rage entre les différents producteurs de puces devient vraiment sympa, les devBoard deviennent de plus en plus puissant et de moins en moins chères ! J’ai hâte de voir comment cela va évoluer !

Discussion

Rétroliens/Pings

  1. Pingback: Midi sampleur sur base ARM - 2 juin 2012

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.