Go Down

Topic: modo bitbang (Read 10937 times) previous topic - next topic

dewasha

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

ToloBCN

Tienes que empezar soldando los pins y contruyendo el cable.

chiva

#2
Nov 01, 2010, 01:25 am Last Edit: Nov 01, 2010, 03:39 pm by chiva Reason: 1
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.

dewasha

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

igorreal

#4
Nov 01, 2010, 01:58 pm Last Edit: Nov 02, 2010, 12:55 am by igorreal Reason: 1
Alex,
Acerca que pines unir, son fotos!! ahi no hay problema del idioma.... ;)
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.


dewasha

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)

igorreal

#6
Nov 01, 2010, 09:10 pm Last Edit: Nov 01, 2010, 10:01 pm by igorreal Reason: 1
Hola Alex,

Quote
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.... ;)


Me alegra que lo hayas solucionado... :D


dewasha

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

igorreal

#8
Nov 02, 2010, 12:33 am Last Edit: Nov 02, 2010, 12:53 am by igorreal Reason: 1
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) => http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/

El traductor de google a veces se porta bien.... http://translate.google.es/translate?js=n&prev=_t&hl=es&ie=UTF-8&layout=2&eotf=0&sl=en&tl=es&u=http%3A%2F%2Fhackaday.com%2F2009%2F09%2F22%2Fintroduction-to-ftdi-bitbang-mode%2F

chiva

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

dewasha

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

dewasha

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?

igorreal

#12
Nov 04, 2010, 12:31 pm Last Edit: Nov 04, 2010, 12:34 pm by igorreal Reason: 1
Un programador de micros atmel si que te serviria.... :D

dewasha

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

ToloBCN

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.

Go Up