ImageImageImageImage
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

Problema ICD-3 debugea pero no programa

Postea todo lo relacionado con el mundo de los microcontroladores aquí

Moderator: Junta Directiva

Post Reply
User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Problema ICD-3 debugea pero no programa

Post by fusion » Fri Mar 15, 2013 12:23 pm

Funciona en modo debugger pero no en programmer:

Le he conectado el dspic30f3013 y en modo debugger vá muy bien (ahora que sé que hay que dar al botón para meter el programa en el pic), trasmito y leo desde la uart-2 (la uart-1 la usa el debugger para programar y debugear al pic), he comprobado con labview que puedo meterle datos y salen bien, ahora bien, el problema es que cuando selecciono en "modo programador", pues puedo "buildear" y meter en el pic, pero este se queda parado, he probado a apagarlo y encenderlo a ver si salen los datos por el puerto-2 pero nada ¿hay que dar a algún botón para que el pic arranque?

Por cierto, hay que quitar el TX de la uart externa pues al pic le sienta fatal que le entren 3v cuando no está alimentado. El TX se le mete cuando ya está alimentado y se le quita antes de apagarlo

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by Ranganok » Fri Mar 15, 2013 1:15 pm

Para el TX un diodo -entre TX (A) y VCC (K)-, y un fusible ptc para cortar la corriente. De esta forma te evitas sobresaltos.

Pregunta tonta ¿Una vez programado quitas el ICD-3? lo digo porque sino se queda en reset...

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Tue Mar 19, 2013 8:40 am

Pues no sabía que hay que quitarlo, imagino solo hay que quitar el pin del reset (no el PGC y PGD).
Gracias también por lo del fusible

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Tue Mar 19, 2013 3:35 pm

Sigue sin funcionar. ¿Conviene poner un retardo en MCLRn RC?.
¿Se puede poner en vez del diodo y el fuse una resistencia de 220ohm en el RX? (no creo influya mucho a la velocidad pues vá a 38400bps) he visto que el máximo rating en cada pin es 25mA, imagino habrá un par de diodos de clamp en la entrada de cada señal.

He visto que el ICD-3 en modo programación permite dejarlo en reset:"Hold in Reset" o salir del mimo: "Release From Reset" . Imagino que activará el reset para programar:
Image

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Wed Mar 20, 2013 1:25 pm

He puesto una señal que cambia de 1 a 0 en la rutina principal. Cambia de nivel sin problemas en modo debug, pero en modo programación el canal CH3 conectado a TX2 y el canal CH1 conectado a RC14 aparecen así:
Image
Por lo que sea no están bien programados, es como si estuvieran en alta impedancia

Mi pregunta es: ¿es culpa del programador o es que tengo las salidas en modo entrada o algo así?

Así he programado el pic:

Code: Select all

void setup(void)
{
	LATCbits.LATC13=LATCbits.LATC14=0;//FLAG# //borrar!!

		//configurar aquí puertos analogicos y digitales
		// Configure AN6,7 as analog inputs:
		ADCON3bits.ADCS = 0xC0; // Tad = 266ns, conversion time is 12*Tad
		ADCON1bits.ADON = 1;   // Turn ADC ON
		TRISB=0xFFFF; //Todos los puertos B son inputs
		TRISC=0x8FFF; //Puertos C13 y 14=outputs, resto inputs
		TRISD=0xFFFF; //Puertos D todos inputs
		ADPCFG=0xC0;  //puerto AN6(Vbat) y AN7 analógicos, resto digitales
		//ATENCION, RB0,1,2,3,4,5 son entradas de sensor de trenes 0,1,2,3,4,5
	
		//Configurar Uart-1
		U1BRG = Fcy/BAUDRATE/16-1; // 9600 baud @ 14.7456 MIPS
		U1STAbits.UTXISEL = 1; // interrupt when TX buffer is empty   ??
		U1MODEbits.UARTEN = 1; // Enable UART-1
		U1STAbits.UTXEN   = 1; // Enable TX-1
		//Configurar Uart-2
		U2STAbits.UTXISEL = 1; // interrupt when TX buffer is empty   ??
		U2BRG = Fcy/BAUDRATE/16-1; // 9600 baud @ 14.7456 MIPS
		U2MODEbits.UARTEN = 1; // Enable UART-2
		U2STAbits.UTXEN   = 1; // Enable TX-2

		// Configure Timer 1
		// In this example, I'm setting PR1 and TCKPS for 8Hz  (8=30MHz/14648/preescaler  Preescaler=128)
		PR1 = 65535;          // Set the Timer 1 period (max 65535)
		TMR1 = 0;             // Reset Timer 1 counter
		IEC0bits.T1IE = 0;    // Disable Timer 1 interrupt
		T1CONbits.TCKPS = 3;  // Prescaler (0=1:1, 1=1:8, 2=1:64, 3=1:256) Frecuencia=Fcy/256=57600hz=17.36us
		T1CONbits.TON = 1;    // Turn on Timer 1

	//Leer puerto de entrada: {RD9 RD8 RB9 RB8}
	REPDIR=(byte) (  ((PORTD>>6)&0xC) + ((PORTB>>8)&0x3) );
	LATCbits.LATC13=LATCbits.LATC14=1;//Líneas de SALIDA de control de Hope1 y Hope2


	//byte periodo_TX indica cuando mando el primer comando por TX, 
	//multiplexado cuya frecuencia depende del número de trasmisor:
	periodo_TX=REPDIR+PERIODO;
}
En mi pic:
RX1 coincide con RF2
TX1 coincide con RF3
RX2 coincide con RF4
TX2 coincide con RF5

¿He de configurar F2 y F4 como entrada y F3 y F5 como salida?

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Thu Mar 21, 2013 9:39 am

El problema es que el pic no puede ir a más de 7MHz en el programador. (Por un motivo que ignoro sí funciona en el debugger)

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by Ranganok » Fri Mar 22, 2013 12:14 pm

¿Has mirado que tengas bien programados los fuses? No se me ocurre otra explicación.

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Mon Mar 25, 2013 8:36 am

Es que a más de 7Mhz los cables de alimentación tienen una inductancia muy grandes, por eso hay que poner condensadores smd de 1nF muy cerca de las patas. Te lo confirmo cuando haga el PCB. Estoy bastante conento con el resultado a pesar de los problemas pues me vá mejor el pic que el pc con labview y cuando lo suba a 15MHz será la caña (a 30MHz me consume demasiado)

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by Ranganok » Tue Mar 26, 2013 12:22 pm

fusion, Te está dando problemas a 7MHz? supongo que tendrás cables muy largos y sin apantallar porque sino no me lo explico. De todas formas no debería funcionar de forma distinta usando el debugger o el programador.

Hay algo raro ahí y habría que respasar la electrónica por si hay algo que no cuadra.

Por cierto, olvidate de LabView si necesitas algo de velocidad, si sabes programar en C y no quieres perder las librerías de National usa mejor el LabWindows.

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
fusion
Usuario Avanzado
Usuario Avanzado
Posts: 389
Joined: Tue Oct 09, 2007 2:12 pm
Nombre: Javier Lopez Segura
Location: Madrid
Contact:

Re: Problema ICD-3 debugea pero no programa

Post by fusion » Thu Apr 04, 2013 8:39 am

fusion, Te está dando problemas a 7MHz?
No me he explicado bien, tengo problemas a 14MHz, a 7 me vá bien, veré que tal vá cuando monte el PCB
Por cierto, olvidate de LabView si necesitas algo de velocidad, si sabes programar en C y no quieres perder las librerías de
National usa mejor el LabWindows.
Pues me has dado la respuesta antes de que hiciera la pregunta :), resulta que con labview corre poco y pierdo un 13% de paquetes, probaré con labwindows a ver que pasa :)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest