Инфа по трансиверу TR24

Тема в разделе "WASM.ELECTRONICS", создана пользователем a9d, 3 фев 2010.

  1. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    Еще вопрос: а что вы используете в качестве антены?
     
  2. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    На TR24A антенна встроенная, TR24P не пользовался.
     
  3. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Функцию сброса нужно изменить так
    Код (Text):
    1.     //сброс трансиввера
    2.     void CTr24a::reset()
    3.     {
    4.         PORTC&= ~(1<<PIN_RESET);
    5.         _delay_ms(20);
    6.         PORTC|= (1<<PIN_RESET);
    7.         _delay_ms(20);
    8.     }//end reset
    9.     //======================================================================
    Иначе на низких скоростях инициализировать трансивер не получится.

    Функцию отправки байта по SPI
    Код (Text):
    1.     //передать/принять байт
    2.     unsigned char CSpi::send(unsigned char data)
    3.     {
    4.         unsigned char counter=0;
    5.  
    6.         SPDR = data;
    7.         while (!(SPSR & (1<<SPIF)))
    8.         {
    9.             if(counter==20)
    10.             {
    11.                 break;
    12.             }
    13.             counter++;
    14.         }
    15.  
    16.         return SPDR;
    17.     }//end send
    18.     //======================================================================
    где counter зависит от скорости. Чем ниже скорость тем больше counter.
    Так прошивка не повесится на этом вайле.
     
  4. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    Нашел компас что вас интересует на imrad . kiev . ua
    Стоимость - 175 грн, точно как на космодроме
     
  5. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Этот модуль достать легко. С деньгами посложнее))
     
  6. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    Ну с этим наверное только в дзен-буддистов нет проблемм
     
  7. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    А вы пробовали использовать модули TRC101 или TRC102?
     
  8. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Их не использовал.
    Да и при такой цене не умеют разруливать коллизии.
     
  9. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    TR24 не разруливают? или TRC101/102?
     
  10. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Далеко не все трансиверы умеют определять наличие коллизии.
    Модуль TR24A(и все его родичи) этого делать не умеют. Поэтому для таких трансивверов писать протокол на порядок сложнее.
     
  11. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    а какие коллизии вы имеете ввиду?
     
  12. Vortexx_

    Vortexx_ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2010
    Сообщения:
    13
    когда одновременно несколько передатчиков работает?
     
  13. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    ээм, извините, если я не по теме

    под какие платформы это работает? например, под авр идет?
    по какому гуглкодо-адресу можно поглядеть исходники с викой проекта?
    (трансиверы действительно дешевые, затея эта выглядит интересной и полезной)

    еще раз извините
     
  14. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    В исходниках есть упоминание, что писалось для atmega8. Если есть опыт, то можно перевести под тини.
    Должно работать на всех мегах.

    В сети по этому модулю почти ничего внятного нет. Производитель надежно засекретил свою разработку))
     
  15. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Библиотека под АРМ и АВР.
    Испытания на дальность еще не проводил. Неохото мерзнуть на улице.
     
  16. drleavsy

    drleavsy New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2010
    Сообщения:
    4
    Спасибо огромное a9d ты просто гуру, более подробного описания по TR24 я еще не находил в инете , вожусь с TR24 уже несколько месяцев , использовал примеры кода отсюда http://code.google.com/p/spiriton-tr24a-demo/ и отсюда http://bsvi.ru/drajver-modulya-tr24a-ili-transivera-em198810/ пока безрезультатно, почему то не могу считать регистры TR24 после инитциализации, думаю с помощью твоих классов я смогу разобраться. Я кстати тоже использую Atmega8 - 8 MHz, и в будущем планирую попробывать на ATxmega128A1.
    Моя цель заключается в том чтобы снимать данные со 100 фотодиодов и посылать их непрерывным потоком на комп в пределах обычной квартиры.

    Было бы здорово если бы ты показал пример реальной программы, какой нибудь, tr24a.c , для такого чайника как я. Хотя я и знаю как использовать классы, хотелось бы увидеть в какой последовательности они используются и как оно все смотриться в реальном приложении.
     
  17. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Спасибо.

    На данный момент я сейчас луплюсь с портом под арм. С этим портом просто ЧП. Софт варные задержки в армах работают через задницу в виду специфики ядра. Аппаратные пашут на ура, но как по нормальному вставить аппаратную задерку в код не знаю.

    Простенькая программа для теста:
    Код (Text):
    1.     MyTr.ModeRecive();
    2.     for(;;)
    3.     {
    4.         if(MyTr.GetState()!=2)
    5.         {
    6.             len=MyTr.PkgRead(data);
    7.             MyTr.ModeRecive();
    8.  
    9.             for(int i=0;i<len;i++)
    10.             {
    11.                 MyUart.sendByte(data[i]);
    12.  
    13.             }
    14.  
    15.  
    16.         }
    17.  
    18.         Sleep(1);
    19.     }
    и передатчик:
    Код (Text):
    1.         index=0;
    2.  
    3.  
    4.         while(1)
    5.         {
    6.             for(i=0;i<61;i++)
    7.             {
    8.                 out[i]=index;
    9.             }
    10.             index++;
    11.             MyTr.PkgSend(63,out);
    12.  
    13.  
    14.             Sleep(500);
    15.         }
    Эти трансивверы еще нужно грызть и грызть.
     
  18. drleavsy

    drleavsy New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2010
    Сообщения:
    4
    Спасибо за ответ a9d, у меня возник еще один вопрос когда я начал компилировать програму, до этого я использовал стандартные настройки для мейк файла в АВР Студио и их мне всегда хватало для моих простых програм, но я никогда не компилировал С++ классы в АВР Студио, из-за этого компилятор выдает кучу ошибок. Хотелось бы узнать опыт других по этому поводу, например параметры для мейк файла. (Я использую последнюю версию WinAVR 20100110 и AVR Studio 4.18 build 692)
     
  19. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Я для сборки использую Eclipse с плагином для авр-ок. В нем вообще о майкфайле задумываться не нужно. Да и редактор кода намного удобней чем в AVR Studio.
     
  20. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Только, что заметил особенность. Из режима TX нельзя сразу переходить в режим RX и наоборот.

    Т.е переходить можно только так:
    TX->Idle->RX
    RX->Idle->TX