Квадратурно-фазовый модулятор

Структурная схема передатчика дискретных сигналов. Диаграмма распределения регистров и ячеек памяти. Разработка программы на языке Ассемблер. Расчет параметров таймера для формирования частоты дискретизации и расчет затрат времени на выполнение программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.09.2012
Размер файла 131,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Министерство РФ по связи и информатизации

СибГУТИ

Кафедра ТС и ВС

Курсовая работа

по дисциплине “ЦОС и сигнальные процессоры”

на тему “Квадратурно-фазовый модулятор”

Выполнил:

студент группы С - 48

Шувалов А.С.

Проверил: Мохов Е.Н.

Новосибирск 2007

Содержане

Задание

Введение

1. Структурная схема передатчика дискретных сигналов

2. Функциональная схема фазового модулятора

3. Разработка программы на языке высокого уровня

3.1 Обобщённый алгоритм для языка Паскаль

3.2Детализированный алгоритм для языка Паскаль

3.3Программа на языке Паскаль

4. Диаграмма распределения регистров и ячеек памяти

5. Разработка программы на языке Ассемблер

5.1 Алгоритм работы основной программы

5.2 Основная программа на языке ассемблера ЦСП

5.3 Программа на языке Aссемблер ЦСП

5.4 Алгоритм программы на языке Ассемблер

5.5 Диаграмма времени хранения регистров и ячеек памяти для

алгоритма для языка Ассемблер

6. Расчет параметров таймера для формирования частоты дискретизации и расчет затрат времени на выполнение программы

7. Разработка функциональной схемы устройства

8. Карта использования памяти

Заключение

Задание

Разработать устройство на цифровом сигнальном процессоре ADSP-2189M по следующим условиям:

1. Наименование устройства: передатчик.

2. Разрабатываемый узел устройства: квадратурно-фазовый модулятор.

3. Исходные сведения и литература: Лр.11, Сартаков.

4. Источник синхросигнеалов внутренний. Fкв=11МГц.

5. Порт ввода 8-разрядный.

6. Порт вывода 8-разрядный.

Введение

Многочисленные семейства DSP внедряются в тех областях техники, где первоначально доминировали схемы обработки аналоговых сигналов. Спектр применения DSP очень широк и охватывает диапазон от простых традиционных модемов до радио- и гидролокационных систем, в которых требуется сверхвысокое быстродействие.

Трудно найти область техники, где не могли бы успешно применяться сигнальные процессоры. передатчик дискретный сигнал

Отличительной особенностью цифровой обработки сигналов является очень большой объем вычислений, осуществляемый в реальном или близком к реальному времени. Сегодня процессоры обработки сигналов применяются в беспроводных телефонах, стерео оборудовании, компьютерах.

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

В последнее время всё более широкое распространение получают системы передачи и обработки ,в которых поступающие на вход аналоговые сигналы преобразуются в цифровую форму, полученные цифровые сигналы передаются или обрабатываются, на выходе системы производится обратное преобразование сигналов из цифровой формы в аналоговую.

Использование цифровой формы представления сигналов может обеспечить более высокую помехоустойчивость при передаче сигналов, возможность построения аппаратуры с использованием последних достижений микроэлектроники, обеспечивающей гибкость функционирования, компактность, экономичность.

ADSP-2181 представляет собой однокристальный микрокомпьютер, оптимизированный для цифровой обработки сигналов (DSP) и других применений, требующих высокоскоростных вычислительных операций. ADSP-2181 изготовлен по высокоскоростной 1.0-микpонной КМОП технологии с двухслойной металлизацией. Любая инструкция выполняется за один цикл. Изготовление по КМОП-технологии обеспечивает низкое потребление энергии.

1. Структурная схема передатчика дискретных сигналов

Имена блоков и процедур:

1. SRC - источник сообщения (датчик ПСП)

2. GEN - генератор поднесущей

3. MDL - модулятор (разрабатываемый узел)

4. TIM - источник тактовой частоты

5. ADD - источник аддитивной помехи

Имена выходных сигналов блоков имеют вид: S_SRC, S_MDL и т.д

Параметры канала:

Скорость передачи 200 Бод

Частота дискретизации 35.2 кГц

Тактовая частота Fтакт=200 Гц

2. Функциональная схема фазового модулятора

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Сигнал разлагается на горизонтальную и вертикальную составляющие и смешивается с высокочастотным ВЧ колебанием. Наконец в сумматоре происходит объединение смешанных составляющих.

3. Разработка программы на языке высокого уровня

3.1 Обобщённый алгоритм для языка Паскаль

Список используемых переменных

Input - входная битовая последовательность.

Dm - значение на входе.

p1, Freq,t - промежуточные переменные.

Phase - переменная фазы сигнала

Deley - переменная хранящая величину сдвига

3.2 Детализированный алгоритм для языка Паскаль

Затем составляем детелизированнуюй схему алгоритма для языка Паскаль, позволяющую составить программу.

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Прототипом PSK модулятора на ЦСП является алгоритм PSK модулятора на языке Pascal. В нем фазовый модулятор реализован программными средствами.

3.3 Программа на языке Паскаль

procedure Modulator(i:Integer;

var I_m,Q_m:Real; var Phase:Integer);

var

Input : array[0..n] of ShortInt;

j: ShortInt;

Dm, Freq: Integer;

j:ShortInt;

begin

Dm:=0;

For i:=0 to n do p1=deley SHR j;

t=t*2;

t=t AND 1;

t= 1-t;

t = t*p1;

Dm=Dm+t;

end;

Freq:=Dm;

Phase:=Phase+Freq;

if Phase>127 then Phase:=Phase-256;

if Phase<-128 then Phase:=Phase+256;

I_m:=Cos(Pi*Phase/128);

Q_m:=Sin(Pi*Phase/128);

R:=I_m-Q_m;

end;

4. Диаграмма распределения регистров и ячеек памяти

Распределение регистров общего назначения и ячеек ОЗУ для хранения обрабатываемых величин имеет целью разместить обрабатываемую информацию (исходные данные и промежуточные результаты) для хранения таким образом, чтобы избежать её нарушения.

При размещении информации необходимо иметь в виду свойства полупроводниковой памяти. При записи в регистр (ячейку памяти) новой информации старая информация аннулируется без возможности восстановления. Если необходимость хранения величины отпала, то регистр можно использовать для хранения другой величины. Таким образом, возможно использование одного регистра для хранения различной информации, если отрезки времени их хранения не перекрываются.

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

Диаграмма времени хранения регистров и ячеек памяти для PASCAL.

1

2

3

4

5

6

7

8

9

10

11

12

Dm

P1

t

Freq

Phase

I_m

Q_m

R

5. Разработка программы на языке Ассемблер

Последний из проектируемых схем алгоритмов - схема алгоритма для программы на языке Ассемблер. При составлении алгоритма необходимо учесть особенности языка: назначение и возможности различных регистров, максимальный и минимальный размер информации, которые возможно в них поместить, а так же форматы представления чисел, перевод из одной системы счисления в другую.

5.1 Алгоритм работы основной программы

Фаза (начальная) модулированного колебания определяется по двум соседним битам. В качестве опорного колебания возьмем синусоиду. Её фаза в зависимости от значений бит двух квадратурных подканалов имеет вид:

х1 х2 фаза

1 1

1 0

0 1

0 0

Программно начальная фаза устанавливается с помощью модификации адреса указателя I5 (изначально он находится на самом первом элементе массива), которые указывает на массив sinus, содержащий 256 отсчетов синусоиды. Соответственно, если начальная фаза равна , то необходимо указатель I5 переместить на 63 отсчета, если - на 127, - на 191 (или на -64, так как sinus - кольцевой циклический буфер). Если фаза равна 0, то модификации адреса не требуется. Поэтому все сводится к тому, чтобы вычислить начальную фазу (начальный индекс массива sinus), а затем с частотой дискретизации по прерыванию от таймера последовательно считываются отсчеты синусоиды из этого массива, начиная с найденного индекса.Формула для вычисления начальной фазы синусоиды (в программее начального значения индекса в массиве sinus):

.

5.2 Программа на языке Aссемблер для ЦСП

#define Port ox200 //адрес ячейки ввода-вывода

section/pm pm_da;

VAR/CIRC sinus[256]="sine256.dat"; //массив отсчетов

section/data data1;

VAR input[20]="vhod.dat"; //входная последовательность

VAR dm_y[2560]; //выходная последовательность

EXTERN filt;

section/pm interrupts;

reset: JUMP start; NOP; NOP; NOP; //прерывание по сбросу процессора

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

RTI; NOP; NOP; NOP;

JUMP mdl; NOP; NOP; NOP; //прерывание по таймеру

RTI; NOP; NOP; NOP;

section/pm program;

start:AX0=312;

DM(0x3FFC)=AX0;//установка Tperiod

DM(0x3FFD)=AX0;//установка Tcount

AX0=0; //установка Tscale=0

DM(0x3FFB)=AX0;//установка таймера на прерывание с частотой

I5=sinus;

L5=LENGTH(sinus);

M5=1;

I0=input; L0=0; M0=1;

I2=dm_y; L2=0; M2=1;

IMASK=0x01;//разрешение на прерывание от таймера

ICNTL=0x07; //прерывание без вложения с реакцией на препад

ENA TIMER; // таймер разрешён (включен)

CNTR=10;

ENA M_MODE; //режим умножения целых чисел

DO TAKT UNTIL CE; //цикл с частотой манипуляции

AX0=DM(I0,M0);

AY0=DM(I0,M0);

AX1=0x0001;

MR=0;

MX0=63;

MY0=1;

MR=MR+MX0*MY0(SS); //формирование Phase на шаге п/2

AR=AX1 XOR AY0;

AY1=AR;

AR=AX0 AND AY1;

MX0=AR;

MY0=64;

MR=MR+MX0*MY0(SS); //формирование Phase на шаге п

AY1=1;

AR=AX0 XOR AY1;

AX1=AR;

AR=AX1 AND AY0;

MX0=AR;

MY0=63;

MR=MR-MX0*MY0(SS); //формирование Phase на шаге 0

AX1=1;

AR=AX1 XOR AY0;

AX1=AR;

AY1=1;

AR=AX0 XOR AY1;

AY1=AR;

AR=AX1 AND AY1;

MX0=AR;

MY0=127;

MR=MR-MX0*MY0(SS); //формирование фазы на шаге п3/2

M6=MR0;

MODIFY(I5,M6);

CNTR=256;

DO DISKRET UNTIL CE; //цикл по частоте манипуляции

IDLE;

DISKRET: NOP;

AX1=L5;

AY1=M6;

AR=AX1-AY1;

M6=AR;

TAKT: MODIFY(I5,M6);

DIS TIMER;

mdl:AX1=PM(I5,M5); //подпрограмма модулятора

DM(I2,M2)=AX1;

RTI;

5.3 Алгоритм программы на языке Ассемблер

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

5.5 Диаграмма времени хранения регистров и ячеек памяти для алгоритма для языка Ассемблер

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Dm(0x3FFC)

Dm(0x3FFD)

AX0

Dm(3xFFB)

AY0

MR0

MY0

MR

AR

AY1

AX1

Dm(I2,M2)

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

Dm(0x3FFC)

Dm(0x3FFD)

AX0

Dm(3xFFB)

AY0

MR0

MY0

MR

AR

AY1

AX1

Dm(I2,M2)

6. Расчет параметров таймера для формирования частоты дискретизации и расчет затрат времени на выполнение программы

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

Программа должна выполняться за время

=1/Fдискр =1/35200=28мкс

Время обработки одной инструкции ,Tи=80нс.

Всего на выполнение подпрограммы randnorm максимально требуется 128 циклов процессора, следовательно, время на выполнение подпрограммы определится как:

t=tц*N

t=80 нс * 128 = 10,24 мкс.

Время на выполнение программы не превышает периода дискретизации, то есть 28 мкс.

Расчет параметров таймера для формирования частоты дискретизации

Таймер процессора ADSP-2189 содержит два 16-битных регистра TCOUNT и TPERIOD и один 8-битный регистр TSCALE. Эти регистры отвечают за работу таймера и отображены на область памяти: TPERIOD по адресу 0х3FFD, TCOUNT по адресу 0х3FFC, TSCALE по адресу 0х3FFB.

TSCALE - регистр масштаба (в работе TSCALE=0).

TCOUNT - регистр счета (до включения таймера он должен быть равен TPERIOD)

TPERIOD - регистр периода, который хранит период формирования прерываний.

Рассчитаем такое целое число циклов процессора, чтобы отсчеты модулируемого сигнала выдавались в порт с частотой дискретизации fдиск = fc*11=35.2 кГц, а время цикла процессора (время обработки одной инструкции) равно .

Отсюда получаем

TPERIOD=312.

7.Разработка функциональной схемы устройства

Функциональная схема процессора состоит из следующих узлов:

1) Процессор ADSP-2189.

2) Схема сброса процессора (RESET).

3) Схема источника внешних синхроимпульсов.

4) Схемы подключения загрузочной памяти.

5) Схемы подключения портов ввода и вывода.

Схема сброса процессора.

Сигнал RESET инициирует общий сброс ADSP-2189. Он должен присутствовать при включении питания для гарантии правильной инициализации процессора. При включении питания сигнал RESET должен быть достаточно длинным, чтобы позволить стабилизироваться внутреннему тактовому генератору. Если сигнал RESET подан после включения питания, тактовый генератор продолжает работать и время на его стабилизацию не требуется. Вход RESET имеет некоторый гистерезис; поэтому, если для формирования сброса используется RC-цепь, рекомендуется дополнительно включить внешний триггер Шмитта.

Сигнал общего сброса устанавливает все внутренние указатели стеков в состояние "пусто", маскирует все прерывания и очищает регистр MSTAT.

Синхронизация процессора.

Для синхронизации процессора могут быть использованы внешние синхроимпульсы, подаваемые на его внешний вывод CLKIN, по заданию частота следования синхроимпульсов 12.5 МГц. Однако в большинстве случаев для формирования синхроимпульсов CLKIN к выводам CLKIN и XTAL процессора подключается кварцевый резонатор. Период следования синхроимпульсов CLKIN (или тактовая частота) определяет длительность процессорного (командного) цикла. Для разделения последовательности выполняемых микроопераций в течение процессорного цикла используются внутренние фазовые циклы с частотой, в четыре раза превышающей тактовую частоту (рис. 11.1). Процессоры генерируют также внешние синхроимпульсы CLKOUT с периодом следования, равным длительности процессорного цикла.

Рис. 11.1

Интерфейс с памятью программ.

В процессоре ADSP-21XX предусмотрены средства для обращения к внутренней и внешней памяти программ общим объемом 16К двадцатичетырехбитовых слов.

При обращении к внешней памяти программ используются:

=>выход PMS процессора, на который выставляется строб PMS = 0 для активизации памяти программ;

=>выходы RD/WR процессора для чтения/записи памяти программ;

14-битовая внешняя шина адреса (ВША) для адресации;

24-битовая внешняя шина данных (ВШД) для вывода данных

При одновременном обращении к внешней памяти программ и памяти данных, данные из памяти программ считываются первыми. С помощью трех бит PWAITO-PWAIT2 в позициях SRO-SR2 системного регистра задается число циклов ожидания для памяти программ. При обращении к внутренней памяти программ сигналы PMS, DMS RD, WR имеют высокий уровень, исключающий возможность активизации микросхем внешней памяти, а внешние шины адреса и данных принимают высокоомное состояние. В этом режиме процессор способен за один цикл загрузить два операнда и следующую команду.

Интерфейс с памятью данных.

В процессоре ADSP-21XX предусмотрены средства для обращения к внутренней памяти данных общим объемом 16K шестнадцатибитовых слов. При обращении к внутренней памяти данных сигналы PMS, DMS, RD, WR имеют высокий уровень, исключающий возможность активизации микросхем внешней памяти, а внешние шины адреса и данных переходят в высокоомное состояние.

8 Карта использования памяти

Карта памяти программы для MMAP=0

Разряды адреса

Для данной схемы адрес порта ввода: 0х200, адрес порта вывода: 0х600.

Сигналы выбора имеют вид (соответственно для порта ввода и порта вывода):

.

Заключение

Данный курсовой проект дал практические и теоретические знания в области цифровых сигнальных процессоров на примере цифровых сигнальных процессоров семейства ADSP-21XX.

Цифровой сигнальный процессор отличается от обычного микропроцессора в первую очередь архитектурой и системой команд. Главное в принципах его построения - применение аппаратного умножителя для сокращения времени выполнения одной из основных операций цифровой обработки сигналов - операции умножения. В процессорах общего назначения умножение реализуется чередованием операций сдвига и сложения и занимает десятки тактов, а в ЦСП оно выполняется, как и другие операции, за один командный цикл. Это дает возможность выполнять большой объём вычислений в реальном масштабе времени.

Список используемой литературы

1. Логические ИС, справочник, Изд. Бином, 2010 г.

2. «Системы связи с подвижными объектами», методические указания к лабораторным работам, В. Г. Беленький, А. Г. Зайцев, Е. В. Кокарева, Р. Л. Лукьянец, Новосибирск 2009.

3. Конспект лекций.

Размещено на Allbest.ru


Подобные документы

  • Анализ технического задания. Разработка программы по вычислению функции на языке ассемблер для микропроцессора Кр580ВМ80. Алгоритмы программного умножения, деления, сложения, вычитания и сдвига влево многобайтных чисел. Расчет времени работы программы.

    курсовая работа [88,2 K], добавлен 19.09.2012

  • Программа для расчета полинома. Описание и схема алгоритма, распределение памяти под код программы, под данные и стек. Схема хранения операций ввода-вывода и их подключение. Изменения стека во время прогона программы. Листинг программы с комментариями.

    курсовая работа [59,0 K], добавлен 02.12.2009

  • Общие сведения о языке ассемблера. Назначение команды прерывания INT число. Описание логической структуры программы: алгоритм работы, используемые методы, входные и выходные данные. Структура и тестирование программы. Руководство оператора программы.

    курсовая работа [90,0 K], добавлен 01.12.2009

  • Ввод и вывод чисел при помощи подключаемого модуля IO. Особенности работы с одномерными и двухмерными массивами. Тестирование состояние флагов. Рринципы и навыки работы с компилятором и отладчиком. Разработка схемы алгоритма программы на языке ассемблер.

    курсовая работа [1,3 M], добавлен 02.12.2009

  • Ассемблер как символический аналог машинного языка. Архитектура микропроцессора: организация памяти, способы адресации операндов, правила использования регистров. Текст программы. Этапы программирования на ассемблере, алгоритмы выполнения задач.

    контрольная работа [515,1 K], добавлен 20.01.2016

  • Структурная схема микроконтроллера, процесс разработки принципиальной схемы и программного обеспечения. Конфигурирование регистров аналого-цифрового преобразователя. Код программы на языке Assembler, конфигурирование регистров внешних прерываний.

    курсовая работа [267,5 K], добавлен 08.06.2019

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

    курсовая работа [36,8 K], добавлен 18.09.2010

  • Разработка программы на языке VBA для управления деятельностью птицеводческой фермы, которая вводит исходные данные, выполняет расчеты и выводит на экран расчет данных по уходу за гусями и показатели оценки эффективности организации птицеводства.

    курсовая работа [1,8 M], добавлен 19.04.2011

  • Задача для проведения теплофизического расчета с помощью программы написанной на языке Pascal. Модуль программы, позволяющий определить и рассчитать параметры для решения задачи теплофизического расчета. Блок-схема, отображающая основные действия.

    методичка [17,5 K], добавлен 02.09.2010

  • Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.

    курсовая работа [348,7 K], добавлен 22.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.