Отладочный контроллер на МК

Этот раздел для самых начинающих, но не обижайтесь на название, в нашей "Песочнице" с удовольствием барахтаются и опытные , которые ответят на любые ваши вопросы, пусть и самые простые, научат отличать одни узлы от других, и многое подскажут начинающим.
И вообще мы все дети, только игрушки у нас другие.
Ответить
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Отладочный контроллер на МК

Сообщение ShCoder »

... в процессе построения станка большинство людей сталкивается с разными проблемами - проверить работоспособность драйвера, "погонять" в различных режимах движки и многое др....
Для этих целей использую простенький контроллер на АТ89с51, к которому прилеплено некоторое количество RAM-памяти, в которую закачиваю программу через COM-порт. В самой АТ89с51 находится загрузчик и несколько часто используемых функций. Поскольку программа "заливается" в ОЗУ - ресурс перезаписи неограничен...
применение ограничивается только мощью МК и фантазией разработчика ...
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

Сообщение Dj_smart »

АТ89с51
И чем его шить? Чтобы собрать проггер, надо прошить ещё один, который кстати, дороже 51-го... Почему на старье?
А по ресурсу... 10000 раз. Гарантировано. Перешивать каждый день по 1 разу - это 27(!) лет. Оно того стоит?
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
xumuk
Станкостроитель
Станкостроитель
Сообщения: 1140
Зарегистрирован: 27 дек 2009, 01:00
Откуда: Украина. Харьков

Сообщение xumuk »

Похоже на "умный контроллер"
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

... собрал эту "приблуду" лет ...цать назад (тогда еще на 80с31 и РФ2 в качестве ПЗУ), но пользуюсь до сих пор.
недостатки - старье ... согласен
НО:
универсальность - программу можно менять хоть по ходу выполнения это и "отладчик" девайсов и параллеьльный программатор и еще кто чего придумает.......
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

Сообщение Dj_smart »

собрал эту "приблуду" лет ...цать назад
Это меняет дело. А то подумалось - сейчас тинька как два пива стоит, зачем...
А всё-таки - чем шил? 8515?
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

... давняя история - собрал эмулятор ПЗУ залил туда загрузчик через LPT, ну а потом уже и прошил родную РФ2 :)
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

схема классика - минимум деталей и 20 управляемых выводов, из которых 8 всегда только на вывод
Изображение
детали - 89с5х, кр1533ир22, кр1533ир23, кр1533ла3 и RAM 6164...61256
Аватара пользователя
Lelik
Станкостроитель
Станкостроитель
Сообщения: 83
Зарегистрирован: 04 дек 2009, 01:00

Сообщение Lelik »

программу можно менять хоть по ходу выполнения это и "отладчик" девайсов и параллеьльный программатор и еще кто чего придумает
Есть такая штука JTAG называется ее поддерживают как AVR (начиная с ATmega16 !!!!), так и ARM7(например AT91SAMxxxx)...... Так он мало того что может быть бутлоадером.... с помощью него в любой момент можно смотреть/изменять значения регистров и PC.
И НИЧЕГО не надо изобретать.... все уже есть.... единственно в Меге придется пожертвовать несколькими ножками в пользу JTAG
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

в Меге в процессе отладки происходит перезапись во Flash - так и убить можно ... в AT91SAM все получше, но переплачивать за сложность? Плюс 89с5х именно в ее недостатке - есть вывод PSEN, который позволяет использовать RAM как угодно ... ну и ARM7 всеж-таки 32-разрядный - нашел с чем сравнить :)
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

Сообщение Dj_smart »

перезапись во Flash - так и убить можно
Ну да. На 28-м году. Запросто:).
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Аватара пользователя
Lelik
Станкостроитель
Станкостроитель
Сообщения: 83
Зарегистрирован: 04 дек 2009, 01:00

Сообщение Lelik »

в Меге в процессе отладки происходит перезапись во Flash - так и убить можно
Запись во флеш происходит только при загрузке кода.... количество циклов записи/перезаписи флеш 10000, программа отлаживается прямо в устройстве и после остается в нем... а ресурса в 10тыс для отладки сверхдостаточно....
в AT91SAM все получше
Но не намного.... есть плюс что можно грузить в RAM, однако объем его не ввсегда достаточно, поэтому если код не влазиет, то приходится шить во flash, либо отлаживать программу по кускам что не всегда возможно.... а еще шаг 0.5мм напрягает, но это уже никакого отложения к дебаггингу не имеет...
Последний раз редактировалось Lelik 13 янв 2010, 21:43, всего редактировалось 1 раз.
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

Dj_smart - спорить не буду, но в процессе отладки происходит перепрошивка Flash на каждом BreakPoint_е так что счет идет не на годы.....
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Сообщение koolhatcker »

.. в процессе построения станка большинство людей сталкивается с разными проблемами - проверить работоспособность драйвера, "погонять" в различных режимах движки и многое др....
Для этих целей использую простенький контроллер на АТ89с51, к которому прилеплено некоторое количество RAM-памяти, в которую закачиваю программу через COM-порт.
Опять же, извините, но зачем козе музыкальный инструмент? В сети при желании можно найти не один проект, реализующий данный функционал через терминал и последовательный порт ПК. Например пишем в терминалке сделать столько то шагов по этой оси и столько то по другой, причём всё это с такой то скоростью. Только зачем всё это? Если тот же самый эффект может быть достигнут в маче в режиме ручного перемещения...
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
LordFox
Станкостроитель
Станкостроитель
Сообщения: 826
Зарегистрирован: 23 окт 2009, 00:00
Откуда: Красноярск

Сообщение LordFox »

Что вы навалились на человека. Просто по такой схеме строились контроллеры в свое время. А 51 очень популярный процессор по применению и программному обеспечению включая отладочные системы, даже в DVD стоит двухпроцессорная микросхема второй из них аналог 51. Имея в наличии несколько контроллеров и мач конечно поэкспериментировать это проще, но их надо с начало заиметь. Здесь предлагается универсальный контроллер униполярный биполярный, шаг, полушаг , микрошаг который создается виртуально на компьютере и проверяется в железе. Скажем есть двигатель подключаем к этому контроллеру и проверяем в разных режимах, очень полезный девайс для творчества.
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

итак характеристики контроллера:
1) 8 или 32 КБ памяти программ/данных ( можно и больше но оно надо? )
2) 20 программируемых выводов, из которых 8 всегда только на вывод
3) загрузка программ и данных ведется через Сом-порт
4) при отключении кабеля контроллер полностью автономен...
ну и как верно подметил Lelik - разводку под ДИП корпус сделать несложно, в отличии от того-же AT91SAMxxxx

... из приведенных выше замечаний
чтобы не было "мазохизма" с прошивкой вместо 89с5х можно поставить 89s52 - шьется не сложнее любого AVRа ( нужна именно 89 серия - никакие 90 и Меги не подходят...)

попозже выложу несколько работающих вещей - скажу сразу, что повторять данную конструкцию имеет смысл лишь тому, кто программирует ( .... ну или собирается.... :) )
Serg
Станкостроитель
Станкостроитель
Сообщения: 628
Зарегистрирован: 10 янв 2010, 01:00
Откуда: Украина, Львов

Сообщение Serg »

не в обиду, но at89c|s51(52) - как бы морально устаревшие с достаточно ограниченными возможностями и используютсясейчас в "быту" только для обучения.

п.с. если нужно - помогу с прошивкой, есть возможность юзать отладочный стенд ev8031
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

Serg - обид никаких нет, раз по существу - о том что 51 серия не "супер мощная" и новая писал в 1 посте. Задач, которые при этом можно решить предостаточно - я же не предлагаю делать на 89s52 ПИД регулятор для управления коллекторным двигателем :)
... по существу данную схему и можно рассматривать, как отладочный стенд и все ПО уже давно написано. Для работы нужно единственный раз прошить at89s52 или аналог, а дальше "прошивка" заливается в RAM и никакого программатора не нужно. Программа загрузчик работает под Win98...XP - с остальными не проверял - вот ссылка на программу Скачать файл "load51.exe"(5.5 кб)
Serg
Станкостроитель
Станкостроитель
Сообщения: 628
Зарегистрирован: 10 янв 2010, 01:00
Откуда: Украина, Львов

Сообщение Serg »

2ShCoder

Я уже месяц под линуксом сижу, осваиваю вайн и прошивку МК из-под линукса.

А чем 51-ый "с" отличается от 52-го "s" ? наличием 3-го таймера со странными режимами работы и возможностью шить по spi ?
Лежат в ящике и с-шка и эска в дип40 и ещё кучка рассыпухи под них - надо будет попробовать что-то сварганить, но до этого разобратьсяс компами.
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Сообщение koolhatcker »

Я уже месяц под линуксом сижу, осваиваю вайн и прошивку МК из-под линукса.
Скажите пожалуйста, а зачем там вайн? Чем не устроил kontrollerlab+GCC+avrdude? Или у вас там не AVR?
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Serg
Станкостроитель
Станкостроитель
Сообщения: 628
Зарегистрирован: 10 янв 2010, 01:00
Откуда: Украина, Львов

Сообщение Serg »

2koolhatcker
За изучения АВРов сел только 3 дня назад... до этого времени не было, а в институте только 51-ые давали, вот и штудировал их вдоль и поперёк.

avrdude стоит, гцц - тем более, контроллерлаб - в репозиториях нету, потом поищу отдельно. На всё время не хватает. Gentoo linux "ставить"и настраивать под себя нужно только несколько дней. Я после месяца всё ещё в процессе... пока саму систему учу, если можно это так назвать,
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Сообщение koolhatcker »

контроллерлаб - в репозиториях нету, потом поищу отдельно
ОЧЕНЬ рекомендую, хотя бы попробовать. У меня даже скриншот сохранился:). Домашняя страница http://kontrollerlab.sourceforge.net/
Gentoo linux "ставить"и настраивать под себя нужно только несколько дней
После продолжительного опыта работы с FreeBSD ставится и настраивается за полдня:).
А для работы с AVR в линуксе я ставил мандриву2007 и остался очень доволен - имхо очень даже приличный и абсолютно не проблемный дистрибутив для начинающих...
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Serg
Станкостроитель
Станкостроитель
Сообщения: 628
Зарегистрирован: 10 янв 2010, 01:00
Откуда: Украина, Львов

Сообщение Serg »

2koolhatcker
Конечно, не тема про дистрибютивы, надо бы новую где-то завести, но ещё 1 постом наспамлю :)

Начинающий ято начинащий, но не на столько. с Фряхой игрался - не понравилось, дистрибютивов линукса больше десятка попробовал - от юникс вэй ака слэйк, редхета 7-го (который пробовал года 3 назад) до сабайона и ему подобных.

Дженту выбрал... хм... потому что я знаю что у меня есть в системе + знаю что ставлю, а чего нет. Лёгкость для не совсем начинающего, но и не юниксоида работы с репозиториями (убунту выкинул сразу после 2-ух суток долбёжки с её апт-нет и работой через прокси, отказалась абсолютно и бесповоротно работать).
Так же, как бы не смешно звучало понравилась сама архитектура системы и принцип настройки/работы с основными каталогами. Всё логично, красиво по полочкам.
Достаточно приятно ось работате на ноутбуках, причём на ноуте с 1200 процом и 96 оперативки - никакого дискомфорта (сам сейчас за другим, но факт).

Основное - это система, которую собираю под себя, для себя и так как мне нужно и если что-то не работает это 98 - из-за меня, 1% - несовместимость ПО и машины. Причём, обычно, из этих 98% около 80% - не вкомпиленый в ядро модуль или ошибка в конфиге.
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

Serg - отличия 51 от 52 серии небольшие TC2 и внутренней памяти 256 против 128 байт. Много еще зависит от производителя кристалла - у некоторых есть и watchdog timer и расширены возможности с приоритетами прерываний и т.д. .... серия "S" - имеет возможность прошивки по SPI ну и добавили еще один регистр DPTR ... опять-же заввисит от изготовителя - есть камни Cygnal, так у них производительность порядка 25 MIPS, но увы работают только с внутренней Flash :(

... короче хватит лирики - вот картинка, для тех у кого будет желание "слепить" схемку Изображение
ShCoder
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 11 янв 2010, 01:00

Сообщение ShCoder »

... "завершающий штрих" - код загрузчика, т.е. та программа, которую необходимо прошить в отладочный контроллер, что-бы он стал чем угодно... :)
... бинарник, исходник и листинг в архиве - ежели кто задумает править - успехов
Скачать файл "deb_mc.rar"(6.6 кб)
Ответить