Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

 
Опции темы
Непрочитано 21.09.2010, 07:10  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Да, как заявлено, у 01+ нет болячек предшественников.
Реклама:
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.
OneginForte вне форума  
Непрочитано 21.09.2010, 13:23  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

В обще добился от трансивера статуса 2Е при одинаковых адресах TX и RX. Сделал пяти байтовый адрес. Но, при этом приемник ничего не принимает или даже выключен. Статус появляется только при отладке. Если запускаю без отладки в статусе при приходе прерывания вижу 00. Что это не понятно.
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.
OneginForte вне форума  
Непрочитано 21.09.2010, 16:42  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

То есть перед командой W_TX_PAYLOAD статус читается как 0Е, после подачи W_TX_PAYLOAD ждете прерывание, по прерыванию читаете статус и там 2Е даже если приемник отключен?

Что в ФИФО_СТАТУС?
niXto вне форума  
Непрочитано 21.09.2010, 18:27  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Не много не так.
Включаем передатчик, ждем немного, проверяем FIFO, если не пустой сбрасываем. Потом закидываю в буфер 5 байт, в размер payload для pipe. Стартуем передачу.
Цитата:
mirf_CE_lo;

PTX = 1; // Set to transmitter mode
TX_POWERUP; // Power up
delay_us(100);
mirf_read_register(FIFO_STATUS,n,1);

if (n[0] & (1‹‹TX_EMPTY))
{
mirf_CSN_lo; // Pull down chip select
spi_fast_shift( FLUSH_TX ); // Write cmd to flush tx fifo
mirf_CSN_hi; // Pull up chip select
};

delay_us(1);
mirf_CSN_lo; // Pull down chip select
spi_fast_shift(W_TX_PAYLOAD); // Write cmd to write payload
spi_transmit_sync(value,len); // Write payload
mirf_CSN_hi; // Pull up chip select
delay_ms(1);
mirf_CE_hi; // Start transmission
delay_us(10);
По идее по одному из трех событий (при передаче два) приходит прерывание.

Цитата:
uint8_t status;
uint8_t i[4];
uint8_t n;
// If still in transmitting mode then finish transmission
if (PTX) {
mirf_CE_lo; // Deactivate transreceiver
// Read MiRF status
mirf_CSN_lo; // Pull down chip select
status = spi_fast_shift(NOP); // Read status register
n = status;
mirf_CSN_hi; // Pull up chip select

usart_SendBcd(status);
RX_POWERUP; // Power up in receiving mode
mirf_CE_hi; // Listening for pakets
PTX = 0; // Set to receiving mode
delay_us(100);

if (status & (1‹‹MAX_RT))
{
mirf_CSN_lo; // Pull down chip select
spi_fast_shift( FLUSH_TX ); // Write cmd to flush tx fifo
mirf_CSN_hi; // Pull up chip select
mirf_config_register(STATUS, (1‹‹MAX_RT));
delay_us(1);
usart_puts("\n\r");
mirf_read_register(OBSERVE_TX,i,1);
n=i[0];
usart_puts("Observe:");
usart_SendBcd(n);
usart_puts("\n\r");
};

// Reset status register for further interaction
mirf_config_register(STATUS,(1‹‹TX_DS)); // Reset status register
}
В прерывании останавливаем передачу. Читаем статус. Запускаем приемник. А потом проверяем прочтенный ранее статус на события. Ну и сбрасываем флаги.
В FIFO_STATUS 0x11.
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.
OneginForte вне форума  
Непрочитано 22.09.2010, 07:14  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Я же писал выше - после POWER_UP должна быть пауза минимум 2000 мкс
Пока связь не установите - вообще не играйтесь с этим битом, пусть всегда будет в 1

В передаче СЕ держите в 1 до прихода прерывания плюс таймер на 0,1 с от зависания

FLUSH_TX применяйте ТОЛЬКО если буфер переполнен - иначе возможно зависание трансивера (в л01 но возможно и в л01+). В л01 эта команда вообще не удаляет последний не-переданный пакет, в итоге при установке связи на приемник приходит сразу 2 пакета (не-переданный и текущий). Разруливаю программно - через идентификаторы

Не совсем понял - приемник у вас ждет прерывания, или вы периодически опрашиваете статус?
niXto вне форума  
Непрочитано 22.09.2010, 09:04  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Приемник опрашивает статус и на всякий случай брейкпоинт стоит в обработчике прерывания.

Сейчас ситуация такая, EN_AA = 0b00000011 или 0b00000001 прерывания вообще не приходят.
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.

Последний раз редактировалось OneginForte; 22.09.2010 в 09:14.
OneginForte вне форума  
Непрочитано 22.09.2010, 12:43  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Ну и как он что-либо примет, если радиочасть отключена и включена цифровая? Они параллельно работать НЕ могут. Вы хоть читаете что я раньше писал...

Включаете приемник на прием - и все, никаких обращений к чипу! Как только он что-то примет, выдаст прерывание и только тогда читайте-пишите

В EN_AA и EN_RXADDR пишите дефолтные значения. Тоже уже выше писал... У л01 тут какойто косяк, особо не разбирался, сделал "чтоб работало" по дефолту
niXto вне форума  
Непрочитано 22.09.2010, 15:10  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

90% исходников в интернет вообще не пользуются прерываниями, а опрашивают статус на предмет дошло/пришло. Это меня и сбило с толку. Sparkfun божится, что их код для FOB 100% работает. Перенесу проекты под свои чипы, посмотрю.
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.
OneginForte вне форума  
Непрочитано 22.09.2010, 17:14  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Пользоваться надо не чужими исходниками (неизвестной рабочести), а даташитом. Там все ясно сказано по работе чипа и его прерываниям...

У меня по алгоритму выше система разгоняется в идеальных условиях (расстояние 1...3 метра) до 1600 пакетов в секунду с подтверждением, по 32 байта данных. Используется для перепрошивки (через бутлодырь), 4...6 кБ в АТмега88 в реальных условиях заливаются за пару секунд
niXto вне форума  
Непрочитано 22.09.2010, 18:48  
OneginForte
Частый гость
 
Аватар для OneginForte
 
Регистрация: 20.09.2010
Сообщений: 33
Сказал спасибо: 26
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
OneginForte на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Ну код сильно изменен согласно вашим советам и моему понимаю даташита. Распечатал брошюрой. Сейчас хочу расширить обработчик прерываний с семафорами, чтобы не опрашивать сам чип в основном цикле, а только поглядывать на семафор.
__________________
DCC и разные чудеса с ним.
XpressNet оказалась не такая страшная штука, если сравнивать с трансиверами. Но и трансиверы ничего страшного.
OneginForte вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто работал с драйвером DM132? sdsrem Микроконтроллеры, АЦП, память и т.д 0 06.07.2010 21:37
Кто нибудь имеет описание, как обращаться к KEELOQовскому регистру в PIC12F635/PIC16F636? Make_Pic Микроконтроллеры, АЦП, память и т.д 1 07.05.2010 12:53
Кто нибудь работал с MUST II System ? trilobit Производственное оборудование 0 28.04.2010 11:51
Кто нибудь имел дело со шрифтами? Djakovskij Микроконтроллеры, АЦП, память и т.д 8 18.02.2010 20:35
Кто работал с Ad7714? ALEKSEY188 Микроконтроллеры, АЦП, память и т.д 18 11.02.2010 03:54


Часовой пояс GMT +4, время: 15:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot