Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Как сделать простой программатор с использованием DELPHI 5

Назначение

В этом проекте представлена программа предназначенная для программирования чипов фирмы DALLAS типа DS5000 и модулей на их основе, и чипов фирмы PHILIPS серии P89C51RA+/RD+. Эти чипы, как известно, имеют встроенный механизм программирования по последовательному протоколу RS232, поэтому для их программирования практически не требуется аппаратная часть. Запрограммировать такие микросхемы можно используя простейшую программу-терминал. Но в данном случае была цель сделать более удобный пользовательский интерфейс и подготовить базовую оболочку для универсального программатора сообщающегося со своей  аппаратной частью через последовательный интерфейс. 

Почему DELPHI

Разработка была выполнена в среде DELPHI 5. Именно благодаря уникальным возможностям этой среды появилась мысль о создании собственного программатора. Уникальность заключается прежде всего в том, что существует огромное количество бесплатных программных компонентов расширяющих возможности прикладной программы. Эти компоненты прекрасно визуализированы и тесно интегрированы с ресурсами (в отличии от MS Visual C++) и большинство имеет открытый исходный код  выполненный в той же среде (в отличии от  MS Visual Basic). 

Возможности программы

Управляющая программа может следующее:

  • Открывать и сохранять файлы в форматах HEX и BIN, при этом делать преобразования из одного в другой.
  • Открывать файлы размером до 64 Mb. При этом работа с файлом не зависит от выбранного для программирования устройства.
  • Позволяет произвольно изменять размер буфера данных .
  • Позволяет просматривать данные в HEX,BIN,DEC,ASCII форматах, а также 8-и или16-и битном виде.
  • Позволяет редактировать данные и производить 8 блочных арифметических операций. Блоки могут выделяться по диапазону или по выделению.
  • Позволяет осуществлять поиск данных и переход по адресу.
  • Расчитывает контрольную сумму блоков данных по 7-и стандартным алгоритмам.
  • Позволяет гибко настраивать формат сетки данных.
  • Позволяет настраивать параметры коммуникационного порта.
  • Запоминает настройки с момента последнего выключения.
  • Не загрязняет регистр Windows. Не использует драйверы третьих лиц. Состоит из одного файла. Запускается сразу без дополнительной инсталяции.

 

Недостатки

Некомерческий характер программы, конечно, способствует появлению в ней многочисленных ошибок о которых хотелось бы услышать со стороны, для чего открыта On-Line консультация. 

Компоненты

Программирование в DELPHI естественно предпологает использование компонентов сторонних разработчиков  В программе были использованы следующие компоненты:

  • Async32 v1.49  от  Varian Software Services NL c известного сайта  Torry Delphi Pages. Для более удобного программирования компонент был несколько переделан и его можно взятьздесь  url.php?url=http://www.finalas.lt/ea/programmer/Downloads/comport.zip. Этот компонент организует управление COM портом.
  • RxLib  с сайта http://www.rxlib.com/index.html. Обширный набор очень полезных компонент включая управление меню, сохранение настроек, усовершенствованные ComboBox и т.д.
  • HexGrid компонент собственного производства. Несколько сыроват, но готов к применению. Визуализирует данные в сеточной таблице в различных форматах.
  • CbDigEdit  собственная разработка, наследник TcomboEdit из библиотеки RxLib . Поле для ввода чисел в DEC или HEX нотациях без использования всяких префиксов и суффиксов. Нотации переключаются комбинацией [Alt]-[Arrow Down] . Имеет настраиваемый ограничитель сверху.
  • CRC собственный очень легкий компонент для расчета контрольной суммы. Модуль имеет массив из семи стандартных моделей в контексте модели CRC от  Rocksoft Pty Ltd. Массив может быть дополнен собственными моделями CRC. Для более подробного ознакомления с методикой расчета CRC предлагаю оригинальную статью  Ross N. Williams “A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS” 
Совместимость

Для того чтобы иметь возможность компиляции исходного кода необходимо установить все перечисленные выше компоненты. Компоненты написанны именно для версии DELPHI 5 и установить их в более старших версиях довольно трудно благодаря политике фирмы  Inprise Corporation. 

Методология построения программы

Центром программы является главная форма содержащая две таблицы данных. Таблицы наследуются от TcustomGrid с добавлением  динамически распределяемого буфера данных и методов работы с ним. Для каждого программируемого типа чипов создается отдельная форма наследуемая от формы  Device_template.dfm. После выбора из меню соответствующего чипа создается его форма и ее владельцем назначается панель в главной форме вследствии чего созданная форма помещается в рамки пространства панели.  Такое решение позволяет с одной стороны все управляющие компоненты держать в одной форме во время работы и одновременно не перегружать ее компонентами во время разработки.
Процесс программирования ведется отдельным потоком расположенным в модуле SendThread.pas с использованием низкоуровневых асинхронных вызовов API ReadFile,  WriteFile дающих максимальный выигрыш от многопоточности.

Рабочая программа доступна в виде исполняемого модуля:altprog_EXE.zip (397 Кб)

Перспективы

Программа уже предусматривает программирование чипов серии AVR AT90S2313 с использованием дополнительной аппаратной части. Однако она еще достаточно дорога для простого программатора. Следующим этапом проекта будет разработка недорогой аппаратной части универсального программатора.

Автор: Александр Елисеев.ea@eunet.lt
Инженер информационного отдела компании "Finalas", Вильнюс


C этой схемой также часто просматривают:

Популярный программатор PIC16x84 и PIC16F62x
Программатор AVR на LPT
Простой стабилизатор
ПРОСТОЙ ГЕНЕРАТОР СИГНАЛОВ НЧ И ВЧ
Простой регулятор мощности
Определитель номера стандарта DTMF.
Таймер с выводом на TV, коммутацией Video, накоплением сумм времени и числа запусков
Система сбора информации от удаленных объектов посредством интерфейса RS-485
Коммуникатор — автоматическое устройство для обмена короткими текстовыми сообщениями

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU




Последние поступления

LPT программатор PIC микроконтроллеров

LPT программатор PIC микроконтроллеров

Отладочная плата для микроконтроллеров PIC

NTV программатор PIC микроконтроллеров (JDM совместимый)

LPT Программатор PIC микроконтроллеров

Простейший программатор для PIC

Коммутатор панели ZIF для программирования микроконтроллеров PIC

Плата для программатора PICkit3

Восстановление калибровочной константы

RCD-программатор для PIC-контроллеров



© 2003—2017 «KAZUS.RU - Электронный портал»