кто делал DMA для 51 архитектуры дайте идею - заранее спасибо
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
net
03 марта 2003 г. 19:00
Составить ответ
|||
Конференция
|||
Архив
Ответы
а двухпортовая память не спасёт отца русской демократии ? ;О)
—
mse
(04.03.2003 13:42,
пустое
)
Если этот 51-й реализуется (+)
—
SM
(03.03.2003 19:16, 354 байт)
а как я по але определю что сейчас никто не полезет? ведь там шина параллельная и скорость 1 такт на дешифрацию але - получается 20 нс всего -( тоесть успевать быстрее 20 нс? а потом еще выполнить операцию которую по але делают?- пожалуй крутовато будет -(
—
net
(03.03.2003 19:32,
пустое
)
Операцию по ALE делать не зависимо от того, надо ли ДМА или не надо. А свои дела можно слегка конвейеризовать - делать за 2, за 3 подряд идущих ALE. Все равно ПЛИС.
—
SM
(03.03.2003 19:35,
пустое
)
тогда наверно епроще в плис сделать память и через нее dma делать - типа dma через программный буфер -)
—
net
(03.03.2003 19:44,
пустое
)
Ответ: было дело но но там 51 имел внутри контролер DMA на несколько каналов...... которые можно было настраивать как на память так и на переферийнцю комуникашку ........
—
igor_TI
(03.03.2003 19:09,
пустое
)
это не считается - мне надо сделать без оповещения проца о dma вот и нужна идея как проц обмануть - при том что проц будет cygnal 124 при 50 мгц - вот я и думу думаю
—
net
(03.03.2003 19:15,
пустое
)
Ответ: проц должен иметь опаратные сигналы тормаза шины в сигнале их помойму нет ... а програмно мостырить это не то........
—
igor_TI
(04.03.2003 10:31,
пустое
)
Если нельза оповещать проц о дма - так наоборот - оповещай ДМА контроллер чем-нить из проца о том, что доступа во внешнюю память не ожидается.
—
SM
(03.03.2003 19:19,
пустое
)
а как сделать ведь проц может не лазать во внешнюю память и что мне ждать тогда когда полезет?;-)))
—
net
(03.03.2003 19:21,
пустое
)
Зачем? Если например ты дал какой-то строб, когда не ожидается MOVXов в ближайшие сколько-то тактов. Так и отрывай от него ОЗУ на это время и делай что хочешь.
—
SM
(03.03.2003 19:24,
пустое
)
вот идея и нужна откуда такой строб то взять?
—
net
(03.03.2003 19:28,
пустое
)
Программно сформировать! Или например использовать в таких целях RD & WR и программить так, что бы гарантированно на соседних тактах не было двух доступов.
—
SM
(03.03.2003 19:33,
пустое
)
то есть забить на все и если хочу dma то типа программисты предупредите меня и подождите пока я не отдамачусь? типа такого?не слишком криво будет? ;-)))какое мнение?
—
net
(03.03.2003 19:35,
пустое
)
Почти. Но не совсем - программисты предупредят, но и ты гарантируешь, что не займешь шину более чем на N тактов.
—
SM
(03.03.2003 22:22,
пустое
)
Ответ: а если синхронизироваться под /WR-/RD ? Лазать "между ними". Диаграммы их появления - известны.
—
Тумблер
(03.03.2003 22:22,
пустое
)
wr rd могут не быть - в этом и проблема ;-( - а если они есть все время то проблема с быстродействием возникает надо тогда память и обмен с ней делать на 10 нс - что вообщем то терпимо - но что делать когда rw или rd отсутствуют?ведь не обязательно будут наружу лазать - хотя надо поизучать диаграммы
—
net
(04.03.2003 09:31,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru