roboforum.ru

Технический форум по робототехнике.

Нужен совет по выбору девборды

Re: Нужен совет по выбору девборды

linvinus » 04 авг 2011, 12:13

lexanet, спасибо!
А кто может что нибудь сказать о поддержке той или иной платформы?
Хотелось бы выбрать контроллер под который много примеров, т.е. который самый популярный.

Вчера читал датащит на STM32F103VCT6 и AT91SAM9260, столько вкусного но как использовать непонятно, искал готовые библиотеки но ничего не нашёл.

И как я понимаю ни в одном из этих контроллеров нет аппаратной поддержки операций с плавающей запятой?

Кто уже использует arm поделитесь опытом?

Добавлено спустя 8 минут 12 секунд:
в arm интересует в первую очередь большое количество математики в реалтайм режиме, 8битного avr-а не хватает.

Re: Нужен совет по выбору девборды

Strijar » 04 авг 2011, 14:32

linvinus писал(а):Вчера читал датащит на STM32F103VCT6 и AT91SAM9260, столько вкусного но как использовать непонятно, искал готовые библиотеки но ничего не нашёл


На AT91 софта вагон и маленькая тележка - от FreeRTOS до Linux

Re: Нужен совет по выбору девборды

Dmitri Vladimirovich » 05 авг 2011, 11:15

Я тоже потихоньку начал осваивать STM32, через некторое время буду АТСАМ

Начинал с дискавери - и вот что скажу: под STM32F100 если вы не будете использовать Кейл, ИАР, и прочую ересь (шучу конечно), а гцц и эклипс, например, то Вам будет очень тяжело с хедерами и готовыми библиотеками. К сожалению эти чипы привлекают только ценой, а так - там даже УСБ аппаратного нету =(

Я вам советую начинать с чипа F103RBT6 oder F103RET6 там есть все что нужно кроме ЛАН при цене чипа от 200 р

и софтовая поддержка под них неплохая

Себе я сначала купил борду в терраэлектронике, а потом сделал сам. В терре дороговато вышло но имхо того стоит.

А так - лучше взять на алиэкспрессе что нибудь подешевле да попроще

Сугубо ИМХО (с) =)

Re: Нужен совет по выбору девборды

linvinus » 05 авг 2011, 12:18

Dmitri Vladimirovich, спасибо большое! Вы подтвердили мои выводы. Я тоже уже было думал начать с STM32VLDISCOVERY, но понял что кроме того что есть в комплекте ничего нет, и с функционалом как то не понятно.

И мне ещё очень важно именно gcc т.к. Работаю под линуксом.

Вопрос по производительности, правильно ли я понимаю, что arm 32 при той же частоте выигрывает у avr-8bit в четыре раза если речь идёт об операциях с 32х разрядными данными?

Ещё вопрос по производительным контроллерам типа AT91SAM9G45 - 400Mhz, как с ними работать если туда залить линукс?
Т.е. где компилировать программу и где её отлаживать? Напрямую на контроллере по ssh? Или постоянно генерировать прошивку и заливать на флеш?
И как я понимаю такие производительные контроллеры больше годятся для управления переферией, чем как конечное устройство, например для управления двигателем?
Таймеры и io есть, но PWM каналов либо мало, либо отсутствуют. И с внешними прерываниями на io не очень понятно.

Re: Нужен совет по выбору девборды

Vooon » 05 авг 2011, 21:29

С таким камнем уже справиться не просто. Борду только покупную.
Ну и оно больше подходит крутить целевую задачу, чем на сам IO.
Обычно ВВ на больших армах сравнительно медленный и не богатый.
Ну и делают зачастую переферию в виде мелкого арма или FPGA/CPLD.

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

Под STM32 я рекомендую использовать ChibiOS/RT. Там богатый HAL с поддержкой большей части периферии. Есть готовые заголовочники в том числе и для STM32VLDISCOVERY.
И главное там готовые мэйки для gcc.

С дисковери есть только одна неприятность. ST-Link имеет дюже кривой и закрытый интерфейс. Но недавно к нему появился gdb-proxy. Правда когда я попробовал у меня отвалилась клавиатура с мышью. Пробовал правда на полном линке и плате с F107.

Re: Нужен совет по выбору девборды

Strijar » 05 авг 2011, 23:53

linvinus писал(а):Ещё вопрос по производительным контроллерам типа AT91SAM9G45 - 400Mhz, как с ними работать если туда залить линукс? Т.е. где компилировать программу и где её отлаживать? Напрямую на контроллере по ssh? Или постоянно генерировать прошивку и заливать на флеш?


Кросс-компиляция на большом брате и заливка по ftp отдельного файла или пересборка всего rootfs и заливка через u-boot/sam-ba

Re: Нужен совет по выбору девборды

linvinus » 24 авг 2011, 14:59

Если воспринимать эту тему как выбор devboard "для новичков", добавлю следующие рекомендации (возможно банальные).

1) Изучать ради самого arm довольно сложно, поэтому стоит заранее сосредоточиться на каком нибудь решении с использованием процессора arm.

2) Когда известно с задачей, нужно определиться что ещё нужно кроме самого arm процессора, т.к. процессор поддерживает много периферийных устройств, но количество ножек ограничено, поэтому если выбрать devboard с готовым доп оборудованием может получиться так что "ножек" на ваши нужды не хватит, или они уже будут заняты.

Например для ST32F103VCT6, USB и CAN используют одну и туже область памяти и одновременно работать не могут.
Так же как нельзя использовать SDIO и TIM8 в режиме "продвинутого ШИМ", т.к. они висят на одних и тех же ножках.

Да и сами процессоры Cortex -M3 довольно сильно различаются по функционалу, а в документации всё в кучу и в добавок введены "идиотские" градации Value, Access, Performance, Connectivity + градации по объёму памяти внутри каждой группы.

3) Прежде чем заказывать контроллер желательно прочитать доступную документацию,
Например для STM32 есть хороший обзор "Обзорное описание STM32 на русском языке." http://easyelectronics.ru/img/ARM_kurs/CMSIS/stm32.pdf

Не сочтите за рекламу, это единственное что я нашёл на русском языке http://easyelectronics.ru/category/arm-uchebnyj-kurs (читать с конца)
Многое в Cortex не как у "других", поэтому после прочтения вы будете другими глазами смотреть на эти контроллеры.

Лично мне понравилось то что можно сделать управление BLDC практически полностью "хардварно".
Стыкуем таймеры, одни считают сигналы от датчиков hall и выдают управляющие сигналы на другие таймеры (без использования CPU), которые задают управляющие ШИМ сигналы и сами коммутируют силовые ключи в нужной последовательности, программе остаётся опрашивать "скорость" от датчиков hall и выдавать необходимое значение ШИМ.
Эти контроллеры способны решать задачу векторного управления двигателями.

4) Только исходя из полученных знаний и поставленной задачи выбирать devboard.
Желательно сначала посмотреть схему и оценить насколько она "удобна" для решения вашей задачи, и чего "не хватает".

5) По поводу ПО. Функций в arm огромное количество и программировать используя прямую запись в регистры достаточно трудоёмко, поэтому есть "обёртки" в которых используется упрощённый подход к конфигурированию.

От ST есть библиотека FWLib
Есть CMSIS
Но они обе закрытые, т.е. вы не можете их изменять и распространять.

Для STM32 и "фанатов" всего открытого см http://sourceforge.net/projects/libopenstm32/develop

6) по поводу прошивки. Помимо заливки через Jtag часто есть альтернативные способы.
Например для STM32F103-107 , прошивка по rs-232 (UART), загрузка с флешкарты, и, если записать свой дополнительный загрузчик, можно сделать чтобы контроллер виделся как "флешка" в ОС, и кидать прошивку как обычный файл, подробнее тут http://easyelectronics.ru/proshivka-arm ... c1300.html

Re: Нужен совет по выбору девборды

Vooon » 24 авг 2011, 21:50

5) Как закрыт?
Код: Выделить всёРазвернуть

License
The enclosed firmware and all the related documentation are not covered by a License Agreement, if you need such License you
can contact your local STMicroelectronics office.
THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS
IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS
OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.


6) stm32flash шьет через UART. Хотя я и сам писал прошивальщик (stboot)...

Блин, а вот про CAN-USB то я и забыл :(
Ноги то заремапить можно, а вот адреса жестко распределены. Правда можно 105 поставить, не знаю только кан попадет на место или как.
С другой стороны в чиби нет поддержки OTG.

Re: Нужен совет по выбору девборды

linvinus » 24 авг 2011, 22:26

5) предполагаю что речь о CMSIS, вот ответ на подобный вопрос http://www.hermann-uwe.de/blog/libopens ... ment-79796

6) Да но как то про это мало известно, и это не поставлено "на поток".
Я когда выбирал devboard специально искал чтобы в комплекте был JTag да ещё и с поддержкой в линуксе, если бы знал, не стал так напрягаться, а отлаживать можно и "по старинке", дело привычки.
Хотя может что и новое для себя открою.

А можно по подробнее про смену ног? Что то я не встретил описания такой функциональности.
Я видел что некоторые функции доступны сразу на двух ножках, но пока глубоко не разбирался.

добавлено: Я так понимаю речь о AFIO?

Я пока только открываю для себя Cortex-ы, но они меня уже очень радуют, это не только 32бита, это ещё новый подход ко многим "стандартным" решениям. Поэтому много информации нужно воспринять чтобы полноценно их использовать, а вот с документацией не просто.

Re: Нужен совет по выбору девборды

Vooon » 24 авг 2011, 23:21

Ну точно не помню кто отвечает за выбор. Там в таблице две колонки: умолчательные функции и если включить ремап.

Вообще это называется PINMUX. И эти кортексы еще бедные. Например у MPC5125 по 4-е варианта на пин.
И на сколько посмотрел у STM32F2 это улучшили.

Добавлено спустя 46 секунд:
Да, кажется AFIO.

Добавлено спустя 5 минут 8 секунд:
Но блин, вот с каном это провал :(
Хотел использовать его как межмодульную шину. Вместо i2c.
Значит всежтаки будет рев.1.

Нужно добавить детач юсб. Ну и наверно подумать о 105 или каком-нибудь F-2.

Re: Нужен совет по выбору девборды

linvinus » 25 авг 2011, 11:33

К сожалению SDIO не ремапятся :( ну и ладно не очень то и нужно было :)

Я предлагаю Вам сосредоточиться на can шине, а usb подрубить через переходник can-usb, пусть будет отдельной платой.

Может знаете ещё какие нибудь интересные, на ваш взгляд, фишки Cortex-ов, чего нет в 8ми битных AVR?

Re: Нужен совет по выбору девборды

Vooon » 28 авг 2011, 14:28

Нет, приоритет здесь как раз другой. USB, потом CAN.
Жаль у нас мало фидбека по M128-{S,DS}.
Но из известных - большая часть, это только один контроллер, соединенный через USB-UART, BT-UART модули.
Поэтому в первую очередь нужно сосредоточится на наиболее популярном варианте.

В rev.1 нужно предусмотреть установку F105, тогда можно будет делать связь через CAN.
У меня есть отладка с F107, на ней можно будет подготовить орфу.

Re: Нужен совет по выбору девборды

linvinus » 28 авг 2011, 15:37

Да, я согласен что usb популярнее, НО, оно попоулярно по двум причинам:
1 доступно (встроено в PC)
2 все его поддерживают (вытекает из первого).

Но can по сравню с USb имеет преимущества, гарантированное время, единая шина между устройствами.
не хватает только поддержки в PC. Вот если будет доступный переходник входящий в комплект, вот тогда популярность can вырастет.

Re: Нужен совет по выбору девборды

Сергей » 28 авг 2011, 15:43

А как вы собственно собираетесь покупать VID и PID для USB?

Re: Нужен совет по выбору девборды

Vooon » 28 авг 2011, 16:00

Придется взять из примеров ST. Да, не хорошо, но иного варианта нет.
Т.к. теперь запрещено продавать PID'ы. А VID слишком дорог.
Хотя надо взглянуть на соглашение с вендором, да и спросить их.
Atmel например выделил несколько пидов (см. LUFA).


Rambler\'s Top100 Mail.ru counter