СОВРЕМЕННАЯ ЭЛЕКТРОНИКА 2011-9
коскоростных приложений) микро контроллера, используемой ядром процессора и встроенной памятью. Периферийное устройство SPIFI представляет содержимое внешней флэш памяти SPI в карте распределе ния памяти микроконтроллера. По сле того как загрузочный код, содер жащийся в интегрированном ПЗУ, инициализирует интерфейс SPIFI, внешняя память SPI для процессор ного ядра выглядит как встроенная память. И НИЦИАЛИЗАЦИЯ Все драйверы, необходимые для ра боты интерфейса SPIFI, хранятся в ПЗУ. При чтении производится лишь один вызов подпрограммы для ини циализации периферийного устрой ства SPIFI. После выполнения ини циализации всё содержимое флэш памяти SPI становится доступным процессору и/или каналам DMA, как обычная память: с доступом по бай там, полусловам и словам. Для стира ния и программирования достаточ но просто вызвать функцию API, ко торая имеет доступ к командам в ПЗУ, таким образом, использование внеш ней памяти SPI становится столь же простым, что и встроенной флэш памяти. З АГРУЗКА С УСТРОЙСТВА SPIFI Для систем, которым требуется загрузка с внешней последователь ной флэш памяти, микроконтроллер NXP LPC1800 был оснащён механиз мом, позволяющим использовать SPIFI в качестве источника загрузки. Источник загрузки можно выбрать двумя способами. Чтобы определить, с какого интерфейса осуществлять загрузку, в первом используются выводы микроконтроллера, во вто ром – программа пользователя, хра нящаяся в энергонезависимой памя ти. Благодаря использованию энер гонезависимой памяти удаётся из бежать назначения выводам двух функций. Ф ИЗИЧЕСКИЙ ИНТЕРФЕЙС На рис. 3 представлен физический интерфейс периферийного оборудо вания SPIFI. Для обычных устройств SPI он использует четыре вывода, а для конфигураций с памятью Quad SPI – два дополнительных. Различные производители после довательной флэш памяти и уст ройств используют или требуют использования разных команд и фор матов команд. Периферийное уст ройство SPIFI обладает достаточной гибкостью, чтобы обеспечить совмес тимость с большинством обычных устройств SPI флэш памяти, и содер жит расширения, гарантирующие совместимость с будущими устройст вами. С ОКРАЩЁННЫЙ НАБОР РЕГИСТРОВ Компактный набор регистров обес печивает периферийному устройст ву SPIFI множество интеллектуаль ных возможностей, не усложняя его использование. Для управления функцией SPIFI, взаимодействия с внешней памятью SPI, хранения и считывания данных, а также для мо ниторинга операций требуется всего восемь регистров. Поскольку встро енный в ПЗУ программный интер фейс API управляет процессами уста новки, программирования и стира ния, операции с внешней памятью SPI в приложении выполняются путём вызова лишь нескольких подпро грамм. В итоге периферийное уст ройство SPIFI легко конфигурировать и поддерживать в различных прило жениях. П РОГРАММНЫЕ КОМАНДЫ Внешняя память отвечает на ко манды, посылаемые программным обеспечением микроконтроллера, и на команды, автоматически отправ ляемые периферийным устройством SPIFI, когда его ПО считывает неко торую область последовательного флэш устройства в карте распреде ления памяти. Команды разделяются на следующие поля: код операции, адрес, вспомогательное поле и дан ные. Поле адреса, вспомогательное поле и поле данных являются опцио нальными, их наличие зависит от ко да операции. Некоторые устройства поддерживают режим, в котором код операции при выполнении команд чтения указывается неявным обра зом для повышения производитель ности. Поля данных подразделяют ся на поля входных и выходных дан ных – в зависимости от кода операции. Все команды для внешней памяти SPI могут выполняться путём вызова под программ API из ПЗУ. Драйвер SPIFI API, хранящийся в ПЗУ, обеспечивает доступ к содержимому внешней па мяти SPI с помощью простых команд загрузки, это сокращает размеры ко да приложения и упрощает его напи сание. В ЫПОЛНЕНИЕ ОПЕРАЦИЙ НЕЗАВИСИМО ОТ ЦПУ ПО SPIFI может считывать данные из внешней памяти и записывать их в ОЗУ или на периферийные устрой ства без помощи ЦПУ. Например, микроконтроллеры с интегриро ванным контроллером ЖК дисплея позволяют использовать эту возмож ность для повышения производитель ности и экономии энергии. Изобра жения могут храниться во внешней памяти и извлекаться из неё контрол лером ЖК дисплея. Поскольку кон троллер ЖК дисплея считывает ос новную часть данных с последо вательных адресов, периферийное устройство SPIFI может осуществлять упреждающую выборку адресов, что бы они были готовы к использова нию, когда понадобятся, – по сущест ву, без состояний ожидания. Вся опе рация происходит без обращения к ЦПУ, при этом нет необходимости предварительно загружать изображе ния во встроенное ОЗУ. Это означа ет, что система сможет использовать микроконтроллер с меньшим объ ёмом встроенного ОЗУ или высвобо ПРИБОРЫ И СИСТЕМЫ 48 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2011 SPIFI SCK CSn MOSI/IO0 MISO/IO1 IO2 IO3 VCC HOLDn/IO3 SCK MOSI/IO0 8 7 6 5 1 2 3 4 CSn MISO/IO1 WPn/IO2 GND AHB CPU LPC MCU Рис. 3. Физический интерфейс периферийного устройства SPIFI © СТА-ПРЕСС
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy