Перейти к содержанию
    

Напомню - вот результаты моих тестов того же фреймворка, но на USB_OTG. Никаких потоков, просто суперцикл. Это Middleware от ST.
Получить бы такую же скорость и можно считать повезло.

Quote

 

запись файлов на usb flash и жесткий диск при подключении к usb a порту на stm32h743 @400 MHz. Интенфейс usb fs.

пустой 5400 rpm FUJITSU 200 GB SATA disk диск через USB переходник, 128k cluster:
1 minute - 65273856 = 1087 kB/S exFAT, 64k block writes
1 minute - 64749568 = 1079 kB/S exFAT, 128k block writes
поскольку отмерялось вручную, изменений нет в пределах пограшности измерения
1 minute - 62832640 = 1047 kB/S exFAT, 2k block writes

Флешка 8 гб, фат32 с 32кб кластером:
1 minute - 34828288 = 580 kB/S FAT32, 4k block writes
1 minute - 46940160 = 782 kB/S FAT32, 16k block writes
1 minute - 49610752 = 826 kB/S FAT32, 64k block writes.

Использованы исходники из stm32 cube с минимальными доработками.
STM32MP157 @650 MHz, OTG_HS.

пустой 5400 rpm FUJITSU 200 GB SATA disk диск через USB переходник, 128k cluster:
1 minute - 321636352 = 5360 kB/S exFAT, 2k block writes
1 minute - 404914176 = 6748 kB/S exFAT, 32k block writes
1 minute - 409731072 = 6828 kB/S exFAT, 128k block writes

USB FLASH exFAT, 32k cluster:
1 minute - 130449408 = 2174 kB/S exFAT, 32k block writes
1 minute - 139329536 = 2322 kB/S exFAT, 128k block writes

 

 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изменив параметр "частота прерываний от контроллера"  8 на 1 - для получения прерывания по окончании обмена - получил вместо 400 килобайт скорость 2.5 мегабайта в секунду на USB FLASH. SATA HDD чуть позже.

Quote

Флешка 8 гб, фат32 с 32кб кластером:
2610 kB/S exFAT, 128k block writes

 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

USBCMD, биты 23:16 - "interrupt treshold control"

 

upd: убрал у всех элементов ASYNC флаг EHCI_CHR_HEAD - стало 3.7 мегабайта в секунду... Уже чувствуется USB HS

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И как неплохой результат:
 

LUN #0:
Inquiry Vendor  : Hitachi
Inquiry Product : HTS542512K9SA00
Inquiry Version :
MSC Device ready
MSC Device capacity : 117220824 KBytes
Block number : 234441648
Block Size   : 512

Это устройство даёт не менее 4 бегабайт в секунду на EHCI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, GenaSPB сказал:

стало 3.7 мегабайта в секунду...

Это чтение или запись? Для чтения все равно очень мало...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тольуо запись тестирую - 128k block writes через FatFS

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, GenaSPB сказал:

для получения прерывания по окончании обмена

Чет я не помню там прерываний, у меня все работает в режиме поллинга на своей задаче.

1 минуту назад, GenaSPB сказал:

Я тольуо запись тестирую - 128k block writes через FatFS

А чтение сколь дает или оно вообще не реализовано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да у меня тоже можно в опросе проверять. Чаще всего оде несколько ускоряет - так как всё это изначально под super loop предназначено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, GenaSPB сказал:

128k block writes

Это по 512байт 128 блоков?  Смысл таким большим куском писать? При тестировании прирост от размера блока 4Кбайта к 16Кбайт почти 4 раза, 16К-32К полтора раза, более 32К уже не заметно, но буферировать все это добро приходится..

ЗЫ.. А понял, это блок размером 128Кбайт)))

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

написано же... 128 килобайт. А про зависимость от размера был тест ранее, результаты выше - 

Да, после 64 кБ не сильно влияет.

 

 

upd: в режиме софтового опроса:
USB FLASH:  Write speed 5622 kB/S
HDD: Write speed 20097 kB/S (через USB -> SATA переходник, напомню)

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После некоторых доработок ST Middleware - для использования чтения длинных USB BULK пересылок если есть (а EHCI позволяет сам формировать последовательность из множества запросов IN) - получил:
USB FLASH: Write speed 5332 kB/S
SATA HDD: Write speed 38637 kB/S

Это для непрерывной записи в течении одной минуты.

Скорость чтения windows 10 c с того же диска аналогична:

image.png.b32be0edb77ade123112ce58072dfd3a.png 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...