dxp 58 13 августа, 2018 Опубликовано 13 августа, 2018 · Жалоба У TMS320F28xx два канала АЦП нужны для оцифровки квадратурного сигнала от синус-косинусных датчиков. АЦП один, но схем УВХ две и срабатывают они одновременно, делая выборку двух сигналов синхронно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 13 августа, 2018 Опубликовано 13 августа, 2018 · Жалоба Спасибо за ответ. Да, я где то видел у них схему оцифровки сельсинов. Забыл). Скоро микросхемы с программатором должны подойти, попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 5 октября, 2019 Опубликовано 5 октября, 2019 · Жалоба Почему в младших Piccolo (например TMS320F28035) нет DMA? Казалось бы чипы заточены для работы с АЦП и ШИМ. Например массив для АЦП заполнять, или массив синуса на ШИМ. Или как то там по другому все красиво делается?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба А чем Вас прерывания не устраивают? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 1 час назад, my504 сказал: А чем Вас прерывания не устраивают? Может тем, что прерывания на DSP - это жёсткая жесть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба Это с какого перепуга? Вы считали затраты времени на обработчик? ДСП или не ДСП - это ничего не меняет. На каком основании Вы отнесите МК к классу ДСП? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 2 часа назад, my504 сказал: ДСП или не ДСП - это ничего не меняет. На каком основании Вы отнесите МК к классу ДСП? Посчитайте как-нить на досуге количество регистров в типичном DSP и подумайте - сколько времени нужно на их сохранение в стек и восстановление при прерывании. А также почитайте про конвееры в DSP и сколько времени нужно на прерывание выполнения кода в таком конвеере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба Вы пишите отчаянные глупости. РОНы сохраняют лишь те, которые используются в обработчике. Остальной контекст сохраняется и восстанавливается автоматически в интервале латентности. В задачах типичных для самых простых Пикколо нет никакой необходимости в ДМА. Скажем, для КИХ на каждый новый отсчет ДМА так вообще бессмысленен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 5 минут назад, my504 сказал: Вы пишите отчаянные глупости. РОНы сохраняют лишь те, которые используются в обработчике. Остальной контекст сохраняется и восстанавливается автоматически в интервале латентности. Я не знаю Piccolo, но работал с другими DSP. И там требовалось большое количество регистров сохранять. Раз знаете: сколько требуется сохранять регистров в Piccolo? Какова длительность входа/выхода в ISR? Какова стоимость прерывания/возобновления выполнения конвеера в фоновой задаче? Сколько это всё займёт тактов в сумме? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 7 часов назад, my504 сказал: А чем Вас прерывания не устраивают? Устраивает. Но лучше же с DMA например заполнить массив данными от АЦП в каком то количестве для фильтрации, а программа проверяет выставлен флаг или нет, если да то данные на обработку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба В МК не делают длинных конвейеров, иначе любое условное ветвление становится позорно длинным. Типичная латентность входа у таких МК - 4...8 циклов. Выход примерно такой же. РОНов обычно 16, но сохраняют не более 4. С Пикколой имел дело очень давно и подробностей не помню, но никаких проблем отсутствие ДМА не создавало. У младших чипов памяти кот наплакал... 6 К, по моему... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба Да я не говорю, что какие то проблемы. Немного пощупал f28069, очень шустрый камень. В нем к стати DMA есть. Я хотел для проекта f28035 прикупить, в нем нет. А 69 очень много будет). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
my504 2 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 9 minutes ago, khlenar said: Устраивает. Но лучше же с DMA например заполнить массив данными от АЦП в каком то количестве для фильтрации, а программа проверяет выставлен флаг или нет, если да то данные на обработку. Еще раз, потери на загрузку в прерывании ничтожны по сравнении с фильтрацией. И фильтрация может продолжаться все время накопления данных, если данные после загрузки буферизовать. Обработчик АЦП предельно короткий. Пересылка по указателю и инкремент указателя с проверкой окончания массива. Ясен пень, что с ДМА удобнее, но и цена другая. А можно и не Техас взять. Будет еще дешевле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба Сейчас с CLA разбираюсь. У меня вопрос. Для работы из под флешь, там командный файл для линковщика надо переписать?. Из под ОЗУ файл с CLA есть в примерах. Подскажите пожалуйста) 2 минуты назад, my504 сказал: Еще раз, потери на загрузку в прерывании ничтожны по сравнении с фильтрацией. И фильтрация может продолжаться все время накопления данных, если данные после загрузки буферизовать. Обработчик АЦП предельно короткий. Пересылка по указателю и инкремент указателя с проверкой окончания массива. ОК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 6 октября, 2019 Опубликовано 6 октября, 2019 · Жалоба 5 часов назад, my504 сказал: В МК не делают длинных конвейеров, иначе любое условное ветвление становится позорно длинным. МК тут при чём??? Поднимите глаза и посмотрите в каком разделе находитесь. Цитата Типичная латентность входа у таких МК - 4...8 циклов. Выход примерно такой же. РОНов обычно 16, но сохраняют не более 4. Вы точно понимаете о чём идёт речь? Речь идёт не об ARM и не о AVR. Про ARM я прекрасно знаю сколько там регистров. И даже на ARM-е не 4...8 тактов, а в разы больше. А в DSP (те с которыми я имел дело) затраты на прерывания - ещё в разы больше чем в ARM. Для некоторых производители даже рекомендуют вообще запрещать прерывания при сложных вычислениях чтобы не сбивать конвеер. Цитата С Пикколой имел дело очень давно и подробностей не помню, но никаких проблем отсутствие ДМА не создавало. У младших чипов памяти кот наплакал... 6 К, по моему... Ну да, если не считать того, что вместо пересылки одного слова по DMA, потребуется переслать туда/сюда десятки (а может и сотни) слов. 5 часов назад, my504 сказал: Еще раз, потери на загрузку в прерывании ничтожны по сравнении с фильтрацией. Вы же не знаете этого ядра! На каком основании тогда утверждаете? Или может расскажете как производится вход/выход в прерывание на этом ядре и какие именно выполняются операции и какие регистры сохраняются и куда? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться