Краткий курс для начинающих по DSP процессорам tms320f280x на русском языке
Память.

Встроенная память. Микроконтроллеры семейства tms320f28xx имеют гарвардскую архитектуру. Поэтому адресация пространства памяти - непрерывная.

Память f28xx

Она делится на несколько типов - ROM - память, которая записывается один раз, на заводе и может только считываться. Заслуживает отдельного упоминания Boot ROM, в которую записана программа начальной загрузки - каждый раз при подаче питания на микроконтроллер, а так же после сброса, эта микропрограмма выполняется ядром, результатом её выполнения является передача функций загрузки программы, которую микроконтроллер должен выполнить определённому периферийному устройству - это может быть внутренняя FLASH, внешняя микросхема FLASH памяти, с интерфейсом SPI, I2C, а так же загрузка по SCI (он же UART, RS232), eCAN, и, наконец, из внутренней оперативной памяти (памяти программ). Описание BootROM находится в документе под названием SPRU722.
Примечание. Этот, и практически все документы с подобными названиями от Texas Instruments можно найти в папке Code Composer Studio после его установки, отсутствующие там - на сайте ti.com.
Устройство, которму будет передано управление для загрузки микропрограммой Boot ROM зависит от логических уровней на соответствующих ножках микроконтроллера. Оно задаётся подключением этих ножек через сопротивление (в пределах 3,3-10 кОм) либо к шине питания 3,3 вольта (получится логическая единица) либо к минусу питания (0V, Vss). Таблица загрузки:

Загрузка f28xx

Так же, Boot ROM содержит таблицы нормализованных значений, таких как косинус, синус а так же таблицы векторов прерываний:

Таблицы ROM
Внутренняя FLASH память содержит от 16К по 16 бит, в зависимости от типа микроконтроллера, и входит в общее пространство памяти. работа с Flash tms320f280x имеет некоторые особенности, которые описаны в документе под названием SPRA958. Следует выделить некоторые из них.

  • FLASH медленнее, чем ядро и основная память процессора (память программ и память данных) поэтому при работе с ней применяются задержки, конфигурация которых производится через соответствующие регистры микроконтроллера.
  • Некоторые части кода не могут выполняться из FLASH, такие как функции прерываний, функции работы с самой FLASH, а так же критичные к скорости выполнения функции. Эти функции копируются в память программ (SARAM) с помощью специальной директивы копилятора, вызывающей подпрограмму копирования, и затем выполняются из последней.
  • FLASH tms320f280x имеет конечное число перезаписей - от 100 до 1000.

Память программ и память данных - это быстрая RAM память, соответствующая всем принципам построения процессоров цифровой обработки сигналов.

Самый интересный вопрос, который нас волнует (кроме того, хватит ли памяти микроконтроллера для нашей программы, который, в случае недостатка, решается простой заменой "камня" на старшую модель) - это как же записать нашу программу во флеш память.
Во-первых, как отмечалось ранее, программа, исполняемая из флеш памяти, имеет некоторые особенности. Для упрощения написания всех программ, фирма Texas Instruments предоставила примеры использования DSP, находятся они в архиве с названием sprc191, его придётся скачать с сайта производителя, распаковать и установить. Подробнее описать эти примеры постараюсь позже, сейчас только упомяну, что в них имеется пример программы, которая работает из FLASH, его можно взять за основу будущей программы.
Запись программы во FLASH.
Итак, в результате компиляции проекта получается файл с расширением *.out, его можно найти в папке программы. Этот файл используется для занесения программы во FLASH. Чтобы записать программу во FLASH существует утилита от Spectrum Digital под названием SDFlash. Её нужно скачать с сайта SpectrumDigital, но она предназначена для работы через JTAG эмулятор которого, скорее всего - у Вас нет. Поэтому, на том же сайте к этой утилите нужно найти, скачать и установить после установки самой утилиты Serial Patch к ней. После установки обязательно надо найти на компьютере файл SdOpts.cfg и добавить в него информацию из файла AddToSdOpts.cfg, естественно, сохранить изменения в первом. В WIN_XP этот файл лежит в C:\WINDOWS\SYSTEM32. После этого, можно прошить FLASH через SCI интерфейс (RS232). Для этого понадобится:

  • Простой адаптер линии на микросхеме MAX232. Особенность в том, что поскольку tms320f28xx имеют выходы с уровнями напряжений 3,3 вольт а MAX232 - исключительно 5-вольтовые микросхемы, то на вход микроконтроллера SCI_RXD нужно подавать сигнал через сопротивление 10 кОм. Выход контроллера SCI_TXD подключается ко входу формирователя линии MAX232 напрямую.
  • С помощью логических уровней на соответствующих выводах микроконтроллера устанавливается режим "SCI-A Boot" (см. табл 2.2 выше) и подключить питание микроконтроллера.
  • Запустить и сконфигурировать утилиту SDFlash, выбрать номер порта, к которому подключен микроконтроллер, алгоритмы программирования (зависят от типа применяемого микроконтроллера), файл прошивки. Для проверки в программе предусмотрены дополнительные опции:

Следует указать, что частоты ядра процессора при загрузке по SCI выбираются по умолчанию, и для того, чтобы микроконтроллер успешно соединился с компьютером необходимо, чтобы кварц, например для 60-мегагерцовых девайсов был не менее чем на 20 МГц. Если всё сделано правильно, то программа содеинится с микроконтроллером, сотрёт FLASH, запишет и верифицирует программу.

На главную