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

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

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

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

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

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

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

 
Опции темы
Непрочитано 17.01.2009, 23:15  
ArgusB
Временная регистрация
 
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
ArgusB на пути к лучшему
По умолчанию

Когда FIFO заполнится, и сигнал FINT появится. СМ. Даташит, страница 24, Alternate Read Method.
Реклама:
ArgusB вне форума  
Непрочитано 17.01.2009, 23:34  
crocko
Временная регистрация
 
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
crocko на пути к лучшему
По умолчанию

Только этим Alternate Read Method`ом и смог правильно прочитать принятый байт. Командой из даташита читалась всякая ерунда. Вообще даташит написан просто ужасно
2 ArgusB: nFSEL после приема первого байта поднять и опять ждать высокого уровня FINT для чтения?
crocko вне форума  
Непрочитано 18.01.2009, 09:46  
ArgusB
Временная регистрация
 
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
ArgusB на пути к лучшему
По умолчанию

Отмотай эту ветку на страницу 13 - там этот вопрос по косточкам обсосан.
ArgusB вне форума  
Непрочитано 18.01.2009, 17:28  
crocko
Временная регистрация
 
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
crocko на пути к лучшему
По умолчанию

Спасибо. И как я смотрел. Три дня назад прочитал всю ветку от начала и до конца
crocko вне форума  
Непрочитано 08.03.2009, 18:59  
alekst
Прохожий
 
Регистрация: 10.06.2006
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alekst на пути к лучшему
По умолчанию

сегодня, 8 марта 2009, наконец-то получил передачу- прием данных на TRC101. Я вижу, есть люди (_grey_ на 21 странице темы, от 15 января) , которые уже отчаялись с запуском этих приемо-передатчиков. Но прошло уже около 2-х месяцев с последних сообщений по теме...
В общем, если кому еще есть интерес к trc101, мои фрагменты исходников для PIC (PIC16F876A), которые я написал (язык СИ):
while(1) // основной цикл приема
{
// чистим и устанавливаем бит 1 для перезапуска
//опознования синхронного образца:

WriteCMD(0xCA80);
WriteCMD(0xCA82);

CheckSum=0;

nCS=1;
nFSEL=0;
// это точки для отладки в MPLAB ICD2

asm("nop");
// первый принимаемый байт - число передаваемых
//байтов
n = READ_BYTE();
asm("nop");
// второй принимаемый байт - контрольная сумма
ks = READ_BYTE(); asm("nop");
// основная информация принимвется здесь
for (j=0; j ‹ n; j++)
{
BUFER[j]=READ_BYTE();
// подсчитываем контрольную сумму
CheckSum=CheckSum+BUFER[j];
};
asm("nop");

if (CheckSum==ks)
{
// зажигаем светодиод, если равно - прием верный:
LED=0;
}
DelayMs(250); // мс всего
LED=1; // гасим


}

и еще :


//************************************************** ***********
unsigned char READ_BYTE(void) // чтение FIFO обращением к регистру
{
unsigned char i, temp;
SCK=0;
temp=0;
mm1:
if (nFINT) // ждем когда поднимется - значит байт принят
{

for(i = 0; i‹16; i++)
{
temp=temp‹‹1;
SCK=1;
DelayUs(5);
if (SDO) temp=temp|0x01;
i++;
SCK=0;
DelayUs(5);
} ;
return temp;
};
goto mm1;
}


Изюминка чтения буфера FIFO альтернативным методом чтения для меня оказалась в том, что его надо считывать 16-ю тактами , и только с 9 по 16 такты нужный мне регистр заполняется данными... Ну все правильно, FIFO 16- разрядный, данные заполняются , например, справа, а читаю с вывода SDO слева, нужная мне информация будет с 9 по 16-й такты. При заполнении буфера FIFO 8-ю битами (число предварительно запрограммировано) nFINT поднимается в 1, к этоту моменту первые 8 бит на ножке SDO ,будут нулями, вторые 8 бит -нужные данные...
alekst вне форума  
Непрочитано 08.03.2009, 19:00  
alekst
Прохожий
 
Регистрация: 10.06.2006
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alekst на пути к лучшему
По умолчанию

сегодня, 8 марта 2009, наконец-то получил передачу- прием данных на TRC101. Я вижу, есть люди (_grey_ на 21 странице темы, от 15 января) , которые уже отчаялись с запуском этих приемо-передатчиков. Но прошло уже около 2-х месяцев с последних сообщений по теме...
В общем, если кому еще есть интерес к trc101, мои фрагменты исходников для PIC (PIC16F876A), которые я написал (язык СИ):
while(1) // основной цикл приема
{
// чистим и устанавливаем бит 1 для перезапуска
//опознования синхронного образца:

WriteCMD(0xCA80);
WriteCMD(0xCA82);

CheckSum=0;

nCS=1;
nFSEL=0;
// это точки для отладки в MPLAB ICD2

asm("nop");
// первый принимаемый байт - число передаваемых
//байтов
n = READ_BYTE();
asm("nop");
// второй принимаемый байт - контрольная сумма
ks = READ_BYTE(); asm("nop");
// основная информация принимвется здесь
for (j=0; j ‹ n; j++)
{
BUFER[j]=READ_BYTE();
// подсчитываем контрольную сумму
CheckSum=CheckSum+BUFER[j];
};
asm("nop");

if (CheckSum==ks)
{
// зажигаем светодиод, если равно - прием верный:
LED=0;
}
DelayMs(250); // мс всего
LED=1; // гасим


}

и еще :


//************************************************** ***********
unsigned char READ_BYTE(void) // чтение FIFO обращением к регистру
{
unsigned char i, temp;
SCK=0;
temp=0;
mm1:
if (nFINT) // ждем когда поднимется - значит байт принят
{

for(i = 0; i‹16; i++)
{
temp=temp‹‹1;
SCK=1;
DelayUs(5);
if (SDO) temp=temp|0x01;
i++;
SCK=0;
DelayUs(5);
} ;
return temp;
};
goto mm1;
}


Изюминка чтения буфера FIFO альтернативным методом чтения для меня оказалась в том, что его надо считывать 16-ю тактами , и только с 9 по 16 такты нужный мне регистр заполняется данными... Ну все правильно, FIFO 16- разрядный, данные заполняются , например, справа, а читаю с вывода SDO слева, нужная мне информация будет с 9 по 16-й такты. При заполнении буфера FIFO 8-ю битами (число предварительно запрограммировано) nFINT поднимается в 1, к этоту моменту первые 8 бит на ножке SDO ,будут нулями, вторые 8 бит -нужные данные...
alekst вне форума  
Непрочитано 16.03.2009, 18:32  
Alexey_1811
Частый гость
 
Аватар для Alexey_1811
 
Регистрация: 10.11.2006
Адрес: Київ
Сообщений: 34
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Alexey_1811 на пути к лучшему
По умолчанию

Может кому пригодится моя прога для конфигурирования
ТРС102.

P.S. Рад что тема не умерла!!!

Прикрепленный файл: 7693006.rar
Alexey_1811 вне форума  
Непрочитано 17.03.2009, 08:48  
ArgusB
Временная регистрация
 
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
ArgusB на пути к лучшему
По умолчанию

Оки-доки, дело хорошее. А как железо подключать?
ArgusB вне форума  
Непрочитано 17.03.2009, 11:37  
Alexey_1811
Частый гость
 
Аватар для Alexey_1811
 
Регистрация: 10.11.2006
Адрес: Київ
Сообщений: 34
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Alexey_1811 на пути к лучшему
По умолчанию

Все это дело пудключается к СОМ.
Данные регистров передаются в формате SWxxxx(13)
xxxx-содержание регистра строкой (например 8013)
Чтение статуса SR0(13) в ответ Sxxxx(13).
Alexey_1811 вне форума  
Непрочитано 30.04.2009, 19:34  
O_kazus
Частый гость
 
Регистрация: 23.05.2007
Сообщений: 24
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
O_kazus на пути к лучшему
По умолчанию

Добрый вечер Всем. Тема интересная, так как я TRC101 интересуюсь уже три месяца.За это время перевел даташит по основным командам. До этого я передавал и принимал другими ресиверами этой фирмы TR3000, и добился определенных успехов. Но у меня, как и у многих в этой теме, я увидел проблемы, которые сходу не мог решить. Не могу понять где ошибка. Использую PIC18F4550 и TRC101. При передаче видно по осцилографу, что идут пакеты, а приемник не видит паттерн. Инициализация стандартная, как прочитал в этой ветке. Может кто подскажет, где искать ошибку.
O_kazus вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Однокристальные трансиверы CC2500 (СС1100) kassiopay Микроконтроллеры, АЦП, память и т.д 2 07.06.2009 19:08


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


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