Вход/Регистрация
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
вернуться

Вальпа Олег Дмитриевич

Шрифт:

{ частота CLKOUT внутренняя удвоенная частота процессора }

{ SCLKDIV = ------------------------------------------------------ - 1; }

{(кадр.с.и.) 2*(частота SCLK синхронизация бит порта) }

{ }

{ SCLKDIV =(( 2*16384КГц ) / ( 2*2048КГц )) -1=8-1=7 }

ax0 = 7; DM(SPORT0.SCLKDIV) = ax0;

{Регистр SPORT0_RFSDIV = 0x3FF4 (Модуль деления последоват. такт. импульсов) }

{ частота SCLK }

{ RFSDIV = ------------ - 1; }

{ частота RFC }

{ RFSDIV = 2048КГц / 8КГц - 1 = 256-1 = 255 }

ax0 = 255; DM(SPORT0_RFSDIV) = ах0;

{Регистр SPORT0_Autobuf = 0x3FF3 (Регистр управления автобуферизацией SPORT0)}

{ Биты: FEDCBA9876543210 }

{ Исх.сост: 0000XXXXXXXXXX00 }

ax0 = b#0000011110101011; DM(SPORT0_Autobuf) = ах0;

{ Регистр SPORT1_Control_Reg = 0x3ff2 (Регистр управления SPORT1) }

{ Биты: FEDCBA9876543210 }

{ Исх.сост: 0000000000000000 }

ax0 = b#0111101001001001; DM(SPORT1_Control_Reg) = ах0;

{Регистр SPORT1_SCLKDIV = 0x3FF1 (Модуль деления последоват. такт. импульсов)}

{ частота CLKOUT внутренняя удвоенная частота процессора }

{ SCLKDIV = ------------------------------------------------------ - 1; }

{(кадр.с.и.) 2*(частота SCLK синхронизация бит порта) }

{ }

{ SCLKDIV = (( 2 *16384КГц ) / ( 2*115200 Гц )) -1 = 142-1 = 852 }

ax0 = 141; DM(SPORT1_SCLKDIV) = ax0; { 115200 бод }

{ Регистр SPORT1_RFSDIV = 0x3FF0 (Модуль деления последоват. такт, импульсов)}

{ частота SCLK }

{ RFSDIV = ------------ - 1; (или число бит в пакете -1) }

{ частота RFC }

{ RFSDIV = 19200 Гц / 1920 Гц - 1 = 10-1 = 9 }

ax0 = 9; DM(SPORT1_RFSDIV) = ax0;

{Регистр SPORT1_Autobuf = 0x3FEF (Регистр управления автобуферизацией SPORT1)}

{ Биты: FEDCBA9876543210 }

{ Исх.сост: 0000XXXXXXXXXX00 }

ax0 = b#0000000000000000; DM(SPORT1_Autobuf) = ax0;

В первых двух блоках программы разрешается работа первого канала приемника SPORT0. В следующих двух блоках программы разрешается работа нулевого и первого канала передатчика SPORT0. Далее в регистр SPORT0_Control_Reg заносится информация о длине слова, формате данных, выравнивании слова, типе компандирования, инвертировании кадровых импульсов и др. режимов работы порта. После чего вычисляется коэффициент деления для тактовой частоты синхронизации SCLK и записывается в регистр SPORT0_SCLKDIV. Аналогично, в следующем блоке программы, производится вычисление коэффициента деления для тактовой частоты кадровых импульсов и запись этого значения в регистр SPORT0_RFSDIV. Завершается конфигурирование SPORT0 записью режима работы порта в регистр управления автобуферизацией SPORT0_Autobuf. Аналогично производится конфигурирование порта SPORT1.

Прием и передача данных через порты могут осуществляться с помощью регистров передатчика TX0, TX1 и регистров приемника RX0, RX1 в портах SPORT0 и SPORT1 соответственно. Эти регистры не отображены в карте памяти процессора, но распознаются мнемоникой ассемблера. Доступ к этим регистрам обеспечивается в произвольный момент во время выполнения программы. Например, следующая команда записывает данные из регистра AX0 в регистр передатчика SPORT1:

TX1 = AX0; {Содержимое регистра AX0 передается в порт SPORT1}

  • Читать дальше
  • 1
  • ...
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: