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

 
 
 
Reply to this topicStart new topic
> ZYNC, CDMA, VIVADO
serg_k1
сообщение Dec 8 2015, 14:27
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Разбираюсь с работой CDMA в vivado 2014.4 для передачи данных PL-PS-DDR. Собрал схему подобно UG1165 (v2015.1) April 23, 2015 стр. 51. Отличия в том, что не на ките , а на своей плате с xc7z020clg484-2 и одной DDR3 MT41J256M16. Адреса задал HP0=0x0000_0000 – 0x07FF_FFFF HP2=0x0800_0000 – 0x0FFF_FFFF. При работе в SDK после передачи данных( при этом все проходит) нет сравнения данных источника и приемника.
Программа без изменений. только
SourceAddr = 0x01000000; DestAddr = 0x08000000;
Ну и когда выяснил, что не работает, то задал свой массив 0x10001, 0x20002, 0x30003, 0x40004,. . . и считывание из памяти.
Если использовать один HP, то происходит то же самое.
При этом с DDR на этой плате работали и DQS to Clock Delay и Board Delay заданы, effective DRAM Bus Width=16. Enable Advanced options – не выставлял.

Передаваемые данные( источник)
0x10001, 0x20002, 0x30003, 0x40004, 0x50005, 0x60006, 0x70007, 0x80008, 0x90009, 0xa000a,…
После передачи данные изменяются и в источнике.
Источник
{0xffffffff <repeats 512 times>, 0x2010201, 0x2020202, 0x2030203, 0x2040204,...
приемник
{0xffffffff <repeats 512 times>, 0x2010201, 0x2020202, 0x2030203, 0x2040204,...

Изменяется в источнике и приемнике именно то количество , которое передается. Остальные остаются неизменны.
Что не так сделал? помогите разобраться.
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Dec 9 2015, 09:47
Сообщение #2


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Извините, написал неправильно там, где сказал , что нет сравнения данных. Сравнение то есть.
этого сообщения нет - printf("Error in Comparison : Index : %x \n\r", Index);
а есть printf("DMA Transfer is Successful \n\r");
т.е. все как бы правильно.
Но данных нет. Сравнивается источник и приемник , а там и там 0xffffffff.

Вопрос такой- после окончания передачи данные находятся в DDR начиная с указанного физ. Адреса (DestAddr = 0x08000000; ) или они находятся в виртуальном адресном пространстве пользователя начиная с указанного (DestAddr = 0x08000000; )адреса?

Сообщение отредактировал serg_k1 - Dec 9 2015, 14:44
Go to the top of the page
 
+Quote Post

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

 


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


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