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

 
 
> USB3.1 + FTDI + ПО
Art55555
сообщение Apr 4 2018, 06:31
Сообщение #1


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

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Требования к ПО, обеспечивающему работу платы+ USB3.1
Предполагается использование данной микросхемы.
Общая инфа

http://www.ftdichip.com/Products/ICs/FT602.html
ссыль на ютюбе
https://www.youtube.com/watch?time_continue...p;v=y0XTMUNLJp0

дружественное (подходит и для нашего 602) по 6хх серии описание
http://www.ftdichip.com/Products/ICs/FT600.html
Описание функций:
http://www.ftdichip.com/Support/Documents/...ers%20Guide.pdf

Требования будут представлены в несколько размытом виде, так как я не знаю, как работает USB 3.1. Предполагаю, что он работает так же, как и USB 2.0, т.е. инициатором передачи данных от платы может быть только хост.
Общая постановка задачи.
Существуют 2 режима обмена данных с платой АЦП-USB3.1
1. Блочный режим. Компьютер посылает в плату команду и ожидает от нее ответа. Между посылкой команды и ответом никакие команды не посылаются. Если за заданное время ответа не поступает, то возвращается код ошибки. Команда представляет собой блок данных, размером 50 … 65536 байт.
Ответ – блок данных размером до 2^20 + 20 байт.
На каждую команду всегда известно количество получаемых байт (это значение может передаваться в параметрах ф-ии).

2. Потоковый режим. В этом режиме плата генерирует поток данных, компьютер должен его получать с помощью CallBack функции. CallBack функция на стороне приложения должна выполняться максимально быстро. Задачи CallBack функции
- войти в критическую секцию (здесь может быть максимальная задержка)
- проверить переполнение буферов
- переслать блок данных в буфер
-увеличить значение счетчика буфера
- выставить событие о готовности данных (Event)
- выйти из критической секции.

Задач другого потока в приложении, которая работает с этой же критической секцией:
- ждать установки события о готовности данных (Event)
- войти в критическую секцию
- сбросить событие о готовности данных (Event)
- переслать блок готовых данных в другой буфер
- выйти из критической секции.
Как видно, тоже очень быстро, т.е. долгого ожидания входа в критическую секцию в CallBack функции не будет.

Скорость потока данных в потоковом режиме можно оценить так:
Вариант 1. Частота дискретизации 50 МГц, каждое передаваемое слово 8 байт. Итого 400 Мбайт/сек или 3200 Мбит/сек.

или

Вариант 2. Частота дискретизации 50 МГц, каждое передаваемое слово 4 байт. Итого 200 Мбайт/сек или 1600 Мбит/сек.

Для потокового режима должна быть предусмотрена команда “Stop”, которая прекращает непрерывную передачу данных.

Итого, определяется следующий набор команд:
1. Открытие USB платы.
Очевидно, это должно быть несколько команд:
- Получение количества подключенных к компьютеру плат с получением их серийных номеров и версии HardWare. Серийный номер и версия HardWare должны прописываться в EPROM USB контроллера. Для этого должен быть написан отдельный софт, который программирует EPROM контроллера и отдельный софт, который может читать записанную версию серийного номера и версиии HardWare и записывать их в EPROM.
-
2. Открытие нужной платы по серийному номеру.
3. Аппаратный сброс цифровой платы. Очевидно эта команда нужна, она должна выполняться на уровне контроллера USB, может быть путем установки сигнала на отдельной линии.
4. Программирование FPGA из отдельного файла.
5. Передачи-прием данных по I2C, если он имеется у контроллера и не задействован.
6. Передача команды (блока памяти) в плату и ожидание заданного количества байт от нее. В команде передачи задается время Time-out ожидания ответа от платы
7. Запуск потокового режима с указанием количества передаваемых байт в CallBack функции.
8. Останов потокового режима.
9. Закрытие устройства.

Требования к ПО.
Не должно быть никаких бесконечных циклов в потоках. Ожидание событий (прихода команды или ответа от платы – только через Event.
На первом этапе софт необходимо оформить в 32 разрядную DLL.
После отладки, необходимо будет сделать 64 разрядную DLL.

Предложения принимаются в личку. Уточняющие вопросы, пожалуйста, сюда.

Go to the top of the page
 
+Quote Post



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

 


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


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