Блок электронного ключа на базе преобразования Фурье

Министерство  Образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ  И РАДИОЭЛЕКТРОНИКИ

 

Факультет Компьютерного Проектирования 

 

Кафедра ЭВС

 
 

« К защите  допускаю »

Руководитель  проекта

Клюс  В.Б.

«       »               2002 г.

 
 
 
 
 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому  проекту на тему:

« Блок электронного ключа  на базе преобразования Фурье »

 
 
 
 
 
 
 
 

Выполнил:                   Принял:

студент гр. 810702       доцент каф. ЭВС

Ларионов А.А.                                                                              Клюс В.Б.

 
 
 

- Минск 2002 -

 

Содержание

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение

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

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

    Значительное  место в ряду DSP процессоров занимает семейство процессоров TMS фирмы Texas Instruments. Особенности построения данного семейства следующие:

    1) гарвардская архитектура;

    2) широкое использование конвейерного  режима;

    3) наличие специального устройства  умножения;

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

    5) короткий командный цикл.

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

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

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

    В данном курсовом проекте мы используем проблемно-ориентированный процессор.

      DSP процессоры имеют команды ориентированные на отдельные задачи. Большинство команд выполняются за один такт, идет параллельная адресация. Данные процессоры применяются в технике связи информации, технике обработки изображения, измерительной технике.

 
 
 
 
 
 

1 Анализ задачи

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

  1. Список функций выполняемых системой;
  2. Описание интерфейса между системой и пользователем.

    В настоящем курсовом проекте поставлена цель разработать блок электронного ключа на базе преобразования Фурье, основной частью которого будет являться модуль ЦОС на базе TMS320C26. В качестве остальных характеристик, представлены ограничения на память программ, память данных, частоту дискретизации, динамический диапазон частот, частоты.

    Устройство  производит анализ входного сигнала, поступающего с АЦП и при совпадении требуемых трёх частот, замыкает ключ.

    Исходные  данные для проекта следующие:

  1. Модуль ЦОС на базе процессора TMS320c26.
  2. Память программ 32к(8к×16), память данных 32к(16к×8).
  3. Частота дискретизации 10кГц, динамический диапазон 48 дБ.
  4. Выделение заданной комбинации 3-х частот из 8.
  5. Частоты: 650, 850, 1050, 1250, 1450, 1650, 1850, 2050.
  6. Условия срабатывания: уровень выше 20дб, отклонение менее ±30 Гц.
  7. Условия несрабатывания: уровень ниже 30дб, отклонение более ±60 Гц.

    Посредством персонального компьютера будет  реализовываться взаимодействие пользователя с устройством, то есть интерфейс пользователя. Человек с помощью клавиатуры, подсоединённой к устройству, будет задавать требуемые частоты, по которым должен “сработать” электронный ключ.

 
 
 
 

2 Предварительное  проектирование

    2.1 Разбиение устройства на модули

    На  этапе предварительного проектирования устройство разбивается на модули и производится выбор соотношения между аппаратными и программными средствами.

    Разбиение устройства на модули будет производиться  на базе списка функций, выполняемых  устройством. В соответствии с этим устройство будет содержать модуль преобразования входного сигнала, выходной модуль, модуль микрокомпьютера. В него также будет входить модуль синхронизации (рисунок 2.1.1):

   

 
 
 
 
 
 
 

Рисунок 2.1.1 - Модульная структура измерителя спектра мощности.

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

    Модуль  микрокомпьютера осуществляет обработку  данных.

    2.2 Выбор соотношения между аппаратными и программными средствами

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

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

    Структура программных средств приведена на рисунке 2.2.1.

               

    Рисунок 2.2.1 - Модульная структура программных средств.

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

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

    Модуль  выделения заданной комбинации  3-х частот производит выделение трёх заданных нам частот из восьми возможных.

    В модуле ввода считываются входные  сигналы.

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

    2.3 Построение структурной схемы устройства

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

    Структурная схема разрабатываемого устройства должна укрупнено отображать состав (основные блоки) устройства.

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

    Далее осуществляется подключение внешней  памяти программ 32К (8Кх16) и данных 32К (16К х 8). Память программ используется для хранения программы и констант, память данных – для хранения переменных, массива результатов.

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

    Структурная схема устройства приведена в приложении.

    2.4 Разработка алгоритма работы

    Порядок работы устройства следующий:

  1. инициализация устройства – сброс микропроцессора, пересылка констант из памяти программ в память данных;
  2. выборка 512 значений из АЦП;
  3. 512-точечное преобразование Фурье;
  4. анализ полученной АЧХ;
  5. вывод полученных результатов в последовательный порт;
  6. Повторение пунктов 2-5.
 

    Алгоритм  работы устройства приведен в приложении 1.

 
 
 
 
 
 
 
 

3 Проектирование аппаратных  средств

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

    Процессор TMS320С26, на базе которого построено наше устройство,  принадлежит ко второму поколению семейства процессоров TMS. Он характеризуется наличием следующих особенностей :

  1. длительность командного цикла 20 нс ;
  2. объём внутреннего ОЗУ данных 1568 слова ;
  3. объём внутреннего ПЗУ 256К;
  4. 8 вспомогательных регистров ;
  5. наличие в аккумуляторе разряда переноса С и связанных с ним команд
  6. режим адресации с инвертированием разряда для выполнения БПФ ;
  7. большинство команд реализуют за 1 цикл с одновременным перемещением данных ;
  8. последовательный порт.

    Генератор G формирует тактовые импульсы частотой 40 МГц для обеспечения работы микропроцессора. Цепь сброса построена на резисторе и конденсаторе и обеспечивает формирование сигнала сброса при подаче напряжения питания на схему (рисунок 3.1.1). К интерфейсу вывода микропроцессор подключен через программно управляемые выводы и XF и через буферы–инверторы.

    

    Рисунок 3.1.1 – Сброс процессора TMS 320C26.

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

    Опишем  каждый из сигналов:

    D0...D15 – шина данных

     A0...A15 – шина адреса

     DS – выбор памяти данных

    PS – выбор памяти программ

    IS – выбор устройства ввода – вывода

     R/W – чтение/запись данных

     STRB – строб записи/чтения

     RS – сброс процессора

    MP/MC – режим микропроцессора, микрокомпьютера

    X1 – вход для подключения кварцевого резонатора;

    X2 – вход для генератора

    

                     Рисунок 3.1.2 - Сигналы процессора TMS 320C26.

    На  рисунке 3.1.3 представлено условное обозначение микросхемы памяти .

   

    Рисунок 3.1.3 - Сигналы памяти.

    Основные  сигналы памяти имеют следующее  значение:

    A – шина адреса

     D – шина данных

     W/R – вход записи/чтения

     CS – сигнал выбора кристалла

    0E – сигнал разрешения выхода

    Схема будет содержать в себе две  разновидности запоминающих устройств  – ПЗУ для хранения программы  и констант, а также ОЗУ для  хранения рабочих переменных. Для  подключения модулей будут необходимы простейшие комбинационные схемы на логических элементах. Используя все эти данные можно приступать к построению функциональной схемы. Для нормальной работы данного модуля необходимо обеспечить определенный объем памяти данных и памяти программ. Нам указан объем памяти программ и памяти данных (32К и 32К соответственно) и разрядность микросхем памяти программ и памяти данных (8Кх16 и 16Кх8 соответственно). Разрядность данных процессора TMS320C26 – 16, следовательно мы должны использовать 4 микросхемы ПЗУ с организацией 8Кх16 и 4 микросхемы ОЗУ 16Кх8.

    Разрядность АЦП выбирается исходя из заданного динамического диапазона 48 дБ. Исходя из формулы при разрядности АЦП 8 бит:

                                             

                                        (3.1.1)

следовательно мы улаживаемся в заданный динамический диапазон.

    Рассмотрим  схему управления микросхемами памяти.

    Подключение микросхем ОЗУ и ПЗУ приведено  на рисунке 3.1.4.

Рисунок 3.1.4 – Подключение памяти.

 
 
 
 
 
 

    Формирователь реализуем на ИМС К1533АП6. Рассмотрим его таблицу истинности.

                           Таблица 3.1.1 – Таблица истинности К1533АП6.

          EO E Операция
          H X 3-е состояние
          L H A0=>B0
          L L A0<=B0
 

    Вход  E0 – выборка формирователя (активный низкий уровень), E – направление передачи. Анализируя таблицу истинности, приходим к выводу, что на вход E надо подать высокий уровень – направление передачи от входов A0-A9 к B0-B9, а на вход E0 - сигнал с дешифратора.

    Схема управления формирователем и АЦП  показана  на рисунке 3.1.5.

Рисунок 3.1.5 – Подключение формирователя и АЦП.

 

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

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

    Функциональная  схема устройства приведена в  приложении.

 
 
 
 

4 Проектирование программного обеспечения

    4.1 Уточнение алгоритма работы устройства

Уточненный порядок  работы устройства следующий:

  1. инициализация устройства – сброс микропроцессора, пересылка констант из памяти программ в память данных;
  2. осуществляется выборка 512 значений сигнала через АЦП;
  3. преобразование Фурье;
  4. определение входит ли та или иная составляющая в сигнал;
  5. по полученным данным возвращает код нажатой клавиши либо код ошибки;
  6. повторный запуск, начиная с п.2

    4.2 Разработка программного обеспечения устройства

    Программное обеспечение разрабатывается в  расчете на то, что АЦП выдает цифровые значения в дополнительном коде, и входные значения находятся в пределах ±1, т.е. используется код Q15.

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

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

    Текст программы приведен в приложении 2.

 

Заключение

    В ходе проектирования был разработан блок электронного ключа на базе преобразования Фурье, обладающее всеми необходимыми параметрами и выполняющее заданный алгоритм действий. Устройство имеет последовательный    интерфейс, позволяя выводить результат на любое устройство, которое будет совместимо с этим интерфейсом. Процессор TMS320С26 является вполне подходящим для решения подобного класса задач, как по быстродействию, так и по сложности.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Литература

 
 
  
  1. Фридмен М., Ивенс Л. “Проектирование систем с микрокомпьютерами” М.Мир  1986г.  408с.
  2. Гивоне Д. Россер Р. “Микропроцессоры и микрокомпьютеры” М.: Мир, 1983.-464 с.
  3. Петровский А. Качинский М.В. “Методическое пособие по проектированию микропроцессорных средств и систем” Мн. БГУИР, 1992г., 60с.
  4. В.Д.Байков, В.Б.Смолов “Специализированные процессоры: итерационные алгоритмы и структуры”: Москва, Радио и связь, 1985г.
    1. Конспект лекций по курсу “ППОЭВС” , Клюс В.Б.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

   ПРИЛОЖЕНИЕ 1 :  Блок-схема алгоритма работы программы.

 
 
 

 

ПРИЛОЖЕНИЕ 2 : Листинг программы.

 
 
 

DRR       .set   0

DXR       .set   1

TIM       .set   2

PRD       .set   3

IMR       .set   4

 

f697      .set   66

f770      .set   88

f852      .set   108

f941      .set   128

f1209     .set   148

f1336     .set   168

f1477     .set   188

f1633     .set   208

resmin    .set   164

unresmax  .set   16

 

          .ds    60h

result    .word  0

PR        .word  3

PI        .word  5

QR        .word  1

QI        .word  4

s         .word  3

c         .word  4

i         .word  0

j         .word  0

k         .word  0

N-2       .word  0

BufAddr   .word  0

 

AR7_      .word  0

AR6_      .word  0

AR0_      .word  0

step      .word  1

 

tmp       .word  0

harm      .word  1

Addr      .word  0

mask      .word  6FFh

N         .word  511

N/2_      .word  256

N/2       .word  255

IntAddr   .word  400h

IntTmp0   .word  0

IntTmp1   .word  0

IntTmp2   .word  0

IntTmp3   .word  0

IntCntr   .word  0

          .ds    400h

buf0      .word  0

    

          .ds    800h

buf1      .word  0

 

          .ds    0A00h

          .include "s-c256.tab"

 

          .ps    0

          b      Init

 

          .ps    18h

          b      TimInt

 

          .ps    0FFh

Init:

          ldpk   0

          sovm

          ssxm

          spm    1

          lack   8

          sacl   IMR

          lalk   999

          sacl   PRD

          eint

sleep:    nop

b      sleep

********************************

TimInt:   eint

          sar    AR0,IntTmp0

          sst1   IntTmp1

          sst    IntTmp2

          sacl   IntTmp3

          sach   IntTmp4

 
 

          lac    IntCntr

          addk   1

          sacl   IntCntr

          sub    N

 

          lar    AR0,IntAddr

Блок электронного ключа на базе преобразования Фурье