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

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 пока нету.

alien131314

Народ, такой вопрос. Решил сдуть пыль со своих навыков программирования контроллеров. Пошукал, что вообще есть в природе у атмела.
Нарыл Tiny85. Я так понимаю, что JTAG а у него нету и никакой интегрированной системы отладки - тоже. Что надо чтобы его запрограммировать ( у меня валяется глючная понипроговская фигня, но она не катит ибо работает через LPT, а хочется через усб )? STK500? А что у них за 1Wire DebugSystem? И - я правильно понимаю, что сейчас си уже интегрирован в AVR STUDIO? Раньше я юзал IAR C.

Vovets
alien131314:

STK500? А что у них за 1Wire DebugSystem?

AVR Dragon, наверное, самый дешёвый программатор-отладчик из фирменных. Программирует любым способом и можно отлаживать. Для отладки, вроде, нужен только reset. Читайте даташит в общем.

Tester500

Самый дешевый USB программатор самодельный на atmega8 USBAsp Отладка в эмуляторе Winavr. Насчет дебуга, смущает строка в даташите:
Emulates All On-chip Functions, Both Digital and Analog , except RESET Pin
Получается там результат может быть не реальным, а предполагаемым.
The debugWIRE system accurately emulates all I/O functions when running at full speed, i.e., when the program in the CPU is running. When the CPU is stopped, care must be taken while accessing some of the I/O Registers via the debugger (AVR Studio). See the debugWIRE documentation for detailed description of the limitations
Напрягает фраза: “accurately emulates” - хотя и точно, но все таки подражает (эмулирует)

Vovets
Tester500:

Emulates All On-chip Functions, Both Digital and Analog , except RESET Pin
Получается там результат может быть не реальным, а предполагаемым.

Ну не знаю. Я отлаживал и всё получалось. Программа была на С, среда IAR, меня в основном интересовали значения переменных в определённой точке программы. Некоторые в памяти, некоторые в регистрах. Ставил брейкпойнты в нужных местах и смотрел, иногда менял. Вроде всё было адекватно, программу отладил, нашёл кучу косяков, много узнал нового.

Понятно, что регистры всяких таймеров с двойной буферизацией и GPIO пинов смотреть практически бесполезно на остановленном ЦПУ. Но если на пине постоянно 1, например, то и в регистре будет 1.

Моё мнение - для простейшей отладки всего достаточно.

Tester500:

Напрягает фраза: “accurately emulates” - хотя и точно, но все таки подражает (эмулирует)

Я думаю, они говорят о том, что I/O работает точно так же, как без отладки, т.е. отладчик не мешает.

1 month later
Paul_spb

Вот решил “тявкнуть”… Была поговорка: Трудно изучить первый язык и язык ассемблера. Изучив 8-битник ARM пойдет легче. Если речь идет о навыках ради навыков то знание ARM и не владение 8-битными контроллерами не смотрится круто. В этом случае нужно владеть и тем и тем. Если речь идет о решении практических задач, то я бы сначала определил круг этих задач, а уж потом для конкретных задач подбирал бы… Да при современных ценах STM стоит соизмеримо с AVR. Но если что то можно сделать на AVR Mega8 (которая выпускается в дипе), то зачем делать сложнее… Профи он и отличается от любителя тем, что выберет оптимальное решение. Если стоит задача, что бы ваше устройство могли повторить другие однозначно AVR + Arduino, если нет ARM (смонтировать его на платы не каждый сможет). Мое скромное мнение - определитесь для чего. Можно почитать easyelectronics.ru

Dinotron

STK200, STK500, JTAGICE, платка от robozone на 32-ой меге и ардуинка в придачу в стиле мой первый детекторный приёмник из подручных материалов. 😃 И все IAR-ы ,Атмел студии ну и ардуиновский софт в вашем распоряжении. Короче нет тут ничего сложного.

17 days later
Newbie74

Про тиньки тут спрашивали, чем программировать. Мне кажется нет лучше программатора для тинек, чем Arduino. Потому что стоит копейки, и при необходимости может сама работать как очень-очень мощный контроллер. Ардуино из программатора в контроллер и обратно превращается за 30 секунд. Тинька при этом шьется как из Arduino IDE, так и через Avrdude, а это означает, что практически из любой среды. Статья соответствующая есть на хабре.

2 months later
Lipton

Всем доброго времени … Спрошу в этой теме , тема как бы для начинающих , т.е. малознающих .
У меня имеется зарядка Имакс , вернее клон этой зарядки , дело вот в чем , оригинальная зарядка , да и множество её клонов собраны на Меге 32 , но мне пришла на АРМ процессоре nuvoтon M0517LBN ARM , как я понял это тот же М0516LBN , но с не нормируемым внутренним тактовым генератором , в программе зарядки есть некоторые косяки , которые хотелось бы исправить пере прошив данный девайс , посмотрел по инету , прогеры для АРМа довольно таки дорогие , превышают стоимость зарядки в 2-3 раза минимум , но тут попался на али вот такой ru.aliexpress.com/item/…/32219221801.html программатор , на ебей попался еще дешевле www.ebay.com/itm/161519148844 Вопрос , можно ли этим программатором перепрошить мой нувотон ? Была бы мега , то вопросов бы наверное и не было , т.к. некоторый опыт в прошивании аврок имеется , но по большому счету , в этом деле я очень крепкий , почти дубовый . )))
Буду благодарен за любую информацию . Спасибо .