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

 
 
> SPI SLAVE в C8051F310
evg123
сообщение Jan 23 2007, 18:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Помогите плз.

Никак не могу настроить режим SLAVE в ентом контроллере.
Непонятен следующие моменты при работе с прерыванием:
- как определить первый байт в пакете
- или (вытекает из первог), как определить момент выбора ведомого (т.е. момент перепада с 1 в 0 входа SS) и его отключения (момент перепада с 0 в 1 входа SS).

Заранее благодарю help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
evg123
сообщение Jan 26 2007, 16:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



"ведь на самом деле мастеру необходимо выдать еще один запрос"

У меня так.

В принципе я добился работоспособности. Только перед передачей второго
байта (после GET_KEY) приходится выдерживать 24 такта. Только так и работает.
Такое ощущение что slave не успевает обработать запрос. Но с бругой стороны при
записи данных (например SET_HD) все работает без задердек. Глюки blink.gif

Сообщение отредактировал evg123 - Jan 26 2007, 16:50
Go to the top of the page
 
+Quote Post
mihask
сообщение Jan 29 2007, 07:30
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(evg123 @ Jan 26 2007, 19:49) *
"ведь на самом деле мастеру необходимо выдать еще один запрос"

У меня так.

В принципе я добился работоспособности. Только перед передачей второго
байта (после GET_KEY) приходится выдерживать 24 такта. Только так и работает.
Такое ощущение что slave не успевает обработать запрос. Но с бругой стороны при
записи данных (например SET_HD) все работает без задердек. Глюки blink.gif


Да у меня такое было когда я ADSP21992(master) скрещивал с Cygnal(slave), то же задержку
делал. Правда там у меня Cygnal как раз по записи (в него) и не успевал. smile.gif

Единственное что еще приходит на ум - я знаю что в Cygnal для того чтобы данные
записались необходимо, минимум на 4 такта помоему, убрать чип-селект микросхемы, с которой
общаешься по SPI, т.е если мастер записал в SPIDAT то в слэйве этот байт появится только
после того как мастер убрал чип-селект слэйва. Хотя конечно у тебя так и происходит иначе бы
запись не работала. smile.gif

А erratу на свой проц смотрел ?
Go to the top of the page
 
+Quote Post



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

 


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


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