Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
01.05.2009, 02:42
|
|
Прописка
Регистрация: 03.05.2005
Адрес: Москва
Сообщений: 289
Сказал спасибо: 1
Сказали Спасибо 25 раз(а) в 23 сообщении(ях)
|
trs
К сожалению многие рассматривают такие устройства
по принципу "что засунул то и вынул" передатчик то
конечно передаст то что ему дали ,а вот приемник,
он обычно без начальной синхронизаци не принимает
пакет данных я правда в деталях не читал на эту
микруху но это первое что пришло в голову
|
|
|
|
01.05.2009, 10:54
|
|
Временная регистрация
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
|
Сообщение от O_kazus
|
Д При передаче видно по осцилографу, что идут пакеты, а приемник не видит паттерн.
|
А что он видит? Несущую видит? А передаём как и то именно?
|
|
|
|
01.05.2009, 21:22
|
|
Частый гость
Регистрация: 23.05.2007
Сообщений: 24
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
|
Немного разобрался. Приемник работает. Я установкой бита 2 в регистре "FIFO and RESET Mode Configuration Register" (без AAAA2DD4)заставил приеный регистр заполняться всяким мусором и подтверждать заполнение на ножке FINT. Проблема с передачей. Буду разбираться дальше. Осцилограф у меня 500 мгц, а передатчик настроен на частоту 315 мгц. При передаче видно пакет, а что передает не могу увидеть. С ООК-модуляцией было проще. На осцилографе было видно, что в эфире. Спасибо Всем кто откликнулся.
Да, Всех с праздником!!!
|
|
|
|
04.05.2009, 20:47
|
|
Частый гость
Регистрация: 23.05.2007
Сообщений: 24
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
|
Добрый вечер Всем.
Три праздничных дня потратил на поиск причины, что именно не работает приемник или передатчик, результат нуль.
Конфигурация стандартная, скорость передачи 4800 бод . Вот кусок моего кода, что я хочу передать:
void txtest(void)
{
nCS = 0;
nFSEL = 1;
WriteSPI(TXCommand);
while( SDI );
WriteSPI(0xAA);
while( SDI );
WriteSPI(0xAA);
while( SDI);
WriteSPI(0x2D);
while( SDI);
WriteSPI(0xD4);
while( SDI);
WriteSPI(0x3E);
while( SDI);
WriteSPI(0x3F);
while( SDI);
WriteSPI(0xAA);
while( SDI);
WriteSPI(0x00);
nCS = 1;
nFSEL = 0;
}
На 16 ноге приемника при передаче появляются импульсы, а FINT не реагирет ни как. SPI аппаратный, проц. PIC18F4550, кварц 12 мгц, частота проца - 48 мгц, настройка SPI - OpenSPI(SPI_FOSC_64, MODE_00, SMPEND); Где еще искать? Эту тему прочитал вдоль и поперек, вроде все ясно, но результата нет.
|
|
|
|
04.05.2009, 21:30
|
|
Временная регистрация
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Вот моя функция передачи байта:
void TrcSendByte(unsigned char cData)
{
WriteCmd(0x8239);
delay_ms(5);
LO(CS);
HI(NFSEL);
TRCSpiSend(0xB8,0);
TRCSpiSend(0xAA,1);
TRCSpiSend(0xAA,1);
TRCSpiSend(0x2D,1);
TRCSpiSend(0xD4,1);
TRCSpiSend(cData,1);
TRCSpiSend(0xAA,1);
TRCSpiSend(0x00,1);
HI(CS);
LO(NFSEL);
WriteCmd(0x8201);
}
Использую SPI, т.к. получить пакет командой чтения FIFO не смог. Получил пакет, только читая SPI.
|
|
|
|
05.05.2009, 21:07
|
|
Прохожий
Регистрация: 10.06.2006
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Всем привет !
Мои наработки для приема- передачи, с использованием буфера FIFO, в прикрепленном файле.
Прикрепленный файл: 8201186.rar
|
|
|
|
06.05.2009, 15:26
|
|
Частый гость
Регистрация: 23.05.2007
Сообщений: 24
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
|
Ну наконец-то вчера запустил передачу и прием. Дело действительно было в передатчике. Как только передача пошла, приемник сходу принял все, что я передал. Ошибка была в переназначении выводов линии SPI, SDI и SDO. С м/с TRC101 выходит SDI, а в проц приходит на SDO, я сделал #define SDI PORTCbits.RC7, что является выходом PICa. Было " while( SDI == 0);", а надо "while( SDO == 0);". Подчищу свои исходники и затем выложу, если комуто еще интересно. А сейчас прикрепляю файл моего перевода TRC101. Его я не вылизывал, кто хочет может подправить, а мне и так было ясно.
Прикрепленный файл: 7541535.rar
|
|
|
|
07.05.2009, 11:26
|
|
Частый гость
Регистрация: 23.05.2007
Сообщений: 24
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
|
Осталась единственная проблема со считыванием регистра статуса аппаратным SPI. Может у кого есть такой опыт.
Код:
|
SDI = 0;
rd = ReadSPI();
rd1 = ReadSPI(); |
Заранее спасибо.
|
|
|
|
06.08.2009, 09:39
|
|
Прохожий
Регистрация: 06.08.2009
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если SPI аппаратный, делайте так:
WriteSPI(0);
rd = ReadSPI();
rd1 = ReadSPI();
|
|
|
|
10.09.2009, 18:00
|
|
Прохожий
Регистрация: 16.10.2007
Сообщений: 4
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Однокристальные трансиверы TRC101 от RFM...
Народ, как успехи? Взял пару TRC102 для опытов. Хочу запустить на 433 МГц, есть у кого удачная разводка ВЧ части в SprintLayOut?
Если есть полные рабочие примеры на Си для PIC для передатчика и приемника - поделитесь, пожалуйста.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:19.
|
|