modo bitbang

podria alguien explicarme en español el tema del binbang mode? es decir grabrle el bootloader a un atmega 168 vacio mediante ese metodo ya que no soi capaz a entenderlo de la unica pagina web en ingles que explique ese metodo: http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

gracias

Tienes que empezar soldando los pins y contruyendo el cable.

Es simplemente emular un protocolo en unos pines de propósito general.
Por ejemplo, la librería NewSoftSerial de arduino, hace bitbang de una comunicación serie en unos pines de uso general.

respecto a soldar los pines no es problema el tema es encontrar algo de informacion respecto a que pines uine del chip pero en español para enterarme de algo, chiva si eso esta muy bien pero si me lo explicas mas en castellano(pa burros vaya) te lo agradezco ya que saber que es un protocolo de informacion me deja igual q estaba, gracias a los 2 por contestar

Alex,
Acerca que pines unir, son fotos!! ahi no hay problema del idioma.... :wink:
http://www.geocities.jp/arduino_diecimila/bootloader/connecting.html#P3

Como ha dicho Chiva, el Bit Bang Mode, se trata de usar el los pines del chip de FTDI que convierte de USB a serie(rs232) que viene en las placas Arduino (no en las versiones UNO) como lineas de entrada/salida. Es decir, manipular directamente el estado de dichos pines.
Mediante soft en el ordenador (avrdude-jtag), lo que hacen es emular un programador ICSP. Por eso se une los 4 pines del chip FTDI a los pines ICSP.
ICSP es una metodo para programar el microcontrolador sin necesidad de extraerlo del circuito donde esta montado.

Resumiendo, lo que hacen es construir un programador usando el propio hardware(chip FTDI) que viene en las placas Arduino. (como si lo harias usando el programador por puerto de la impresora que viene explicado en la web de Arduino, pero en este caso lo hacen via el "puerto serie" incluido en las placas Arduino (chip FTDI).

Nota- El chip FTDI es un conversor USB <-> RS232 que mediante la instalacion de sus drivers correspondientes, te crea un puerto serie virtual en el ordenador. Dicho chip tiene un modo llamado Bit Bang que cambia sus 8 lineas I/O en bus bi-direccional de 8 bits. Referencia http://www.ftdichip.com/Support/Documents/AppNotes/AN232R-01_FT232RBitBangModes.pdf

Saludos

Igor R.

me referia a donde van los pines x3 del chip ftdi pero revisando los esquemas del arduino ya he encontrado a donde van: CTS DSR DCD y RI necesitaba saberlo por si me servia una placa de texas con chip usb serie y rs232 pero comprobe que esos pines en la otra placa no aparecen ya que el chip usb de esa placa no tiene ninguno de esos nombres(pretendia usarla para meterle el bootloader a una placa arduino serial)

Hola Alex,

podria alguien explicarme en español el tema del binbang mode? es decir grabrle el bootloader a un atmega 168 vacio mediante ese metodo ya que no soi capaz a entenderlo de la unica pagina web en ingles que explique ese metodo

Era difícil adivinar que querias saber a qué pines del chip FTDI corresponden los pads marcados como X3 en la placa Arduino.... :wink:

Me alegra que lo hayas solucionado... :smiley:

no bueno queria principalmente saber en que consistia de alguien que hable español para saber si lo que habia entendido en ingles era correcto, una vez entendido un poco el tema no sabia que pines eran y una vez encontrados me he dado cuenta que la placa texas a pesar de tener un chip usb-serie no dispone de esos pines con lo que no sirve para instalarle el bootloader mediante el metodo bitbang la placa es texas instruments tusb3210 evm http://focus.ti.com/lit/ug/sllu031a/sllu031a.pdf

Lo primero que tienes que buscar es si usa el mismo hardware. Es decir,debería tener un chip FTDI 232RL para poder hacer el método del link que has puesto al principio.

Si no me equivoco, no lo tiene.

Pongo un link bastante bueno (en inglés) => Introduction To FTDI Bitbang Mode | Hackaday

El traductor de google a veces se porta bien.... Introduction To FTDI Bitbang Mode | Hackaday

Hay 3 conocidos fabricantes de conversores de usb a serie: Texas (el que has nombrado), Prolific y FTDI (el que lleva Arduino)

Y como bien dice Igor sólo algunos chips de FTDI tienen dicho modo bit-bang

vale oido cocina si no es ftdi nanay de la china xd yo pense que era un metodo de todos los conversores usb-serie y no de una marca concreta por eso crei en la posibilidad de hacer el mismo metodo en el chip de texas que es un tusb3210 que sino me ekivoko es realmente muy parecido en cuanto a caracteristicas pero bueno si me decis que no sirve no sirve, gracias a los 2 por vuestra paciencia y por aparte de darme la respuesta hacerme entender el xq que para mi tb es importante. pues nah a esperar que me llege el arduino original entonces y usarlo como programador para este pisapapeles con lucecitas que es en lo que se ha convertido xd un saludo gracias por todo

supongo que os acordareis de mi familia por ser tan pesao peor tengo que decirlo xd un programador usb con la conexion jtag como que tampoko serviria de nada no?

Un programador de micros atmel si que te serviria.... :smiley:

bien hoy x fin me ha llegado el arduino duelmil+328p y ahora es cuando ya empiezo a pensar que o el chip atmega 168 que he intentado meterle el bootloader de todas las maneras posibles esta casacao o algo pasa ya que tampoko consigo instalarle el bootloader ni poniendo el chip en la placa arduino mediante bitbang ni tampoko usando el arduino con el chip 328 como programador en los dos casos me da error y no es de las placas ya que la original es nueva y ya he probado que funciona con el programa blink y tan bien usando el boton de reset y viendo que el led se enciende al soltar en las 2 placas con lo cual las placas estan bien siempre y cuando use el chip que tiene el bootloader cuando les inserto el chip sin bootloader no hay manera.

explico lo que he intentado usando el metodo bitbang:

avrdude.exe: BitBang OK
avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude.exe: drain OK

ft245r: bitclk 4800 -> ft baud 2400
avrdude.exe: ft245r_program_enable: failed
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude.exe done. Thank you.

y usando el arduino como programador:

avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

en los dos casos he seguido las instrucciones de como hacerlo del foro y las he revisado varias veces y las placas quedan descaradas puesto que con bootloader funcionan las dos perfectamente pero en todas las maneras de conexion posibles con el chip que no tiene bootloader dice lo mismo la signature invalida que supongo sera la identificacion del chip aver si me podeis decir algo que se os ocurra.

gracias

Yo utilizo habitualmente el BiBang y te digo que muchas veces pillas al Arduino fuera de juego no sé si es por que uso el SPI en la aplicación.

Al conectar el conector de 6vias y aplicarle alimentación el ATMEGA arranca y al intentar programarlo muchas veces falla. Lo descubri al quitar un delay() en las primeras líneas. O será casualidad.

Un método infalible (por el momento) que utilizo es "intentar" programar con el conector de 6 vias desconectado. El avrdude falla. Entonces enchufo el conector y pruebo otra vez.

Suerte.

ToloBCN no he entendido bien tu post si me lo explicas un poko mas te lo agradezco please

Fàcil (lo intento):

Cuando estés con el avrdude arrancado dale al botón de "Erase, write---". el que se usa para programar vamos, pues le das pero sin conectar el cable de 6 vias.

El avrdude fallará. Bien pues conecta el cable de 6 vias al arduino y dale a programar otra vez. A mi me funciona 100%

¿Me explico?

yo uso el avrdude gui nose si tb servira, luego respecto al erase write yo directamente ni llego puesto que segun manda primero hay que darle a la opcion read fuse y hay ya no avanzo mas alla puesto que no es capaz ni de leer los fuses del chip lentamente tb he probado rapidamente y nada con lo cual no le he dado a la opcion de erase write y tal si me dices que tb sirve para leyendo los fuses pruebo a leeer los fuses sin conectarlo y luego le vuelvo a dar con el conectado pero el caso esque me surge otra dudacon conector de 6 pines deduzco que te refieres al isp no? lo digo xq yo no uso el puente de x3 a isp sino directamente a los pines del chip onque supongo sera lo mismo pero te agradeceria que me lo confirmases no vaya a ser que si haces el puente directamente del puerto x3 a los pines del chip no sirva.

un saludo y gracias

Yo uso el conector ISP.

si pero como? haciendo el puente del puerto x3 al puerto isp no? lo digo xq no se si usas programador o directamente con el arduino.
esq no he probado haciendo el puente al conector isp pero segun los esquemas los 6 pines del isp van evidentemente a ciertos pines del atmega con lo cual creo que si los conectas tanto en un pin como en otro si los 2 estan conectados mutuamente da lo mismo onque quizas me equivoque en cuanto que da = conectarlo al isp o a pines de la placa te agradeceria me comentes algo al respecto xq onque no tengo cables hembra y x eso uso directamente a los pines de la placa si los tengo que fabricar los fabrico