LAS9891 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба да, но только автономный блок передает данные не в ниос, а сразу в память через авалон бридж Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так? точно и передавайте эти данные на дисплей) только учтите... если у вас прога выполняется из SDRAM вам надо разделить память для программы и данных АЦП делается это в BSP editor linker script (установите размер sdram меньше), остальная часть под данные АЦП Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Есть автономный блок который читает данные из АЦП в свою внутреннюю память. Дальше есть варианты: - ниос может через авалон считать данные из этого блока себе в регистры и работать с ними, в том числе положить в память. - Либо специальный ДМА контроллер может данные из этого автономного блока положить в память, откуда их может забрать ниос или другие блоки. Функции ДМА можно встроить в функции блока. - Можно сделать выделенный банк 2 портовой памяти в который с разных сторон ходят автономный блок и ниос это все вариации распределения ресурсов в зависимости от задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба точно Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge? почитайте про Avalon шину, и все поймете как написал Golikov A. надо сделать простенький DMA c одной стороны блок АЦП, с другой Avalon шина Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Есть автономный блок который читает данные из АЦП в свою внутреннюю память. Дальше есть варианты: - ниос может через авалон считать данные из этого блока себе в регистры и работать с ними, в том числе положить в память. - Либо специальный ДМА контроллер может данные из этого автономного блока положить в память, откуда их может забрать ниос или другие блоки. Функции ДМА можно встроить в функции блока. - Можно сделать выделенный банк 2 портовой памяти в который с разных сторон ходят автономный блок и ниос это все вариации распределения ресурсов в зависимости от задачи. Допустим блок есть и читает он данные из АЦП, только что вы подразумеваете под внутренней памятью? АЦП оцифровывает целый кадр изображения размером 800x600 точек и каждый пиксель кодируется 8-ю битами. Внутренней памяти на кадровый буфер не хватит. Поэтому автономный блок должен быстренько считать данные о первом пикселе (один байт), быстренько отправить этот байт в кадровый буфер номер 1 в SDRAM, и заново читать АЦП - уже второй пиксель, и так до конца первого кадра. Затем второй кадр читается уже во второй буфер в SDRAM, а первый кадр выводится на монитор. Для реализации такого наверно более подходит вариант со специальным ДМА контроллером. почитайте про Avalon шину, и все поймете А есть про неё что-нибудь на русском языке? как написал Golikov A. надо сделать простенький DMA c одной стороны блок АЦП, с другой Avalon шина Имеете в виду это: АЦП->автономный блок->Avalon шина->DMA->SDRAM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Допустим блок есть и читает он данные из АЦП, только что вы подразумеваете под внутренней памятью? АЦП оцифровывает целый кадр изображения размером 800x600 точек и каждый пиксель кодируется 8-ю битами. Внутренней памяти на кадровый буфер не хватит. Поэтому автономный блок должен быстренько считать данные о первом пикселе (один байт), быстренько отправить этот байт в кадровый буфер номер 1 в SDRAM, и заново читать АЦП - уже второй пиксель, и так до конца первого кадра. Затем второй кадр читается уже во второй буфер в SDRAM, а первый кадр выводится на монитор. Для реализации такого наверно более подходит вариант со специальным ДМА контроллером. А есть про неё что-нибудь на русском языке? Имеете в виду это: АЦП->автономный блок->Avalon шина->DMA->SDRAM АЦП->автономный блок->FIFO->DMA->Avalon шина->mm_bridge->SDRAM FIFO лучше сделать с байтовым входом и 32битным выходом P.S. на русском такие доки лучше не читать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба АЦП->автономный блок->FIFO->DMA->Avalon шина->mm_bridge->SDRAM А в роли FIFO выбрать Avalon-ST Dual Clock FIFO Core ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 10 мая, 2017 Опубликовано 10 мая, 2017 · Жалоба Ну при таком раскладе только DMA, FIFO авалоновское наверное не обязательно, если только его будет легче подружить с DMA контроллером, он тоже готовый имеется в системе ниос. Но я не думаю, что будет легче. Потому что для пихания в FIFO придется авалон поддержать в том же объеме что и для работы с ДМА. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kapsik 0 11 мая, 2017 Опубликовано 11 мая, 2017 · Жалоба Имеется проект на NiosII c SDRAM. В SDRAM организован кадровый буфер. Поставлена задача считать данные с АЦП, записать данные в SDRAM и затем отобразить их на мониторе. Возник вопрос каким образом тактировать АЦП и считывать данные с него? Просто через PIO? Какой способ эффективнее для решения такой задачи? Доброе утро! Тему прочитал, но не совсем понял в каком месте необходим НИОС? Там у вас какая-то обработка? Или задача стоит просто как Поставлена задача считать данные с АЦП, записать данные в SDRAM и затем отобразить их на мониторе. Если так, то попробуйте взглянуть тут https://habrahabr.ru/post/283488/ . Тут чисто "аппаратно" реализовано Камера ->SDRAM(два буфера один пишем, другой читаем)->VGA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 11 мая, 2017 Опубликовано 11 мая, 2017 · Жалоба Тему прочитал, но не совсем понял в каком месте необходим НИОС? Решил использовать ниос, потому что там есть готовый контроллер SDRAM и на данный момент вывод изображения из буфера SDRAM уже работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 11 мая, 2017 Опубликовано 11 мая, 2017 · Жалоба так SDRAM контроллер есть и без ниоса, он то тут причем:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LAS9891 0 12 мая, 2017 Опубликовано 12 мая, 2017 · Жалоба так SDRAM контроллер есть и без ниоса, он то тут причем:) В MegaWizarde видел только для DDR SDRAM, или вы имеете ввиду где нибудь скачать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 12 мая, 2017 Опубликовано 12 мая, 2017 (изменено) · Жалоба В MegaWizarde видел только для DDR SDRAM, или вы имеете ввиду где нибудь скачать? Могу поделиться самым примитивным SDR SDRAM контроллером. Проверялся на памяти SDRAM MT48LC4M16A2-75 Micron. Правда он написан на VHDL мною пол года назад, и скорее всего написан очень криво с кучей недостатков и непонятно как он вообще работает. Однако он работает :laughing: Изменено 12 мая, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IL-76 0 12 мая, 2017 Опубликовано 12 мая, 2017 · Жалоба У Альтеры был бесплатный контроллер SDR SDRAM, вроде даже с исходниками. Плюс, описание в аппноте. Поищите на сайте или на фтп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться