Мысловский Э.В. Цифровые сигнальные процесссоры (2003) (1264219), страница 15
Текст из файла (страница 15)
Длина слова равна SLEN+1.Например, для работы со словами длиной в 4 бита, SLEN устанавливается равнымВ#0011. Слова данных, имеющие длину меньше 16 бит, выравниваются по правомуразряду в регистрах данных последовательного порта. Запрещено устанавливать SLENв 0 и 1.5.6.7 Кадровая синхронизацияПри возникновении необходимости синхронизировать передачу каждого слова(кадра) имеется режим кадровой синхронизации. Переход в этот режим осуществляетсяустановкой битов 13 - для приема и 11 - для передачи регистра управленияпоследовательным портом. При включении и после сброса эти биты обнуляются. Принулевом значении этих битов сигнал кадровой синхронизации генерируется только дляпервого переданного и принятого слова. При установленных в 1 битах сигналгенерируется при передаче и приеме каждого слова.100Источники сигналов кадровой синхронизации могут быть как внутренними, так ивнешними, и различаться для приема и передачи.
Например, для передачи может бытьустановлен внешний источник, а на прием внутренняя кадровая синхронизация. Источникустанавливается битами IRFS и ITFS в регистре управления последовательным портом.При установке бита в 1 используется внутренний источник сигналов кадровойсинхронизации, при установке бита в 0 используется внешний источник. Число цикловтактового генератора между подтверждением приема определяется как RFSDIV+1, гдеRFSDIV значение, записанное в регистр делителя кадровой синхронизации приемаRFSDIV (0x3FF4 для SPORT0 и 0x3FF0 для SPORT1).В нормальном кадровом режиме сигналы кадровой синхронизации проверяютсяна заднем фронте SCLK.
Если сигнал кадровой синхронизации зарегистрирован,принимаемые данные фиксируются по заднему фронту следующего импульса SCLK, апередаваемые данные передаются на следующем переднем фронте сигнала SCLK.В альтернативном режиме, сигналы кадровой синхронизации должны приходить втом же цикле, что и передается или принимается бит данных. Принимаемые данныефиксируются на заднем фронте SCLK, а передаваемые данные передаются на переднемфронте сигнала SCLK, но сигнал кадровой синхронизации проверяется только для первогобита.Кадровые режимы устанавливаются независимо для приема и передачи. Если битRFSW в регистре управления последовательным портом сброшен в 0, используетсяполучение данных с кадровой синхронизацией в нормальном режиме, если установлен в 1- используется альтернативный режим.
Для выбора режима кадровой синхронизации припередаче данных служит бит TFSW. Его назначение аналогично RFSW.5.6.8 Пример конфигурацииПример: Пример конфигурации последовательного порта{ Подпрограмма остановки последовательного порта}101Прием, использованный для модификации регистров, является в общем случаеболее выгодным, чем непосредственная запись в регистр необходимого значения,поскольку считывая имеющееся значение и модифицируя логической операцией один или102несколько бит, мы не затрагиваем остальных установок, что во многих случаях позволяетизбежать трудно обнаружимых ошибок.5.6.9 АвтобуферизацияПри работе без автобуферизации при приеме или начале передачи словагенерируется прерывание.
Механизм автобуферизации позволяет передавать и приниматьданные блоками. Автобуферизация использует способность генераторов адреса данныхосуществлять адресацию циклических буферов. При разрешенной автобуферизациикаждое слово данных последовательно передается в или из памяти данных за одиннепроизводительный цикл. Таким образом, при выполнении приема или передачи словапрерывание не генерируется, просто программа задерживается на один цикл (именно такобразуется непроизводительный цикл).
Выбор используемого генератора осуществляетсяв регистре управления автобуферизацией (0x3FF3 для SPORT0 и 0x3FEF для SPORT1).Биты TIREG и TMREG определяют номер I - регистра и М - регистра соответственно, дляпередачи. Биты RIREG и RMREG определяют номер I - регистра и М - регистрасоответственно,дляприема.БитыTBUFиRBUFотвечаютзазапрещениеавтобуферизации.1. Разработайте программу осуществляющую получение данных из портаSPORT0 и пересылку данных в SP0RT1.5.6.10 Компандинг (упаковка и распаковка данных)Компандинг - это процесс логарифмического кодирования и декодированияданных, обеспечивающий минимизацию количества пересылаемых байт, иначе говоря,сжатие.
Процессоры семейства ADSP-21xx аппаратно поддерживают сжатие как по Aзакону, так и по u-закону. Тип сжатия, как и формат несжатых данных, устанавливаетсябитами DTYPE в регистре управления последовательным портом.5.7 ТаймерПрограммируемыйинтервальныйтаймеробеспечиваетпериодическуюгенерацию прерываний. 8-битный масштаб позволяет ему декрементировать содержимое16-битного регистра-счетчика в диапазоне от каждого цикла до каждого 256 цикла.Прерываниегенерируется,когдарегистр-счетчикобнуляется.Регистр-счетчикавтоматически загружается из 16-битного регистра интервала и отсчет временинемедленно возобновляется.103Шина данных памяти данных (DMD)Регистр TSCALEРегистр TPERIODCLKOUTЛогика загрузки регистра TCOUNTУменьшениена 1Логика включениятаймераРеистр TCOUNTНульЛиния включениятаймераРис.
5.7 Структурная схема таймераТаймер включает в себя два 16-битных регистра - ТCOUNT и TPERIOD, и один 8битный - TSCALE. Расширенные инструкции управления позволяют разрешать изапрещать таймер установкой и очисткой бита 5 в регистре MSTAT.Приразрешенномтаймере,значение,записанноевэтомрегистре,декрементируется каждый процессорный цикл. При достижении нуля вырабатываетсясигнал прерывания.После обработки прерывания в регистр TCOUNT загружается значение,находящееся в регистре TPERIOD.104TSCALE содержит коэффициент масштабирования, на единицу меньший, чемколичество процессорных циклов между декрементами счетчика.
Таким образом,прерывание происходит каждые (TPERIOD+l)*(TSCALE+l) циклов. Однако первоепрерывание генерируется через (TCOUNT+l)*(TSCALE+l) циклов.Пример: Конфигурирование таймераConfig timer:AR=120,DM(TCOUNT) =AR;AR=120:DM(TPERIOD)=AR;AR=0;DM(TSCALE) =AR;RTS;Разработайте программу генератора синусоидальных колебаний.105ГЛАВА 6. Задания по лабораторным работам на EZ-KIT - 2189МЛабораторная работа №1 «Умножение векторов (свертка)»Цель работы:Изучение приемов работы с АЛУТеоретическое введение:Свертка достаточно часто встречающаяся операция в обработке цифровыхсигналов. Рассмотрим прямую форму перемножения векторов (свертки)Программа, реализующая данный алгоритм приведена в примере.Однако данный способ не слишком рационален, поскольку требует n умноженийи n сложений, более рациональным является следующий алгоритм вычисления:106подпрограмма, реализующая данный алгоритм приведена в следующем примере.Задание:1.Написать и отладить программу сложения векторов.2.Написать и отладить программу сложения матриц (элементы в линейномбуфере хранить либо по столбцам, либо по строкам).3.Написать и отладить программу умножения матриц.4.Измерить время выполнения программы, приведенной в примере, иколичество MIPS, которые занимает эта программа.5.Оформить отчет107Лабораторная работа №2 «Трансверсальный КИХ- фильтр»Цель работы:Изучение приемов работы с умножителем-накопителемТеоретическое введение:Трансверсальныйназываетсяфильтр,осуществляющийвзвешенноесуммирование ряда отсчетов входного сигнала и не использующий выходные отсчеты:yi=a0xi+a1xi-1+...+amxi.mТаким образом, трансверсальный фильтр – это фильтр с конечной импульснойхарактеристикой {hk}={a0,ai...ak…am}Его системная функция H(Z) = a0 + a1Z-1+...amZ-m= (a0Zm + akZm-k+amZ0)/Zmявляется конечной дробно-рациональной, с m-кратным полюсом при Z=0 иимеющей m нулей, определяемых коэффициентами {ак}.Структура фильтра может быть изображена в виде, который поясняет название от англ.
transverse - поперечный.xa0Z-1Z-1Z-1+ya1a2...anРис. 6.1 Структура КИХ-фильтраОсновными элементами фильтра служат устройства задержки отсчетныхзначений на один интерват дискретизации (Z-1), а также масштабные звенья,выполняющиевцифровойформеоперацииумножениянасоответствующиекоэффициенты.С выходов масштабных звеньев сигнаты поступают на сумматор, на выходекоторого образуется отсчет выходного сигната.108Частотная характеристика трансверсального фильтра получается подстановкойZ=exp(jωt) в Н(z):K(jω)=a0+a1exp(-jωτ)+ a2exp(-jωτ)...exp(jMωτ)Подбором коэффициентов вид ЧХ можно видоизменять в широких пределах.Пример yi=l/3(xi+xi-1+xi-2) усреднение трех отсчетов (Ц.Ф. второго порядка).Если ωτ<120 (на один период входного колебания приходится не менее трех)отсчетов, фильтр ведет себя как ФНЧ.