Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - [24]
Таким образом, используя программу менеджера памяти DSP, можно загружать и отлаживать программы для сигнального процессора, пользуясь при этом многократными итерациями, высокой скоростью и удобством интерфейса программы.
Приведу еще один пример использования порта IDMA, который можно использовать в мультипроцессорных системах. При разработке таких систем часто возникает необходимость загрузки программы или данных в один из ведомых процессоров с помощью ведущего процессора. Для этих целей также хорошо подходит порт IDMA. Структурная схема подключения двух процессоров между собой через порт IDMA показана на рис. 10.2.
Рис. 10.2. Структурная схема подключения двух процессоров
Как видно из схемы, ведущий процессор подключен к порту IDMA ведомого процессора с использованием сигнала обращения к портам ввода-вывода -IOMS, сигнала записи -IWR, двух сигналов программируемых флагов PF0 и PF2, адресного сигнала A0, шины данных D8–D23 и сигнала синхронизации тактовой частоты CLKOUT. Такая схема включения позволяет выполнять операцию записи данных через порт IDMA ведомого процессора с помощью одной команды записи данных в порт ввода-вывода io(address)=data. Сигнал CLKOUT обеспечивает маскирование адресной линии A0 при формировании сигнала защелки адреса IAL. Такое маскирование необходимо для блокировки переходных процессов на линии А0 при установке адреса. Это хорошо видно из временной диаграммы цикла записи данных процессором в порт ввода-вывода, приведенной на рис. 10.3.
Рис. 10.3. Временная диаграмма цикла записи
Сигнальные цепи PF2 и PF0 используются ведущим процессором для активизации схемы защелки адреса в порт IDMA и для анализа состояния готовности порта IDMA ведомого процессора.
Ниже приведен исходный текст программы idmaidma.dsp для ведущего процессора данной схемы, позволяющей ему загрузить в память программ ведомого процессора массив данных, размещенных в файле idmaidma.dat, являющихся программой для ведомого процессора.
>/*********************************************************************/
>/* Эта программа транслирует данные от ведущего процессора ADSP-2181 */
>/* к ведомому процессору ADSP-2181 через IDMA порт */
>/*********************************************************************/
>.module/abs=0x0000 idma_transfer;
>.include
>.const length=68; { Десятичное значение длины вектора }
>.var/pm/ram x_input[length]; { Описание массива данных }
>.init x_input:
>jump start; nop; nop; nop; { Таблица векторов прерываний }
>RTI; NOP; NOP; NOP; { Прерывания не используются }
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>RTI; NOP; NOP; NOP;
>/*** Начало программы ***/
>start:
>ax0=0x0000;
>dm(System_Control_Reg)=ax0; { Такты ожидания PM отключить }
>dm(PFTYPE)=ax0; { Все флаги PF назначить выходами }
>dm(DM_Wait_Reg)=ax0; {Такты ожидания DM и портов ввода-вывода отключить}
>l6=0; { Длина буфера данных }
>i6=^x_input; { Адрес начала буфера транслируемых данных }
>m6=1; { Приращение = 1 }
>modify(i6,m6); { Модификация адреса }
>/*** Защелкнуть адрес 0x0001 ***/
>call check_ack; { Проверить готовность к приему }
>ax0=0x0001; { Стартовый адрес для записи в ведомый процессор }
>io(0x0001)=ах0; { Запись этого адреса с переключением линий -IS и IAL }
>/*** Запись всех данных начиная с адреса 0x0001 ***/
>cntr=length-1; { Установить счетчик транслируемых слов }
>do loop1 until се; { Организовать цикл записи }
> call check_ack; { Проверить готовность к приему }
> call format; { Форматировать данные }
> io(0x0100)=ay0; { -IWR и IS записывают старшие 16 бит IAD 0-15 }
> call check_ack; { Проверить готовность к приему }
> io(0x0100)=ay1; { -IWR и IS записывают младшие 8 бит IAD 0-15 }
>loop1: nop;
>/*** Защелкнуть адрес 0x0000 ***/
>call check_ack; { Проверить готовность к приему }
>ax0=0x0000; { Стартовый адрес для записи в ведомый процессор }
>io(0x0001)=ax0; { Запись этого адреса с переключением линий -IS и IAL }
>/*** Запись по адресу 0x0000 ***/
>i6=^x_input; { Указатель на начало буфера данных }
>call check_ack; { Проверить готовность к приему }
>call format; { Форматировать данные }
>io(0x0100)=ay0; { -IWR и IS записывают старшие 16 бит IAD 0-15 }
>call check_ack; { Проверить готовность к приему }
>io(0x0100)=ay1; { -IWR и IS записывают младшие 8 бит IAD 0-15 }
>idle; { Режим ожидания }
>/****************************************************************/
Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.
Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!
Форматирование файла не завершено (Stribog).Эти не только древние, но и интересные рецепты не потеряли актуальности и в нынешнее время. Правда, хочу заметить, что не все из них безопасны. Особенно те, где используется ртуть и соли тяжелых металлов (в частности это касается раздела «Парфюмерия»). Так что думайте Сами.С уважением, Сергей Каштанов.
Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.
rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.