====== Junior ARM "Orodruino" ======
{{ :projects:orodruino-brd.png?300|Orodruino prototype board}}
Базовая плата на базе MCU LPC2103 компании NXP механически и электрически((Частично: +3.3в логические уровни с толерантностью к +5в входным сигналам)) совместимая с [[http://www.arduino.cc/|Arduino]].
MCU [[http://www.nxp.com/acrobat/datasheets/LPC2101_02_03_3.pdf|LPC2103]] имеет следующие характеристики:
* Ядро ARM7 способное работать на частотах вплоть до 72МГц
* Встроенный PLL, позволяющий получить более высокие частоты ядра и префирии при использовании внешней тактовой частоты до 20мгц.
* 32 вывода GPIO (совмещённых с выводами преферии).
* Два UART интерфейса
* Два SPI интерфейса
* Два I2C интерфейса
* Два 32х разрядных и два 16ти разрядных таймеров с режимами PWM (ШИМ).
* RTC - часы реального времени с отдельным питанием и тактовым генератором.
* 16-bit/32-bit ARM7TDMI-S microcontroller in tiny LQFP48 and HVQFN48 packages.
* 2 kB/4 kB/8 kB of on-chip static RAM and 8 kB/16 kB/32 kB of on-chip flash program memory. 128-bit wide interface/accelerator enables high-speed 70 MHz operation.
* ISP/IAP via on-chip bootloader software. Single flash sector or full chip erase in 100 ms and programming of 256 bytes in 1 ms.
* EmbeddedICE-RT offers real-time debugging with the on-chip RealMonitor software.
* The 10-bit ADC provides eight analog inputs, with conversion times as low as 2.44 us per channel and dedicated result registers to minimize interrupt overhead.
* Two 32-bit timers/external event counters with combined seven capture and seven compare channels.
* Two 16-bit timers/external event counters with combined three capture and seven compare channels.
* Low power Real-Time Clock (RTC) with independent power and dedicated 32 kHz clock input.
* Multiple serial interfaces including two UARTs (16C550), two Fast I2C-buses (400 kbit/s), SPI and SSP with buffering and variable data length capabilities.
* Vectored interrupt controller with configurable priorities and vector addresses.
* Up to thirty-two 5 V tolerant fast general purpose I/O pins.
* Up to 13 edge or level sensitive external interrupt pins available.
* 70 MHz maximum CPU clock available from programmable on-chip PLL with a possible input frequency of 10 MHz to 25 MHz and a settling time of 100 us.
* On-chip integrated oscillator operates with an external crystal in the range from 1 MHz to 25 MHz.
* Power saving modes include Idle mode, Power-down mode with RTC active, and Power-down mode.
* Individual enable/disable of peripheral functions as well as peripheral clock scaling for additional power optimization.
* Processor wake-up from Power-down mode via external interrupt or RTC.
===== Базовый комплект =====
В состав комплекта будут входить (обсуждаемо):
* Железо
* Сама плата.
* Шнур USB A-B((Это ещё вопрос, а оно вам надо?))
* Переходник JTAG 20pin 2.54mm, на JTAG 20pin 2.0mm.
* Софт
* WinARM (GnuARM для Linux), в их составе компиляторы C, C++, binutils (ассемблер, линкер, etc), gdb (отладчик), newlib (библиотека кросплатформенных функций).
* Консольный и GUI загрузчики ПО через UART.
* GUI интерфейс к отладчику GDB. Insight(?)
* OpenOCD (опция) - сервер аппаратных JTAG отладчиков.
* В качестве IDE используется заточенный [[http://www.codeblocks.org/|CodeBlocks]].
* Документация
* Руководство для начинающих
* Учебные материалы "Шаг за шагом".
===== Платы расширения =====
Очень важна возможность подключения плат расширения типичных для Arduino.
Базово необходимо иметь следующие платы расширения:
* Интерфейс пользователя: дисплей, кнопки, RS-232((а он нужен?))
* Силовой расширитель: плата с ключами управления мощной нагрузкой (моторы, рэле, лампы и т.д.) и подключения внешних датчиков.
* Аудио интерфейс: усилитель мощности, линейный/микрофонный усилитель, держатель SD/MMC карт. Регулятор звука.
===== Сложности =====
MCU LPC2103 производится в корпусе LQFP 0.5mm, это означает что все 48 выводов расположены по четырём сторонам квадратного корпуса с шагом 0.5мм. При повреждении микроконтроллера человек не имеющий должного опыта встретится с трудностями при необходимости замены чипа.
Так же можно услышать, что ARM контроллеры более сложны для изучения. Это не совсем верно, и вызвано тем, что контроллеры имеют более богатую и сложную преферию по сравнению с восьмибитными контроллерами. Естетственно, на её изучение требуется больше времени.
{{tag>arm devboard board arm7 lpc2103 nxp pcb tutorial}}