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

 
 
> СС1120, Как запустить трансивер
vutang
сообщение Jun 24 2013, 07:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



Всем доброго дня. Проблема возникла с использованием трансивера CC1120. Вобщем собрал плату согласно схеме приведенной в даташите. Подключил к ее по SPI к контроллеру stm32f100 (отладочная плата discovery). Скачал программу SmartRF и примеры под MSP (easy_link вроде называются), которые на сайте TI лежат. Написал функции для работы с регистрами, калибровки, вобщем все как в примере. В SmartRF выбрал диапазон 433 МГц, а в нем пробовал выбирать разные пункты, затем выбрал режим Packet_TX и экспортировал регистры. Сначала инициализирую модуль,т.е. посылаю строб reset (не помню как точно пишется), записываю регистры, потом провожу калибровку. Регистры пишутся и читаются нормально. Для запуска передачи сначала формирую пакет со случайными данными как в примере, потом посылаю последовательно стробы SIDLE и SFTX, потом записываю пакет в FIFO, проверяю что FIFO заполнен и отправляю строб STX. После этого жду прерывания о окончании передачи с GPIO модуля, читаю статус регистр, получаю значение TX_END и повторяю процедуру. В это же время на другом SPI висит второй модуль и он включен на прием, т.е. сразу после калибровки посылаю последовательно стробы SIDLE и SRX и жду прерывания по приему. Регистры конфигурируются одинаково на обоих модулях.
Но вот незадача...ничего не принимается (прерывание по приему не происходит)... Анализатора спектра нет, на осциллографе вижу (подключаю на выход антенны), что пакеты идут.
Так вот...Может кто работал с этими трансиверами, расскажите в какой последовательности и что нужно отправлять, чтобы передать и принять пакет. Уже неделю убил на эту микросхему, сил нет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
zheka
сообщение Jun 24 2013, 09:21
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Для начала настройте GDO2 на приемнике на обнаружение несущей (0x0E кажется). Пощупайте осциллографом, а лучше светодиод припаяйте, будут импульсы даже при неправильных настройках обработки пакета. Я даже PMR рацию вблизи включал - несущую ловило.
Если нет несущей - проверьте еще раз настройки частоты. ВОзможен и другой вариант - передатчик выключен, а несущая есть. Причины - помехи, кто-то работает на вашей чатсоте, самовозбуждение в приемнике.

Цитата
читаю статус регистр, получаю значение TX_END и повторяю процедуру

У меня были ситуации, когда, работая таким образом, я допускал ошибку в програме, которая просто не замечала нужных импульсов.
Идеальный вариант - GDO0, GDO2, анализируемые в прерывании.

Еще возмоная ошибка в конфигурировании пакетов. У вас какой длины пакет?
Для начала, если нет опыта, рекомендую записать в PKTLEN 0, а длину пакета писать в первый элемент буфера.

Еще одни грабли - вы в paTable записали что-нибудь?
P.S. работал с СС1100, СС2500.


Ну и код бы желательно. Он ногое может прояснить.

Сообщение отредактировал zheka - Jun 24 2013, 09:24
Go to the top of the page
 
+Quote Post
vutang
сообщение Jun 27 2013, 03:45
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



Добрался я до интернета) Потратив еще несколько дней и получив доступ к спектроанализатору, выяснили что отсутствует несущая. Делали следующие шаги:1) конфигурировали регистры (записывали те, что предлагает SmartRF); 2) запускали manualCalibration, как в ерарте; 3) переходили в состояние IDLE; 4) очищали буфер RX и TX; 5)запускали калибровку SCAL; 6) И в конце просто отправляли строб на передачу STX (в этом случае на сколько я понял чип непрерывно шлет преамбулу). Как оказалось, несущая не совсем отсутствовала...она была смещена на почти 100 МГц. Решили заменить микросхему на всякий случай. Хорошо, что завалялась одна, которую мы запаяли и... несущая появилась почти на той частоте на которой нам нужно, т.е. регистрами задаем 434 МГц, а в реале 440 МГц. Пробовали увеличить частоту на 10 МГц, увеличилась на 10 МГц, но смещение осталось. Уровень несущей меняется нормально,т.е. какой задаем, такой и видим ну минус потери в кабеле). Передачу и прием буду пробовать сегодня вечером поднимать. Но откуда берется это смещение, мне не совсем понятно, может партия бракованная, а может я чего-то не учел и надо проводить дополнительные калибровки? Может ли выйти из строя микросхема, если ее включать без нагрузки (без антенны)? Схема собрана строго в соответствии с рефернс дизайн для этого диапазона.

Сообщение отредактировал vutang - Jun 27 2013, 03:49
Go to the top of the page
 
+Quote Post
DASM
сообщение Jun 27 2013, 09:22
Сообщение #4


Гуру
******

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



Опрный кварц то в норме ?
Go to the top of the page
 
+Quote Post
vutang
сообщение Jun 28 2013, 05:37
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 10-12-09
Из: Томск
Пользователь №: 54 174



Кварц проверил, выдает 32.00025 МГц. Синусоида на уровне примерно 1,5 В с размахом примерно +/- 0.8 В.
Go to the top of the page
 
+Quote Post
DASM
сообщение Jun 28 2013, 06:17
Сообщение #6


Гуру
******

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



EXT_CLOCK_FREQ - какое значение ?
Go to the top of the page
 
+Quote Post

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

 


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


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