Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор нового микроконтроллера. На чём остановиться.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
vladimir_orl
Здравствуйте. Переделываю сейчас преобразователь интерфейсов. Программка простая, всё просто.
Раньше там стояла ATtiny4313 с кварцем на 20 МГц. Её вполне хватало.

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

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

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

Одним словом, хотелось что-нибудь среднее между AVR и AM-ом. Посоветуйте, что лучше выбрать.
megajohn
если заинтересует LPC1114 или же LPC11E36, то вот есть тестовый пример

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

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


У ARM есть преимущество перед AVR в наличии DMA на всех интерфейсах, поэтому преобразователи интерфейсов типа
UART<->USB, SSC<->SDIO и т.д. вообще не грузят ядро если данные перекидываются без преобразования.
Другое дело что индусы разводившие кристаллы запитали все блоки от частоты ядра и если вам нужен UART->SPI на 10MГц, то ядро будет пахать рядом на 20МГц и кушать питание, особенно у кортексов.
vladimir_orl
Не хватает именно скорости. А именно скорости реакции на внешние прерывания. Т.е. в AVR-ках время отклика на внешние прерывания достигает ~6 тактов (минимальное). Плюс ещё прочесть состояние порта, выставить состояние порта. А собственно программка простая: в зависимости от очерёдности внешних прерываний и состояния одного пина на второй пин подаём 1 или 0 согласно таблицы. Там по осциллографу видно, что сдвиг между изменением уровня на входе (внешним сигналом) и реакцией на выходе составляет 1,5 мкс. Этого уже много. Вот я и думаю что делать. Смотрел в сторону FPGA, но это пока для меня тёмный лес. Конечно, в будущем придётся их ставить.
А пока, действительно, посмотрел LPC11XX. Очень хорошие. Спасибо за совет. Думаю, они от LPC2000 не сильно отличаются.

P.S.

Смотрю LPC1102. До чего прогресс дошёл...
megajohn
берите CPLD

гораздо проще и понятливо
http://www.ami.ac.uk/courses/ami4460_fpga/...s/Screen001.jpg
_4afc_
Цитата(vladimir_orl @ Dec 13 2013, 12:49) *
Смотрел в сторону FPGA, но это пока для меня тёмный лес. Конечно, в будущем придётся их ставить.


Смотрите в сторону CPLD. Я как-то даже на ATF1504 подобные поделки делал, сейчас наверно надо на Lattice смотреть.
MrYuran
Цитата(vladimir_orl @ Dec 13 2013, 13:49) *
До чего прогресс дошёл...

Приходили недавно в гости представители AD и авторитетно заявили, что ихние кортексы ADuCM3xx рвут наш любимый MSP430 по всем показателям, в т.ч. и по потреблению.
Так что, имхо, нынче нет смысла применять что-то мельче СМ3, если только нет экстремальных требований к цене.
Кстати, они и по цене могут многих уделать.
ViKo
Цитата(MrYuran @ Dec 13 2013, 13:37) *
Так что, имхо, нынче нет смысла применять что-то мельче СМ3, если только нет экстремальных требований к цене.

Разве что CM0, CM0+.
vladimir_orl
Да. Похоже, пока не освоил CPLD, буду Cortex M0-M3 использовать. Скажите, а в CPLD есть аналог Power-Down и Wake-Up по внешнему прерыванию?
megajohn
Цитата(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
vladimir_orl
Пошёл читать документацию. Всем большое спасибо за исчерпывающие ответы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.