|
|
  |
ADC->NiosII+SDRAM->VGA |
|
|
|
May 10 2017, 10:35
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(Realking @ May 10 2017, 14:32)  да, но только автономный блок передает данные не в ниос, а сразу в память через авалон бридж Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так?
|
|
|
|
|
May 10 2017, 10:59
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(LAS9891 @ May 10 2017, 13:35)  Ага. Есть АЦП, с которого данные считываются автономным блоком, далее автономный блок передает данные через mm_bridge в SDRAM, потом Nios читает данные из SDRAM. Так? точно и передавайте эти данные на дисплей) только учтите... если у вас прога выполняется из SDRAM вам надо разделить память для программы и данных АЦП делается это в BSP editor linker script (установите размер sdram меньше), остальная часть под данные АЦП
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
May 10 2017, 11:02
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(Realking @ May 10 2017, 14:59)  точно Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge?
|
|
|
|
|
May 10 2017, 11:10
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(LAS9891 @ May 10 2017, 14:02)  Для начала как подружить автономным блок с mm_bridge? Вот считал я данные с АЦП, они лежат в каком-то регистре, как их отправить на этот mm_bridge? почитайте про Avalon шину, и все поймете как написал Golikov A. надо сделать простенький DMA c одной стороны блок АЦП, с другой Avalon шина
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
May 10 2017, 11:17
|
Местный
  
Группа: Участник
Сообщений: 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
|
|
|
|
|
May 10 2017, 11: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. на русском такие доки лучше не читать
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
May 10 2017, 11:30
|
Местный
  
Группа: Участник
Сообщений: 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 ?
|
|
|
|
|
May 11 2017, 07:27
|
Частый гость
 
Группа: Свой
Сообщений: 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.
|
|
|
|
|
May 11 2017, 07:30
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 18-06-15
Пользователь №: 87 194

|
Цитата(Kapsik @ May 11 2017, 11:27)  Тему прочитал, но не совсем понял в каком месте необходим НИОС? Решил использовать ниос, потому что там есть готовый контроллер SDRAM и на данный момент вывод изображения из буфера SDRAM уже работает.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|