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

 
 
 
Reply to this topicStart new topic
> Cypress FX3 + GPIF II
vladimir_orl
сообщение Mar 22 2018, 05:59
Сообщение #1


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

Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591



Здравствуйте.
Делаю попытки разобраться с дизайнером GPIF II от Cypress для чипа FX3
Кто-нибудь делал подобное?

Так и не понял, как подсоединять к автомату состояний регистры, как добавлять полученный файл в проект.
Подскажите, если кто знает...

Для начала хотя бы меандр средствами гпифа научиться выводить...
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Mar 22 2018, 12:07
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Цитата(vladimir_orl @ Mar 22 2018, 08:59) *
Так и не понял, как подсоединять к автомату состояний регистры, как добавлять полученный файл в проект.
Подскажите, если кто знает...

Я использовал DMA, поэтому подсоединял DMA каналы

Код
CyU3PGpifSocketConfigure   (0, /* Thread Index*/
                                CY_FX_PPORT_DSI_PRODUCER_SOCKET,/*Socket*/
                                DSI_WaterMark,/*uint16_t Watermark Level in 4 bytes words*/
                                CyTrue,/*CyBool_t **<Whether the partial flag should be set when the socket contains
                                                     more data than the watermark.
                                                     If false, the flag will be set when
                                                     the socket contains less data than the watermark. */
                                DSI_burst_sz/*uint8_t          **<Logarithm (to the base 2) of the burst size for this socket.
                                                     The burst size is the minimum number of words of data that will
                                                     be sourced/sinked across the GPIF interface without further
                                                     updates of the GPIF DMA flags. The device connected to FX3 is
                                                     expected to complete a burst that it has started regardless of any
                                                     flag changes in between. Please note that this has to be set to
                                                     a non-zero value (burst size is greater than one), when the GPIF
                                                     is being configured with a 32-bit data bus and functioning at
                                                     100 MHz. */);



Полученный *.h файл просто подцепляете к проекту. У меня "cyfxgpif2config.h"
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jun 22 2018, 07:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Добрый день.
Кто-нибудь подключал сразу несколько плат с fx3 к ПК? Библиотека от драйвера cypress позволяет?
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jul 17 2018, 10:38
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Столкнулся с зависанием fx3, если slwr не постоянный в пределах одной транзакции (источник данных не готов). Неверно отрабатывается watermark level (для непрерывной записи всё верно), даже иногда короткие пакеты с pktend застревают (редко). Кто-нибудь сталкивался с такими проблемами?
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jul 17 2018, 17:40
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Наблюдался глючный кабель USB (FX2, slave async fifo, завесы утилиты на PC, на 480 Mbit/s).
Go to the top of the page
 
+Quote Post
JohnSk
сообщение Jul 24 2018, 05:04
Сообщение #6





Группа: Новичок
Сообщений: 2
Регистрация: 22-06-12
Пользователь №: 72 449



Здравствуйте!
Пробовали подключать две платы с fx3 к ПК. Отличие между ними в "Device release number" в файле "cyfxslfifousbdscr.c". Программа на ПК видит сразу два устройства с разным свойством BcdDevice.
По поводу зависаний, когда заканчивались данные у источника, вместе с сигналом slwr дергал pkend. Когда заканчивалось место в fx3(флаг watermark almost_full='0'), записывал по одному слову и ждал когда появится флаг full. Была ошибка, когда записывал всегда фиксированное количество слов после появления флага watermark, fx3 зависал.
После появления флага watermark, при watermark level = 8, в fx3 может оставаться место для 8 или 7 выборок.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jul 24 2018, 07:33
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(JohnSk @ Jul 24 2018, 08:04) *
Здравствуйте!
Пробовали подключать две платы с fx3 к ПК. Отличие между ними в "Device release number" в файле "cyfxslfifousbdscr.c". Программа на ПК видит сразу два устройства с разным свойством BcdDevice.
По поводу зависаний, когда заканчивались данные у источника, вместе с сигналом slwr дергал pkend. Когда заканчивалось место в fx3(флаг watermark almost_full='0'), записывал по одному слову и ждал когда появится флаг full. Была ошибка, когда записывал всегда фиксированное количество слов после появления флага watermark, fx3 зависал.
После появления флага watermark, при watermark level = 8, в fx3 может оставаться место для 8 или 7 выборок.

Спасибо. А почему может? Cypress пишет, что при пакетной передаче со стороны плис можно watermark не смотреть. Значит в теории место под 7 выборок должно быть всегда. Я заметил, что если watermark выставлен, то нельзя переводить slwr в 1 - иначе флаг этот сбрасывается и fx3 не отправляет пакет. То есть нужна пакетная передача пакетами больше watermark level и кратными dma buffer size. Себе такую сейчас делаю, напишу результат.

А если device release number один, вторая плата не видится? У меня пока нет второй платы, но задача стоит.
Go to the top of the page
 
+Quote Post
JohnSk
сообщение Jul 24 2018, 12:16
Сообщение #8





Группа: Новичок
Сообщений: 2
Регистрация: 22-06-12
Пользователь №: 72 449



Наблюдал при отладке, после появления watermark, в fx3 влезает выборок 8 или 7, до появления флага full. Для этого и потребовался цикл "запись одного слова-ожидание full".
В теории, если писать кратно dma buf size и читать на ПК такой же пакет, то watermark можно не смотреть, но непонятно когда завершить передачу. Если это делать при появлении флага full, при непрерывной записи, fx3 переполнится.
"переводить slwr в 1" это значит остановить передачу? Нужно записывать до конца размера dma(появления флага full) или дернуть pkend, тогда fx3 передаст пакет.

Точно не помню, сейчас нет возможности попробовать две платы сразу, но думаю будет видно два одинаковых устройства.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Jul 24 2018, 13:04
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(JohnSk @ Jul 24 2018, 15:16) *
Наблюдал при отладке, после появления watermark, в fx3 влезает выборок 8 или 7, до появления флага full. Для этого и потребовался цикл "запись одного слова-ожидание full".
В теории, если писать кратно dma buf size и читать на ПК такой же пакет, то watermark можно не смотреть, но непонятно когда завершить передачу. Если это делать при появлении флага full, при непрерывной записи, fx3 переполнится.
"переводить slwr в 1" это значит остановить передачу? Нужно записывать до конца размера dma(появления флага full) или дернуть pkend, тогда fx3 передаст пакет.

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

Дергать pktend не стоит, система прерывания пк не даст больше 200 пакетов в секунду, только при куске в несколько мегабайт у меня скорость 400 мбайт в секунду стабильная. Смотреть за флагом full (не watermark) всё равно нужно, но он спустя несколько тактов обновляется после конца пакета.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th April 2024 - 22:56
Рейтинг@Mail.ru


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