Итак, запущены в учебный процесс лабораторные стенды (всего 6 шт.) по микроконтроллерам Atmel серий AVR (ATmega8515, ATmega162) и MCS51 (AT89S51, AT89S52, AT89S8252), которые я разрабатывал. Разработка началась в 2004 году. Если бы проект нормально финансировался, то стенды можно было бы запустить ещё в 2005 году (т.е. 3 года назад!!!). Остается вопрос? Скажите, кому ЭТО нужно? Если ректор и завкафедры НЕ ХОТЯТ финансировать подобные проекты, зато потом выписывают себе огромнейшие премии за "достижения во внедрении новшеств в учебный процесс". Если нет достойных преподавателей, которые могли бы в полной мере использовать заложенные возможности. То, зачем вообще изначально это делать? Чтобы сэкономить на деньгах, "выехать" за чужой счет? К моему сожалению я ничего, кроме опыта и морального удовлетворения, не получил от этого проекта. Хотя, разочарование тоже присутствует. Разочарование по поводу сроков, отсутствия финансирования и заинтересованности со стороны руководства университета... От грустной философии переходим к сабжу.
Расскажу кратко, что из себя представляет стенд. Его возможности.
Идея создания подобного стартеркита возникла давно, еще пожалуй в 2000 году, когда я только начал "щупать" МК. Более чем 10-летний опыт программирования Z80 позволял легко разобраться в архитектуре MCS51, а затем чуть позже AVR. Ещё на Спектруме, когда изучал I2C, я задумался о "тормознутости" 7-ми мегагерцового Z80. Изголяться мне уже порядком надоело, приходилось оптимизироваьт программы, считая каждый такт... Посмотрев на убогость ядра MCS51, где набор инструкций такой же хилый, мое внимание привлекло нове Атмеловское 8-битное RISC ядро - AVR. AT90S2313 был моим первенцем т.к. стоил относительно не дорого, и его не зря прозвали "ядром для начинающих". Самые ранние версии имели тактовую чатоту 16 МГц, а значит 16 MIPS вычислительной мощности. Потом, почему-то, это ядро урезали по частоте до 10 МГц. Но, как не странно, ядро 2313 неплого "гналось". Причем, как мне позже сказал мой знакомый, основная проблема с разгоном была во встроенном генераторе. Проще говоря, используя внешний осциллятор, можно было "завести" 16 МГц вериию 2313 аж на 24 Мгц. Но дело не в разгоне, это лишь лирическое отступление... Изучая ассемблер, а я именно поклонник ассемблера "ещё с пеленок", приходилось помногу писать под разнообразные внешние девайсы, которые мне удавалось купить/достать. Это - несколько версий ЖКИ индикаторов, I2C EEPROM 24xx серии, SPI EEPROM 93хх серии, несколько типов АЦП (например 24-битный сигма-дельта AD7714), IRdA, MAX232 и прочее. Приходилось "лепить" (а как это ещё назвать?) на макетке разъемчики, панельки и прочее, для подключения подобных девайсов. Стартеркиты в продаже были, но цена! Цена многих стартеркитов для МК и сейчас "кусается". В процессе отладки модулей программ для девайсов, приходилось по сотню раз перешивать МК. Хорошо, что уже тогда была изобретена технология ISP (InSystem Programming - программирование в системе), и процесс отладки программ шел довольно быстрыми темпами. Про дорошущий JTAG ICE и пошаговую отладку реального устройства я и не мечтал. Мною сначала была разработана схема ISP программатора, наподобе AVRISP. Далее, я её дорабатывал и развивал, писал софт. Так появился универсальный ISP Porgrammer под MCS51 и AVR. Отличительная особенность - простота использования и максимальная гибкость. Программирование МК ведется через интерфейс ПК RS-232, как наиболее надежный, признанный промышленный стандарт. От программирования через LPT (типа "Жгучий кабель") пришлось отказаться по многим причинам, о которых я не буду здесь говорить.
Через некоторое время назрела необходимость в самостоятельном изготовлении собственного стартеркита. На кафедре измерений, где я работаю, курс "Микропроцессорная техника" включал в себя изучение МП К580ВМ80 - довольно устаревшего микропроцессора, что невольно вводило меня в недоумение. Почему тогда уже не учить студентов тому же Z80? Который признан как самый удачный 8-рязрядный МП. И это правда! Я вспоминаю РАДИО-86РК (ассемблер 8080) и Спектрум (Z80) - это же небо и земля. Один из молодых преподавателей, который читает курс "Микропроцессоры" предложил заведующему кафедрой разработать собственными силами инженеров лабораторные макеты (стенды) для изучения МК. Так получилось, как я уже описал выше, что разработка велась за собственный счет этого преподавателя. Меня попросили проконсультировать по поводу программировани МК (преподаватель выбрал Атмел 89C51). В свою очередь, я сказал, что уже давно хотел бы разработать подобный макет, и предложил сотрудничество. Безусловно, без ISP никак не обойтись. Поэтому базовым кристаллом стал AT89S52. Итог - мой программатор ISP (в измененном виде) обрел вторую жизнь в этом лабораторном стенде. Фактически, как оказалось позже, этот лабораторный стенд стал моим дипломным проектом.
Особенности и характеристики
Поддерживаемые МК:
1) Atmel AVR - ATmega162, ATmega8515 и др. Pin-to-Pin Compatible
2) Atmel MCS51 - AT89S51, AT89S52, AT89S8252 и др. ISP Pin-to-Pin Compatible
Корпус МК - DIP40.
Выбор тактирования: 11.0592 МГц или 22.1184 МГц (задается джампером).
Четыре разъема поров расширения P0-P3 (PA-PC), совместимые со стандартом Атмел. А также дополнительный разъем порта PE.
Выбор типа программируемого кристалла - AVR или MCS51 (задается джампером).
Программироваение МК через интерфейс RS-232 по технологии ISP. Мультиплексированное отключение порта программирования (линии MOSI, MISO, SCK).
Внешняя статическая память (SRAM) данных до 64 кБ.
Панель ввода - коммутируемая матрица кнопок 4х4 и 8 дискретных кнопок со светодиодной индикацией, подключенные к порту МК
Последовательный 10-битный АЦП AD7810 с интерфейсом SPI, на входе 8-канальный мультиплексор.
Параллельный 12-битный АЦП AD9220.
Сдвоенный компаратор LM393 с возможностью коммутации входов.
10-битный ЦАП типа R-2R К572ПА1А, возможность программного изменения амплитуды аналоговых сигналов.
Два независимых генератора сигналов прямого синтеза AD9833 (синусоида, треугольный сигнал, меандр). Интерфейс SPI.
EEPROM I2C серии 24xxx. Корпус DIP8.
Индикация: трехразрядный светодиодный семисегментный индикатор, LCD MT10T7. Дискретные светодиоды.
Драйверы интерфейсов RS-232 и RS-485.
На борту имеется МК PIC16F84 с разъемом для внешнего программатора. PIC используется как вспомогательный контроллер в учебном курсе "Интерфейсы".
Переход с одного типа кристалла на другой делается в течении нескольких минут. Стенд сделан максимально удобным для ремонта, большинство ИС имеют панели. Вместо ИС SRAM можно установить Flash EEPROM (серии 29xxx/49xxx) и делать запись данных в параллельную энергонезависимую память в корпусе DIP32.
Пакет программ рассчитан под DOS. Фактически, стенд может работать хоть с 386 машиной. Работа проверялась на нескольких типах ОС, самых разнообразных ПК (десктопы, ноутбуки).
По вопросам обращайтесь rsoft73 на mail.ru.
Вот так выглядит плата стенда без корпуса.
Стенд в корпусе с прозрачной фальшпанелью.
Вложение | Размер |
---|---|
atb2_diplom_009.jpg | 108.5 КБ |
Здравствуйте! Увидел ваш стенд- действительно потрясающе! Я курсант воронежского ВАИУ и возник такой вопрос: мы делаем курсовой проект, вот на эту тему. Можно мне её взять? Просто есть схема принципиальная, но нет номиналов элементов и рисунка печатной платы. Не разрешите ли вы мне их взять? если да, то можете сказать свой E-mail? Заранее спасибо и извините за беспокойство!
А кто ж запрещает? Выложил всё что считал нужным. Нужны BOM и печатка? Ну хорошо, выложу чуть позже... не думал, что это кому-то действительно понадобится. ... да и потрясающего там ничего нет, проект давно морально устарел.
Партизан подпольной луны aka (R)soft
Схема и пакет программ не грузятся
Попробую перезалить, если ещё актуально...
Schematic_ATB2.pdf - схема лабораторного стенда;
atb_2.rar - архив с программами, включая схемы.
Поправил ссылки и фото в статье... надеюсь поможет.
Партизан подпольной луны aka (R)soft
Отправить комментарий