Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Устройства на ARM процессорах

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.01.2015, 06:20   #1
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

он уже подключен, не парься..
Ну всмысле, maple IDE цепляем libmaple.h, в Arduino IDE всегда подключаем Arduino.H

Последний раз редактировалось HiddenPilot; 02.01.2015 в 06:45.
HiddenPilot вне форума   Ответить с цитированием
Старый 07.01.2015, 16:10   #2
Mastar
Junior Member
 
Регистрация: 31.03.2014
Сообщений: 19
Вес репутации: 0
Mastar is an unknown quantity at this point
По умолчанию Re: Maple Mini

С Рождеством Христовым!!!

Тут у меня закрался вопрос, по даташиту должен быть подключен часовой кварц, а на моей плате его нет Может в этом все проблемы?
Mastar вне форума   Ответить с цитированием
Старый 07.01.2015, 17:01   #3
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

может быть и поэтому... но на миньке его никогда и не было...
ТОлько как связано отсутвие кварца и ошибка связанная с тем что libmaple.h не существует
HiddenPilot вне форума   Ответить с цитированием
Старый 07.01.2015, 17:03   #4
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

так... внимательно посмотрел, думаю надо просто создать этот хэдер и в нем заинклудить arduino.h . ща попробую
HiddenPilot вне форума   Ответить с цитированием
Старый 07.01.2015, 17:23   #5
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

не мучайся пока с часам. Библиотеку нужно немного подпиливать, точнее цепочку инклудов проверят.
Но, я так понимаю, еще понадобится цеплять батарейку. И не факт, что они нормально будут ходить без правильного кварца.

Последний раз редактировалось HiddenPilot; 07.01.2015 в 17:29.
HiddenPilot вне форума   Ответить с цитированием
Старый 08.01.2015, 19:08   #6
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

Допилил UTFT с использованием HW_SPI. Дало 2х кратное ускорение

ДЛя начала, вот так работает ARDUINO NANO c этой бибилиотекой:


MAPLE Софтовый SPI:

MAPLE Хардварный SPI


SW_SPI
Код:
Benchmark                Time (microseconds)
Screen fill              4493905
Lines                    1706640
Horiz/Vert Lines         316944
Rectangles (outline)     208199
Rectangles (filled)      8405974
Circles (filled)         1118416
Circles (outline)        879150
Rounded rects (outline)  217394
Rounded rects (filled)   8381421
HW_SPI
Код:
Benchmark                Time (microseconds)
Screen fill              2206601
Lines                    865659
Horiz/Vert Lines         157470
Rectangles (outline)     103616
Rectangles (filled)      3909310
Circles (filled)         563798
Circles (outline)        444891
Rounded rects (outline)  108461
Rounded rects (filled)   4164973
Дальше попробую перевести SPI на работу с 16bitэными пакетами вместо 8bit, и попробовать подключить ДМА канал
Вложения
Тип файла: zip UTFT.zip (576.6 Кб, 244 просмотров)
Тип файла: zip UTFT_fast.zip (577.9 Кб, 254 просмотров)

Последний раз редактировалось HiddenPilot; 08.01.2015 в 19:25.
HiddenPilot вне форума   Ответить с цитированием
Старый 08.01.2015, 21:06   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Maple Mini

Разница с ардуино ощутимая
Admin вне форума   Ответить с цитированием
Старый 08.01.2015, 21:51   #8
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

Ага, тупит немного НАНо.
Ну предположим, что работа с экраном через последовательный интерфейс не самый лучший вариант для NANO.
Вот если бы параллельный, да еще на 16 бит.

Пожалуйста, параллельный 16bit интерфейс на меге:


Как мне кажется, даже паралельный интерфейс и 20 проводов не смогли изменить ситуацию. ARM малышка на 4х проводах в SoftSPI режиме спокойно обходит мегу, особенно заметно на анимации и на заливке/очистке экрана....

А HW_SPI безоговорочно оставляет позади 16-bitного параллельного монстра на МЕГЕ.
Что же будет, если грамотно задействовать ДМА ?

И самое удобное, что не надо согласовывать уровни. Все устройства потихонечку переходят на 3.3V.

Последний раз редактировалось HiddenPilot; 08.01.2015 в 22:08.
HiddenPilot вне форума   Ответить с цитированием
Старый 19.01.2015, 10:12   #9
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Maple Mini

Хочу сделать тахометр с дисплеем (на мото), и при превышении оборотов должен идти сигнал на реле, которая будет размыкать искру, так сказать отсечка.
Так понимаю на Maple Mini оно по шустрее будет работать, чем на atmega328p?
Sirocco вне форума   Ответить с цитированием
Старый 19.01.2015, 18:08   #10
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

Цитата:
Сообщение от Sirocco Посмотреть сообщение
Хочу сделать тахометр с дисплеем (на мото), и при превышении оборотов должен идти сигнал на реле, которая будет размыкать искру, так сказать отсечка.
Так понимаю на Maple Mini оно по шустрее будет работать, чем на atmega328p?
Конечно пошустрее. Мало того, для этих целей можно задействовать один из продвинутых таймеров. Таймер привязанный к нужной ноге в момент импульса будет записывать в регистр текущее значение таймера. Далее, в прерывании(или в цикле) можем сравнивать с предыдущим значением таймера, и вычислять период. С помощью делителя можем заставить тикать таймер практически с любой частотой. К примеру загружаем в пределитель значение 72, получаем получаем 1.000.000 отсчетов в сек. Записываем 36000 получаем 2000 отсчетов за 1 сек.

Подобным образом можно определять значение шима, практически не нагружая проц.

Если пойти дальше, то к таймеру, можно прикрутить DMA. Тогда модуль ДМА сам(без участия процессора), по событию будет инкриментированно складывать значения таймера прямо в память(как в массив, т.е. каждое значение в следующую ячейку массива). Таким образом мы еще больше высвобождаем ресурсы процессора.

Так же ДМА можно запустить по циклу размером к примеру 16. Тогда в массиве у вас всегда будет лежать последние 16 значений периодов тактов. Тогда простым усреднением всех значений массива, мы можем получать усредненное значение оборотов(периода м/у тактами).

подобным образом можно считывать инкриментный энкодер или датчик холла. Не нагружая процессор.

Вот пример на вскидку практически под ваши потребности
http://robocraft.ru/blog/ARM/739.html
Единственное, данный пример использует SPL бибилиотеку. А она мне не нравится(много ошибок, и генерить много байтов в прошике). Нужно переписать инициализацию на CMSIS cинтаксис. По сути прямая инициализация через регистры.
Вообще, с STM32 потихоньку начинаешь отвыкать от праграммирвоания в режиме простого ногодрыга, на максимальное использование всех встроенных модулей микроконтроллера. Таймеры у STM32 простоуникум, можно запрограммировать таймер на режим полумостового PUSH-PULL c заданным Dead-Time чтобы исключить сквозного пробоя ключей.

Cамая моя любимая реализация максимального задействования всех прелестей ARM, это Индикация сегментнтного дисплея с использованием только таймеров и ДМА.
http://kazus.ru/forums/showpost.php?...95&postcount=8

Но высший пилотаж это подключение HD44780 с использованием 2х каскадированных таймеров и одного канала ДМА!
Процессор занят только тем что заполняет массив информацией которая должна попасть на экран. Все остальное делает железо, не нагружая сам процессор.
http://kazus.ru/forums/showthread.ph...545#post713545
в них кстати используется CMSIS cинтаксис при инициализации.

Тут небольшое обсуждение
http://www.microchip.su/showthread.php?t=16822

Последний раз редактировалось HiddenPilot; 19.01.2015 в 19:11.
HiddenPilot вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 6 (пользователей: 0 , гостей: 6)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:36. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика