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

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
Golikov A.
сообщение Sep 17 2013, 17:54
Сообщение #31


Гуру
******

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



соберитесь, там в начале есть галочка натив фифо! Вам не нужен фифо на шину. Вам нужно встроить фифо в свой модуль, нафига создавать кучу сигналов для шинного фифо. Да, надо будет написать вывод данных в шину через регистр, но это не сложно, полчасика с отладкой...

Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 17 2013, 18:50
Сообщение #32


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Не нахожу такого. Вот скрин.
Эскизы прикрепленных изображений
 Уменьшено до 87%
Прикрепленное изображение
1245 x 586 (66.17 килобайт)
 
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 17 2013, 20:15
Сообщение #33


Гуру
******

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



это когда вы уже выберите фифо
memory and storage-> FIFOs -> fifo Generator

элемент сделается и добавится в проект, потом по нему 2 раза кликните откроется (или сразу по добавлению откроется) визард.
на первой странице натив - акси, ставьте галку натив.

работает оно так, у него есть шина входная и выходная, клок, ресет, и врайт енайбл и реад енайбл. Если фифо не в ресете, то на каждый клок при установленном реад енайбле на выходе появляются данные, а при установленном врайт енайбле данные со входа пихаются в фифо.

то есть алгоритм
считали данные а АЦП, поставили на вход фифо, дернули на 1 клок врайт енайбл и готово.

дальше каждое чтение из регистра с шины (со стороны проца) выставляете данные с выхода фифо на шину, а сами на 1 клок дергаете реад енайбл. вот и все... остается только следить за опустошением - переполнением фифо, в нем есть счетчик данных и соотвествующие сигналы


кстати эти сигналы очень для вас важны, если фифо опустошится значит скорости передачи хватает, если переполнится то нет. Потерь данных с фифо не должно быть, если оно не переполнилось и не опустошилось
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 17 2013, 21:10
Сообщение #34


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Посмтотри пожалуйста правильно ли там все, вот что получилось пока что(модуль ацп еще не добавлял). Его добавить его то просто как add source? Где его вставить как компонент и связать порты (в каком из файлов). И алгоритм, что ты описал где мне кодить?(спасибо, кстати, что подробно так его описал)).
Прикрепленные файлы
Прикрепленный файл  microblaze_adc.rar ( 326.97 килобайт ) Кол-во скачиваний: 10
 
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 18 2013, 09:48
Сообщение #35


Гуру
******

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



все делается в файле user. Это файл предоставлен для вас, все остальные файлы - это файлы обертки, максимум когда их надо редактировать это если вы хотите какие то сигналы прокинуть на ружу из вашего юзера. Тогда эти порты объявляется во внешнем файле и прокидываются во внутрь юзера.

архивчик я смог посмотреть только структуру, сами файлики недоступны почему то архив поврежден пишет, 2 раза скачивал, может при заливке сдох...
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 18 2013, 10:22
Сообщение #36


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Щас еще раз выложу
Прикрепленные файлы
Прикрепленный файл  microblaze_adc.rar ( 327.56 килобайт ) Кол-во скачиваний: 9
 
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 18 2013, 10:28
Сообщение #37


Гуру
******

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



во я лошараsm.gif это у меня среда vhd файл приняла за какой то образ диска)...

ну да ладно. я увидел пустой юзер файл, это не есть верно) его стоило бы наполнить.

А импортить модуль в проект надо уже после того как в ISE вы его напишите, проверите и имплементнете.


Честно не очень понимаю чего вы хотите чтобы я посмотрелsm.gif если вас беспокоит что по коду, то лучше кидайте код суда, я его погляжу глазьями, а если по соединениям, то опять же лучше картинки.

У меня виндоус 8 и 64 бита, а для ксалинкса - это приговор, так что работаю на виртуалке (не спрашивайте почему так получилось, это кармаsm.gif), и надо сделать кучу действий чтобы открыть проект, это утомляет...
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 18 2013, 10:45
Сообщение #38


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Юзер пустой, потому что я еще не писал там ничего и не добавлял). Вообщем я так понял сейчас я должен сделать вот что: 1) вставить мой vhdl модуль в проект
2) В user файле где написано USER signal declarations added here, as needed for user logic вставить мой компонент моего ацп модуля.
3) Там же в user где написано --USER logic implementation added here связываю с помощью port map мой ацп компонент с портами user файла.
4) И там же в архитектуре описать алгоритм чтения-записи, что ты мне сказал.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 18 2013, 11:17
Сообщение #39


Гуру
******

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



да
только есть еще 5 пункт

5. в верхнем модуле в который вставлен ваше user надо "прокинуть" порты что вы добавите на ружу. Ну то есть добавить такие же порты в верхнем модуле, и соединить их со входами юзера.

дальше проверки и имплементайшен

потом импорт его в платформ студию, добавление к процу и так далее...

для начала попробуйте без фифо, просто организовать считывание данных с АЦП в процессор через шину.
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 18 2013, 11:31
Сообщение #40


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Цитата
для начала попробуйте без фифо, просто организовать считывание данных с АЦП в процессор через шину.

Т.е пока без 4 пункта сделать? (без фифо)
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 18 2013, 12:54
Сообщение #41


Гуру
******

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



ну да, сделайте шаблон на 4 регистра к примеру. Там будет процедура записи и чтения по адресам регистров, уже визардом сделанная.
Данные с АЦП просто пихайте в один из регистров, а с проца попробуйте почитать по адресу. Если все получится между АЦП и регистром вставите фифо. Совсем в начале можно даже без АЦПsm.gif просто поймите как оно все работает...
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 18 2013, 15:10
Сообщение #42


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Спасибо , буду пробовать)
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 19 2013, 07:11
Сообщение #43


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

Группа: Участник
Сообщений: 88
Регистрация: 2-07-13
Пользователь №: 77 354



Вообщем добавил ацп модуль, добавил ацп как компонент в user , возник вопрос: при связывании портов adc с user портами не знаю, к чему подключить spi_adc(in). И еще: мне похоже нужно будет добавить еще модули приемника и передатчика, т.к я платой управляю(настраиваю предусилитель и включаю ацп) с компа(посылаю по uart команды).
Прикрепленные файлы
Прикрепленный файл  user_logic.rar ( 2.39 килобайт ) Кол-во скачиваний: 9
 
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 19 2013, 08:17
Сообщение #44


Гуру
******

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



что такое spi_adc(in). Это данные от АЦП или к АЦП.

вам надо юзере сделать такой порт, и к нему подключить. Потом во внешнем модуле сделать такой же порт и подключить его к этому порту юзера.

а уж последний подключить через констраин к нужной ноге плис.

Логично сделать чтобы команды с компа по уарт принимал процессор микроблайз, раскодировал, понимал что надо и делал это. Доступ к ацп все через те же регистры этого же модуля...
Go to the top of the page
 
+Quote Post
vitali36
сообщение Sep 19 2013, 09:03
Сообщение #45


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

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

 


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


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