реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> ADC->NiosII+SDRAM->VGA
LAS9891
сообщение May 10 2017, 10:35
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Realking @ May 10 2017, 14:32) *
да, но только автономный блок передает данные не в ниос, а сразу в память через авалон бридж

Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так?
Go to the top of the page
 
+Quote Post
Realking
сообщение May 10 2017, 10:59
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(LAS9891 @ May 10 2017, 13:35) *
Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так?


точно

и передавайте эти данные на дисплей)

только учтите... если у вас прога выполняется из SDRAM вам надо разделить память для программы и данных АЦП

делается это в BSP editor linker script (установите размер sdram меньше), остальная часть под данные АЦП


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 10 2017, 10:59
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Есть автономный блок который читает данные из АЦП в свою внутреннюю память.

Дальше есть варианты:

- ниос может через авалон считать данные из этого блока себе в регистры и работать с ними, в том числе положить в память.
- Либо специальный ДМА контроллер может данные из этого автономного блока положить в память, откуда их может забрать ниос или другие блоки.
Функции ДМА можно встроить в функции блока.
- Можно сделать выделенный банк 2 портовой памяти в который с разных сторон ходят автономный блок и ниос

это все вариации распределения ресурсов в зависимости от задачи.

Go to the top of the page
 
+Quote Post
LAS9891
сообщение May 10 2017, 11:02
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Realking @ May 10 2017, 14:59) *
точно

Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge?
Go to the top of the page
 
+Quote Post
Realking
сообщение May 10 2017, 11:10
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(LAS9891 @ May 10 2017, 14:02) *
Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge?


почитайте про Avalon шину, и все поймете

как написал Golikov A. надо сделать простенький DMA
c одной стороны блок АЦП, с другой Avalon шина


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
LAS9891
сообщение May 10 2017, 11:17
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Golikov A. @ May 10 2017, 14:59) *
Есть автономный блок который читает данные из АЦП в свою внутреннюю память.

Дальше есть варианты:

- ниос может через авалон считать данные из этого блока себе в регистры и работать с ними, в том числе положить в память.
- Либо специальный ДМА контроллер может данные из этого автономного блока положить в память, откуда их может забрать ниос или другие блоки.
Функции ДМА можно встроить в функции блока.
- Можно сделать выделенный банк 2 портовой памяти в который с разных сторон ходят автономный блок и ниос

это все вариации распределения ресурсов в зависимости от задачи.

Допустим блок есть и читает он данные из АЦП, только что вы подразумеваете под внутренней памятью? АЦП оцифровывает целый кадр изображения размером 800x600 точек и каждый пиксель кодируется 8-ю битами. Внутренней памяти на кадровый буфер не хватит. Поэтому автономный блок должен быстренько считать данные о первом пикселе (один байт), быстренько отправить этот байт в кадровый буфер номер 1 в SDRAM, и заново читать АЦП - уже второй пиксель, и так до конца первого кадра. Затем второй кадр читается уже во второй буфер в SDRAM, а первый кадр выводится на монитор.

Для реализации такого наверно более подходит вариант со специальным ДМА контроллером.

Цитата(Realking @ May 10 2017, 15:10) *
почитайте про Avalon шину, и все поймете

А есть про неё что-нибудь на русском языке?

Цитата(Realking @ May 10 2017, 15:10) *
как написал Golikov A. надо сделать простенький DMA
c одной стороны блок АЦП, с другой Avalon шина

Имеете в виду это: АЦП->автономный блок->Avalon шина->DMA->SDRAM
Go to the top of the page
 
+Quote Post
Realking
сообщение May 10 2017, 11:22
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(LAS9891 @ May 10 2017, 14:17) *
Допустим блок есть и читает он данные из АЦП, только что вы подразумеваете под внутренней памятью? АЦП оцифровывает целый кадр изображения размером 800x600 точек и каждый пиксель кодируется 8-ю битами. Внутренней памяти на кадровый буфер не хватит. Поэтому автономный блок должен быстренько считать данные о первом пикселе (один байт), быстренько отправить этот байт в кадровый буфер номер 1 в SDRAM, и заново читать АЦП - уже второй пиксель, и так до конца первого кадра. Затем второй кадр читается уже во второй буфер в SDRAM, а первый кадр выводится на монитор.

Для реализации такого наверно более подходит вариант со специальным ДМА контроллером.


А есть про неё что-нибудь на русском языке?


Имеете в виду это: АЦП->автономный блок->Avalon шина->DMA->SDRAM


АЦП->автономный блок->FIFO->DMA->Avalon шина->mm_bridge->SDRAM

FIFO лучше сделать с байтовым входом и 32битным выходом

P.S. на русском такие доки лучше не читать


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
LAS9891
сообщение May 10 2017, 11:30
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Realking @ May 10 2017, 15:22) *
АЦП->автономный блок->FIFO->DMA->Avalon шина->mm_bridge->SDRAM


А в роли FIFO выбрать Avalon-ST Dual Clock FIFO Core ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 10 2017, 12:08
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Ну при таком раскладе только DMA,
FIFO авалоновское наверное не обязательно, если только его будет легче подружить с DMA контроллером, он тоже готовый имеется в системе ниос. Но я не думаю, что будет легче. Потому что для пихания в FIFO придется авалон поддержать в том же объеме что и для работы с ДМА.
Go to the top of the page
 
+Quote Post
Kapsik
сообщение May 11 2017, 07:27
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 28-08-13
Из: SPb
Пользователь №: 78 086



Цитата(LAS9891 @ May 10 2017, 08:25) *
Имеется проект на NiosII c SDRAM. В SDRAM организован кадровый буфер. Поставлена задача считать данные с АЦП, записать данные в SDRAM и затем отобразить их на мониторе. Возник вопрос каким образом тактировать АЦП и считывать данные с него? Просто через PIO? Какой способ эффективнее для решения такой задачи?

Доброе утро!
Тему прочитал, но не совсем понял в каком месте необходим НИОС? Там у вас какая-то обработка? Или задача стоит просто как
Цитата(LAS9891 @ May 10 2017, 08:25) *
Поставлена задача считать данные с АЦП, записать данные в SDRAM и затем отобразить их на мониторе.
Если так, то попробуйте взглянуть тут https://habrahabr.ru/post/283488/ . Тут чисто "аппаратно" реализовано Камера ->SDRAM(два буфера один пишем, другой читаем)->VGA.
Go to the top of the page
 
+Quote Post
LAS9891
сообщение May 11 2017, 07:30
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Kapsik @ May 11 2017, 11:27) *
Тему прочитал, но не совсем понял в каком месте необходим НИОС?

Решил использовать ниос, потому что там есть готовый контроллер SDRAM и на данный момент вывод изображения из буфера SDRAM уже работает.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 11 2017, 20:13
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



так SDRAM контроллер есть и без ниоса, он то тут причемsm.gif
Go to the top of the page
 
+Quote Post
LAS9891
сообщение May 12 2017, 05:10
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194



Цитата(Golikov A. @ May 12 2017, 00:13) *
так SDRAM контроллер есть и без ниоса, он то тут причемsm.gif

В MegaWizarde видел только для DDR SDRAM, или вы имеете ввиду где нибудь скачать?
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение May 12 2017, 05:28
Сообщение #29


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(LAS9891 @ May 12 2017, 09:10) *
В MegaWizarde видел только для DDR SDRAM, или вы имеете ввиду где нибудь скачать?

Могу поделиться самым примитивным SDR SDRAM контроллером. Проверялся на памяти SDRAM MT48LC4M16A2-75 Micron. Правда он написан на VHDL мною пол года назад, и скорее всего написан очень криво с кучей недостатков и непонятно как он вообще работает. Однако он работает laughing.gif

Сообщение отредактировал Flip-fl0p - May 12 2017, 05:30
Go to the top of the page
 
+Quote Post
IL-76
сообщение May 12 2017, 14:36
Сообщение #30


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 16-03-09
Из: ex USSR
Пользователь №: 46 167



У Альтеры был бесплатный контроллер SDR SDRAM, вроде даже с исходниками. Плюс, описание в аппноте. Поищите на сайте или на фтп.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 15:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01483 секунд с 7
ELECTRONIX ©2004-2016