Autor Tema: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!  (Leído 78398 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado om@r

  • PIC12
  • **
  • Mensajes: 86
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #75 en: 10 de Octubre de 2009, 15:58:28 »
No mis cards no son TI pero pude comprobar que mis lecturas son correctas... igual eso no tendria que afectar en las lecturas.
sacando la antena del problema ,consulta el dato que das por OK de diagnostico es 0xAF ?
y trabajas con toda la trama de bytes siguientes asi como la recives ?
por lo que vi en tus primeras prueba asi era pero nose si modificaste esto ?
cuando haces lecturas todas te dan lo mismo pero no concuerda con la data que tendrias que recivir o son diferentes
en cada lectura? :shock:

Saludos!

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #76 en: 12 de Octubre de 2009, 19:08:29 »
Hola a todos:
les cuento que estoy haciendo con un grupo de la facu un proyecto con el tms3705, y estamos teniendo problemas con el byte de diagnostico... ya llevamos mas de un mes renegando y nada... recien ahora estamos leyendo "05" en el byte de diagnostico y con diferentes antenas hace lo mismo, cuando le sacamos la antena lee 00 asi q reaccionar reaciona...
ya hemos probado de todo... el programa es basado en el programa de NANO pero adaptado al CCS y con un pic 18f4550, ya que lo que pretendemos es levantar los datos con Labview.
Algo raro q notamos testeando los pines q cuando habilitamos el puerto serie por hard el pin del TX se levanta a 1, y por la hoja de datos deberia esperar en cero para recibir el byte de diagnostico... la verdad q probamos hacerlo por puerto emulado pero no andaba asi q optamos hacerlo como NANO que usa el puerto por hard para leer el RFID y el por soft para mandarlo a la PC (lo que recibimos en la PC lo visualizamos en el Hercules).
bueno si alguien nos puede llegar a dar una mano se los agredeceria...

Saludos... Jisus

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #77 en: 12 de Octubre de 2009, 20:23:11 »
hola Jisus! bienvenido al foro...
estás muy cerca de hacerlo funcionar...
creo que estás interpretando mal los datos que te llegan...
como lo interpretas al byte que entra?...
saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #78 en: 12 de Octubre de 2009, 20:37:25 »
Muchas gracias Nano por contestar... y por la rapidez... porq sigo probando y nada ... es mas instale el mikro C para ver si cambiaba algo pero parece q no entiendo muy bien la configuracion y no me funciona tu programa... pero bueno te muestro el codigo q adapte al CCS que es basicamente el tuyo adaptado:

Código: [Seleccionar]
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#USE RS232(BAUD=15625, XMIT=PIN_C6, RCV=PIN_C7, STREAM=RFID)
#USE RS232(BAUD=19200, XMIT=PIN_B7, RCV=PIN_B6, STREAM=PC)
//#use standard_io(C)


#define USB_HID_DEVICE     FALSE             //deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE  USB_ENABLE_BULK   //turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE  USB_ENABLE_BULK   //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE    1                 //size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE    1                 //size to allocate for the rx endpoint 1 buffer


#include <pic18_usb.h>     //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include <PicUSB.h>         //Configuración del USB y los descriptores para este dispositivo
#include <usb.c>          //handles usb setup tokens and get descriptor reports



char Dato=0;   // *Rec;
unsigned char Mje_ini[] = "Inicia";
unsigned char Mje_AntOK[] = "Antena Sintonizada!";
unsigned char Mje_AntNOP[] = "Error en antena!";
char Configuracion;

main() {
   setup_uart(false,RFID);
   delay_ms(1000);
   SET_TRIS_C(0xBF);


   output_bit( PIN_C6, 1);
   delay_ms(2000);

   //Soft_Uart_Init(PORTB, 0, 1, 19200, 0);    //  PC <----> uC  19200baudios   //
   fprintf(PC,"Iniciando...\n");               //Text_To_Usart(Mje_ini);   // muestra en el terminal de la Pc el mje "inicia"
                                        //lo que me indica que el puerto funciona correctamente

//////////////////////////// INICIA CONFIGURACION DEL TMS3705 //////////
   output_bit( PIN_C6, 0);   //PORTC.F6=0;         // baja linea TX

   delay_us(50);//delay_us(50);         // 50us pasa al modo IDLE
   output_bit( PIN_C6, 1); //PORTC.F6=1;         // levanta linea TX

  delay_us(2050);// espera el Tinit = 2.05ms o 2050uS
   output_bit( PIN_C6, 0);


   //Usart_Init(15625);  // inicializa usart uC <---> RFiD a 15625 Baudios
   //--------------------------------------------------------------------


   delay_us(2700);  //2140
   setup_uart(true,RFID);
   //set_uart_speed(15625,RFID);
   Configuracion=0x81;



   fprintf(PC,"variable:%x\n\r",Configuracion);

DB:  //fprintf(RFID,Configuracion); //Usart_Write (0b10000001);        // manda configuracion
     fprintf(PC,"Esperando Byte de diagnostico\n");
     while (kbhit(RFID)==0)   // espera byte de diagnostico
      {
     // fprintf(compu,"*");  //PORTC.F0=1;     // enciende led rojo que indica la espera
                        //PORTC.F1=0;     // mas que nada, es un indicador
      }

      Dato=fgetc(RFID);//Dato = Usart_Read();
      fprintf(PC,"\n Byte de diagnostico:");
      fprintf(PC,"%x \n",Dato);//Soft_Uart_Write(Dato);  // manda el dato leido a la PC

      if (Dato==0xAF)
         {
          fprintf(PC,"Dato leido Correctamente!!!...");//PORTC.F0=0;
         //PORTC.F1=1;  //enciende led verde como indicador
         }
      else {

      goto DB;           //si no es el caracter esperado vuelve
      }

     delay_us(49360);    //retardo de aproximadamente 50uS

     //Usart_Init(15625);   //habilita el puerto serie nuevamente
     output_bit( PIN_C6, 1);  //PORTC.F6=1;          //coloca en 1 la linea TX

////ESPERA LA TRAMA DE DATOS Y MANDA POR EL PUERTO SERIE EMULADO EN EL PORTB ///
      fprintf(PC,"Esperando Codigo de Tarjeta");
TD:   while (kbhit()==0)
      {
       fprintf(PC,".");  //PORTC.F0=1;
                        //PORTC.F1=0;
      }
    //  PORTC.F0=0; led
    //  PORTC.F1=1;
      Dato=fgetc(RFID);  //Dato = Usart_Read();
      fprintf(PC,"Codigo de Tarjeta:");
      fprintf(PC,"%x",Dato);         //Soft_Uart_Write(Dato);   // manda datos a la pc
      goto TD;

      for  ( ; ; );
 }


ya probe con todo lo q puedas imaginar, cambie hasta los delay y todo  pero nada... creo q la interpretacion es igual a la que haces vos en el primer firmware que subiste a no ser q hayas modificado algo...
yo el 05 que leo lo interpreto que puede llegar a ser la parte alta del AF como que la lee truncada pero no se es solo suposicion... a vos q te parece??? la verdad q ya no se nos ocurre q mas probar... la placa es la q sale en la nota de aplicacion y la revisamos miles de veces y esta bien...

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #79 en: 12 de Octubre de 2009, 20:43:35 »
tienes que complementar el byte que llega e intercambiar los nibles...
ya está.... a vos te llega el 0x05 es decir... 0b00000101,...
complementado seria 0b11111010 e intercambiando los nibles sería 0b10101111,... eso en hexa es 0xAF!!  :mrgreen:
comprendes?
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #80 en: 12 de Octubre de 2009, 21:01:00 »
Muchisimas gracias NANO... sos una masa... si te entendi ... despues lo voy a arreglar a eso y ver si recibo los codigos de las tarjetas... la verdad q te agradecemos muchisimo... ya hace mas de 1 mes q estabamos con esto y no escribi en el foro porq pense q estaba finalizado... y queda un mes para presentar el proyecto andando... asi q hasta las manos... ya te voy a dar novedades mañana cuando lo lleve a la facu y lo vea en el osciloscopio... estamos cursando 5to año de ing electronica en la UTN de cordoba... creo q vos tambien haces la carrera en la UTN de TUCUMAN...
bueno NANO te dejo... mañana te tiro las novedades que tengo... de todas maneras me resulta extraño el el TX del micro por hard se ponga en 1 cuando lo habilito... pero si vos decis q ya lo tenemos... esperemos q sea asi jejejej...

de nuevo Muchas Gracias... JISUS   :lol:


Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #81 en: 12 de Octubre de 2009, 21:58:49 »
asi es soy de la UTN de Tucuman, tambien curso 5to.... (para que materia es el proyecto?)
bueno a ver espero tus resultados...
estoy para ayudar.
Saludos!  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #82 en: 12 de Octubre de 2009, 22:47:47 »
Nano:
el proyecto es el integrador de 5to... metemos aplicada 3, medidas 2, y tecnicas digitales 3... q en realidad ya la curse el año pasado... pero dos de los cuatro chicos que hacen grupo conmigo la estan haciendo este año... esperemos llegar con el proyecto porq sino a recursar todo...
la verdad q 5to año es sumamente pesado en la UTN de cordoba... sobre todo con los practicos de laboratorio de potencia (en especial el de la fuente conmutada) y el practico del amplificador de RF para aplicada 3 el cual estoy haciendo la placa... y compañeros del año pasado ya me han dicho q se reniega bastante...
no se que tal sera 5to en Tucuman? muy pesado?... encima en 6to tenemos las electivas (3) +  economia (muy pesada ya q es cuatrimestral) + la tesis...


bueno capaz q nada que ver charlar esto por aca pero no se si se podran mandar mensajes en privado... cualquier cosa avisame o te paso mi mail....



Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #83 en: 13 de Octubre de 2009, 03:32:21 »
ok pasamos a mjes privados para no salirnos del tema....
saludos
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #84 en: 13 de Octubre de 2009, 11:37:37 »
Por aqui nuevamente... todavia no hemos ido a la facu a ver las señales en el osciloscopio pero seguimos probando y tenemos problemas en la parte q seria la recepcion del codigo del tag ( hemos probado con el llavero y la tarjeta), por el momento recibimos el AF de diagnostico pero cuando pasamos el tag no lee absolutamente nada...
Ahora estamos probando meter todo en un while, cosa q si no lee la tarjeta vuelva a iniciar todo el programa de nuevo para ver si detecta el codigo... pero nada... probamos con varias antenas y todas nos dan AF de diagnostico pero la tarjeta no las lee...

Nano vos en el programa final tuyo modificaste mucho mas de lo q hay en la pag??? los tiempos y esas cosas... a mi me sigue preocupando que el TX se pone en 1 cuando lo habilito, que creo q a vos no se te pone en uno por la logica de tu programa... no se si estoy en lo correcto???...

Probe tambien en vez de la bobina ponerle una R y detecta FF asi q aparentemente anda...

Bueno la verdad ya no sabemos q pensar... si alguien nos da una mano se agradece mucho...

tengo una duda mas... si despues de despertar el chip y tener el bit de diagnostico AF, no se le pasa la tarjeta por un tiempo de 0,9 mseg hay q despertar nuevamente el chip? o estoy equibocado... ese tiempo lo saque del diagrama de una de las hojas de datos...

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #85 en: 13 de Octubre de 2009, 11:41:36 »
hola jisus, debes seguir al pie de la letra el diagrama que ya había subido en el mensaje 9



saludos
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado om@r

  • PIC12
  • **
  • Mensajes: 86
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #86 en: 14 de Octubre de 2009, 12:18:31 »
Hola Jisus ,el pulso para despertar el ci.  si queres hacer lecturas continuas podes programar el pulso txct para que suceda
en forma ciclica ,repitiendo el ciclo tendras al ci. simpre despierto a la espera de una lectura ,no hace falta que esperes un tiempo para despertar al ci.
Sobre tu duda sobre el pulso txct que ves que se pone en 1 cuando lo habilitas ,es algo que no tendria
que pasar en forma inmediata... fijate que ese pulso durante su estado bajo es donde se produce el byte de diagnostico y tambien se produce el tiempo de carga al transponder ,si ese tiempo es corto es probable que no llegue a energizar el transponder . 
En la hoja de datos esta toda la info . sobre los tiempos de cada estado que toma la señal txct.
Te pego unas imagenes de las señales tanto txct como la de scio ,el pulso que fuera del pulso txct es el pulso de diagnostico en azul.

Saludos!

http://img73.imageshack.us/img73/402/sealestxctscio.jpg
http://img73.imageshack.us/img73/1899/lecturatransponder.jpg
http://img230.imageshack.us/img230/1589/tms3705.jpg

Desconectado Jisus

  • PIC10
  • *
  • Mensajes: 31
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #87 en: 14 de Octubre de 2009, 15:57:59 »
Muchisimas gracias Nano y Omar:

les cuento q fui al laboratorio y hice unas mediciones y algo raro esta pasando... no se q es... osea en realidad creo q el culpable ese ese maldito 1 q se me pone la linea del TX cuando activo el RS232 por hard....

miren la imagen



ahi les indique mas o menos todo lo q pienso que es cada cosa (disculpen la foto jajajja no tenia pen para bajar la imagen)....

Yo hago una pregunta a alguno que tenga idea del CCS... hay alguna forma de activar solo el RX por hard sin tocar el tx?? o por lo menos algo para q no se levante a 1 que no se porq es... yo creo q se puede hacer tocando los registros pero no entiendo el compilador como maneja los registros del micro... ya q revise la libreria 18f4550.h y no estan ahi como por lo general deberian estar (estoy trabajando con micros freescale q si tienen todos los registros en la libreria del micro)... bueno si alguien me puede ayudar lo agradesco porq eso creo q es mi gran problema...
yo para activar el puerto seri uso setup_uart(true,RFID);  y para desactivar setup_uart(false,RFID);

hay alguna otra forma para hacer eso??? es la unica q eh encontrado en el compilador...

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #88 en: 14 de Octubre de 2009, 17:31:02 »
mmmm entiendo tu problema,...
yo presisamente no soy el maestro del CCS, recien empezé con éste lenguaje y el mikroC hace 2 años,
anmtes programaba en assembler,...
  :? a ver se solucita ayuda a algun experto  :?
saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado om@r

  • PIC12
  • **
  • Mensajes: 86
Re: Lector RFiD TMS3705 - (otro proyecto de mi lista :) ) - FINALIZADO!
« Respuesta #89 en: 14 de Octubre de 2009, 19:43:56 »
Hola a Todos!
Jisus.. mirando la image ,creo que tienes suerte de leer al menos el byte de diagnostico!  :shock:
cuando el pulso de txct cae el ci no irradia energia alguna ,prueba la carga que tiene como antena cuando termina ese proceso tiempo por medio recien hay irradia la energia para activar el transponder.
Si queres hacer pruebas con lecturas no hace falta que escribas dato alguno por default el ci. lee.

Saludos!