Доброго времени суток коты и кошечки, а также котята Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?
Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?
идеи? ну можно собрать на простой логике)) для примера я вот собрал конвертор Ethernet/SPI на простой логике...
Martian, UART вообще пофиг скорость. Проще было бы принять на МК с UART и выдать то же самое, но по SPI. МК с SPI 16 МГц найти чёт не могу. Гугл флэш память с SPI на 16 МГц мне постоянно пихает . Подумал, может кто уже делал на чём ни будь что-нибудь подобное...
Добавлено after 4 minutes 36 seconds: roman.com, на простой логике... Проще уж ПЛИС какую ни будь воткнуть. Проблема ещё в том, что нужно только принять по UART и выдать/принять по SPI и ответ назад в UART. Т. е. нужно буквально 6 ног. Ну и пару на светодиоды, но не обязательно.
Martian, не совсем то, точнее вообще не то. Накодить проблем нет, проблема железку правильно подобрать. Например если взять STM32, подключить к ней UART, а SPI сделать при помощи ногадрыга. Можно ли на 16 МГц этот SPI забубенить? Там ведь при разгоне, вроде начинает этот ногадрыг себя некорректно вести. Типа если сделать цикл поднять ногу - опустить ногу, осциллографом хорошо видно, что фронты у него дрожат очень сильно.
... а SPI сделать при помощи ногадрыга. Можно ли на 16 МГц этот SPI забубенить? ...
AlexandrRa, на STM32 (почти) все используем hardware SPI. Разница между AVR и STM32 заключается даже в способе распределения ресурсов МК. На "бедном" распространенном STM32F103C8T6, китайском: по цене чашки кофе, параметры под запрошенную задачу выполняются. Напр. изпользуйте GD32, будет x2. Без разгона. С разгона - так же повезло. А есть STM32x3хх, есть 4xx, 7xx ...
veso74, 18 Мгц это хорошо, но теперь если посмотреть (М-3 например) в асме, понять ногу - 2 такта, опустить ещё 2 такта. Т. е. из 18 МГц получаем 9 (если не меньше). Аппаратное подключение SPI в GD даёт максимум 8 МГц (как и в STM). Так что походу остаётся ПЛИС использовать... Просто использовать ПЛИС как конвертор, это как цифровой микроскоп использовать для забивания гвоздей. Умножение частоты, или разгон через ФАПЧ приводит к нестабильности, о чём я и писал выше.
ТС, похоже, просто нравится обсуждать эту тему. Ему болгарский товарищ уже всё даже в цифрах расписал, на STM 4 и 7 намекнул, но нет, нужно стоять на своём, искать какую-то малоизвестную "дичь", чтобы, видимо, потом создать ещё одну тему "А почему C8051F320-GQR не работает так, как хочется"
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
Последний раз редактировалось smacorp Сб авг 10, 2024 01:24:58, всего редактировалось 2 раз(а).
при разгоне, вроде начинает этот ногадрыг себя некорректно вести. Типа если сделать цикл поднять ногу - опустить ногу, осциллографом хорошо видно, что фронты у него дрожат очень сильно.
У старого 15-летней давности PIC18F25K20 при тактовой 16 MHz и включенном PLL частота SPI тоже была 16. С тех пор даже многие младшие PIC16 так умеют. https://pikabu.ru/story/nemnogo_razgona_5307131
Есть проблема выбора МК или ПЛИС для разработки конвертора UART/SPI. SPI производит обмен на скорости 16 МГц. Есть у ког какие идеи? Или может готовые схемки?
Я делал (и сделал) SPI на 100-МГцовом 32-разрядном процессоре (не называю, ибо не понравится ни цена, ни наличие на рынке), но в его системе команд есть команда, преобразующая параллельный формат в последовательный. Без неё тяжко. Про UART не говорю, это детские игрушки. А вот с SPI пришлось повозиться: имевшиеся у меня микросхемы ОЗУ с этим интерфейсом не могли работать непрерывно более нескольких минут, поэтому пришлось поднимать скорость обмена (ровно 16 из сотни не получить, но мне по техзаданию хватило и 12.5, хотя я разгонялся и до 25), чтобы между обращениями к странице памяти образовывались необходимые для "отдыха" микросхемы паузы. Но это всё же была реализация по принципу "из пушки по воробьям". Из дешёвого же и доступного в некоторых контроллерах AVR тоже есть блок, преобразующий параллельный формат в последовательный, так что ЛГБТ-контроллер (lgt8f328), запущенный на 32 МГцах, должен бы обеспечить работу SPI на 16 МГцах, но только на протяжении 8 тактовых импульсов. Далее понадобится небольшая пауза на перезагрузку регистров, но формально это всё-таки будут 16 МГц. Но я на нём не пробовал, да у меня и программатора-то к нему нет. Само собой разумеется, что 32М на 9600 нацело не делится (100М, кстати, тоже), но там погрешность будет только в пятом знаке, так что на неё можно не обращать внимания.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения