|
|
  |
Microblaze+DDR2+UART, собрать проект в ise |
|
|
|
Sep 17 2013, 18:50
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354

|
Не нахожу такого. Вот скрин.
Эскизы прикрепленных изображений
 Уменьшено до 87%
1245 x 586 (66.17 килобайт)
|
|
|
|
|
|
Sep 17 2013, 20:15
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
это когда вы уже выберите фифо memory and storage-> FIFOs -> fifo Generator
элемент сделается и добавится в проект, потом по нему 2 раза кликните откроется (или сразу по добавлению откроется) визард. на первой странице натив - акси, ставьте галку натив.
работает оно так, у него есть шина входная и выходная, клок, ресет, и врайт енайбл и реад енайбл. Если фифо не в ресете, то на каждый клок при установленном реад енайбле на выходе появляются данные, а при установленном врайт енайбле данные со входа пихаются в фифо.
то есть алгоритм считали данные а АЦП, поставили на вход фифо, дернули на 1 клок врайт енайбл и готово.
дальше каждое чтение из регистра с шины (со стороны проца) выставляете данные с выхода фифо на шину, а сами на 1 клок дергаете реад енайбл. вот и все... остается только следить за опустошением - переполнением фифо, в нем есть счетчик данных и соотвествующие сигналы
кстати эти сигналы очень для вас важны, если фифо опустошится значит скорости передачи хватает, если переполнится то нет. Потерь данных с фифо не должно быть, если оно не переполнилось и не опустошилось
|
|
|
|
|
Sep 17 2013, 21:10
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354

|
Посмтотри пожалуйста правильно ли там все, вот что получилось пока что(модуль ацп еще не добавлял). Его добавить его то просто как add source? Где его вставить как компонент и связать порты (в каком из файлов). И алгоритм, что ты описал где мне кодить?(спасибо, кстати, что подробно так его описал)).
|
|
|
|
|
Sep 18 2013, 10:28
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
во я лошара  это у меня среда vhd файл приняла за какой то образ диска)... ну да ладно. я увидел пустой юзер файл, это не есть верно) его стоило бы наполнить. А импортить модуль в проект надо уже после того как в ISE вы его напишите, проверите и имплементнете. Честно не очень понимаю чего вы хотите чтобы я посмотрел  если вас беспокоит что по коду, то лучше кидайте код суда, я его погляжу глазьями, а если по соединениям, то опять же лучше картинки. У меня виндоус 8 и 64 бита, а для ксалинкса - это приговор, так что работаю на виртуалке (не спрашивайте почему так получилось, это карма  ), и надо сделать кучу действий чтобы открыть проект, это утомляет...
|
|
|
|
|
Sep 18 2013, 11:31
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354

|
Цитата для начала попробуйте без фифо, просто организовать считывание данных с АЦП в процессор через шину. Т.е пока без 4 пункта сделать? (без фифо)
|
|
|
|
|
Sep 19 2013, 07:11
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354

|
Вообщем добавил ацп модуль, добавил ацп как компонент в user , возник вопрос: при связывании портов adc с user портами не знаю, к чему подключить spi_adc(in). И еще: мне похоже нужно будет добавить еще модули приемника и передатчика, т.к я платой управляю(настраиваю предусилитель и включаю ацп) с компа(посылаю по uart команды).
|
|
|
|
|
Sep 19 2013, 09:03
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354

|
Spi_adc - это вход с ацп. Данные от ацп adc_a : out std_logic_vector(13 downto 0) я привязал к Bus2IP_Data . Цитата вам надо юзере сделать такой порт, и к нему подключить. Т.е я могу в user, где описаны порты Bus2IP_Clk : in std_logic; Bus2IP_Reset : in std_logic; Bus2IP_Data : in std_logic_vector(0 to C_SLV_DWIDTH-1); Bus2IP_BE : in std_logic_vector(0 to C_SLV_DWIDTH/8-1); Bus2IP_RdCE : in std_logic_vector(0 to C_NUM_REG-1); Bus2IP_WrCE : in std_logic_vector(0 to C_NUM_REG-1); IP2Bus_Data : out std_logic_vector(0 to C_SLV_DWIDTH-1); IP2Bus_RdAck : out std_logic; IP2Bus_WrAck : out std_logic; IP2Bus_Error : out std_logic создавать порты, которые мне будут нужны и потом привязывать? Там просто написано Bus protocol ports, do not add to or delete Т.е, например у меня есть N количество портов в ацп модуле. Этот модуль я вставляю в проект, потом как компонент в user файл. Порты ацп, которые мне не нужно связывать с портами user файла , но их нужно вывести потом наружу (задать в ucf ) я добавляю к user портам и связываю. А порты ацп, которые мне не нужно ни связывать с user портами, ни выводить наружу, я просто объявляю сигналы(с таким же названием) и связываю их с ними . И в топ файле верхнего уровня сделать тоже самое. Так я понимаю?))
Сообщение отредактировал vitali36 - Sep 19 2013, 12:42
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|