[an error occurred while processing this directive]
Еще грабли, уже в железяке TMX320VC5509 rev С и D.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено SM 06 сентября 2002 г. 14:44

Уже рассказывал, но теперь подробностей больше и вердикт окончательный. Если сконфигурить DMA канал на передачу 8-ми битных слов откуда-нибудь в IO space то происходит следующий глюк. Первый байт массива куда-то девается, а последний - двоится. Причем это поведение стабильно и не зависит ни от пакинга, ни от синхронизации, ни от бурстов, ни от чего вообще. Короче глюк крепкий и полномасштабный.

Эксперимент №1.

Хочу передавать через SPI масссив в режиме DMA. Программирую: источник DARAM приемник регистр DXR спорта, расмер слова один байт, синхра от TXEVT.
массив такой: 55h,0aah,0fh, 0f0h.
На ножке смотрим осциллографом - пачки 0aah,0fh, 0f0h, 0f0h.

теперь включаю размер слова 16 бит, ну и массив не пакую, а оставляю по "байту в слове". Глюков нет.

Эксперимент №2.
В IO space есть USB buffer RAM. Вот я и программирую DMA контроллер хитрожопым методом:
источник DARAM
приемник IO SPACE
element length 8 bit
frame size 2 элемента
индексация после передачи элемента -2
индексация после передачи фрейма +6
синхронизация фреймовая от TX спорта.

Такое извращение нужно, что бы на одно слово, переданное спортом происходила пересылка одного слова в USB, при этом со сменой порядка байтов (старший/младший). Да бы не перегружать Peripheral controller у чипа при балк-трансфере. Иначе теряется синхронизация между спортом и его DMA-каналами из-за очень высокой скорости битов спорта.
В результате имеется ТОТ-ЖЕ глюк, первый байт съеден, последний размножен. Ну тут хоть обойти удалось - передаю на байт больше, а адрес источника заношу на байт меньше :).

Теперь про EPIC мля. Это все происходило в тесном контакте с ними. Я им отослал даже тестовый проект. Где-то месяцев 6 они мурыжили мне голову то что этот глюк давно известен, то что я не так что-то инициализирую, но мы не знаем что... Потом ответили, что "типа отвяжись, вот я ща такой-же проект сам напишу и все будет работать". 3-й месяц пишут, отвечают "ждите" :).

Мой глюкогенератор можно скачать по адресу :
http://tigroups.webcrossing.com/WebX?233@197.jQj5aI6JaP8^0@.eedb640!enclosure=.eedb641

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru