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

 
 
> cc2550 работает в соответствии с мануал, с точьностью до наоборот., cc2550 работает в соответствии с мануал, с точьностью до наоборот.
rapa
сообщение Dec 26 2009, 16:00
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 30-04-09
Пользователь №: 48 471



Доброго времени суток.
У меня тут появилась надобность соеденить MSP430f2111 с CC2550. Вроде бы никакой сложности не ожидалось,но не тут то было.
MSP430f2111 с CC2550 соединяются по SPI. В Datasheet черным по белому написано, что в момент инициализации(да и не только. Это так-же верно для передачи в любой момент,просто меня она не интересует), когда я перевожу ногу проца "CS(ChipSelect)" с 1 на 0(чтобы включить трансмиттер), то по ноге "SO(MISO--... Slave Out)" должно прийти подтверждение в виде перехода с 1 на 0. На самом деле всё происходит с точностью до наоборот.
Когда я перевожу ногу проца "CS(ChipSelect)" с 1 на 0(чтобы включить трансмиттер), то нога "SO(MISO--... Slave Out)" переходит с 0 на 1.
Когда же, я перевожу ногу проца "CS(ChipSelect)" с 0 на 1(чтобы выключить трансмиттер), то нога "SO(MISO--... Slave Out)" переходит с 1 на 0.

Кто-нить сталкивался с таким поведением? Если да, то подскажите в чем проблема и,если можно, как она решилась.
Может я чего-то, недоделываю правильно,недоинициализирую или ещё что-то?

Заранее спасибо.

P.S. Все ноги которые работают по интерфейсу SPI определены как GPIO
CS-output.
SO-input.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Dec 26 2009, 17:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Я лично мало что понял из комментариев. sad.gif Тем более, что вы не привели исходных кодов инициализации портов.
К тому же возник встречный вопрос: почему вы выбрали MSP430F2111, а не, например, MSP430F2012 с модулем USI, который аппаратно реализует функции интерфейса SPI?
Go to the top of the page
 
+Quote Post
rapa
сообщение Dec 26 2009, 17:26
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 30-04-09
Пользователь №: 48 471



Цитата(rezident @ Dec 26 2009, 21:03) *
Я лично мало что понял из комментариев. sad.gif Тем более, что вы не привели исходных кодов инициализации портов.
К тому же возник встречный вопрос: почему вы выбрали MSP430F2111, а не, например, MSP430F2012 с модулем USI, который аппаратно реализует функции интерфейса SPI?


Выбирал не я. Я работаю с тем,что уже выбранно и это изменению не подлежит, т.к. PCB уже готов.
Теперь объясню ещё раз.
MSP430F2111 соединён с CC250 по SPI. SPI-это 4 провода: CS,SI(MOSI),SO(MISO) и SCK(Clock).
А дальше всё как и раньше.В соответствии с Datasheets, чтобы трансмиттер начал работать, нужно его инициализировать и переслать туда пакет, который нужно передать по RF.
Для этого нужно,что бы SPI работал и трансмиттер был готов к к работе.
Это делается(соответствии с Datasheets) опусканием линии CS с 1 на 0 и,как положительный ответ что трансмиттер работает, линия SO(она в МСП430 определена как входная) опускается трансмиттером с 1 на 0.
А то,что у меня происходит,всё наоборот, как я описал выше.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 26 2009, 21:41
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(rapa @ Dec 26 2009, 20:26) *
Это делается(соответствии с Datasheets) опусканием линии CS с 1 на 0 и,как положительный ответ что трансмиттер работает, линия SO(она в МСП430 определена как входная) опускается трансмиттером с 1 на 0.
А то,что у меня происходит,всё наоборот, как я описал выше.

Вообще-то при дефолтных установках SO у CC2550 должна быть в высокоимпедансном состоянии, соответственно, микроконтроллер прочитает оттуда "0" или "1" при pull-down или pull-up соответсвенно. Или непредсказуемое состояние (если подтяжек нет). После активации выборки SO должен перейти в "1", а затем, после таймаута готовности (при дефолтных установках порядка 50 uS), в "0". Только после этого можно начинать передачу байтов управления или данных.
Go to the top of the page
 
+Quote Post
rapa
сообщение Dec 27 2009, 05:51
Сообщение #5





Группа: Участник
Сообщений: 5
Регистрация: 30-04-09
Пользователь №: 48 471



Цитата(rx3apf @ Dec 27 2009, 00:41) *
Вообще-то при дефолтных установках SO у CC2550 должна быть в высокоимпедансном состоянии, соответственно, микроконтроллер прочитает оттуда "0" или "1" при pull-down или pull-up соответсвенно. Или непредсказуемое состояние (если подтяжек нет). После активации выборки SO должен перейти в "1", а затем, после таймаута готовности (при дефолтных установках порядка 50 uS), в "0". Только после этого можно начинать передачу байтов управления или данных.


Так оно и происходит,кроме последнего перехода SO из "1" в "0".Переход SO из "1" в "0" происходит только когда я CS перевожу из "0" в "1",а нужно,что бы было наоборот.
Go to the top of the page
 
+Quote Post



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

 


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


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