Flexz
-
Постов
252 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Flexz
-
-
Схему-то посмотрите, там все видно. А именно - питание подается с Micro-USB, причем через диод. Что бы запитать плату с Mini-USB можно соединить пины PA9 и 5V.
-
У меня шина на Cortex-M3 NXP изредка перегружается...
а как вы это определили?
-
Это еще поспорить можно. Фифо на 4хх делается на основе DMA с циклическим поинтером.
Вы не в маркетинге случайно работаете? :)
-
У stm32 нет фифо на уартах.
-
Если прескейлер на APB равен единице (т.е. APB рабоатет на частоте AHB), то таймеры работают на частоте шины. Если же прескейлер на APB больше единицы, то таймеры работают на удвоенной частоте шины.
PS см раздел RCC, Clock tree.
-
Давайте сначала: что вы подразумеваете под "восстановлением работоспособности"?
-
STM32F2xx/F4xx, LPC18xx. По два порта USB Host/Device, параллельная шина сейчас везде есть. Три порта USB это уже другая весовая категория (слоны типа i.MX53, например), но теоретически можно и на легкие контроллеры м/с хаба поставить и сделать портов столько сколько нужно.
Параллельную шину для слива данных в ПЛИС совсем не обязательно 2МБит легко уйдут по UART или SPI, да и 40МБит тоже можно через SPI прогнать.
Пятый пункт не понял.
-60 - сомнительно, ну т.е. работать то они может и будут, но как долго? И будет ли работать следующая партия? Лучше обогрев сделать.
-
Осциллограф с полосой мегагерц на 100-200? Тогда уровни "правильные", хотя сигнал шумновато как-то выглядит.
-
Может улетает при переключении с FS на HS? Флешка с D+ подтяжку снимает?
У нас на своей плате ULPI заработало сходу, физика USB3300. Вот встроенный драйвер FS на втором контроллере USB не пробовал.
-
Так у меня обычная USB-Flash, только во втором тесте подрубал СД-шку через ридер.
Частота полная - 168МГц, физика - USB3300.
У меня есть подозрения, что где-то в HS-библиотеке бага-таки есть, т.к. еще когда я гонял эмулятор ком-порта - передача рандомно висла. Так же прога, но в FS режиме работала нормально часами. Надо копаться в этом деле с отладчиком, а времени нету пока.
-
Ну USBH_USR_MSC_Application, вероятно, по их задумке должен реализовывать автомат управления. А USBH_Process, в свою очередь долден вызываться из своего таска ОС. Но это все теория, пока не пробовал, т.к. сам только с неделю хост ковыряю.
Кстати, для подключения к дискавери юзал вот такой переходник, удобная штука.
-
Вообще я с HS работаю сейчас. Но тот пример собран именно под FS, специально проверил перед тем как залить.
Сейчас попробовал сделать питание постоянно включенным - работает, так что управление, видимо, необязательно делать.
PS спрашивайте, конечно, мне оно тоже интересно - отвечая на казалось бы простые вопросы нередко сам много нового узнаешь :)
-
Добрался наконец-то до хоста. F4 с флешкой, судя по первым экспериментам скорость упирается в производительность флешки. Пробовал три штуки:
1. Довольно тормозная флешка Emtec. Комп ее пишет на скорости где-то 2.7-2.9МБ/с, процессор - 2.5
2. СДшка через ридер, компе 8МБ/с, проц - 7.5
3. Большая и шустрая флешка 32гига, на компе пишется со скоростью 20-22МБ/с в HS режиме почему-то не пошла. Проц ее видит, можно посмотреть каталоги, но при попытке создать файл - он создается, но в него ничего не пишется, функция записи тупо повисает. Где именно пока не разбирался.
В FS режиме все три показывают скорость в районе 0.7-0.9 МБ/с.
-
Если еще нужно, в аттаче рабочий пример, запускал на ф4дискавери с платой расширения. Кнопка на C7, после двух нажатий на флешку пишется файлик.
Частота кварца у вас какая?
-
Если достаточно акселерометра, то можно взять STM32F4Discovery, стоит копейки, среди демок есть "мышка" - управление курсором путем наклона платы.
-
Зачем open-drain для uart?
GPIOD->AFR[1] |= (1<<1); - это что? точно не то, что в комменте написано. UART1-3 это AF7, и включать его надо на оба пина.
Остальное не проверял, только что в глаза бросилось. Уж лучше STшную либу использовать, при все ее корявости, чем голые цифры в регистры писать.
-
Плохой пример, SCSI_SenseCode не использует переменную lun :) плохой код - да, но еще не баг
-
Перепишите на обычные (regular) каналы, injected не могут работать в непрерывном режиме сами по себе.
Note: Injected channels cannot be converted continuously. The only exception is when an injectedchannel is configured to be converted automatically after regular channels in continuous
mode (using JAUTO bit), refer to Auto-injection section).
-
наверное не просто так в RM написано
Note: Do not use the BSY flag to handle each data transmission or reception. It is better to use theTXE and RXNE flags instead.
-
Если нужна надежность, то о USB лучше сразу забыть. Только настоящий COM - порт на материнке или мультипортовке ...
Ну не так уж категорично, лучше сказать "если нужна надежность то о USB-CDC лучше сразу забыть" :)
В свое время хватило косяков с ним связанных, начиная от "отваливания" порта и кончая бсодами. Лучше сразу взять libusb - потратить немного времени на изучение, и забыть CDC как страшный сон. С libusb потеря/восстановление связи отрабатываются без проблем (получили таймаут или ошибку - закрываем порт, ждем когда наш девайс пройдет энумерацию, подключаемся снова).
-
Додумывать - какой же там внутри алгоритм, есть дело неблагодарное. Два варианта - таки дизассемблировать, либо построить аппроксимацию.
Для аппроксимации стоит построить несколько графиков - число шагов от диапазона, число шагов от первого-последнего аргумента (если с последним аргументом более-менее ясно - это конец диапазона, то с первым непонятно - он не является началом диапазона), ну и собсетвнно графики значений.
PS и это не Брезенхем, во-первых рост нелинейный, во-вторых последняя дельта выбивается из ряда, Брезенхем такого себе не позволяет.
-
В Cortex-M3 Technical Reference Manual
Еще учитывайте, что выборка инструкций из флеша происходин не за один цикл, для 72МГц в STM32F103 добавляется два цикла ожидания на каждое обращение к флешу, об этом - в даташине на проц.
-
В сторону ПЛИСок с интегрированным процом не смотрели? Cyclone V, например, там A9.
-
Да, пока только девайс. Хост еще вообще не смотрел, но в ближайшей перспективе буду, как нарисуется вторая плата. Планируется соединить две STM32F4 одну хостом, другую девайсом.
USB-Micro разъём на STM32F4Discovery
в ARM, 32bit
Опубликовано · Пожаловаться
Ну да, наоборот :) По памяти пишу, платы под рукой нету.
В остальном все так - PA9 соединяйте с 5V.