Autor Tema: uC con salidas tri-state activables mediante una señal externa Output Enable  (Leído 2024 veces)

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

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Para introducir datos en un bus, necesito un uC que prepare los datos que quiero inyectar al bus en sus puertos de salida (conectados al bus), pero que mantenga esos puertos en alta impedancia hasta que reciba una señal de arbitraje para activar las salidas.

El problema es el tiempo; hacerlo con interrupciones es demasiado lento (trabajo en el orden de las decenas de nanosegundos).

Me pregunto si conocen algún uC en el que el TRIS se pueda establecer mediante una señal externa, es decir, una especie de OUTPUT ENABLE.

La alternativa que barajo actualmente es usar un PIC para mostrar los datos en las salidas, conectar estas salidas a buffers del estilo del 74ls125, y usar el OE de stos buffers... el problema es que el bus es de 28bits, por lo que necesitaría una cantidad importante de buffers y me gustaría ahorrármelos.
« Última modificación: 20 de Mayo de 2016, 05:11:47 por jfmateos2 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:uC con salidas tri-state activables mediante una señal externa Output Enable
« Respuesta #1 en: 20 de Mayo de 2016, 14:46:50 »
Es que un micro con velocidad para eso vas a tener que ir a un PIC32 o un ARM de 100+ Mhz facilmente, y progrado en ASM.
Siendo tal ves un overkill para lo que necesitas.

Ahora respecto al buffer si es solo de salida, creo que debe venir uno que tenga un OE para todos los buffers. algo asi:
http://www.nxp.com/documents/data_sheet/74HC_HCT244.pdf

Pero para los 8. Algo asi:

http://www.nxp.com/documents/data_sheet/74HC_HCT373.pdf
Con el latch a Vdd, quedaria trasparente, A 5V estarias en los 35ns aproximadamente. (OE a Qn)

Esa es la alternativa mas barata pienso, a no ser que consigas un CPLD con 28+28 I/O para usarle de buffer y comprimir todo en 1 solo integrado. Son muchas I/O realmente. y hay que darle clock mas las tensiones que piden..

---------

La otra que se me ocurre pero no se que tan deterministico ( saber exactamente el tiempo ) sea, es por ejemplo en un ARM, ver si una interrupcion externa puede iniciar una transferencia DMA, y modificar el bit para eso. Usando bit-banding.
Aun asi aca estamos hablando de un micro de varios Mhz. Creo que todo un tema de costos :P

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re:uC con salidas tri-state activables mediante una señal externa Output Enable
« Respuesta #2 en: 20 de Mayo de 2016, 14:54:44 »
Gracias killer... de momento el buffer que mejor me sale de precio es el 74lvc16245, que me ofrece 16 líneas por unos 0.25€ y además es tolerante a 5V, que también me viene bien.

El problema de los uC, incluso los más rápidos como los que comentas de PIC32MZ o STM es la latencia de las interrupciones... desde que se produce la interrupción hasta que es capaz de atenderla el uC pasan decenas de ns.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:uC con salidas tri-state activables mediante una señal externa Output Enable
« Respuesta #3 en: 20 de Mayo de 2016, 15:35:06 »
Interesante, desconocia que existiera un integrado asi para un bus de 16 bits y encima tan barato.

Haciendo numeros sobre el ARM, para llegar a tener menos de 100ns, estariamos hablando de un micro de 200Mhz+, suponiendo 4 ciclos de wait-state en el cache, 12 de latencia + 5 ciclos para la escritura. En resumen poner un procesador :P. O tal ves se pueda ejecutar desde la RAM y tener menos latencia. De todas formas es demasiado y la solucion es la que encontraste. ( Ademas de ser bidireccional )


 

anything