MegaSpeedy Schreibschutz mit Atmel


MegaSpeedy Schreibschutz mit Atmel

von Atarijana » Mo 16. Mär 2015, 02:21
MegaSpeedy - Schreibschutz mit Atmel und vorhanden Codierschalter.
- oder ich wollte hiermit boss mal meinen Individuellen Schreibschutz zeigen…


Funktion: Wenn die rote Codierschalter- LED aus ist, also im normalen Betrieb, nach druck von ca. 3 Sekunden (Zählt bis 20000 hoch) auf diesen Schalter: Wechsel: Schreibschutz an oder aus (Einmal mit Lock). Falls eingeschaltet, wird dies mit der grünen LED signalisiert. Und da das Bit in den EEprom Bereich des ATMEL gespeichert wird, bleibt der Zustand nach aus- und wiedereinschalten der Floppy vorhanden. Eben ein kleiner Luxus, früher hab ich das auch mal mit Schalter gelöst, doch da ich zu faul war, meine neuen 1050 einen Schreibschutzschalter einzubauen ;-) (Ne, find ich hässlich), hatte ich mir diese Lösung für die Megaspeedy entwickelt. Und da ich keine Lust hatte, mich in der Programmierung des FPGA einzufummeln (Das meine ich jetzt ernst) und ich schon den ATMEL (Die größeren) in ASM mit PWM eine 3 x 3 + (nochmal mal 3 fürs RGB) LED Matrix programmierte, samt Platine ätzen und so… -Dachte ich, dafür wäre der doch jut (Berliner) geeignet. Beim der FPGA Programmierung wenn möglich wäre, hätte ich zumindest einen 5V TTL oder CMOS Baustein benötigt um den WDC mit 5V zu schalten bzw. und oder vielleicht über extremes ausbalanciertes PullUp, was gerade meiner Fantasie und meinen drank zu Experimente darstellt….

Ne dann doch lieber den Atmel, hab davon einige hier und wollte immer schon mal meinen Universal Eprommer testen, da ich auch keine Lust hatte, den SMARTUSB oder so ähnlich heißt der Progger speziell für den ATMEL, auf dem Steckboard zu beschalten (PDFs lesen und so, keine Zeit…)

Da mein Atmel Studio 4 etwas älter ist, und ich gerade keine Lust und vor allem keine Zeit hatte mich wieder in ASM einzufriemeln, hat sich Bascom-AVR herauskristallisiert, als Demoversion macht das Programm für den nicht kommerziellen Einsatz Code bis 2 kB - das reicht (466 Bytes ist das Programm kompiliert) und die Installationsdatei ist mit 39 MB vs 812 MB !!! beim Atmel Studio 6 (Denke, da ist allerlei MS Zeug bei) und so erträglich. Und in Basic hab ich schon seit Ewigkeiten nicht mehr programmiert. Das klappte von Anfang an super, so das ich die Hardware auf einen Steckboard aufbaute und testete, nachdem im Simulator alles in Ordnung war. Den Code hab ich nicht weiter optimiert.


So! Achtung wirklich nur für Freaks! Die nicht nur mit einen Lötkolben umgehen können, sondern auch wissen wie man Schaltpläne liest und zum Beispiel wissen, wie der Reset des ATTiny13(A) abschaltet und so auch den PB5 verwenden kann (Kann auch auch einen anderen Port verwenden, ist nur bequem und sieht besser aus, auf eine Seite). Und wer weiß das Schrumpfschlauch nichts mit Schlümpfe gemeinsam hat, neben ESD, Kurzschlüssen sei auch vor explodierenden Kondensatoren gewarnt! Keine Garantie und Gewährleistung… Und auch 5V sind nicht ohne! Schon mal 5V auf der Zunge gespürt? - Ich nicht. Das meine ich wirklich erst, nur wer halbwegs mit Lötkolben umgehen kann, URI kennt, weiß warum ein 100nF Abblock- Kondensator verwendet wird, messen kann usw. soll sich da ranmachen. Aus Zeitgründen werde ich so gut wie keinen Support geben.


So ein paar Pins erklärt:

Pins auf der Display- Platine:
Pin 3 (Abfrage des Tasters) gegenüber GND (Am PullUp im offenen Zustand)
Pin 4 LED Grün + ( Auf meine Display- Platine: LED Grün vorhanden, aber ohne Funktion, da R4 fehlt. Pin 4 auch abgehend zum SV1 Pin 3, analog zum fehlenden R2 PullUp zu Pin 14 (+3.3V), wird von R17 auf der Hauptplatine übernommen!
Pin 5 LED rot +
Pin 22 GND

Nebenbei:
Fall: SV1 meinerseits nicht erwünscht.
Falls doch erwünscht, ohne R4 oder OHNE ! gebückten R4 direkt vom Ausgang des Atmel über einen R 560 Ohm am Lötpad R4 rechts zur LED Grün anlöten.


Mein vorgehen, da SV1 nicht erwünscht
- R4 einfach brücken.
- Leiterbahnen an Pin 4 mit einen Cuttermesser vorsichtig auf Vorderseite (zum FPGA gehend) und auf der Rückseite (PullUp) getrennt oder auf der Rückseite den PullUp R17 auslöten, so habs ich gemacht.

Anschluss zur Display- Platine:
Pin 3 (Abfrage des Tasters) zum Atmel Pin 5 (PB0)
Pin 4 (Zur LED Grün) über neuen R 560 Ohm zum Pin 3 (PB4) des Atmel´s
Pin 5 (Zur LED rot) zur Abfrage an des Atmel´s Pin 1 (PB5)

Vom Atmel Pin 2 (PB3) über JP3 (Der Braune wird nicht verwendet und sollte ja abgeschnitten werden) verlängert zum über den Sockel gebogenen PIN 36 (Write Protect, kein Kontakt zum Sockel mehr) des 2793 WDC.

Den Pin 8 (VCC) des Atmel 5V vom Sockel Pin 4 der MegaSpeedy versorgt und GND hab ich vom Pin 7 am JP4 der MegaSpeedy zum Pin 4 des ATTiny13 gelegt. Natürlich mit 100nF Abblockkondensator. den kleinen ATTiny hab ich gesockelt, die Sockelbeinchen umgebogen und wer will mach Ihm mit einen Tropfen Heißkleber fest.

Zusammenbau, test…. ahh alles funktioniert! Fein, sieht gut aus, endlich kein Locher mehr und der Schalter den ich mal einbauen wollte ist nun auch überflüssig…


IMG_5886-k_600.jpg
Im Betrieb, Schreibschutz ausgeschaltet
IMG_5886-k_600.jpg (65.63 KiB) 1172-mal betrachtet


IMG_5879-k_600.jpg
So sieht meine MegaSpeedy nun aus...
IMG_5879-k_600.jpg (159.1 KiB) 1172-mal betrachtet


IMG_5895-k_800.jpg
Reset abgeschaltet in meinen Fall mit MiniPro Pommer
IMG_5895-k_800.jpg (541.63 KiB) 1172-mal betrachtet


Code: Alles auswählen
$regfile = "ATTiny13A.dat"
'$crystal = 125000
$hwstack = 16
$swstack = 16
$framesize = 24
$noramclear

Taster Alias Pinb.0
Ledrot Alias Pinb.5
Ledgruen Alias Portb.4
Writeprotect Alias Portb.3

Config Taster = Input
Config Ledrot = Input
Config Ledgruen = Output
Config Writeprotect = Output

Dim Zaehler As Integer
Dim Tastenverrieglung As Bit
Dim Writeproctect_merker As Eram Byte

Zaehler = 0
Tastenverrieglung = 0


Do

If Ledrot = 1 Then
   Ledgruen = 0

   Elseif Writeproctect_merker = 0 Then
   Writeprotect = 0
   Ledgruen = 0

      Else
      Writeprotect = 1
      Ledgruen = 1
End If


 If Ledrot = 0 And Taster = 0 And Zaehler < 20000 Then
    Zaehler = Zaehler + 1
 End If


 If Zaehler => 20000 And Tastenverrieglung = 0 Then
    Tastenverrieglung = 1
    Zaehler = 20000
    If Writeproctect_merker = 0 Then
    Writeproctect_merker = 1

      Else
      Writeproctect_merker = 0

    End If
 End If


 If Tastenverrieglung = 1 And Taster = 1 Or Ledrot = 1 Then
   Zaehler = 0
   Tastenverrieglung = 0
 End If



Loop
End



So weit,
Gruß Patrick

MegaSpeedy Schreibschutz mit Atmel

von guus » Di 17. Mär 2015, 00:23
Hallo Patrick,

Danke, sehr schöne Erweiterung.
Und ich hab extra auch eine Spur vom Grühnen LED nach ein Wiederstand gemacht, damit es brauchbar ist.

Hast Du auch gesehen es ist ein IIC bus auf den MegaSpeedy drauf? (Hat ein 24C02 angeschlossen)
So könnte sich den Atmel auch mit den MegaSpeedy unterhalten.
Oder eine Echtzeit Uhr, LCD-Display......

MFG/
Guus Assmann

Re: MegaSpeedy Schreibschutz mit Atmel

von Atarijana » Do 26. Mär 2015, 11:48
Hallo Guus,

ja die Anbindung zum Konfiguration- EEprom hab ich gesehen.
Aber ich kann mir keinen Reim da drauf machen für was eine Echtzeituhr in der 1050 gut sein sollte. Ein erweitertes LCD-Display mit Touch Funktion statt die LED Ziffern wäre ja ganz lustig... :D


Gruß
Patrick