reinicie automáticamente un Arduino usando ftdi: la señal DTR permanece baja y debe ir a alta después de 1-50 ms

1

Hola, tengo un Ftdi barato que voy a volver a crear en un PCB para poder actualizar mi chip ATmega2560 a bordo. El Ftdi tiene una línea DTR que se detiene cuando comienza la secuencia, pero permanece baja en lugar de bajar. alto después de 1 ms a 50 ms, así que necesito saber cómo puedo crear un circuito simple que cuando se baja, luego sube, ¿cómo puedo hacer esto? Tengo algunos componentes simples a mano.

mis partes almacenadas:

103 tapas de cerámica

Tapas de aluminio 25uF

Tapas de aluminio 220uF

algunas tapas cerámicas azules etiquetadas con "10"

prácticamente todos los valores de resistencias comunes

5v diodos zener

5v diodos de conmutación

transistores npn

n canal mosfets

5v diodos reflectantes

¿Puedo hacer algo usando esos? De lo contrario, puedo obtener lo que se necesita.

Muchas gracias de Edwin

Lo siento, es un chip de atmel atMega 2560 en una PCB. Tengo las líneas seriales y reinicio, 5v, tierra y dos gpios en un pin out. Así que solo puedo flashear con un ftdi. Y mi línea FDD DTR permanece baja y necesito simplemente justificar la línea de descanso, así que necesito averiguar cómo usar esta señal baja para eliminar el restablecimiento, pero luego la derecha después.

Si tuviera que probar esto en mi arduino Mega o Uno, mantener presionado el reinicio no funciona, es un pulso que baja y luego alto para cargar el administrador de arranque. Por lo tanto, el dfti DTR que permanece bajo no funcionará si se conecta directamente a RST.

    
pregunta Edwin Martin

2 respuestas

2

Este es el esquema del Arduino pro mini y mira el mecanismo de reinicio:

Haydosformasdereiniciareldispositivo:almantenerpresionadoelbotóndereinicio/interruptoroalreducirlalínea(DTRoRTS).

Nota:AlgunasaplicacionesparaarduinousanDTR,otrasusanRTS,peroambasparecenfuncionar.UtilicéRTSynotuveproblemas.

Ahora,vuelvealreinicio.CuandosebajaelDTR/RTS,elcondensador,\$C_2\$,comienzaacargarsedeceroalvalorde$V_{cc}\$.Básicamente,estoesafirmarunreinicio,porqueeltiempoquellevaalcanzarunalógica(talvez0.7*Vcc),essuficienteparaqueelmicrolointerpretecomoun0lógico(hasta0.3*Vcc).

Además,generalmentelasaplicacionesFTDIutilizanresistenciaspullupconectadasalaslíneasDTR/RTS,yaquesondedrenajeabierto.Comoeste:

ElpullupnoesobligatorioenestecasoporqueelProMini,tieneunoabordoensupindereinicio,perotampocoduele.

Comodije,DTRoRTSpuedenfuncionar,estoyhablandoenbaseamiexperienciapersonalconesto,peroasíescomolohicefuncionar.Además,parecequeArduinoadmiteelusodecualquieradelasdos,solopruébeloyveaquésucede.

EncontrétodaslasimágenesenelsitiowebdeSparkFun.LaimagenFTDIesparael'cableFTDI'queusalalíneaRTS.Eltablerode'FTDIbreakout',comolollamanallí,usalalíneaDTRensulugarynohacepullups...

Arduino Pro Mini

Cable FTDI

FTDI Breakout board

    
respondido por el Big6
1

Gracias, lo tengo funcionando ahora.

Tengo el pin DTR del ftdi hacia una tapa de cerámica 103, luego la otra pata de la tapa conectada al reinicio de Megas, y también una resistencia de 10k que está conectada a la vcc del ftdi que es de 5v. Hice una bonita foto a continuación para mostrar las conexiones con claridad

    
respondido por el Edwin Martin

Lea otras preguntas en las etiquetas