Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

С чего начать работу с TMS320F28035 (DSP)

Вт авг 02, 2016 16:25:41

Всем привет. Задали задачу оживить регулятор для бесколлекторного мотора на базе TMS320F28035. :shock: Сам дела с такими зверями не имел. Как я понял это DSP.
С чего начать-то? :)) В какой среде такое программируется?
Находил пару видео про программировании в Simulink, но эта тема не прельщает, т.к. придётся реализовывать апноут под эту задачу.

Re: С чего начать работу с TMS320F28035 (DSP)

Вт авг 02, 2016 20:17:43

У нас используется TMS320F2810. Насколько отличается от TMS320F28035 не знаю, но ядро то же. Контроллер как контроллер, при программировании на Си никакой разницы с другими. Да даже если и на ассемблере, ну немного не такой как RISC, подумаешь, ничего сверхъестественного.

Мы работаем в Code Composer Studio 3.3 + отладчик Seed XDS510 Plus. Работает более-менее, отладчик частенько улетает куда-то, среда частенько виснет. Все-таки довольно старая версия, может из-за этого и проблемы. Code Composer разрабатывается самим Texas Instruments, так что на сайте можно скачать последнюю версию. Сейчас она на основе Eclipse вроде, так что будь готов выделить пару гигабайт места и терпеть тормоза.

Чтобы работать с периферией придется перелопатить несколько даташитов - у Texas на каждый периферийный модуль по отдельному документу, жутко бесит. Да и вообще, сложноватая у них периферия. В нашем TMS320F2810 чтобы включить прерывание нужно в трех или четырех местах биты править, а чтобы подтвердить прерывание в двух местах флаги сбрасывать. В общем тоже сильно бесит. Ну а так, как я уже сказал, контроллер как контролер, никаких уникальных отличий и преимуществ по сравнению с другими нету.

Re: С чего начать работу с TMS320F28035 (DSP)

Вт авг 16, 2016 17:12:53

По подобию работу с ST ищу на сайте ti.com Reference Manual для tms320f28035, но акромя даташита и аппнотов нету(
Как на техасском будет называться этот документ, где описание всей переферии?

Re: С чего начать работу с TMS320F28035 (DSP)

Вт авг 16, 2016 18:05:44

Как я уже сказал у них нету такого документа, по крайней мере для нашего процессора. На каждую периферию у них по отдельному документу. Они называются ADC Reference Guide, Event Manager Reference Guide, System Control and GPIO Reference Guide и так далее.

Re: С чего начать работу с TMS320F28035 (DSP)

Вт авг 16, 2016 19:40:02

Тогда более конкретный вопрос.
Вот, например. есть проект. Код грузится в RAM и выполняется. Теперь вопрос: как записать и выполнять программу в FLASH?
Вообще-то всегда думал, что код должен грузиться только во Flash,т.к. в RAM он бесполезен после первого же выключения питания.
P.S. такое еще видел на ADuC812

Возник еще один. Более важный вопрос.
Вот есть примеры из ControlSUITE. Например ePWM. В коде видно как настраивается периферия, но ни строчки про конфигурацию портов IO. Это надо делать вручную, или при включении периферии само всё настраивается (в чём сомневаюсь).

Re: С чего начать работу с TMS320F28035 (DSP)

Вт авг 16, 2016 21:24:31

FireProoF писал(а):Теперь вопрос: как записать и выполнять программу в FLASH?

Если "на столе", то с помощью отладчика. Отладчик подключается через JTAG (в основном) и имеет доступ в том числе к внутренней SRAM. В нее он загружает маленький загрузчик, запускает его, а уже загрузчик получает от отладчика прошивку и записывает ее во внутреннюю FLASH.

Если в промышленных масштабах, то используется встроенный загрузчик, который есть у многих микроконтроллеров. Он находится в отдельной области памяти ROM (зашит на заводе изготовителя чипа). Обычно, с помощью специальной ножки контроллера можно выбрать будет ли контроллер загружаться из FLASH или из ROM (то есть запустит загрузчик). После запуска, с загрузчиком можно связаться по UART или другим интерфейсам (которые он поддерживает) и с помощью ПО, предоставленного изготовителем чипа, залить прошивку во внутреннюю FLASH.

Есть и контроллеры без внутренней FLASH, при этом придется использовать внешнюю FLASH. Чтобы отлаживаться обычно заливают ПО во внутреннюю (если есть) или во внешнюю SRAM. А вот чтобы загрузить прошивку во внешнюю FLASH может понадобиться попотеть. Мы вот, например, загружаем через отладчик во внутреннюю SRAM свой самопальный загрузчик, запускаем его, и он уже прошивает внешнюю FLASH. Чтобы заливать прошивку в промышленных масштабах у нас используется отдельная платка с FLASH, в которую записан этот же загрузчик. Когда платка вставляется в основное устройство, она перемыкает пару ножек контроллера и заставляет его грузиться с неё. Он запускает наш загрузчик, и мы программируем внешнюю FLASH.

FireProoF писал(а):в RAM он бесполезен после первого же выключения питания.

Некоторые программы, после запуска, грузят сами себя из FLASH в SRAM. Это делается в целях увеличения производительности. Так же в SRAM можно грузить при отладке, когда питание выключать не нужно.

FireProoF писал(а):Возник еще один. Более важный вопрос. Вот есть примеры из ControlSUITE. Например ePWM. В коде видно как настраивается периферия, но ни строчки про конфигурацию портов IO. Это надо делать вручную, или при включении периферии само всё настраивается (в чём сомневаюсь).

Я тоже сомневаюсь. Чтобы сказать точно нужно читать даташиты и на ePWM и на GPIO. Можно зайти в раздел Technical Documents на страничке данного контроллера. Там внизу есть раздел User Guides, вот это оно самое. Boot ROM Reference Guide - это как раз про внутренний загрузчик, Optimizing C/C++ Compiler - про компилятор; DSP CPU and Instruction Set - про ядро микроконтроллера; System Control and Interrupts Reference Guide - про настройку PLL, прерываний и GPIO; Enhanced Pulse Width Modulator (ePWM) Module - про тот самый ePWM; ну и так далее.

Re: С чего начать работу с TMS320F28035 (DSP)

Ср авг 24, 2016 13:23:05

Копаю в сторону ШИМа. Взял пример с ePWM+Dead Band. Убрал DB и всякие прерывания. Выставил свой период и скважность. Получил ШИМ сигнал нужного периода, но неправильной скважности. Во время отладки выяснилось, что, например, если выставить период 5000 тиков, то пока скважность не выставишь 2000, ШИМ не работает. Причем даже при установленной 2500 скважности, заполняемость менее 50% (по факту около 25%). При скважности 4999 - заполняемость около 80%.
С чем это связано и как это исправить.
Код представить не могу, но в вкратце опишу что настраивал: период; обнулил счётчик; считаю вверх; CMPA; при CMPA делаю AQ_SET, а при периоде AQ_CLEAR; фазы и загрузка фаз 0; DB не использую.

Re: С чего начать работу с TMS320F28035 (DSP)

Ср авг 24, 2016 13:57:36

Так ничего не могу сказать. Такой проблемы не встречал. У них сложная периферия, таймер может считать вверх, вниз, вверх-вниз, может тут где-то что-то не то настроено. Нужно отлаживаться. Убедись, что таймер считает вверх до нужного значения, что скважность правильно записывается в регистр сравнения. Посмотри, что происходит когда счетчик таймер доходит до значения в регистре сравнения. Ну и так далее.

Re: С чего начать работу с TMS320F28035 (DSP)

Ср авг 24, 2016 14:20:14

Я написал, что установил счёт только вверх. Отлаживал, все настроечные регистры записываются верно.
Попробую завтра еще попробовать пару примеров из апнотов.

Re: С чего начать работу с TMS320F28035 (DSP)

Вт сен 20, 2016 06:37:40

Новая проблема. Разгоняют bldc. Подключил датчики Холла к МК. Один из датчиков сидит на gpio34. В итоге процессор стартует только, если на этой ноге 0.
Как побороть это?

Re: С чего начать работу с TMS320F28035 (DSP)

Вт сен 20, 2016 08:10:34

А что-за функции у этой ноги? Нет ли каких-нибудь специальных?

Re: С чего начать работу с TMS320F28035 (DSP)

Вт сен 20, 2016 10:00:51

Как мне объяснили, если на этой ноге не ноль, то старт не из флеш, а ожидание прошивки с spi/uart

Re: С чего начать работу с TMS320F28035 (DSP)

Вт сен 20, 2016 10:13:07

Ага, есть такой вывод. Используется при загрузке, чтобы определить что и откуда загружать. Потом то его можно использовать по своему усмотрению, но при сбросе он должен быть в определенном состоянии. Лучше всего повесить датчик на другой вывод. Еще можно придумать какую-нибудь аппаратную приблуду, которая бы при сбросе держала эту ногу в нужном состоянии в течении достаточного интервала времени. Еще можно поподробнее прочитать про процесс загрузки данного МК, он должен быть описан в отдельном даташите (какой-нибудь "Boot что-то там" или "Loader что-то там"), может удастся как-нибудь освободить ногу от этой функции.

Re: С чего начать работу с TMS320F28035 (DSP)

Вт янв 12, 2021 18:42:32

menzoda, каким образом можно считать данные с микроконтроллера ? В наличии XDS100

Re: С чего начать работу с TMS320F28035 (DSP)

Ср янв 13, 2021 14:30:41

menzoda, каким образом можно считать данные с микроконтроллера ? В наличии XDS100

Если МК залочен, то никаким. А по работе с XDS100 на сайте TI есть вся документация.

Re: С чего начать работу с TMS320F28035 (DSP)

Чт янв 28, 2021 09:14:48

parovoZZ, благодарю, считали с помощью uniflash
Ответить