Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
11.09.2009, 20:58
|
|
Заблокирован
Регистрация: 17.07.2007
Сообщений: 46
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
Может будет полезно почитать , там есть и разводка печатки в Спринт Лай.
http://sensor.sk6.ru/shemyi/mikrokon...diokanalu.html
|
|
|
|
16.09.2009, 23:00
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
Всем привет. Все наверное в отпусках
Ребята,подкиньте совет.Стыкую rfm02›rfm01.
Проблема:
Пересылаю 4 байта,заполнение фифо-16 бит.
Первые 2 байта-отлично:падает nIRQ,считываю фифо.
Не могу nIRQ назад поднять,парюсь вторую неделю.
Подкиньте совет хоть на пальцах,примеры на С не очень помогают,
пишу на асме под пики.
Заранее спасибо.
|
|
|
|
17.09.2009, 04:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Однокристальные трансиверы TRC101 от RFM...
Сообщение от alex1969
|
Подкиньте совет хоть на пальцах
|
Я вот смысла проблемы не понял. nIRQ поднять надо на RFM01? Он вообще то сам поднимается после считывания FIFO. Распишите подробней - в чем затык. И какие действия уже предпринимались, что бы эти предложения сразу откидывались.
|
|
|
|
17.09.2009, 08:52
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
nIRQ на rfm01-правильно.Я тоже так думаю,что должен сам,а после очередного заполнения опять упасть,указывая ,что fifo заполнен.Это теоретически.
Я сначала считываю 16 бит статуса, (их пропускаю как в примере из даташита),
затем 16 бит fifo,читаются правильно,пробовал даже менять значения для верности.
Устанавливал в настройках rfm01 прерывание на 8 бит .то же самое,считываю байт
из fifo ,но nIRQ не устанавливается в 1,для ожидания следующего заполнения fifo.
Не могу получить цикл.
nIRQ должен установиться после считывания fifo или CE88,CE8B?
|
|
|
|
17.09.2009, 13:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Однокристальные трансиверы TRC101 от RFM...
Сообщение от alex1969
|
но nIRQ не устанавливается в 1,для ожидания следующего заполнения fifo.
|
Ну давайте код - функцию чтения FIFO. Тряхнем стариной - на асме от микрочип последний раз писал лет 10 назад Кстати FIFO все же лучше использовать на 8 бит - пакеты бывают и с нечетным количеством байт.
|
|
|
|
17.09.2009, 16:43
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
c nIRQ разобрался,восстанавливается в 1 CE88+CE8B (выкл.\вкл.FIFO)
Теперь другая проблема: по мере повторного заполнения фифо должен прийти следующий nIRQ=0, а его нет ??
|
|
|
|
17.09.2009, 16:47
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
INIT_SPI NOP
MOVLW 0x00 ;High Byte
MOVWF HBYTE
MOVLW 0x00 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;RFM01 - Configuration Command 898A
MOVLW 0x89 ;High Byte
MOVWF HBYTE
MOVLW 0x82 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - Frequency Command
MOVLW 0xA6 ;High Byte
MOVWF HBYTE
MOVLW 0x40 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;RFM01 - Datarate Command 0XC823-9600 kbps ; 0XC847-4800 kbps
MOVLW 0xC8 ;High Byte
MOVWF HBYTE
MOVLW 0x91 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - AFC Command
MOVLW 0xC6 ;High Byte
MOVWF HBYTE
MOVLW 0x9B ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - Datafilter Command
MOVLW 0xC4 ;High Byte
MOVWF HBYTE
MOVLW 0x2A ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - LB Det./TX Sync. Command 2,2V / 2.5 MHz
MOVLW 0xC2 ;High Byte
MOVWF HBYTE
MOVLW 0x80 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - Receiver Setting Command
MOVLW 0xC0 ;High Byte
MOVWF HBYTE
MOVLW 0x80 ;Low Byte 86
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - FIFO Command
MOVLW 0xCE ;High Byte
MOVWF HBYTE
MOVLW 0xF4 ;Low Byte 88 ????????????
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - FIFO Command
MOVLW 0xCE ;High Byte
MOVWF HBYTE
MOVLW 0xF7 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;RFM01 - Receiver Setting Command OPEN RX
MOVLW 0xC0 ;High Byte
MOVWF HBYTE
MOVLW 0x81 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
;CALL PAUSE2
;-================================================== ==============
RX_DATA
CLRF FSR0H
MOVLW 0X80 ; FIFO
MOVWF FSR0L
MOVLW 0X8 ;
MOVWF SPI_COUNT
RX_D1 MOVFF PORTC,PC_IN
BTFSC NIRQ
BRA RX_D1
CALL PAUSE1
RX_D4 BCF MSDO
BCF MSCK
BCF NSEL
; Считывание регистра STATUS
; CALL READ_STAT
; Считывание регистра FIFO
MOVLW 24
CALL READ_FF
MOVFF TEMP,INDF0
INCF FSR0L,F
MOVLW 8
CALL READ_FF
MOVFF TEMP,INDF0
INCF FSR0L,F
; NOP
MOVLW 0xCE ;High Byte
MOVWF HBYTE
MOVLW 0xF4 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
MOVLW 0xCE ;High Byte
MOVWF HBYTE
MOVLW 0xF7 ;Low Byte
MOVWF LBYTE
CALL WR_CMD
; NOP
;RX_D2 MOVFF PORTC,PC_IN
; BTFSS NIRQ
; BRA RX_D2
DECFSZ SPI_COUNT,F
GOTO RX_D1
RX_D3 NOP
NOP
GOTO RX_D3
;-================================================== ====================
READ_FF; MOVLW 8
MOVWF COUNT
CLRF TEMP
READ_F1 BSF MSCK
MOVFF PORTC,PC_IN
BCF TEMP,0
BTFSC MSDI
BSF TEMP,0
BCF MSCK
DCFSNZ COUNT,F
RETURN
RLNCF TEMP,F
BRA READ_F1
;-----------------------------------------
Последний раз редактировалось alex1969; 17.09.2009 в 19:14.
|
|
|
|
17.09.2009, 21:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Однокристальные трансиверы TRC101 от RFM...
BCF NSEL - сброс NSEL, но я что то не нашел его установку после чтения FIFO. Собственно взвод NSEL - конец чтения FIFO. Не взводите, значит читать не закончили. И соответственно ждать nIRQ бесполезно.
Сообщение от alex1969
|
c nIRQ разобрался,восстанавливается в 1 CE88+CE8B (выкл.\вкл.FIFO)
|
А это нужно только после полного приема пакета, ну и еще неплохо при отсутствии приема делать раз в секунду. А Ваш метод просто инициализирует всю приемную часть.
|
|
|
|
18.09.2009, 23:32
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Однокристальные трансиверы TRC101 от RFM...
KISON ,спасибо,помогла рекомендация,все пошло
|
|
|
|
14.11.2009, 04:26
|
|
Частый гость
Регистрация: 26.09.2006
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Однокристальные трансиверы TRC101 от RFM...
Всем привет!!
Купил 5 шт MRF49xA.
Я ни как не могу получить несущую на частоте 433,925 от своего приемника. Я уже не говорю от том чтобы что-то передать или принять байт.
Может у кого нибудь будет пример кода как тупо заставить работать передатчик??
Посмотрел на аноуп микрочипа дак там все так запутано, а почить английский ДШ то вообще. Хавайся у бульбу. Да и не проблема читоть английский ДШ но этот просто Ж.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:16.
|
|