Autor Tema: Migro a freescale  (Leído 62925 veces)

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

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Migro a freescale
« Respuesta #15 en: 26 de Abril de 2014, 19:51:24 »
Excelente info, yo sinceramente no lo conozco mucho. Gracias por la data !

Exitos !

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #16 en: 26 de Abril de 2014, 22:01:23 »
Pondre mis datos a modo de "chuleta" asi le sirve por si a alguien le interesa, aunque creo que este tipo de MCU no le interesa a mucha gente, informacion en español habre encontrado 1 o 2 documentos que solo habla de lo basico.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Migro a freescale
« Respuesta #17 en: 27 de Abril de 2014, 07:41:25 »
Hola Merlinz, si lo desea le pongo una chichenta a tu Tutorial o projectos,
aunque seguire el tema..
Saludos

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #18 en: 27 de Abril de 2014, 09:15:38 »
Si lo hago mas completo le cambiamos el nombre y lo pones chincheta o hacemos otro post mas detallado.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Migro a freescale
« Respuesta #19 en: 27 de Abril de 2014, 10:02:34 »
perfecto....

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #20 en: 01 de Mayo de 2014, 16:29:43 »
bueno ya he hecho mi primer codigo para etpu, me ha costado porque no me funcionaba bien hasta que he descubierto porque xD, es simple, un simple pwm de 4khz a 50% era simplemente para probar.

Pongo el codigo:
Código: [Seleccionar]
void FUNC(int24 var) {
if(hsr==FUNC_HSR_INIT) { //HOST pide inicializar
SetPinLow();
SetChannelMode(em_nb_dt); //non blocking + double
SetupMatch_A(tcr1+10000,Mtcr1_Ctcr1_ge,low_high);
SetupMatch_B(erta+5000,Mtcr1_Ctcr1_ge,high_low);
} else if(MatchB) { //interrupcion para el matchB = poner en low
SetupMatch_B(ertb+10000,Mtcr1_Ctcr1_ge,high_low);
Clear(MatchBLatch);
} else if(MatchA) { //interrupcion para el matchA = poner en high
SetupMatch_A(erta+10000,Mtcr1_Ctcr1_ge,low_high);
Clear(MatchALatch);
} else { //por defecto
ClearAllLatches();
}
}

Aunque a simple vista parezca "simple" es mas complejo de lo que aparenta, el etpu trabaja por codificacion en las funciones, si os fijais los "else if" a esto se les indica una serie de registros, cuando esos registros coinciden entonces hace determinada "tarea" lo que esta en los parentesis, el caso es que directamente llega a la parte del codigo necesaria, no se pone a testear, testear y encontrar, simplemente crea una tabla donde los datos estan codificados segun los registros por ejemplo: x01xxx y salta directamente al codigo. Otra cosa a añadir es que como anteriormente decia el etpu va paralelo a la CPU por lo cual aunque yo ponga en pause el debug en la cpu el etpu sigue funcionando, desconozco la forma de debugear el etpu, se que en el codewarrior etpu me deja simularlo pero no he conseguido debugearlo directamente del micro.

Todas las funciones que veis son macros, al final se traducen en unas pocas instrucciones en asm, como por ejemplo:

SetupMatch_A(val/reg,x,attribute);
movei ert_a, <ert_val\reg>
tbs_b.ge.c2.m1
opac_a.<opac_attribute>
erw_a clr mrl_a mtd.ena

Las funciones en asm para microcode no tienen nada que ver con las de la CPU, en este caso las del microcode hacen mas operaciones en una instruccion.
« Última modificación: 01 de Mayo de 2014, 16:41:21 por MerLiNz »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Migro a freescale
« Respuesta #21 en: 02 de Mayo de 2014, 14:19:34 »
Que chulo Merlinz, enhorabuena ((:-))

No conocía lo de la eTPU, que pasada!!!

¿qué placa de desarollo es esa? Yo quiero una para ayer :D
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #22 en: 02 de Mayo de 2014, 15:23:27 »
la placa es una trk-mpc5634m.

La verdad es que si es una pasada, entre mas leo mas me impresiono, las posibilidades son enormes.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #23 en: 02 de Mayo de 2014, 21:56:18 »
Bueno hoy he conseguido imitar la señal del sensor de posicion del cigueñal, cuando usaba el dspic tenia un pic18 que emulaba la señal ya que disponia de un numero limitado de timers, en este caso como "me sobran" lo que he hecho es que el propio mcu emule la señal para asi tenerla "a mano", y lo mejor de todo es que es muy sencillo, no son mas de 30 lineas de codigo, lo unico que hace es sincronizar un canal con otro y envia las señales pertinentes.


Aunque no se vea la señal inferior simplemente es una señal constante 50% duty y nada mas, la señal superior indica la posicion de cada cilindro, y la inferior indica cada grado de la posicion del cigueñal.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Migro a freescale
« Respuesta #24 en: 02 de Mayo de 2014, 22:18:39 »
No se ve la imagen, Merlinz!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Migro a freescale
« Respuesta #25 en: 03 de Mayo de 2014, 07:37:39 »
la placa es una trk-mpc5634m.

La verdad es que si es una pasada, entre mas leo mas me impresiono, las posibilidades son enormes.

¿El chip es muy nuevo?. No veo stock en ningún sitio. :(
 ¿qué programador utilizas? El que veo en la web de Freescale vale 900$  :shock:
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #26 en: 03 de Mayo de 2014, 08:19:47 »
No es muy nuevo pero si, es complicado de encontrar, no hay stock en ningun sitio, pero de la placa de entrenamiento si hay stock. Incluso en la web de freescale no lo ponen como sample. El unico sitio con stock:
http://www.aliexpress.com/item/2PCS-LOT-SPC5634MF1MLQ80-SPC5634MF1M-144-LQFP/1836697098.html

El programador que uso es el multilink. De todas formas si te compras la placa de entrenamiento tiene su propio BDM que solo necesitas un cable usb (lo trae includo vamos xD), pero es mas lento que el programador.

MLGSOFT a mi si me sale, te sale la imagen de la placa en los primeros posts?? A ver si es que tu pais ha bloqueado ese servidor o algo xD
« Última modificación: 03 de Mayo de 2014, 08:27:06 por MerLiNz »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Migro a freescale
« Respuesta #27 en: 03 de Mayo de 2014, 08:25:01 »
No sale ninguna imagen de tu hilo... :shock: :( :(
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Migro a freescale
« Respuesta #28 en: 03 de Mayo de 2014, 08:37:52 »
a ver si en este servidor te salen:
« Última modificación: 03 de Mayo de 2014, 08:40:36 por MerLiNz »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Migro a freescale
« Respuesta #29 en: 03 de Mayo de 2014, 08:45:44 »
MGLSOFT: yo también lo veo.

Gracias MerLinz. Veo que en farnell habrá stock en unos meses:

http://es.farnell.com/jsp/displayProduct.jsp?sku=2314658&CMP=GRHB-FINDCHIPS-1000684

Pero como casi todo lo de Farnell está caríiiiisimo.

¿Para que se utiliza este micro en concreto en automoción?. Yo lo estoy mirando porque la cantidad de canales eTPU y canales PWM creo que lo hacen una buena opción para controlar motores DC. La mayoría de DSPs que veo tienen solo 1 o 2 canales para enconders y aún así los venden como "la solución definitiva para controlar steppers" :P, eso esta muy bien pero si tienes una máquina con muchos motores necesitas poner muchos chips y encima sincronizar todo el sistema  :(.

Igual me estoy equivocando y existe un chip más adecuado para lo que busco...

Un saludo!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -