I’m working in a new project with level conversion 5v to 3.3v and vice versa. I’m using a BJT NPN with 3 resistors. It’s very simple:
The base has a resistor of 47k, then at the collector there two resistors (120 y 220 ohm) to lower the level (The 5v pin goes there) and at the emitter theres is a resistor of 10k at GND. In the emitter you’ve got 3.3v
I’m working with a 18f4620 and the TRF-2.4G and i’m realy new on this. I understand the configuration word part. And i have the next:
ShokBurst
16 bits CRC
1 byte Address
29 bytes of DATA
250Kb RF data Rate
0db output power
One RF Channel (Channel #1)
Xtal Frecuency 16Mhz
RF Chanel: 2464MHz
That’s ok…
I want to do this: comunicate two pics by TRF-2.4G one receiving and the other transmiting.
But i’m a little confused. I know that it can be stupid but…how is the conetion with the pic? I seem a sample that they put it on this way:
#define TX_CE PORTBbits.RB3
#define TX_CS PORTBbits.RB2
#define TX_CLK1 PORTBbits.RB1
#define TX_DATA PORTBbits.RB0
#define RX_CE PORTAbits.RA2
#define RX_CS PORTAbits.RA3
#define RX_CLK1 PORTAbits.RA4
#define RX_DATA PORTAbits.RA1
#define RX_DR PORTAbits.RA0
that’s ok?
And another doubt is this…I have to configured the usart on the pic? to the comunication pic-rf… how can i do it? because the few that i read on the data sheet said that the configuration is used with RC6 and RC7 and i dont used them.
Sebas saludos, espero entiendas español, estoy realizando una tesis y ya tengo funcionando bastante bien el trf-2.4, pero cuando aumento la velocidad de comunicacion(SPI) entre mi trf y mi pic (16f887) no logro la transmision, solo he podido realizarla a 62500 (fosc/64) con fosc=4Mhz esto es via spi, estoy trabajando shockburst a 1Mbps con 5 bytes de addres y 8 bit CRC, y he probado con payload variable y sucede lo mismo, he analisado bien los delays necesarios y no se q pasa … porque al intentar con un clock en mi spi de 250K=(fosc/16) no logro la comunicacion??? te agradeceria cualquier ayuda!!!
CPOL y CPHA en 0. Eso es por la fase y la polaridad del de los datos segun la hoja de datos del Wenshing (o TRF2.4G) y segun mi micro que era un Freescale HCS08
El BaudRate de la SPI lo tengo en 250kbps… Recuerdo que logre hacerlo andar hasta velocidades de 1Mbps pero no recuerdo porque era que no podia hacer que funcione a menos de 250kbps… Eso es algo que no recuerdo, pero recuerdo que era sorprendente que funcione a altas velocidades, y que tenga problemas a bajas velocidades
Otra cosa que recuerdo es volverme LOCO :x con las pruebas… xq me era imposible determinar si la falla era en la recepcion o en la transmsion (… los problemas de no contar con un analizador de espectro…) pero tambien recuerdo que la mayoria de las veces, era un problema de la CONFIGURACION (tanto Tx como Rx)
El proceso de configuracion (envio de algo asi como unos 15bytes, no recuerdo bien) se debe hacer de la siguiente manera:
(OJO QUE ESTO NO ES UNA LEY, PERO ES COMO A MI ME ANDUVO)
en primer lugar antes de levantar el CS, dejo una pausa de 4ms (debido a los tiempos Tpd2stby = 3ms y Td=500ns)
Luego levanto el CS
Envio los datos de configuracion via SPI
espero nuevamente 4ms (resultado empirico, era como un tiempo de remanencia que debia dejarse, sino se “comia” los ultimos bytes de la configuracion… esta fue la clave para el exito)
Amigo voy a probar con tus recomendaciones, pero me preocupa retardar tanto (4ms) cada vez q quiera configurar mi modulo de tx a rx o viceversa… porque yo estoy emulando una comunicacion duplex, inicialmente mi modulo esta configurado como receptor, cuando recibo el payload via USART configuro el modulo como transmisor, transmito, y luego vuelvo a configurar como receptor para monitoriar el aire…
AGREGUE UN RETARDO DE 220uS (Tsby2txSB) ENTRE LA BAJADA DE CE Y LA SUBIDA DE CS AL CONFIGURAR EL MODULO, :
1- teniendo el modulo como receptor y deseo transmitir:
2- bajo CE
3- espero 220us
4- subo CS
5- mando solo el primer byte de la palabra de configuracion (donde varia solo el primer bit) para configurarlo como transmisor (tomando en cuenta los 5 us de Tcs2data
6- espero otra vez los 200us antes del bajar CS
7-transmito
8- y repito el procedimiento para configurarlo nuevamente como receptor…
y funciono… recibi perfectamente mi payload de 15 bytes en el otro micro!!!