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

 
 
 
Reply to this topicStart new topic
> 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
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
rezident
сообщение Dec 26 2009, 18:51
Сообщение #4


Гуру
******

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



Цитата(rapa @ Dec 26 2009, 22:26) *
А то,что у меня происходит,всё наоборот, как я описал выше.
Т.е. ваши проблемы связаны с трансивером? Зачем же вы тогда пишете в раздел Микроконтроллеры -> MSP430?

Модератор. Перенес тему в соответствующий раздел.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 26 2009, 21:41
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 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
Сообщение #6





Группа: Участник
Сообщений: 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
rx3apf
сообщение Dec 27 2009, 11:06
Сообщение #7


Гуру
******

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



Цитата(rapa @ Dec 27 2009, 08:51) *
Так оно и происходит,кроме последнего перехода SO из "1" в "0".Переход SO из "1" в "0" происходит только когда я CS перевожу из "0" в "1",а нужно,что бы было наоборот.

Для начала надо бы отделить мух от котлет, состояние "0" от high-Z. Потому как если SO и в самом деле уходит в "0" при CS=1, то это вообще ни в какие ворота. Рекомендую включить подтяжку. Если регистр, отвечающий за поведение GDO1 (SO) не модифицировался, то остается только предположить, что либо с опорным кварцем что-то не то, либо с фильтровым конденсатором на четвертой ноге. После активации -CS на GDO0 должен появляться меандр osc/192 - появляется ?
Go to the top of the page
 
+Quote Post
rapa
сообщение Dec 28 2009, 07:02
Сообщение #8





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



Цитата(rx3apf @ Dec 27 2009, 14:06) *
Для начала надо бы отделить мух от котлет, состояние "0" от high-Z. Потому как если SO и в самом деле уходит в "0" при CS=1, то это вообще ни в какие ворота. Рекомендую включить подтяжку. Если регистр, отвечающий за поведение GDO1 (SO) не модифицировался, то остается только предположить, что либо с опорным кварцем что-то не то, либо с фильтровым конденсатором на четвертой ноге. После активации -CS на GDO0 должен появляться меандр osc/192 - появляется ?


Нет не появляется.Выяснилось,что кварц не работает, хотя для этого нет ни единой предпосылки. Даже не представляю почему.В CC2500 работает
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 28 2009, 10:23
Сообщение #9


Гуру
******

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



Цитата(rapa @ Dec 28 2009, 10:02) *
Нет не появляется.Выяснилось,что кварц не работает, хотя для этого нет ни единой предпосылки. Даже не представляю почему.В CC2500 работает

Причин может быть много. От банального непропая или "сопли", или использования некачественного флюса с повышенной утечкой (как вариант - нарушение температурного режима пайки), до просто некачественного кварца. Кстати, эти камешки (CC11xx, 25xx) весьма и весьма чувствительны к статике, угробить можно запросто.
Go to the top of the page
 
+Quote Post
GRJ
сообщение Jan 6 2010, 08:53
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 30-07-08
Пользователь №: 39 306



а кто нибудь СС2530 использовал? опыт есть у кого-нибудь ?
Go to the top of the page
 
+Quote Post

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

 


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


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