Hallo, ist es mit wenig externer Beschaltung möglich, kurze Spannungspulse mit einem µC zu erzeugen? interessant wären Pulse <= 100ns Besten Dank und Viele Grüße Peter
das wäre dann >10Mhz ... prinzipiell ja, kommt auf den µC an ... welcher solls denn sein?
vorzugsweise ein msp430. die pulse sollen allerdings nicht kontinuierlich erzeugt werden, sondern nur sporadisch. durch einen externen interrupt getriggert soll ein zähler loslaufen und bei erreichen eins bestimmten wertes den puls auslösen. ist sowas möglich? wenn man mit 20Mhz taktversorgung rechnet muss der controller schon ganzschön viele "instructions per cycle" mit machen um einen so kurzen puls zu erzeugen... g
JA. Aber welche Auflösung/Toleranz wird benötigt ? zb 100 +- 5 ns ? Dann rechne mal den notwendigen Takt aus. 10MHz sind mal gerade 100 nsec. Also etwas Verarbeitungszeit dazu, etwas Spielraum zum einstellen der Pulsbreite. Dann wird wohl ein µC mit so 100 MHz Takt aufwärts rauskommen. Was vielleicht auch geht wäre ein externes Flipflop, µC Pin direkt an den SetEingang des Flipflop und über ein RC Glied an den ResetEingang. damit sollte der Reset etwas Zeitverzögert kommen. Dimensionierung müsste man mal durchrechnen ob damit deine Pulsbreite getroffen werden kann.
danke für deine antwort hatte auch schon ein wenig rumgerechnet und bin (leider) auf sehr hohe betaktungen gekommen... über die genauen anforderungen weis ich leider auch noch nicht so genau bescheid. g
Es braucht zwei Takte, einmal an und direkt danach wieder aus. Wenn man dafür je eine Instruktion ansetzt reichen doch dafür 10 Mhz Takt, oder nicht?
>Was vielleicht auch geht wäre ein externes Flipflop,
Ich würde ein Monoflop nehmen.
Hallo, was heisst denn externe Beschaltung - mit Takt und Flipflop oder mit einem Monoflop geht es immer. Gruss Reinhard
ich habe vorsichtshalber mal mit 4 cylcles pro instuction gerechnet. das mit den mono/flip flops wirds wohl werden. Ideal wäre halt der "nackte" controllerpin..
Für einen Kammgenerator hab ich mal einen CPLD mit externer Beschaltung zur Impulsformung benutzt. Durch Optimierung des Layouts konnten so 400ps Risetime mit 7 Vpp an 50 Ohm erzeugt werden. Grüße
Den von dir favorisierten MSP430 kenne ich nicht inwendig. Vielleicht hat er ja ähnliche Timer-Features wie jeder "olle" Atmel AVR: Da kann man mit der "output compare" Funktion eines Timers genaue Pulse definieren. Auflösung bis maximaler Prozessortakt. (20 MHz, also 50 ns.) Es gibt 2 Compare-Register, für jedes kann man konfigurieren was bei einem "match" passieren soll. Eine der Möglichkeiten ist, einen korrespondierenden Pin des uC zu setzen oder zu löschen. Wenn der Timer auch ein "input capture" hat geht das auch präzise synchron zu externem Trigger: Wenn am Capture-Pin die konfigurierte Flanke auftritt wird der Timerwert automatisch in ein Hardwareregister kopiert und z.B. ein Interrupt ausgelöst. Die Interruptroutine kann nun "in Ruhe" diesen Wert auslesen, mit einem gewünschten Offset die Compare-Register programmieren und weiterhin die Dinge auf sich zukommen lassen. Jörg
Hi Jörg. Wertvoller Input den du mir da gibst :) 50ns hören sich doch richtig gut an :) kann ich den Controller nicht auch um faktor 2 übertakten um noch kürzere pulse zu erzeugen? muss nicht zwingend ein MSP430 sein... Hauptsache es geht mit einem günstigen Kontroller der weitverbreitet ist. AVRs wären sogar fast besser, da ich schon ein STK500 rumfahren habe :)
Hallo, lass 'mal raten: Du willst einen 20 ns-Impuls erzeugen, da Du gerade einen schönen Artikel auf Heise gelesen hast, dass man damit die XBox360-Sicherheitsmechanismen aus dem Tritt bringen kann ;-) Falls es das ist: es geht darum, zu einem geeigneten Zeitpunkt einen I2C-Taktgenerator zu resetten, ohne den Hauptprozessor in den Reset zu schicken, um dann die Takt-Teiler neu zu programmieren. Welche Anforderungen daraus an die Flankensteilheit u.ä. resultieren, könnte ja für das Thema auch interessant sein. Nur daran denken (da ja nach günstigen, weit verbreiteten Controllern gefragt wurde): Das Herstellen und Vertreiben eines solchen Kopierschutz-Ausheblers wird in Deutschland mit Freiheitsstrafe bis 1 Jahr oder mit Geldbuße bis 50.000 Euro geahnded (§108b UrhG). Privat darfst Du es zwar auch nicht basteln, es ist jedoch nicht strafbewehrt. Schöne Grüße, Martin
mein beileid, wer solche news von heise bekommen muss... kopierschutz wird keiner ausgehebelt, es wird lediglich möglich sein selbst geschriebenen code auf der maschine auszuführen. wer den artikel gelesen hätte, wüsste auch worum es geht. ...und der taktgenerator wird nicht resettet. und schon garnicht über I2C glaubst du ernsthaft ich würde mir vorschreibenlassen was ich mit ein bisschen elektronik anstellen darf und was nicht?
Einige der aktuellen MSP430 kannst du mit 25MHz betreiben, wenn du einen der Timer-Ausgänge benutzt, kannst du Pulse mit 40ns Auflösung erzeugen. Das könnte für die XBOX ausreichend sein. :) Noch besser gehts wohl mit einem AT90PWM...der hat eine PLL drin, die PWM ausgänge können da meines Wissens mit bis zu 64MHz laufen, was 15,625ns minimale Pulsbreite wären. Damit kommst du den 20ns für den Prozessor-Hack schon Nahe... Soweit ich gelesen habe, wird der Taktgenerator beim Booten auf eine niedrigere Frequenz eingestellt, und das per I2C.
Ha, Martin, Du warst erster. Als ich das gelesen hab, kam mir doch der gleiche Gedanke. Hätte er doch mal den Artikel bei dangerousprototypes gelesen, dann müsste er jetzt nicht so viel fragen ;-)
Also das sollte nicht so schwierig sein, den Artikel von gestern zu finden.
Hallo, o.k. sorry, ich hatte nicht weiter gesucht und hatte gedacht, dass das Timing-IC zurückgesetzt werden muss, bevor die Register wieder geschrieben werden können (kommt vor); anscheinend wird aber tatsächlich eine racing-condition ausgenutzt, die auftritt, wenn der Prozessor langsam getacktet wird und dann der Reset zu kurz betätigt wird. Lässt sich in der nächsten Harware-Generation ganz leicht durch eine modifizierte Beschaltung der Resetleitung ändern. Interessant finde ich nur, welches Insider-Wissen vom Prozessor man haben muss, um auf diese Racing-Condition zu kommen. Wie immer gilt halt: Nichts ist unknackbar - den Wettlauf zwischen Rüstung und Geschoss gewinnt immer das Geschoss. Und im übrigen: der §95a UrhG schützt halt alle technische Maßnahmen, die sicherstellen sollen, dass ein urheberechtlich geschütztes Werk nur so verwendet wird, wie es der Rechteinhaber vorsieht. Kopierschutz ist also nur ein Beispiel, schon das nicht vorgesehene Verwenden irgendeines XBOX360-Kernel-Bestandteils ist nicht erlaubt (und somit auch das Laden eigener Software). Man kann somit das Gesetz nur ignorieren (mit entsprechenden Konsequenzen bei gewerblichem Umfang), wegdiskutieren ist nicht. Schöne Grüße, Martin
Peet P. schrieb: > ist es mit wenig externer Beschaltung möglich, kurze Spannungspulse mit > einem µC zu erzeugen? Bau dir einen Monostabilen Oszillator auf, der den passenden Puls generiert und trigger den mit einem µC.
wie gligli selbst geschrieben hat, war es reiner zufall dass er auf den glitch gestoßen ist. und mal nebenbei: ich habe nicht vor ein produkt auf den markt zu bringen. ich möchte lediglich erreichen, dass möglichst viele leute in den genuss von linux auf der xbox360 kommen können.
Du brauchst nur auf den POST39 triggern und ausloesen..:) ein xor-gatter mit rc-glied amEingang. Die anderen drei als adressdecoder beschalten. Das ist ja aber nur die halbe miete, den I2C musst du ja auch noch bedienen, oder zumindest die PLL_BYPASS_LEITUNG Da ich con fga und cpld und vhl keine Ahnung habe,würde ich mit flinken gattern den Resetimpuls erzeugen und mitm kleinen tiny den I2C bedienen
Hallo, ich möchte Dich ja auch nicht maßregeln oder Dir Gewinnabsicht unterstellen, sondern nur auf mögliche Probleme hinweisen, die Dich sonst böse erwischen könnten. Denn zur Gewerbsmäßigkeit gehört in Deutschland (o.k., zumindest in Bayern) seit neuestem nicht mehr, dass man damit Geld verdient oder verdienen möchte. Eine unkontrollierte Verteilung reicht inzwischen dem OLG München, um den Verursacher einzubuchten - siehe: http://www.123recht.net/OLG-Muenchen-zum-gewerblichen-Ausmass-einer-Urheberrechtsverletzung-durch-Filesharing-__a97883.html Entspricht zwar irgendwie weder meinem Rechtsverständnis noch dem Rechtsverständnis meines Finanzamtes, aber Recht bekommt hier sowieso nur noch der mit dem dickeren Bankkonto... Schöne Grüße, Martin
danke für die antworten. die i2c geschichte ist eh nur für die neuere hardware (trinity (slim)) relevant. alle anderem kommen ohne I2C aus.
Ein Timer des ATtiny25 kann via PLL mit 64MHz betrieben werden und kann Pulse mit der Dauer vom einem Takt produzieren. Die exakte Pulslänge lässt sich bei Verwendung des internen RC-Taktes über das OSCCAL-Register um Faktor 2 rauf und runter einstellen, beispielsweise mit Poti am ADC-Eingang und ADC-Wert => OSCCAL.
Peet P. schrieb: > interessant wären Pulse <= 100ns Um mal auf die Anfangsfrage zurückzukommen: Wie lang sollen die Impulse denn nun sein und soll die Pulsdauer fest sein, konfigurierbar oder frei steuerbar.
20 und 100ns sind die interessanten pulslängen. konfiguration/änderung dieser ist optional... g
Hallo, guck dir mal die CTMU von Microchip an.... Auflösung im pS Bereich... Auf Seite 8: "PWM Generation By using the CTMU with a comparator (either internal or external), there is a way to generate high-resolution, high-frequency Pulse-Width Modulation (Figure 9). The PWM resolution depends on the slope controlled by the internal A/D sampling capacitor (CHOLD), and can be changed by adding an external capacitor parallel to CHOLD." Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.