Учебный лабораторный стенд на микроконтроллере ADuC842 - LESO1

Микропроцессорный стенд LESO1 – готовый учебный лабораторный стенд, предназначенный для изучения микроконтроллеров. Опытные преподаватели технического ВУЗа разработали стенд для освоения студентами архитектуры микроконтроллеров семейства MCS-51, а также методов разработки микропроцессорных систем различного назначения.

Лабораторный стенд на микроконтроллере успешно применяется в технических ВУЗах для обучения студентов, поскольку является готовым портативным и доступным в понимании устройством на микроконтроллере для начинающих их осваивать. Стенд может быть использован студентами как основа для дипломного проектирования или для научно-исследовательской работы в бакалавриате или магистратуре.

На базе стенда на микропроцессоре возможна разработка промышленных автоматизированных систем.

Особенности микропроцессорного стенда LESO1

Учебный лабораторный стенд LESO1 построен на базе микроконтроллера ADuC842 фирмы Analog Devices. Микроконтроллер содержит 12-разрядные прецизионные АЦП и ЦАП, встроенный высокоскоростной МК с FLASH-ЭРПЗУ на 62КБ.

Цена: 10150 руб.

  1. Программирование осуществляется через порт USB
  2. Не требуется дополнительно источника питания
  3. Простота реализации и программирования (все периферийные устройства подключены непосредственно к микроконтроллеру)
  4. Взаимодействие лабораторного стенда с персональным компьютером осуществляется в программной среде LabVIEW

 

Структура и работа учебного стенда на микроконтроллере

Структура учебного стенда оптимизирована для поэтапного, от простого к сложному, освоения микроконтроллерных систем. Стенд содержит следующую периферию:

  • жидкокристаллический символьный индикатор 8х2
  • матричную клавиатуру 4х3
  • часы реального времени PCF8583
  • излучатель звука
  • датчик температуры DS18B20
  • инфракрасный фотоприемник TSOP1736
  • четыре красных светодиода
  • микросхему преобразования интерфейсов фирмы FTDI

Стенд LESO1. Структурная схема.

Лабораторные работы для микропроцессорного стенда

Методические указания включают работы:

  • Знакомство с интегрированной средой программирования keil-C
  • Ввод и вывод информации через параллельные порты
  • Работа с клавиатурой матричного типа
  • Изучение таймеров микроконтроллера
  • Изучение последовательного порта UART
  • Работа с символьным жидкокристаллическим индикатором

С использованием этого учебного стенда в учебных заведениях могут проводиться лабораторные работы по следующим дисциплинам:

  • цифровая и вычислительная техника
  • микропроцессоры в устройствах и системах
  • цифровые устройства и микропроцессоры
  • интерфейсы периферийных устройств
  • организация ЭВМ и вычислительных систем
  • операционные системы реального времени
  • аппаратные средства вычислительной техники

Программное обеспечение (Windows)

Для загрузки исполняемого кода во внутреннюю память микропроцессора и взаимодействия лабораторного стенда с ПК разработана программа nwFlash. Программа nwFlash позволяет:

  • производить поиск подключенных к компьютеру по USB интерфейсу лабораторных стендов;
  • активировать соединение с одним из найденных стендов;
  • выполнять сброс микроконтроллера (Reset);
  • загружать во flash - память микроконтроллера пользовательскую программу;
  • принимать и отправлять данные в текстовом и шестнадцатеричном виде по интерфейсу UART (режим терминала).

Интерфейс nwFlash состоит из трех элементов:

  • главное меню;
  • окно терминала;
  • окно состояния.

Программа загрузчик

Главное меню позволяет производить операции со стендом, а также настраивать параметры терминала. Окно терминала служит для отображения данных, посылаемых микроконтроллером по интерфейсу UART, а также для отправки пользовательских данных (от компьютера микроконтроллеру) по этому же интерфейсу. В окне состояния отображаются результаты всех проведённых операций для контроля.

Для работы с программой nwFlash следует запустить программу.

При нажатии на пункт главного меню "Подключение" программа выполнит поиск подключенных стендов и отобразит их названия в раскрывшемся меню. Если вы забыли подключить стенд, то появится надпись "нет подключенных стендов", в этом случае подключите стенд и снова раскройте меню "Подключение".

После выбора стенда из меню "Подключение". В окне состояния должна появиться надпись "Подключено к "имя_стенда". После этого становится доступным пункт меню "Операции", где можно:

  • выполнить сброс МК. На стенде начнёт выполняться программа,
  • записанная в микроконтроллер в последний раз;
  • стереть flash-память микропроцессора;
  • прошить МК.

В появившемся окне необходимо указать путь к hex–файлу (подразумевается, что вы уже написали и скомпилировали программу в какой-либо среде, например, Keil C51).

Программа загрузчик. Меню Операции

Если вам необходимо интерактивно взаимодействовать с микроконтроллером (например, пересылать на компьютер результат дискретизации сигнала с АЦП), вам поможет функция терминала, реализованного в программе nwFlash. Опции терминала главного меню позволяют:

  • выбрать режим отображения/посылки данных: текстовый или шестнадцатеричный;
  • выбрать кодировку ANSI или ASCII — в случае, если вы пытаетесь выводить через UART русские символы;
  • включать/выключать режим автоматической прокрутки текста (автоскроллинг);
  • сохранять принятую от МК информацию в файл:
    • в том виде, как она пришла — пункт меню "Сохранить";
    • в том виде, как она отображается в терминале — пункт меню "Сохранить как текст".

Программа загрузчик. Опции терминала

После выполнения работы со стендом, выберите пункт "Отключиться" в меню "Подключение", затем закройте программу.

Программное обеспечение (Linux)

ЛинуксДля загрузки hex-фала в память микроконтроллера используется программа leso1prog. Программа распространяется свободно в виде открытых исходных кодов под лицензией BSD 2-ух пунктов. Программа имеет консольный интерфейс. Исходные коды можно либо скачать в виде архива (скачать) , либо получить с git-репозитория.

Установка из архива:

tar -xvzf leso1prog-v0.1.tar.gz
cd leso1prog-v0.1/
make

Установка из git-репозитория:

git clone git@github.com:Shamrel/leso1prog.git
cd leso1prog-v0.1/
make

В результате должен появиться исполняемый файл leso1prog

Примеры использования программы:

1. Загрузить hex-файл в память микроконтроллера. Через параметр -s указываем путь к файлу устройства, через которое подключен стенд,
например /dev/ttyUSB0; через параметр -x указываем путь к hex-файлу.

/leso1prog -s /dev/ttyUSB0 -x main.hex

2. Только стереть память микроконтроллера и выйти. Указываем путь к устройству и параметр -e (от английского erase – стирать):

./leso1prog -s /dev/ttyUSB0 -e

3. Только проверить hex-файл. Указываем путь к файлу и параметр -с (от английского check – проверять.):

./leso1prog -x main.hex -c

4. Только сбросить микроконтроллер. Указываем путь к устройству и параметр -r (от reset):

./leso1prog -s /dev/ttyUSB0 -r

5. Вывести версию leso1prog и выйти (-V – от Version):

./leso1prog -V

6. Напечатать справку и выйти (-h – от help):

./leso1prog -h

При загрузке hex-файла программой автоматически осуществляется проверка файла, а также стирание памяти, поэтому указывать дополнительно параметры -c -e не нужно. В некоторых случаях для доступа к последовательному устройству /dev/ttyUSB могут понадобится права суперпользователя.

Комментарии:



Здравствуйте, можно узнать, есть ли у вас человек кто занимается разработкой ПО под стенд ЛЭСО1?  В этом и дело недавно на кафедру Муромского института ВлГУ поступили новые стенды ЛЭСО1 с интерфейсом USB. Необходимо разработать ПО на LabVIEW для визуализации и измерения параметров синусоидального сигнала (амплитуда, среднеквадр. значение, период и частоту). Вот тут у нас возникли проблемы. С помощью Visa  (на кафедре установлена LabView_11) создали для стенда драйвер и теперь стенд опознаётся как устройство Visa (это сделать нам получилось). Стенд распознается, но данные как в него, так и из него не поступают(с форматом передачи RS-232, понятно, но на новом стенде интерфейс USB и вот тут возникла проблема...

В целом, вопрос по адресу. Visa в топку.  Следует использовать непосредственно модули для работы с dll:  у нас все приборы на FTDI так сделаны. На сайте FTDI можно найти модули и примеры. Немного старые, но для начала сойдет. Мы под свои задачи модули модифицировали сами. Под конкретные прикладные задачи.  

Статьи в тему:  Учебный стенд LESO6 и LabVIEW и Учебный стенд LESO6 и LabVIEW. Часть 2. Статьи о том, как наши стенды с LabVIEW дружить, только на примере LESO6. Модули совместимы, примеры исходных кодов для микроконтроллера, конечно под AVR. Думаю, особой сложности переделать для MСS51 не будет. Если что не понятно, пишите в комментарии к соответствующим статьям. 

Здравствуйте, скажите, програмирование только на С? На ассемблере не получится?

Конечно получится. Стенду принципиальной разницы нет. Когда я сам вел лабораторные работы с этими стендами, то студентам давал возможность выбирать, на чем писать. Некоторые писали на асемблере. В Keil с этим проблем нет.

Аватар пользователя XXX

Есть ли схема стенда LESO 1 для proteus?

Как-то исторически сложилось, что я не пользуюсь proteus , потому нет такой схемы. Но если вы сделаете, то я с удовольствием размещу её на страничке прибора (конечно, за Вашим авторством).

Аватар пользователя sokolgen

Здравствуйте! Ссылка на скачивание программы нерабочая!

Добрый день. Проверил ссылки. Все рабочие.

Аватар пользователя orion777

Добрый день!

Не смотря на то, что используется чим ftdi, виртуальный COM порт не появляется.

Вопрос: возможно ли использовать стандартный софт от analog.com https://www.analog.com/media/en/technical-documentation/user-guides/UG-041.pdf ?
Если нет, то не могли бы вы выложить ваш загрузчик с английским интерфейсом?

Спасибо.

Приветствую! Будет ли создан COM порт при подключении чипа к компьютеру зависит от настроек в драйвере. Должна быть установлена соответствующая галочка в свойствах устройства "Загрузить VCP".

Что касается загрузчика с analog.com, то я сильно сомневаюсь.

К сожалению, английской версии нет. Но есть исходные коды загрузчика под Linux, при должной сноровки можно сделать оконную версию. // ссылка на репозиторий выше в теле статьи.

Аватар пользователя orion777

Добрый день!

На этой страничке упоминается загрузчик под линукс. Вопрос: какое ПО в этом случае можно использовать для компиляции под адук? Или же загрузчик существует, но реально из под линукса никто не работает?

Давно это было. Массово никто не работает, но лет так 5-7 назад я находил компилятор для MCS-51 под Linux. Сейчас, пожалуй, помочь не смогу.

 

Аватар пользователя orion777

Если так, тогда компилятор под MCS51 - это SDCC http://sdcc.sourceforge.net/

Орфографическая ошибка в тексте:
Чтобы сообщить об ошибке автору, нажмите кнопку "Отправить сообщение об ошибке". Вы также можете отправить свой комментарий.