misyachniy 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Из примеров от кита DE1 вытащил модуль VGA с DMA и FIFO (VGA.zip) Интегрировал его в систему(SOPC.JPG) - платка разработано отдельно (http://njnmnp.narod.ru/proj/video/video.html - на сайте narod.ru похоже вирус. :-( при доступе по ФТП его не видно в HTML странице при просмотре чере эксплорер в конце добавляется скрипт. Или это у меня что-то завелось? ) Есть проблемы со срывом синхронизации. Опустошается буфер FIFO. Память программ и видеобуфер(куча) в SDRAM, по этому процессор и мастер VGA(DMA) конкурируют за доступ к SDRAM. Проявляется проблема при выводе изображения с SD карточки в видео буфер. Можно исхитрится и перестановкой операторов добится заливки изображения без срыва синхронизации, так как у процессора есть кеш. Но это конечно же не решение проблемы. Как правильно организовать подкачку из видео памяти? Тут написано что нужно задействовать режим пакетной (Burst) передачи http://forum.niosforum.com/forum/index.php...amp;#entry10311 В руководстве по шине Avalon есть описание сигналов и принципов работы. Нету примерчика целиком :-( На сколько я понял из документации SDRAM не поддерживает Burst передачу. Получается если использовать стандартныме компоненты SOPC то, нужно цеплять отдельный компонент DMA и помтоянно перепрограммировать его по прерыванию? Совсем запутался. Понедельник день тяжелый ;-) VGA.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба Из примеров от кита DE1 вытащил модуль VGA с DMA и FIFO (VGA.zip) Интегрировал его в систему(SOPC.JPG) - платка разработано отдельно (http://njnmnp.narod.ru/proj/video/video.html - на сайте narod.ru похоже вирус. :-( при доступе по ФТП его не видно в HTML странице при просмотре чере эксплорер в конце добавляется скрипт. Или это у меня что-то завелось? ) Есть проблемы со срывом синхронизации. Опустошается буфер FIFO. Память программ и видеобуфер(куча) в SDRAM, по этому процессор и мастер VGA(DMA) конкурируют за доступ к SDRAM. Проявляется проблема при выводе изображения с SD карточки в видео буфер. Можно исхитрится и перестановкой операторов добится заливки изображения без срыва синхронизации, так как у процессора есть кеш. Но это конечно же не решение проблемы. Как правильно организовать подкачку из видео памяти? Тут написано что нужно задействовать режим пакетной (Burst) передачи http://forum.niosforum.com/forum/index.php...amp;#entry10311 В руководстве по шине Avalon есть описание сигналов и принципов работы. Нету примерчика целиком :-( На сколько я понял из документации SDRAM не поддерживает Burst передачу. Получается если использовать стандартныме компоненты SOPC то, нужно цеплять отдельный компонент DMA и помтоянно перепрограммировать его по прерыванию? Совсем запутался. Понедельник день тяжелый ;-) Закончил с корректировкой ТУ на зделие, вернулся к своим баранам. Или правильнее - баран вернулся в стадо к своим? ;-) Контроллер SDRAM на шине Avalon поддерживает конвеерное чтение Тут нашел пример мастера который поддерживает конвеерное чтение http://www.altera.com/support/examples/nio...WT.oss=template По теории для конвеерной передачи нужно захватывать шину на все время обмена. В документацию на шину Avalon указано, что шина захватывается сигналом arbiterlock. Но в описании и на изображении масера этого сигнала нету. На сайте Altera слово "arbiterlock" находится только в одном документе - руководстве на шину Avalon. Не понятно как захватывается шина? Поиск по гуглу "arbiterlock" дает всего 8 ссылок. Another way you can implement a priority scheme is to use large burst counts. If your master has a maximum burst count of 16 that means it'll get access for 16 word accesses. Arbitration loss will not happen in the middle of a burst because the 'arbiterlock' signal is used during a burst. The arbiterlock signal is generated by SOPC Builder but you can also manually add it to any custom master you create. To learn more about it see the Avalon-MM interface specification. Из текста ясно, что когда используется burst обмен, то при генерации системы автоматически добавляется arbiterlock. Это совпадает с указаным в руководстве на шину. В примере по ссылке не используется arbiterlock. Склоняюсь к мысли что система(SOPC Builder) сама его добавит. Но как она определяет, что нужно добавлять? Посмотрел по диаграммам (рис 3.11) из руководства на шину http://www.altera.com/literature/manual/mnl_avalon_spec.pdf Тоже не понятно :-( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба arbiterloak - достаточно новый функционал. Выставляете его, и никто не сможет прервать ваш обмен. Очень полезная штука, как раз для фрэймбуфера. По идее должно расходоваться меньше логики на арбитраж, чем при использовании burst режима из-за отсутствия необходимости выполнять выравнивание burst'ов и лишнего арбитража. Наиболее правильный способ разгрузить шину при отрисовке содержимого памяти - поставить fifo на 1-2 строки, это позволит существенно ускорить выборку данных из памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба Ага, во-первых, запись/чтение в SDRAM надо окружить FIFOшками. Но это, как я понимаю, сделано. Во-вторых, поставьте в клеточках у SDRAM (data_master и VGA m1) вместо 2 и 1, по 32 скажем... Вопрос, а с SD откуда взяли, тоже из примеров или что-то свое? По какой документации с ней разбирались? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба Ага, во-первых, запись/чтение в SDRAM надо окружить FIFOшками. Но это, как я понимаю, сделано. Во-вторых, поставьте в клеточках у SDRAM (data_master и VGA m1) вместо 2 и 1, по 32 скажем... Вопрос, а с SD откуда взяли, тоже из примеров или что-то свое? По какой документации с ней разбирались? Запись в SDRAM делаю процессором напрямую - то есть если SDRAM занята то процессор будет простаивать. В VGA контроллере FIFO на 1024х32бит. Я правда поленился исследовать, продолжается ли подкачка в оперативку после конца кадра до начала следующего. По поводу чисел в клеточках. Я так понял, что это приоритет доступа, а не число непрерываемых транзакций. Где бы об этом почитать? SD я включил в режиме SPI. У альтеры есть примеры, но в них манипуляция стандартными PIO в ручном режиме. По этому я переделал стандартный модуль на переменную скорость. Для чтения идентификаторов карточки CIS, нужна пониженая до 400КГц скорость тактирования. Только для чтения, можно использовать с жестко заданой высокой скоростью. FAT фат прикрутил от своего(точнее переделаного мной) проекта для АРМ http://www.evodbg.com/index.php?option=com...0&Itemid=49 http://evodbg.com/doc/mp3last.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба Я так понял, что это приоритет доступа, а не число непрерываемых транзакций. Где бы об этом почитать? Это гарантированное кол-во непрерываемых циклов непрерывного доступа. В шине avalon используется кольцевой циклический(карусельный,round-robin) арбитраж. Читать как обычно - в документации на шину :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 11 сентября, 2008 Опубликовано 11 сентября, 2008 · Жалоба Это гарантированное кол-во непрерываемых циклов непрерывного доступа. В шине avalon используется кольцевой циклический(карусельный,round-robin) арбитраж. Читать как обычно - в документации на шину smile.gif +1 Подключите SignalTab, там поглядите... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться