Micro PC and PC-based Programmable Microcontrollers. Моделирование процессов.

Продолжение.
Начало смотри:
mtaalamu.ru/blog/938.html
mtaalamu.ru/blog/939.html
mtaalamu.ru/blog/943.html
mtaalamu.ru/blog/959.html
mtaalamu.ru/blog/964.html
mtaalamu.ru/blog/969.html
mtaalamu.ru/blog/980.html

Главное достоинство контроллеров «Octagon 6030», «ADAM-5510»,«I-7188»,«I-8811» — это их полная ( или условная ) совместимость с IBM 386sx. Эта особенность позволяет отрабатывать алгоритмы процессов не имея вналичии контроллера.



Так можно обнаружить до 80% ошибок и глупостей в алгоритме процесса и отработать самые главные узлы программы до выхода на реальное железо. Большинство ляпов можно отследить на экране.
Ниже показан пример отработки ( без реальной железки ) процесса передачи данных от устройства к устройству по 5-ти проводам, где:

Бит 3 — признак ошибки ( при =1)
Бит 4 — признак передачи «0»
Бит 5 — признак передачи «1»
Бит 6 — признак завершения передачи бита.
Бит 7 — признак начала пакета ( Старт/Стоп )



Не пытайтесь теоритически обосновать глупость этого процесса. Иногда приходится решать и более странные задачи. Обосновывать разумность этого способа передачи данных нет времени и смысла.
Просто альтернативы — еще хуже!
Или паять устройство и программировать на Ассемблере — и увязнуть в ошибках, глупостях, проводах, паяльниках и прочем дерьме, или интеллигентно написать программу на С++ и отработать процесс на LPT-1 и шнурке.



Соединим два компьютера проводами, аналогичными задаче — и ВПЕРЕД!



В реальном масштабе времени к портам мне было легче добраться на старенькой DOS-машине, а «Сверху» можно было поставить «SAMSUNG P-28» с нормальным LPT и программой-передатчиком под «Windows XP».





Недостатки этого «протокола» обнаружились сразу (но об этом позднее).

Вот достоинства такого способа передачи:

-При зависании передатчика на одной из «Фаз» процесса ( например завис +5В при передаче нуля с провода «Бит 4» ) — ничего не произойдет, так как пока не появится +5В на «Бит 6» — подтверждающая завершение передачи «0» или «1» — следующая «Фаза» не двинется.

-После прихода +5В на «Бит 6» — разрешается сдвиг принятых бит «ВЛЕВО» и прием «Бита» в младший разряд.

-Если зависнет +5В на «Бит 6» — ничего не произойдет, так как процесс обрабатывается по «Фронту» импульса +5В на «Бит 6».
Следовательно «засыпание» процесса передачи от «Мастера» к приемнику не дает ошибок.


Есть только одно ограничение — это быстродействие приемника.
Если он начнет «профукивать» перепады импульсов на входе — пойдет ложная информация. НО ЭТО относится АБСОЛЮТНО КО ВСЕМ протоколам передачи данных !



Уменьшение интервалов между передаваемыми импульсами — реально привело к систематическим и регулярным ошибкам. Их регулярность говорит о нехватке быстродействия приемника.

Всем привет!
  • 0
  • 03 июля 2010, 17:07
  • Markony

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.