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

 
 
> Возможность использования SPI, Возможно ли?..
Sergio66
сообщение Oct 19 2006, 06:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Есть некий контроллер (ПО недоступно), который управляет 4 семисегментными индикаторами при прмощи 4 регистров 74НС164 - последовательный вход, параллельный выход, соединенных последовательно. Т.е. есть стробирующая последовательность и есть последовательность данных. Работа ведется на частоте 100 кГц. Задача - подключиться к данному контроллеру ATMEGой 32 на частоое 16 МГц и перехватывать данные для индикации и выводить их на ЖКИ.
Вопрос: возможно ли для данной цели применить SPI модуль в SLAVE режиме. Понятно, что SS в данном случае придется принудительно занулить. Но возможна ли правильная работа модуля SPI без управляемого мастером SS. В доке сказано, что мастер высоким уровнем SS указывает на окончание посылки. В ланном случае SS будет постоянно в 0.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Oct 20 2006, 10:59
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Sergio66 Задача - подключиться к данному контроллеру ATMEGой 32 на частоое 16 МГц и перехватывать данные для индикации и выводить их на ЖКИ. Вопрос: возможно ли для данной цели применить SPI модуль в SLAVE режиме. Понятно, что SS в данном случае придется принудительно занулить. Но возможна ли правильная работа модуля SPI без управляемого мастером SS. В доке сказано, что мастер высоким уровнем SS указывает на окончание посылки. В данном случае SS будет постоянно в 0.

Ответ: возможно. После принятия восьми бит возникнет флаг приема SPIF, ну и соответствующее прерывание.

Если примените нижеприведенный код для обработки прерываний от ведомого SPI, то в буфере у вас все время будут последние 4 байта, принятые от вашего устройства, основной программе останется только читать их. Синхронизация будет автоматическая, если ваше устройство будет включаться позже, чем атмега16. Расходы по времени на прием одного байта ничтожные - порядка 16 тактов.

Код
           .dseg                ;
buffer:    .org   0x0100        ;
           .cseg                ;
spispy:    in     r10,SREG      ;
           in     r16,SPDR      ;
           st     x+,r16        ;
           andi   xl,0x03    ;
           out    SREG,r10      ;
           reti                 ;


Сообщение отредактировал =GM= - Oct 20 2006, 11:00


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sergio66   Возможность использования SPI   Oct 19 2006, 06:09
- - &-rey   Цитата(Sergio66 @ Oct 19 2006, 09:09) Ест...   Oct 19 2006, 06:15
|- - Sergio66   ЦитатаА может возможно зацепиться SS от паралельно...   Oct 19 2006, 06:27
|- - &-rey   Цитата(Sergio66 @ Oct 19 2006, 09:27) Цит...   Oct 19 2006, 06:49
|- - Sergio66   Цитата(&-rey @ Oct 19 2006, 10:4...   Oct 19 2006, 06:56
|- - &-rey   Цитата(Sergio66 @ Oct 19 2006, 09:56) Инт...   Oct 19 2006, 07:09
- - GinRider   Может проще UARTом в синхронном режиме?   Oct 19 2006, 06:31
- - SasaVitebsk   Цитата(Sergio66 @ Oct 19 2006, 09:09) Ест...   Oct 19 2006, 14:17
|- - Sergio66   Во-первых надо посмотреть откуда сигнал поступает....   Oct 19 2006, 15:22
|- - SasaVitebsk   Цитата(Sergio66 @ Oct 19 2006, 18:22) К с...   Oct 20 2006, 10:19
- - Gennadiy_   В tiny26 SS должна отслеживать программа пользоват...   Oct 19 2006, 16:03
|- - Sergio66   Цитата(Gennadiy_ @ Oct 19 2006, 20:03) В ...   Oct 20 2006, 06:05
- - SasaVitebsk   К GM. Это простая реализация очереди. Она может пр...   Oct 20 2006, 14:48
|- - =GM=   Цитата(SasaVitebsk @ Oct 20 2006, 13:48) ...   Oct 20 2006, 15:38
|- - SasaVitebsk   Цитата(=GM= @ Oct 20 2006, 18:38) Адрес с...   Oct 20 2006, 21:12
|- - prottoss   Цитата(SasaVitebsk @ Oct 21 2006, 05:12) ...   Oct 22 2006, 10:20
- - unichorn   Оно?   Oct 22 2006, 13:52
- - Sergio66   Цитата(unichorn @ Oct 22 2006, 17:52) Оно...   Oct 23 2006, 07:39


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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 17:03
Рейтинг@Mail.ru


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