Радиоэлектроника

16-разрядный генератор псевдослучайных чисел

                                 Содержание

     Введение
     1. Основная часть
         1.1 Схемотехническая часть
                1. Перечень элементов
                2. Описание работы используемых элементов
                3. Описание работы схемы
           1. Программная часть
                1. Алгоритм
                2. Листинг программы
     2. Быстродействие
     3. Себестоимость
     4. Надежность
     Заключение
    Список используемой литературы
     Приложение
         Графическая часть на одном листе формата А3. |3
    4
    4
    4
    4
    6
    8
    8
    10
    11
    12
    13
    14
    15
     | |


                                  Введение

    С момента своего создания компьютеры всё больше  и  больше  проникают  в
нашу жизнь. Они находят своё применение, как в быту, так и на  производстве.
В автоматизированных цехах  и  заводах  широко  применяется  оборудование  с
использованием микропроцессоров  и  микроЭВМ.  Их  использование  в  составе
промышленного оборудования обеспечивает снижение его стоимости по  сравнению
с системами на элементах малой и средней степени интеграции.
    В своей курсовой работе я попытался показать, как можно  реализовать  на
элементах простой логики довольно сложную  функцию  –  генерацию  случайного
числа. Свою задачу я построил  как  на  аппаратной,  так  и  на  программной
основе.  Программная  часть  реализована  для   центрального   процессорного
элемента КР580ИК80А являющегося  функционально  законченным  однокристальным
параллельным  8-ми  разрядным  микропроцессором  с  фиксированной   системой
команд.
    Курсовая работа включает  в  себя  расчет  себестоимости,  надежности  и
быстродействия спроектированного продукта.
                              1. Основная часть


    1.1 Схемотехническая часть


1 Перечень элементов

                                                                   Таблица 1
|DD1, DD2, DD3, DD4                          |К555ИР16       |
|DD5, DD13                                   |К555ЛП5        |
|DD6, DD7, DD8, DD9                          |К555ЛЛ1        |
|DD10, DD11, DD12                            |К555ЛА7        |
|DD14, DD15, DD16                            |К555ЛН1        |
|R1, R2                                      |4 кОм          |
|R3                                          |700 Ом         |
|VD1, VD2, VD3, VD4, VD5, VD6, VD7, VD8,     |АЛ307Г         |
|VD9,VD10, VD11, VD12, VD13, VD14, VD15, VD16|               |


    1.1.2 Описание работы используемых элементов


                                  К555ИР16

    Микросхема  К555ИР16  —  четырех  разрядный  регистр  сдвига   влево   с
последовательно-параллельным  вводом  и  параллельным  выводом   информации.
Запись и сдвиг информации разрешены по срезу импульса на шине  синхронизации
С. При высоком уровне сигнала на входе С, регистр  сохраняет  предшествующее
состояние.
    Регистр  имеет  вход  последовательного  ввода  информации   D,   четыре
информационных  входа  D0-D3,  вход  выбора  режима  V   и  вход  разрешения
считывания.
    При низком уровне сигнала на входе выбора режима V регистр подготовлен к
выполнению  операции  последовательного  сдвига,  на  входе  D  при  наличии
сигнала на входе синхронизации С. При высоком  уровне  сигнала  на  входе  D
разрешена  запись  начального  кода  входов  поразрядной   информации.   Для
операции  последующего  сдвига  сигнала   от   состояния   начального   кода
необходимо  на входящую информацию последовательного входа D  подать  низкий
уровень сигнала. Считывание  информации  разрешено  при  высоком  уровне  на
входе разрешения  W.  При  низком  уровне  на  входе  W  выходы  регистра  Q
находятся в  выключенном  состоянии.  Регистр  может  осуществлять  операцию
сдвига  вправо  при  внешнем  объединении  выходов  со  входами  поразрядной
информации от старшего разряда  к  младшему.  Состояние  регистра  описывает
табл. 2.
    Ток потребления микросхемы К555ИР16 29 мА, максимальная частота 30  МГц.
Выходной ток короткого замыкания буферного каскада составляет 30 . .  .  100
мА.
                                                                   Таблица 2
|Входы                                               |Выходы                   |
|W    |V    |C    |D    |D0   |D1   |D2   |D3   |Q1   |Q2   |Q2   |Q3   |
|H    |H    |H    |X    |X    |X    |X    |X    |q0   |q1   |q2   |q3   |
|H    |H    |v    |X    |d0   |d1   |d2   |d3   |d0   |d1   |d2   |d3   |
|H    |H    |v    |X    |q’1  |q’2  |q’3  |d3   |q’1  |q’2  |q’3  |d3   |
|H    |L    |H    |X    |X    |X    |X    |X    |q0   |q1   |q2   |q3   |
|H    |L    |v    |H    |X    |X    |X    |X    |H    |q0   |q1   |q2   |
|H    |L    |v    |L    |X    |X    |X    |X    |L    |q0   |q1   |q2   |
|L    |X    |X    |X    |X    |X    |X    |X    |Z    |Z    |Z    |Z    |


                       К555ЛП5                      Таблица 3

|Входы       |Выход      |
|H    |L    |L          |
|L    |L    |H          |
|H    |H    |Н          |

описывает  состояние  одного  элемента  из  микросхемы.  Микросхема  К555ЛП5
потребляет ток 10 мА.

                                   К555ЛЛ1

    Четыре логических элемента 2ИЛИ. Микросхема имеет  два  вход  на  каждый
элемент, на выходу вырабатывается сигнал логического ИЛИ.

                                   К555ЛА7

    Два логических элемента  4И  —  НЕ  с  открытым  коллекторным  входом  и
повышенной  нагрузочной способностью.

                                   К555ЛН1

    Шесть логических элементов НЕ.

3 Описание работы схемы

    По заданию необходимо построить схему усовершенствованного 16-разрядного
генератора  псевдослучайных  чисел,   в   котором   число   0   включено   в
последовательность  случайных  чисел.  Для  осуществления  этой  цели   были
выбраны четыре сдвиговых регистра влево, выходы которого  выдают   число  на
выходную шину.  (  В  начале  работы  в  регистры   заносится  число  4146h.
Возможно так  же  занесение  любого  другого  числа.  Для  этого  необходимо
подключить к входам параллельного ввода информации регистров: “землю”,  если
необходимо записать ноль в соответствующий  разряд  и  пятый  выход  входной
шины, если необходимо записать единицу.)
    Затем, на входы последовательного  ввода  информации  каждого  регистра,
поступает уровень записываемого сигнала, который получается по функции
 D = Q3 ? Q4,                                      (1)
где Q3 и Q4 это выходы соседних регистров.
    В результате, по срезу импульса С (по  нажатию  кнопки  SB1)  в  регистр
записывается уровень сигнала со сдвигом влево.
    Связь регистров между собой: уровень  для  регистра  DD1  формируется  с
выходов регистра DD4, для DD2 – с выходов регистра DD1, для DD3 – с  выходов
регистра DD2, а для DD4 – с выходов регистра DD3,
    В процессе работы устройства происходит проверка  на  выдачу  регистрами
чисел  0000h  или  FFFFh,  причем  при  появлении  числа  FFFFh  в  регистры
заносится число 0000h, а при появлении  0000h  в  регистры  заносится  число
414Bh (т..е. число соответствующее включению схемы).
    Чтобы реализовать индикацию числа были выбраны  светодиоды,  на  которые
поступаю инвертированные  сигналы  от  регистров.  Светодиоды  подключены  в
обратном  направлении,  через  сопротивление  R3.  Как  только  в   разрядах
регистров появляется высокие уровни сигнала, соответствующие  им  светодиоды
загораются зеленым светом.


    1.2 Программная часть


    1.2.1 Алгоритм



1.2 Листинг программы

|Адрес |Код      |Метка     |Мнемокод      |Комментарий                      |
|1000  |0E 02    |FRANDOM:  |MVI   C,2     |;Занесение числа в регистр C     |
|      |         |          |              |;(установили первый счетчик).    |
|1002  |7D       |MALKOT1:  |MOV   A,L     |;Заносим содержимое регистра L в |
|      |         |          |              |;аккумулятор.                    |
|1003  |E6 07    |          |ANI   7       |;Все биты кроме трех младших     |
|      |         |          |              |;устанавливаем в 0.              |
|1005  |3C       |          |INR A         |                                 |
|1006  |71       |          |MOV   B,A     |;Заносим содержимое аккумулятора |
|      |         |          |              |;в регистр B(установили          |
|      |         |          |              |счетчик2).                       |
|1007  |7D       |          |MOV   A,L     |;Заносим содержимое регистра L в |
|      |         |          |              |;аккумулятор.                    |
|      |         |          |              |;Производим действия над         |
|      |         |          |              |;аккумулятором, такие как:       |
|1008  |C6 41    |MALKOT2:  |ADI   41H     |;Сложения байта с содержимым     |
|      |         |          |              |;аккумулятора.                   |
|100A  |07       |          |RLC           |;Циклический сдвиг содержимого   |
|      |         |          |              |;аккумулятора влево.             |
|100B  |0B       |          |DCR   B       |;Уменьшаем первый счетчик рег.В  |
|100C  |C2 08 10 |          |JNZ   MALKOT2 |;Если содержимое счетчика не 0,  |
|      |         |          |              |;переход по метке MALKOT.        |
|100F  |6F       |          |MOV   L,A     |;Иначе, заносим содержимое       |
|      |         |          |              |;аккумулятора в регистр L.       |
|1010  |0D       |          |DCR   C       |;Уменьшаем второй счетчик рег.С  |
|1011  |CA 1A 10 |          |JZ   END      |;Если счетчик равен нулю то      |
|      |         |          |              |переход ;на конец программы, по  |
|      |         |          |              |метке END                        |
|1014  |44       |          |MOV   B,H     |;Меняем местами содержимое       |
|1015  |65       |          |MOV   H,L     |;регистров Н и L при помощи      |
|1016  |68       |          |MOV   L,B     |;промежуточного регистра В       |
|1017  |C3 0210  |          |JMP MALKOT1   |;Если содержимое регистра не 0,  |
|      |         |          |              |;переход по метке FRANDOM        |
|101A  |C9       |END:      |RET           |;Иначе выход из подпрограммы     |


                              2 Быстродействие

    Оценим временные затраты на  выполнение  программного  модуля  генерации
случайного числа на БИС КР580ИК80. Так как в программе  блок  «действия  над
аккумулятором»  работает  в  цикле  число  проходок  которого   может   быть
случайное число раз от 8 до 1, то  и  программа  выполняется  соответственно
за:
     . минимальное количество тактов -188,
     . максимальное -  552 такта.
    Максимальная тактовая частота процессора КР580ИК80 составляет 2.5 МГц
    T = 1 / (                           (2)
    т.е. один  такт  выполняется  за  0.4  мкС.,  следовательно  блок  будет
выполнятся за:
     . минимальное время выполнения программы - 75.2 мкС
     . максимальное время выполнения программы - 220.8 мкС

                               3 Себестоимость

    Себестоимость схемы генератора псевдослучайных  чисел  рассчитывается  с
учетом  заработной  платы  всех  работников,  которые  принимали  участие  в
создании данного устройства и  материальных  затрат  на  изготовление  самой
схемы.
    Данные по зарплате приведены в табл. 4. Стоимость материалов приведена в
табл.5.
                                                                   Таблица 4
|Должность     |Оплата за 1 час|Кол-во часов |Итого |
|Инженер-схемот|5 р.           |40           |200 р.|
|ехник         |               |             |      |
|Электронщик   |3 р.           |8            |24 р. |
|Монтажник     |8 р.           |4            |32    |


                                                                  Таблица 5.

|Микросхема    |Количество, шт.|Затраты на 1 шт., |Общие затраты, р.|
|              |               |р.                |                 |
|К555ИР16      |4              |7                 |28               |
|К155ЛП5       |2              |2.4               |4.8              |
|К155ЛЛ1       |4              |3.5               |14               |
|К555ЛА7       |3              |3                 |9                |
|К555ЛН1       |3              |3.2               |9.6              |
|АЛ307Г        |16             |1.5               |24               |

    Таким образом находим с помощью  таблицы  находится  общая  стоимость  S
путем суммирования всех затрат.
    S = 28+4.8+14+9+9.6+24+200+24+32 = 345.40
    Себестоимость программы генерации случайного числа так же рассчитывается
с учетом заработной платы программиста, который принимал участие в  создании
данного продукта.
                                                                   Таблица 6
|Должность     |Оплата за 1 час|Кол-во часов |Итого |
|Инженер-програ|10р.           |16           |160 р.|
|ммист         |               |             |      |


                                4 Надежность

    Схема содержит:
      42 логических элемента;
      4 запоминающих устройства
      1 кнопку
      235 паек
    Величина интенсивности отказа для логических элементов  составляет  10-9
час-1, для запоминающих устройств – 10-7 час-1, для пайки  10-9  час-1,  для
выключателей и кнопок 10-7 час-1.
    (’((i*n,                                       (3)
    где
    (i – интенсивность отказа для i-го элемента, а n – количество элементов.
    (’7.77*10-7
    Вероятность безотказной работы:
              P(t)=e-(t                                    (4)
                                5 Заключение
В данной курсовой работе разработана электрическая схема 16-разрядного
генератора псевдослучайных чисел, в котором число ноль включено в
последовательность случайных чисел. Схема разработана на четырех 4-
разрядных сдвиговых регистрах и логических элементах обеспечивающих
выработку информационных и управляющих сигналов для этих регистров. Для
визуального отображения случайного числа в двоичной форме используются 16
светодиодов.
Помимо схемы в работе присутствует программный модуль, обеспечивающий
генерацию 16-разрядных псевдослучайных чисел и их размещение по адресу,
хранящемуся в парном регистре H-L, для МП БИС КР580ИК80.
Так же в работе рассчитаны временные затраты на выполнение действий  в
программе, себестоимость проделанной работы, а так же надежность схемы,
выраженная в графике вероятности безотказной работы схемы. По графику видно
что надежность схемы, из-за своей простоты, получилась довольно высокой.
Временные затраты на выполнение действий в программе из-за своего алгоритма
колеблются от 75.2 до 220.8 мкС.
Себестоимость рассчитана отдельно для программной и схемотехнической части:
себестоимость схемотехнической части = 345.40 руб.
себестоимость программной части = 160.00 руб.
Список используемой литературы
1. Преснухин Л.Н. «Микропроцессоры» , Москва: “Высшая школа” 1996 – 351с.
2. Усатенко С.Т. «Выполнение электрических схем по ЕСКД» , Москва:
“Издательство стандартов”, 1989 –325с.
3. Хвощ С.Т. «Микропроцессоры ЭВМ и микроЭВМ», Ленинград: “Машиностроение”
1987 – 639с.
4. Шило В.Л. «Популярные цифровые микросхемы», Москва: ”Радио и связь” 1988
      –352 с.
-----------------------
Четыре двухвходовых  логических элемента Исключающее ИЛИ. Состояние выходов
микросхемы при различных водных сигналах приведена в табл. 3. Данная
таблица состояний

Заносим в счетчик 1 количество повторений

Начало

Заносим в счетчик 2 количество повторений


Заносим содержимое  регистра L в аккумулят.

Производим действия над аккумулятором

Уменьшение счетчика 2

Содержим. счетчика 2 равно 0

Выгрузка содержимого аккумулятора в L

Уменьшение счетчика 1

А

А

Начало

Обмен данными между регистрами H и L

B

B

Содержим. счетчика 1 равно 0

Да

103   104         105                                     106   t
Рис. 1

P

1

0.75


0.5

0.25


0

Нет




смотреть на рефераты похожие на "16-разрядный генератор псевдослучайных чисел "