3. УСТРОЙСТВА ВВОДА
Компьютер "СПЕКТРУМ", как и любой другой цифровой компьютер, оперирует
только цифровыми (дискретными) сигналами. Внешние устройства, такие как ZX
принтер и микродрайвер подсоединяются к "СПЕКТРУМУ" и обмениваются с ним
информацией в виде 8-разрядных двоичных слов. В данной главе сначала будет
описана базовая схема аналого-цифрового преобразователя, а затем ряд применений
АЦП и идеи для экспериментирования.
3.1. ОПЕРАТОР IN
Сигнал может быть принят "СПЕКТРУМОМ" в результате выполнения оператора
БЕЙСИКА.
IN, адрес.
Для реализации этой возможности сигнал, конечно, должен быть подан на разъем
"СПЕКТРУМА", на те выводы которые соединены с шиной данных к которой внутри
компьютера присоединены ПЗУ, ОЗУ, микропроцессор Z80 и т.д. Для того чтобы
посмотреть, что происходит на шине данных необходимо присоединить осциллограф
к любому из контактов D0-D7 на разъеме. На шине данных не будет изменяющегося
сигнала до тех пор, пока не будет запущена какая-либо программа. При работе
программы на шине данных появляется сигнал, изменяющийся с частотой в несколько
мегагерц. Форма отдельного сигнала не имеет значения, поскольку компьютер выпол-
няет посылки данных из одной части компьютера в другую только в виде 8-разрядных
слов. Будте осторожны! Не допускайте коротких замыканий контактов разъема D0-
D7 на землю или между собой.Это может привести к выходу компьютера из строя.
Всегда с большой осторожностью прикасайтесь или подключайтесь к разъему. Замы-
кание линий адреса и данных с шинами питания опасно для электронной схемы
"СПЕКТРУМА".
Для ввода данных в компьютер машина должна приостановить выполнение теку-
щей программы, обратиться к источнику данных, принять их и продолжить выполне-
ние программы. Для выполнения всего этого необходима схема-интерфейс. Интер-
фейс имеет адрес, по которому программа обращается именно к нему. Адреса пред-
ставляют собой числа в диапазоне от 0 до 65535 (2 в степени 15), задаваемыми 0 и 1
на адресных линиях А0-А15. Если говорят, что внешнее устройство имеет адрес 31,
то это означает, что компьютер устанавливает на шине адреса следующие сигналы:
А15 А14 А13 А12 All А10 А9 А8 А7 А6 А5 А4 A3 А2 А1 АО
0000000000 000000
Интерфейсная схема дешифрирует этот сигнал с помощью специального устрой-
ства и подает данные на шину данных D0-D7. Все это происходит за микросекунды и
определяется скоростью работы TTL и КМОП микросхем использованных в схеме
интерфейса. Например число 225 (11111111 в двоичной форме) будет введено из
внешнего устройства с адресом 31 если на шине данных будут установлены " 1" на всех
разрядах шины данных и на линии адреса А5 будет установлена "Iм. (Отметим, что
это неполная дешифрация адреса допускается при малом числе внешних устройств).
Простая программа на БЕЙСИКЕ демонстрирует ввод информации из внешнего
устройства:
10 PRINT AT 0,; IN 31
20 GOTO 10
В этом примере компьютер постоянно считывает данные по адресу несуществую-
щего устройства с адресом 31 и выводит в верхнем левом углу экрана число 255, т.к.
при отсутствии внешних сигналов на линиях данных устанавливается состояние "1".
3.2. АНАЛОГО-ЦИФРОВОЙ
ПРЕОБРАЗОВАТЕЛЬ
Множество сигналов, которые необходимо ввести в компьютер, имеют аналоговый
вид. Это, например, сигналы полученные от датчиков температуры, освещенности и
звука, удаленных переключате;^^^внутре№нцх и внешних источников напряже-
ния. ^ '- "
Первое предлагаемое уётфбйство представляетЧйтой 8-канальный аналого-циф-
ровой преобразователь с {Недельными входами, который автоматически преобразует
входные сигналы в 8-разрядные чиаш. Основой устройства является интегральная
микросхема типа 758- /4--""
Основная характеристика этой микросхемы:
1. Непосредственное подключение к компьютеру.
2. 5-вольтовое питание от компьютера.
3. Время преобразования 1 канала - 50 мксек (всех 8 -400 мксег).
4. Диапазон входного аналогового сигнала 0-10 В.
5. Непосредственная адресация для ввода цифровых данных от каждого канала.
(В данной разработке используются адреса от 24 до 31).
6. Внутренний порт данных 8x8 (8 восьмиразрядных регистров).
На рис.3.1 изображена электрическая схема.
Схема весьма простая. Использованы 3 микросхемы 7581, 74LS27 и 7414. Линии
данных D0-D7 и линии адреса А0-А2 непосредственно присоединены к МС 7581.
Сигнал выборки (CS)* МС 7581 формируется двумя элементами МС 74LS27 из 3-х
сигналов компьютера: A5JRD* JORQ*. Работа формирователя описывается таблицей
истинности:
Микросхема 7581 ждет логического 0 на входе CS. При появлении 0 цифровое
значение сигнала поступившего по 8 аналоговому входу передается в порт с адресом
31. По таблице истинности видно, что это происходит когда на выводах RD* (чтение),
IORQ* (запрос ввода/вывода) установлен логический 0. Каналы 1-8 выбираются с
помощью адресных входов А0,А1 и А2 микросхемы 7581:
Входное напряжение в диапазоне 0-10 В преобразуется в двоичное число в диапа-
зоне 0-255. На вывод 16 (ALE) подается напряжение 5 В, на вывод 10 (VREF) - 10 В
и вывод 1 (BOFS) к общему проводу (ОВ). Этот режим работы микросхемы 7581
называется однополярный аналоговый вход и цифровой выход в прямом коде. Возмо-
жен также режим работы с биполярным входным сигналом или выходной цифровой
сигнал может быть представлен в дополнительном коде, но эти возможности здесь не
используются. На вход 15 требуется подать тактовую частоту 1,6 МГц, которая фор-
мируется одним из 6 элементов микросхемы 7414 (триггер Шмидтта с инверсией).
Оставшиеся 5 инверторов используются в схеме умножения напряжения. В ней также
используются диоды типа 1 N4148 и конденсаторы 33 нф. Полученное напряжение
фильтруется конденсатором 10 мкФ и ограничивается стабилитроном 10 В. Послед-
ний элемент микросхемы 74LS27 использован для формирования сигнала разреше-
ния записи, который будет необхо|Ц<м длй работы цифро-аналогового преобразовате-
ля описанного в главе 4. На адюгё АЦП установлен также 12 (или 16)- контактный
разъем, необходимый для подключения ЦАП к компьютеру.
3.3. ОПИСАНИЕ КОНСТРУКЦИИ АЦП
Как и многие КМОЦ^икросхе&Ъ!, 7581 очень чувствительна к статическому элек-
тричеству. Нужно бцтщочень осторожным беря микросхему в руки. Микросхема
должна транспортироваться в проводящей фольге или проводящем пенопласте. Ис-
пользуемые инструменты и оборудование должны бытьзаземлены.
До монтажа элементов подготавливается макетная монтажная плата и разъем,
который располагается настороне элементов. Для подключения микросхем лучше
использовать панельки. Для7581 используется 28гКОнтактный разъем, который мож-
но сделать и из 40-контактногб^Зёмда и питание 12 В подключаются через 2 мм. гнез-
да. iC
Теперь о соединении элементов. В компьютере, к сожалению, используется 8
параллельных линий данных, а не отдельные провода как например в аудиосистемах.
Эти 8 проводов должны соединять между собой все элементы компьютера. Дополни-
тельная сложность состоит в том, что компьютер и микросхемы не могут использовать
вводы для последовательной передачи сигналов данных и адреса. Следовательно
нельзя использовать печатные проводники одновременно для шины данных D0-D7 и
шины адреса А0-А15. Для соединения разъема компьютера и микросхем нужна
довольно сложная система проводов. Несмотря на минимизацию соединений всего
требуется 33 изолированных провода и несколько неизолированных проводов. Соеди-
нение элементов производитсяжозд^их^швденият плате. __ ■■■■■■■■■ ^......^
ПереЩазм^щен|^ микросхем необхойим&рещить, будет ли н^женЦАП, опи-
санный вЩ^ф 4. ЦАП потребуете^ сейчас как рак подходящий момент
установить>12 или ! 6 контактной разъем оплате соСтороны печатных проводников.
Однако мож&о установить этотразъем и после* если потребуется.- - с
3.4. ИСПЫТАНИЕ АЦП
Сначала следует произвести внешний осмотр платы, проверить ошибочные соеди-
нения, короткие замыкания и другие виды ошибок. Однажды я неверно прочитал
Руководство по "СПЕКТРУМУН и перепутал при подсоединении к разъему верх и низ;
только по счастливой случайности ничего не вышло из строя. Закорачивание некото-
рый линий может в любой момент вывести из строя компьютер и/или Вашу самодел-
ку. Поэтому проверте отсутствие коротких замыканий на разъеме с помощью оммет-
ра; "усы" от припоя могут стать причиной непоправимого повреждения.
Наконец, встаете плату в разъем "СПЕКТРУМА" и включите его. Должен наблю-
даться обычный порядок включения компьютера. Если он нарушен, то отсоедините
При отключенном АЦП по каждому адресу компьютер считывает 0. При подклю-
ченном АЦП - 255.
Простая тест-программа демонстрирует это:
10 CLS
20 FOR XI ТО 10
30 PRINT AT Х,0; (22+Х), IN(22+X)
40 NEXT X
50 GOTO 20 (или GOTO 10 если нужно каждый раз очищать экран).
Результат работы программы будет выглядеть на экране так:
23 0
24 255
25 255
26 255
27 255
28 255
29 255
30 255
31 255
32 0
Теперь возьмите провод и поочередно подключайте каждый вход на землю. При
этом на экране должны появляйся 0 против соответствующего номера адреса. Не
удивляйтесь, если вместо 255 появится055 - т.к. стирается только одна цифра 2 в числе
255 при вводе 0 на экран. (Если в строке 50 записать GOTO 10, то на экране будут
появляться 0 и 255. Если этого не происходит, то проверьте наличие питающих
напряжений во всех местах платы:
+5 В на выводе 16 мс 7581
14 мс 74LS27
14 мс 7414
-10 В на выводе 10 мс 7581
+12 В на гнезде платы.
плату и опять полностью проверьте ее. Сигналы от каждого канала АЦП имеют
следующие адреса:
Наиболее частая причина неисправности АЦП это ошибки монтажа, поэтому
продолжайте искать и устранять их описанным выше способом. После того как тест
будет выполняться правильно АЦП готов к дальнейшему использованию.
3.5. ДЖОЙСТИКИ
Одной из простейших схем джойстика является схема состоящая из двух потенци-
ометров по 100 кОм установленных под прямым углом друг к другу и имеющих ручку
управления. Схема подключения к АЦП показана на рис.3.2, где показаны 4 штекке-
ра, которые подключаются к источШ^Питания (+12 В, 0 В) и к двум входам,
например с адресами 24 и ' '" :У$ ч„
Предыдущая тест-программа покажет изменяющиеся числа от 0 до 255 по входам
с адресом 24 и 25, однако более наглядное представление даст следующая программа:
10 CLS ,= „, =..............=........з
20 1PL0TIN24,XIN25) * 175/225; х Щ, ; '
30 СЙУГО 20 > f^''-'" ^ ^ ?!
Джойстик может быть исполосован вр5^йчныхйграх; позиция на экране может
непосредственно получена с помощью двух команд IN в тексте программы.