¿Qué son los buffers de entrada / salida para los pads?

1

Como ingeniero de software integrado, estoy familiarizado con la configuración de las almohadillas de "nivel de aplicación" (si puedo llamarlas), como; Función (GPIO, i2c, etc.), dirección (entrada o salida), activa alta o baja, su valor inicial si es el pin de salida. Sin embargo, todavía no entiendo una serie de propiedades eléctricas que también deben configurarse para un pad.

La lista es un poco larga, pero para obtener respuestas más precisas me concentraría en IB y OB en este hilo y dedicaré otros hilos por el resto. Agradecería si obtengo aclaraciones sobre los siguientes puntos:

1) ¿Qué son el búfer de salida y el búfer de entrada para un pad.

2) ¿Cuál es el efecto de habilitar / deshabilitar estos buffers en los pads?

3) ¿Es esta configuración recomendada o necesaria?

4) En cuyo caso, un pad necesita un búfer de entrada / salida para habilitarse

De antemano gracias.

    
pregunta Aymen

1 respuesta

1

Observe el "puerto de E / S típico" de un microcontrolador PIC de rango medio. Sí, esta unidad es similar al ábaco en comparación con algo como un FPGA, pero los principios electrónicos son idénticos.

ElpindeE/SeselpinfísicodelICyseconectaalmundoexterior.Todolodemásesunaaproximacióndeloscomponenteselectrónicosestándarquemodelanloqueocurredentro.

Empecemosconunasalidadepropósitogeneral:

LosdossímbolosidénticosmarcadoscomoPyNsonFETdealgunaformauotra.Entérminossimples,conectanelpindeE/SdirectamenteaVdd(ALTO)oVss(BAJO)comouninterruptor,peronuncaambosalmismotiempo,cuandoelpinesunasalida.Lossímbolosasuizquierdasonpuertaslógicas,comoprobablementereconozca,yasuizquierdadenuevosonflip-flopstipoD.Cuandocambiasprogramáticamenteunpindesalidaa1o0,aparece1o0enBusdedatos,ypocodespuésdequeWRPORTpasedealtoabajo,seactivarálacorrectasalidaatravésdelosflipflopsypuertalógica.LamayoríadelosuCcontrolanelcambioWRPORTautomáticamente.WRTRIS,enelcasodeunPIC,determinasielpinesunaentradaounasalida,porlotanto,siintentaestablecerunpindeentradaenunvalor,elcomandonuncallegaalaspuertaslógicasporqueelflip-flopTRISLatchestábloqueadoenlaposición'off'.

Alirmásalládelpropósitogeneral,siempreterminaráconlosdispositivosFET('P'y'N'),yaquesonlosqueproporcionanfísicamentelasseñalesaltasybajas.PuedencontrolarsedirectamentemedianteuncontroladorPWMounperiféricoUART/SPI/I2Cyesposiblequenotengaaccesodirectoaellosenelsoftware,perolosFETactúancomobúferentreelinterioryelexterior./p>

Unaentradadepropósitogeneralesmuchomásfácildedescribirensucasomássimple.EltriánguloetiquetadocomoTTLoSchmittTriggeractúacomoelbúfer;denuevo,aíslaelinterioryelexterior.Comolomencionalanotaalpieeneldiagrama,seincluyen"diodos de protección" (pero no se muestran) para evitar que la uC se dañe debido a señales que exceden el rango de Vss y Vdd. La salida de este búfer inicial se alimenta a otro flip flop, de manera que cuando se sondea el pin, RD PORT activa el valor en el pin de E / S que se escribe en Bus de datos .

Más allá del propósito general, el búfer TTL puede reemplazarse con un búfer analógico para la entrada a un ADC, o nuevamente podría alimentar a un periférico UART / SPI / I2C no accesible directamente.

Entonces, para responder a tus preguntas ...

(1) ¿Qué son los buffers? ¡Véase más arriba! En última instancia, un búfer replica su entrada en su salida, por lo tanto, aísla el "interior" sensible del "exterior" desagradable.

(2) ¿Cuál es el efecto de habilitar / deshabilitar? Por lo general, puede establecer un pin como una entrada o una salida. Si no te eliges a ti mismo, el uC lo configurará en uno u otro por defecto.

(3) y el resto de (2). Es una buena práctica establecer pines no utilizados como salidas, dando salida BAJA. Esto detiene (a) la potencia de desperdicio potencial si se configura en salida ALTA, y (b) voltajes 'flotantes' cuando se configura en entrada, lo que podría tener efectos extraños en los pines cercanos y los periféricos asociados.

(4) Según el hardware, es posible que tenga que configurar manualmente un pin para la entrada o la salida, incluso si solo puede funcionar como una salida (o entrada). Por ejemplo, tres pines tal vez dedicados a un módulo SPI. No puedo garantizar que los pines estén cableados como el tipo correcto de pines sin leer la hoja de datos de la unidad de usuario. En el caso de los PIC, es raro obtener un pin periférico (ADC, I2C, PWM, etc.) que no pueda funcionar como un GPIO. Debe programar la dirección del pin antes de poder usar el periférico correctamente.

    
respondido por el CharlieHanson

Lea otras preguntas en las etiquetas