реклама на сайте
подробности

 
 
> Какой контроллер выбрать, Выбор микроконтроллера для дальнейшего развития
vepex
сообщение Jul 29 2015, 06:09
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 14-07-15
Пользователь №: 87 557



Здравствуйте. AVR достаточно освоил, но уперся в потолок производительности. Надо расти дальше, но стою на перекрестке - не знаю что выбрать.

Хочу спросить мнение профессионалов, которые реализовали множество проектов на разных микроконтроллерах (ARM).

Что выбрать Atmel (SAM3) или STM какие плюсы и минусы в них имеются? Задача - не критичная к скорости, но критичная к стабильности работа в локальной сети (Ethernet + PHY, на микросхемах физического уровня).
Главное хочу услышать не предвзятое мнение, а то обычно кто что использует - то и хвалят.

Сам выяснил одну вещь: Atmel труднодоступнее и немного дороже чем STM. Так ли это? И что касается остального: подключение (минимальная обвязка), программирование (среда разработки и язык), прошивка - как с этим обстоят дела?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Jul 31 2015, 06:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Была такая версия использования, но при этом в проект затягивается толпа файлов и он уже компилируется не так бодро.

Более того, если мы рассматриваем инициализацию не портов ввода-вывода, а чего-то побольше DMA, Интерфейсы, то там в полный рост встают те же таймауты, они тянут свою функцию прерываний или надо в системном тике дергать их счетчик, какие то структуры разводятся в проекте, да еще которые должны быть глобальными и все как бы цепляется одно за другое и такая помойка наступает....
Go to the top of the page
 
+Quote Post
Porty
сообщение Jul 31 2015, 08:08
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893



Цитата(Golikov A. @ Jul 31 2015, 10:32) *
Более того, если мы рассматриваем инициализацию не портов ввода-вывода, а чего-то побольше DMA, Интерфейсы, то там в полный рост встают те же таймауты, они тянут свою функцию прерываний или надо в системном тике дергать их счетчик, какие то структуры разводятся в проекте, да еще которые должны быть глобальными и все как бы цепляется одно за другое и такая помойка наступает....


а я делаю так:
задача посылать по скоростному SPI произвольные блоки данных через ДМА:
1. Один раз инициализирую ДМА и SPI при помощи SPL,
2. Запоминаю значения регистов в SPI и ДМА, ПЕРЕД запуском всего этого.
3. При повторном запуске другого блока данных с другим размером - восстанавливаю значения регистров, и меняю только адрес с размером и запускаю при помощи SPL ДМА.

Оформлено это всё в красивую отдельную либу с приятным "сахором" в виде одной функции spi_dma_send(addr, size);
и не знаю проблем ни с досканальным изучением регистров, ни скоростью запуска отправки блока, и написано всё на понятном SPL а не дрочь с битами в регистрах и последующим чтением "а чего это там за EN бит в CR1 записывается". И всё изучение регистров ДМА и SPI сокращается до нахождения адреса и размера посылаемых данных + общий порядок запуска всего этого дела (а по сути всегда это однотипно: настроить всё неважно как и дать отмашку уже важно в какой последовательности)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 31 2015, 10:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Porty @ Jul 31 2015, 14:08) *
Оформлено это всё в красивую отдельную либу с приятным "сахором" в виде одной функции spi_dma_send(addr, size);
и не знаю проблем ни с досканальным изучением регистров, ни скоростью запуска отправки блока, и написано всё на понятном SPL а не дрочь с битами в регистрах и последующим чтением "а чего это там за EN бит в CR1 записывается". И всё изучение регистров ДМА и SPI сокращается до нахождения адреса и размера посылаемых данных + общий порядок запуска всего этого дела (а по сути всегда это однотипно: настроить всё неважно как и дать отмашку уже важно в какой последовательности)

Из всего многообразия возможностей DMA (работы связным списком, flip-flop, комбинации этих режимов, возможности прямой работы со сложными структурами данных типа кольцевых буферов и N-мерных массивов одной транзакцией и много другого что взбредёт в голову) Вы оставили куцый обрезок в стиле memcpy() и сидите радуетесь этому? Мне Вас жаль....
Go to the top of the page
 
+Quote Post
Porty
сообщение Jul 31 2015, 10:39
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893



Цитата(jcxz @ Jul 31 2015, 14:12) *
Из всего многообразия возможностей DMA (работы связным списком, flip-flop, комбинации этих режимов, возможности прямой работы со сложными структурами данных типа кольцевых буферов и N-мерных массивов одной транзакцией и много другого что взбредёт в голову) Вы оставили куцый обрезок в стиле memcpy() и сидите радуетесь этому? Мне Вас жаль....

задачу жалеть надо, и такую науку как системное проектирование, ну и здравый смысл пожалеть можно.
а я в свою очередь жалею перфекционистов и любителей запилить все режимы только потому что они есть, когда по сути нужен просто банальный memcpy в устройство без отнимания процессорного времени.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 31 2015, 11:02
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Porty @ Jul 31 2015, 13:39) *
а я в свою очередь жалею перфекционистов и любителей запилить все режимы только потому что они есть

+100500 a14.gif
Ув. товарищ перфекционист в соседней теме изобретает невозможный чудо-макрос на все случаи жизни. Всем понятно, что и без этого макроса хорошо, а всё равно руки чешутся biggrin.gif
Решение абстрактных задач - это неплохо и забавно, в том числе в качестве разминки для извилин. Но следует понимать, что с решением насущных задач это, как правило, ничего общего не имеет. Пустая трата рабочего времени.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 31 2015, 11:30
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scifi @ Jul 31 2015, 17:02) *
Ув. товарищ перфекционист в соседней теме изобретает невозможный чудо-макрос на все случаи жизни. Всем понятно, что и без этого макроса хорошо, а всё равно руки чешутся biggrin.gif
Решение абстрактных задач - это неплохо и забавно, в том числе в качестве разминки для извилин. Но следует понимать, что с решением насущных задач это, как правило, ничего общего не имеет. Пустая трата рабочего времени.

Да ладно - в насущных задачах перфекцинист пользуется тем, что есть. Но стремится к лучшему wink.gif
А вот насчёт использования всякого рода сторонних библиотек как раз и считаю это пустой тратой рабочего времени... на ловлю багов потом.

Да и о чём тут (на форуме) ещё общаться? Только чайников учить? Скучно wink.gif
Go to the top of the page
 
+Quote Post
mantech
сообщение Jul 31 2015, 13:52
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(jcxz @ Jul 31 2015, 14:30) *
А вот насчёт использования всякого рода сторонних библиотек как раз и считаю это пустой тратой рабочего времени... на ловлю багов потом.


Хм... Линуксописатели тихо смеются в сторонке, ибо там-то точно без библиотек не написать ничего biggrin.gif

А если без шуток, всегда умиляет то, что кто-то там наделал кучу багов в программах, а я-то их уж точно никогда не понаделаю, при написании с чистого листа, читая многотомные даташиты на английском, ерраты и пр... Причем еще не всегда полностью понимая прочитанное...
А тестирование результата работы никто не отменял, поэтому и вылавливаются все эти глюки, благо библиотеки в исходниках, в отличие от emwin-ов всяких...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 31 2015, 18:41
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (mantech @ Jul 31 2015, 16:52) *
А если без шуток, всегда умиляет то, что кто-то там наделал кучу багов в программах, а я-то их уж точно никогда не понаделаю, при написании с чистого листа, читая многотомные даташиты на английском, ерраты и пр...

Да, смертельно-непонятных не наделаю. Просто по причине, что отвечать приходится почти головой, и получать по результату и рублем отвечать, в отличие он подавляющего большинства писателей "библиотек".
QUOTE
Причем еще не всегда полностью понимая прочитанное...

Ну это Вы за всех не говорите.
QUOTE
А тестирование результата работы никто не отменял, поэтому и вылавливаются все эти глюки...

Умиляет. Типовой дерьмокод содержит такое количество потенциальных ошибок и написан с таким количеством заплаток, на ошибки котрые вылезли при минимальной работе в паркетных условиях, что ловить там уже НЕЧЕГО.

QUOTE (AlexandrY @ Jul 31 2015, 20:37) *
Кроме того что вылавливаются еще важно чем вылавливаются.

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


QUOTE (mantech @ Jul 31 2015, 16:52) *
Хм... Линуксописатели тихо смеются в сторонке, ибо там-то точно без библиотек не написать ничего biggrin.gif

Да смеяться-то нечего - способ обеспечения "надежности" в линуксе весьма лобовой - сотни писателей и тысячи латателей за годы дописали и долатали до приемлимого состояния. И продолжают...



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vepex   Какой контроллер выбрать   Jul 29 2015, 06:09
- - zltigo   1) Забудьте про Atmel что-бы он не пытался делать....   Jul 29 2015, 06:27
- - vladec   ST в настоящий момент контролирует больше половины...   Jul 29 2015, 06:30
- - arhiv6   zltigo а почему NXP? Какие у них плюсы по сравнени...   Jul 29 2015, 06:31
|- - zltigo   QUOTE (arhiv6 @ Jul 29 2015, 09:31) zltig...   Jul 29 2015, 11:02
- - scifi   Цитата(zltigo @ Jul 29 2015, 09:27) 2) Ес...   Jul 29 2015, 06:58
|- - mempfis_   Цитата(scifi @ Jul 29 2015, 09:58) В свет...   Jul 29 2015, 07:31
|- - AlexandrY   Цитата(scifi @ Jul 29 2015, 09:58) Если б...   Jul 29 2015, 10:45
|- - zltigo   QUOTE (scifi @ Jul 29 2015, 09:58) В свет...   Jul 29 2015, 11:17
|- - scifi   Цитата(zltigo @ Jul 29 2015, 14:17) Невер...   Jul 29 2015, 11:23
|- - zltigo   QUOTE (scifi @ Jul 29 2015, 14:23) Надеюс...   Jul 30 2015, 15:58
|- - scifi   Цитата(zltigo @ Jul 30 2015, 18:53) Если ...   Jul 30 2015, 16:05
- - Golikov A.   А я бы посоветовал даже более широко, начните с яд...   Jul 29 2015, 09:27
- - vepex   Спасибо всем за советы (еще принимаются). Думаю пе...   Jul 29 2015, 09:46
|- - scifi   Цитата(vepex @ Jul 29 2015, 12:46) Поиск ...   Jul 29 2015, 10:54
- - smalcom   Принцип отсева простой: 1. Начните с обзора того, ...   Jul 29 2015, 11:05
- - vepex   Какие есть варианты с микросхемой (PHY) физическог...   Jul 30 2015, 09:14
|- - scifi   Цитата(vepex @ Jul 30 2015, 12:14) Какие ...   Jul 30 2015, 09:25
|- - uuuulala   Цитата(vepex @ Jul 30 2015, 13:14) Какие ...   Jul 30 2015, 09:34
- - aleksandr-zh   присоединяюсь к автору темы. Так же сижу на AVR, н...   Jul 30 2015, 15:47
|- - _3m   Цитата(aleksandr-zh @ Jul 30 2015, 18...   Jul 30 2015, 17:02
|- - scifi   Цитата(_3m @ Jul 30 2015, 19:56) камни st...   Jul 30 2015, 17:08
|- - jcxz   Цитата(_3m @ Jul 30 2015, 23:02) камни st...   Jul 31 2015, 02:52
- - aleksandr-zh   ну, английский может быть разный В даташитах Атме...   Jul 30 2015, 17:03
- - kostyan   По своему опыту: после аврок пересел на атмел САМ7...   Jul 31 2015, 03:42
- - Golikov A.   ЦитатаМногие хают преднаписанные либы - а я кайфую...   Jul 31 2015, 05:32
|- - mantech   Цитата(Golikov A. @ Jul 31 2015, 08:32) с...   Jul 31 2015, 05:45
|- - kostyan   Цитата(mantech @ Jul 31 2015, 10:45) А не...   Jul 31 2015, 07:59
||- - zltigo   QUOTE (jcxz @ Jul 31 2015, 14:30) А вот н...   Jul 31 2015, 13:28
|||- - AlexandrY   Цитата(mantech @ Jul 31 2015, 16:52) Хм.....   Jul 31 2015, 17:37
||- - Porty   Цитата(jcxz @ Jul 31 2015, 15:30) А вот н...   Aug 1 2015, 08:01
|- - Porty   Цитата(scifi @ Jul 31 2015, 15:02) +10050...   Aug 1 2015, 08:09
|- - zltigo   QUOTE (Porty @ Aug 1 2015, 11:09) А потом...   Aug 1 2015, 09:22
||- - Porty   Цитата(zltigo @ Aug 1 2015, 13:22) На вез...   Aug 1 2015, 17:58
|||- - zltigo   QUOTE (Porty @ Aug 1 2015, 20:58) ...типа...   Aug 1 2015, 19:07
||- - jcxz   Цитата(zltigo @ Aug 1 2015, 15:22) На вез...   Aug 1 2015, 20:21
|- - jcxz   Цитата(Porty @ Aug 1 2015, 14:09) Лет дес...   Aug 1 2015, 19:59
- - Golikov A.   Цитатаа я делаю так: задача посылать по скоростно...   Jul 31 2015, 08:27
- - vepex   Ребят, а что касается микросхем Ethernet (PHY) - ч...   Jul 31 2015, 09:19
|- - scifi   Цитата(vepex @ Jul 31 2015, 12:19) Ребят,...   Jul 31 2015, 09:24
|- - vepex   Цитата(scifi @ Jul 31 2015, 15:24) Чукча ...   Jul 31 2015, 09:35
|- - scifi   Цитата(vepex @ Jul 31 2015, 12:35) Этот п...   Jul 31 2015, 09:52
- - brag   Исползьую STM32. Почему то так исторически сложило...   Aug 1 2015, 08:02
- - Golikov A.   Сначала длинно написал, а потом понял что вся суть...   Aug 1 2015, 08:51
|- - Porty   Цитата(Golikov A. @ Aug 1 2015, 12:51) Те...   Aug 1 2015, 09:02
|- - jcxz   Цитата(Golikov A. @ Aug 1 2015, 14:51) Те...   Aug 1 2015, 20:13
- - Golikov A.   Если надо писать быстро, к этому надо готовиться и...   Aug 1 2015, 18:21
|- - jcxz   Цитата(Golikov A. @ Aug 2 2015, 00:21) Ес...   Aug 1 2015, 20:27
|- - zltigo   QUOTE (jcxz @ Aug 1 2015, 23:27) Кстати -...   Aug 1 2015, 20:47
- - Golikov A.   Ну можно сделать фильтр цифровой, хороший, подобра...   Aug 1 2015, 19:11
|- - zltigo   QUOTE (Golikov A. @ Aug 1 2015, 22:11) Ну...   Aug 1 2015, 19:15
- - Golikov A.   Ок   Aug 1 2015, 19:18
|- - Corvus   Всегда хотел узнать у тех, кто не использует ...   Aug 1 2015, 19:23
|- - zltigo   QUOTE (Corvus @ Aug 1 2015, 22:23) Всегда...   Aug 1 2015, 19:52
|- - jcxz   Цитата(Corvus @ Aug 2 2015, 01:23) Всегда...   Aug 1 2015, 20:39
|- - Corvus   Цитата(jcxz @ Aug 1 2015, 23:39) По лично...   Aug 1 2015, 20:48
|- - jcxz   Цитата(Corvus @ Aug 2 2015, 02:48) В своё...   Aug 1 2015, 21:04
- - Golikov A.   Есть же и нормальные решения, в том числе и платны...   Aug 1 2015, 19:36
- - Corvus   Цитата(Golikov A. @ Aug 1 2015, 22:36) Ес...   Aug 1 2015, 20:02
- - zltigo   QUOTE (Corvus @ Aug 1 2015, 23:02) Платны...   Aug 1 2015, 20:20
|- - Corvus   Цитата(zltigo @ Aug 1 2015, 23:16) Да ну?...   Aug 1 2015, 20:25
||- - zltigo   QUOTE (Corvus @ Aug 1 2015, 23:25) На том...   Aug 1 2015, 20:29
||- - Corvus   Цитата(zltigo @ Aug 1 2015, 23:29) я личн...   Aug 1 2015, 20:42
||- - zltigo   QUOTE (Corvus @ Aug 1 2015, 23:42) а на э...   Aug 1 2015, 21:02
|- - jcxz   Цитата(Corvus @ Aug 2 2015, 02:02) Платны...   Aug 1 2015, 20:55
|- - Corvus   Цитата(jcxz @ Aug 1 2015, 23:55) И вообще...   Aug 1 2015, 20:59
|- - zltigo   QUOTE (jcxz @ Aug 1 2015, 23:55) Здесь со...   Aug 1 2015, 21:28
|- - jcxz   Цитата(zltigo @ Aug 2 2015, 03:28) Если д...   Aug 3 2015, 04:32
- - aleksandr-zh   Цитата(Corvus @ Aug 1 2015, 23:02) А как ...   Aug 2 2015, 04:56


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 03:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01871 секунд с 7
ELECTRONIX ©2004-2016