Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Schneeleopard

1
Software / Re: Microkontroller - JTAG
03. Sep 2008, 15:29
Das mit den Widerständen kann gut sein, wenn der AVR mit einer höheren Spannung betrieben wird als der MediaReceiver, danke für den Hinweis.
Werd ich demnächst mal in den Schaltplan einfügen, schaden sollte es auch bei gleichen Spannungen nicht.

Ansonsten zum Problem von MatrixOne:
Wenn die FuseBits nun definitiv richtig gesetzt sind, die Spannungsversorgung stimmt (Für normalen ATmega USB port, ansonsten sollten auch 3.3V am JTAG port bereitstehen) und das Resetsignal in Ordnung sind dann gehen mir auch langsam die Ideen aus, vor allem weil es ja ob und an zu funktionieren scheint.

Ansonsten würde so spontan wohl nur noch helfen ein debug Interface (Wie RS232 oder zumindest die LEDs) zu haben, um zu sehen wo es hängt.
Aber vielleicht hat ja sonst noch jemand eine andere Idee.

Die Fuses bei YAAP müssten korrekt sein wenn folgende der CKSEL und SUT Kästchen gesetzt sind: CKSEL0, CKSEL1, CKSEL3 sowie SUT0 die Anderen davon ungesetzt.
2
Software / Re: Microkontroller - JTAG
12. Aug 2008, 12:26
Ach ja, eine Sache noch, hast du bei deinem AVR auch die Fuse-Bits für den internen Taktgenerator geändert?

CKSEL3..0
   0100

Wenn nicht läuft der nur mit 1MHz statt den 8 auf die das Programm ausgelegt ist, dann stimmt entsprechend das gesamte Timing nicht mehr.

(Bei Fuses beachten -> Falls PonyProg verwendet wird entspricht eine 1 einem deselektierten Kästchen)

(http://www.mikrocontroller.net/articles/AVR_Fuses)

EDIT: Daran, dass du eine 301t hast sollte es nicht liegen, solange T-Home die nicht in den letzten Monaten wieder verändert hat, ich habe auch nur eine x301t.

Was auch noch sein kann: Ist deine Reset-Quelle in Ordnung?
Evtl. mal mit Multimeter messen ob das Reset-Signal auch low geht, wenn die Box resetted wird.
3
Software / Re: Microkontroller - JTAG
12. Aug 2008, 11:24
Hallo,

compilierst du den Sourcecode selbst?

Wenn ja, der Patchzeitpunkt wird in ter x30xtmodchip.h Datei eingestellt.
Welche Bootloader Version hast du? evtl. wurde da ja seitens der Telekom etwas verändert was den Zeitpunkt zu dem gepatcht werden muss verschiebt.
Einfach mal versuchen den Patchzeitpunkt etwas höher oder niedriger zu setzen, so bis zu +-1 Sekunde.
Wenn das nicht hilft könnte es vielleicht auch helfen die JTAG-clocktime etwas zu erhöhen.

Falls beides nicht geht wird es schwer das ganze richtig zu debuggen ohne serielle Interfaces an den Receiver und den Chip zu bauen.
Evtl. mal als günstige Zwischenlösung die Debug LEDs anlöten, wenn noch nicht geschehen, um zumindest zu sehen ob das Patchen selbst korrekt funktioniert.

Die Patchzeitpunkterkennung ist leider noch ein ziemlicher Hack und der Grund warum der Code noch im pre-Beta Zustand ist.
Die einzige Information die der Modchip vor dem Patchen vom Receiver bekommt ist bisher das Reset-Signal und von da aus wartet er ein paar Sekunden und patcht dann.
Bisher kenne ich leider keine wirklich bessere Methode den richtigen Zeitpunkt zu bestimmen...

MfG
4
Software / Re: Microkontroller - JTAG
08. Jul 2008, 20:15
Ich habe mal ein sourceforge Projekt für den Modchip-Code gemacht, damit ich kleinere Änderungen einfügen kann ohne damit gleich das Forum zuzuspammen.

Zu finden ist es unter: http://mramc.sourceforge.net/
5
Software / Re: Microkontroller - JTAG
24. May 2008, 13:05
Hut ab davor so ein recht komplexes Teil (Inkl. 32Bit dwords) in Assembler zu coden.
Assembler ist nett, nur leider später etwas schwer zu lesen wenn man kein Profi darin ist :)

Habe an meinem Projekt auch noch etwas geändert, in Bautteilliste und Schaltplan sind jetzt ein 8MHz Quartz und 2 22pF Kerkos dazugekommen sofern man das RS232-Interface nutzen will.
Ich hatte letztens das erste mal einen AVR bei dem der interne Oszillator so weit abwich, dass am RS232 nur Hieroglyphen kamen.
Das kann man zwar mit dem OSCCAL register etwas abmildern, aber optimal ist es nur mit externem Quartz.

In dem Fall müssen die Fuses dann auf "External Crystal/Ceramic Resonator slowly rising" (CKOPT - 1, CKSEL 3..0 - 1111, SUT 1..0 - 11) gestellt werden.
Aber bitte NUR den externen Oszillatormodus wählen, wenn tatsächlich ein Quartz angeschlossen ist, sonst reagiert der AVR nicht mehr.

Fuse bits für den Internen Oszillator (Funktioniert immer, aber evtl. zu ungenau für RS232): (CKOPT - 0, CKSEL 3..0 - 0100, SUT 1..0 - 10)
Für den internen Oszillator sollte man eigentlich noch das Oscillator Calibration Byte für 8MHz mit dem Programmiergerät auslesen und am Anfang der main() routine ins OSCCAL register schreiben.
Das werde ich in der nächsten SW-Version vorsehen.
6
Software / Re: Microkontroller - JTAG
26. Mar 2008, 23:03
Netter Aufbau :)

Zum Thema Vorwiderstand... Mir ist gerade aufgefallen dass ich die Vorwiderstände der LEDs auf meinem Plan aus purer Gewohnheit für 5V statt für 3.3V berechnet habe, für 3.3V sollten es 750Ohm sein und nicht 1,6kiloohm.

Sorry, falls jemand schon die Teile bestellt hat, es sollte auch mit den 1k6 Widerständen funktionieren, die LEDs werden aber wohl deutlich dunkler sein.

Ich ändere das gerade mal in der Teilelisteun dem Plan.
7
Software / Re: Microkontroller - JTAG
26. Mar 2008, 14:53
Hier ist auch noch ein Schaltbild für den simplen PonyProg kompatiblen Programmieradapter zu finden:

http://www.blafusel.de/bilder/misc/upc/atmega8_isp_sp2.gif
8
Software / Re: Microkontroller - JTAG
26. Mar 2008, 14:02
Ich habe mal schnell einen Schaltplan dafür gemacht

Kleiner Fehler im Plan, man denke sich +3.3V wo +5V steht :)

EDIT: Die resetsource hatte ich auch vergessen einzuzeichnen :/
Habe mal den korregierten Plan angehängt, nun auch mit 3.3V.

Ausserdem noch ein Plan, wie der Minimalaufbau aussieht der zum reinen Betrieb des Chips nötig ist.
Wenn man nur den Signaturpatch braucht und kein Linux oder Yamon booten will kann man sogar den Jumper noch weglassen.

EDIT: Quartz für RS232 in Schaltplan eingefügt.
9
Software / Re: Microkontroller - JTAG
26. Mar 2008, 13:20
Ich habe mal schnell eine Bauteilliste für Reichelt zusammengestellt.
Sollte alles drauf verzeichnet sein, hoffe ich mal.

Die wichtigsten Teile (Angenommen die Gründausstattung Lötstation oder geeigneter Lötkolben und einiges an dünner Litzenleitung sind vorhanden):

Der unbedingt nötige Teil (Reicht wenn Möglichkeit zum Programmieren vorhanden):
Der ATMEGA8 selbst in der 3.3V-Version:     Artikel-Nr.: ATMEGA 8L8 DIP          1,85 €
IC-Sockel für die MCU:                             Artikel-Nr.: GS 28P-S                    0,36 €
100nF Kondensator:                                 Artikel-Nr.: Z5U-5 100N                0,070 €

Wenn noch ein paar Funktionen zusätzlich angebaut werden sollen (RS-232 Interface, LEDs) empfielt sich
der Aufbau auf einer Lochrasterplatine, dann kommen noch dazu:
Lochrasterplatine 50x100mm:                     Artikel-Nr.: H25PR050                   0,63 €
Silberdraht 0.6mm (Wenn nicht vorhanden): Artikel-Nr.: SILBER 0,6MM              1,80 €
Zweiter 100nF Kondensator:                      Artikel-Nr.: Z5U-5 100N                0,070 €
Stiftleiste für YA.BIN, LX.BIN jumper            Artikel-Nr.: LU 2,5 MS 3                0,23 €
Jumper (Wenn nicht vorhanden)                 Artikel-Nr.: JUMPER 2,54 SW          0,041 €

Serielles Interface (Wenn gewünscht):
(Der RS232-USB Umsetzer unten auf dieser Seite http://www.t-hack.com/wiki/index.php/UART0
sollte anstelledessen auch funktionieren)
RS232-Pegelumsetzer 3.3V fähig:               Artikel-Nr.: MAX 3232 CPE             3,50 €
4x 100nF Kondensator:                            Artikel-Nr.: Z5U-5 100N                0,070 € (Stück)
8MHz Quartz für ATMEGA                                 Artikel-Nr.: 8,0000-HC18               0,24 €
(Um stabilen Clock für RS232 zu gewährleisten)
2x Keramik-Kondensator 22P                     Artikel-Nr.: KERKO 22P                  0,041 € (Stück)
(Für Quartz Schwingstabilisierung nötig)
Sockel für RS232-Umsetzer:                      Artikel-Nr.: GS 16                        0,041 €
SUB-D 9 Stecker (Serieller Port):                Artikel-Nr.: D-SUB ST 09              0,083 €
Kappe für Stecker:                                  Artikel-Nr.: KAPPE CG9G               0,092 €
Kabel zur Verbindung mit dem PC
(Wenn nicht vorhanden)                           Artikel-Nr.: AK 143                      1,40 €

LED-Anzeige (Wenn gewünscht):
Low-Current LED Gelb                               Artikel-Nr.: LED 5MM 2MA GE        0,092 €
Low-Current LED Grün                               Artikel-Nr.: LED 5MM 2MA GN        0,092 €
Low-Current LED Rot                                 Artikel-Nr.: LED 5MM 2MA RT        0,092 €
3x Vorwiderstände für LEDs                        Artikel-Nr.: METALL 750               0,082 € (Stück)

Ein einfacher Programmieradapter lässt sich mit einem subD25-Stecker (Parallelport) und 4 100Ohm Widerständen aufbauen:
Stecker:                                                Artikel-Nr.: D-SUB ST 25              0,10 €
4x Widerstände:                                      Artikel-Nr.: METALL 100               0,082 € (Stück)
Kappe für Stecker:                                  Artikel-Nr.: KAPPE CG25G              0,13 €
Kabel zur Verbindung mit dem PC
(Wenn nicht vorhanden)                           Artikel-Nr.: AK 404                      1,65 €

Wenn man das Ganze sauber aufbauen will ohne fliegende Verdrahtung würde es sich
empfehlen Stiftwannen und Pfostenstecker mit Flachbandkabel zu verwenden.

Ich werde demnächst noch ein Schaltbild für den Aufbau anhängen.
Irgendwann auch die fertig aufgebaute Version, wenn ich mal dazu kommen sie zu bauen :)

Beim Aufbau empfielt es sich zum Schutz vor elektrostatischer Aufladung erst die Schaltung Komplett an den Sockel zu löten und erst danach die ICs in die Sockel zu stecken.

EDIT: Habe mal einen Quartz und entsprechende Kondensatoren dazugeschrieben in der RS232 Sektion.
Ein Quartz zur Frequenzgenerierung wird empfohlen, da der RS232-Port recht genaue Frequenzeinhaltung erfordert (Und ich letztens zum ersten Mal einen ATMEGA erwicht habe bei dem der interne Clock so weit abwich, das am RS232 nur Hieroglyphen herauskamen).
10
Software / Re: Microkontroller - JTAG
25. Mar 2008, 14:18
Wieso sollte ich etwas dagegen haben? :)

Ich bin im Moment gerade noch mit einem anderen Projekt beschaeftigt, werde wohl auch die naechsten paar Tage nicht dazu kommen da etwas neues zu implementieren.
11
Hardware / Re: display
25. Mar 2008, 14:12
Ich hatte das Teil damals auch schon einmal genauer unter die Lupe genommen, habe meine Ergebnisse mal nachgetragen :)
Habe auch noch einen Plan der Buttonmatrix gemacht, kann ich spaeter vielleicht mal in Eagle nachzeichnen und anhaengen.

Wie an anderer Stelle schonmal geschrieben, der ATMEGA88 ist nicht codeprotected.
Es ist also moeglich die Firmware darin auszulesen.
Damit sollte es moeglich sein testweise etwas anderes hineinzuflashen und danach die original Firmware wieder herzustellen, aber getestet habe ich es noch nicht.

Meine Idee war es damals den Modchip Code dort mit hineinzupacken, aber dafuer ist nicht mehr genug Platz auf dem Teil.
Mit sehr viel Zeit koennte man evtl. eine andere Firmware dafuer schreiben, die kompakter ist und den Modchip code mit dranhaengen, aber das ware wirklich etwas viel Arbeit.
12
Software / Re: Microkontroller - JTAG
24. Mar 2008, 15:21
Hier ist noch eine neue Version mit geaenderten port pins um das problem mit dem JTAG-Port auf ATMEGA16 und 32 MCUs zu umgehen.

Aenderungen:
-Die Pins fuer die JTAG-Verbindung zum x30Xt sind nun PD3, PD4, PD5 und PD6.
-Die Jumper fuer LX.BIN und YA.BIN liegen nun auf PB1 und PB2.

Ansonsten wurden keine Aenderungen gemacht.
13
Software / Re: Microkontroller - JTAG
24. Mar 2008, 15:01
So, hab mal die neue Version fertig gemacht.

Aenderungen:
-MACRO-Defines fuer JTAG-Clock-Verzoegerung und Patchzeitpunkt.
-Standard JTAG-Clock-Verzoegerung auf 15 erhoeht.
-Zusaetzlich hex und bin files fuer ATMEGA16 und 32.
-Kleinere Optimierung der USART-Ausgabe die die Codegroesse ein paar hundert Bytes reduzierte.
-README etwas erweitert und Bilder fuer Anschluss des Resetkabels beigefuegt.
14
Software / Re: Microkontroller - JTAG
24. Mar 2008, 14:21
Gut das es nun funktioniert und danke für die Arbeit :)

Es könnte evtl. helfen die Delays in der clockin() funktion auf 20 oder 30 µs zu erhöhen um längere Leitungen zu kompensieren.
Wenn er trotz Meldung, dass der Patch korrekt eingespielt wurde nicht korrekt läd kann es evtl. helfen das Timing, wann er den Patch ausführt etwas zu ändern,
while(patchtime < 120);
ist dafür zuständig, jede Erhöhung oder Reduzierung um 30 ändert das Timing um etwa eine Sekunde.
Standardmäßig patcht er 4 Sekunden nach dem Resetsignal.

Ich werde mal MACRO-Defines dafür in die nächste Version einfügen.
15
Software / Re: Microkontroller - JTAG
24. Mar 2008, 01:19
Scheint als würde TDO permanent auf 0V gezogen sein.
Zeigt er denn FFFFFFFF als CPUID wenn du TDO unverbunden lässt?

Ansonsten habe ich es auf einem atmega16 noch nicht getestet, kann es die Tage mal auf einem atmega32 testen, ob es dort funktioniert.
Ich habe übrigends auch keine 3.3V Version zum testen verwendet, nur eine von externen 5V versorgte 5V Version.