Обзор отладочной платы SAM4S-EK от Atmel

Компоненты
Доброго вечера!

Хочется поделится впечатлениями от полученной месяц назад у Atmel отладочной плате SAM4S-EK с микроконтроллером SAM4S16C в корпусе LQFP100. SAM4S – это семейство микроконтроллеров с ядром ARM Cortex-M4 с 1MB Flash и 128KB SRAM. Доступные интерфейсы и периферию можно узнать в описании микроконтроллера на www.atmel.com/devices/SAM4SD16C.aspx. Все современные микроконтроллеры схожи – напихано в них все что нужно и не нужно в разрабатываемом проекте и поэтому для меня главное, чтобы производитель в серии микроконтроллеров оставлял pin-to-pin совместимость между моделями, чтобы можно было подобрать микроконтроллер без большой избыточности.

Вот плата, по клику оригинальное фото:



На отладочной плате размером 180 мм на 140 мм уместились:
1) Стандартный UART и USART. В Atmel Studio 7 примерах для данной отладочной платы UART — основной источник вывода отладочной информации со стандартной схемой подключения через переходник UART-USB и чтение терминала через виртуальный COM-порт.
2) Сенсорный 2,8-дюймовый дисплей 240 на 320 пикселей. Это TFT LCD FTM280C34D с сенсорной панелью, драйвер ILI9325.
3) Аудио вход через микрофон и выход через подключаемые наушники.
4) Интерфейс подключения SD/MMC карт
5) Сенсорные кнопки Up, Down, Left, Right, Valid и бегунок-слайдер. Всё по зарегистрированному товарному знаку QTouch®.

К SAM4S16C можно без дополнительных элементов подключать сенсорные площадки, вытравленные прямо на печатной плате. Об создании в Altium Designer таких сенсорных площадок отлично рассказано в хелпе. Функции по обработке состояния кнопок и слайдеров можно использовать из библиотеки QTouch Library. Технология и основной принцип организации сенсорной технологии описаны тут представителями Rainbow Electronics.
Не то, чтобы мне не хватало отладочной платы под Atmel, но в данной отладочной плате привлекло, что без дополнительно подключаемых модулей возможно прототипировать мультимедийное устройство — это позволяет и набор кнопок плюс соответствующие компоненты.

Для программирования использую программатор Atmel SAM-ICE. При получении первым делом проверил работоспособность дисплея и сенсора. Простая программа, выводящая на экран «Hello world!». В примере проверки и калибровки сенсора RESISTIVE_TOUCH из Atmel Studio 7 можно посмотреть как организуется работа с библиотекой, управляющей драйвером ili9325. Естественно, как и ожидалось, поддерживается только латиница, но продравшись через код функции отрисовки строки, затем символа и затем пикселя, был найден массив p_uc_charset10x14[]. Редактируя эту таблицу, можно вывести на дисплей кириллицу и любой другой символ.

Для проверки сенсорных кнопок и слайдера, отлично подходит пример QTOUCH_EXAMPLE. Кнопки сработали как надо – в терминале события прикосновения (press) и отпускания (release) отлично отображались без дребезга контактов. В библиотечной функции обработки слайдера мне показалось странным, что прикосновение к левому и меньшему краю выдавало максимальное значение от датчика, а прикосновение к правому – выдавало от датчика ноль.

В примерах есть проект с FREERTOS 7.0 (хотя уже доступна версия 8.2.3), так что довольно удобно через таски поморгать светодиодами для традиции, а также создавать и добавлять разные проверки остальной периферии микроконтроллера. На плате есть ЦАП, АПЦ, аналоговые входы и PWM, что также стандартно для большой отладочной платы. Одним из нововведений в Atmel Studio 7 стал импорт скетчей из Arduino — это немного поможет, если потребуется скетч из Ардуино перетащить в более мощный микроконтроллер. Хотя по мне Atmel Studio тяжеловата для быстрой разработки, Arduino IDE как-то пошустрее.

Плата вполне доступно позволит создать прототип и отладить программу для устройства с пользовательским интерфейсом, что от нее и требуется. А я на ней отработаю подпрограмму организации меню.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.