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

 
 
> Прерывания от CC1100
AVN
сообщение Dec 30 2010, 06:36
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 21-03-05
Пользователь №: 3 556



Коллеги! Использовал ли кто-нибудь прерывания от СС1100 - СС2500 ?
Проблема следующая: GDO2 используется в режиме 7 (прерывание при приеме пакета с правильной CRC). Раз в 2 сек. должен приходить пакет и вызывать прерывание контроллера от GDO2. Все хорошо. Пакет приходит, прерывание происходит.... но не всегда. Иногда его просто нет. При этом состояние машины (MARCSTATE) == 0x11 (переполнение приемного буфера). В фоновом цикле проверяю состояние микросхемы, очищаю буфер при переполнении и контролирую режим. (RX, TX или IDLE). Но прерывания все равно пропадают. Параллельно работают на приеме 2 девайса. И работают по-разному.
Кто-нибудь сталкивался с проблемой пропадающих прерываний?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
rx3apf
сообщение Dec 30 2010, 06:50
Сообщение #2


Гуру
******

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



Цитата(AVN @ Dec 30 2010, 12:36) *
Коллеги! Использовал ли кто-нибудь прерывания от СС1100 - СС2500 ?
Проблема следующая: GDO2 используется в режиме 7 (прерывание при приеме пакета с правильной CRC). Раз в 2 сек. должен приходить пакет и вызывать прерывание контроллера от GDO2. Все хорошо. Пакет приходит, прерывание происходит.... но не всегда. Иногда его просто нет. При этом состояние машины (MARCSTATE) == 0x11 (переполнение приемного буфера). В фоновом цикле проверяю состояние микросхемы, очищаю буфер при переполнении и контролирую режим. (RX, TX или IDLE).

Autoflush включен ? А то, может быть, приходят битые пакеты и забивают буфер... Если короткая синхропреамбула и слишком мягкие критерии синхронизации, то и без передатчика такое будет происходить.
Go to the top of the page
 
+Quote Post
AVN
сообщение Dec 30 2010, 07:14
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 21-03-05
Пользователь №: 3 556



Цитата(rx3apf @ Dec 30 2010, 12:50) *
Autoflush включен ? А то, может быть, приходят битые пакеты и забивают буфер... Если короткая синхропреамбула и слишком мягкие критерии синхронизации, то и без передатчика такое будет происходить.

Включен. Более того, стоит CRC_OK
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 30 2010, 07:50
Сообщение #4


Гуру
******

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



Цитата(AVN @ Dec 30 2010, 13:14) *
Включен. Более того, стоит CRC_OK

Если картина достаточно хорошо воспроизводимая, то можно поэкспериментировать - для начала попробовать режим 1 вместо 7 (установив порог FIFO с запасом), потом попробовать посмотреть в режиме 6 (переключаясь затем в 7) - т.е. бывает ли ситуация, когда есть сигнал от детектирования синхропосылки, но нет по окончанию пакета. Сколько я с ними (1100) вожусь - такого не встречал (но у меня пакеты длинные, поэтому приходится работать по контролю FIFO).
Go to the top of the page
 
+Quote Post
AVN
сообщение Dec 30 2010, 08:38
Сообщение #5





Группа: Участник
Сообщений: 12
Регистрация: 21-03-05
Пользователь №: 3 556



Цитата(rx3apf @ Dec 30 2010, 13:50) *
Если картина достаточно хорошо воспроизводимая, то можно поэкспериментировать - для начала попробовать режим 1 вместо 7 (установив порог FIFO с запасом), потом попробовать посмотреть в режиме 6 (переключаясь затем в 7) - т.е. бывает ли ситуация, когда есть сигнал от детектирования синхропосылки, но нет по окончанию пакета. Сколько я с ними (1100) вожусь - такого не встречал (но у меня пакеты длинные, поэтому приходится работать по контролю FIFO).

Спасибо, попробую. А ситуация маловоспроизводимая - мажет час работать без пропусков, а потом сбойнуть, а может и через 10 сек.. Я грешу на монтаж - все собрано на макетке и достаточно длинными проводами. Одним словом, на соплях. По хорошему, надо развести, изготовить, а потом уже ловить глюки. Но это время sad.gif
Go to the top of the page
 
+Quote Post
_3m
сообщение Dec 30 2010, 09:47
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(AVN @ Dec 30 2010, 12:36) *
...
Кто-нибудь сталкивался с проблемой пропадающих прерываний?

У меня наблюдается подобный эффект на cc2500. Плата заводская, 4-х слойка
Я создавал тему, поищите в архиве.
Побороть и определить причину не мне удалось.
Борюсь программно -периодическим опросом и очисткой буфера.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 30 2010, 13:33
Сообщение #7


Гуру
******

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



Цитата(_3m @ Dec 30 2010, 15:47) *
У меня наблюдается подобный эффект на cc2500. Плата заводская, 4-х слойка
Я создавал тему, поищите в архиве.
Побороть и определить причину не мне удалось.

Да, что-то такое припоминаю. И что, тоже прерывание по окончанию приема пакета (режим "7" ) ? Потому как по синхре я такого не видел, по порогу FIFO тоже. Ковырять, отсекать лишнее. Плохо, когда паршивая воспроизводимость - уж как я искал причину, почему у меня загаживались регистры при переходе с 1100 на 1101 ! Часа три сидел у холодильника, периодически замораживая и размораживая устройство... Камешки довольно сложные, плюхи есть, может, и еще что-то притаилось...
Go to the top of the page
 
+Quote Post

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

 


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


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