DSM — cистемная память для процессоров Analog Devices
по материалам STMicroelectronics
Компания STMicroelectronics разработала и предлагает потребителям первую в мире системную память (DSM), чип которой обеспечивает законченное системное решение памяти с внутрисистемным программированием для цифровых сигнальных процессоров (DSP) семейства ADSP-218X компании Analog Devices.
Разработанное в тесном сотрудничестве с компанией Analog Devices, устройство DSM2180F3 объединяет довольно большую Flash-память, программируемое логическое устройство (PLD), порты ввода-вывода, необходимый интерфейс и логические функции, что обеспечивает законченное системное решение памяти для DSP семейства
ADSP-218x. Первая микросхема в семействе DSM-устройств, DSM2180F3, имеет Flash-память с внутрисистемным программированием (ISP) через интерфейс JTAG, что позволяет легко конфигурировать систему без дополнительных паек или объединять с помощью интерфейса логику, эффективно сокращая тем самым время продвижения на рынок и полные системные затраты.
Рис 1. Диаграмма DSM2180F3
У DSM2180F3 128 Кбит Flash-памяти, что достаточно для многократных итераций кода программы и для расширения памяти данных. Память конфигурирована на восемь секторов по 16 Кбит каждый. Объединение на одном кристалле памяти, дешифратора и регистра страниц позволяет DSP обращаться к Flash-памяти либо в режиме прямого доступа к байту памяти (DMA), что обеспечивает высокоэффективный путь чтения больших блоков памяти, например для загрузки внутреннего SRAM DSP с кодом и данными при включении питания, либо как к внешней памяти оверлея данных, что является более эффективным решением для записи Flash-памяти.
Кроме того, DSM2180F3 имеет отдельный сектор Flash-памяти размером в 16 Кбит, что соответствует размеру внешнего окна оверлея данных DSP. Этот сектор может использоваться для эффективного управления данными, в то время как встроенный регистр страниц обеспечивает DSP возможностью обращения к полному 128-килобитному пространству Flash-памяти. Это позволяет процессору использовать ее с максимальной эффективностью при обновлении кода на месте нахождения изделия или обновлении параметров и других данных.
Учитывая популярность процессоров Analog Devices семейства ADSP-219x, STMicroelectronics предлагает для этого семейства совместимое устройство DSM2190F4. В отличие от DSM218х, оно имеет второй дуальный массив Flash-памяти, что расширяет возможности DSP.
Вместе с тем, этот второй (вторичный) массив имеет довольно маленький размер сектора
Рис. 2. Упрощенная схема соединения DSP c DSM
(8 Кбитx8), что ограничивает области и примеры его использования. Видится только несколько вариантов его применения:
- для хранения параметров;
- для программного обеспечения эмуляции EEPROM;
- для хранения кода инициализации в одном или нескольких секторах вместо основной Flash-памяти (при этом индивидуальные сектора могут быть защищены от считывания);
- для организации параллельной работы массивов памяти (в данном случае DSP может функционировать от одного массива, в то время как второй стирается и повторно перепрограммируется);
- для объединения с основной Flash-памятью с целью получения 288 Кбайт общего пространства памяти.
Как правило, DSP выполняет программу, записанную в быстром внутреннем SRAM. Код программы необходимо предварительно загрузить во время начальной загрузки. Для этой цели типично используется Flash-память. Устройства DSM могут не только удовлетворить этому требованию, но и предоставить множество дополнительных возможностей.
Программируемая логика общего назначения (PLD) включает более 3000 логических ячеек,
16 входных и 16 выходных макроячеек. Логика PLD универсальна и предназначена для осуществления функций типа выбора чипа для внешних устройств, конечных автоматов, счетчиков, вспомогательной клавиатуры и интерфейсов — пульта управления, делителей, линий задержки и мультиплексоров, устраняя при этом потребность во внешних PLD и логических устройствах.
Рис. 3. Пример схемного решения подключения DSM2180F3 к ADSP-218x
16 выходных макроячеек могут использоваться индивидуально или комбинированно с образованием гибкой логики. 16 входных макроячеек могут
использоваться, например, для создания условия согласования сигналов, поскольку они стоят на входе микросхемы. Более важно, что PLD, размещенная на кристалле DSM-устройства, устраняет потребность в дополнительных внешних логических устройствах типа PLDS (22V10), PAL (20L8) или логики 74xxx (74HC374 и т. д.). Логический вход довольно просто обеспечивается при конфигурировании системы с использованием программного обеспечения PSDsoft Express.
16 дополнительных контактов ввода-вывода общего назначения, имеющихся на DSM-устройствах, больше чем вдвое увеличивают возможности ADSP-218X. Теперь большее количество периферии может управляться без увеличения количества микросхем. Cостояние каждого контакта ввода-вывода может управляться программным обеспечением DSP или логикой PLD DSM, а конфигурация контактов ввода-вывода программируется JTAG ISP точно так же, как и Flash-память.
Flash-память, PLD и конфигурация системы ввода-вывода программируются через внутрисистемный программирующий (ISP) интерфейс JTAG, который обеспечивает быстрый прямой доступ к Flash-памяти программы на сборочной линии, что уменьшает время разработки, упрощает производственный процесс и уменьшает стоимость обновления приложений. Поскольку JTAG ISP осуществляется без привлечения DSP, схема сетевой платы может быть собрана с пустыми устройствами и запрограммирована в конце сборочной линии. При этом устраняется потребность в дорогостоящих гнездах, в предварительном программировании, предварительной разметке и трассировке памяти, в логических устройствах, обеспечивая своевременное производство по заказам пользователей. Интерфейс JTAG устройства DSM2190F4 совместим с портом отладки JTAG ADSP-2191 DSP.
Рис. 4. Главное окно PSDSoft Express
JTAG ISP уменьшает время разработки проекта, позволяя производить быстрые итерации кода DSP при разработке проекта с реконфигурацией элементов и модификаций кода программы готовых изделий. Все операции выполняются через недорогой программатор FlashLINK JTAG ISP, который подключается к любому PC через параллельный порт.
Наличие бита защиты обеспечивает блокировку доступа к Flash-памяти DSM устройств программирования и считывания, позволяя доступ только для DSP. Это уменьшает возможность неправомочного копирования. Единственный способ взлома системы защиты — это стирание всего чипа и перепрограммирование устройства. Кроме того, каждый отдельный сектор Flash может быть защищен индивидуально, что и делается для дополнительной защиты кодов начальной загрузки.
DSM2180F3 является удачным решением для изделий, которые имеют ограничения по размеру, потреблению энергии и уровню электромагнитных излучений. Flash-память и логика устройства DSM имеют «спящий режим» потребления энергии. Они автоматически переходят к резервированию питания в промежутках между доступом памяти или логическими входными изменениями. Дополнительно, с целью уменьшения потребления энергии, программируемый модуль управления питанием обеспечивает управление скоростью PLD. Потребление тока 25 мкA в резервном режиме при напряжении питания 3,3 В делает их идеальными устройствами для изделий с батарейным источником.
Рис. 5. Определение DSM и MCU/DSP в PSDsoft Express
Программное обеспечение для DSM2180F3 является бесплатным и свободно загружаемым с сайта по адресу
http://www.psdst.com/ html/softcenter2.html. Недавно корпорация представила и инструментальное средство разработки — «Систему развития под ключ», называемого DK2180 для ADSP-218X и DSM2180F3. Это законченное решение с программными и инструментальными средствами развития проекта для Analog Devices.
Рис. 6. Определение функций контактов DSM2180F3
Особенности подключения DSM2180F3 к ADSP-2185
Рассмотрим общие рекомендации по соединению DSM2180F3 и ADSP-218X DSP. На более детальные вопросы применения ответ можно получить, используя комплект развития DK-2180, который высвечивает многие из особенностей DSM и ADSP.
PSDsoft Express — программный инструмент развития, который разработан под Windows специально для развития семейства DSM. Этот инструмент позволяет конфигурировать DSM с использованием простого интерфейса «выбор пункта — клик». Среда разработки интегрирована с программой загрузки DSP и позволяет создавать программный файл данных (.obj) к программе DSM. Следует отметить, что программное обеспечение постоянно совершенствуется, и это находит отражение на сайте компании. В настоящее время свободно доступна версия программного обеспечения PSDSoft Express 7.03, дистрибутив которой имеет объем в 15 Мбайт, что надо учитывать при перекачке.
Рис. 7. Карта памяти ADSP-2185/DSM2180F3
Созданный файл программных данных преобразуется в программу DSM с использованием одного из программаторов фирмы STMicroelectronics (PSDpro или FlashLINK) или программаторов других фирм, список которых можно найти по адресу
http://www.psdst.com/html/psdprog.html.
Блок-диаграмма внутренней архитектуры микросхемы DSM2180F3 изображена на рис. 1.
Данная микросхема включает в себя ключевые элементы, позволяющие разработать проект с DSP на основе системы из двух чипов. Основными особенностями DSM можно считать:
- непосредственное подключение к DSP, что обеспечивает легкость добавления к DSP памяти, логики, и контактов ввода-вывода;
- 128 Кбит главной Flash-памяти, разделенной на восемь равных, индивидуально защищаемых секторов;
- программируемое логическое устройство (PLD) с 16 макроячейками вывода и
16 входными макроячейками;
- устройство PLD общего назначения, которое является конфигурируемым под выбираемый внешний чип или под комбинаторную логику;
- 19 индивидуально конфигурируемых контактов порта ввода-вывода. Каждый может быть определен как вводы-выводы DSP, вводы-выводы PLD, закрытые выводы адреса DSP или специальные функциональные вводы-выводы;
- 8-разрядный регистр страниц для расширения внешнего адресного пространства и обеспечения подкачки памяти;
- удобный последовательный порт JTAG для внутрисхемного программирования (ISP) чистых микросхем и их перепрограммирования в готовых изделиях.
Процессор ADSP-2185 имеет следующее особенности:
- встроенный 8-разрядный автоматический загрузчик начальной загрузки через интер-фейс DMA или порт памяти;
- 80 Кбит оперативной памяти конфигурируемой как:
— 16 Кслов (24-разрядная) оперативная память (RAM) для хранения программы;
— 16 Кслов (16-разрядная) оперативная память (RAM) для хранения данных;
— программная память двойного назначения: для команд и данных.
Для использования выбрана дешевая микросхема DSM2180F3. Flash-память DSM применяется при этом для хранения разгружаемого кода программы ADSP-2185.
На рис. 2 изображена упрощенная схема проекта использования основной системы DSM2180F3/ADSP-2185 в виде комбинации их двух чипов. Вся встроенная логика, Flash-память, логика интерфейса шины, порты ввода-вывода, выбор памяти и программируемые логические устройства входят в состав микросхемы DSM.
Рис. 8. Установка регистра страниц DSM2180F3
Так как процессор ADSP218X выбирается при использовании специализированного программного обеспечения в PSDSoft Express, то интерфейс шины предварительно сконфигурирован так, чтобы не было даже возможности сделать ошибку в процессе конфигурации.
В табл. 1 представлены стыковочные сигналы шины от процессора ADSP-2185, использующего обращение к Flash памяти, PLD логику и порты ввода-вывода DSM2180F3. Они автоматически конфигурируются при выборе в PSDSoft Express процессора ADSP-218X.
На рис. 3 показана диаграмма примера схемного решения подключения DSM2180 к ADSP-218X.
Табл. 1 показывает основные требуемые подключения для любого проекта, схема на рис. 3 показывает дополнительные сигналы и функции, которые могут быть типичными для разнообразных проектов. А именно здесь были добавлены следующие сигналы:
Примечание: схемное решение демонстрирует не только основные подключения для ADSP-218X (типа системного ввода сброса процессора и DSM2180F3), но и дополнительные необязательные подключения типа ввода-вывода и JTAG.
Рис. 9. Окно «Chip Select Equations»
Особенности использования
программного обеспечения
Рассмотрим последовательность проектирования с использованием программного обеспечения PSDSoft Express, которое предлагает совершить несколько довольно простых шагов для конфигурирования системы. Данные шаги отображаются в главном окне рассматриваемого приложения, представленном на рис. 4.
Запустим PSDSoft Express и откроем новый проект.
Выберем свою проектную папку, и дадим название проекту (в данном примере проект в папке «PSDsoft\my_project» называется «DSM2180»).
Выбор MCU и PSD
В окне «Новый Проект» щелкнем «OK»
в пункте меню «Выбор MCU и PSD». В результате появляется соответствующий экран (рис. 5). Увидев этот экран, сделаем следующие шаги:
Шаг 1. Выбор процессора или микроконтроллера
- Выберем в качестве изготовителя «Analog Devices», а для типа процессора «ADSP 218x».
- Сигналы управления выбираем по своему усмотрению.
Шаг 2. Выбор микросхемы DSM
- В соответствующих окошках выбираем «DSM2180, DSM2180F3» для номера партии, а корпус, например, типа K.
Шаг 3. Выбор параметров процессора (или микроконтроллера)
- Для установки выбранных параметров MCU/DSP достаточно щелкнуть «OK».
Мы получили проект, предусматривающий совместное использование DSM2180F3 и ADSP-2185.
Если в основном меню выбрать пункт «Параметры Проекта», в открывшемся окне выбрать «Выбор шаблона примера использования» и щелкнуть «OK», то разрабатываемый проект в дальнейшем можно будет использовать в качестве готового шаблона или выбрать имеющийся шаблон в окне «Выбор шаблона MCU».
В данном случае выберем «Применение 076, DSP загрузчик» и щелкнем «Generate».
В результате получаем автоматическую установку дополнительных контактов, описанных в табл. 2 и соответствующих карте памяти, описанной далее.
Выбор и определение функций
контактов ввода-вывода
Функции контактов ввода-вывода должны соответствовать рис. 6 и быть определены согласно схемному решению, показанному на рис. 3. На данном экране мы можем добавлять или обновлять (модифицировать) функциональные возможности контакта по желанию. После завершения описания функций контактов ввода-вывода щелкнем «Next >>» — появится новое окно «Помощник проектировщика», которое будет рассмотрено в следующем разделе.
Примечание: в «Руководстве пользователя PSDSoft Express» имеются подробные указания, как использовать этот и другие функции программы.
Известно, что ADSP-2185 имеет два механизма автоматической загрузки внутренней программной памяти после сброса: BDMA-загрузка или IDMA-загрузка. Любой режим может использоваться совместно с DSM2180F3, однако в данном случае используется BDMA-загрузка. Способ загрузки определяется битами конфигурации (Режим A, B и C). Подробнее методы загрузки и трассировки изложены в техническом описании ADSP-2185.
Рис. 10. Слияние программного обеспечения DSP с картой памяти DSM
ADSP-2185 имеет модифицированную гарвардскую архитектуру с четырьмя независимыми пространствами памяти (ввода-вывода, данных, программы и комбинированное). Всего имеется 16 Кслов (x16) памяти внутрикристального ОЗУ данных и
16 Кслов (x24) памяти внутрикристального ОЗУ программы.
На рис. 7 показана одна из возможных карт памяти. Спецификация fs0.fs7 — это индивидуальные указатели 16-килобитных сегментов памяти внутри DSM и CSiop определяются блоком регистра управления DSM. Для этой карты памяти DSP должен быть установлен так, чтобы полностью работать в режиме внешней памяти. Содержание памяти устройства DSM может лежать в любом количестве адресных пространств DSP (из трех): порт ввода-вывода (с ограниченной адресной строкой), байтовое адресное пространство DMA, или пространство памяти внешних оверлейных данных (DMS). Начиная с DSM-устройства такие понятия, как байт-широкая память, понимание естественного x16 и x24 характера памяти данных и памяти программы становятся очень важными. Проектировщик может легко определить отображение памяти в программной среде типа «выбор и щелчок» при использовании PSDsoft Express. Так как отображение памяти осуществляется с применением DPLD и регистра страниц, то существует много возможностей для выбора.
Карта памяти организована так, чтобы работать в пределах ограничений загрузчика начальной загрузки ADSP-2185 (см. предыдущий раздел) и использовать полную память с учетом особенностей листания страниц DSM2180F3.
Изображенная на рис. 7 типовая карта памяти имеет следующие параметры:
- Адресное пространство ввода-вывода. Местоположение 256 байтов для сигналов управления DSM (csiop) находятся в адресном пространстве ввода-вывода DSP и выбираются IOMS-сигналом DSP. Так как DSP имеет 16-разрядный ввод-вывод, а не восьмиразрядный, то верхний байт 16-разрядного доступа ввода-вывода DSP должен быть проигнорирован.
- Байтовое адресное пространство DMA. DSP может осуществлять начальную загрузку или выбирать оверлейные байты в
128 Кбайт памяти, используя канал BDMA DSP. DSP может также производить запись во Flash-память, используя канал байтов DMA. Flash-память DSM адресуется в 128-килобайтном непрерывном адресном пространстве через канал BDMA и выбирается всякий раз, когда сигнал BMS DSP активен. Flash-память в устройстве DSM нужно отпереть и записать от DSP по одному байту за один раз, проверяя состояние после каждой записи (типичный алгоритм программирования Flash-памяти).
- Адресное пространство памяти оверлейных данных. Все 128 Кбайт памяти также находятся во внешнем пространстве памяти оверлейных данных DSP, выбираемом DMS, обеспечивая более эффективную байтовую запись во Flash-память. DSP использует внешнее окно оверлея данных размером в 8 Кбайт для обращения к внешней памяти как к данным. DSP удваивает размер этого окна до 16 Кбайт, управляя его адресной строкой A13 и используя регистр DMOVLAY (подробности см. в описании ADSP-2185). Так как ко всей памяти Flash нужно обратиться через окно размером
16 Кбайт, то DSP используют регистр страниц внутри DSM-устройства, имеющего
8 страниц по 16 Кбайт каждый, как показано на рис. 7.
Определение карты памяти
в PSDSoft Express
Шаблоны карты памяти должны быть установлены в соответствии с рис. 7, но сначала обратим внимание на установку регистра страниц, показанную на рис. 8.
Три страничных бита обеспечивают от 23 = 8 страниц. Щелкнем «Next», и появится окно «Chip Select Equations», показанное на рис. 9.
Если мы будем щелкать по каждому из сигналов выбора чипа в списке, то увидим, что они все были определены согласно карте памяти на рис. 7. Уравнения логики ввода-вывода и вкладки «User-defined Equations» используются для внедрения комбинаторной и последовательной логики общего назначения. Эти разделы более подробно рассмотрены в руководстве пользователя PSDSoft Express. Для того чтобы увидеть, как программно-аппаратное обеспечение DSP может быть загружено в DSM через программный файл данных (.obj), щелкнем «Done».
Загрузка программного
обеспечения ADSP в DSM
Теперь, когда мы завершили определение внутренних и внешних сигналов DSM, пришло время загрузить программное обеспечение ADSP в DSM. Чтобы выполнить это, сделаем следующие шаги:
- Щелкнем по кнопке «Fit Design to Silicon» в главном окне сопровождения проекта PSDSoft Express. Так как это шаблон, то проект должен полностью соответствовать ему, если только мы не изменили шаблон. Если возникает ошибка, то надо ее устранить, прежде чем двигаться дальше.
- Обратим внимание на кнопку «Generate C Code». Она используется для создания подпрограмм Flash-памяти, которые могут быть преобразованы в код на языке C перед компилированием и линкованием. Это не требуется для рассматриваемого проекта.
- Щелкнем по кнопке «Merge MCU/DSP firmware with PSD». На этом шаге конфигурация DSM и карта памяти сливаются с цепочкой инструментальных средств компилятора и линкера. После вызова мы получим предупреждение о том, что в проекте было использовано разбиение на страницы и программное обеспечение не может заполнить адреса начала файла и останова, поэтому мы должны это сделать вручную. На рис. 10 показан пример того, как это можно сделать в предположении, что файл, называемый «Program.hex», был предварительно создан с использованием первых трех сегментов Flash-памяти DSM.
Обратим внимание на полосу прокрутки справа, которая предназначена для обращения к памяти вне fs3. Щелкнем «OK» для создания программного файла данных (.obj), который будет использоваться для конфигурирования устройства. Вот только теперь мы готовы к программированию устройства.
Для получения дополнительной информации о том, как программировать DSM через порт JTAG или обычный программатор, нужно обратиться к руководству пользователя PSDsoft Express.
Программирование DSM2180F3
с использованием интерфейса JTAG
Возможность первоначального программирования новой системной платы с пустой памятью Flash, установленной непосредственно на плате, решает много проблем производственного характера и материально-технического обеспечения:
- не требуются никаких гнезд или индивидуальных меток;
- размеры чипов энергонезависимой памяти программы существенно уменьшены;
- PLD программируется одновременно с памятью — можно делать только саму системную плату, а опции могут быть запрограммированы в память Flash в дальнейшем по потребностям.
Порт C линейного ввода-вывода используется для связи с помощью интерфейса со стандартными сигналами JTAG — TMS, TCK, TDI и TDO. TSTAT и TERR — оптимальные JTAG-ISP расширения, которые могут быть использованы для уменьшения времени программирования DSM2180F3. Конфигурация DSM, логика PLD и память Flash — все это может быть запрограммировано через порт JTAG.
JTAG-контакты порта C могут быть мультиплексированы с другими сигналами так, чтобы они поддерживались программой DSM. В этом случае DSP может находиться в состоянии сброса, или будут использоваться общие сигналы ввода-вывода в течение нормальной операции DSP. При мультиплексировании дополнительно задействуется только один JTAG-контакт DSM для управления мультиплексором. Эта позволяет освобождать контакты JTAG для функций I/O после того, как JTAG-программирование закончено. Необходимо отметить, что сетевая плата развития DK-2180 мультиплексирует сигналы JTAG и имеет слегка отличную конфигурацию контактов.
Заключение
В настоящее время разработка и развитие систем на одном кристалле являются стратегическим направлением развития элементной базы. Фирма STMicroelectronics успешно развивает это направление. Кроме рассмотренного устройства, сейчас доступны программируемые системы памяти на одном чипе практически для любых микроконтроллеров различных производителей. Имеются как восьмиразрядные, так и шестнадцатиразрядные семейства устройств (PSD8xxx, PSD9xxx, PSD4000 и др.). Рассмотренное программное обеспечение PSDsoft Express помимо DSP от Analog Devices поддерживает практически все используемые микроконтроллеры, что делает его универсальным программным средством для конфигурируемых систем памяти на одном чипе. Так как DSP и микроконтроллеры продолжают широко внедряться в аппаратуру связи, индустриальную, автомобильную, медицинскую, бытовую и др. технику, то программируемые системы памяти предлагают идеальное решение на двух микросхемах со встроенными PLD и портами ввода-вывода, которые индивидуально конфигурируются для исполнения любых функций в соответствии с системным проектом.
Анатолий Юдин,
к. т. н.
info@stmicro.ru
|