====== 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}}