Jump to content

Recommended Posts

Geschrieben

Hallo,

 

da sich meine Bricklets vermehrt haben, habe ich mir einen zweiten Masterbrick zugelegt, den ich mit meinem ersten Master in einem Stapel verbinden möchte.

Meine Fragen dazu:

[*]Kann ich die Firmware beider Masterbricks "gleichzeitig" flashen oder muss ich den Stapel dafür trennen und beide Masterbricks einzeln updaten? Falls es im Stapel geht, reicht es den unteren in den Bootloader Modus zu versetzen?

[*]Wie sieht es mit den Bricklets aus? Können die bei einem Firmware-Update am "oberen" Master bleiben oder muss ich dafür den Stapel auflösen?

Geschrieben

1.) Nein, Bricks müssen jedes für sich geflasht werden. Sie können aber im Stapel verbleiben. Also USB-Kabel umstöpseln und den jeweiligen Brick in Bootmodus versetzen.

2.) Bricklets können vom vom unteren Master aus geflasht werden.

  • 4 months later...
Geschrieben

Hallo,

 

Nachdem ich das forum durchsucht habe, denke ich dass meine Frage hier am besten aufgehoben ist.

das io16 bricklet würde ich für meine anwendung nutzen, jedoch muss ich an jeden port zusätzliche schaltungen anbinden (selbst erstellte ampere treiber mittels optokopplern und relais etc.) Die Industrie bricklets sind für meine Anwendung unterdimensioniert. Da ich nun ein platinenlayout hierfür erstelle, dachte ich mir, dass ich die paar ic's gleich mit unterbringen könnte.

 

wenn ich nun die ic's kaufe und wie bri io16 anschliesse, erkennt der master dann mein eigen erstelltes bricklet, und ich kann es dann mit der leicht abgewandelten io16 Firmware flashen? Oder was müsste ich tun, damit der master meine schaltung erkennt? (Bin absoluter neuling in sachen I2C, hab noch mit widerständen und Transistoren gelernt, danach direkt in höhere programmiersprachen abgetaucht ;)...

Geschrieben

Eigentlich wäre es besser gewesen, wenn du einen neuen Thread erstellt hättest, aber nicht so wichtig :)

 

Zu deiner Frage: Du möchtest also dein eigenes IO-16 Bricklet bauen. Wenn du von ICs sprichst meinst du M24C64 (EEPROM), MCP23017 (I/O Expander) und PCA9306 (I2C Voltage-Level Translator), nehme ich mal an.

 

Wenn du das IO-16 Bricklet nach unserem Schaltplan nachbaust wird jeder Brick es erkennen, wenn es geflasht ist.

 

Du kannst natürlich ein exaktes IO-16 Bricklet nachbauen, aber du musst nicht. Der Knackpunkt ist, dass das EEPROM die I2C Adresse hat, die der Brick erwartet. Das wird aber einfach dadurch sichergestellt, dass du das gleiche EEPROM wie wir verwendest und es auch gleich anschließt. Den Rest der Hardware des Bricklets kannst du ändern, solange du dich an die elektrische Spezifikation des Bricklet-Steckers hältst. Dann musst du aber natürlich auch eine passende Firmware für dein Bricklet schreiben.

 

Die Erkennung läuft so ab: Beim Start versucht der Brick das EEPROM des Bricklets über I2C auszulesen. Die I2C Adresse des EEPROMs ist in unserem System für alle Bricklets gleich, daher können wir sie im Brick fest vorgeben. Wenn der Brick die Firmware des Bricklets erfolgreich vom EEPROM in seinen Flash übertragen hat führt er diese aus, um so deren Funktionalität dem Nutzer zur Verfügung zu stellen.

 

Sprich, wenn deine Hardware die elektrische Schnittstelle eines Bricklets hat und auf dem EEPROM eine Firmware gespeichert ist, die die Software-Schnittstelle eines Bricklets erfüllt, dann wird deine Hardware vom Brick als Bricklet erkennt und auch funktionieren.

Geschrieben

Eigentlich wäre es besser gewesen, wenn du einen neuen Thread erstellt hättest, aber nicht so wichtig :)

 

Zu deiner Frage: Du möchtest also dein eigenes IO-16 Bricklet bauen. Wenn du von ICs sprichst meinst du M24C64 (EEPROM), MCP23017 (I/O Expander) und PCA9306 (I2C Voltage-Level Translator), nehme ich mal an.

 

Wenn du das IO-16 Bricklet nach unserem Schaltplan nachbaust wird jeder Brick es erkennen, wenn es geflasht ist.

 

Du kannst natürlich ein exaktes IO-16 Bricklet nachbauen, aber du musst nicht. Der Knackpunkt ist, dass das EEPROM die I2C Adresse hat, die der Brick erwartet. Das wird aber einfach dadurch sichergestellt, dass du das gleiche EEPROM wie wir verwendest und es auch gleich anschließt. Den Rest der Hardware des Bricklets kannst du ändern, solange du dich an die elektrische Spezifikation des Bricklet-Steckers hältst. Dann musst du aber natürlich auch eine passende Firmware für dein Bricklet schreiben.

 

Sprich, wenn deine Hardware die elektrische Schnittstelle eines Bricklets hat und auf dem EEPROM eine Firmware gespeichert ist, die die Software-Schnittstelle eines Bricklets erfüllt, dann wird deine Hardware vom Brick als Bricklet erkennt und auch funktionieren.

 

Ok, vielen dank für die schnelle Antwort.

a) ich dachte das thema wäre nahezu das gleiche wie vom thread ersteller.

b) wie flashe ich am besten das eeprom (früher zu c64 zeiten, gabs da spezielle, recht teure hardware, und ne uv-lampe um die eproms zu löschen). Da ich mit meiner schaltung keine kommerziellen absichten habe, würde sich alles über 20 euronen an zusätzlichem equipment nicht lohnen.

 

Danke und Grüße

Jörg

 

P.S.: schreibe vom handy aus, was leider mit meinem gerät nicht so komfortabel ist und fehlerträchtig.

Geschrieben

Hallo JoergK,

 

hier reden wir ueber ein E-Eprom. Die Sache mit der Lampe bleibt auf dem Dachboden.

 

Ausserdem bietet die Tinkerforge Hardware die Moeglichkeit die EEPROMs im Betrieb zu flashen.  8)  Das ist eigentlich nur fuer den Debuggingfall gedacht, funktioniert aber sehr gut. Also alles schon dabei.

 

Wichtig ist wohl die Aussage, dass die EEPROMs die Du verwenden willst genau die gleiche (interne) IC2 Adresse haben muessen. Da sollte man vor dem Kauf mal ins Datenblatt schauen. Wenn nicht musst du die Brickfirmware anpassen.

 

BTW: Da kommt meine Bitte wieder ins Gedaechtnis, auf der naechsten Version des Breakout Bricklets ein (abschaltbares) EEPROM mit draufzupacken.  ;)

 

Der Loetkolben

Geschrieben

Wie Loetkolben schon richtig sagt kann das EEPROM vom Brick aus beschrieben werden. Der Brick Viewer hat einen Dialog dafür. Da kannst du den Brick, den Bricklet Port an dem dein Bricklet angeschlossen ist und die passende Firmware auswählen und der Brick Viewer schreibt diese dann über den Brick in das EEPROM des Bricklets. Keine zusätzliche Hardware nötig.

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...