Самодельный генератор постоянных магнитах

I часть: Проектирование вырожденного автомата .

Спроектировать на элементах ТТЛ “ генератор 4-х разрядных кодов “ некоторой системы счисления .

Т.е. синтезировать синхронный счётчик М–разрядный ( М < 16 ), на вход которого подаётся регулярная внешняя последовательность тактовых импульсов.

Каждое состояние счётчика ( т.е. цифра заданной системы ) сохраняется в течение одного полного такта. Значение цифр появляется на выходах Q3, Q2, Q1, Q0. Автомат также должен выработать синхронный перенос ( в след. разряд заданной системы), которым служит последний тактовый импульс в цикле счёта. Для его выделения должен быть сформирован строб “y” , т.е. булева функция , которая активна на последнем такте цикла. А само выделение должно обеспечивать минимальную задержку выходного импульса переноса.

В схеме автомата должны быть цепи , осуществляющие авто сброс в исходное состояние при каждом включении питания.

Требуется :

составить таблицу функционирования автомата ;

минимальную функцию возбуждения и строба ;

построить осциллограммы всех выходных функций, включающие функции строба и сигнала переноса ;

построить схему автомата .

Решение поставленной задачи :

а.) Составим таблицу функционирования автомата :

Q3

Q2

Q1

Q0

J3

K3

J2

K2

J1

K1

J0

K0

y

0

0

0

0

0

0

Ф

0

Ф

0

Ф

1

Ф

0

1

0

0

0

1

0

Ф

0

Ф

1

Ф

Ф

1

0

2

0

0

1

0

0

Ф

0

Ф

Ф

0

1

Ф

0

3

0

0

1

1

0

Ф

1

Ф

Ф

1

Ф

1

0

4

0

1

0

0

0

Ф

Ф

0

0

Ф

1

Ф

0

5

0

1

0

1

0

Ф

Ф

0

1

Ф

Ф

1

0

6

0

1

1

0

0

Ф

Ф

0

Ф

0

1

Ф

0

7

0

1

1

1

1

Ф

Ф

1

Ф

1

Ф

1

0

8

1

0

0

0

Ф

0

0

Ф

0

Ф

1

Ф

0

9

1

0

0

1

Ф

0

0

Ф

1

Ф

Ф

1

0

10

1

0

1

0

Ф

0

0

Ф

Ф

0

1

Ф

0

11

1

0

1

1

Ф

0

1

Ф

Ф

1

Ф

1

0

12

1

1

0

0

Ф

1

Ф

1

0

Ф

1

Ф

1

ПОВТОР

0

0

0

0

б.) Составим карты Карно и при помощи них найдём минимизированные функции возбуждения и строба .

J3

Q0

0

0

0

0

Q2

0

0

1

0

Q3

Ф

Х

Х

Х

Ф

Ф

Ф

Ф

Q1

J3 = Q2Q1Q0

K3

Q0

Ф

Ф

Ф

Ф

Q2

Ф

Ф

Ф

Ф

Q3

1

Х

Х

Х

0

0

0

0

Q1

K3 = Q2

J2

Q0

0

0

1

0

Q2

Ф

Ф

Ф

Ф

Q3

Ф

Х

Х

Х

0

0

1

0

Q1

J2 = Q1Q0

K2

Q0

Ф

Ф

Ф

Ф

Q2

0

0

1

0

Q3

1

Х

Х

Х

Ф

Ф

Ф

Ф

Q1

K2 = Q3 v Q1Q0

J1

Q0

0

1

Ф

Ф

Q2

0

1

Ф

Ф

Q3

0

Х

Х

Х

0

1

Ф

Ф

Q1

J1 = Q0

K1

Q0

Ф

Ф

1

0

Q2

Ф

Ф

1

0

Q3

Ф

Х

Х

Х

Ф

Ф

1

0

Q1

K1 = Q0

J0

Q0

1

Ф

Ф

1

Q2

1

Ф

Ф

1

Q3

0

Х

Х

Х

1

Ф

Ф

1

Q1

J0 = Q3Q2

K0

Q0

Ф

1

1

Ф

Q2

Ф

1

1

Ф

Q3

Ф

Х

Х

Х

Ф

1

1

Ф

Q1

K0 = 1

y

Q0

0

0

0

0

Q2

0

0

0

0

Q3

1

Х

Х

Х

0

0

0

0

Q1

y = Q3Q2

в.) Построим осциллограммы всех выходных функций , вкл функцию строба и сигнала переноса .

С

Q0

Q1

Q2

Q3

y

Cвых

г.) Построение схемы автомата .


II часть : Проектирование интерфейса ЗУ некоторого МПУ .

Построить интерфейс ЗУ на реальных МС , приведённых в таблице .

Блоки ПЗУ и ОЗУ должны содержать резервные места для модернизации . Резерв может быть до 50% рабочего и объёма блока , но не менее 1 МС выбранного типа .

При условии восьмиразрядного выхода требуется :

определить объём пространства памяти , включая резервные сегменты ;

составить таблицу адресов , начиная с адреса 0ХХ0, где ХХ = n – номер студента по журналу в 16-ричной системе ;

построить упрощённую схему интерфейса .

При построении блока ПЗУ использовать МС ППЗУ серии КР556 для Lпзу < 6 Кб и МС СППЗУ ( К573 ) для Lозу > 7Кб .

При построении блока ОЗУ - МС с технологией : ТТЛ для Lозу < 3 Кб , И*ИЛ для 7Кб < Lозу < 9 Кб , МОП для 4КБ < Lозу < 6Кб .

При полу целом числе сегментов в блоке допускается использование МС другой технологии с ёмкостью 0,5 сегмента . Остаток неполного сегмента отнести к резерву .

Решение поставленной задачи :

а.) Определим объём пространства памяти , включая резервные сегменты .

Для ПЗУ можно выбрать пять МС СППЗУ типа К573РФ2 с организацией 2К * 8 = 2Кб .

Тогда объём одного сегмента можно выбрать равным 2 Кб = 80016. Возьмем пять таких МС и , таким образом , получили объём ПЗУ равным 10 Кб , но нам необходимо набрать 11 Кб , поэтому возьмём ещё две МС СППЗУ типа К573РФ1 с организацией 1К*8 = 1Кб для организации шестого сегмента , половина которого будет использована , а другая половина будет в резерве.

Для резерва возьмём две МС СППЗУ типа К573РФ2 с организацией 2К * 8 = 2Кб , т.е. объём резерва получился равным 5 Кб.

С резервом в 5 Кб для ПЗУ получили восемь сегментов.

Для ОЗУ можно выбрать МС nМОП типа КМ132РУ8А с организацией 1К * 4 = 0,5 Кб. Но для построения одного сегмента потребуется четыре такие МС .

С резервом в 2Кб для ОЗУ потребуется три таких сегмента .

Значит, общий объём блока ЗУ с резервом должен составлять 8+3 = 11 сегментов .

б.) Составим таблицу распределения адресов .

Сегмент

16-разрядный адрес

I

00E0 – 08DF

Задействовано

II

08E0 – 10DF

III

10E0 – 18DF

ПЗУ

IV

18E0 – 20DF

V

20E0 – 28DF

Резерв

VI

28E0 – 30DF

VII

30E0 – 38DF

VIII

38E0 – 40DF

ОЗУ
Задействовано

ОЗУ

IX

40E0 – 48DF

Резерв

X

48E0 –50DF

XI

50E0 –58DF

в.) Построение упрощённой схемы интерфейса ЗУ .


III часть : Разработка фрагмента программы МПУ .

Составить фрагмент программы МПУ в виде подпрограммы ( или в виде программы обслуживания прерывания ПОП ) , что есть в варианте .

Начальный адрес для подпрограммы : [ P ] = 63 + n10

Требуется :

на языке Ассемблера с соблюдением требований формата бланка ;

комментарий должен давать полное описание действий конкретной задачи , а не описание данной команды ;

в конце любого комментария должна быть дана продолжительность операции – требуемое число тактов синхронизации.

Решение поставленной задачи :

; Подпрограмма на языке Ассемблер :

ORG

00D4H

;Подпрограмма начинается с

;адреса 00D416

LXI

D,0200H

;бл.1Загрузка адреса младшего

;байта числа Х1 в пару

;регистров DE (т.10)

MVI

B,0002H

;бл.2 Подготовка счётчика

;сложений, т.е.непосредствен-;ное присвоение регистру В

;значения 2 (т.7)

XRA

A

;бл.3 Обнуление аккумулятора ,

;а также установка в ноль тр-

;ров переноса Tc и Tv (т.4)

LOOP2:

LXI

H,0300H

;бл.4 Загрузка адреса младшего

;байта числа Х2 или (Х1+Х2) в

;пару регистров HL (т.10)

MVI

C,0006H

;бл.5 Подготовка счётчика

;байтов , т.е. непосредственное

;присвоение счётчику байтов С

;значения 6 , т.к. после

;сложения Х1 и Х2 может

;возникнуть перенос и число

;окажется уже в 6 байтах, а не в 5 (т.7)

LOOP1:

LDAX

D

;бл.6 Загрузка в аккумулятор

;следующего байта числа Х1

;или Х3, хранящегося по адресу

;в паре DE (т.7)

ADC

M

;бл.7 Суммирование байтов

;чисел Х1 или Х3 и Х2 или

;(Х1+Х2) , а также переноса,

;если такой был (т.4)

DAA

;бл.8 Десятичная коррекция ;аккумулятора(т.к. у меня коды

;BCD и максимальное число

;здесь 9, а не 16 ) (т.4)

MOV

M,A

;бл.9 Пересылка очередного

;байта частичной суммы

;(Х1+Х2) на место Х2 (т.7)

DCR

C

;бл.10 Уменьшение на 1

;счётчика байтов (т.5)

JZ

NB

;бл.11 УП: если содержимое сч.

;байтов равно 0 ( С = 0 ), то

;переход к бл. 15 , если же С =0,

;т.е. ещё не все байты чисел

;сложены, то переход к

;суммированию след. байтов,

;т.е. к блоку 12 (т.10)

INХ

D

;бл.12 Переход к адресу

;следующего байту числа Х1

;или Х3 путём положительного

;инкремента пары регистров DE (т.5)

INХ

H

;бл.13 Переход к адресу

;следующего байта числа Х2

;или (Х1+Х2) путём

;положительного инкремента

;пары регистров HL (т.5)

JMP

LOOP1

;бл.14 БП к блоку 6 для

;суммирования след. байтов

;чисел Х1 и Х2 либо Х3 и

;(Х1+Х2)(к началу внешнего цикла) (т.10)

NB :

DCR

B

; бл.15 Переход к суммированию суммы ;Х1+Х2 с числом Х3, т.е. уменьшение ;счётчика сложений на 1 (т.5)

RZ

EN

;бл.16 УП : если В=0 , т.е. все три числа ;сложены , то возврат в основную ;программу , ежели В = 0 , т.е. не все числа ;сложены , то переход к след. блоку 17 (т.10)

LXI

D,0400H

;бл.17 Загрузка адреса младшего байта числа ;Х3 в пару регистров DE (т.10)

JMP

LOOP2

; бл.18 БП к блоку 4 для суммирования числа ;Х3 с суммой ( Х1+Х2) (к началу внешнего ;цикла ) т.10)

EN :

END

; конец подпрограммы

III часть : Подпрограмма .

Сложить три положительных 10 – значных десятичных числа Х1, Х2, Х3 , представленные в коде BCD и хранящиеся в секторах ОЗУ с адресами младших байтов соот. 20016; 30016; 40016 .

Поместить полученную сумму (также в коде BCD) с учётом старшего (шестого) байта на случай переполнения в секторе ОЗУ на место Х2, т.е. по адресу 30016 .

Предполагается, что шестые байты в указанных секторах первоначально пусты.

Это – задача с двойным (вложенным) циклом.

Блок – схема алгоритма :

EN

6

7

8

9

10

11

12

13

14

15

16

17

18

4

5

1

2

3

ДА
ДА
NB

PC [Addr]

DE 40016

LOOP2

(Tz)=1

B (B) -1

(Tz)=1

HL (HL) + 1

PC [ Addr ]

DE (DE) + 1

LOOP1
C ( C ) -1

M (A)

B 2

10 - КОРР

A (A)+[(M)]+(Tc)

A [(DE)]

C 6

HL 30016

A (A)V(A)

DE 20016


Задание:

I часть : Счётчик прямого счёта .

М = 13 ; триггеры типа JK.

Код двоичный, возрастающий;

Используются состояния : а0 , а1 … а12 .

II часть : Интерфейс ЗУ .

Lпзу = 11 KB ; Lозу = 4 KB .

III часть : Подпрограмма .

Сложить три положительных 10 – значных десятичных числа Х1, Х2, Х3 , представленные в коде BCD и хранящиеся в секторах ОЗУ с адресами младших байтов соот. 20016; 30016; 40016 .

Поместить полученную сумму (также в коде BCD) с учётом старшего (шестого) байта на случай переполнения в секторе ОЗУ на место Х2, т.е. по адресу 30016 .

Предполагается, что шестые байты в указанных секторах первоначально пусты.

Это – задача с двойным (вложенным) циклом.

Блок – схема алгоритма :

EN

6

7

8

9

10

11

12

13

14

15

16

17

18

4

5

1

2

3

ДА
ДА
NB

PC [Addr]

DE 40016

LOOP2

(Tz)=1

B (B) -1

(Tz)=1

HL (HL) + 1

PC [ Addr ]

DE (DE) + 1

LOOP1
C ( C ) -1

M (A)

B 2

10 - КОРР

A (A)+[(M)]+(Tc)

A [(DE)]

C 6

HL 30016

A (A)V(A)

DE 20016




Похожие курсовые работы

1. Магнитный генератор тока самодельный

2. Самодельный генератор с постоянными магнитами

3. Самодельный генератор частот

4. Самодельный СВЧ генератор

5. Генератор на базе двигателя стирлинга

6. Презентация генератор переменного тока

7. Как питать генератор синусоидального напряжения

8. Кварцевый генератор схема мгц

9. Водородный генератор для авто

10. Генератор синусоидальных сигналов

11. Презентация по физике генератор

12. Генератор случайных чисел

13. По физике на тему генератор

14. Генератор синусоидальный

15. Сомодельный магнитный генератор

Курсовые работы, рефераты и доклады