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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.05.2013, 15:52   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию Плавный переход от Arduino к Armduino

Давно подумывал о переходе на 32 битные ARM контроллеры, так как 8 битного контроллера
мне уже стало не хватать и вот настал этот день. Наконец то у меня в руках отладочная плата Maple mini
в основе которой контроллер ARM Cortex-M3 STM32F103.
Нажмите на изображение для увеличения
Название: stm32f103.png
Просмотров: 1648
Размер:	37.0 Кб
ID:	1011
Почему я решил перейти на этот контроллер? Потому что стоимость микросхем STM32F103 даже
немножко дешевле чем Atmega328, но разница в характеристиках колоссальная.
Например на Ebay стоимость чипа STM32103 105руб.
А стоимость чипа Atmega328 -118руб.

Название: maple.jpg
Просмотров: 17165

Размер: 25.6 Кб

Характеристики
Для подключения к компьютеру не требуется USB-UART мост
Ядро ARM Cortex M3
Разрядность 32 бита
Тактовая Частота 72мГц
Оперативка 20кб
Флеш память программ 128кб
Входы/Выходы 34пина (GPIOs) из них
12 ШИМ(PWM) с разрешением 16 бит
9 аналоговых входов (АЦП) с разрешением 12 бит, 2АЦП(ADC) время преобразования 1мкс
2 SPI
2 I2C
3 USART
1 CAN
7 каналов прямого доступа к памяти (DMA)
4 таймера
встроенные часа реального времени 32кГц с возможностью калибровки
для питания часов от батарейки есть пины Vbat+ и Vbat-
Для внешнего прерывания можно использовать любые GPIO пины, но одновременно
могут использоваться только 16 пинов и только одного порта А или В

Схема Maple mini
Нажмите на изображение для увеличения
Название: Maple Mini.png
Просмотров: 4996
Размер:	14.0 Кб
ID:	1016

Переходить не торопился потому что понимал что на изучение нового контроллера и его особеностей, потребуется много времени
Но когда HiddenPilot дал ссылку на контроллер и компилятор к нему, который был заимствован у Arduino, то после этого я понял
что можно безбоязненно переходить на STM32

Нажмите на изображение для увеличения
Название: blink.png
Просмотров: 1230
Размер:	4.7 Кб
ID:	1013

Первое включение и установка драйверов
Процесс установки драйверов не стандартный, так как устанавливается два разных драйвера
Сначала нужно cкачать и распаковать Maple IDE
Подключаем контроллер к USB ПК
Потом заходим в диспечер устройств и видим устройство "Maple R3"
жмем кнопку ""обновить драйвер" и указываем путь к драйверу ..\maple-ide-0.0.12-windowsxp32\drivers\mapleDrv\serial
После успешной установки serial драйвера нужно установить еще один драйвер LibUSB. Для этого нужно перевести контроллер
в режим бесконечного загрузчика, нужно нажать кнопку сброса отпустить и сразу же нажать кнопку but=32 и и отпустить кнопку
через 2-3сек. В диспечере устройств должно появится устройство Maple 003. В свойствах устройства жмем кнопку ""обновить драйвер" и
указываем путь к драйверу ..\maple-ide-0.0.12-windowsxp32\drivers\mapleDrv\dfu

После того как драйвер установится, можете попробовать залить в контроллер тестовый код Blink
Также как и в ардуино IDE у Maple есть много примеров в папке Exemples
В основном синтакс языка программирования Maple такой же как и у Arduino.

Вам не придется переучиваться. Вот Вам пример кода Blink для Maple
Он отличается только тес что у него светодиод подключен на D33
PHP код:
void setup() 
{
    
pinMode(33OUTPUT);
}

void loop() 
{
    
digitalWrite(33HIGH);
    
delay(1000);
    
digitalWrite(33LOW);
    
delay(1000); 

Продолжение следует
Admin вне форума   Ответить с цитированием
Старый 21.05.2013, 21:46   #2
filinmd
Senior Member
 
Регистрация: 18.09.2012
Адрес: Moscow
Сообщений: 157
Вес репутации: 0
filinmd is an unknown quantity at this point
Отправить сообщение для filinmd с помощью ICQ
По умолчанию

А к OpenWRT подключается так же как и Arduino ? Я имею ввиду настройки порта и управление "ногами"?
filinmd вне форума   Ответить с цитированием
Старый 21.05.2013, 21:50   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

К UART подключить даже проще не требуется без согласования уровней, так как контроллер питается 3,3в. Питать его можно тоже от разъема UART
По USB пока еще не пробовал, хотя исходники драйвера libusb под линукс в открытом доступе, можно попробовать скомпилировать под роутер
Admin вне форума   Ответить с цитированием
Старый 24.09.2013, 11:55   #4
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию

Лично я не вижу смысла в Armduino. Wiring - С-подобный язык используемый в Arduino IDE конечно очень прост для понимания, но за это приходится платить ограничениями и не возможностью не только полностью использовать все функции ARM-процев, но и писать гибкий код. В конечном итоге разница между платами только в частотах, количестве пинов и размерах памяти, а надо ль оно? Я когда игрался с ардуиной и ее то на 100% не загружал никогда ни по частоте, ни по памяти.

Преимущество ARM процев, в частности плат типа STM32 в том, что можно легко и быстро аппаратно генерировать ШИМ, создавать кучу таймеров и обрабатывать много прерываний. То есть опрос датчиков, управление сервами и обработка разных сигналов реализуется на порядок эффективнее и расходует меньше времени ЦПУ, позволяя обсчитывать что-то еще... То же составление карты, например.

А еще можно работать с разной переферией от аудио выхода до USB/Ethernet. Библиотек куча. Надо только разобраться, в отличие от всяких дуино писать сразу не получится. Но при разработке чего-то на что не хватает мощностей ардуино вдумчивый подход с изучением железа и библиотек это только плюс. Такое вот IMHO
SilverSwift вне форума   Ответить с цитированием
Старый 24.09.2013, 12:02   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Даже если использовать только те функции которые в Ардуино, то мы получим большую производительность и с таким же уровнем цен на контроллер
Плюс еще в том что есть DMA
Admin вне форума   Ответить с цитированием
Старый 24.09.2013, 12:40   #6
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию

Цена на аврки и ардуину в частности завышена из-за популярности платформы.
Насчет "контроллера за те же деньги" я бы не был так уверен. Гугление показало что в россии на сайте "амперка" ардуина стоит 1100, а ардуина due с кортексом стоит 2500, на ибее 300-500 рублей за Uno и 1000-1500 за Due и клоны.

В то время как сам контроллер Atmega 328 можно купить за 200-500 рублей в России, а Cortex M-4 от 30 до 100 (правда паять та еще развлекуха). При этом в той же тера электронике плату discovery с кортексом, юсб, разными датчиками и кучей переферии можно купить за 700-1200 рубликов.

Насчет производительности... ну да, выше будет. Но я не могу представить задачу для такого уровня платы где этот прирост производительности был бы виден или хотя бы нужен.
SilverSwift вне форума   Ответить с цитированием
Старый 24.09.2013, 12:43   #7
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию

Я к чему. Если есть желание расти, надо брать серьезные платы, углубляться в изучение даташитов и настоящих языков программирования. Если желания нет, то для игрушек и поделок AVR-ардуины за глаза.
SilverSwift вне форума   Ответить с цитированием
Старый 24.10.2013, 08:33   #8
targetorsk
Junior Member
 
Регистрация: 24.10.2013
Сообщений: 1
Вес репутации: 0
targetorsk is an unknown quantity at this point
Question Загрузчик maple ide

Как загрузить и где скачать загрузчик в STM32F103RB ?
Поддерживает ли maple j-link или отладка в нем исключена?
Какой тип платы выбрать при заливке скетча для указанного процессора?
targetorsk вне форума   Ответить с цитированием
Старый 24.10.2013, 12:48   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
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
По умолчанию

Я думаю что все ответы на офф сайте
Admin вне форума   Ответить с цитированием
Старый 19.02.2015, 21:23   #10
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию Re: Плавный переход от Arduino к Armduino

а как перенести проект с исходниками из Eclipse на Maple Ide? уж очень не хочется новую среду осваивать
Bulatovor вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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