TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: dogflu66 en 28 de Marzo de 2022, 08:07:29

Título: Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: dogflu66 en 28 de Marzo de 2022, 08:07:29
Hola amigos; estoy migrando del pic18f46k22 al Pic18F46j11 u otro similar.
Tengo la duda siguiente:
Uso las dos Eusart del microcontrolador la 1 con los pin RC6 y RC7, hasta ahí no tengo problema en hacer la migración.
El problema lo tengo en que no veo claro si podré configurar la Eusart2 del Pic18F4xj11 en los pin RD6 y RD7 como tengo en el otro.
Si alguien tiene experiencia con esta serie me lo podría aclarar, gracias.
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: dogflu66 en 28 de Marzo de 2022, 12:31:00
Pues en un principio en C de CCS sería de la siguiente manera:

#Use RS232(uart1, baud=4800, parity=N, bits=8, TIMEOUT=1, Stream = PORT1)
#pin_select U2TX=PIN_D6
#pin_select U2RX=PIN_D7
#Use RS232(uart2, baud=38400, parity=N, bits=8, TIMEOUT=1, Stream = PORT2)

El módulo uart1 al no especificar nada que dará con los pin por defecto y el 2 con la configuración especificada.
Me he pedido unos micros (Pic18F46j11 y Pic18F45j50) para probar a ver que sale. Con un poco de suerte no tendré que modificar el PCB.
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: Nocturno en 29 de Marzo de 2022, 02:01:55
Según la data los pines RD6 y RD7 son remapeables (RP23 y RP24), por lo que no deberías tener ningún problema para conseguir lo que quieres:
https://ww1.microchip.com/downloads/en/DeviceDoc/39932D.pdf

De hecho, en la página 327 te indica que la USART2 se puede utilizar en pines remapeables:

The pins of EUSART1 and EUSART2 are multiplexed
with the functions of PORTC (RC6/PMA5/TX1/CK1/RP17
and RC7/PMA4/RX1/DT1/RP18) and remapped
(RPn1/TX2/CK2 and RPn2/RX2/DT2), respectively. In
order to configure these pins as an EUSART:
• For EUSART1:
- SPEN bit (RCSTA1<7>) must be set (= 1)
- TRISC<7> bit must be set (= 1)
- TRISC<6> bit must be cleared (= 0) for
Asynchronous and Synchronous Master
modes
- TRISC<6> bit must be set (= 1) for
Synchronous Slave mode
• For EUSART2:
- SPEN bit (RCSTA2<7>) must be set (= 1)
- TRIS bit for RPn2/RX2/DT2 = 1
- TRIS bit for RPn1/TX2/CK2 = 0 for
Asynchronous and Synchronous Master
modes
- TRISC<6> bit must be set (= 1) for
Synchronous Slave mode
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: dogflu66 en 30 de Marzo de 2022, 18:45:26
Gracias por tomarte la molestia. Hoy me llegaron los micros de prueba y pude adaptar uno, a ver si mañana puedo comenzar con la migración.  :-)
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: dogflu66 en 31 de Marzo de 2022, 10:27:01
Pues listo, migración realizada.
Cambiar el regulador de 5v a 3.3v.
El driver RS232 cambiarlo por otro que permita trabajar con los 3.3v.
Bajar valor a resistencia de pull_up de salida de los optoacopladores para trabajar de 5v a 3.3v.

La lastima es que el nuevo micro no permite anular el pin de /MCLR, por lo que no me queda más remedio que modificar el PCB.

 :-)
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: Nocturno en 01 de Abril de 2022, 02:38:33
Jaja, y si doblas la patita MCLR antes de ponerlo en la placa?  :D
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: DominusDRR en 01 de Abril de 2022, 09:43:19
Jaja, y si doblas la patita MCLR antes de ponerlo en la placa?  :D

Creo que se refiere a utilizar al pin MCLR como entrada lógica (Algunos microcontroladores tienen esa propiedad y pueda que sea el caso de dogflu66)
Título: Re:Cambiar del Pic18F46K22 al Pic18F4xJ11 o similar.
Publicado por: dogflu66 en 01 de Abril de 2022, 13:57:39
jajaja, este micro siempre te da la patita aunque no quieras.  :D


PD: No tiene la posibilidad de anular el /MCLR o reconfigurar a otra cosa.