Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Накопитель на базе бытового магнитофона




 

Сохранение программ на про­стом бытовом магнитофоне не только эффективно, но и необ­ходимо для записи более длинных программ без использования дорогих цифровых магнитофонов, а также взамен записи на перфоленту. Дешевые бытовые магнитофоны имеют ограни­ченную полосу пропускания, высокий уровень шумов и непо­стоянную скорость протяжки. В отличие от принятой в цифро­вых магнитофонах схемы, где записываемый сигнал с помощью специального устройства модулируется разными частотами для логического 0 и логической 1, в описываемом здесь мето­де записи требования, предъявляемые к каналу передачи дан­ных, минимальны. Вместо передачи уровней, соответствующих логическому 0 и логической 1, данные передаются в виде пачек импульсов заданной частоты (тона) с разным количеством импульсов в пачке. Основная частота должна лежать в пределах полосы пропускания магнитофона. Каждый бит передаваемой информации представляется в виде импульсной пачки, за кото­рой следует пауза. Первая треть периода передачи бита всегда занята импульсами, во второй трети либо импульсы продолжа­ются, либо наступает пауза, что означает соответственно логиче­скую 1 или логический 0, последняя треть периода — всегда пауза (рис. 10.4). Таким образом, значение бита данных за­дается отношением длины импульсной пачки к длине паузы. (Известны и другие системы записи, например основанные на количестве импульсов в пачке.) Для изучения методов форми­рования таких импульсных пачек введем в ПМ-ЭВМ следующую учебную программу:

014000016 MVIC, 252Q

014001 252

014002006 Ml: MVIB, 011Q

014003 Oil

014004257 М2: XRA A

014 005 323 OUT, OOOQ

014 006 000

014007315 CALL IMP

014011 014

014012171 MOV А, С

014013037 RAR

014014117 MOV С, А

014015322 JNC, МЗ

014 016 026

014 020 257 XRA A

014 021 323 OUT, OOOQ

014 022 000

014 023 303 JMP, M4

014 024 032

014025 014

014026076 МЗ: MVI A, 377Q

014 030 323 OUT, OOOQ

014031 000

014032315 М4: CALL, IMP

014 033 060

014 034 014

014035257. XRA A

014 036 057 СМА

014 037 323 OUT, OOOQ

014 040 000

014041315 CALL, IMP

014 042 060

014043 014

014044171 MOV А, С

014 045 323 OUT, 002Q

014 046 002

014 047 005 DCR В

014050302 JNZ,M2

014 051 004

014 053 166 HLT

014 060 026 IMP: MVI D, 010Q

014061 010

014062257 XRA A

014063323 M5: OUT, 001Q

014 064 001

014 065 036 MVI E, 040Q

014 066 040

014067315 M6: CALL DL

014 070 277

014071 000

014072035 DCRE

014073302 JNZ.M6

014 074 067

014075 014

014076074 INK A

014 077 025 OCR D

014100302 JNZ,M5

014 101 063

014 102 014

014103311 RET

 

Рис. 10.4. Диаграмма передачи одного двоичного разряда

 

Программа, начиная с младшего разряда, преобразует байт информации, хранящийся в регистре С, в последовательность посылок, наблюдаемую в портах 000 и 001. Индикаторы порта 000 погашены в тех частях периода передачи каждого бита, когда должна выдаваться импульсная пачка, и горят, когда она не должна выдаваться, т. е. логическому 0 соответствует после­довательность: не горит — горит — горит, а логической 1 — не горит — не горит — горит. Импульсы с заданной частотой следо­вания появляются в младшем разряде порта 001, а в целом индикаторы порта 001 подсчитывают эти импульсы. Частота следования импульсов — примерно 2 Гц. Порт 002 позволяет наблюдать преобразуемое число, каждый разряд которого последовательно анализируется программой путем сдвига в раз­ряд переноса. В ячейке 014Q 003Q хранится параметр, заноси­мый в регистр В, задающий количество преобразуемых разря­дов числа. Здесь этот параметр равен девяти, так как кроме восьми информационных пачек для обозначения конца переда­чи числа передается импульсная пачка, соответствующая нулю. Подпрограмма формирования импульсной пачки имеет метку IMP. Количество импульсов в пачке равно половине числа, хра­нящегося в ячейке 014Q 061Q, которое обязательно должно быть четным. Длительность импульса в пачке определяется за­держкой, задаваемой числом в ячейке 014Q 066Q. В учебной программе длительность импульса для наблюдаемости задана равной произведению этого числа на задержку, определяемую ПП DL. Для использования ГШ в качестве рабочей необходимо из ПП IMP изъять обращение к ПП DL, из основного текста изъять команду вывода в порт 002 (адреса с 014Q 044Q по 014Q 046Q), а вместо команды HLT ввести команду RET. Чтобы сформировать сигнал, который можно подавать непо­средственно на вход записи магнитофона, используем схему, представленную на рис. 10.5. Эта схема позволяет регулиро­вать уровень записи и ликвидирует постоянную составляющую сигнала.

Рис. 10.5. Схема формирователя сигнала для записи на магнитофон

Зададимся приемлемой для записи и воспроизведения на бы­товом магнитофоне частотой импульсов в пачках, равной 2 кГц. Тогда легко подсчитать число, заносимое в регистр Е. Действи­тельно, программный цикл от команды DCR Е до команды JNZ занимает 15 тактов. В ПМ-ЭВМ тактовая частота равна 1 МГц. Следовательно, чтобы получить задержку, равную поло­вине периода повторения импульсов 1/(2000-2) = 250 мкс, необходимо задать 250/15 ~ 16 программных циклов. В ре­гистр Е надо занести 020Q = 16. Если количество импульсов в пачке равно четырем (как задано в нашей программе), ско­рость передачи информации составит 2000/(4-3) ~ 167 бит/с.

Рис. 10.6. Формирование выходного сигнала с магнитофона

 

Для ввода информации с бытового магнитофона необходимо из полученного сигнала сформировать нормальные логические посылки на ТТЛ-уровнях, причем воспроизведению импульсной пачки должен соответствовать уровень логической 1, а паузе -уровень логического 0 (рис. 10.6). Количество импульсов в пачке не принимается во внимание. Такую схему легко реали­зовать на операционных усилителях или на обычных транзисто­рах. Формирователь может быть подключен к одному из входов порта 003, например выводу 4 микросхемы D23. В этом случае дальнейшие операции имеют чисто логический характер, легко реализуемый программным путем. Введем в ПМ-ЭВМ следую­щую демонстрационную программу, которую потом можно преобразовать в рабочую ПП ввода информации с бытового магнитофона:

 

014 000 006 MAG: MVI В, 010Q

014001 010

014 002 026 MVI D, OOOQ

014 003 000

014004315 Ml: CALL IMP

014005 120

014 006 014

014007332 JC.M1

014011 014

014012315 CALL IMP

014013 120

014015332 JC.M1

014 016 004

014020315 M2: CALL IMP

014021 120

014023322 JNC, M2

014 024 020

014026315 CALL IMP

014027 120

014031 322 JNC, M2

014033 014

014034025 M3: OCR D

014035315 CALL IMP

014 036 120

014040332 JC, M3

014041 034

014043315 CALL IMP

014 044 120

014046332 JC, M3

014 047 034

014 050 014

014051024 M4: INR D

014052315 CALL IMP

014053 120

014054 014

014055322 JNC.M4

014056 051

014060315 CALL IMP

014061 120

014 062014

014 063 322 JNC, M4

014065 014

014 066 172 MOV A, D

014067.027 RAL

014070171 MOV А, С

014071037 RAR

014072117 MOVC, A

014 073 026 MVI D, OOOQ

014 074 000

014075005 OCR В

014076302 JNZ,M3

014 100014

014 101 171 MOV А, С

014 102 323 OUT, OOOQ

014 103 000

014104257 XRAA

014 105 117 MOVC, A

014106303 JMP.MAG

014 107000

014 110014

014120036 IMP: MVIE, 377Q

014 121 377

014122035 M5: DCR E

014123302 JNZ, M5

014 124 122

014 125 014

014126333 IN,003Q

014 127 003

014130037 RAR

014 131 311 RET

 

Программа поразрядно формирует в регистре С число, после­довательно вводимое через младший разряд порта 003 с по­мощью ПП IMP, которая производит опрос порта в заданном темпе. В основной части программы в регистре D подсчитыва­ются опросы и формируется знаковый разряд числа в зависи­мости от соотношения длительности пачки и паузы: если пачка длиннее паузы — в знаковом разряде 1, если короче — в знако­вом разряде 0. Биты знакового разряда последовательно зано­сятся в регистр С. Темп опроса задается числом по адресу 014Q 121Q, заносимым в регистр Е. В данном случае задержка равна 15-256 = 3840 мкс, а частота опроса соответственно равна 1/0,003840 ~260 Гц. Следовательно, при длине импульсной пачки до 0,5 с в регистре D накопится число, не большее 130, что гарантирует отсутствие переполнения регистра.

Перед вводом программы в ПМ-ЭВМ подключим к выводу 4 микросхемы D23 вывод 16 микросхемы D16 второй ПМ-ЭВМ, в которую введена описанная выше программа вывода, на­строенная на длительность импульсной пачки не более 0,5 с. Вместо второй ПМ-ЭВМ можно подключить приведенный на рис. 10.6 формирователь и магнитофон, на ленту которого пред­варительно записаны с ПМ-ЭВМ импульсные последовательно­сти для одиночных байтов, но тогда мы сталкиваемся с пробле­мами отладки всего тракта: ПМ-ЭВМ — выходной формирова­тель — магнитофон в режиме записи, а затем магнитофон в ре­жиме воспроизведения — входной формирователь — ПМ-ЭВМ. В то же время при непосредственной связи между двумя ПМ-ЭВМ отпадают проблемы согласования уровней и при этом могут быть заданы любые временные характеристики сигналов.

Настроим программу вывода передающей ПМ-ЭВМ на выда­чу одного байта информации из регистра С, т. е. используем программу в том виде, как она приведена в тексте. Для вывода байта необходимо нажать кнопки СБРОС и П. Если до этого в принимающей ПМ-ЭВМ были также нажаты кнопки СБРОС и П, через 3 — 4 с на индикаторах ее порта 000 можно будет на­блюдать код числа, идентичный коду, хранящемуся в регист­ре С передающей ПМ-ЭВМ. Чтобы снова передать байт инфор­мации, нужно снова нажать кнопки СБРОС и П. Меняя содер­жимое регистра С передающей ПМ-ЭВМ, можно проверить пра­вильность передачи для любых кодов. После такой проверки можно произвести проверку правильности передачи массива информации. Для этого в память передающей ПМ-ЭВМ нужно дополнительно ввести управляющую программу и внести в ос­новную программу указанные выше изменения. Управляющая программа имеет вид

 

014110041 ММ1: LXI H, ADM

014 111 000

014 112 015

014113116 ММ2: MOV C.M

014114315 CALL M1

014 115 002

014 116 014

014117054 INR L

014120302 JNZ,MM2

014 121 113

014 122014

014 123 166 HLT

 

Здесь ADM = ADMHQ ADMLQ - символический адрес начала массива чисел, заносимый в регистровую пару H; Ml - метка начала программы вывода информации. Максимальная длина передаваемого массива - 256 байт, если он начинается с адреса ADMHQ OOOQ и кончается адресом ADMHQ 377Q.

Для проверки правильности передачи необходимо нажать кнопки СБРОС и П принимающей ПМ-ЭВМ, нажать кнопку СБРОС, набрать адрес начала управляющей программы (метка ММ1) и нажать кнопку П передающей ПМ-ЭВМ. На индикаторах порта 000 принимающей ПМ-ЭВМ будут последовательно появ­ляться коды передаваемого массива. Коды массива могут быть занесены в ОЗУ принимающей ПМ-ЭВМ. Для этого вместо команды MOV С, А по адресу 014Q 105Q необходимо занести команду RET и ввести дополнительно управляющую программу вида

 

014 041 МА1: LXIH,ADM

014 141 000

О14 143 161 МА2: MOVM,C

014 144 315 CALL MAG

014 145 000

014 146 014

014 147 054 iVrS» л

014 150 302 JNZ, MA2

014 151 143

014 152 014

014 153 166 HLT

 

Теперь для запуска программы принимающей ПМ-ЭВМ необ­ходимо после нажатия кнопки СБРОС набрать адрес начала управляющей программы (метка МА1), а затем нажать кнопку П. Принимаемые коды по-прежнему наблюдаются на инди­каторах порта 000, но после окончания передачи правильность принятого массива легко проверить, считывая его последова­тельно на индикаторах порта 002 принимающей ПМ-ЭВМ с по­мощью клавиатуры. После такой проверки можно уже отла­дить передачу информации с рабочей скоростью порядка 150 бит/с, затем включить между передающей и принимающей ПМ-ЭВМ выходные и входные формирователи, снова прове­рить передачу и лишь после этого включать магнитофон.

 

ДИСПЛЕЙ НА БАЗЕ БЫТОВОГО

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...