Что выбрать для разработки SPI на 16 МГц?
- Сообщения: 75
- Зарегистрирован: Чт ноя 26, 2020 13:19:49
Доброго времени суток коты и кошечки, а также котята
Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?
- Реклама
- Сообщения: 12867
- Зарегистрирован: Сб дек 18, 2021 19:25:32
а UART сможет на 16 МГц?
ПЛИС, наверное, эффективнее всего. Но есть ли они (если в России)?
ПЛИС, наверное, эффективнее всего. Но есть ли они (если в России)?
[uquote="AlexandrRa",url="/forum/viewtopic.php?p=4612436#p4612436"]Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?[/uquote]
идеи?
ну можно собрать на простой логике))
для примера я вот собрал конвертор Ethernet/SPI на простой логике... аналогично можно сделать конвертора UART/SPI на простой логике...
надо только подумать...

идеи?
ну можно собрать на простой логике))
для примера я вот собрал конвертор Ethernet/SPI на простой логике... аналогично можно сделать конвертора UART/SPI на простой логике...
надо только подумать...
- Сообщения: 75
- Зарегистрирован: Чт ноя 26, 2020 13:19:49
Martian, UART вообще пофиг скорость. Проще было бы принять на МК с UART и выдать то же самое, но по SPI. МК с SPI 16 МГц найти чёт не могу. Гугл флэш память с SPI на 16 МГц мне постоянно пихает . Подумал, может кто уже делал на чём ни будь что-нибудь подобное...
Добавлено after 4 minutes 36 seconds:
roman.com, на простой логике... Проще уж ПЛИС какую ни будь воткнуть. Проблема ещё в том, что нужно только принять по UART и выдать/принять по SPI и ответ назад в UART. Т. е. нужно буквально 6 ног. Ну и пару на светодиоды, но не обязательно.
Добавлено after 4 minutes 36 seconds:
roman.com, на простой логике... Проще уж ПЛИС какую ни будь воткнуть. Проблема ещё в том, что нужно только принять по UART и выдать/принять по SPI и ответ назад в UART. Т. е. нужно буквально 6 ног. Ну и пару на светодиоды, но не обязательно.
- Сообщения: 12867
- Зарегистрирован: Сб дек 18, 2021 19:25:32
раз пофиг скорость, значит, это нестандартный UART, неизвестные протоколы, задача не имеет конкретного решения, неизвестно, что искать.
ну, по запросу fpga uart to spi вполне нормально гугл выдаёт у меня. ни одной флэшки. Навпример https://github.com/FaresMehanna/UART-to-SPI-bridge
ну, по запросу fpga uart to spi вполне нормально гугл выдаёт у меня. ни одной флэшки. Навпример https://github.com/FaresMehanna/UART-to-SPI-bridge
- Реклама
- Сообщения: 75
- Зарегистрирован: Чт ноя 26, 2020 13:19:49
Martian, не совсем то, точнее вообще не то. Накодить проблем нет, проблема железку правильно подобрать. Например если взять STM32, подключить к ней UART, а SPI сделать при помощи ногадрыга. Можно ли на 16 МГц этот SPI забубенить? Там ведь при разгоне, вроде начинает этот ногадрыг себя некорректно вести. Типа если сделать цикл поднять ногу - опустить ногу, осциллографом хорошо видно, что фронты у него дрожат очень сильно.
[uquote="AlexandrRa",url="/forum/viewtopic.php?p=4612743#p4612743"]... а SPI сделать при помощи ногадрыга. Можно ли на 16 МГц этот SPI забубенить? ...[/uquote]
AlexandrRa, на STM32 (почти) все используем hardware SPI. Разница между AVR и STM32 заключается даже в способе распределения ресурсов МК. На "бедном" распространенном STM32F103C8T6, китайском: по цене чашки кофе, параметры под запрошенную задачу выполняются. Напр. изпользуйте GD32, будет x2. Без разгона. С разгона - так же повезло. А есть STM32x3хх, есть 4xx, 7xx ...
,

AlexandrRa, на STM32 (почти) все используем hardware SPI. Разница между AVR и STM32 заключается даже в способе распределения ресурсов МК. На "бедном" распространенном STM32F103C8T6, китайском: по цене чашки кофе, параметры под запрошенную задачу выполняются. Напр. изпользуйте GD32, будет x2. Без разгона. С разгона - так же повезло. А есть STM32x3хх, есть 4xx, 7xx ...
- Сообщения: 75
- Зарегистрирован: Чт ноя 26, 2020 13:19:49
veso74, 18 Мгц это хорошо, но теперь если посмотреть (М-3 например) в асме, понять ногу - 2 такта, опустить ещё 2 такта. Т. е. из 18 МГц получаем 9 (если не меньше). Аппаратное подключение SPI в GD даёт максимум 8 МГц (как и в STM). Так что походу остаётся ПЛИС использовать... Просто использовать ПЛИС как конвертор, это как цифровой микроскоп использовать для забивания гвоздей. Умножение частоты, или разгон через ФАПЧ приводит к нестабильности, о чём я и писал выше.
Цифры приведены после учета этого. Прескалера - 2, тактовая частота - 72 MHz.
Там написано: 18 MBit/s.
Там написано: 18 MBit/s.
Последний раз редактировалось veso74 Пт авг 09, 2024 13:32:48, всего редактировалось 2 раза.
- Сообщения: 75
- Зарегистрирован: Чт ноя 26, 2020 13:19:49
О, нашёл. C8051F320-GQR. И ФАПЧ у них стабильный. Не раз пользовался. Забыл про SiliconLabs. Правда цена кусается...
ТС, похоже, просто нравится обсуждать эту тему. Ему болгарский товарищ уже всё даже в цифрах расписал, на STM 4 и 7 намекнул, но нет, нужно стоять на своём, искать какую-то малоизвестную "дичь", чтобы, видимо, потом создать ещё одну тему "А почему C8051F320-GQR не работает так, как хочется" 
Последний раз редактировалось smacorp Сб авг 10, 2024 01:24:58, всего редактировалось 2 раза.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Где такое написано? модель 103 18 МГц, 334 модель уже может до 24 МГц как и 303, а 410, например, уже заявлена до скорости в 50 МГц!AlexandrRa писал(а):Аппаратное подключение SPI в GD даёт максимум 8 МГц (как и в STM).
Усложнять просто. Упрощать сложно.
сделал простой ногодрыг... всё работает идеально... ничего не дрожит))AlexandrRa писал(а):при разгоне, вроде начинает этот ногадрыг себя некорректно вести. Типа если сделать цикл поднять ногу - опустить ногу, осциллографом хорошо видно, что фронты у него дрожат очень сильно.
получаем 10 МГц...
подключаем второй МК... добавляем логику... получаем 20 МГц...
Пробую и тестирую новый для меня тип MK CH32V. В младших подтипах читаем из документации (при Fhs 48 MHz):
Код: Выделить всё
Table 3-22 SPI interface characteristics
fSCK/tSCK SPI clock frequency: Master mode 24 MHz, Slave mode 24 MHzУ старого 15-летней давности PIC18F25K20 при тактовой 16 MHz и включенном PLL частота SPI тоже была 16.
С тех пор даже многие младшие PIC16 так умеют.
https://pikabu.ru/story/nemnogo_razgona_5307131
С тех пор даже многие младшие PIC16 так умеют.
https://pikabu.ru/story/nemnogo_razgona_5307131
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
[uquote="AlexandrRa",url="/forum/viewtopic.php?p=4612436#p4612436"]Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?[/uquote] Я делал (и сделал) SPI на 100-МГцовом 32-разрядном процессоре (не называю, ибо не понравится ни цена, ни наличие на рынке), но в его системе команд есть команда, преобразующая параллельный формат в последовательный. Без неё тяжко. Про UART не говорю, это детские игрушки. А вот с SPI пришлось повозиться: имевшиеся у меня микросхемы ОЗУ с этим интерфейсом не могли работать непрерывно более нескольких минут, поэтому пришлось поднимать скорость обмена (ровно 16 из сотни не получить, но мне по техзаданию хватило и 12.5, хотя я разгонялся и до 25), чтобы между обращениями к странице памяти образовывались необходимые для "отдыха" микросхемы паузы.
Но это всё же была реализация по принципу "из пушки по воробьям". Из дешёвого же и доступного в некоторых контроллерах AVR тоже есть блок, преобразующий параллельный формат в последовательный, так что ЛГБТ-контроллер (lgt8f328), запущенный на 32 МГцах, должен бы обеспечить работу SPI на 16 МГцах, но только на протяжении 8 тактовых импульсов. Далее понадобится небольшая пауза на перезагрузку регистров, но формально это всё-таки будут 16 МГц. Но я на нём не пробовал, да у меня и программатора-то к нему нет. Само собой разумеется, что 32М на 9600 нацело не делится (100М, кстати, тоже), но там погрешность будет только в пятом знаке, так что на неё можно не обращать внимания.
Но это всё же была реализация по принципу "из пушки по воробьям". Из дешёвого же и доступного в некоторых контроллерах AVR тоже есть блок, преобразующий параллельный формат в последовательный, так что ЛГБТ-контроллер (lgt8f328), запущенный на 32 МГцах, должен бы обеспечить работу SPI на 16 МГцах, но только на протяжении 8 тактовых импульсов. Далее понадобится небольшая пауза на перезагрузку регистров, но формально это всё-таки будут 16 МГц. Но я на нём не пробовал, да у меня и программатора-то к нему нет. Само собой разумеется, что 32М на 9600 нацело не делится (100М, кстати, тоже), но там погрешность будет только в пятом знаке, так что на неё можно не обращать внимания.
Всего доброго.
Евгений.
Евгений.


