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

 
 
> Si4463 не взлетает.
draksnov
сообщение Aug 11 2015, 08:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Добрый день всем!

Который день бьюсь с этим, казалось бы простым, трансивером.
Суть проблемы - нет передачи. в эфире тишина(анализатор спектра есть). Приёмную сторону пока даже не начинал. В эфир бы просто что-нибудь стрельнуть. Младшенький Si4431 проблем не доставил. Этого прокачали и API добавили по сути...

В качестве контроллера использую STM32L0. Её запустили. SPI настроили. К Si4463 подключили.
POWER_UP выполнили. Кварц завёлся. SDO заработало. Настройку чипа сделали, используя то, что нам выдал WDS.
В FIFO записали нужный нам пакетик. Сделали TX_START. В эфире тишина.

Начал копать. Нашёл образец кода от DORJI, всё вроде так же делаю. Настроил прерывания, читаю регистры состояния. Прерывания с nIRQ говорит, что пакет отправлен, чип находится в READY MODE (хорошо), CHANGE_STATE тоже успешно выполнен (хорошо), и даже GET_INT_STATUS говорит "the TX FIFO were transmitted successfully" (отлично). Проверил, пишется ли что-нибудь в FIFO - читаю FIFO_INFO ->количество пустых битов меняется, значит что-то пишем.

Я В тупике. Ниже ссылки на дропбокс на схему, куски кода и иниты...
P.S. Ревизию проверил. B1, как на чипе написано.
P.P.S. Поиграл с настройкой PA, заменил CLE на SWC, как в принципе и схему спроектировал - ничего.

SCH https://www.dropbox.com/s/rv1kl88j2q2v3pn/sch.JPG?dl=0
code https://www.dropbox.com/s/53qgkavy50bnedf/code.rar?dl=0
WDS https://www.dropbox.com/s/zxnj4slwr14nuom/sets.rar?dl=0

Есть подозрения, что до конца не заводятся внутренние клоки\шины, т.к. получить с GPIO DIV_CLK, 32CLK или BOOT_CLK так и не вышло. Конечно же я их включал. Или где-то не хватает волшебных пауз. В слепую натыкал их - тож ничего.

Буду рад любым подсказкам...
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
draksnov
сообщение Aug 12 2015, 06:41
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Косяк найден. Ткнули Подсказали умные люди. Не проходила инициализация. А причиной была некорректная проверка CTS после записи байтов. Поменял последовательность и всё пашет.

Пишем RX-ную часть....
Go to the top of the page
 
+Quote Post
drum1987
сообщение Aug 12 2015, 07:24
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



ооо Егорsm.gif не покидает тебя радио никакsm.gif уже и город сменил, а они все за тобой бегут...то сс430, то теперь si...
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 12 2015, 07:30
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Цитата(drum1987 @ Aug 12 2015, 10:24) *
ооо Егорsm.gif не покидает тебя радио никакsm.gif уже и город сменил, а они все за тобой бегут...то сс430, то теперь si...

Дык радиоинженер ж! Кстати да, СС430 оказалось тем ещё гамном, которое не усиливается sm.gif А вот к Si прикрутил усилитель и по городу аж 4 километра с хвостиком пробил )Техас курит )
Go to the top of the page
 
+Quote Post
drum1987
сообщение Aug 12 2015, 08:42
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Усиливается...готовить надо уметь.
Go to the top of the page
 
+Quote Post
vadimp61
сообщение Aug 12 2015, 14:52
Сообщение #6


Знающий
****

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



И СС1101 тоже усиливается )) 20 км получали на +27dBm
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 13 2015, 09:42
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Цитата(vadimp61 @ Aug 12 2015, 17:52) *
И СС1101 тоже усиливается )) 20 км получали на +27dBm

Отдельно трансивер работает отлично. Я говорил именно про СС430, хоть на борту та же СС1101. А с СС430 был косяк именно сильного усиления на частотах 450 МГц. И встречал людей с аналогичной проблемой. А вот Si при тех же вводных гораздо лучше себя показал. Сделал вывод.
Допускаю, что на 868МГц, использую его же СС1190, всё могло быть лучше. Но я использовал сторонние усилители, довольно широкополосные. Хоть и на согласование потратил много, но не достаточно времени.
Go to the top of the page
 
+Quote Post
CEMA
сообщение Aug 20 2015, 07:36
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 20-08-15
Пользователь №: 88 063



Цитата(draksnov @ Aug 12 2015, 09:41) *
Косяк найден. Ткнули Подсказали умные люди. Не проходила инициализация. А причиной была некорректная проверка CTS после записи байтов. Поменял последовательность и всё пашет.

Пишем RX-ную часть....


А исходники на TX-ную часть рабочую можешь кинуть? А то тоже проблема с запуском этой штуки...
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 20 2015, 08:28
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Цитата(CEMA @ Aug 20 2015, 10:36) *
А исходники на TX-ную часть рабочую можешь кинуть? А то тоже проблема с запуском этой штуки...


В двух словах: очищаем фифо. пишем в фифо пакет. передаём.
Если настройки все правильные, то передача пакета примерно такая:

Код
void tx_data(void){    
    fifo_reset();  //очищаем фифо
    spi_write_fifo(); // пишем в фифо пакетик        
    enable_tx_interrupt();    // опционально. должно в настройках делаться. Смотри настройки 0x11
    clr_interrupt();  //  опционально. Если нужно. Скорее всего да. Смотри настройки 0x11
    tx_start();    // в ТХ мод идём и передаём пакет     
    delay_ms(20);    // люблю паузы ^^)
}

void fifo_reset(void){
    U8 p[2];
    
    //в READY режим  //ВАЖНО. Очистка фифо не возможна в RX\TX режимах. Надо выходить.
    p[0] = 0x34;         // Команда смены режима
    p[1] = 0x03;
    spi_write(2,p);
    
    //Очищаем FIFO
    p[0] = 0x15;     //FIFO_INFO
    p[1] = 0x03;       // reset tx и rx fifo
    spi_write(2,p);
}

void tx_start(void){
    U8 p[5];
    
    p[0] = 0x31; //START_TX start command
    p[1] = 0; //freq_channel 0
    p[2] = 0x30; // 30 return to ready mode after tx // 10 return to STANDBY after tx
    p[3] = 0; // lenght Нулевая, ибо передаём столько, сколько пишем.  
    p[4] = 0; // lenght
    spi_write(5, p);
}
Go to the top of the page
 
+Quote Post
CEMA
сообщение Aug 20 2015, 09:35
Сообщение #10





Группа: Новичок
Сообщений: 5
Регистрация: 20-08-15
Пользователь №: 88 063



Цитата(draksnov @ Aug 12 2015, 09:41) *
А причиной была некорректная проверка CTS после записи байтов.


А с CTS что было не так? А то в исходнике из поста №1 ничего криминального тоже не вижу...

Судя по скринам WDS ты настраиваешь Direct Mode TX. Вот тут у меня тоже вопрос... Если ты работаешь через FIFO, то зачем тогда настраиваешь пины ны TX_DATA и TX_DATA_CLOCK? Либо я чего-то не понимаю, либо смотрю в даташиты и аппноуты и вижу "фигу"... Уже голова от них кругом идет :-D

Сообщение отредактировал CEMA - Aug 20 2015, 09:35
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 20 2015, 10:00
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Цитата(CEMA @ Aug 20 2015, 12:35) *
А с CTS что было не так? А то в исходнике из поста №1 ничего криминального тоже не вижу...

Судя по скринам WDS ты настраиваешь Direct Mode TX. Вот тут у меня тоже вопрос... Если ты работаешь через FIFO, то зачем тогда настраиваешь пины ны TX_DATA и TX_DATA_CLOCK? Либо я чего-то не понимаю, либо смотрю в даташиты и аппноуты и вижу "фигу"... Уже голова от них кругом идет :-D

Ну про CTS не, есть косяк. Надо его сначала проверять, а потом писать. У меня наоборот было. Поэтому часть команд просто "не глоталось".

А WDS это экспериментальный. Пины, т.е. эти самые ДЖПИО у меня выведены на пады на плате для отладки. Я просто смотрю их осцилом, в данном случае состояния в момент передачи:TX_DATA и TX_DATA_CLOCK.
Go to the top of the page
 
+Quote Post
CEMA
сообщение Aug 20 2015, 10:12
Сообщение #12





Группа: Новичок
Сообщений: 5
Регистрация: 20-08-15
Пользователь №: 88 063



Цитата(draksnov @ Aug 20 2015, 13:00) *
Ну про CTS не, есть косяк. Надо его сначала проверять, а потом писать. У меня наоборот было. Поэтому часть команд просто "не глоталось".

У тебя в коде так же как и в AN633: отправляешь команду, и, отправляя команду 0x44, ждешь, когда в ответ придет 0xFF.

А надо так: Убеждаемся, что на команду 0x44 придет ответ 0xFF и только потом отправляем команду.

Я тебя правильно понял?

Сообщение отредактировал CEMA - Aug 20 2015, 10:12
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 20 2015, 10:37
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



Цитата(CEMA @ Aug 20 2015, 13:12) *
У тебя в коде так же как и в AN633: отправляешь команду, и, отправляя команду 0x44, ждешь, когда в ответ придет 0xFF.

А надо так: Убеждаемся, что на команду 0x44 придет ответ 0xFF и только потом отправляем команду.

Я тебя правильно понял?

Не очень понял, но вроде ДА. Каждый раз надо ждать FF, о чём мы понимаем, что чип готов принимать дальше наши команды. Там в коде, честно говоря куча косяков. Я уже после начал его вылизывать. Правильно делать так: https://www.dropbox.com/s/q24993qu8ljr6s7/CTS.JPG?dl=0
Go to the top of the page
 
+Quote Post
CEMA
сообщение Aug 20 2015, 10:48
Сообщение #14





Группа: Новичок
Сообщений: 5
Регистрация: 20-08-15
Пользователь №: 88 063



Цитата(draksnov @ Aug 20 2015, 13:37) *
Не очень понял, но вроде ДА. Каждый раз надо ждать FF, о чём мы понимаем, что чип готов принимать дальше наши команды. Там в коде, честно говоря куча косяков. Я уже после начал его вылизывать. Правильно делать так: https://www.dropbox.com/s/q24993qu8ljr6s7/CTS.JPG?dl=0

Где-то я уже видел эту картинку :-D Слушай... Может у тебя мессенджер какой есть? Там время ответов быстрее sm.gif
Go to the top of the page
 
+Quote Post
draksnov
сообщение Aug 20 2015, 11:02
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-08-15
Из: SPB
Пользователь №: 87 942



ЛС мне пока недоступны. Молод и зелен для форума) Асько 307198379 или тут http://vk.com/draksnov
Go to the top of the page
 
+Quote Post

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

 


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


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