Какой процессор выбрать для освоения.

Dinotron

Ну почему сразу ARMы STMы? Человек же несколько раз сказал 2313! Ну значит нравится. Следовательно AVR. C тини на мегу. Переучиваться вообще не надо. Порты, размер памяти и бортовое вооружение возрастают в арифметической прогрессии от кристалла к кристаллу. До 32 меги можно на дип корпусах сидеть. А там с опытом и до ARMа дорасти.

Syberian

+1 к ПЛИС 😃 от человека, освоившего оба три класса 😃
Сейчас есть уже неплохие макетки с отладчиком и программатором за приемлемую цену типа DE0-nano.
А пресловутые авр-ки можно уместить сразу несколько штук на кристалл, да еще и периферии любой настрогать…

Enigm
1Dimon1:

Лучше что нибудь из атмела, уточню, програмирую на “Algorithm Builder”, мне проще графическое восприятие алгоритмов

Графическое восприятие очень хорошее у Flowcode , и там есть 2 версии авр и пик .
А чего нет в кубиках всегда можно в Си дописать.
Вот глянте . flowcode.info/forum/
Сам часто пользуюсь , ибо для меня воспринимать написание на сях тяжко .

ПЛИС это хорошо , но для простых задач они черезмерно избыточны .
Зачем брать ПЛИС где хватит 8 выводной тиньки или пика.
Поэтому АВР и ПИКИ более универсальны в этом плане.

А пики удобны еще и тем что фьюзами их не убить , а вот АВР ки можно, и без паралельного програмера их не оживить.

И по АВР сразу совет , не трогайте фьюзы RESET и SPIEN дабы не умертвить аврку или тиньку, в этом мне пони прог нравится там их просто нельзя изменить.
Хотя если у вас есть паралельный програмер или фьюздоктор то не сттрашно.

И да пользуйте Proteus очень помогает, что что а вот контроллеры он моделит отлично, а прицепив не хекс а например эльф или коф файлы можно пошагово идти по програме и видеть все что нужно , состояния регистров, переменных ну итд.

DVE:

Про Algorithm Builder - имхо, забейте, лучше старого доброго C/С++ ничего нет Как только программа станет хоть сколько-то большой, делать ее графически будет совершенно нереально, надо учиться читать и воспринимать нормальный код на нормальном языке программирования.

А я на этом нормальном языке , категорически отказываюсь воспринимать конструкции if и ее разновидности, сколько не пытался, ну неудобны они мне для восприятия и напрягают сильно.
Поэтому тоже на графику перешел , я лучше макросы и прочее под себя перепишу, но зато все наглядно и видно.
Хотя всегда смотрю сгенеренный С код , может когда и привыкну к нему )))
Видать долгая работа со схемами наложила свой отпечаток на мое восприиятие ))))

1Dimon1

Спасибо. Я в принципе делаю так: пишу на билдере, тестирую на протэусе, довожу на макете. Ну а далее платка и готовое устройство. Билдер кстати формирует лист файл, где записан ассемблеровский код - можно и его просмотреть если что…

С фьюзами это понятно. На всякий случай автопрог есть 😃.
Плисы не рассматриваю - таких задач не стоит, чтобы их использовать.

Dinotron

Ну с точки зрения железячника опишу: Красавец. Смотрю-наслаждаюсь. Понимаю, что сам так никогда не сделаю. Лежит в долгом ящичке. И (спасибо robozone.su/mrc40/ ). Валяется на столе , прикручен к компу даже через самопальный JTAGmk1 слева, и вот его мне не разу не жаль. Гори хоть синим пламенем-восстановлю! Поэтому если что взбредает в голову автоматически начинаю кодить на нём. Да и лабух я тоже начинающий, да поздно,видимо и лени много. И,бывало, обозрев результат трудов и уныло хмыкнув, я результат заливал в ту же тиньку 2313 просто поменяв заголовок и переназначив порты.

1Dimon1

Ну я сразу делал макетку на 2313… на обчной монтажке… 😃 как правило не запариваюсь с перифирией - ставлю светодиоды и кнопки (если это медленные и исполнительные каналы), ну или ваяю полную схему конкретной части схемы которая жестко участвует в работе программмы (например обвязка АЦП)…

Тестовая платка для работы с датчиком температуры DS18B20 😃 ничего лишнего…

программирую через адаптер для билдера (его описание есть в программе).

Shavelsky

После ATtini - ATmega 8. По сравнению с тинькой - возможностей намного больше. Когда не будет хватать - ATmega 16, хотя плата и навороченней уже будет. Стоят дёшево, для начала лучше брать в DIP корпусах и на панель, пока полностью не освоитесь с программатором и фьюзами - есть вероятность получить “кирпич” с возможностью лечения только “параллельным” программатором. Лично я “пересел” на AVR c PICов - больше нравятся, гибче они как-то, в хорошем смысле. Но PIC неправильными фьюзами не убить - достоинство, особенно когда процессор в планаре, соответственно без панели и при перепайке есть нехорошая вероятность испортить плату. Удачи в выборе и освоении!

Dinotron

Bushi-Do: PIC первый контроллер! 35 команд . Бесплатный софт. Ассемблер увы. Памяти мало, жужжалок бортовых мало. Стоит дорого. Программатор простой.Проц быстрый, но не весёлый. AVR Ну наконец-то. Можно разогнаться! С++ и все команды под него встроенные. Бортовых-море. Куча примеров, библиотек, AVR Studio, про Arduino не ловко вспоминать, но 8 бит ядро. Ограничения. В серьёзных проектах будешь каждый такт считать.MSP430 Техас. 16 бит. Интересная штука. Потребление зачётное. Можно собрать проект как на предыдущих, только при работе от батарейки на неделю. Сам не пробовал-врать не буду. ARM Ну сразу 32. Наилучший вариант для старта для “новорожденного”, чтоб не тащил с собой в будущее наши убогие чемоданы. Хрен убьёшь фузами, несколько источников тактирования с автопереключением, кил памяти, про I/O можно и не вспоминать. Оно в несколько раз умнее меня. Я сдаюсь. 😃. А про ПЛИС что сказать? Оно вроде как и не контроллер. Из него можно создать все вышеперечисленные контроллеры вплоть до интела 286 лишь бы вентилей хватило, и запустить на нём аутентичную программу, да ещё и расставить входы-выходы по ножкам как бог на душу положит. Или склепать жёсткую логику в армейском стиле. Высший класс. Но начальный вход суровый для просто попробовать по деньгам, как минимум. Всё это ИМХО

DVE

Отладочные платы надо брать на ebay, в наших магазинах цены нереальные.

А так, почти с любой платой можно уложиться в 1000-1500р с включенной в цену доставкой.

Tester500
1Dimon1:

Лучше что нибудь из атмела, уточню, програмирую на “Algorithm Builder”, мне проще графическое восприятие алгоритмов 😃

Глянуть в описание билдера, для каких чипов он генерит код и выбрать следующий по возможностям. Скорее всего это будет мега8. С точки зрения программирования атмега8 является базовым чипом в линейке мег. Остальное или урезанное (тиньки) или добавленное (память, таймеры и т.д)

Boev_Dmitry

Возьмите ардуинку на меге 8/168/328 (по сути, макетка с мин обвязкой), и пишите на привычной IDE - хоть в билдере, хоть в АВР студии, можно и в Arduino IDE, да хоть в NOTEPAD++ с плагинами. А когда освоитесь с С/С++, вопросов “какой процессор выбрать” будет не актуален - сможете и на ARM переползти относительно безболезненно. Все-таки алгоритм билдер это немного не среда разработки…

По соседски, могу поменять Нано328 на бутылочку холодного кваса =))))

EagleB3

Atmega8535 в корпусе DIP. Ног много - приткнуть можно что угодно и еще останется. Если ее объем избыточен, отлаженный код легко (или сравнительно легко…) портируется на камень меньшего размера.

И к ней breadboard (MB-102, например dx.com/…/830-point-solderless-breadboard-118354 ). Можешь взять сразу 2 или 3 - они сцепляются друг с другом.
За копейки во многих местах есть навесные модули питания USB-breadboard, например вот: dx.com/…/mb102-breadboard-power-supply-module-for-…
или вот: dx.com/…/openjumper-oj-xm1144-pcb-breadboard-power…
Комплект перемычек: dx.com/…/multi-functional-breadboard-jumper-wire-k… (или сам потихоньку обрастешь). Перемычки замечательно делаются из жил витой пары.

1Dimon1

Спасибо Дмитрий, обвязка проца мне не страшна (спаяю какую надо), макетки предпочитаю классические, под пайку (не доверяю, в силу специфики работы и опыта, я всякого рода контактам) . Вообще, что бы не было предвзятого отношения - я занимаюсь професионально радиоэлектроникой со школы (работа моя тоже связана с электроникой и паяльником). Просто именно программирование я начал осваивать недавно.
Пайка, разводка плат и т.п. в том числе и разработка аналоговых (хуже цифровых) частей схемы - можно не трогать , это проблем не вызовет.

Из всего вышеизложенного хочу вывести для себя резюме: следующий процессор будет определятся двумя характеристиками первое это неоходимые для проекта компоненты в процессоре (количество шимов, таймеров ацп и т.п., второе наличие его в списке поддерживаемых процессоров в алгоритм билдере - особой необходимости слезать с него на данном этапе обучения не вижу.

Огромное спасибо Дмитрию Боеву за оказанную помощь.

EagleB3

…И все же, если еще не доводилось пользоваться - настоятельно советую попробовать breadboard.
Это МЕГАУДОБНО!!! Особенно для небольших конструкций на микроконтроллерах, где нет сильных токов.

Это, КМК, как раз промежуточный вариант между классической макетницей и жестко запаянной ардуиной.

P.S. Когда-то, 25 лет тому назад, я паял и на самодельных макетницах из длинных разъемов, и на “слепышах”. Попробуйте breadboard. Попробуйте. А когда обрастете периферией (за 15 лет у меня скопилось очень много чего - от хвоста с переходником TTL-RS232 до дисплея 1602 и пятикнопочного джойстика) - жизнь вообще будет легка и удивительна.

Boev_Dmitry

breadboard преудобнейшая вещь, поддерживаю! у меня одна ардуинка прям на постоянке в такую вставлена. проблем с контактами ни разу пока не было

Aloha

Вопрос в тему :
Давненько (в 2000 году) волею случая занимался контроллерами по работе - атмел 89с2051 89с51 . Писал на ассемблере , благо была книжка и “старший товарищ” . На данный момент прямой необходимости нет в контроллерах , но снова хочу попробовать силы . Не знаю какой взять для начала , посоветуйте . С программатором проблем думаю не будет - куплю на ибей , книжки доступны разные . Конкретных целей нет , но интересно цифровые и аналоговые I\O . Плату сделать проблем так же нет , Sprint-Layout освоил .

EagleB3

Мой выбор для начинающего я написал: Мега8535. Дешевая, ДИП, 3 таймера, 40 ног. Этих 40 ног хватит на что угодно.
Прекрасные описания на русском.
Программатор - если на мамке есть LPT-порт, соберите себе STK200. Делается за один вечер, работает меганадежно. Если нет - любой, который будет поддерживать Ваша среда разработки.
Как среду рекомендую CodeVisionAVR C (для любительско-начинательских ковыряний самое оно); если посерьезнее - WinAVR C. Плюс родная AVRStudio. Плюс Proteus VSM (схема-плата-моделирование-отладка. Иногда на стадии моделирования получаешь столько удовольствия, что в железе дивайс уже и собирать не интересно).

Или ардуино (или его клон). Выбирайте по деньгам и аппетиту. Обратите внимание на:

  • возможность переключения вольтажа,
  • удобство доступа к переключателям и кнопке reset;
  • камня в кровати (на случай, если если вдруг сожжете).
    Некоторые платы имеют трехрядные распайки портов (выход-питание-земля) - удобно цеплять периферию. Типа вот: dx.com/…/avrmega328p-pu-development-board-for-ardu…

Помните, что отлаживаться проще на большом и многоногом! А потом поймете, во что Ваш результат может влезть, выберете подходящий маленький камень и портируете проект под него.

Я сам задумывался о вот таком:
dx.com/…/arduino-compatible-freaduino-mega2560-v1-…

20 days later
Кариёзный_монстр

Я бы посоветовал stm8s или stm8l. Дешевые, простые, с большим количеством периферии, за 15-20 рублей можно купить камень с 8 кб флеша. Есть удобные для пайки в домашних условиях SO20W и LQFP32 корпуса, если лениво лезь в даташит можно пользоваться готовыми библиотеками переферии. К тому же за 10-15 баксом можно купить отладочную платку дискавери, она же является программатором и отладчиком для самодельных схем. Перешел на них с авр, очень доволен. Дешевле, удобнее и проще 😃

Tester500

Топикстартер использует визуальное программирование “Algorithm Builder”, подобного для stm пока нету.