Министерство образования и науки Украины
Национальный технический университет Украины
“Киевский политехнический институт”
Кафедра промышленной электроники
КУРСОВАЯ РОБОТА
по курсу
„Устройства и системы отображения и реестрации информации”
Киев 2008
1. Задание
Спроектировать систему отображения информации, с помощью которой на экране ЭЛТ, можно отобразить информацию, указанную в табл.1, методом линейчатого малоформатного растра:
В
|
Е
|
Р
|
Б
|
И
|
Ц
|
Ь
|
К
|
И
|
Й
|
Є
|
В
|
Г
|
Е
|
Н
|
В
|
О
|
Л
|
О
|
Д
|
И
|
М
|
И
|
Р
|
О
|
В
|
И
|
Ч
|
0
|
1
|
.
|
0
|
3
|
.
|
1
|
9
|
8
|
4
|
При этом параметры изображения следующие:
Ширина символа n1=5 точек;
Расстояние между символами nп.г.=2 точки;
Высота ряда n2=10 точек;
Расстояние между рядами nп.в.=4 точки.
2. УОИ с использованием малоформатного строчного растра
Для этих устройств характерно, что малоформатный телевизионный растр размещен в границах знакоместа. Формирование изображения получают подсвечиванием электронного луча в моменты прохождения через характерные для данного знака точки.
Различают малоформатные растры:
а) линейчатый;
б) точечный;
Рис.1. Временные диаграммы напряжений при малоформатном растре
Рис.2. Изображение, получаемое при использовании малоформатного растра (а – линейчатый, б – точечный)
Счетчики Лn1 и Лn2 вместе с ЦАП1 и ЦАП2 формируют точечный малоформатный растр. ЛЗН формирует номер знакоместа и через ЦАП3 устанавливает положение знакоместа в текстовой строке, а через адресные входи БЗУ вызывает код заданого на этом знакоместе символа. Аналогично, ЛТР формирует номер текстовой строки, адресует вместе с ЛЗН код символа, который формирует ЦАП4 в соответствующую текстовую строку. С целью унификации применен знакогенератор УОИ с телевизионной разверткой. При этом система имеет повышенное быстродействие в сравнении с УОИ, которые используют полноформатный растр, так как из цикла обращения к БЗУ исключено время выборки с БЗУ (вся матрица знака формируется при фиксированном адресе в БЗУ).
Рис. 3. Функциональная схема УОИ при использовании малоформатного растра
Преимущества линейчатого малоформатного растра
Малоформатный растр целесообразно использовать при выводе символьной информации. При использовании этого метода вывода информации экран система имеет такие преимущества:
электронный луч проходит каждое знакоместо по очереди, что упрощает систему хранения информации выводимой на экран. Это связанно с тем, что при передаче устройству отображения страницы текста, которую необходимо вывести, эта система будет загружать область данных из собственного ПЗУ соответствующих графическому образу каждого символа по очереди, а при полноформатном растре графический вид страницы нужно сформировать сразу. Это уменьшает размер оперативной памяти необходимой системе отображения, основанной на малоформатном растре;
Дисплей автоматически разбивается на знакоместа, что уменьшает количество тактов генератора не обходимое для сканирования одного кадра изображения (за счет пропуска электронным лучем пикселей находящихся на границе знакомест);
Возможность не сканировать знакоместо, если на него не выводится никакой информации (символ пробела), что также уменьшает количество тактов генератора не обходимое для сканирования одного кадра;
Преимущество линейчатого малоформатного растра над точечным является в более качественном изображении, что является следствием плавного перемещения электронного луча, в отличие от точечного, где электронной луч перемещается с дискретным шагом.
3.Описание работы по функциональной схеме
Функциональная схема устройства отображения показана на рис.4.
Рис.4. Функциональная схема УОИ
Опишем работу системы по функциональной схеме. С тактового генератора импульсы счета поступают на четыре счетчика:
счетчик строк экрана;
счетчик строк знакоместа;
счетчик знакомест строки;
счетчик точек знакоместа.
С выходов счетчиков двоичный код поступает на цифровые входы ЦАП, аналоговое напряжение с выхода которых поступает на отклоняющие пластины, которые отклоняют электронный в нужную точку экрана. Рассмотрим работу системы.
С каждым импульсом тактового генератора значение счетчика точек знакоместа увеличивается на 1. При этом электронный луч смещается на одну точку экрана вправо. При достижении конца строки знакоместа, система сравнения счетчика точек знакоместа формирует импульс, который сбрасывает счетчик точек знакоместа и увеличивает значение счетчика строк знакоместа. При этом электронный луч переходит на начало следующей строки знакоместа. Когда срабатывает система сравнения счетчика строк знакоместа, то она сбрасывает счетчик строк знакоместа и увеличивает значение счетчика знакомест строки. При этом электронный луч переходит на начало следующего знакоместа. Когда срабатывает система сравнения счетчика знакомест строки, то она сбрасывает счетчик знакомест строки и увеличивает значение счетчика строк экрана. При этом электронный луч переходит на начало следующей строки экрана. Когда срабатывает система сравнения счетчика строк экрана, то начинается новый цикл развертки экрана. При этом электронный луч переходит на начало первого знакоместа в первой строки экрана.
Число, при котором система срабатывания каждого из счетчиков сформирует управляющий импульс, зависит от количества точек и строк знакоместа и количества знакомест и строк на экране.
На входы ЦАПХ и ЦАПY поступает суммарный код отклонения электронного луча, который складывается из заданного отклонения в каждой точке знакоместа (локальные координаты) и отклонения начала каждого знакоместа на экране (глобальные координаты). Локальные координаты содержаться в счетчиках строк знакоместа и точек знакоместа, а глобальны – в счетчиках строк экрана и знакомест экрана. Для суммирования глобальных и локальных координат отклонения луча по осям служат сумматоры. Но после счетчиков глобальных координат дополнительно стоят умножители, чтобы учесть весовые коэффициенты глобальных и локальных координат. Они умножают значение счетчиков глобальных координат на числа, которые соответствуют числу точек знакоместа в строке плюс расстояние между знакоместами по горизонтали (для счетчика знакомест экрана) и числу строк знакоместа плюс расстояние между знакоместами по вертикали. С выходов сумматоров цифровой код подается на ЦАПХ и ЦАПY. Они формируют такие напряжения, которые соответствует необходимому смещению электронного луча на экране.
При этом значения с выходов счетчиков дополнительно подаются на адресные входы ПЗУ1, ПЗУ2 и мультиплексора.
В ПЗУ2 хранится графические образы каждого неповторяющегося символа изображения, которое выводится на экран.
ПЗУ1 необходимо для перекодировки номера знакоместа и строки в которой находиться выводимый символ, в значение старшей части адреса, где храниться его графический образ. На адресные входы ПЗУ1 подаются данные со счетчиков знакомест строки и строк экрана, а на ее выходе формируются старшие разряды адреса ПЗУ2, которые указывают на начало области данных, хранящие графический образ выводимого в данный момент символа. Это сделано для экономии размера суммарного объема ПЗУ так как один и тот же символ может выводиться на экран несколько раз. ПЗУ1 также выполняет функцию пропуска знакоместа, на который выводиться символ пробела, так как для вывода этого символа знакоместо вообще не подсвечивается. Это делается следующим образом. Если на адресные входы ПЗУ1 поступает число, соответствующее знакоместу на которое выводится символ пробела, то на ее выводе данных, который подсоединяются через микросхемы ИЛИ и И к счетчикам точек знакоместа и знакомест строки экрана, формируются сигналы увеличивающие счетчик знакомест на 1 и сбрасывающие счетчик точек знакоместа. Делается это следующим образом. Если надо пропустить знакоместо, то в ПЗУ1 в бит который соответствует линии данных, подсоединенных к счетчикам формируется высокий уровень сигнала. Это приводит к увеличению значения счетчика знакомест строки на 1. Как видно из функциональной схемы выход данных ПЗУ1 подсоединен к входу инкремента счетчика умножившись на сигнал тактового генератора. Это делается для того, чтобы при выводе нескольких подряд идущих пробелов, на входе счетчика знакомест создавался бы передний фронт сигнала. Если бы не было применено это решение, то на счетчик знакомест непрерывно подавался бы сигнал высокого уровня. Так как увеличение значения счетчика происходит по переднему фронту, то в независимости от количества подряд идущих пробелов, его значение увеличилось бы на 1. Поэтому необходимо формировать на входе счетчика знакомест сначала низкий уровень, а потом высокий для формирования переднего фронта сигнала. Так как при этом значение счетчика точек знакоместа увеличиться на 1, то следует этот счетчик сбросить, что делается путем подачи этого же выхода данных ПЗУ1 на вход сброса этого счетчика.
Мультиплексор нужен для преобразования данных из параллельной формы в последовательную. С выхода мультиплексора этот сигнал поступает на модулятор электронной трубки и, следовательно, управляет яркостью изображения. Исходя из этого, при каждом такте тактового генератора значение счетчика меняется и на вход модулятора подается сигнал яркости следующей точки изображения.
4.Расчетная часть
Изображение электронной визитки имеет N=52 знакоместа, S= 4 строки.
Запишем неповторяющиеся символы в таблицу 1 и присвоим им номера.
Таблица 1
Символ
|
В
|
Е
|
Р
|
Б
|
И
|
Ц
|
Ь
|
К
|
Й
|
Є
|
Г
|
Н
|
О
|
Л
|
Д
|
М
|
Ч
|
0
|
1
|
.
|
3
|
9
|
8
|
4
|
Номер символа
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
Nа=24 — число встречающихся символов.
Число битов необходимое для адресации одного из символов n=[log223]=5.
Составим таблицу перекодировки знакомест символов в число соответствующее номеру символа согласно табл.. Это значения будут прошиваться в ПЗУ1 для адресации графического образа символов в ПЗУ2. Для этого на адресные входы ПЗУ1 подаются данные со счетчиков знакомест строки и счетчика строк экрана. Определим разрядность ПЗУ1. Так как числа со счетчиков знакомест и строк экрана не суммируются, а подаются на отдельные группы адресных разрядов, то разрядность ПЗУ1 будет определяться по формуле
.
Это означает, что минимальная емкость ПЗУ1 должна быть 26=64 байта. Из-за того, что адреса с выходов счетчиков знакомест и строк не были просуммированы емкость ПЗУ1 будет избыточна (64 байта вместо 52 байт), но при этом упрощается схема. Значение адреса ПЗУ1 в зависимости от номера знакоместа NЗН находится по формуле . При этом 5 разрядов шины данных ПЗУ1 будут использоваться для адресации графического образа символов (эти 5 разрядов будут старшей частью адреса ПЗУ2). Также 6-ой разряд шины данных ПЗУ1 будут использоваться для пропуска знакомест содержащих пробелы. При чем если шестой разряд равен 0, то это означает, что на этом месте пробел. Согласно этим соображениям таблица прошивки ПЗУ1 будет иметь вид согласно таблице 2:
Таблица 2
Номер знакоместа
|
Изображенный на нем символ
|
Адрес ПЗУ1
|
Данные по этому адресу
|
0
|
Пробел
|
010=0000002
|
0ххххх2 (пропуск)
|
1
|
В
|
110=0000012
|
3210+010=1000002
|
2
|
Е
|
210=0000102
|
3210+110=1000012
|
3
|
Р
|
310=0000112
|
3210+210=1000102
|
4
|
Б
|
410=0001002
|
3210+310=1000112
|
5
|
И
|
510=0001012
|
3210+410=1001002
|
6
|
Ц
|
610=0001102
|
3210+510=1001012
|
7
|
Ь
|
710=0001112
|
3210+610=1001102
|
8
|
К
|
810=0010002
|
3210+710=1001112
|
9
|
И
|
910=0010012
|
3210+410=1001002
|
10
|
Й
|
1010=0010102
|
3210+810=1010002
|
11
|
Пробел
|
1110=0010112
|
0ххххх2(пропуск)
|
12
|
Пробел
|
1210=0011002
|
0ххххх2(пропуск)
|
13
|
Пробел
|
1610=0100002
|
0ххххх2(пропуск)
|
14
|
Пробел
|
1710=0100012
|
0ххххх2(пропуск)
|
15
|
Пробел
|
1810=0100102
|
0ххххх2(пропуск)
|
16
|
Пробел
|
1910=0100112
|
0ххххх2(пропуск)
|
17
|
Є
|
2010=0101002
|
3210+910=1010012
|
18
|
В
|
2110=0101012
|
3210+010=1000002
|
19
|
Г
|
2210=0101102
|
3210+1010=1010102
|
20
|
Е
|
2310=0101112
|
3210+110=1000012
|
21
|
Н
|
2410=0110002
|
3210+1110=1010112
|
22
|
Пробел
|
2510=0110012
|
0ххххх2(пропуск)
|
23
|
Пробел
|
2610=0110102
|
0ххххх2(пропуск)
|
24
|
Пробел
|
2710=1110112
|
0ххххх2(пропуск)
|
25
|
Пробел
|
2810=0111002
|
0ххххх2(пропуск)
|
26
|
В
|
3210=1000002
|
3210+010=1000002
|
27
|
О
|
3310=1000012
|
3210+1210=1011002
|
28
|
Л
|
3410=1000102
|
3210+1310=1011012
|
29
|
О
|
3510=1000112
|
3210+1210=1011002
|
30
|
Д
|
3610=1001002
|
3210+1410=1011102
|
31
|
И
|
3710=1001012
|
3210+410=1001002
|
32
|
М
|
3810=1001102
|
3210+1510=1011112
|
33
|
И
|
3910=1001112
|
3210+410=1001002
|
34
|
Р
|
4010=1010002
|
3210+210=1000102
|
35
|
О
|
4110=1010012
|
3210+1210=1011002
|
36
|
В
|
4210=1010102
|
3210+010=1000002
|
37
|
И
|
4310=1010112
|
3210+410=1001002
|
38
|
Ч
|
4410=1011002
|
3210+1610=1100002
|
39
|
Пробел
|
4810=1100002
|
0ххххх2(пропуск)
|
40
|
0
|
4910=1100012
|
3210+1710=1100012
|
41
|
1
|
5010=1100102
|
3210+1810=1100102
|
42
|
.
|
5110=1100112
|
3210+1910=1100112
|
43
|
0
|
5210=1101002
|
3210+1710=1100012
|
44
|
3
|
5310=1101012
|
3210+2010=1101002
|
45
|
.
|
5410=1101102
|
3210+1910=1100112
|
46
|
1
|
5510=1101112
|
3210+1810=1100102
|
47
|
9
|
5610=1110002
|
3210+2110=1101012
|
48
|
8
|
5710=1110012
|
3210+2210=1101102
|
49
|
4
|
5810=1110102
|
3210+2310=1101112
|
50
|
Пробел
|
5910=1110112
|
0ххххх2(пропуск)
|
51
|
Пробел
|
6010=1111002
|
0ххххх2(пропуск)
|
Рассчитаем параметры ПЗУ2, которая предназначается для хранения данных. Согласно выше указанному, на ее старшие 5 адресных выводов сигналы подаются с шины ПЗУ1. На младшие адресные разряды ПЗУ2 будут подаваться данные со счетчика строк знакоместа. При этом на 8-ми разрядной шине данных, в параллельном виде, будут выдаваться значения яркости каждой точки изображения этой строки. Так как высота символа составляет n2=10 точек, то для адресации каждой строки необходимо адресных разряда. С учетом старших адресных разрядов данное ПЗУ будет иметь 9 адресных разрядов и емкость 512 байт. Так как ширина символа n1=5 точек, то реально будут использоваться данные только с 5 линий шины данных ПЗУ2. Для преобразования данных с выхода ПЗУ2 в последовательную форму служит мультиплексор на 8 входов. На его адресные выводы будут подаваться сигналы со счетчика точек знакоместа и при этом на его выходе в последовательной форме будут выводиться данные ПЗУ2.
Посчитаем разрешение экрана, которое необходимо для вывода информации с заданными параметрами.
Разрешение по горизонтали равно:
точек.
Разрешение по вертикали равно:
точки.
Формирование горизонтальной и вертикальной разверток будет производиться с помощью ЦАП. Предпочтение ЦАП при формировании горизонтальной развертке было отдано по той причине, что по сравнению с генератором пилообразного напряжения имеет такие преимущества:
выходное напряжение на ЦАПе зависит только от подаваемого на его входы двоичного кода, из-за этого его, по сравнению с ГПН, его не нужно настраивать и рассчитывать;
конструктивно ЦАП исполнен в одном корпусе, что облегчает его монтаж и разводку платы в целом;
обратный ход луча происходит почти мгновенно (по сравнению с одним тактом тактового генератора).
Но при использовании ЦАП пилообразное напряжение буде заменено ступенчатым, где каждая ступенька будет равна шагу квантования ЦАП. Поэтому чем больше разрядность ЦАП, тем больше, генерируемое с помощью него напряжение будет приближаться к пилообразному. В принципе, разрядность ЦАП должна быть такой, чтобы расстояние между двумя точками на экране устройства отображения было таким, чтобы они воспринималось как одна точка (ощущение непрерывности изображения). Так как современные телевизоры имеют разрешение 625x400, то для формирования изображения можно использовать 10-разрядные ЦАП (1024 уровня напряжения).
Рассчитаем, сколько уровней квантования ЦАП будет приходиться на каждую точку изображения. Для этого нужно поделить количество уровней квантования ЦАП на количество точек по горизонтали и вертикали.
Количество уровней квантования на каждую точку равно:
.
Но для упрощения схемной реализации устройства отображения, количество уровней квантования на каждую точку возьмем равным числу 2n, где n – наибольшее возможное число для которого выполняется условие: Исходя из этого Nkx=8. При этом ЦАП отклонения по оси Х, при такой схемной реализации, будет иметь уровней квантования, а по оси Y–уровня квантования (ЦАПы будут использованы не полностью).
При расчете генератора нужно учесть, что электронный луч будет проходить не по всем пикселям изображения. Во первых, это пиксели которые расположены между знакоместами (они нужны только для формирования дистанции между знакоместами), во-вторых – при наперед заданном статическом изображении экрана, есть знакоместа на которых будет выводиться пробелы, что фактически соответствует темному экрану. Поэтому нет смысла формировать развертку на этих знакоместах, а можно попросту перейти на формирование изображения следующего знакоместа.
Согласно этим соображениям рассчитаем эффективное количество точек изображения. Для начала рассчитаем, сколько точек изображения находиться в одном знакоместе:
пикселей.
Посчитаем сколько знакомест занято буквами Nэф=38. То есть, для 38 знакомест будет формироваться малоформатный растр, а через остальные 14 знакомест электронный луч просто будет проскакивать, затрачивая на это один такт генератора.
Поэтому эффективное количество точек всего изображения равно:
пикселей,
где слагаемое (N-Nэф)·1, учитывает, что знакоместо, на которое выводится пробел, электронный луч задерживается на 1 такт генератора
Исходя из этих данных и учитывая, что частота кадровой развертки равна 50 Гц, можно рассчитать частоту тактового генератора:
Гц.
Рассчитаем разрядность счетчиков и число, при котором каждый счетчик должен сбрасываться.
Счетчик точек знакоместа
Число точек в строке знакоместа равно:
.
Для возможности счета до такого числа счетчик точек знакоместа должен иметь
разрядов.
Сброс этого счетчика должен производится по числу 40.
Счетчик строк знакоместа
Число строк знакоместа равно:. Для возможности счета до такого числа счетчик точек знакоместа должен иметь разряда. Сброс этого счетчика должен производится по числу 10.
Счетчик знакомест строки
Число знакомест в строке экрана определяется самым длинным словом Nx_э=13. Для возможности счета до такого числа счетчик точек знакоместа должен иметь разряда. Сброс этого счетчика должен производится по числу 13.
Счетчик строк экрана
Число строк экрана равно Nу_э=4. Для возможности счета до такого числа счетчик точек знакоместа должен иметь разряда. Сброс этого счетчика должен производится по числу 4.
Проектирование системы сравнения каждого счетчика
Система сравнения каждого счетчика будет создана на основе логических микросхем И и ИЛИ, на выходе которых при поступлении на их вход заданного числа будет формироваться сигнал сброса данного счетчика и инкремента следующего по иерархии счетчика.
Счетчик точек знакоместа
Число, при котором должен сбрасываться этот счетчик равно 40. Для построения этой системы переведем число 40 в двоичный вид 4010=1010002. Будем считать, что управляющий сигнал должен быть высокого уровня. Тогда, обозначив двоичные разряды справа налево как а0..а5 запишем целевую функцию:.
Счетчик строк знакоместа
Число, при котором должен сбрасываться этот счетчик равно 10. Для построения этой системы переведем число 10 в двоичный вид 1010=10102. Тогда, обозначив двоичные разряды справа налево как а0..а3 запишем целевую функцию:.
Счетчик знакомест строки
Число, при котором должен сбрасываться этот счетчик равно 13. Для построения этой системы переведем число 13 в двоичный вид 1310=11012. Тогда, обозначив двоичные разряды справа налево как а0..а3 запишем целевую функцию:.
Счетчик строк экрана
Число, при котором должен сбрасываться этот счетчик равно 4 и кратно степени 2. Поэтому это счетчик будет сбрасываться автоматически.
Расчет умножителей счетчиков знакомест и строк экрана
При переходе электронного луча на новое знакоместо счетчик знакомест экрана увеличивается на 1. При этом электронный луч должен смещаться по горизонтали на точек вправо. Поэтому значение с выхода счетчика знакомест нужно умножить на это число, прежде чем подать на входы сумматора. В числе Nзн как множитель содержится число 8. Как известно умножение на 8 эквивалентно сдвигу на 3 двоичных разряда влево. Поэтому число с выхода счетчика знакомест нужно умножить на 7, а на сумматор это перемноженное число нужно подавать начиная не с 0-го, а со 2-го разряда.
При переходе электронного луча на новую строку экрана счетчик строк экрана увеличивается на 1. Но при этом электронный луч должен смещаться по вертикали на точек вниз. Поэтому значение с выхода счетчика строк нужно умножить на это число, прежде чем подать на входы сумматора. В числе Nзн как множитель содержится число 2. Как известно умножение на 2 эквивалентно сдвигу на 1 двоичный разряд влево. Поэтому число с выхода счетчика строк нужно умножить на 7, а на сумматор это перемноженное число нужно подавать, начиная не с 0-го, а с 1-го разряда.
Реализация умножения
Умножение счетчиков знакомест и строк экрана на константу 7 реализуем с помощью сумматоров. Сначала реализуем умножение содержимого счетчика знакомест строки. Этот счетчик 4-разрядный. Поэтому в двоичном коде это число можно представить в виде а3а2а1а0. Заменим операцию умножения на 7 сложением: . Реализуем сначала сумму первых двух слагаемых. При этом младший разряд суммы равен а0, так как этот бит суммируется с нулем. Следовательно, на входы суммирования первого сумматора подаются следующие числа: на один вход а3а2а1а0, а на другой - 0а3а2а1. В результате суммирования получиться 6-разрядная сумма b5b4b3b2b1b0. Это число нужно сложить с третьим слагаемым а3а2а1а000. Так как два младших разряда этого слагаемого равны нулю, то два младших разряда их суммы будут равняться b1b0. А остальные разряды нужно снова просуммировать с помощью сумматора. При этом на один вход сумматора подается число b5b4b3b2, а на другой – а3а2а1а0. При этом получиться семиразрядное число с6с5с4с3с2с1с0. Из выше сказанного следует, что для операции умножения данных с выхода счетчика знакомест строки потребуется два четырехразрядных сумматора.
Реализуем операцию умножения на 7 счетчика строк экрана. Этот счетчик 2-разрядный. Поэтому в двоичном коде это число можно представить в виде а1а0. Заменим операцию умножения на 7 сложением:. Реализуем сначала сумму первых двух слагаемых. При этом младший разряд суммы равен а0, так как этот бит суммируется с нулем. Следовательно, на входы суммирования первого сумматора подаются следующие числа: на один вход а1а0, а на другой - 0а1. В результате суммирования получиться 4-разрядная сумма b3b2b1b0. Это число нужно сложить с третьим слагаемым а1а000. Так как два младших разряда этого слагаемого равны нулю, то два младших разряда их суммы будут равняться b1b0. А остальные разряды нужно снова просуммировать с помощью сумматора. При этом на один вход сумматора подается число b3b2, а на другой – а1а0. При этом получиться пятиразрядное число. Из выше сказанного следует, что для операции умножения данных с выхода счетчика знакомест строки потребуется два двухразрядных сумматора. Но для унификации микросхем будем использовать такие же четырехразрядные счетчики.
Реализация суммирования глобальных и локальных координат
Суммирование глобальных координат будет производиться с помощью тех же 4-разрядных сумматоров. Сначала опишем суммирование значений счетчиков точек знакоместа и знакомест строки. При этом значение счетчика знакомест строки будет умножено на 56. Путем умножения на 7 и сдвига влево на 3 разряда. Поэтому на вход суммы значение счетчика знакомест будет подаваться с схемы умножения на 7. К тому же это значение нужно умножить на 8, то есть сдвинуть на три разряда влево. Поэтому младшие три разряда суммы будут равняться младшим трем разрядам счетчика точек знакоместа. Исходя из этого будут суммироваться 10-разрядное число (счетчик знакомест строки) и 6-разрядное число, но младшие три разряда суммы будут получены непосредственно. Следовательно, для суммирования двух этих чисел необходимо два 4-разрядных счетчика.
Суммирование значений счетчиков строк знакоместа и экрана будет производиться аналогично. Но значение счетчика знакомест экрана после схемы умножения нужно умножить на 2, то есть сдвинуть на один разряд влево. Поэтому младший разряд суммы будет равняться младшему разряду счетчика строк знакоместа. Исходя из этого, будут суммироваться 5-разрядное число (счетчик строк экрана) и 4-разрядное число, но младший разряд суммы будет получен непосредственно. Следовательно, для суммирования двух этих чисел необходим один 4-разрядный счетчик. Но при этом для получения шестого разряда суммы пятый разряд суммы счетчика строк экрана суммируется с флагом переноса сумматора.
Подсоединение разрядов счетчиков к ПЗУ и мультиплексору
Для адресации данных в ПЗУ2 используются адресные разряды счетчика строк знакоместа. Разряды счетчика точек знакоместа подсоединены к мультиплексору. С их помощью данные о точках выводимого символа преобразуются из параллельной в последовательную форму. Причем на адресные входы мультиплексора подаются разряды 3..5, так как младшие разряды нужны лишь для формирования псевдопилообразного напряжения.
Описание подключения ЦАП
В данной работе были использованы 10-разрядныеАЦП фирмы Texas Instruments DAC 900. Функциональная схема этого ЦАП приведена на рис. 5:
Рис. 5. Функциональная схема ЦАП
Его отличие от обычных ЦАП является большое выходное сопротивление. Поэтому пропорционально двоичному коду меняется не напряжение, а величина тока. В этом ЦАП встроен источник опорного напряжения (+1.24В), выбор которого осуществляется подачей низкого напряжения на вход INT/EXT. Величина выходного тока ЦАП будет зависеть от величины резистора подключенного ко входу FSA следующим образом:
.
Выходной ток снимается с выхода IOUT.Этот ЦАП имеет возможность дифференциального включения. Для этого служит дополнительный выход Максимальная нагрузочная способность – 20 мА. Был выбран Резистор RFSA= 5.1 кОм. При этом максимальный ток ЦАП равен
мА.
ЦАПХ использован полностью, так как к его шине данных подходят все 10 разрядов. К шине данных ЦАПУ подходят 6 разрядов. Они подключены к старшей части шины данных ЦАП, так как при этом нагрузочная способность ЦАП используется по максимуму.
Описание генератора
В качестве генератора был использован генератор с программируемой частотой (в пределах от 133 кГц до 66.6 МГц) DS1086 фирмы DALLAS Semiconductor. Значение частоты генератора (f = 760 кГц) записывается по интерфейсу I2C и храниться во внутреннем ПЗУ генератора. Поэтому, единожды запрограммировав его на фиксированную частоту его можно использовать по назначению.
5. Работа по принципиальной схеме
Импульсы с тактового генератора DD6 поступают на вход инкремента 6-разрядного счетчика точек знакоместа, собранный на двоичных счетчиках DD11, DD12 54ALS169B2A. Одновременно генератор тактирует вывод управляющих напряжений ЦАПами. Когда значение счетчика точек знакоместа достигает 40, то срабатывает система сброса этого счетчика, собранная на микросхемах DD1.1-DD1.4, DD4, DD9.1 и на ее выходе установится сигнал низкого уровня. Так как он подается на вход параллельной загрузки счетчика РЕ, то на его выходе появляются данные, которые подаются на входы параллельной загрузки D1-D4. Так как там нули, то на выходе счетчика появится нули (начальная установка). На выходе системы сброса вновь появится высокий потенциал и счет начнется снова.
При этом на вход инкремента счетчика строк знакоместа, собранного на микросхеме DD12 подается положительный фронт сигнала, что увеличивает его значение на 1. Его система сброса, собранная на микросхемах DD1.5-DD1.6, DD5.1, сработает при значении на выходе этого счетчика равному 10.
При сбросе счетчика строк знакоместа значение счетчика знакомест строки, собранного на микросхеме DD13, увеличиться на 1. Система сброса счетчика знакомест строки собрана на микросхемах DD2.1-DD2.2, DD5.2, DD8.1, DD9.2. Она сработает при значении на выходе этого счетчика равному 13.
При сбросе счетчика знакомест строки значение счетчика строк экрана, собранного на микросхеме DD15, увеличиться на 1. У этого счетчика нет системы сброса, так как он должен сбрасываться при значении на его выходе равному 4, и это делается автоматически.
Фактически в вышеуказанных 4-х счетчиках хранятся координаты точки экрана, на которой фокусируется электронный луч. Но для получения этих координат в явной форме нужно просуммировать значения счетчиков точек знакоместа и знакомест строки, а также – счетчиков строк знакоместа и экрана. Это делается с помощью сумматоров DD15-DD17 и микросхемы DD20.1. Но при этом нужно учесть весовые коэффициенты при их суммировании, поэтому нужно умножить значение счетчиков знакомест строки и строк экрана на соответствующие коэффициенты, что делается с помощью сумматоров DD19, DD20, DD22, DD23. После умножения и суммирования цифровой код подается на шину адресов ЦАПХ и ЦАПУ, на выходе которых формируется напряжение, которое подается на отклоняющие пластины ЭЛТ.
Яркость каждой точки изображения хранится в ПЗУ DD7. Извлечение данных о каждом символе, который выводится на определенное знакоместо, происходит следующим образом. В ПЗУ DD3 хранится таблица перекодировки номера знакоместа в номер символа, который выводится на данное знакоместо. Поэтому подавая на адресные входы этого ПЗУ данные со счетчиков знакомест строки и строк знакоместа, на выходе мы получим номер выводимого символа на данное знакоместо. При этом, надо учесть, что для вывода пробела никаких действий производить не надо. Для пропуска знакоместа на которое выводиться пробел следует увеличить на 1 значение счетчика знакомест строки. Для этой функции служит 6-ой разряд ПЗУ DD3: если на данном знакоместе надо вывести пробел, то его значение стает равным 0. Этот бит подается на систему сброса счетчика знакомест, которая автоматически увеличивает счетчик знакомест строки на 1, если этот бит равен 0. Для создания положительного фронта на системе сброса через схему И подаются импульсы с тактового генератора.
Данные с ПЗУ DD3 определяют старшую часть адреса ПЗУ DD7, где хранится графический образ выводимого символа. Младшая часть адреса этого ПЗУ определяется данными со счетчика строк знакоместа. При этом на выходе ПЗУ DD7 появляется байт, который соответствует яркости каждого пикселя строки знакоместа. Для подачи этой последовательности на модулятор следует преобразовать ее в последовательную форму. Это делается с помощью мультиплексора DD10, на адресные входы которого подаются данные со счетчика точек знакоместа. То есть согласно номеру точки в строке знакоместа на выходе мультиплексора появляется потенциал, соответствующий ее яркости.
Выводы
В ходе этой курсовой работы была разработана система отображения статического изображения, которая использует малоформатный линейчатый растр. В этой системе формируется кадровая развертка электронного луча и напряжение яркости, которое подается на модулятор. Изображение, которое должно выводиться хранится в ПЗУ, а напряжение развертки формируют два ЦАПа. Причем данные о каждом выводимом символе хранятся в отдельных сегментах памяти. Это дает возможность экономить количество памяти при увеличении количества информации выводимой на экран. Так как если в ПЗУ сохранены графические образы всех символов выводимого алфавита, то объем памяти необходимый для формирования всего экрана будет неизменным при любом числе выводимых символов данного алфавита. При этом для вывода некоторого символа на определенное знакоместо следует сформировать адрес сегмента ПЗУ в котором храниться графический образ этого символа. Для этого служат четыре счетчика, которые тактируются от генератора импульсов. На их выходах формируются числовые коды, которые соответствуют отклонению электронного луча на экране. Причем двое из них служат для формирования локальных координат (координаты луча в знакоместе) – счетчики точек и строк знакоместа, а остальные два, счетчик знакомест строки и строк экрана формируют глобальные координаты. Далее глобальные и локальные координаты по координатам Х и У складываются и подаются на соответствующие ЦАПы, а затем на отклоняющие пластины системы отображения.
Параллельно глобальные координаты подаются на перекодировщик номера знакоместа в адрес сегмента данных, где хранится символ, который выводится на это знакоместо. Локальные координаты служат для определения адреса в сегменте выводимой точки изображения – данные со счетчика строк знакоместа задают младшую часть адреса ПЗУ, где хранятся выводимые символы. Данные со счетчика точек знакоместа подаются на мультиплексор, который преобразует байт данных с выхода ПЗУ в последовательную форму, после чего этот сигнал в последовательной форме подается на модулятор.
Преимуществом данной системы является то, что она содержит только цифровые узлы, что дает возможность изготовлять такие системы, не заботясь о ее настройке, упрощает ее эксплуатацию и ремонт.
Литература
1. Яблонский Ф.П. Троицкиий Ю.В. “Средства отображения информации”.
2. Зубчук В.И. “Справочник по цифровой схемотехники”.
3. Методичні вказівки до виконання курсової роботи по курсу “Пристрої та системи відображення та реєстрації інформації” для спеціалістів та магістрів спеціальності “Електронні системи” всіх форм навчання / Упор. М.Ю.Артеменко.-К.:НТУУ “КПІ”, 2001.-24 с.
4. Яблонский Ф.М., Троицкий Ю.В. “Средства отображения информации”-М.:Высшая школа, 1985.-172 с.
5. Алиев Т.М., Вигдоров Д.И., Кривошеев В.П. “Системы отображения информации”.-М.:Высшая школа, 1988.-223 с.
6. Шило В.Л. Популярные цифровые микросхемы: Справочник. – Челябинск: Металлургия, 1989. – 352 с.
7. Лебедев О.Н. Микросхемы памяти и их применение. – М: РиС, 1990.
8. Пухальский Г.И., Новосельцева Т.Я. Цифровые устройства. СПб.: Политехника, 1996.
Приложение 1. Прошивка ПЗУ2
Буква "В"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
1
|
00000
|
0000
|
11110
|
1
|
1
|
00000
|
0001
|
10010
|
1
|
1
|
00000
|
0010
|
10010
|
1
|
1
|
00000
|
0011
|
10010
|
1
|
1
|
1
|
00000
|
0100
|
11100
|
1
|
1
|
1
|
1
|
1
|
00000
|
0101
|
11111
|
1
|
1
|
00000
|
0110
|
10001
|
1
|
1
|
00000
|
0111
|
10001
|
1
|
1
|
00000
|
1000
|
10001
|
1
|
1
|
1
|
1
|
1
|
00000
|
1001
|
11111
|
Буква "Е"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
1
|
1
|
00001
|
0000
|
11111
|
1
|
00001
|
0001
|
10000
|
1
|
00001
|
0010
|
10000
|
1
|
00001
|
0011
|
10000
|
1
|
1
|
1
|
1
|
00001
|
0100
|
11110
|
1
|
00001
|
0101
|
10000
|
1
|
00001
|
0110
|
10000
|
1
|
00001
|
0111
|
10000
|
1
|
00001
|
1000
|
10000
|
1
|
1
|
1
|
1
|
1
|
00001
|
1001
|
11111
|
Буква "Р"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
1
|
1
|
00010
|
0000
|
11111
|
1
|
1
|
00010
|
0001
|
10001
|
1
|
1
|
00010
|
0010
|
10001
|
1
|
1
|
00010
|
0011
|
10001
|
1
|
1
|
00010
|
0100
|
10001
|
1
|
1
|
1
|
1
|
00010
|
0101
|
11110
|
1
|
00010
|
0110
|
10000
|
1
|
00010
|
0111
|
10000
|
1
|
00010
|
1000
|
10000
|
1
|
00010
|
1001
|
10000
|
Буква "Б"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
1
|
1
|
00011
|
0000
|
11111
|
1
|
00011
|
0001
|
10000
|
1
|
00011
|
0010
|
10000
|
1
|
00011
|
0011
|
10000
|
1
|
1
|
1
|
1
|
00011
|
0100
|
11110
|
1
|
1
|
00011
|
0101
|
10001
|
1
|
1
|
00011
|
0110
|
10001
|
1
|
1
|
00011
|
0111
|
10001
|
1
|
1
|
00011
|
1000
|
10001
|
1
|
1
|
1
|
1
|
1
|
00011
|
1001
|
11111
|
Буква "И"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
00100
|
0000
|
10001
|
1
|
1
|
00100
|
0001
|
10001
|
1
|
1
|
00100
|
0010
|
10001
|
1
|
1
|
1
|
00100
|
0011
|
10011
|
1
|
1
|
1
|
00100
|
0100
|
10011
|
1
|
1
|
1
|
00100
|
0101
|
10101
|
1
|
1
|
1
|
00100
|
0110
|
10101
|
1
|
1
|
1
|
00100
|
0111
|
11001
|
1
|
1
|
1
|
00100
|
1000
|
11001
|
1
|
1
|
00100
|
1001
|
10001
|
Буква "Ц"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
00101
|
0000
|
10010
|
1
|
1
|
00101
|
0001
|
10010
|
1
|
1
|
00101
|
0010
|
10010
|
1
|
1
|
00101
|
0011
|
10010
|
1
|
1
|
00101
|
0100
|
10011
|
1
|
1
|
00101
|
0101
|
10010
|
1
|
1
|
00101
|
0110
|
10010
|
1
|
1
|
00101
|
0111
|
10010
|
1
|
1
|
1
|
1
|
1
|
00101
|
1000
|
11111
|
1
|
1
|
00101
|
1001
|
00011
|
Буква "Ь"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
00110
|
0000
|
10000
|
1
|
00110
|
0001
|
10000
|
1
|
00110
|
0010
|
10000
|
1
|
00110
|
0011
|
10000
|
1
|
00110
|
0100
|
10000
|
1
|
1
|
1
|
1
|
1
|
00110
|
0101
|
11111
|
1
|
1
|
00110
|
0110
|
10001
|
1
|
1
|
00110
|
0111
|
10001
|
1
|
1
|
00110
|
1000
|
10001
|
1
|
1
|
1
|
1
|
1
|
00110
|
1001
|
11111
|
Буква "К"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
00111
|
0000
|
10001
|
1
|
1
|
00111
|
0001
|
10001
|
1
|
1
|
00111
|
0010
|
10010
|
1
|
1
|
00111
|
0011
|
10100
|
1
|
1
|
00111
|
0100
|
11000
|
1
|
1
|
1
|
1
|
00111
|
0101
|
11110
|
1
|
1
|
00111
|
0110
|
10001
|
1
|
1
|
00111
|
0111
|
10001
|
1
|
1
|
00111
|
1000
|
10001
|
1
|
1
|
00111
|
1001
|
10001
|
Буква "Й"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
01000
|
0000
|
01110
|
01000
|
0001
|
00000
|
1
|
1
|
01000
|
0010
|
10001
|
1
|
1
|
01000
|
0011
|
10001
|
1
|
1
|
1
|
01000
|
0100
|
10011
|
1
|
1
|
1
|
01000
|
0101
|
10011
|
1
|
1
|
1
|
01000
|
0110
|
10101
|
1
|
1
|
1
|
01000
|
0111
|
10101
|
1
|
1
|
1
|
01000
|
1000
|
11001
|
1
|
1
|
01000
|
1001
|
10001
|
Буква "Є"
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
01001
|
0000
|
01110
|
1
|
1
|
01001
|
0001
|
10001
|
1
|
01001
|
0010
|
10000
|
1
|
01001
|
0011
|
10000
|
1
|
1
|
1
|
1
|
01001
|
0100
|
11110
|
1
|
01001
|
0101
|
10000
|
1
|
01001
|
0110
|
10000
|
1
|
01001
|
0111
|
10000
|
1
|
1
|
01001
|
1000
|
10001
|
1
|
1
|
1
|
01001
|
1001
|
01110
|
Буква “Д”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
01110
|
0000
|
01110
|
1
|
1
|
01110
|
0001
|
01010
|
1
|
1
|
01110
|
0010
|
01010
|
1
|
1
|
01110
|
0011
|
01010
|
1
|
1
|
01110
|
0100
|
01010
|
1
|
1
|
1
|
1
|
1
|
01110
|
0101
|
11111
|
1
|
1
|
01110
|
0110
|
10001
|
1
|
1
|
01110
|
0111
|
10001
|
1
|
1
|
01110
|
1000
|
10001
|
1
|
1
|
01110
|
1001
|
10001
|
Буква “М”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
01111
|
0000
|
10001
|
1
|
1
|
01111
|
0001
|
10001
|
1
|
1
|
1
|
1
|
01111
|
0010
|
11011
|
1
|
1
|
1
|
1
|
01111
|
0011
|
11011
|
1
|
1
|
1
|
1
|
01111
|
0100
|
11011
|
1
|
1
|
1
|
1
|
01111
|
0101
|
11011
|
1
|
1
|
1
|
1
|
01111
|
0110
|
11011
|
1
|
1
|
1
|
01111
|
0111
|
10101
|
1
|
1
|
1
|
01111
|
1000
|
10101
|
1
|
1
|
1
|
01111
|
1001
|
10101
|
Буква “Ч”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
10000
|
0000
|
10001
|
1
|
1
|
10000
|
0001
|
10001
|
1
|
1
|
10000
|
0010
|
11011
|
1
|
1
|
10000
|
0011
|
10001
|
1
|
1
|
10000
|
0100
|
11011
|
1
|
1
|
1
|
1
|
1
|
10000
|
0101
|
11111
|
1
|
10000
|
0110
|
00001
|
1
|
10000
|
0111
|
00001
|
1
|
10000
|
1000
|
00001
|
1
|
10000
|
1001
|
00001
|
Цифра “0”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
10001
|
0000
|
01110
|
1
|
1
|
10001
|
0001
|
01010
|
1
|
1
|
10001
|
0010
|
01010
|
1
|
1
|
10001
|
0011
|
01010
|
1
|
1
|
10001
|
0100
|
01010
|
1
|
1
|
10001
|
0101
|
01010
|
1
|
1
|
10001
|
0110
|
01010
|
1
|
1
|
10001
|
0111
|
01010
|
1
|
1
|
10001
|
1000
|
01010
|
1
|
1
|
1
|
10001
|
1001
|
01110
|
Цифра “1”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
10010
|
0000
|
00100
|
1
|
1
|
10010
|
0001
|
01100
|
1
|
1
|
10010
|
0010
|
10100
|
1
|
10010
|
0011
|
00100
|
1
|
10010
|
0100
|
00100
|
1
|
10010
|
0101
|
00100
|
1
|
10010
|
0110
|
00100
|
1
|
10010
|
0111
|
00100
|
1
|
10010
|
1000
|
00100
|
1
|
1
|
1
|
10010
|
1001
|
01110
|
Символ “.”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
10011
|
0000
|
00000
|
10011
|
0001
|
00000
|
10011
|
0010
|
00000
|
10011
|
0011
|
00000
|
10011
|
0100
|
00000
|
10011
|
0101
|
00000
|
10011
|
0110
|
00000
|
10011
|
0111
|
00000
|
1
|
1
|
10011
|
1000
|
01100
|
1
|
1
|
10011
|
1001
|
01100
|
Цифра “3”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
10100
|
0000
|
01110
|
1
|
1
|
10100
|
0001
|
10001
|
1
|
10100
|
0010
|
00001
|
1
|
10100
|
0011
|
00001
|
1
|
1
|
1
|
10100
|
0100
|
01110
|
1
|
10100
|
0101
|
00010
|
1
|
10100
|
0110
|
00001
|
1
|
10100
|
0111
|
00001
|
1
|
1
|
10100
|
1000
|
10001
|
1
|
1
|
1
|
10100
|
1001
|
01110
|
Цифра “9”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
10101
|
0000
|
01110
|
1
|
1
|
10101
|
0001
|
10001
|
1
|
1
|
10101
|
0010
|
10001
|
1
|
1
|
10101
|
0011
|
10001
|
1
|
1
|
10101
|
0100
|
10001
|
1
|
1
|
1
|
1
|
10101
|
0101
|
01111
|
1
|
10101
|
0110
|
00001
|
1
|
10101
|
0111
|
00001
|
1
|
1
|
10101
|
1000
|
10001
|
1
|
1
|
1
|
10101
|
1001
|
01110
|
Цифра “8”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
1
|
10110
|
0000
|
01110
|
1
|
1
|
10110
|
0001
|
10001
|
1
|
1
|
10110
|
0010
|
10001
|
1
|
1
|
10110
|
0011
|
10001
|
1
|
1
|
1
|
10110
|
0100
|
01110
|
1
|
1
|
1
|
10110
|
0101
|
01110
|
1
|
1
|
10110
|
0110
|
10001
|
1
|
1
|
10110
|
0111
|
10001
|
1
|
1
|
10110
|
1000
|
10001
|
1
|
1
|
1
|
10110
|
1001
|
01110
|
Цифра “4”
|
Старшая часть адреса
|
Номер строки символа
|
Данные
|
1
|
1
|
10111
|
0000
|
00101
|
1
|
1
|
10111
|
0001
|
00101
|
1
|
1
|
10111
|
0010
|
01001
|
1
|
1
|
10111
|
0011
|
01001
|
1
|
1
|
10111
|
0100
|
10001
|
1
|
1
|
1
|
1
|
1
|
10111
|
0101
|
11111
|
1
|
10111
|
0110
|
00001
|
1
|
10111
|
0111
|
00001
|
1
|
10111
|
1000
|
00001
|
1
|
10111
|
1001
|
00001
|
|