Контроллер прямого доступа в байтовую память (BDMA) позволяет осуществлять загрузку и сохранение команд программы и данных, используя пространство байтовой памяти. Схема BDMA способна обращаться к пространству байтовой памяти в то время, как процессор работает и захватывает только один цикл DSP для перемещения 8-, 16- или 24-разрядного слова.
IAD0 ... IAD15 - 16-ти разрядная мультиплексированная шина данных/адреса порта IDMA.
Порт прямого доступа к внутренней памяти (IDMA) процессора ADSP-2181 является одним из новых устройств, существенно упрощающих построение интерфейса с HOST-процессором.
Рис. 3.1.2. Интерфейс работы порта IDMAс HOST-процессором.
Четыре входа управления IDMA предназначены для:
IS- выбор порта;
IAL - запись адреса ячейки памяти;
IRD - чтения данных через порт;
IWR - запись данных ;
IACK - Сигнал подтверждения доступа. Определяет завершение операций чтения/записи и готовность IDMA к следующей операции.
BMODEи MMAP
Выводы процессора BMODE и MMAP определяют режим загрузки и распределение (карту) памяти DSP. Для загрузки через внешнюю память BMODE=0 и MMAP=0. Загрузка состоит из следующих операций:
• Сброс процессора сигналом RESET
• Загрузка в ProgrammMemoryи DataMemoryкодов программы и данных, исключая ячейку PM(0x0000).
• Запись слова в ячейку PM(0x0000) для запуска загруженной программы.
IRQ2, IRQL1, IRQL0 и IRQE. TFS1/IRQ1, RFS1/IRQ0.
Аппаратные входы прерываний. При подаче на них низкого уровня сигнала управление передается соответствующей подпрограмме
Таблица 3.1 - Таблица прерываний.
RESET- при получении низкого уровня сигнала передается управление подпрограмме инициализации DSP. При этом происходит повторная загрузка программы из внешней памяти в DSP.
PWD- (powerdown) отключение питания.
XTAL, CLKIN- на них подается тактовая частота от кварца. В нашем случае 16,67 MHz.
PMS, IOMS,
BMS, DMS, CMS - Данные выводы служат для подключения и управления оверлейной памятью.
Конфигурация оверлейной памяти задается установкой управляющего сигнала CMS в регистре программируемых флагов и составного сигнала управления (ProgrammableFlagandCompositeSelectControl). Также можно использовать оверлейную память, как память данных.
Так как шина адреса ADSP-2181 имеет только четырнадцать разрядов, то для расширения адресного пространства оверлейной памяти используются флаги FL0, FL1, а также FL2 или PMSв зависимости от требуемой конфигурации.
Рисунок 3.3 Системный интерфейс ADSP 2181
Выбранный нами цифровой сигнальный процессор ADSP - 2181 способен выполнять следующие действия:
За один цикл процессор ADSP-2181 может: | Это происходит в то время как процессор продолжает: |
- генерировать следующий адрес программы | - получать и передавать данные через два последовательных порта |
- Выбирать следующую команду | - получать и/или передавать данные через внутренний порт прямого доступа в память |
- выполнить одно или два перемещения данных | - получать и/или передавать данные через порт прямого доступа в байтовую память |
- модифицировать один или два указателя адреса данных | - Декрементировать таймер |
- выполнить вычислительную операцию |
Это полностью удовлетворяет нашим требованиям, для обеспечения требуемой модуляции и реализации метода кодирования NBDP. А также фирма AnalogDevicesпоставляет со своими процессорами мощные программные продукты для отладки и записи программ в DSP, что делает данный цифровой сигнальный процессор еще более приемлемым для нас.
3.2 Выбор кодека
Как было видно из пункта 3.1 , цифровой сигнальный процессор не занимается преобразованием аналогового сигнала в цифровой и наоборот, это делают АЦП и ЦАП. Вот таким комбинированным АЦП/ЦАП являются микросхемы CODEC.
Их как и DSPсуществует большое количество, но мы также остановимся на микросхемах фирмы AnalogDevices. Т.к. в роли цифрового сигнального процессора нами выбран ADSP 2181, то выбираем звуковой кодек AD1847 с последовательным цифровым интерфейсом совместимым с ADSP 21xx.
Рисунок 3.4 - Графическое изображение CodecAD1847
Параметры AD1847:
Тип сигнала - моно/стерео
Преобразование- АЦП / ЦАП
Напряжение питания- + 5 V
Диапазон выходных частот- 20 Hz... 20 kHz
Наличие фильтров: цифровой фильтр;
аналоговый фильтр НЧ;
Максимальная тактовая частота- 27 MHz
Аналоговый вход- 2
Вспомагательный аналоговый вход - 1
Аналоговый выход - 1
Рассмотрим назначение выводов и принцип работы кодека:
VCC- питание + 5 V. Источник питания тот же, что и ADSP - 2181.
GND- земля.
GNA- земля аналогового сигнала
SCLK- тактовый генератор последовательной передачи данных. (значение зависит от XTAL1,XTAL2 ) при установленном XTAL1 значение будет 12,288 MHz, при XTAL2 11,2896 MHz.
SDFS- синхронизация последовательных данных.
SDI, SDO- прием и передача данных из последовательного порта DSP. ( SerialDataInputи SerialDataOutput ). Обмен данными может осуществляться как с DSP, так и любым HOST - процессором. Размер даных - 16 бит.
RST- при установке низкого уровня , происходит инициализация всех регистров начальными значениями. (RESET)
PWD- также установке низкого уровня , происходит инициализация всех регистров начальными значениями и перевод чипа в режим пониженного энергопотребления, при котором Vrefи аналоговые выводы земли - отключены.
BM- при наличии на этот выводе высокого уровня сигнала , на шине устанавливается сигнал MASTER, и происходит передача данных в DSPпо порту RXD0. В случае низкого уровня сигнала на шине устанавливается сигнал SLAVE, и происходит прием данных от DSPпо порту TXD0.
CLKO- (clockoutput) выход тактового генератора. Значение зависит от XTAL1, XTAL2: при установленном XTAL1 значение будет 12,288 MHz, при XTAL2 16,9344 MHz.
Аналоговые выводы приема/передачи
LI1L- линейный вход 1 для левого канала
LI1R- линейный вход 1 для правого канала
LI2L- линейный вход 2 для левого канала
LI2R- линейный вход 2 для правого канала
AI1L - вспомагательный вход 1 для левого канала
AI1R- вспомагательный вход 1 для правого канала
AI2L - вспомагательный вход 2 для левого канала
AI2R- вспомагательный вход 2 для правого канала
LOL- линейный выход для левого канала
LOR- линейный выход для правого канала
X2O, X2I- от кварцевого резонатора 16,9344 MHz.
X1O, X1I- от кварцевого резонатора 24,576 MHz.
Исходя из этого выбираем кварцевый резонатор X2 с частатой 16, 9344 MHz, а X3 с частатой 24, 576 MHz.
Выбранные кварцевые резонаторы включаются по стандартной схеме с двумя параллельными конденсаторами по 18 pF.
Конденсаторы C31, C32, C36, C37 выбираем емкостью 18 pF.
FLTL- левый канал фильтра. Используется для подключения стандартного конденсатора 1 мкФ.
FLTR- правый канал фильтра. Используется для подключения стандартного конденсатора 1 мкФ.
Исходя из этого выбираем конденсаторы C40 и C41 емкостью 1 мкФ.
VRO- внешнее опорное напряжение. Величина 2,25 V. Запрещается подключение к данному выводу какой - либо нагрузки
VRI- внутренее опорное напряжение.
Рисунок 3.5 - Схема включения опорного напряжения
Из схемы включения видно, что выходное опорное напряжение используется для аналоговых сигналов. Исходя из данной стандартной схемы включения конденсаторы C46 и C47 выбираем емкостью 10 мкФ, а конденсатор C45 = 0.1 мкФ.
Рисунок 3.6 - Функциональная блок - схема кодека AD1847
В данном разделе были рассмотрены функции кодека ADSP 2181 , назначения выводов и принцип работы. Также были выбраны все необходимые элементы для стандартной схемы включения.
Выбраный кодек поностью совместим с ADSP 2181 , имеет 16-ти разрядный последовательный порт, чего вполне достаточно для реализации нашего устройства кодирования - декодирования информации.
Практически все рассмотренные функции данного кодека необходимы для реализации нашего устройства и будут задействованы.
3.3 Выбор драйвера интерфейса RS - 232
Драйверы интерфейса RS - 232 служат для согласования с host - компьютером использующим уровни сигнала RS - 232 и асинхронный последовательный порт.
Выбираем драйвер интерфейса RS - 232 фирмы AnalogDevicesADM232A.
Рисунок 3.7 - Графическое изображение драйвера RS - 232 ADM232A
Основные параметры:
Скорость передачи - 200 kB/s.
Напряжение питания - 5 V.
2 TTL/CMOSвхода (выхода) ( от DSP )
2 RS - 232 входа (выхода) ( от ЭВМ )
Выходной уровень сигнала - + 9 V( на ЭВМ )
Входной уровень сигнала - + 30 V(от ЭВМ )
Корпус DIP 16.
Совпадение по выводам с MAX232A.
Диапазон рабочих температур: -40 0C... +85 0C
Назначение выводов AD232A:
V+ - внутренняя генерация позитивного напряжения ( +10 V )
V- - внутренняя генерация негативного напряжения ( -10 V )
С1+ - подключение внешнего конденсатора 1 номиналом 0.1 мкФ ( плюсом к этому выводу)
С1- - подключение внешнего конденсатора 1 номиналом 0.1 мкФ ( минусом к этому выводу)
С2+ - подключение внешнего конденсатора 2 номиналом 0.1 мкФ ( плюсом к этому выводу)
С2- - подключение внешнего конденсатора 2 номиналом 0.1 мкФ ( минусом к этому выводу)
TR1IN- первый вход сигнала с TTL/CMOSуровнем от DSP. Внутри микросхемы находится резистор номиналом 400 кОм подключаемый к данному выводу и соединенный с Ucc = + 5 V.
TR2IN- второй вход сигнала с TTL/CMOSуровнем от DSP. Внутри микросхемы находится резистор номиналом 400 кОм подключаемый к данному выводу и соединенный с Ucc = + 5 V.
TR1OUT- первый выход сигнала с уровнем для интерфейса RS - 232. (уровень + 9 V).
TR2OUT- второй выход сигнала с уровнем для интерфейса RS - 232. (уровень + 9 V).