AG123
Пт, 5 мая 2017 г. 15:12
Из чистого любопытства я посмотрел в раздел SPI в справочном руководстве RM0009 для F4
http: // www.ул.com/content/ccc/resource/ ... 031020.PDF
Справочное руководство VS RM0008 для F1*
http: // www.ул.com/content/ccc/resource/ ... 171190.PDF
Есть много частей, которые выглядели буквально «идентичны», как я надеялся, что зрители PDF могут сделать «разницу» и просто сказать мне, в чем разногласия
Я отметил следующее как 1 разница:
STM32F1 RM0008 P710 25.3.3 Настройка SPI в главном режиме 25.3.3 Настройка SPI в главном режиме
Процедура
1. Выберите BR [2: 0] биты, чтобы определить скорость последовательного часового боля (см. Регистр SPI_CR1).
2. Выберите биты CPOL и CPHA, чтобы определить одну из четырех отношений между передачей данных и последовательными часами (см. Рисунок 239).
3. Установите бит DFF для определения 8- или 16-битного формата кадров данных
4. Настройте бит LSBFIRST в регистре SPI_CR1, чтобы определить формат кадра.
5. Если контакт NSS требуется в режиме ввода, в аппаратном режиме подключите контакт NSS к сигналу высокого уровня во время полной последовательности передачи байта. В программном режиме NSS установите биты SSM и SSI в регистре spi_cr1. Если вывод NSS требуется в выходе
Режим, должен быть установлен только бит SSOE.
6. Должны быть установлены биты MSTR и SPE (они остаются установлены, только если подключен штифт NSS
к сигналу высокого уровня). В этой конфигурации PIN -код MOSI является выходом данных, а вывод мисо - это вход данных. STM32F1 RM0009 P887 28.3.3. Настройка SPI в главном режиме 28.3.3. Настройка SPI в главном режиме
В главной конфигурации последовательные часы генерируются на штифте SCK.
Процедура
1. Выберите BR [2: 0] биты, чтобы определить скорость последовательного часового боля (см. Регистр SPI_CR1).
2. Выберите биты CPOL и CPHA, чтобы определить одну из четырех отношений между передачей данных и последовательными часами (см. Рисунок 248). Этот шаг не требуется, когда выбран режим Ti.
3. Установите бит DFF для определения 8- или 16-битного формата кадров данных
4. Настройте бит LSBFIRST в регистре SPI_CR1, чтобы определить формат кадра. Этот шаг не требуется, когда выбран режим Ti.
5. Если контакт NSS требуется в режиме ввода, в аппаратном режиме подключите контакт NSS к сигналу высокого уровня во время полной последовательности передачи байта. В программном режиме NSS установите биты SSM и SSI в регистре spi_cr1. Если вывод NSS требуется в режиме вывода, следует установить только бит SSOE. Этот шаг не требуется, когда выбран режим Ti.
6. Установите бит FRF в SPI_CR2, чтобы выбрать протокол TI для последовательной связи.
7. Должны быть установлены биты MSTR и SPE (они остаются установленными, только если контакт NSS подключен к сигналу высокого уровня).
Конфигурация PIN -код MOSI - это выход данных, а вывод мисо - это вход данных. Хотя это вряд ли будет единственной разницей, что кажется довольно отчетливой, так это добавление «режима Ti»
Диаграмма синхронизации приведена по протоколу P887 RM0009 SPI TI в главном режиме
Очевидно, что «режим Ti», казалось, имел такие вещи, как «запускающий край» и «край отбора проб», и, похоже, он начинается с одиночной последовательности High Pulse NSS
Другая «странная» вещь об этой диаграмме времени протокола P887 RM0009 SPI TI - это, кажется, называет MOSI как «вход», в то время как MISO как «вывод», похоже, не соответствует понятиям того, как мы обычно делаем SPI, так как STM32 «Мастер» (казалось больше погрешности на диаграмме)
Мои мысли на шаге (6) выше, нам нужно * отключить режим Ti, чтобы получить «обычную» SPI, мы ожидаем
В частности, если мы используем штифт NSS в качестве настраиваемого штифта /CS для устройств SPI (я всегда делаю это, чтобы не «тратить») выводы
Но затем по умолчанию для SPI_CR2 FRF при сбросе, кажется, 0 режим Motorola (а не 1 режим Ti)
всего 2 цента
http: // www.ул.com/content/ccc/resource/ ... 031020.PDF
Справочное руководство VS RM0008 для F1*
http: // www.ул.com/content/ccc/resource/ ... 171190.PDF
Есть много частей, которые выглядели буквально «идентичны», как я надеялся, что зрители PDF могут сделать «разницу» и просто сказать мне, в чем разногласия
Я отметил следующее как 1 разница:
STM32F1 RM0008 P710 25.3.3 Настройка SPI в главном режиме 25.3.3 Настройка SPI в главном режиме
Процедура
1. Выберите BR [2: 0] биты, чтобы определить скорость последовательного часового боля (см. Регистр SPI_CR1).
2. Выберите биты CPOL и CPHA, чтобы определить одну из четырех отношений между передачей данных и последовательными часами (см. Рисунок 239).
3. Установите бит DFF для определения 8- или 16-битного формата кадров данных
4. Настройте бит LSBFIRST в регистре SPI_CR1, чтобы определить формат кадра.
5. Если контакт NSS требуется в режиме ввода, в аппаратном режиме подключите контакт NSS к сигналу высокого уровня во время полной последовательности передачи байта. В программном режиме NSS установите биты SSM и SSI в регистре spi_cr1. Если вывод NSS требуется в выходе
Режим, должен быть установлен только бит SSOE.
6. Должны быть установлены биты MSTR и SPE (они остаются установлены, только если подключен штифт NSS
к сигналу высокого уровня). В этой конфигурации PIN -код MOSI является выходом данных, а вывод мисо - это вход данных. STM32F1 RM0009 P887 28.3.3. Настройка SPI в главном режиме 28.3.3. Настройка SPI в главном режиме
В главной конфигурации последовательные часы генерируются на штифте SCK.
Процедура
1. Выберите BR [2: 0] биты, чтобы определить скорость последовательного часового боля (см. Регистр SPI_CR1).
2. Выберите биты CPOL и CPHA, чтобы определить одну из четырех отношений между передачей данных и последовательными часами (см. Рисунок 248). Этот шаг не требуется, когда выбран режим Ti.
3. Установите бит DFF для определения 8- или 16-битного формата кадров данных
4. Настройте бит LSBFIRST в регистре SPI_CR1, чтобы определить формат кадра. Этот шаг не требуется, когда выбран режим Ti.
5. Если контакт NSS требуется в режиме ввода, в аппаратном режиме подключите контакт NSS к сигналу высокого уровня во время полной последовательности передачи байта. В программном режиме NSS установите биты SSM и SSI в регистре spi_cr1. Если вывод NSS требуется в режиме вывода, следует установить только бит SSOE. Этот шаг не требуется, когда выбран режим Ti.
6. Установите бит FRF в SPI_CR2, чтобы выбрать протокол TI для последовательной связи.
7. Должны быть установлены биты MSTR и SPE (они остаются установленными, только если контакт NSS подключен к сигналу высокого уровня).
Конфигурация PIN -код MOSI - это выход данных, а вывод мисо - это вход данных. Хотя это вряд ли будет единственной разницей, что кажется довольно отчетливой, так это добавление «режима Ti»
Диаграмма синхронизации приведена по протоколу P887 RM0009 SPI TI в главном режиме
Очевидно, что «режим Ti», казалось, имел такие вещи, как «запускающий край» и «край отбора проб», и, похоже, он начинается с одиночной последовательности High Pulse NSS
Другая «странная» вещь об этой диаграмме времени протокола P887 RM0009 SPI TI - это, кажется, называет MOSI как «вход», в то время как MISO как «вывод», похоже, не соответствует понятиям того, как мы обычно делаем SPI, так как STM32 «Мастер» (казалось больше погрешности на диаграмме)
Мои мысли на шаге (6) выше, нам нужно * отключить режим Ti, чтобы получить «обычную» SPI, мы ожидаем
В частности, если мы используем штифт NSS в качестве настраиваемого штифта /CS для устройств SPI (я всегда делаю это, чтобы не «тратить») выводы
Но затем по умолчанию для SPI_CR2 FRF при сбросе, кажется, 0 режим Motorola (а не 1 режим Ti)
всего 2 цента
AG123
Пт, 5 мая 2017 г. 15:37
Нет, это не кажется значимой разницей, так как режим TI отключен по умолчанию
STM32 также используйте те же граничные адреса и адреса регистра для SPI1 и SPI2, SPI3
0x4001 3000 - 0x4001 33ff spi1
0x4000 3800 - 0x4000 3bff spi2/i2s
0x4000 3C00 - 0x4000 3fff spi3 / i2s3
STM32 также используйте те же граничные адреса и адреса регистра для SPI1 и SPI2, SPI3
0x4001 3000 - 0x4001 33ff spi1
0x4000 3800 - 0x4000 3bff spi2/i2s
0x4000 3C00 - 0x4000 3fff spi3 / i2s3
Стивестронг
Пт, 5 мая 2017 г. 15:38
AG123 написал:По умолчанию для SPI_CR2 FRF при сбросе, кажется, 0 Motorola Mode (а не 1 режим Ti)
AG123
Пт 5 мая 2017 г., 15:44
Я начинаю подозревать, может ли это быть что -то, связанное с часами AHB / Прескалерами или APB Clocs / Prescalers
Поскольку после всех F4 работает на 168 МГц, в то время как F1 работает на уровне 72 МГц, много вещей, которые нужно выследить, чтобы выяснить различия, особенно если что -то не работает
Режим Ti, казалось, состоит в том, что дополнительное использование штифта NSS, на основе RM, выключен по умолчанию, а режим Motorola используется вместо этого
Еще одна вещь, которую нам, возможно, потребуется проверить, может быть, чтобы узнать, не будет ли определенный периферийный автобус.
Нашел сеть, которая казалась полезной по теме часов
https: // stm32f4-discovery.net/2015/01/p ... X-Devices/
Настройки, кажется, соответствуют, которые используются на черной ветви Steves F4, множители PLL казались похожими
https: // github.com/stevstrong/arduino_s ... CF4.C#L431
Поскольку после всех F4 работает на 168 МГц, в то время как F1 работает на уровне 72 МГц, много вещей, которые нужно выследить, чтобы выяснить различия, особенно если что -то не работает
Режим Ti, казалось, состоит в том, что дополнительное использование штифта NSS, на основе RM, выключен по умолчанию, а режим Motorola используется вместо этого
Еще одна вещь, которую нам, возможно, потребуется проверить, может быть, чтобы узнать, не будет ли определенный периферийный автобус.
Нашел сеть, которая казалась полезной по теме часов
https: // stm32f4-discovery.net/2015/01/p ... X-Devices/
Настройки, кажется, соответствуют, которые используются на черной ветви Steves F4, множители PLL казались похожими
https: // github.com/stevstrong/arduino_s ... CF4.C#L431
void SetupClock168MHz() {
...
// save bus clock values
rcc_dev_clk_speed_table[RCC_AHB1] = (SystemCoreClock/1);
rcc_dev_clk_speed_table[RCC_APB2] = (SystemCoreClock/2);
rcc_dev_clk_speed_table[RCC_APB1] = (SystemCoreClock/4);
Стивестронг
Пт, 5 мая 2017 г. 18:11
Хорошие новости, это начало работать с кодом Libmaple, область применения показывает импульсы SPI_CLK (SPI3), и он больше не замораживает.
Теперь нужно определить, какие из моих изменений сделали это.
Больше впереди.
Теперь нужно определить, какие из моих изменений сделали это.
Больше впереди.
michael_l
Пт, 5 мая 2017 г., 8:09 вечера
Стивестронг написал:Хорошие новости, это начало работать с кодом Libmaple, область применения показывает импульсы SPI_CLK (SPI3), и он больше не замораживает.
Теперь нужно определить, какие из моих изменений сделали это.
Больше впереди.
Теперь нужно определить, какие из моих изменений сделали это.
Больше впереди.
Стивестронг
Солнце 07 мая 2017 г. 15:22
Фактические значения скамейки с использованием бета SDFAT, SPI3 21MHZ, без DMA, карта: 16 ГБ Sandisk Ultra Class 10:
Type any character to start
FreeStack: 117044
Type is FAT32
Card size: 15.93 GB (GB = 1E9 bytes)
Manufacturer ID: 0X3
OEM ID: SD
Product: SL16G
Version: 8.0
Serial number: 0X72F2CA43
Manufacturing date: 8/2015
File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.
write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
375.32,122150,759,1363
387.66,18954,1021,1319
Starting read test, please wait.
read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
945.83,1574,529,540
946.01,1071,529,540
Done
AG123
Солнце 07 мая 2017 г. 16:41
+5 Хороших достижений
Скорость написания, кажется, достигла нативной ограничивающей скорости SD, для скорости чтения, я думаю, что если используется больший буфер E.глин. 1k, это может сузить разницу настолько, что DMA не будет иметь слишком много разницы
Скорость написания, кажется, достигла нативной ограничивающей скорости SD, для скорости чтения, я думаю, что если используется больший буфер E.глин. 1k, это может сузить разницу настолько, что DMA не будет иметь слишком много разницы
Стивестронг
Солнце 07 мая 2017 г., 17:39
Кажется, что размер буфера 4096 или 8182 является лучшим вариантом, если оперативная память (см. Таблицу следующего поста).
Стивестронг
Солнце 07 мая 2017 г. 22:20
Я завершил таблицу с результатами скамейки, используя SPI = 42 МГц, все без DMA.
- stm32_sd_performance.JPG (162.89 киб) просмотрено 921 раза
AG123
Пн, 8 мая 2017 г. 8:46 утра
Улучшение скоростей записи действительно драматично до 4к, 8K
Стивестронг
Пн, 8 мая 2017 г. 8:50 утра
Да, если вы зарезервируете буфер 32K для этого...
Но даже с буфером 8K он дает хорошую скорость.
Но даже с буфером 8K он дает хорошую скорость.
Пито
Пн, 8 мая 2017 г. 8:56 утра
Sdbench с F4 должен дать вам ~ 4.5 МБ/сек rd/wr @42mhz SPI Clock и Sdfatex с 512bytes Большой буфер и DMA на..
Sdbench с F1 должен дать вам ~ 3.5 МБ/с RD/WR @36 МГц SPI Clock и SDFATEX с 512BYTES Большой буфер и DMA ON..
Sdbench с F1 должен дать вам ~ 3.5 МБ/с RD/WR @36 МГц SPI Clock и SDFATEX с 512BYTES Большой буфер и DMA ON..
Стивестронг
Пн, 8 мая 2017 г. 9:02 утра
Пито, бывший не принесла никакого улучшения.
Я не вижу, как увеличить скорость RD/WR в 10 раз превышает скорость RD/WR...
Можете ли вы намекнуть на любое решение?
Я не вижу, как увеличить скорость RD/WR в 10 раз превышает скорость RD/WR...
Можете ли вы намекнуть на любое решение?
Пито
Пн, 8 мая 2017 г. 9:05
Вы должны включить SDFATEX в SDFATCONFIG.час.
Опять же, приведенные выше результаты реальны..
Опять же, приведенные выше результаты реальны..
Стивестронг
Пн, 8 мая 2017 г. 9:07
Не могли бы вы опубликовать свой тестовый эскиз + используемый Core + SDFAT lib?
О, и пришлите мне аналогичную карту, которую вы используете
Кстати, какой цвет - твоя карта Сэмми? красный или желтый/оранжевый?
О, и пришлите мне аналогичную карту, которую вы используете
Кстати, какой цвет - твоя карта Сэмми? красный или желтый/оранжевый?
Пито
Пн, 8 мая 2017 г. 9:23
Sdbench из последнего SDFAT - это эскиз.
Карты, которые я использовал,:
1. Samsung Evo 8GB, CL10 UHS -I (белый/оранжевый) - Работы 21, 36, 42 МГц
2. Sandisk Ultra 16 ГБ, CL10 (красный/серый) - Работы 21, 36 МГц
Если вы не получите такие результаты (плюс минус 0.2 МБ/сек), тогда это что -то не так с вашей настройкой/настройками/драйвером SPI_DMA..
Те же результаты, которые я получаю с ядром Даниэля, и с Libmaple.
С SDFATEX использовать 512Bytes Большой буфер.
Карты, которые я использовал,:
1. Samsung Evo 8GB, CL10 UHS -I (белый/оранжевый) - Работы 21, 36, 42 МГц
2. Sandisk Ultra 16 ГБ, CL10 (красный/серый) - Работы 21, 36 МГц
Если вы не получите такие результаты (плюс минус 0.2 МБ/сек), тогда это что -то не так с вашей настройкой/настройками/драйвером SPI_DMA..
Те же результаты, которые я получаю с ядром Даниэля, и с Libmaple.
С SDFATEX использовать 512Bytes Большой буфер.
Стивестронг
Пн, 8 мая 2017 г. 9:24 утра
Вот почему я прошу вас опубликовать свою установку, чтобы иметь возможность воспроизводить ваши результаты.
Вы также можете отправить мне файлы bin для синих таблеток и/или Maple Mini и/или Black F4 + указывать используемые булавки SPI и CS для каждой платы частично.
Вы также можете отправить мне файлы bin для синих таблеток и/или Maple Mini и/или Black F4 + указывать используемые булавки SPI и CS для каждой платы частично.
Пито
Пн, 8 мая 2017 г. 9:45 утра
Попробуйте - Maplemini, CS = PB12, SPI1, 36 МГц, USB Serial, Bootloader20, Sdfatex, DMA, 512Bytes Большой буфер
Вы должны получить что -то вроде:
Вы должны получить что -то вроде:
File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.
write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
3533.34,25083,136,143
3594.74,15522,136,141
Starting read test, please wait.
read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
3257.12,1548,155,156
3258.89,1359,155,156
Done
Type any character to start
Стивестронг
Пн, 8 мая 2017 г., 11:33
В чем причина не использовать F407 Black SPI1 с 42 МГц?
Пито
Пн, 8 мая 2017 г., 11:45
Попробуйте с 21, и когда в порядке, вы получите 42
К вашему сведению - задержка MIN - это время, когда вам нужно перенести 512bytes на SDCARD. Из вышеупомянутых результатов:
136US/512/8 = 33.2ns -> 30 МГц
207US/512/8 = 50.5NS -> 19.8 МГц
К вашему сведению - задержка MIN - это время, когда вам нужно перенести 512bytes на SDCARD. Из вышеупомянутых результатов:
136US/512/8 = 33.2ns -> 30 МГц
207US/512/8 = 50.5NS -> 19.8 МГц
Стивестронг
Пн, 8 мая 2017 г. 16:07
Pito, я пропутал корзину F4 на моей черной плате F407Ve с утилитой STLINK от 0x80000000, но не имею реакции на интерфейсе серийного 1 (PA9/10).
Я также заметил, что корзина F1 Bin имеет 38 КБ, в то время как корзина F4 имеет большие 28 КБ (меньше, чем кор1 bin). Это действительно так, как это должно быть?
РЕДАКТИРОВАТЬ
Прошивая ММ над DFU:
Я также заметил, что корзина F1 Bin имеет 38 КБ, в то время как корзина F4 имеет большие 28 КБ (меньше, чем кор1 bin). Это действительно так, как это должно быть?
РЕДАКТИРОВАТЬ
Прошивая ММ над DFU:
>maple_upload.bat COM3 2 1EAF:0003 sdbench_f1.bin
maple_loader v0.1
Resetting to bootloader via DTR pulse
Reset via USB Serial Failed! Did you select the right serial port?
Assuming the board is in perpetual bootloader mode and continuing to attempt dfu programming...
Searching for DFU device [1EAF:0003]...
Found it!
Opening USB Device 0x1eaf:0x0003...
Found Runtime: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0 Upload to Flash 0x8002000"
Setting Configuration 1...
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x0400
bytes_per_hash=761
Starting download: [##################################################] finished!
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
error resetting after download: usb_reset: could not reset device, win error: The system cannot find the file specified.
Done!
Resetting USB to switch back to runtime mode
victor_pv
Пн, 8 мая 2017 г. 16:55
Стивестронг написал:
Я также заметил, что корзина F1 Bin имеет 38 КБ, в то время как корзина F4 имеет большие 28 КБ (меньше, чем кор1 bin). Это действительно так, как это должно быть?
Пито
Пн, 8 мая 2017 г. 16:56
F4 Bin, который я вижу, здесь 28 КБ. Serial1 установлен, и я вижу OUPTUT, как указано выше на PA9/PA10, 115K2 8N1..
Я снова перекомпилировал это с
Файл: Sdbench.бин
CRC-32: EB38F0D4
MD4: 4D43BE8AA4F0F8AD05D059F6E981FAD2
MD5: 5AEC1C4ACFB959F8C81E480981836786
SHA-1: E7B93691E776F2DF4012B1713380DF174948B589
Я снова перекомпилировал это с
Файл: Sdbench.бин
CRC-32: EB38F0D4
MD4: 4D43BE8AA4F0F8AD05D059F6E981FAD2
MD5: 5AEC1C4ACFB959F8C81E480981836786
SHA-1: E7B93691E776F2DF4012B1713380DF174948B589
- Sdbench.rar
- (18.25 киб) скачано 17 раз
Стивестронг
Пн, 8 мая 2017 г., 17:00
HM, такая же неудача с новым корзином тоже:
Ничего на сериале 1...
Шнур...T, это была свободная проволока, извините.
Какой из них CS PIN? PB6?
Ничего на сериале 1...
Шнур...T, это была свободная проволока, извините.
Какой из них CS PIN? PB6?
FreeStack: 128032
Can't access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X20,0XFF
Стивестронг
Пн, 8 мая 2017 г., 17:09
На PB6 я получаю импульсный поезд (такси сигнал) с ~ 330 кГц...
Пито
Пн, 8 мая 2017 г., 17:16
PB6 - CS CARD. SPI равен 3,4,5.
Стивестронг
Пн, 8 мая 2017 г., 17:19
PB3,4,5 является альтернативной группой PIN -PIN SPI1.
На PB6, как сказано, я получаю такси сигнал..
Где PB4 на черной доске?
На PB6, как сказано, я получаю такси сигнал..
Где PB4 на черной доске?
Пито
Пн, 8 мая 2017 г., 17:22
Ты спрашиваешь меня? У меня нет твоей черной доски VE, моя доска - Zet.
Пито
Пн, 8 мая 2017 г., 17:50
Это для F1 (здесь 103Zet) SPI на PA5,6,7 и CS = PC4, 36 МГц, серийный 115K2 на PA9,10, MapleBootloader20. Предыдущая версия была построена с Libmaple, это с ядром Даниэля. Он не ждет Чар, он работает в петле.
- Sdbench_f1.rar
- (17.86 киб) скачано 15 раз
Стивестронг
Пн, 8 мая 2017 г. 18:22
ОК, вернемся к F4, я могу подтвердить результаты, успешные с первым корзином F4 от Pito:
File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.
write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
2397.93,19155,207,212
2399.08,16532,207,212
2412.97,15940,207,211
Starting read test, please wait.
read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
2446.03,1590,208,208
2447.22,972,208,208
2447.22,972,208,208
Done
Стивестронг
Пн, 8 мая 2017 г., 22:15
Кажется, что я неправильно использовал функциональность SDFatex до сейчас - извините, пито за вводящую в заблуждение информацию со стороны
Я понял, что этого недостаточно, чтобы установить в sdfatconfig.час,
Я понял, что этого недостаточно, чтобы установить в sdfatconfig.час,
#define ENABLE_EXTENDED_TRANSFER_CLASS 1
Стивестронг
Ср 10 мая 2017 г., 17:15
Горячие новости
Скамейка для черного f4 @ 168mhz, spi1 @ 21mhz, с DMA, SDFATEX, SANDISK ULTRA 16 ГБ, CL10 (красный/серый):
Скамейка для черного f4 @ 168mhz, spi1 @ 21mhz, с DMA, SDFATEX, SANDISK ULTRA 16 ГБ, CL10 (красный/серый):
File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.
write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
2438.87,13975,204,208
2446.03,14013,204,208
Starting read test, please wait.
read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
2499.84,1448,203,204
2501.09,909,203,204
Пито
Пт 12 мая 2017 г., 17:44
К вашему сведению - Blue F103ZET, Sandisk Ultra 16GB Red/Grey, SPI @44MHZ (88 МГц FCPU Clock), последний SPI от Victor, Sdfatex, короткие провода <10 см.
File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.
write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
4393.39,7474,112,114
4328.73,10052,112,116
4378.00,7742,112,115
Starting read test, please wait.
read speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
3887.78,975,129,130
3887.78,836,129,130
3890.80,835,129,130
Стивестронг
Пт 12 мая 2017 г. 18:10
Какой «последний SPI от Виктора» вы имеете в виду? Общая версия?
Ваши результаты F1 выглядят очень близко, чтобы быть пропорциональными моими, которые были сделаны при 36 МГц:
44 МГц/36 МГц = 1.222
Скорость WR: (мой результат) 3.7 * 1.22 = 4.5, ваш результат ~ 4.4
Rd Speeed: (мой результат) 3.38 * 1.22 = 4.1, ваш результат ~ 3.9
Подобная пропорциональность достигается для F4 @ 42 МГц Ворчащий Скорость: ~ 4.6.
Мне интересно, что F4 Rd Результат больше не пропорционален, ~ 4.8 на ~ 20% выше, чем F1 работает с использованием одной и той же карты, хотя код SPI для F4 очень похож на код F1.
Я могу только думать, что разница в том, что CPU Clock.
Ваши результаты F1 выглядят очень близко, чтобы быть пропорциональными моими, которые были сделаны при 36 МГц:
44 МГц/36 МГц = 1.222
Скорость WR: (мой результат) 3.7 * 1.22 = 4.5, ваш результат ~ 4.4
Rd Speeed: (мой результат) 3.38 * 1.22 = 4.1, ваш результат ~ 3.9
Подобная пропорциональность достигается для F4 @ 42 МГц Ворчащий Скорость: ~ 4.6.
Мне интересно, что F4 Rd Результат больше не пропорционален, ~ 4.8 на ~ 20% выше, чем F1 работает с использованием одной и той же карты, хотя код SPI для F4 очень похож на код F1.
Я могу только думать, что разница в том, что CPU Clock.
Пито
Пт 12 мая 2017 г. 18:13
Victor's STM32GENERIER. Все еще думаю, почему чтения с F1 такие медленные..
Стивестронг
Пт 12 мая 2017 г. 18:20
Скорость RD выше скорости WR также @ 21 МГц для F4 (что, кстати, выглядит логично для меня)...
Так что это кажется общей разницей/проблемой где -то.
Так что это кажется общей разницей/проблемой где -то.
Пито
Пт 12 мая 2017 г. 18:35
Интересно, что я не могу заставить Samsung Evo работать на F407 42 МГц с новейшим родовым SPI от Victor. В прошлом он работал с его общим ядром на 42 МГц, так как я много испытал. Теперь обоих Samsung и Sandisk выбрасывают ошибки на 42 МГц..
Стивестронг
Пт 12 мая 2017 г. 18:53
В конечном итоге вы можете попробовать файл корзины, который я приложил в одном из предыдущих постов (SPI1: PA4..7, USB -сериал).
Стивестронг
Сб 13 мая 2017 г. 12:19
Пито написал:Все еще думаю, почему чтения с F1 такие медленные..
AG123
Сб 13 мая 2017 г. 13:23
F1 на APB2 Пробегает на 72 МГц, следовательно, SPI доставит 36 МГц, если это так, в то время как на F4 это 42 МГц и 21 МГц на автобусе SPI, что казалось бы немного «странным» в том смысле, что это подразумевает SD -карты быстрее на F1 будет работать быстрее на F1. «Секрет» может быть тем, что ускоритель «искусства», который, возможно, делает несколько циклов нулевых состояний ожидания на F4