Главная страница
Навигация по странице:

  • 1 1 Л 16 < z RXn Регастр приема данных 16 . Приемный регастр сдвига Рис. Схема последовательного порта 35

  • Сигнальные микропроцессоры и их применение в системах телекоммуникаций и электроники (В.С. Сперанский, 2008). Сигнальные микропроцессоры и их применение в системах телекоммун. УМссэ дгбо Jdjcov p f f f


    Скачать 14.91 Mb.
    НазваниеУМссэ дгбо Jdjcov p f f f
    АнкорСигнальные микропроцессоры и их применение в системах телекоммуникаций и электроники (В.С. Сперанский, 2008).pdf
    Дата24.03.2017
    Размер14.91 Mb.
    Формат файлаpdf
    Имя файлаСигнальные микропроцессоры и их применение в системах телекоммун.pdf
    ТипДокументы
    #4163
    КатегорияПромышленность. Энергетика
    страница3 из 12
    1   2   3   4   5   6   7   8   9   ...   12
    3.4. Кольцевой сдвигатель (Barrel Shifter)
    Сдвигатель процессора выполняет арифметические (ASIFT) и логические операции сдвигов (LSIFT) входного операнда, операцию нормализации - NORM преобразования числа с фиксированной точкой в число с плавающей точкой и денормализации - обратное преобразование и операцию с блочной плавающей точкой
    (EXPADJ). Схема кольцевого сдвигателя представлена на рис 3.4. Кольцевой сдвигатель включает входной регистр SI, решетку сдвига (SHTTER ARRAY), два выходных регистра SR0 . SR1 по 16 разрядов, логику OR/ PASS, детектор экспоненты, определяющий порядок при операции нормализации, цифровой компаратор и регистры и SE, а также устройство инвертирования знака
    (NEGATE).
    28
    Глава 3. Цифровой сигнальный процессор ADSP Регистр SI содержит входной операнд для сдвига или для установки порядка при операции нормализации. Загрузка регистра, кроме шины DMD. может проводиться с шины R, используя в качестве источника регистры AR, SR. MR. Регистр SE 8 разрядов содержит порядок при операции нормализации или величину сдвига. Загрузка регистра происходит с шины DMD или детектора экспоненты. Регистр SB разрядностью 5 бит и компаратор используются в операциях с блочной плавающей точкой. Регистр содержит значение экспоненты блока данных, то есть значение, на которое должен произойти сдвиг при нормализации самого большого числа в блоке. Компаратор фиксирует максимальную величину сдвига. Решетка сдвига представляет собой регистр циклического сдвига
    16x32 разряда. Сдвиг производится за время одной инструкции. Величина сдвига С определяется либо в команде, либо записывается в регистре SE (положительный сдвиг, либо через инвертор знака (отрицательный сдвиг. Указатели HI/LO, записываемые в команде, определяют начальную точку сдвига в состоянии HI сдвиги происходят относительно (старших бит результата, а в состоянии LO относительно (младших бит результата.
    DMD Рис. 3.4. Кольцевой сдвигатель
    29
    Сигнальные микропроцессоры Все разряды справа от результата сдвига в регистрах SRI, SR0 заполняются нулями, а разряды слева нулями, если производился логический сдвиги единицами, если арифметический. Логика сдвига OR/PASS позволяет соединить части числа с повышенной точностью после их сдвига водно число. В режиме PASS операнд после сдвига записывается в регистр SR без изменений. В режиме OR ИЛИ) операнд перед записью в регистры результата подвергается логической операции ИЛИ с текущим содержимым регистра SR. Примеры команд
    1. SR=LSHIFT SI BY-5 (HI) HI - сдвиг относительно 16 старших разрядов (SRI).
    LO - сдвиг относительно 16 младших разрядов (SR0). Произвести логический сдвиг операнда в SI на - 5 разрядов (те. сдвиг входного значения относительно верхнего выходного регистра в двоичном коде 1011011010100011. При логическом сдвиге команда L SHIFT. Освобождающийся раздел заполняется 0, а при команде A SHIFT - единицами.
    SR: 0000010110110101 2. SR= LSHIFT SI BY-5 (LO), входной операнд в SI тот же, что в предыдущем примере
    SR: 00000000000101101101010001100000 3. SR= ASHIFT SI BY-5 (HI)
    SI: 1011011010100011
    SR = 11111101101010001100000000000 Для чисел с одинарной точностью операция нормализации проводится в два этапа первый - определение порядка по команде
    SE= EXP AR (HI); второй - нормализация, то есть сдвиг
    SR= NORM MR, где MR один из возможных регистров- источников сдвига.
    3.5. Формирователи адресов В состав процессора входят два формирователя адресов один для формирования адресов данных, второй для формирования адресов данных или команд, причем адреса вычисляются одновременно за время одной команды. Формирователи осуществляют
    3 0
    Глава 3. Цифровой сигнальный процессор ADSP Рис. 3.5. Формирователь адресов данных косвенную циклическую или линейную адресацию при выполнении программы. Схема первого формирователя показана на рис.
    3.5. В него входят ряд регистров I - индексные регистры, М - ре- гистры-модификаторы, L - регистры длины цикла (10, II, 12, МОМ устройство сравнения по модулю и устройство перестановки бит для выполнения БПФ. Следующий адрес вычисляется в виде (СА) = ( I + M - B ) mod
    L + В, причем В - начальный адрес в регистре I, равный номеру начальной ячейки памяти данных из выбранной области памяти. Операция сравнения по модулю дает длину цикла L. Пример, МО = +1, L0 = 3; В = 4 ;
    СА = ( 5 + 1 - 4 ) mod 3 + 4 = 6. Сравнение по модулю представляет собой остаток отделения сравниваемого числа назначение модуля, например, 5 mod 10 = 5,
    10 mod 10 = 0. Пример МВ Сигнальные микропроцессоры

    L = 10;
    СА = ( 1002 + 1 - 1000 ) mod 10 + 1000 = 1003. В каждом процессоре семейства ADSP-2100 содержится два самостоятельных генератора адреса данных, за счет которых обеспечивается одновременный доступ к памяти данных и памяти программы. Генераторы адреса данных позволяют осуществлять косвенную адресацию данных. Оба генератора могут выполнять автоматическую модификацию адреса. Благодаря циклическим буферам, может выполняться модификация адреса по модулю. Генераторы адреса данных отличаются друг от друга. Генератор адреса данных) генерирует только адреса памяти данных, но обеспечивает при этом дополнительную возможность постановки битв обратном порядке (битреверсную адресацию. Генератор адреса данных 2 (DAG2) генерирует как адреса памяти данных, таки адреса памяти программы, ноне способен поддерживать битреверс- ную адресацию. При ознакомлении с приводимым ниже описанием внутреннего устройства и работы генераторов адреса данных следует иметь ввиду, что в результате развития программного обеспечения процессоров семейства ADSP-2100 появился прямой способ объявления буферов циклическими или линейными и управления положением буфера в памяти. Специальное программирование требуется только для инициализации регистров генераторов адреса данных
    3.6. Устройство управления программой Устройство управления программой производит контроль за последовательностью выполнения команд, обработку прерываний и реализует команды условного и безусловного перехода. Выходом устройства является адрес следующей выполняемой команды. Схема устройства управления показана на рис. 3.6. Счетчик команд используется в качестве одного из источников следующей команды при последовательном выполнении программы. Стек счетчика команд используется как источник адреса следующей инструкции при возврате из подпрограммы или процесса отработки прерываний. Значение с вершины стека дает следующий адрес при возврате к началу цикла DO UNTIL.
    32
    Глава 3. Цифровой сигнальный процессор ADSP
    DMD
    РМА Рис. 3.6. Устройство управления программой Регистр команд определяет следующий адрес в командах безусловного перехода. Адрес перехода 14 разрядов содержится в командном слове JAMP < CALL . Другой вариант адреса- индексные регистры в DAG2 при безусловном косвенном переходе по адресу, содержащемся в индексном регистре, например,
    JAMP(I4). Счетчик PC загружается по шине РМА. При обработке прерываний по команде, поступающей на контроллер прерываний, на мультиплексор следующего адреса поступает адрес команды прерывания, расположенной в памяти команд по адресу соответствующего вектора прерываний. Пока процессор выполняет преды-
    33
    Сигнальные микропроцессоры
    дущую команду логическое устройство выбирает источник адреса следующей команды из четырех возможных. Счетчик команд представляет собой 14 разрядный регистр, содержащий адрес следующей инструкции. 14 разрядный инкремен- татор добавляет единицу к текущему значению счетчика. С PC связан стек, содержащий 16 слов по 14 разрядов, в который помещается и извлекается содержимое PC при выполнении команд CALL,
    DO UNTIL и обработке прерываний. Счетчик циклов (CNTR) управляет последовательностью циклов команд, выполняемых заданное в программе число раз. Счетчик циклов 14 разрядный, каждый цикл декрементируется на 1. Стек счетчика циклов может хранить дох битных значений счетчика, обеспечивая вложенные циклы. В нем временно сохраняется значение счетчика внешнего цикла при выполнении внутреннего. При выполнении команды DO UNTIL 14 разрядный адрес последней команды и одно из 4 разрядных условий завершения цикла помещаются в стек циклов (LOOP STACK). В процессе выполнения операций цикла компаратор сравнивает адрес каждой команды с адресом последней команды цикла, находящейся в вершине стека. Когда два эти адреса становятся равными, то после выполнения последней команды цикла происходит повторение цикла или выход из цикла. В устройство управления программой также входят статусные регистры AST AT (арифметических состояний, MSTAT (состояния режима) и SSTAT (регистр состояния стеков, куда помещаются флаги.
    3.7. Последовательные порты Синхронные последовательные порты (SPORTO и SPORT 1), поддерживают множество протоколов обмена данными через последовательный порт (табл. 3.1) и могут обеспечить прямое соединение процессоров в системе, состоящей из нескольких процессоров. Последовательный порт принимает последовательно передаваемые данные на выводе DR и последовательно передает данные через вывод DT. Работая в дуплексном режиме он может одновременно принимать и передавать данные. Эти биты данных синхрон- ны с тактовыми синхроимпульсами генератора SCLK, которые являются выводом, когда процессор генерирует эти синхроимпульсы,
    34
    Глава 3. Цифровой сигнальный процессор ADSP или вводом, когда эти синхроимпульсы генерируются внешне. Сигналы кадровой синхронизации RFS и TFS используются для указания на начало слова последовательно передаваемых данных или потока последовательно передаваемых слов. Таблица 3.1 Описание выводов последовательного порта Название выводов Функция
    SCLK Тактовый сигнал
    RFS Прием кадровых синхроимпульсов
    TFS Передача кадровых синхроимпульсов
    DR Прием данных
    DT Передача данных На рис. 3.7 показана блок-схема последовательного порта. Шина DMD 16 1 6 -
    4 7
    ТХп Регистр передач данных
    16. Передающий регистр сдвига Схема компандирования Регистр управления
    DT TFS SCLK
    I ! I Внутренний последоватеть- ныи тактовый генератор
    RFS DR
    1 1 Л
    16
    < z
    RXn
    Регастр приема данных
    16 . Приемный регастр сдвига Рис. Схема последовательного порта
    35
    Сигнальные микропроцессоры Данные, предназначенные для передачи, записываются через шину DMD из внутреннего регистра процессора в регистр передачи. Эти данные могут сжиматься в блоке компандирования, а затем автоматически передаются в передающий регистр сдвига. Из регистра сдвига биты передаются на вывод последовательного порта, начиная с самых старших бит, синхронно с тактовыми синхроимпульсами. Принимающая часть последовательного порта принимает данные с вывода DR, также синхронно с тактовыми синхроимпульсами. После приема одного слова данные расширяются в блоке компандирования, а затем передаются в регистр приема данных RX последовательного порта. Далее рассмотрим свойства последовательного порта. Многие из них обладают перестраиваемой конфигурацией, за счет чего достигается гибкость в работе последовательного порта.
    • Двунаправленность: в каждом последовательном порту принимающая и передающая части независимы друг от друга. Двойная буферизация как передающей части, таки приемной имеется регистр данных для передачи слов данных в процессор и из него, а также регистр сдвига данных. Двойная буферизация сокращает время для обслуживания последовательного порта. Синхронизация каждый последовательный порт может использовать внешние тактовые синхроимпульсы или генерировать свои собственные в широком диапазоне частот. Длина слова каждый последовательный порт поддерживает длины слов последовательно передаваемых данных от трех до шестнадцати бит. Кадровая синхронизация - каждая часть последовательного порта (принимающая и передающая) может функционировать с или без использования сигналов кадровой синхронизации для каждого слова данных с внутренне или внешне генерируемыми сигналами кадровой синхронизации с активными по высокому или низкому уровню сигналами кадровой синхронизации с импульсами любой из двух длительностей и стробированием сигналов кадровой синхронизации. Аппаратное командирование (сжатие данных) каждый последовательный порт может выполнять компандирование по Аи ц алгоритмам Глава 3. Цифровой сигнальный процессор ADSP

    • Автобуферизация с затратами не более, чем в один цикл используя генераторы адресов данных, каждый последовательный порт может автоматически принимать и/или передавать целый циклический буфер данных с затратами водно слово данных. Передачи между последовательным портом и циклическим буфером осуществляются в этом режиме автоматически и не требуют дополнительного программирования. Прерывания каждая часть последовательного порта (принимающая и передающая) генерирует прерывания по завершению передачи слова данных или после передачи целого буфера при использовании автобуферизации. Многоканальность SPORTO может селективно принимать и передавать данные из потока последовательно передаваемых бит с использованием мультиплексирования 24 или 32 каналов с временным разделением информации. Это существенно важно для интерфейсов Т или может использоваться для сетевой коммуникации нескольких процессоров. Прерывания. Каждый последовательный порт имеет прерывания приема и передачи. Приоритеты этих прерываний показаны в табл. 3.2 Таблица 3.2 Приоритеты прерываний последовательного порта Высший Передача SPORTO (в процессорах с двумя последовательными портами) Высший Прием SPORTO (в процессорах с двумя последовательными портами) Высший Передача SPORT 1 Низший Прием SPORT 1 После записи данных в регистр ТХ последовательного порта этот порт готов для передачи побитовая передача данных инициа- лизируется сигналом TFS. После начала передачи каждое значение, записанное в регистр ТХ, подается на внутренний передающий регистр сдвига, откуда передается последовательно по битам, начиная с самого старшего бита. Каждый бит сдвигается по переднему фронту тактового синхроимпульса.
    37
    Сигнальные микропроцессоры Рис. 3.8. Схема подключения АЦП и ЦАП к последовательному порту После окончания передачи первого бита слова (самого старшего бита) последовательный порт генерирует прерывание передачи. Несмотря на то, что передача первого слова еще продолжается, становится возможной запись нового слова данных в регистр ТХ. В принимающей части последовательного порта биты накапливаются в том порядке, как они поступают во внутренний регистр приема. По окончании приема одного целого слова оно записывается в регистр RX, и последовательный порт генерирует прерывание приема. На рис 3.8. показано подключение АЦП и ЦАП к последовательному порту. В этом случае на АЦП и ЦАП подаются тактовые импульсы с внешнего генератора, они поступают также на последовательный порт для синхронизации и на специальные выводы процессора IRQ0 ив качестве сигналов прерываний.
    3.8. Порт прямого доступа к памяти (ПДП- DMA) Параллельный порт (ПДП) производит обмен данными и командами между внешними устройствами и внутренней памятью данных и команд, причем обмен может происходить в обе стороны. Работает под управлением процессора (host-processor) или контроллера ПДП. Достоинство данного порта заключается в том, что при обмене данными и инструкциями через него не требуется выключение ядра. Схема порта ПДП к внешнему интерфейсу представлена на рис. 3.9. На схеме также показан регистр управления портом. По сигналами процессор выводит содержимое адресуемой ячейки внутренней памяти на шину данных порта. По сигна-
    38
    Глава 3. Цифровой сигнальный процессор ADSP
    Host processor
    - j
    I S
    IAL
    D
    M
    A
    DM Ядро
    Host processor
    IRD ^
    IWR
    D
    M
    A
    Host processor
    IRD ^
    IWR
    D
    M
    A
    PM
    DSP
    Host processor
    IACK
    0 0
    1 1
    Адрес ячейки внутренней памяти
    0—Р.М Тип памяти 1 - - DM Рис. 3.9. Подключение порта ПДП к устройству управления
    DMA - верхняя шина передает адреса и данные IS - выбор порта
    IAL - управление записью адреса и ячеек памяти IRD - чтение данных через порт IWR - запись данных IACK - операция чтения, записи произведена и порт готов к работе RG - управление лам IS и IWR входное слово с шины данных порта записывается в адресуемую ячейку внутренней памяти. Порт может использоваться для начальной загрузки памяти при перезагрузке процессора.
    3.9. Таймер процессора Таймер предназначен для формирования программных прерываний, необходимых для разделения подпрограмм. Схема таймера процессора изображена на рис. Таймер состоит из двух 16- разрядных регистров, TCOUNT и TPERIOD, и одного разрядного регистра TSCALE. Команда управления режима инициализирует и блокирует таймер за счет установки и сброса бита 5 в регистре состояния режима
    MSTAT. Ниже показаны отображенные в карте памяти регистры таймера.
    0x3FFD
    0x3FFC
    0x3FFB
    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    —1— Т Т" Г 1
    TPERIOD Регистр периода t i t I I
    TCOUNT Регистр счетчика
    TSCALE Реп
    1 1 стр масц таби юва ния
    39
    Сигнальные микропроцессоры
    4
    TSCALE
    CLKOUT
    SZ
    Шгаа ДПД
    16 Устройство активизации таймера и предвартель- ное счетное устройство Активизация таймера
    Z>
    16
    9?
    16
    SZ.
    TPERIOD
    5Z. Логическое устройство загрузки величины периода счета декремент TCOUNT ноль Прерывание таймера Рис. 3.10. Схема таймера
    TCOUNT является регистром счетчика. Содержимое этого регистра подвергается после активизации таймера декрементирова- иию в каждом командном цикле. Когда счетчик становится равным нулю, генерируется прерывание. Затем регистр TCOUNT перезагружается значением, хранящимся в регистре TPERIOD и счетчик снова начинает свою работу. В регистре TSCALE содержится значение коэффициента масштабирования, которое всегда на единицу меньше, чем количество циклов между отрицательными приращениями (декрементами) значения в регистре TCOUNT. Например, когда значение в регистре равно нулю, то значение в регистре счетчика декре- ментируется в каждом цикле. Когда TSCALE содержит 1, счетчик подвергается декрементированию каждые два цикла. Разрешающая способность Регистр TSCALE позволяет задавать более длинные временные интервалы между прерываниями, расширяя, таким образом, возможности разрядного регистра TCOUNT. В табл. 3.3 показан диапазон временных интервалов таймера и зависимость между периодом следования прерываний и разрешающей способностью при максимальном значении регистра TPERIOD.
    4 0
    Глава 3. Цифровой сигнальный процессор ADSP Таблица 3.3 Диапазон временных интервалов и разрешающая способность таймера Время цикла = 80 не
    TSCALE Период следования прерываний Разрешающая способность О
    5,24 мс
    80 нес мке Таблица 3.4 показывает работу таймера при следующих состояниях регистров TPERIOD = 5, TSCALE = 1 и TCOUNT = 5. После активизации таймера (цикл п - 1) счетчик начинает свою работу. Так как TSCALE = 1, значение в регистре счетчика TCOUNT дек- рементируется каждый второй цикл. Перезагрузка регистра
    TCOUNT и продолжение работы счетчика происходит так, как это показано в таблице, вовремя выполнения подпрограммы обслуживания прерывания. Таблица 3.4 Пример работы таймера Цикл
    TCOUNT Действие п - 4 В TPERIOD загружается значение 5 п - 3 В TSCALE загружается значение 1 п - 2 В TCOUNT загружается значение 5 п - 1 5 Выполняется команда активизации таймера
    ENA TIMER п
    5 Так как TSCALE = 1, TCOUNT не декременти- руется п + 1 5
    TCOUNT декрементируется п + 2 4 Нет декремента п + 3 4
    TCOUNT декрементируется п + 4 3 Нет декремента п + 5 3
    TCOUNT декрементируется п + 6 2 Нет декремента
    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта