Re: Nachbau HM-Geräte mit AVR und AskSinPP - Platine 1
Verfasst: 06.06.2018, 11:30
Der Thread driftet etwas ab
Wenn Du das Original von Atmel noch bekommen kannst, wirst Du den Kauf nicht bereuen.
Es müssen natürlich alle 6 Pins verbunden werden.
Wichtig ist zu wissen, dass die Verbindung mit GND und Vcc bewirkt, dass der AVR ISP MKII "weiß", mit welcher Spannung die Schaltung betrieben wird. Er passt dann die Programmierspannung entsprechend an. Das bedeutet, dass die Schaltung immer mit einer externen Spannungsquelle versorgt werden muss. Wenn man die Schaltung über den Progger speisen möchte, muss man ihn ein wenig modifizieren. Im Netz gibt es dazu diverse (unschöne) Vorschlägt. Ich bevorzuge meine Lösung: viewtopic.php?f=76&t=43162&p=437670#p437667
Ob es möglich ist, den AVR per ISP zu flashen, wenn die CC11101 Platine verbunden ist, kann ich nicht sagen. Denn wo welcher Pullup oder Pulldown gesetzt werden muss, weiß ich nicht auswendig. Ob es den dann auf der CC1101 Platine gibt, kann ich auch nicht sagen. Ich würde sagen "einfach mal probieren".
Wenn Du den Bootloader für einen beliebigen "Arduino" flashen möchtest, wird es unter Umständen zu Problemen kommen, denn der "normale" Arduino hat einen externen Quarz. Ob Du den auf Deiner Platine hast, weiß ich nicht. Ich habe ihn nicht mit drauf. Wenn Du die mit dem Flashen des Bootloaders die Fuses so einstellst, dass es einen externen Quarz gibt, obwohl dieser nicht vorhanden ist, wird es etwas tricky, das Problem wieder zu beheben.
Ich flashe daher den Bootloader für den Atmega 328P. Die Fuses stimmen dann insofern, als dass der AVR läuft. Was ich danach regelmäßig mache, ist die BOD per Fuses zu deaktivieren. Die Reihenfolge ist also zuerst den passenden Bootloader flashen (dabei werden schon Fuses gesetzt) und erst danach Änderungen an den Fuses vornehmen. Ich mache das sehr bequem mit AVR8 Burn O Mat. Aktuelle config-Files kann ich Dir gerne zukommen lassen.
Wenn der Bootloader dann installiert ist, kannst Du den Sketch seriell über Rx/Tx übertragen. Dann wirst Du den Reset in jedem Fall benötigen, denn nur nach einem Reset wartet der Bootloader eine kurze Zeit auf Daten auf Rx, um einen neuen Sketch aufzuspielen. Manchmal muss man auch ein klein wenig tüfteln, bis man nach dem Drücken des "Hochladen" Buttons in der Arduino IDE den Reset (wird gegen GND gehalten und im passenden Moment los gelasen) auslöst. Bislang hat es bei mir aber noch immer geklappt.
Wenn Du das Original von Atmel noch bekommen kannst, wirst Du den Kauf nicht bereuen.
Es müssen natürlich alle 6 Pins verbunden werden.
Wichtig ist zu wissen, dass die Verbindung mit GND und Vcc bewirkt, dass der AVR ISP MKII "weiß", mit welcher Spannung die Schaltung betrieben wird. Er passt dann die Programmierspannung entsprechend an. Das bedeutet, dass die Schaltung immer mit einer externen Spannungsquelle versorgt werden muss. Wenn man die Schaltung über den Progger speisen möchte, muss man ihn ein wenig modifizieren. Im Netz gibt es dazu diverse (unschöne) Vorschlägt. Ich bevorzuge meine Lösung: viewtopic.php?f=76&t=43162&p=437670#p437667
Ob es möglich ist, den AVR per ISP zu flashen, wenn die CC11101 Platine verbunden ist, kann ich nicht sagen. Denn wo welcher Pullup oder Pulldown gesetzt werden muss, weiß ich nicht auswendig. Ob es den dann auf der CC1101 Platine gibt, kann ich auch nicht sagen. Ich würde sagen "einfach mal probieren".
Wenn Du den Bootloader für einen beliebigen "Arduino" flashen möchtest, wird es unter Umständen zu Problemen kommen, denn der "normale" Arduino hat einen externen Quarz. Ob Du den auf Deiner Platine hast, weiß ich nicht. Ich habe ihn nicht mit drauf. Wenn Du die mit dem Flashen des Bootloaders die Fuses so einstellst, dass es einen externen Quarz gibt, obwohl dieser nicht vorhanden ist, wird es etwas tricky, das Problem wieder zu beheben.
Ich flashe daher den Bootloader für den Atmega 328P. Die Fuses stimmen dann insofern, als dass der AVR läuft. Was ich danach regelmäßig mache, ist die BOD per Fuses zu deaktivieren. Die Reihenfolge ist also zuerst den passenden Bootloader flashen (dabei werden schon Fuses gesetzt) und erst danach Änderungen an den Fuses vornehmen. Ich mache das sehr bequem mit AVR8 Burn O Mat. Aktuelle config-Files kann ich Dir gerne zukommen lassen.
Wenn der Bootloader dann installiert ist, kannst Du den Sketch seriell über Rx/Tx übertragen. Dann wirst Du den Reset in jedem Fall benötigen, denn nur nach einem Reset wartet der Bootloader eine kurze Zeit auf Daten auf Rx, um einen neuen Sketch aufzuspielen. Manchmal muss man auch ein klein wenig tüfteln, bis man nach dem Drücken des "Hochladen" Buttons in der Arduino IDE den Reset (wird gegen GND gehalten und im passenden Moment los gelasen) auslöst. Bislang hat es bei mir aber noch immer geklappt.