[an error occurred while processing this directive]
ФКНГ-2191, фкнг-документация и, заодно, вопрос(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Димыч 30 января 2003 г. 17:22

Некоторые забавные вещи:


/******************************************************************************/
1.

страница 3-36 "ADSP-219x/2191 DSP Hardware Reference":


This spill-fill mode (using the stack’s status to generate a stack interrupt)
is disabled on reset. Bits in the ICNTL register control whether the DSP
generates this interrupt based on stack status. Table A-5 on page A-18 lists
the bits in the ICNTL register. The bits in ICNTL that enable the STACK
interrupt are:
• Global interrupt enable. Bit 5 (GIE) globally disables (if 0) or
enables (if 1) unmasked interrupts
• PC stack interrupt enable. Bit 10 (PCSTKE) directs the DSP to disable
(if 0) or enable (if 1) spill-fill mode—ORing of stack status—
to generate the STACK interrupt.

то есть бит 10 в регистре ICNTL управляет типом прерывания стека.
Но!!!!!!
В таблице A-5 на странице A-18 о десятом бите ни слова, зато есть 9-й бит
разрешения прерывания стека - PCSTKE (PC stack interrupt enable).

что есть что?!

объявляем процедуру обработки прерывания стека,
разрешаем прерывания,

проверяем бит 9:
sysreg_write(sysreg_ICNTL, sysreg_read(sysreg_ICNTL) | 0x0200);
устраиваем переполнение стека... прерывание есть.

sysreg_write(sysreg_ICNTL, sysreg_read(sysreg_ICNTL) & ~0x0200);
устраиваем переполнение стека... прерывание есть.

вывод: бит 9 нифига не работает.

проверяем бит 10:
sysreg_write(sysreg_ICNTL, sysreg_read(sysreg_ICNTL) | 0x0400);
устраиваем "переползание" указателя стека через "water-mark" ... прерывание есть.

sysreg_write(sysreg_ICNTL, sysreg_read(sysreg_ICNTL) & ~0x0400);
устраиваем "переползание" указателя стека через "water-mark" ... прерывания нет.

вывод: бит 10 - правильный бит.


/******************************************************************************/
2.

Страница B-42 того же документа. Описание регистра многоканальной настройки
последовательного порта.
Биты 2 и 3 - включение режима упаковки для передачи и приема через ПДП.
В документе означено: "0 = enabled, 1 = disabled".
В сущности дело обстоит наоборот!!!!


/******************************************************************************/
3.

Последовательный порт. ПДП. Автобуфер. Многоканальный режим.
Прерывание приходит два раза за кадр. ???
почему? мне кажется, что я где-то об этом читал, хотя это мог быть просто плохой сон. Сейчас вот не могу найти. :(


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru