Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Трансивер rfm70 - не выполняется ACTIVATE

Непрочитано 22.11.2013, 13:22  
kvark85
Прописка
 
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
kvark85 на пути к лучшему
По умолчанию Трансивер rfm70 - не выполняется ACTIVATE

Здривствуйте, кто работал с rfm70. При инициализации банка0 записываю и проверяю регистры. После выполнения команды ACTIVATE регистр FEATURE (1D) остается нулем.
Код:
selectBank(0);
  CE_OFF;
  temp1D=readRegVal(0x1D); //FEATURE до активации
  if(!readRegVal(RFM70_REG_FEATURE))
      writeRegVal(0x50, 0x73) ;
  temp1D=readRegVal(0x1D); //FEATURE после активации
Реклама:
__________________
Kvsrk85(Андрей)
kvark85 вне форума  
Непрочитано 27.11.2013, 12:02  
kvark85
Прописка
 
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
kvark85 на пути к лучшему
По умолчанию Re: Трансивер rfm70 - не выполняется ACTIVATE

Все. Радио модули инициализирующий и хорошо работают. Где закрыть тему - не могу найти.
__________________
Kvsrk85(Андрей)
kvark85 вне форума  
Непрочитано 27.11.2013, 14:17  
Alex9797
Почётный гражданин KAZUS.RUN
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Трансивер rfm70 - не выполняется ACTIVATE

А в чем была причина? Секрет?
Alex9797 вне форума  
Непрочитано 27.11.2013, 17:32  
kvark85
Прописка
 
Регистрация: 31.08.2008
Сообщений: 183
Сказал спасибо: 25
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
kvark85 на пути к лучшему
По умолчанию Re: Трансивер rfm70 - не выполняется ACTIVATE

не секрет. сразу после выполнения команды активации - значение FEATURE читать нельзя (читаются нули). посли активации - пишем значение FEATURE и уже после этого оно корректно читается. другое дело что у меня не читалось даже после его записи. я так и не понял почему. немного изменив запись инициализации без изменения смысла - заработало. инициализация очень простая: длинна пакета 1 бит, размер пакета фиксированный. пример моей инициализации:
Код:
const uint8_t RFM70_cmd_adrRX0[] = {(0x20|0x0A), 0x34, 0x43, 0x10, 0x10, 0x01}; //канал P0
const uint8_t RFM70_cmd_adrRX1[] = {(0x20|0x0B), 0x35, 0x43, 0x10, 0x10, 0x02}; //канал P1
const uint8_t RFM70_cmd_adrTX[]  = {(0x20|0x10), 0x34, 0x43, 0x10, 0x10, 0x01}; //адрес передатчика

void initRegisters(void) {
        selectBank(0);                  // init bank 0 registers   
        writeRegVal((0x20|0x00), 0x7A); //Enable CRC ,CRC=1byte, POWER UP, TX
        writeRegVal((0x20|0x01), 0x3F); //вкл автоответ для 6-и адресов
        writeRegVal((0x20|0x02), 0x3F); //активация 6-и адресов приемников
        writeRegVal((0x20|0x03), 0x03); //ширина адрессов 5 байт
        writeRegVal((0x20|0x04), 0x3F); //--настройка повторных попыток отправления (1000мкС, 15 повторов)
        writeRegVal((0x20|0x05), 0x01); //канал радиочастоты 0 (доступно 0-63)
        writeRegVal((0x20|0x06), 0x07); // скорость = 1M, мощность 5 dbm, чувствительность 0dB
        writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX0, sizeof(RFM70_cmd_adrRX0));  //адрес 0A - адрес приемника0
        writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX1, sizeof(RFM70_cmd_adrRX1));  //адрес 0B - адрес приемника1
        writeRegVal((0x20|0x0C), 0xc3);                                         //адрес 0C - адрес приемника2
        writeRegVal((0x20|0x0D), 0xc4);                                         //адрес 0D - адрес приемника3
        writeRegVal((0x20|0x0E), 0xc5);                                         //адрес 0E - адрес приемника4
        writeRegVal((0x20|0x0F), 0xc6);                                         //адрес 0F - адрес приемника5
        writeRegPgmBuf((uint8_t *)RFM70_cmd_adrTX, sizeof(RFM70_cmd_adrTX));    //адрес 10 - адрес приемника
        writeRegVal((0x20|0x11), 0x01);                                         //число байтов в буфере загрузки приемника 
        writeRegVal((0x20|0x12), 0x01);                                         //число байтов в буфере загрузки приемника     
        writeRegVal((0x20|0x13), 0x01);                                         //число байтов в буфере загрузки приемника            
        writeRegVal((0x20|0x14), 0x01);                                         //число байтов в буфере загрузки приемника                     
        writeRegVal((0x20|0x15), 0x01);                                         //число байтов в буфере загрузки приемника                              
        writeRegVal((0x20|0x16), 0x01);                                         //число байтов в буфере загрузки приемника
        if(!readRegVal(RFM70_REG_FEATURE)) writeRegVal(0x50, 0x73); // activate Feature register
        writeRegVal((0x20|0x1D), 0x03); //EN Payload with , EN W_TX_PAYLOAD_NOACK command 
          temp01=readRegVal(0x1D); //проверка как записалось
        writeRegVal((0x20|0x1C), 0x00); //Disable dynamic payload legth data pipe0-5  
          temp01=readRegVal(0x1C); //проверка как записалось
        
        _delay_prog(RFM70_END_INIT_WAIT_MS); //задержка
        CE_ON;
        _delay_prog(RFM70_END_INIT_WAIT_MS); //задержка   

	setModeTX();       
}
инициализации банка1 не выкладывал, так как работаю на скорости 1М, но она у меня есть. проверил: на скорости 1М одинаково работает как с инициализацией так и без.
__________________
Kvsrk85(Андрей)

Последний раз редактировалось kvark85; 29.11.2013 в 14:04.
kvark85 вне форума  
Непрочитано 20.12.2013, 13:41  
BigallS
Временная регистрация
 
Регистрация: 18.04.2011
Адрес: Russia
Сообщений: 51
Сказал спасибо: 7
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
BigallS на пути к лучшему
По умолчанию Re: Трансивер rfm70 - не выполняется ACTIVATE

Сообщение от kvark85 Посмотреть сообщение
Все. Радио модули инициализирующий и хорошо работают. Где закрыть тему - не могу найти.
Прошу прощения - если тема закрыта, пробовал запустить такие модули с STM контролёром, без результата. Сейчас делаю макетку с AVR, если не секретно можете в личку прислать примеры работы в режиме приёма и передачи.
BigallS вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, какой надо взять трансивер brmisha Автоматика и аппаратура связи 6 24.09.2009 20:00
прошу поделиться схемой на трансивер "ЭФИР" malahov1956KO Поиск схем. Делимся схемами 0 09.06.2007 02:19


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.