|
cc2550 работает в соответствии с мануал, с точьностью до наоборот., cc2550 работает в соответствии с мануал, с точьностью до наоборот. |
|
|
|
Dec 26 2009, 16:00
|
Группа: Участник
Сообщений: 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.
|
|
|
|
|
 |
Ответов
|
Dec 26 2009, 17:26
|
Группа: Участник
Сообщений: 5
Регистрация: 30-04-09
Пользователь №: 48 471

|
Цитата(rezident @ Dec 26 2009, 21:03)  Я лично мало что понял из комментариев.  Тем более, что вы не привели исходных кодов инициализации портов. К тому же возник встречный вопрос: почему вы выбрали 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. А то,что у меня происходит,всё наоборот, как я описал выше.
|
|
|
|
|
Dec 26 2009, 21:41
|
Гуру
     
Группа: Участник
Сообщений: 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". Только после этого можно начинать передачу байтов управления или данных.
|
|
|
|
|
Dec 27 2009, 05:51
|
Группа: Участник
Сообщений: 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",а нужно,что бы было наоборот.
|
|
|
|
Сообщений в этой теме
rapa cc2550 работает в соответствии с мануал, с точьностью до наоборот. Dec 26 2009, 16:00  rezident Цитата(rapa @ Dec 26 2009, 22:26) А то,чт... Dec 26 2009, 18:51    rx3apf Цитата(rapa @ Dec 27 2009, 08:51) Так оно... Dec 27 2009, 11:06     rapa Цитата(rx3apf @ Dec 27 2009, 14:06) Для н... Dec 28 2009, 07:02      rx3apf Цитата(rapa @ Dec 28 2009, 10:02) Нет не ... Dec 28 2009, 10:23       GRJ а кто нибудь СС2530 использовал? опыт есть у кого... Jan 6 2010, 08:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|