Ich bin aktuell dabei, eine Intel 4004 CPU in Betrieb zu nehmen:
formatting link
Habe heute mal etwas von dem Assembler gelernt, was nichts besonderes Neues ist, wenn man schon 68000 und 6502 kennt. Schade daß Intel in späteren CPUs tatsächlich weniger Register eingebaut hat, denn der 4004 fühlt sich beim Programmieren etwas wie ein 68000 und weniger wie ein x86'er an. Knight Rider im Emulator läuft schon :-)
formatting link
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Cool :) Herrlich sinnfrei, aber ich kann Dich voll verstehen. An den Vintage-Geräten meiner Kunden habe ich immer noch mit 6809 und Z80 zu tun, Freitag habe ich gerade einen 6809 Code von HD43160 auf HD44780 Displays geändert - macht auch Spaß. Besonders wenn man nach dem Brennen der EPROMs merkt, dass sich irgendwo noch ein "show cursor" versteckt hat, der beim 44780 leider zum Umkehren der Schreibrichtung, sprich dekrementieren des Character Counters, führt ;)
Das liegt daran, dass die Befehlssatzarchitektur des 8008 (in dessen Tradition auch die Nachfolger 8080, 8085, 8086, 8088 u.s.w. standen) auf einen Terminal-Entwurf von CTC zugeschnitten war und nicht in der Tradition des 4004 stand.
Generiert bei 20 MHz Takt gerade mal ein 500 kHz Signal für den 4004, und da fehlt noch die ganze restliche Logik, um ein ROM zu emulieren.
Im Datenblatt vom 4004 sind die Zeiten zwischen den beiden Taktleitungen recht eng definiert und eine minimale Periode von 1.35 us und maximal 2 us erlaubt. Hängt wohl mit den internen Leckströmen zusammen, was man so im Internet liest. Ich versuche aber dennoch mal die Peripheriebausteine mit dem PIC zu simulieren, denn ist ja schon ein neuerer 4004 im Plastikgehäuse, vielleicht hat der niedrigere Leckströme. Ich hoffe da kann nichts kaputtgehen bei?
Ein anderes potentielles Problem ist die maximal erlaubte Anstiegs- und Abfallzeit für den Takt. Die ist mit 50 ns angegeben. Mein 40190 schafft da gerade mal 200 ns. Wie kann man also 0 V / 5 V in 0 V / 15 V mit 50 ns umsetzen? Am besten noch bei Reichelt oder Farnell als fertiges IC bestellbar, vielleicht ein schneller OP? Aber diskret aufgebaut wäre vielleicht auch interessant. Falls ich dann den PIC durch einen FPGA ersetzen muß, wäre eine Wandlung von 0 V / 3,3 V nach 0 V / 15 V noch prima.
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Normalerweise nicht. Es koennen hoechstens Bits kippen, wobei diese Timings damals so konservativ angegeben wurden wie heutzutage Flash Schreibzyklenzahlen.
Mit Gate Drivers, diese Art:
formatting link
Keine Ahnung ob Reichelt Gate Drivers hat, deren Web Site tue ich mir nicht an und ich weiss eh nicht wie die Dinger auf Deutsch heissen :-)
Gate Driver sind heutzutage fast alle fuer eine Ansteuerung ueber 3.3V Logik geeignet.
Danke, aber das hat sich zum Glück erledigt. Ich habe eben die 10k Serienwiderstände R5 und R6 überbrückt (anders als bei der Datenleitung, wo ich noch nicht 100% weiß, wann der 4004 auf Ausgang schaltet, macht das da auch überhaupt keinen Sinn) und der HCF40109BE schafft da jetzt locker unter 50 ns. Nochmal mehr als doppelt so schnell, wie ich letztens auf meinem Breadboard per fliegendem Aufbau gemessen hatte:
formatting link
Auch fast überhaupt kein Überschwingen (zumindest wenn nur das Scope als Last dranhängt), was mich schon wundert, da ich die Platine initial mit dem Eagle Autorouter geroutet habe, aber ich habe das Schlimmste von Hand korrigiert :-)
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Bei solch geriatrischen Chips ist das kein Wunder. Laut Datenblatt liegen die Rdson der Ausgangstreiber des 40109 im Bereich mehrerer hundert Ohm. Da hast Du "eingebaute Serienterminierung" :-)
Mit 3.3V Ansteuerung kommt der 40109 vermutlich jedoch nicht gut zurecht, selbst wenn Du einen DC-Shift nach oben machst kann das was knapp werden. Aber es soll ja sicher keine Serienfertigung sondern nur ein Unikat werden.
Ja, ist relativ neu, ein Jahr alt. Ein DSO-X 3012A. Man gönnt sich ja sonst nichts :-) Aber der relativ große Speicher macht wirklich Spaß beim Debuggen von Sachen wie SPI oder I2C, zusammen mit den Triggermöglichkeiten, wie erst auf die 742. Flanke o.ä. zu triggern.
Vielleicht kann man es ja verkaufen. Falls sich jemand auf eBay sowas hier kaufen sollte (meine Plastikversion war bedeutend preiswerter)
formatting link
dann ist er vielleicht auch bereit noch ein wenig Geld auszugeben, um den Chip auf Echtheit zu testen. Denn sowas könnte man heutzutage relativ leicht vom Gehäuse her fälschen, denke ich mal.
Die vollständige Funktion bei 700 kHz nachzubauen wäre aber aufwendiger und werden Fälscher nicht machen, da sie wohl zu recht vermuten, daß der Chip normalerweise in einer Vitrine verschwindet und nicht auch tatsächlich eingesetzt wird. Würde sich von den Kosten wohl auch nicht lohnen bei den kleinen Stückzahlen.
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Der Bildschirm sieht ja erste Sahne aus, endlich mal was groesser als die uebliche Schiesscharte:
formatting link
Aber warum hat es nur 100MHz Bandbreite obwohl Sampling mit 4GSPS erfolgt? Das wuerde bei mir was eng.
Da duerfte dem Verkaeufer preislich die Phantasie durchgegangen sein :-)
Ich kann mir nicht vorstellen dass da echt ein Markt ist. Ingenieure haben ja normalerweise keine Vitrinen fuer Sammeltassen und sowas. Obwohl es manchmal erstaunlich ist. Bei einem aktuellen Projekt wo ich den HF-Kram ein wenig mitbetreue soll das meiste in bedrahtet bestueckt werden. Wegen des "Retro Look" und man soll alles sehen koennen. Nicht ganz trivial sowas einstrahlfest zu bekommen wenn z.B. jemand ein GSM Handy danebenlegt.
Kann man wohl sagen. Ich hatte vorher ein uraltes TDS2012, ist ein Unterschied wie Tag und Nacht.
Das ist leider Politik bei Agilent, man muß alles extra dazukaufen. Ich habe die 200 MHz Erweiterung dazu gekauft (gab neue Probes und man konnte es per Software freischalten), weil ich für ein zukünftiges Projekt auch SRAMs bei 100 MHz Takt damit debuggen möchte.
Stimmt, schon von der Menge an gehandelten 4004 her gesehen würden es wohl höchstens ein paar Einzelanfertigungen sein. Aber macht schon Spaß sowas rein der Übung halber bis zu einem fertigen Produkt zu entwickeln.
Habe ich bei meiner Schaltung auch drauf geachtet, natürlich alles in bedrahtet :-) Obwohl SMD eigentlich viel einfacher einzulöten ist, wenn es nicht gerade 0402 ist.
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Ich habe die Serie auch nie gemocht und daher ein stattdessen ein Instek gekauft. Das hat 200MHz Bandbreite, vier Kanaele und lag deutlich unter $2000.
So eine Vertriebspolitik mag ich ueberhaupt nicht, oder in Neu-Speak, das "turned mich off".
Ich wundere mich manchmal wieviele Auftragsbestuecker in westlichen Laendern bei 0402 rumzetern und 0201 als total unmoeglich ablehnen. In Asien fragen sie meist hoechstens nach der Monatsstueckzahl.
Habe die Taktgenerierung zum Debuggen mal etwas langsamer mit 250 Hz laufen lassen (damit ich noch genug Zeit habe, das Display anzusteuern), und der Chip gibt das Sync-Signal alle 8 Takte aus, genau wie laut Datenblat beschrieben, er lebt also erstmal:
formatting link
(bei periodischen Signalen kann man per Persistenz- und Capture Waveform-Funktion ein wenig tricksen, auch nur mit 2 Kanälen)
Die CPU wird allerdings nach ein paar Minuten bis ca. 50°C warm (per IR-Thermometer gemessen). Der 6502 wurde auch etwas warm, ist wohl bei den alten Chips so, vermute ich mal. Ein PIC bleibt bei 20 MHz kalt. Vielleicht habe ich ja noch was falsch angeschlossen. Aber er darf ja bis 70°C warm werden laut Datenblatt, also erstmal nicht so schlimm, hoffe ich.
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Sprich: die Schleife läuft bei 20MHz Takt mit 1,67MHz. Und erzeugt im Gegensatz zu deiner Variante wenigstens auch zwei symmetrische Phasen.
Da müßte man also sogar noch ganz erheblich "bremsen". Naja, die freien Takte kann man gut nutzen, um darin den Rest der Arbeit zu erledigen. Freundlicherweise ändert nämlich keine der obigen Instruktionen irgendein Flag oder Register außer R16.
Man kann also die Schleife recht problemlos ausrollen und mit dem Rest des Codes verschachteln, für den dann noch 31 andere Register zur Verfügung stehen. Dabei verflüchtigen sich übrigens auch noch mindestens einer der beiden Sprünge als unnötig und setzt somit zwei Takte pro Zyklus für den restlichen Nutzcode frei.
Wenn's dann immer noch nicht reichen würde, könnte man noch weiter gehen und im Extremfall zwei weitere Register für die Takterzeugung exclusiv verwenden. Dann würden auch noch die Register-Initialisierungen in der Schleife wegfallen und man könnte vier weitere Takte pro Zyklus für den Nutzcode freisetzen.
Aber obwohl es so locker gehen würde: Es wäre trotzdem ein ziemlich dummer Ansatz.
Der AVR hat nämlich Timer, die für so regelmäßige Sachen ideal geeignet sind. Ein einzelner Timer kann in modernen AVRs zwei PWM-Ausgänge ansteuern, würde also allein bereits völlig ausreichen, um diesen Zweiphasentakt zu erzeugen. Also Timer einmalig geeignet initialisieren und die gesamte Recheneinheit kann sich dann vollständig auf den Rest der Sache konzentrieren, die Takterzeugung läuft nebenbei, ohne einen einzigen Takt Rechenzeit zu beanspruchen. Die Synchronisation zwischen Takt und dem Rest ist sowohl über Polling also auch über Interrupt möglich.
Die SH7045 die ich hier letztens mal geschenkt bekommen habe werden auch sehr deutlich warm. Im Datenblatt steht da aber auch eine typische Stromaufnahme von 160mA bei 5V. Oh..und im Sleepmode sind es
140mA. :-D Da habe ich beim ersten einschalten auch gedacht das ich was falsch gemacht habe....
Das sind alles Bausteine die optimal sind um in Norwegen im Winter zu ueberleben, man fragt sich bloss wie die ICs einen Sommer in heisseren Laendern ueberstanden haben.
Oh..und der SH7045 wurde ja sogar in Satelliten eingesetzt. Ich meine ihr hab euch ja bestimmt schon immer gefragt warum die so aufwaendige Solar und Kuehlpannels haben. :-D
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.