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

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

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

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

Спасибо, попробую. А ситуация маловоспроизводимая - мажет час работать без пропусков, а потом сбойнуть, а может и через 10 сек.. Я грешу на монтаж - все собрано на макетке и достаточно длинными проводами. Одним словом, на соплях. По хорошему, надо развести, изготовить, а потом уже ловить глюки. Но это время sad.gif
_3m
Цитата(AVN @ Dec 30 2010, 12:36) *
...
Кто-нибудь сталкивался с проблемой пропадающих прерываний?

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

Да, что-то такое припоминаю. И что, тоже прерывание по окончанию приема пакета (режим "7" ) ? Потому как по синхре я такого не видел, по порогу FIFO тоже. Ковырять, отсекать лишнее. Плохо, когда паршивая воспроизводимость - уж как я искал причину, почему у меня загаживались регистры при переходе с 1100 на 1101 ! Часа три сидел у холодильника, периодически замораживая и размораживая устройство... Камешки довольно сложные, плюхи есть, может, и еще что-то притаилось...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.