У меня есть четкая ассоциация компании Atmel и супер-успешных контроллеров Atmega. Когда речь идет о чем-то немного более мощном, о следующей ступени, я сразу думаю о stm32. Но совсем недавно мне удалось проверить на деле микроконтроллеры от Atmel SAM4S на базе ARM Cortex-M4. Это отличный вариант для перехода с Arduino, подумал я. У меня оказался не просто голый микроконтроллер, а отладочная плата Sam4S EK rev8. Для прошивки я использовал программатор SAM-ICE. Мой вариант «Hello world!» или «Blink» под катом.
Компания Atmel, на мой взгляд, запоздала с входом в сегмент ARM-микроконтроллеров, здесь уже достаточно прочно обосновалась ST с контроллерами STM32. Я решил сравнить продукты от Atmel и ST.
Общие характеристики отладочной платы:
В плату впаян микроконтроллер ATSAM4S16C:
- ядро Cortex-M4, 120МГц, с поддержкой DSP-инструкций
- 1Мб Flash-памяти
- 128Кб SRAM
периферия:
- 4хUART
- 3xSPI
- 2xI2C
- 1xUSB 2.0
- 1хI2S
- 1 интерфейс для карт памяти SDIO/SD/MMC
- PWM: 4 канала, 16 бит
- АЦП: 16 каналов, 12 бит
- аналоговый компаратор
- ЦАП: 2 канала, 12 бит
- DMA: 24 канала
Datasheet. На самой отладочной плате видим следующее:
на штырьковые разъёмы (с шагом 2.54) выведены все выводы микроконтроллера (что не может не радовать). Кроме этого на плате:
- 2 порта RS232
- разъём RS485
- разъём microSD карты памяти
- порт для подключения ZigBee-модуля
- 2.8" LCD 320x240 на контроллере ILI9325 с резистивным сенсором
- два BNC разъёма, один из них подключён к АЦП, второй к ЦАП.
- встроенный микрофон
- microUSB разъём (USB FS Device)
- впаяна память NAND Flash 29F2G08ABAEA (256Мб)
- сенсорные кнопки (Atmel QTouch), со слайдером
- две пользовательские кнопки+кнопка сброса
- энкодер, подключённый к АЦП микроконтрллера
- JTAG-порт для подключения к SAM-ICE
- mini jack для наушников + вывод для подключения динамика
Сравнение Atmel ARM с STM32
Цены в рублях STM32-691 и Atmel ARM-848 рублей.
IDE
Радует присутствие бесплатного IDE, которое можно скачать с сайта Atmel. Да, это переработанная Visual Studio, со всеми вытекающими, но отлично подходит для быстрого старта. Скачиваем, устанавливаем, подключаем программатор к компьютеру и к плате. В установке и работе IDE скоростью не отличается, но в этом есть ряд плюсов для начинающих, дает время подумать.
Вместе со средой разработки будут доступны порядка 1600 примеров, среди которых примеры для рассматриваемой платы SAM4S-EK (работа с периферией, использование DSP, FatFS, FreeRTOS и т.д.).
Попробуем загрузить один из скриптов из примеров. New -> Project ->Example projects
Итак, после редактирования кода
Build > Build Solution, если нет ошибок все соберется, затем Debug > Start Without Debugging
Все ожидаемо работает.
Вывод
Сама плата, как ни странно, оправдала мои ожидания. Это хороший вариант для перехода с Arduino, так как позволяет быстро импортировать скетчи из Arduino IDE в полноценные C++ проекты. Без пайки можно продумать устройство и написать скрипт, затем развести плату и на нее разместить микроконтроллер, это компактнее и производительнее. Соглашусь, что отладочная плата дорогая, но платить за нее нужно один раз, плюс есть альтернатива за 450 руб. SAM D10 Xplained Mini.
Вопрос в тему
Почему ARM от Atmel так редко встречаются в готовых устройствах или в DIY поделках? В основном же идут разные NEC, STM, SIEMENS, FS и подобное?
Зачем это нужно?
Совместно с другими пользователями GeekTimes мы разрабатываем фитнес-трекер для ударных видов спорта и пытаемся разработать все возможные варианты, чтобы потом в конечном устройстве учесть все наработки.
Автор: webzuweb