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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Калибровка CC1100
Ofer
сообщение Aug 13 2008, 08:41
Сообщение #1





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



Добрый день smile Может кто сталкивался с такой проблемой? Отправляю в TX-буфер данные. Процедура функция отправки:

Код
void CC1100_sendpacket(unsigned char *packet, unsigned char size)
{
unsigned char i;
CC1100_writestrobe(CC1100_SFTX);
for(i=0;i<size;i++)
{
   CC1100_burstwrite(CC1100_TXFIFO, packet[i]);
}
CC1100_writestrobe(CC1100_STX);
while (!CC1100_GDO0());
while (CC1100_GDO0());
}



И программа зависает на
Код
while (!CC1100_GDO0());
while (CC1100_GDO0());


Значит, не приходит синхрослово. Я так понимаю - это проблема с калибровкой трансивера. Как его проверить и правильно откалибровать?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 13 2008, 08:50
Сообщение #2


Гуру
******

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



Цитата(Ofer @ Aug 13 2008, 12:41) *
Добрый день smile Может кто сталкивался с такой проблемой? Отправляю в TX-буфер данные. Процедура функция отправки:

Значит, не приходит синхрослово. Я так понимаю - это проблема с калибровкой трансивера. Как его проверить и правильно откалибровать?

1). Как запрограммировано поведение GDO0 ?
2). При чем тут "не приходит синхрослово", если речь идет о передаче пакета ?
Go to the top of the page
 
+Quote Post
Ofer
сообщение Aug 14 2008, 06:08
Сообщение #3





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



Цитата(rx3apf @ Aug 13 2008, 11:50) *
1). Как запрограммировано поведение GDO0 ?


Вывод GDO0 микрокконтроллера инициализирован как вход.

Цитата(rx3apf @ Aug 13 2008, 11:50) *
2). При чем тут "не приходит синхрослово", если речь идет о передаче пакета ?


Ну, я не знаю. Вроде как сигнал на GDO0 подаеться для синхронизации?

И вот что еще заметил. Если предварительно считать с регистра по адресу 0x31 (VERSION), то функция передачи выполняться. По крайней мере не зависает программа.

Сообщение отредактировал Ofer - Aug 14 2008, 06:18
Go to the top of the page
 
+Quote Post
bloodden
сообщение Aug 14 2008, 07:16
Сообщение #4


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(Ofer @ Aug 14 2008, 09:08) *
Вывод GDO0 микрокконтроллера инициализирован как вход.
Ну, я не знаю. Вроде как сигнал на GDO0 подаеться для синхронизации?

Интересует как сконфигурирован он в модеме!

Цитата
И вот что еще заметил. Если предварительно считать с регистра по адресу 0x31 (VERSION), то функция передачи выполняться. По крайней мере не зависает программа.

У Вас с инициализацией ног МК глюки наверное.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
Ofer
сообщение Aug 14 2008, 07:23
Сообщение #5





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



Цитата(bloodden @ Aug 14 2008, 10:16) *
Интересует как сконфигурирован он в модеме!


Прошу прощения, я еще не достаточно хорошо разобрался с модемом. GDO0 сконфигурирован на 0x06. Это ведь нужная конфигурация?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 14 2008, 07:26
Сообщение #6


Гуру
******

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



Цитата(Ofer @ Aug 14 2008, 10:08) *
Вывод GDO0 микрокконтроллера инициализирован как вход.

А у CC1100 ? А, вижу, 06.

Цитата
Ну, я не знаю. Вроде как сигнал на GDO0 подаеться для синхронизации?

Для, при соответствующей настройке. В данном случае - правильно. Хотя, если размер пакета больше FIFO, будут проблемы - сколько передается ?

Сообщение отредактировал rx3apf - Aug 14 2008, 07:31
Go to the top of the page
 
+Quote Post
Ofer
сообщение Aug 14 2008, 07:29
Сообщение #7





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



Цитата(rx3apf @ Aug 14 2008, 10:26) *
А у CC1100 ?


0x06

А на счет глюков на ногах микроконтроллера, то я сомневаюсь. Ведь после чтения других регистров результата нет.

И еще небольшая поправка. Не с регистра 0x31, а с регистра 0x30 ))

Сообщение отредактировал Ofer - Aug 14 2008, 07:34
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 14 2008, 07:35
Сообщение #8


Гуру
******

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



Цитата(Ofer @ Aug 14 2008, 10:08) *
И вот что еще заметил. Если предварительно считать с регистра по адресу 0x31 (VERSION), то функция передачи выполняться. По крайней мере не зависает программа.

Прочитайте даташит внимательно - 0x31 это вовсе не чтение, а тот же самый строб SFSTXON (если только это не бурстовое чтение). А с 0x30 - так это вообще строб SRES...

Сообщение отредактировал rx3apf - Aug 14 2008, 07:36
Go to the top of the page
 
+Quote Post
bloodden
сообщение Aug 14 2008, 07:52
Сообщение #9


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(Ofer @ Aug 14 2008, 10:29) *

Я перед передачей очищаю txfifo. Всяких приколов поубавилось. Попробуйте.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 14 2008, 07:54
Сообщение #10


Гуру
******

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



Цитата(bloodden @ Aug 14 2008, 11:52) *
Я перед передачей очищаю txfifo. Всяких приколов поубавилось. Попробуйте.

Он это делает. А вот правильно ли реализована бурстовая запись в FIFO - вопрос...

Сообщение отредактировал rx3apf - Aug 14 2008, 07:57
Go to the top of the page
 
+Quote Post
bloodden
сообщение Aug 14 2008, 08:02
Сообщение #11


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



halSpiStrobe(CCxxx0_SIDLE);
halSpiStrobe(CCxxx0_SFTX);
halSpiWriteBurstReg(CCxxx0_TXFIFO, tx_buff, 8);
halSpiStrobe(CCxxx0_STX);
while((P2IN&BIT7) == 0);
while((P2IN&BIT7) != 0);

Процедуры с тишных исходников. У меня так работает отлично. Если не будет работать - инициализация кривая. Если надо, могу свою кинуть.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
Ofer
сообщение Aug 14 2008, 13:29
Сообщение #12





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



Я такую инициализацию. Все правильно делаю?
И такой вопрос возник. После того, как в буфер TX записалось слово, на вывод GDO0 выдается 1, потом 0. А дальше? Потом продолжается меандр на этой ноге?
Прикрепленные файлы
Прикрепленный файл  Set.txt ( 1.19 килобайт ) Кол-во скачиваний: 75
 
Go to the top of the page
 
+Quote Post
bloodden
сообщение Aug 14 2008, 13:34
Сообщение #13


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(Ofer @ Aug 14 2008, 16:29) *
Я такую инициализацию. Все правильно делаю?
И такой вопрос возник. После того, как в буфер TX записалось слово, на вывод GDO0 выдается 1, потом 0. А дальше? Потом продолжается меандр на этой ноге?

Как только Вы записываете в буфер передатчика у вас ЖДО0 0-1-0 прыгает? Тогда у Вас постоянно включен передатчик. Тут народ говорил что коряво в этом режиме пашет он.

PS: Посмотрел Ваш конфиг MCSM1 правильно всё. Он должен переходить в айдл. У Вас кварц на сколько? Могу скинуть свой конфиг на 26,000 кварц и 433,92 38400бпс


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 14 2008, 13:35
Сообщение #14


Гуру
******

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



Цитата(Ofer @ Aug 14 2008, 17:29) *
Я такую инициализацию. Все правильно делаю?
И такой вопрос возник. После того, как в буфер TX записалось слово, на вывод GDO0 выдается 1, потом 0. А дальше? Потом продолжается меандр на этой ноге?

Откуда же меандр возьмется ? Сигнал должен стать активным, когда началась передача синхрослова и деактивироваться после окончания передачи пакета. Все ж черным по белому написано в даташите... Да, так сколько же байтов передается ?
Go to the top of the page
 
+Quote Post
Ofer
сообщение Aug 15 2008, 06:31
Сообщение #15





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



Цитата(bloodden @ Aug 14 2008, 16:34) *
У Вас кварц на сколько?


На 26

Цитата(bloodden @ Aug 14 2008, 16:34) *
Могу скинуть свой конфиг на 26,000 кварц и 433,92 38400бпс


Скиньте
Цитата(rx3apf @ Aug 14 2008, 16:35) *
Да, так сколько же байтов передается ?


20 байтов
Go to the top of the page
 
+Quote Post

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

 


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


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