‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

San Meandreas (2)

С ноября прошлого года втихаря ковыряю проектик одноплатной машинки на одном из самых совершенных микроконтроллеров в линейке STM32. И вот наступил момент, когда я понял, что не знаю, куда подключить два оставшихся свободных пина:


Четырёхслойка.

Есть несколько мутных моментов (например, QSPI на плате Discovery подключена очень странным способом - "одна нога здесь, другая там" - без объяснения причин, errata на чип не упоминает никаких проблем с пинами, связанными с этой шиной), но в целом мне нравится то, что получилось.

CPU: STM32F746BGT6
RAM: 2 x MT48LC16M16A2, 32-битная шина данных
Flash: QSPI что-нибудь, что легко купить, желательно с поддержкой XIP и наибыстрейшей шиной (например, N25Q128A13ESE40F), разведено два посадочных места под SOIC8-150/300 и SOIC16-300.
Net: KSZ8081RNACA, 10/100 мегабит. Единственный чип в неудобном корпусе. Выбран потому что имеет ВЫХОД тактового сигнала со встроенного ФАПЧ (для работы Ethernet MAC микроконтроллера в режиме RMII нужен дополнительный внешний тактовый сигнал)
LCD: THC63LVDM83D (и соответствующий совместимый LVDS-ресивер на другом конце кабеля) подключен полной 24-битной шиной
Storage: порт для подключения внешнего адаптера SD-карты (на самой плате слот карты решено не разводить в целях экономии места и гибкости компоновки, то же относится к разъёмам USB, Ethernet, RS232 и т.п. - они занимают очень много площади и резко ограничивают свободу выбора конструктива)
Comms: USB FS device, сокращённый RS232 (порт USART2), ещё один сокращённый RS232 (собран по остаточному принципу, RX взят от USART1, а TX -- от UART4), USART6 без преобразования уровней и с дополнительным пином GPIO (например, под внешний трансивер RS485 с управлением приём/передача), SPI, I2C (при этом USART1_TX, UART4_RX, I2C, SPI выведены на коннектор, совместимый с UEXT от Olimex, на дополнительные контакты выведено три GPIO и ещё 5В-питание), порт подключения контроллера матричной клавиатуры и двух инкрементальных энкодеров, отдельный четырёхштырьковый коннектор I2C, порт PS/2 (условно, т.к. микроконтроллер не имеет такого аппаратного модуля, это будет просто умощнённый и усиленный до 5В двунаправленный двухбитный порт), коннектор для подключения платы ПЛИС.
Прочий фарш: RTC с батарейкой (встроенный в микроконтроллер домен батарейного питания жрёт на порядок больше, чем отдельностоящий DS1337), две I2C EEPROM с разными адресами, электродинамический извещатель (или, проще говоря, маленький динамик) с простеньким УНЧ, схему которого я в работе не проверял.
Отладка: 20-пиновый порт JTAG, три светодиода (GPIO, USB, Ethernet).
Питание: +5.5В (можно и больше, и немного меньше -- но не нужно).

Надеюсь, что SDRAM удастся завести на 108 МГц - половина максимальной тактовой без разгона. На производительность этих микроконтроллеров при работе программы из внешнего ОЗУ есть некоторые нарекания, но все известные мне тесты проводились на системах с 16-битной шиной. Тут же будет 32-битная, что очевидно даст некий выигрыш.

Короче говоря, штука получается весьма суровая, с богатым внутренним миром и вычислительной мощностью едва ли не большей, чем среднестатистический писюк из 90-ых годов прошлого века. Может даже линукс получится запустить (принципиальных проблем не вижу, разве что может понадобиться соорудить какие-то свои патчики под специфику периферии).

Надеюсь, теперь понятно, почему меня немного не устраивает плата от Starterkit.ru.

И этот проект (в который я страшно сказать сколько денег вбухал, а результата всё нет) оказался очень удачной разминкой перед гораздо более гораздым, на мощнейшем чипе от TI с кучей высокоскоростной периферии, за который мне ещё денег заплатят. Во попёрло!


А у китайцев новый лунный год до первых чисел февраля. Есть время ещё что-нибудь запилить.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments