Объявление

Свернуть
Пока нет объявлений.

Не спешите выбрасывать устаревший компьютер или вторая жизнь LPT

Свернуть
X
Свернуть
  •  

  • Не спешите выбрасывать устаревший компьютер или вторая жизнь LPT

    Компьютерный век короток: не прошло и полгода, а уже требуется апгрейд. А если упустить время и не провести модернизацию вовремя, может случиться так, что и апгрейд не поможет. Тогда придется покупать новый компьютер, а старый или продавать по бросовым ценам, или оставить для игр. Но рано или поздно наступает момент, когда старые игры надоедают, а новые "старичок" не тянет. Тогда ему прямая дорога в далекий темный угол - обрастать пылью. Причем вышесказанное относиться не только к системным блокам, которые олицетворяют собственно компьютер, но и к мониторам, принтерам, мышам и тараканам. Сколько такой устаревшей оргтехники валяется по подвалам, гаражам и подсобкам! И выбросить жалко, и пользы никакой. Можно попробовать сдать ее начинку на драгметаллы, но выручка от этой операции будет столь ничтожна, что занятие становится бессмысленным. Но ведь в большинстве случаев 286-й (к примеру) компьютер, хоть и безнадежно устарел, но работоспособен. Надо только задуматься: чем кроме вычислительной и печатной машины может быть компьютер? Если машина 486-я, ее можно, конечно, использовать как проигрыватель компакт-дисков или установить ТВ-тюнер и приспособить на кухне под просмотр сериалов. Но согласитесь, загромождать и так небольшую (как правило) кухню монитором, колонками, системником, плюс кучей кабелей - это слишком. Проще купить небольшой телевизор (а если он уже есть, то зачем вам их два?). А что делать с "двушкой" или ХТ? И тут надо вспомнить, что компьютер обладает одной особенностью, которой лишены почти все бытовые приборы - он может быть машиной управляющей. Управляющие возможности компьютеров используются в настоящее время весьма широко. У всех на слуху выражение: "автомобиль с бортовым компьютером", однако ни в салоне, ни под капотом, ни в багажнике автомобиля мы не найдем ни монитора, ни клавиатуры, ни мышки - бортовой компьютер автомобиля представляет собой спрятанный под приборной панелью блок с кучей проводов. Более правильно его надо было бы назвать: "управляющий микропроцессорный контроллер". Но если микропроцессорный контроллер может быть "компьютером", почему бы компьютеру не выполнять функции управляющего контроллера? Управляющий контроллер (компьютер) сам в реальном времени управляет оборудованием или процессом, он "знает", когда и какое воздействие необходимо оказать, отслеживает параметры процесса и выдает необходимую информацию оператору. Достигается это при помощи специально написанных программ и механизма обратной связи. В промышленности для таких целей широко используют программируемые микропроцессорные контроллеры, при необходимости работу которых координирует центральный компьютер. Для выполнения функций центрального управляющего компьютера быстродействия и АТ и ХТ для большинства процессов более чем достаточно. Попробуем приспособить их для нужд управления. Для связи с внешним миром компьютер использует порты асинхронного последовательного адаптера (порт RS-232) и параллельный адаптер (порт принтера). Большинство управляющих компьютеров для связи с нестандартным оборудованием (а контроллеры производственных процессов - для компьютера оборудование нестандартное) используют асинхронный последовательный порт. Последовательная передача данных предполагает, что данные передаются с использованием одной линии. При этом биты байта данных передаются по очереди с использованием одного провода. Для синхронизации используется специальный бит. Существуют специальные микросхемы, предназначенные для организации связи по последовательному порту. На их основе строятся специальные процессоры связи, не уступающие по сложности материнской плате компьютера. Для этих же целей пишется специальное, программное обеспечение для управления любым процессом. В силу всего этого задача осуществления управления через последовательный порт довольно сложна. Поэтому далее будем рассматривать построение управляющего компьютера на основе связи через параллельный "принтерный" адаптер. Но вначале немного теории (которую изучить желательно, но не обязательно).
    Разъем и порты параллельного адаптера.

    Описание разъема параллельного адаптера обычно есть в документации на принтер. Приведем таблицу назначения контактов разъема адаптера, а также соответствующих контактов разъема принтера. Нагрузка на выходную линию параллельного адаптера не должна превышать одного входа ТТЛ.
    Контакты разъема адаптера Контакты разъема принтера Назначение Вход/выход
    1 1 Строб Выход, инверсия
    2 2 Данные бит 0 Выход
    3 3 Данные бит 1 Выход
    4 4 Данные бит 2 Выход
    5 5 Данные бит 3 Выход
    6 6 Данные бит 4 Выход
    7 7 Данные бит 5 Выход
    8 8 Данные бит 6 Выход
    9 9 Данные бит 7 Выход
    10 10 ACK
    Подтверждение
    Вход инверсия
    11 11 BUSY
    Занято
    Вход
    12 12 PE
    Конец бумаги
    Вход
    13 13 SLCT
    Выбор
    Вход
    14 14 Автомат. перевод строки Выход инверсия
    15 32 ERROR
    Ошибка
    Вход инверсия
    16 31 INIT
    Сброс
    Выход инверсия
    17 36 SLCTIN
    Принтер выбран
    Выход инверсия
    18-25 15-30, 33 Земля -
    Каждый параллельный адаптер обслуживается несколькими портами ввода/вывода.
    Порт 378Н
    Доступен для чтения и записи. Предназначен для вывода данных.
    Порт 37АН
    Доступен для чтения и записи. Предназначен для управления принтером
    Таблица значений разрядов порта 37АН
    Разряд Описание
    0 Строб данных; принимает значение 1 при выводе байта
    Выход
    1 AUTO
    Автоматический перевод строки
    Выход
    2 INIT
    Сброс; активный уровень - 0
    Выход
    3 SLCT IN
    Принтер выбран
    Выход
    4 IRQ
    Разрешение прерывания
    Вход
    5-7 Не используются, соединены с нулем
    Порт 379Н
    Доступен для чтения.
    Таблица значений разрядов порта 379Н
    Разряд Описание
    0-2 Не используются, соединены с нулем
    3 ERROR
    Ошибка
    Вход
    4 SLCT
    Выбор
    Вход
    5 PE
    Конец бумаги
    Вход
    6 ACK
    Подтверждение
    Вход
    7 BUSY
    Занято
    Вход
    Байты данных для вывода устанавливаются в порт 378Н. Затем через 0,5 мс линия СТРОБ переводится с высокого в низкий уровень, после чего происходит запись информации во внешнее устройство. Входные сигналы удобно считывать с порта 379Н.
    Доработка компьютера до возможностей управляющего контроллера.

    Исходя из низкой нагрузочной способности параллельного адаптера, логично построить некий Модуль Согласования (МС), который будет принимать, хранить, усиливать управляющий сигнал и осуществлять управление. Одновременно МС может принимать внешние входные сигналы, их преобразовывать и передавать в компьютер. Очевидно, что простейшая схема МС будет иметь конфигурацию 8 выходных сигналов (каналов управления), 6 - входных, как показано на структурной схеме МС.
    Нажмите на изображение для увеличения.

Название:	old_comp1.gif
Просмотров:	197
Размер:	3.7 Кб
ID:	1443 alt="" />
    На основании схемы структурной строим схему электрическую принципиальную.
    Нажмите на изображение для увеличения.

Название:	old_comp2.gif
Просмотров:	135
Размер:	7.3 Кб
ID:	1444 alt="" />
    МС подключается к параллельному порту ПК стандартным "принтерным" кабелем Cetronix, обозначен на схеме - А1, с указанием контактов разъема адаптера. Датчики К1-К5 работают на замыкание. Микросхема К155ЛН4 (SN7407) служит для некоторой защиты адаптера от неблагоприятных внешних воздействий (в случае чего, проще заменить одну микросхему, чем весь адаптер). Можно использовать и другие элементы типа ЛН той же серии, например К155ЛН1 (SN7404), К155ЛН2 (SN7405), но в таком случае при обработке сигнала надо будет учитывать инверсию. При замыкании одного из ключей К1 на соответствующем входе логического повторителя высокий уровень сменяется низким, и на вход адаптера поступает сигнал изменения внешнего воздействия и заносится в порт 379Н, либо в 37АН (сигнал "разрешение прерывания") и затем обрабатывается программой. В ответ на внешние воздействия компьютер в соответствии с алгоритмом вырабатывает управляющие сигналы. Управляющая информация записывается по шине данных в регистр RG после прохождения стробирующего сигнала на вход С микросхемы КР1533ИР23 (SN54ALS374). ТТЛ выход регистра защищен диодами КД522Б и резистором номиналом 130 Ом. Затем сигнал усиливается блоком усиления БУ0-БУ7, собранным в виде транзисторного ключа на элементах Т1,Т2. Напряжение питания на транзисторный ключ подается в зависимости от применяемого реле от +5 до +24В. Реле РП21 или аналогичные. Напряжение питания микросхем +5В. Транзисторы - КТ315 и КТ817. Вот и вся аппаратная часть. Можно приступать к программному обеспечению.
    При программировании управляющего сигнала нужно иметь в виду, что управление осуществляется сразу по всей шине данных. Например, если вначале был включен бит DАТА 0 (десятичный код 1, двоичный- 000000001), а затем возникла необходимость включить бит DАТА 1, не выключая DАТА 0, то надо подавать управляющий сигнал = 3 (00000011 двоичный). При управляющем сигнале=2 (00000010) произойдет отключение бита DАТА 0. Нужно также иметь в виду, что некоторые языки на прямую не поддерживают двоичный формат, поэтому, например в BASIC, все необходимые управляющие сигналы надо привести к десятичному формату. Входной сигнал считывается из МС в порт 379Н. Значимыми являются 4,5,6,7,8 биты порта. Опять же при необходимости надо привести входной сигнал к двоичному формату.
    Управление портами осуществляется по алгоритму:
    1. Загрузить в 378H управляющий сигнал
    2. Загрузить в 37АH 1 (единицу- 00000001)
    3. Очистить 37АH - 00000000
    4. Загрузить в 37АH 1 (единицу- 00000001)
    Чтение пришедших сигналов:
    1. Прочесть 379H
    2. Проанализировать биты 3,4,5,6,7
    Вот как реализован этот алгоритм на языке BASIC:
    10 REM ************* Обнуление констант и портов**************
    g = 0 'выходной (управляющий) сигнал'
    b = 0 'входной сигнал'
    OUT &H378, 0: OUT &H379, 0: OUT &H37A, 0 'обнуление портов'
    GO TO 100
    20 REM ******** Выдача управляющего сигнала *************
    OUT &H378, g
    OUT &H37A, 1: OUT &H37A, 0: OUT &H37A, 1
    RETURN
    30 REM ********* Чтение входных сигналов ****************
    b = INP(&H379)
    REM *** b число десятичное его необходимо перевести в двоичное***
    FOR n = 0 TO 7

    IF b = 1 THEN c(n) = 1
    b(n) = CINT(b / 2 - .4)
    IF b(n) = b / 2 THEN c(n) = 0 ELSE c(n) = 1
    REM интересуют сигналы : c(3), c(4), c(5), c(6), c(7)
    b = b(n)
    NEXT n
    RETURN
    Связь компьютера с МС происходит при выполнении подпрограмм, начинающихся строками 20 и 30. В общем случае при написании программ на BASIC достаточно в текст программы поместить фрагмент, выделенный красным цветом и в последующем к нему обращаться как к подпрограмме ввода/вывода. Алгоритм управления конкретным процессом строится с учетом этих замечаний и написание программ больше не имеет никаких особенностей.
    Таким образом мы получили вполне работоспособный управляющий микроконтроллер, совмещающий в себе собственно контроллер и компьютер верхнего уровня. Кстати почувствуйте разницу: старое "железо" уже почти ничего не стоит, а новый самый простенький микроконтроллер "потянет" не менее 200$, плюс еще специальное ПО.
    Несколько замечаний по теме.

    Превращение компьютера в универсальный контроллер не исчерпывается одним системным блоком. Все периферийные устроиства связываются с компьютером через соответствующие порты и программировние их заключается в программировании обращения к портам. Потому исходя из рассмотренного выше, можно сделать вывод о том, что:
    Принтер есть ни что иное, как специализированный печатающий контроллер. Не составляет почти никакого труда превратить его в контроллер многофункциональный.
    На самом деле, возьмем, например, матричный шестнадцати игольчатый принтер. Что мы имеем?
    • 16 выходов- иголок
    • 1 выход - звонок
    • 1 выход - управление кареткой
    • 1 выход - прогон листа
    • 1 вход - наличия бумаги
    • 1 вход - положения каретки
    Итак, у нас почти готовый универсальный контроллер 2 х 19
    Это только то, что видно невооруженным взглядом. А если еще почитать инструкцию?!
    И если на все девятнадцать выходов принтера подключить, например, елочные гирлянды и запустить печать какого нибудь текста, например, этой статьи, то гирлянды добросовестно текст отмигают, а окружающие будут любоваться неповторяющимся хаотическим переключением гирлянд.
    Клавиатура - может служить прекрасным (>100 разрядов) модулем входов. Нужно только клавиши - датчики на замыкание - установить в необходимых местах. А программу настроить на считывание скан - кода клавиш.
    Звуковая карта - модуль ввода - вывода аналоговых звуковых сигналов, где микрофоны могут быть датчиками шума.
    Мышь - датчик перемещения.
    И так далее и тому подобное. В любом случае, компьютер настолько универсальная техника, что найти ему нетрадиционное применение можно всегда.
    Примеры "нестандартного" использования компьютера.

    Самый простой пример - управление переключением елочных гирлянд. О применении для этих целей принтера уже говорилось. Но можно обойтись и без него - достаточно к "принтерному" разъему системного блока подсоединить Модуль Согласования и к контактам реле подключить гирлянды. Задача сводится к написанию управляющей программы. В том же BASIC для восьми гирлянд это может выглядеть так (с учетом ранее веденного кода стандартного обращения к портам):

    50 REM ****************Таймер**************************** *********
    i = TIMER
    55 IF TIMER >= i + 1 THEN RETURN ELSE GOTO 55
    100 REM *************** Задание констант*****************************
    K11= 85 '01010101'
    K12=170 '10101010'
    K21=102 '01100110'
    K22=153 '10011001'
    K31=119 '01110111'
    K32=136 '10001000'
    K41=240 '11110000'
    K42=15 '00001111'
    K51=0 '00000000'
    K52=255 '11111111'
    110 REM ****************Чтение порта********************************
    GOSUB 30
    IF C(3)=1 THEN GOSUB 120
    IF C(4)=1 THEN GOSUB 130
    IF C(5)=1 THEN GOSUB 140
    IF C(6)=1 THEN GOSUB 150
    IF C(7)=1 THEN GOSUB 160
    RETURN
    REM *** Вклвыкл выходов согласно заданных констант***************
    120 g=K11:GOSUB 20:GOSUB 50
    g=K12:GOSUB 20:GOSUB 50
    GOSUB 110
    GO TO 120
    130 g=K21:GOSUB 20:GOSUB 50
    g=K22:GOSUB 20:GOSUB 50
    GOSUB 110
    GO TO 130
    140 g=K31:GOSUB 20:GOSUB 50
    g=K32:GOSUB 20:GOSUB 50
    GOSUB 110
    GO TO 140
    150 g=K41:GOSUB 20:GOSUB 50
    g=K42:GOSUB 20:GOSUB 50
    GOSUB 110
    GO TO 150
    160 g=K51:GOSUB 20:GOSUB 50
    g=K52:GOSUB 20:GOSUB 50
    GOSUB 110
    GO TO 160
    END.
    В начале бежит один огонь, затем, два, три, четыре, затем все гаснет и снова зажигается, после чего цикл повторяется. Очередность включения может быть и другой, в зависимости от предпочтений пользователя. Описанный метод можно применить и для более серьезного использования, например, для организации световых табло. Но в этом случае программа будет сложнее, должна работать в динамике, и МС придется немного доработать. Для этих целей надо использовать выходные сигналы порта 37АН: AUTO, INIT, SLCT, организовать через них 3-х разрядный счетчик, и через дешифратор управлять выбором индикаторов. Таким образом, можно получить световое табло " бегущая строка" из восьми символов. Используя сегментацию, длину "строки" можно наращивать. В общем случае возможности нестандартного применения компьютера ограничены только фантазией.

      Возможность размещать комментарии к сообщениям отключена.

    Метки статей

    Свернуть

    Меток пока нет.

    Новые статьи

    Свернуть

    • Стандартный параллельный интерфейс на PC
      от admin
      Основным назначением интерфейса Centronics (аналог-ИРПР-М) является подключение к компьютеру принтеров различных типов. Поэтому распределение контактов разъема, назначение сигналов, программные средства управления интерфейсом ориентированы именно на это использование. Вто...
      08.02.2017, 22:45
    • Современные микросхемы драйверов RS-485 фирмы MAXIM
      от admin
      Журнал «Схемотехника» №10 2002 г.
      Олег Николайчук
      Целью настоящей статьи является ознакомление читателей с современными микросхемами драйверов сети RS485 фирмы MAXIM, их основными параметрами и особенностями.
      Интерфейс RS485 наиболее часто используется при создании современных локальных сетей различного назначения, как в промышленных изделиях, так и в любительской практике. Основными преимуществами интерфейса являются:
      • Относительно низкая себестоимость
      ...
      08.02.2017, 22:45
    • Системный контроллер ввода-вывода для сопряжения шин PCI и ISA
      от admin
      Журнал «Chip News» №6 2001 г.
      Ракович Н. Н.
      Мы уже беседовали на страницах журнала о продукции компании Winbond [Л.1], выпускающей широкую гамму разнообразных микросхем, начиная с памяти и микроконтроллеров и заканчивая приборами для мобильных средств связи и распознавания речи. Примерно в середине...
      08.02.2017, 22:45
    • Реализация последовательной асинхронной передачи данных в микроконтроллерах PIC
      от admin
      Введение.
      Серия PIC16Cxx от Microchip Technology, Inc. - это второе поколение высокопроизводительных восьмиразрядных микроконтроллеров на базе EPROM. Некоторые микроконтроллеры из этой серии (например PIC16C71 и PIC16C84) не имеют встроенного последовательного асинхронного порта. Эта статья содержит описание последовательного асинхронного интерфейса ( полудуплексное RS-232 соединение ) с программной обработкой прерывания для микроконтроллеров...
      08.02.2017, 22:45
    • Простой конвертер RS-232-TTL
      от admin

      Журнал «Схемотехника» №1 2000 г.
      Александр Нечаев
      При разработке различного рода электронных устройств с использованием микроконтроллеров очень часто оказывается полезной возможность подключения их к персональному компьютеру через последовательный порт. Однако напрямую это сделать...
      08.02.2017, 22:45
    • Программирование портов ввода/вывода LPT и ISA
      от admin
      Данный материал основан на моём (его) личном опыте работы с материнской платой неизвестного (нет, не солдата) производителя. Чипсет - SIS. Если вдруг в Вашем случае дело будет обстоять другим образом, напишите мне. Также хочу сразу предупредить - я не профессиональный программист!!!...
      08.02.2017, 22:45
    Обработка...
    X