реклама на сайте
подробности

 
 
> AXI или TCM
quandr
сообщение Apr 11 2016, 09:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Добрый день!
Объясните, по возможности, какой вариант интерфейса AXI или TCM в STM32F7 дает большую предсказуемость по времени выполнения кода?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Apr 11 2016, 09:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



А почему вы интересуетесь? Просто праздный интерес или какую-то задачу надо решить?
Пардон, что отвечаю вопросом на вопрос.
Go to the top of the page
 
+Quote Post
quandr
сообщение Apr 11 2016, 09:32
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(scifi @ Apr 11 2016, 13:24) *
А почему вы интересуетесь? Просто праздный интерес или какую-то задачу надо решить?
Пардон, что отвечаю вопросом на вопрос.

В коде есть циклы, которые должны выполняться за определенное кол-во тактов, как в STM32F4. Просто у F4 силенок не хватает на пару фильтров. Пришлось на переходить на F7, но там хитрые конвейеры команд и т. д.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 11 2016, 09:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(quandr @ Apr 11 2016, 12:32) *
В коде есть циклы, которые должны выполняться за определенное кол-во тактов, как в STM32F4. Просто у F4 силенок не хватает на пару фильтров. Пришлось на переходить на F7, но там хитрые конвейеры команд и т. д.

Вот именно. Хитрые конвейеры и т.д. Весьма вероятно, что там просто невозможно гарантировать повторяемость числа тактов. Но если очень надо, попробуйте, конечно. Я бы начал с TCM и исполнял бы код из ITCM RAM.
А что, к таймерам привязаться не получается?
Go to the top of the page
 
+Quote Post
quandr
сообщение Apr 11 2016, 10:09
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(scifi @ Apr 11 2016, 13:50) *
Вот именно. Хитрые конвейеры и т.д. Весьма вероятно, что там просто невозможно гарантировать повторяемость числа тактов. Но если очень надо, попробуйте, конечно. Я бы начал с TCM и исполнял бы код из ITCM RAM.
А что, к таймерам привязаться не получается?

Есть один цикл, который должен выполняться за только за 35 тактов, так что с таймером не успеет. Как это гарантировать, вот это вопрос. А можно ли в ходе исполнения программы переключаться с ITCM RAM на что-то другое?
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 11 2016, 10:31
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(quandr @ Apr 11 2016, 13:09) *
Есть один цикл, который должен выполняться за только за 35 тактов, так что с таймером не успеет.

А что произойдёт, если будет выполняться быстрее, чем за 35 тактов?
У меня подозрение, что вы не с того конца к задаче подходите.

Цитата(quandr @ Apr 11 2016, 13:09) *
А можно ли в ходе исполнения программы переключаться с ITCM RAM на что-то другое?

Нужная шина выбирается автоматически в зависимости от адреса, по которому идёт доступ к памяти. Делаете переход на адрес в флеш, к примеру, и программа будет выполняться оттуда.
Go to the top of the page
 
+Quote Post
quandr
сообщение Apr 11 2016, 10:51
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(scifi @ Apr 11 2016, 14:31) *
А что произойдёт, если будет выполняться быстрее, чем за 35 тактов?
У меня подозрение, что вы не с того конца к задаче подходите.


Нужная шина выбирается автоматически в зависимости от адреса, по которому идёт доступ к памяти. Делаете переход на адрес в флеш, к примеру, и программа будет выполняться оттуда.

На внешний ЦАП с параллельным интерфейсом передается массив за 500 мкс. В это же время выполняется оцифровка данных и их загрузка с АЦП в буферную память. ЦАП выполняет роль регулировки усиления. Потом данные из видеопамяти загружаются в RAM МК и обрабатываются. Длина массива данных из АЦП 20000 х 16 бит. F4 справляется с этой задачей и успевает обработать одним фильтром, на остальное не вполне хватает времени. Вообщем желательно именно фрагмент с ЦАПом выполнить четко.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 11 2016, 11:01
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(quandr @ Apr 11 2016, 13:51) *
На внешний ЦАП с параллельным интерфейсом передается массив за 500 мкс. В это же время выполняется оцифровка данных и их загрузка с АЦП в буферную память. ЦАП выполняет роль регулировки усиления. Потом данные из видеопамяти загружаются в RAM МК и обрабатываются. Длина массива данных из АЦП 20000 х 16 бит. F4 справляется с этой задачей и успевает обработать одним фильтром, на остальное не вполне хватает времени. Вообщем желательно именно фрагмент с ЦАПом выполнить четко.

Скажем так, не все детали ясны из этого объяснения. Но я почти уверен, что есть возможность сделать так, что никакие "циклы за 35 тактов ровно" не понадобятся.
Go to the top of the page
 
+Quote Post
quandr
сообщение Apr 11 2016, 11:13
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(scifi @ Apr 11 2016, 15:01) *
Скажем так, не все детали ясны из этого объяснения. Но я почти уверен, что есть возможность сделать так, что никакие "циклы за 35 тактов ровно" не понадобятся.

35 циклов подразумевает 175 нс при частоте 200 МГц. Т.е. каждые 175 нс необходимо выдавать на цап новые данные.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 11 2016, 11:26
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(quandr @ Apr 11 2016, 14:13) *
35 циклов подразумевает 175 нс при частоте 200 МГц. Т.е. каждые 175 нс необходимо выдавать на цап новые данные.

Я, может быть, чего-то не понимаю. Но обычно это делается так: цифровой фильтр молотит числа и складывает в буфер на опережение, а из буфера это выдаётся на ЦАП при помощи, скажем, EMC (external memory interface).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01503 секунд с 7
ELECTRONIX ©2004-2016