Autor Tema: Aumentar número de UARTs  (Leído 3852 veces)

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

Desconectado Manel28

  • PIC10
  • *
  • Mensajes: 23
Aumentar número de UARTs
« en: 06 de Octubre de 2011, 04:54:04 »
Buenas a todos,
me gustaría presentaros mis duda. Resulta que tengo un PIC con una sola UART y con este PIC me gustaría llegar a controlar 3 UARTs. Mi pregunta es si existe algún expansor de UART o algo así que se controle por I2C/SPI o por el contrario merece la pena implementar otras 2 UART por software(creo que este caso me consumiría muchos recursos). Estoy hablando de un PIC18F4620. será demasiado proceso para el micro el controlar 3 UARTs mas un controlador ethernet? Quizás será mejor usar FPGA? Ando un poco perdido.
Gracias por la ayuda

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Aumentar número de UARTs
« Respuesta #1 en: 06 de Octubre de 2011, 10:10:36 »
Estas entre usar un 18F4620 o un FPGA!  :o  :undecided: Por ahí te conviene algún microcontrolador con 2 UART por hardware e implementar una por software  :)
No contesto mensajes privados, las consultas en el foro

Desconectado Manel28

  • PIC10
  • *
  • Mensajes: 23
Re: Aumentar número de UARTs
« Respuesta #2 en: 06 de Octubre de 2011, 10:45:54 »
Hola Suky. Ahora mismo dispongo de un kit de desarrollo de CCS con un controlador ethernet y un PIC18F4620 con 1 UART. Para hacer pruebas habia pensado en algún expansor UART via I2C como el SC16IS762. Pero creo que voy a terminar por comprar algún PIC con 2 UART e implementar la tercera por software, además esta última solo va a transmitir en una dirección así me ahorro las interrupciones para recepción de datos. Nunca he usado UART por software y no se si tienen el mismo rendimiento a velocidades altas, en mi caso 56700bps.
Intuyo que será algo así como:

#USE RS232(BAUD=9600, XMIT=PIN_C6, RCV=PIN_C7, STREAM=COM1)
#USE RS232(BAUD=9600, XMIT=PIN_B0, RCV=PIN_B1, STREAM=COM2 )
#USE RS232(BAUD=9600, XMIT=PIN_B2, RCV=PIN_B3, STREAM=COM3 )

Hay algún ejemplo de UART por software en CCS?

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Aumentar número de UARTs
« Respuesta #3 en: 06 de Octubre de 2011, 12:17:29 »
Hola Manel, en ESTE HILO Marttyn vende unos pics pequeñitos que tienen usart, por alli que implementas varios esclavos por SPI o I2C.


saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Aumentar número de UARTs
« Respuesta #4 en: 06 de Octubre de 2011, 13:44:41 »
No olvides agregar "FORCE_SW" a los que quieres que sean por software, puede que sea automatico, pero almenos yo prefiero ponerlo para saber un poco mas a detalle que coños quiero que haga al ccs =D

Desconectado Manel28

  • PIC10
  • *
  • Mensajes: 23
Re: Aumentar número de UARTs
« Respuesta #5 en: 25 de Octubre de 2011, 06:04:21 »
Existe alguna limitación en la tasa de envio cuando se usa Software UART?. He comprobado que usando tasas bajas de 19.2kbps se envian bien los caracteres pero al aumentarlo hasta 57.6kbps hay algún carácter que se corrompe. No me fio mucho de usar una uart por software solo para tx..quizás debería comprarme un expansor UART, este parece que esta bien: http://www.datasheetarchive.com/SC16IS762-datasheet.html

 El reloj del sistema es de 40Mhz.

Desconectado fram_22

  • PIC18
  • ****
  • Mensajes: 316
Re: Aumentar número de UARTs
« Respuesta #6 en: 25 de Octubre de 2011, 11:34:11 »
Los dsPIC cuentan con dos UART, podrias implementar un tercero por software.
eso te hacria mas secilla la tarea. O si no simplemente puedes ponerle un pic 16 de esclavo para que la haga de tercer uart

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Aumentar número de UARTs
« Respuesta #7 en: 25 de Octubre de 2011, 11:56:46 »
Los dsPIC cuentan con dos UART, podrias implementar un tercero por software.

No es necesario pasar a un dsPIC para 2 UARTs. Hay muchos PIC18 con esa caracteristica  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Aumentar número de UARTs
« Respuesta #8 en: 25 de Octubre de 2011, 12:00:52 »
siempre te puedes pillar un pic32 con 6 usarts xD

Tienes pics de 8bits con 2 usarts. Puedes usar uno de estos y luego un expansor SPI por ejemplo.

Los usart por software no van bien porque en cuanto hay una interrupcion el tiempo que tarde en hacerla es el tiempo que aumenta al baud. Ademas si la libreria no esta muy optimizada y no cuenta el tiempo entre instruccion e instruccion el % de error se aumenta.



 

anything