[an error occurred while processing this directive]
Ответ>>>
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено Pavel-99 10 декабря 2004 г. 00:50
В ответ на: Народ, просветите, плз. Написано, что TMS DM642 имеет PCI интерфейс для подключения к хосту с PCI шиной в режиме мастер/слэйв. А мне надо сделать, чтобы сам этот DM642 был как хост, т.е. чтобы можно было бы к нему подключать готовые PCI платы, например 1G-ethernet NIC. Это реально или нет? Как? Если реально, то много гемора? Например, у него такт PCI только входной, т.е. надо внешний? отправлено недоPCIнутый 09 декабря 2004 г. 14:19

Я, правда не детально знаком с DM642, но глобально - наверное можно. Однако предвижу здесь следующие проблемы:
1. Сonfiguration registers самого DM642 будет некому сконфигурировать, т.к. нет host-hub на Вашей плате. Как следствие - Вы не сможете использовать PCI MASTERING Вашей NIC-платы для передачи данных в/из DSP, т.к. PCI интерфейс DSP будет не активирован (только может откливаться на CNF CCLs). Как следствие, NIC сможет работать только как TARGET.

2. Не совсем уверен, что можно использовать PCI I/F DM642 в режиме MASTER, если у него BARs не законфигурированы. В общем-то это к делу отношение не имеет, но зная как TI делает свои DSP, этот случай очень вероятен.

3. Даже, если предположить, что Вы сможете организовать PCI MASTERING из NIC, это особенно ничего не даст, т.к. PCI-порт в C6x очень медленный, т.к. работает под управлением внутреннего EDMA, кторый заведомо ниже по приоритету чем CPU. Поэтому, любая "прямая программа" без BRANCHей в коде Вам даст задержку по EDMA/PCI. Кроме того, все задержки будут сильно зависеть от того, куда Вы хотите загнать массив из NIC. Другими словами, C6x PCI I/F - это тот-же HPI-порт, только непосредственно на шине PCI, а HPI порт у C64xx может иметь задерки готовности до 2uS (в зависимости от того, что делат DSP). Поэтому уж об 1G-E надо забыть как об дурном сне.

Арбитраж сделать просто: если DM642 будет единственный MASTER, то просто сделайте GNT=REQ с задержкой на один PCI CLK. Если еще кто-то будет, то сделайте простую логику снаружи.

А CNF CCL TYPE #1 Вам не надо, т.к. он определен для PC только и использует I/O по адресам 0x0cf8 и 0x0cfс для генерации индивидуального IDSEL и доступа в CNF пр-во PCI-плат/слотов. Вам надо генерить IDSEL из DSP-программы, например через какой-нибудь бит/биты GPIO.

Вообще-то вар-т этот кривой. Если хочется 1G приценить, то надо цеплять как минимум на DSP-магистраль (133MHz clock @ 32bits), однако 1G Вы все-равно не никогда там достигните (только в теоретическом пределе), т.к. внутренний арбитраж и работающая DSP-программа Вам не пропустит весь поток. Не даром у DM642 только fast-E (100Mbit/s), чтобы внутренняя архитектура была сбалансирована и было время другим портам (VIDEO-IN/OUT) поработать. Чтобы задействовать 1G-E, надо сажать его только внутрь CPU и делать широкую маг-ль с DMA, как это делают в грамотных специализированных процессорах. DM642 хорош, но только для вполне определенных целей и никак не более, не надо из него выдавливать больше, чем он может.

В общем, Вам лучше забыть об этой затее.

С уважением,
Павел

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru