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

 
 
 
Reply to this topicStart new topic
> Выбор нового микроконтроллера. На чём остановиться.
vladimir_orl
сообщение Dec 13 2013, 08:22
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Здравствуйте. Переделываю сейчас преобразователь интерфейсов. Программка простая, всё просто.
Раньше там стояла ATtiny4313 с кварцем на 20 МГц. Её вполне хватало.

В процессе работы потребовалось вдвое увеличить частоту передачи данных. И её скорости уже не хватает.

Посоветуйте, что бы мне туда поставить? Чтобы и по скорости с запасом хватало и по цене приемлемо.

Думал вначале LPC2101 использовать. Но это уже как-то несовременно.
Или кортексы семейства LPC17ХХ может?
Или может PIC-контроллеры?

Одним словом, хотелось что-нибудь среднее между AVR и AM-ом. Посоветуйте, что лучше выбрать.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Dec 13 2013, 08:57
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



если заинтересует LPC1114 или же LPC11E36, то вот есть тестовый пример



--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Палыч
сообщение Dec 13 2013, 09:06
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Из Вашего сообщения не ясно: скорости чего Вам не хватает в МК ?
Одно дело - например, USART не может физически передавать данные со скоростью вдвое больше, чем в настоящее время. Совсем другое - ядро МК загружено на 100% обработкой первичных данных, снятых с датчиков...

Очень часто я наблюдал, как неправильная организация вычислительного процесса в МК приводит к замедлению его работы. "Правильная" программа ускорялась в разы ! rolleyes.gif
ИМХО, "фишка" МК в том, что отдельные его части могут (и должны!) работать впараллель. Например, пока АЦП производит преобразование сигнала в цифровой вид, в это время производится обработка предыдущего преобразования, а USART выдаёт "наружу" предыдущие обработанные данные.
Примерно такая организация программы - классика "правильной" программы. По сравнению с простым линейным алгоритмом (замер - обрабка - передача) вполне можно ускорить выполнение вдвое.
Это - не Ваш ли случай ?
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Dec 13 2013, 09:30
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(Палыч @ Dec 13 2013, 12:06) *
ИМХО, "фишка" МК в том, что отдельные его части могут (и должны!) работать впараллель. Например, пока АЦП производит преобразование сигнала в цифровой вид, в это время производится обработка предыдущего преобразования, а USART выдаёт "наружу" предыдущие обработанные данные.


У ARM есть преимущество перед AVR в наличии DMA на всех интерфейсах, поэтому преобразователи интерфейсов типа
UART<->USB, SSC<->SDIO и т.д. вообще не грузят ядро если данные перекидываются без преобразования.
Другое дело что индусы разводившие кристаллы запитали все блоки от частоты ядра и если вам нужен UART->SPI на 10MГц, то ядро будет пахать рядом на 20МГц и кушать питание, особенно у кортексов.
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Dec 13 2013, 09:49
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Не хватает именно скорости. А именно скорости реакции на внешние прерывания. Т.е. в AVR-ках время отклика на внешние прерывания достигает ~6 тактов (минимальное). Плюс ещё прочесть состояние порта, выставить состояние порта. А собственно программка простая: в зависимости от очерёдности внешних прерываний и состояния одного пина на второй пин подаём 1 или 0 согласно таблицы. Там по осциллографу видно, что сдвиг между изменением уровня на входе (внешним сигналом) и реакцией на выходе составляет 1,5 мкс. Этого уже много. Вот я и думаю что делать. Смотрел в сторону FPGA, но это пока для меня тёмный лес. Конечно, в будущем придётся их ставить.
А пока, действительно, посмотрел LPC11XX. Очень хорошие. Спасибо за совет. Думаю, они от LPC2000 не сильно отличаются.

P.S.

Смотрю LPC1102. До чего прогресс дошёл...
Go to the top of the page
 
+Quote Post
megajohn
сообщение Dec 13 2013, 09:55
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



берите CPLD

гораздо проще и понятливо
http://www.ami.ac.uk/courses/ami4460_fpga/...s/Screen001.jpg


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Dec 13 2013, 09:55
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(vladimir_orl @ Dec 13 2013, 12:49) *
Смотрел в сторону FPGA, но это пока для меня тёмный лес. Конечно, в будущем придётся их ставить.


Смотрите в сторону CPLD. Я как-то даже на ATF1504 подобные поделки делал, сейчас наверно надо на Lattice смотреть.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Dec 13 2013, 10:37
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(vladimir_orl @ Dec 13 2013, 13:49) *
До чего прогресс дошёл...

Приходили недавно в гости представители AD и авторитетно заявили, что ихние кортексы ADuCM3xx рвут наш любимый MSP430 по всем показателям, в т.ч. и по потреблению.
Так что, имхо, нынче нет смысла применять что-то мельче СМ3, если только нет экстремальных требований к цене.
Кстати, они и по цене могут многих уделать.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 13 2013, 10:41
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MrYuran @ Dec 13 2013, 13:37) *
Так что, имхо, нынче нет смысла применять что-то мельче СМ3, если только нет экстремальных требований к цене.

Разве что CM0, CM0+.
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Dec 13 2013, 11:20
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Да. Похоже, пока не освоил CPLD, буду Cortex M0-M3 использовать. Скажите, а в CPLD есть аналог Power-Down и Wake-Up по внешнему прерыванию?
Go to the top of the page
 
+Quote Post
megajohn
сообщение Dec 13 2013, 12:12
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(vladimir_orl @ Dec 13 2013, 15:20) *
Да. Похоже, пока не освоил CPLD, буду Cortex M0-M3 использовать.

если конечная цель CPLD то зачем промежуточный шаг ? Если только ради ознакомления.

Цитата(vladimir_orl @ Dec 13 2013, 15:20) *
Скажите, а в CPLD есть аналог Power-Down и Wake-Up по внешнему прерыванию?


Standby current as low as 25 μA and fast power-down/reset operation
http://www.altera.com/literature/hb/max-v/max5_handbook.pdf


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
vladimir_orl
сообщение Dec 13 2013, 12:17
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Пошёл читать документацию. Всем большое спасибо за исчерпывающие ответы.
Go to the top of the page
 
+Quote Post

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

 


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


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