|
|
 |
Ответов
|
Apr 11 2016, 09:32
|
Участник

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

|
Цитата(scifi @ Apr 11 2016, 13:24)  А почему вы интересуетесь? Просто праздный интерес или какую-то задачу надо решить? Пардон, что отвечаю вопросом на вопрос. В коде есть циклы, которые должны выполняться за определенное кол-во тактов, как в STM32F4. Просто у F4 силенок не хватает на пару фильтров. Пришлось на переходить на F7, но там хитрые конвейеры команд и т. д.
|
|
|
|
|
Apr 11 2016, 10:09
|
Участник

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

|
Цитата(scifi @ Apr 11 2016, 13:50)  Вот именно. Хитрые конвейеры и т.д. Весьма вероятно, что там просто невозможно гарантировать повторяемость числа тактов. Но если очень надо, попробуйте, конечно. Я бы начал с TCM и исполнял бы код из ITCM RAM. А что, к таймерам привязаться не получается? Есть один цикл, который должен выполняться за только за 35 тактов, так что с таймером не успеет. Как это гарантировать, вот это вопрос. А можно ли в ходе исполнения программы переключаться с ITCM RAM на что-то другое?
|
|
|
|
|
Apr 11 2016, 10:31
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(quandr @ Apr 11 2016, 13:09)  Есть один цикл, который должен выполняться за только за 35 тактов, так что с таймером не успеет. А что произойдёт, если будет выполняться быстрее, чем за 35 тактов? У меня подозрение, что вы не с того конца к задаче подходите. Цитата(quandr @ Apr 11 2016, 13:09)  А можно ли в ходе исполнения программы переключаться с ITCM RAM на что-то другое? Нужная шина выбирается автоматически в зависимости от адреса, по которому идёт доступ к памяти. Делаете переход на адрес в флеш, к примеру, и программа будет выполняться оттуда.
|
|
|
|
|
Apr 11 2016, 10:51
|
Участник

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

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

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

|
Цитата(scifi @ Apr 11 2016, 15:01)  Скажем так, не все детали ясны из этого объяснения. Но я почти уверен, что есть возможность сделать так, что никакие "циклы за 35 тактов ровно" не понадобятся. 35 циклов подразумевает 175 нс при частоте 200 МГц. Т.е. каждые 175 нс необходимо выдавать на цап новые данные.
|
|
|
|
Сообщений в этой теме
quandr AXI или TCM Apr 11 2016, 09:17         quandr Цитата(scifi @ Apr 11 2016, 15:26) Я, мож... Apr 11 2016, 11:36          scifi Цитата(quandr @ Apr 11 2016, 14:36) МК за... Apr 11 2016, 11:53           quandr Цитата(scifi @ Apr 11 2016, 15:53) Вариан... Apr 11 2016, 11:56            scifi Цитата(quandr @ Apr 11 2016, 14:56) Тайме... Apr 11 2016, 12:07             quandr Цитата(scifi @ Apr 11 2016, 16:07) Интере... Apr 11 2016, 12:14              scifi Цитата(quandr @ Apr 11 2016, 15:14) Насче... Apr 11 2016, 12:21               quandr Цитата(scifi @ Apr 11 2016, 15:21) Это уж... Apr 11 2016, 14:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|