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

 
 
> SPI SAM7X256 в режиме slave и при использовании PDC, поиск момента синхронизации
bookevg
сообщение Nov 10 2008, 06:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Ситуация:
Есть DSP-процессора и процессор SAM7X256. Общение между ними по SPI каналу в режиме DMA (PDC в случае с SAM7X256) большим потоком данных - 1кбайт, при этом SAM7X256 в режиме slave.
Проблематика:
Для того, чтобы SAM7X256 правильно начал принимать весь пакет - он должен запустить SPI-DMA перед тем, как DSP начнет передавать данные, иначе он все равно примет эти данные (если нет таймаута по приему), т.к. посылка закольцована, но структура принятых/переданных данных будет неправильной.
Задача:
Настроить алгоритм поиска момента активазиции режима slave SPI-DMA SAM7X256.
Решение.
1-ый способ.
Он основан на том, что существует какая-то временная пауза (пусть она составляет 5 мс) в общении двух процессоров
1) запускаем таймер на 2 мс;
2) разрешаем прерывание по поиску полож.фронта выбор slave SPI SAM7X256 (прерывание NSS Rising Interrupt);
3) в случае возникновения прерывания NSS Rising Interrupt перезапускаем таймер на 2 мс;
4) в случае срабатывания таймера разрешаем работу slave SPI-DMA;
5) после работы slave SPI-DMA возвращаемся в п.1 или просто разрешаем повторный slave SPI-DMA
2-ой способ.
Надо думать как еще сделать. Возможно использование допол.ножек.

Какие еще будут предложения?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:54
Рейтинг@Mail.ru


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