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

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

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

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

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

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

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

 
Опции темы
Непрочитано 29.09.2008, 19:33  
veselize
Частый гость
 
Регистрация: 13.01.2008
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
veselize на пути к лучшему
По умолчанию

чето хрень какаято ...(
никак не принять мне .. получаю только первый байт а после одни нули((

по даташиту кстати на TRC102 если FINT единица то значит что в фифошке есть данные.... у мя на прерывание стоит. читаю по SPI притягивая nFSEL к нулику как рекомендовано..и только первый байт верен...остальное по 00...

PORTD.7=0; это nFSEL к нулю тащу...

SPDR=0xFF;
while(!(SPSR & (1‹‹SPIF)));
incomingdata[0]=SPDR;

SPDR=0xFF;
while(!(SPSR & (1‹‹SPIF)));
incomingdata[1]=SPDR;
PORTD.7=1;


где грабли? пдскажите плиз...
Реклама:
veselize вне форума  
Непрочитано 29.09.2008, 19:40  
alexandr_nx
Частый гость
 
Регистрация: 26.03.2006
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexandr_nx на пути к лучшему
По умолчанию

Выложи лучше полный исходник.
Сколько байт пересылаете?? как я понял из примера у тебя массив принимаемых данныз? цикл приема точно правильный, переменную цикла учвеличиваешь??
__________________
Сгорело не сгнило!!
alexandr_nx вне форума  
Непрочитано 29.09.2008, 19:50  
An_private
Прохожий
 
Регистрация: 18.06.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
An_private на пути к лучшему
По умолчанию

Сообщение от veselize
чето хрень какаято ...(
где грабли? пдскажите плиз...
Ничего не понятно. Если выборка прямо из FIFO, то где работа с nFFS? Если выборка через команду fifo read, то где посылка 0xB000?
An_private вне форума  
Непрочитано 29.09.2008, 21:00  
veselize
Частый гость
 
Регистрация: 13.01.2008
Сообщений: 12
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
veselize на пути к лучшему
По умолчанию

передаю вот так
tx_on(); ..включение перед
delay_ms(5); на случ всякий
PORTB.2=0; выборка кристалла
spi_tx(0xB; команда
spi_tx(0x2D); синхра
while(PINB.4 != 1); следим за готовностью передавать дальше (SDO транс)... пока это не сделал приемник вообще ничего не ловил
spi_tx(0xD4); синхра
while(PINB.4 != 1);
spi_tx(0x56); собствноо данные
while(PINB.4 != 1);
spi_tx(0x57); собствноо данные
while(PINB.4 != 1);
spi_tx(0x00); как рекомендуют в конце передачи
while(PINB.4 != 1);
PORTB.2=1; не выбираем кристалл

преамбулу не передаю так как использую TX регистр ...написано что передаст сам)

на 16 ноге DDET повесил светодиодик...один фиг что в эфире постоянно что то летает и он моргает без передыху. время отклика MED

выход 7 FINT описано что когда трансивер получил синхру и фифошка полна то выскочит 1...заведено на прерывание.

по прерыванию следущее

PORTD.7=0; притягиваем nFSEL к 0.
SPDR=0xFF;
while(!(SPSR & (1‹‹SPIF)));
incomingdata[0]=SPDR; ловим 1ый байт (все честно)
SPDR=0xFF;
while(!(SPSR & (1‹‹SPIF)));
incomingdata[1]=SPDR; ловим 2ой байт (ноль)
PORTD.7=1;

непонятно когда читать второй байт ..по какому признаку ? я просто все подряд читаю ...
да ...работаю на 900 мгц
veselize вне форума  
Непрочитано 29.09.2008, 22:10  
fawkes
Частый гость
 
Регистрация: 05.04.2008
Сообщений: 20
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fawkes на пути к лучшему
По умолчанию

veselize, конфигурацию фифы смотри, я тоже попал на подобную шутку, там должно стоять 15 бит (F) просто написано в даташите, типа, если ваша мелкосхема медленная, то ставьте это число меньше, если шустрая, то больше. Короче у меня прерывание стояло по 8 бит, вот он и читал только первую половину. Если читаешь по нормальному (читай аппаратному) SPI, то смело ставь полный буффер, ибо он успевает все это дело прочитать еще до того, как начнется передача следующего байта.
fawkes вне форума  
Непрочитано 30.09.2008, 01:20  
alexandr_nx
Частый гость
 
Регистрация: 26.03.2006
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexandr_nx на пути к лучшему
По умолчанию

Насколько я разобрался за прием отвечат нога FINT если когда она в нуле тогда буфер заполнился и можно читать данные
Вот мой примерчих организации приема, правда на асме,) как умел,))
Код:
WaitDDET:	sbis	PinB,1
	    	rjmp	pc-1
		ldi	Zl,low(rxbuff)
		ldi	Zh,high(rxbuff)
		ldi	count,8
WaitFINT:	sbis	PinD,2
		rjmp	pc-1
		cbi	PortB,0 	;(Fsel down)
		clr      temp
		rcall write_spi
		st	X+,temp
		dec	count
		brne	WaitFINT
		sbi	PortB,0 	;(Fsel up)
НАдеюсь прояснить тень,)
__________________
Сгорело не сгнило!!
alexandr_nx вне форума  
Непрочитано 05.10.2008, 11:15  
ArgusB
Временная регистрация
 
Регистрация: 15.06.2008
Сообщений: 57
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 8 сообщении(ях)
ArgusB на пути к лучшему
По умолчанию

Сообщение от alexandr_nx
Вот мой примерчих организации приема, правда на асме,) как умел,))
Код:
WaitDDET:	sbis	PinB,1
	    	rjmp	pc-1
Кстати есть один косяк. Он приехал из аппнотеса по программированию, а мы, как Абизяны, его скопировали. Смысл в том, что на ножке Ddet (16) сигнал появляется спорадически, то есть спонтанно, и слабо привязан к существующим реалиям. Если короче, то от помех. А реально принятый пакет вызывает появление ddet на период до нескольких секунд. Вывод - просто убрать из программы всякую реакцию на этот сигнал, и без него прекрасно работает.
ArgusB вне форума  
Непрочитано 06.10.2008, 01:48  
alexandr_nx
Частый гость
 
Регистрация: 26.03.2006
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexandr_nx на пути к лучшему
По умолчанию

Ну можно и так,) у меня и так в принципе работает,) тока антену надо нормальную прикрутить будет.
__________________
Сгорело не сгнило!!
alexandr_nx вне форума  
Непрочитано 15.10.2008, 15:33  
_grey_
Частый гость
 
Регистрация: 13.12.2006
Сообщений: 47
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_grey_ на пути к лучшему
По умолчанию

прочел я всю ветку. Трансиверы супер, но ненравятся мне эти все индуктивности и емкости на выходе...
Подскажите пожалуйсто, зачем они?? можно ли без них??
если использовать рамочнуб PCB антенну, как рекомендует nordic в своих опноутах
http://www.nordicsemi.no/files/Produ...tesallnRFn.pdf

Я так понял, что это все для согласования с 50 оМ..
тагда почему не использовать балун??
http://www.macom.com/DataSheets/ETC1-1-13.pdf
и антену
https://kazus.ru/forum/topic_6076-0-asc-0.html

хотелось бы услышать мнение более опытных людей по этому поводу..

-- Прилагается рисунок: --

_grey_ вне форума  
Непрочитано 15.10.2008, 19:41  
alexandr_nx
Частый гость
 
Регистрация: 26.03.2006
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexandr_nx на пути к лучшему
По умолчанию

Идея не плохая, вот тока в трансивере нужно питание подавать, на выходы RF они как написано в доках с открытым коллектром
__________________
Сгорело не сгнило!!
alexandr_nx вне форума  
 

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

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

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

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

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


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


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