0
stm32f4 Discovery с выпаяной кое-какой периферией, которая пересекалась по пинам с PHY.
По идее, если по EP0 прошло всё нормально, физика работает. Далее дьявол в деталях — dedicated IRQ, размеры пакетов, буферов и т.д.
0
Так я туда и написал. На текущий момент 50 просмотров и ни одного ответа.

Я смотрю, тут такая битва развернулась. Не думал, что тема настолько холиварная.
+1
Более 20 мбит/с не получал. Это на тактовой 168 МГц на железе, на котором больше ничего не крутилось. В реале там ещё сбор и предобработка данных с кучи АЦП, так что будет хуже.

Но надо понимать, что в текущей работе всё происходит по запросу от ПК. ПК шлёт запрос и ему в ответ приезжает блок данных. Потом опять запрос. Здесь сам ПК вносит задержку, поскольку код на нём крутится в user-mode, на него влияют переключения контекста задач.

Я, в своё время, пробовал непрерывно писать в bulk-endpoint на контроллере, а на ПК всё время вычитывал. Получал 26 МБайт/сек (с DMA на старой, до HAL-овской библиотеке), но данные периодически портились из-за переполнения буферов на ПК.

Если написать честный низкоуровневый драйвер с большими буферами, всё будет хорошо, но это задача несколько другого уровня.
  • avatar
  • DeddXey
  • 28 апреля 2017, 14:24
+1
Рад, что мы достигли некоторого понимания.

Индусы — понятие скорее нарицательное, отражающее подход. Понятно, что ST зарабатывает не софтом. Спасибо, что раздаёт библиотеки и примеры бесплатно, ибо в том же референсе не всё всегда сразу понятно: желело сложное, протоколы тоже (это я всё про своё USB). Плохо то, что обратная связь, фактически, отсутствует. Завели бы багтрекер что ли. Думаю, и это, и отсутствие тестирования вина скорее менеджмента, нежели программистов.

Совершенно не хотелось казаться д'Артаньяном, который пришёл весь в белом и одной левой починил всё. Мне эти ошибки стоили неделю красноглазия. Печально, что библиотек для работ с USB было уже выпущено немеряно версий, а готового решения, работающего «из коробки», если сделать шаг в сторону от примеров всё ещё нет.

Например, нигде до сих пор не проверяется, открыт ли endpoint, в который вы собираетесь писать. Если данные шлются не по запросу, будет беда.
  • avatar
  • DeddXey
  • 28 апреля 2017, 01:12
0
Боюсь разрушить вашу картину мира, но люди решают свои задачи теми способами, которые считают оптимальными. Заказчик весьма компетентен в своей области, и тот прибор, для которого всё делалось, достаточно интересный. Для него мой код всего лишь средство, а не цель.

Выбрали они в своё время Куб — значит сочли наиболее подходящим для себя. Для меня это был первый опыт работы с ним, и надо сказать, я ожидал внутри большего ужаса. На практике — достаточно юзабельная вещь, местами неоптимальная, но для быстрого подъёма железа вполне подходящая.

Заказчик в данном случае знал, чего хотел, и то, что я решил задачу в установленных им рамках, его полностью удовлетворило. Кстати, с чего вы взяли, что он богатый? Вменяемый и адекватный — да, хотя сейчас это дорогого стоит.

Про глупую и недалёкую публику вы это зря. Это не обучающий пост. Мне хотелось поделиться полученными патчами с обитателями сообщества, на сайте которого я нахожу много полезной информации. А рассказанная история просто в довесок, чтобы не было скучно. На сайте и так последнее время затишье.
  • avatar
  • DeddXey
  • 27 апреля 2017, 23:57
0
Главное его достоинство — это то, что его можно легко купить. Ну и в Терре отладочная платка продаётся недорого. Нареканий по работе у меня тоже нет.

Про подключение могу написать в отдельным постом, хотя каких-то сакральных знаний там нет. Соединил провода, проинициализировал пины контроллера, и всё заработало, по крайней мере на физическом уровне.
  • avatar
  • DeddXey
  • 26 апреля 2017, 21:52
0
Всегда рад помочь :)
  • avatar
  • DeddXey
  • 26 апреля 2017, 14:42
0
Полностью проект выложить не могу — заказчик несколько специфичный.
Скажите, что именно вас интересует, постараюсь показать ключевые моменты.
  • avatar
  • DeddXey
  • 26 апреля 2017, 14:32
+2
Не являюсь специалистом в данном вопросе, посему терминологией не владею. Последний раз писал на ТурбоПаскале 5.5 в лихие девяностые.

Саму программу на ПК я в глаза не видел. Сказали — Дельфи, ну и ладно. Использовал библиотеку, которая имеет бинд для Паскаля, что позволило использовать множество ранее написанного кода.

Что касается усиления, то брали меня для решения конкретной задачи, которую я выполнил. API программистам отдал, все счастливы. Надо будет сделать что-то ещё в пределах моей компетенции — сделаю, тем более, что заказчик хороший, работать с ним одно удовольствие.
  • avatar
  • DeddXey
  • 25 апреля 2017, 21:59
0
Точно!
  • avatar
  • DeddXey
  • 09 сентября 2011, 20:28
0
Мы вроде бы в рабочем порядке и так немного пообщались ;)
  • avatar
  • DeddXey
  • 09 сентября 2011, 20:27
0
Да, да, сидели :)
  • avatar
  • DeddXey
  • 09 сентября 2011, 20:23
0
Добавлю немного фото с экскурсии.
  • avatar
  • DeddXey
  • 17 августа 2011, 03:02