SSD disk til RC4000

Fra DDHFwiki
Spring til navigationSpring til søgning

Vi har kun 1 fungerende disk - med intakte hoveder - tilbage på RC4000, så vi (Henrik og Ole) vil gerne sætte et moderne lagermedium på.

Relevant dokumentation

RC4320 Drum Controller HW Manual

RCLM400 Schematics

RCLM400 Data Sheets

SW interface RC4000 - RC4320

For at starte en tromleoperation skriver driveren i 3 registre i RC4320 (io Control, forskellige modifiers):

<First Segment> : Første segment

<No. of segments> : Antal segmenter

<First storage address> : Første adresse i core store. Skrives med forskellige io modifiers for hhv. læsning og skrivning.

Operationen starter når <First Core addr> skrives af driveren. Når det ønskede antal segmenter er overført giver RC4320 et interrupt. Driveren kan herefter aflæse status med io Sense.

Design

Brug en BeagleBone Black (BBB) til at emulere "tromle" op mod en let modificeret RC4320 Drum Controller (DRC).

Driveren skelner ikke mellem tromle og RC433 disk, og dette interface er meget simplere end det til RC4819 / DFC403.

Tromlen har den fordel frem for disk at eneste clock source er tromlens klokspor - vores SW behøver ikke være hård realtid op mod en controller-clock.

Lav interface til BBB så generelt som muligt, med få signaler (=> seriel kommunikation), så det er muligt at skifte BBB ud med en anden uC, og tilpasse dens SW nemt. Signaler skal være uden hårde timing-krav, og rene SW-kontrollerede GPIO signaler.

Signaler mellem tromle og DRC som vi skal emulere:

Fra tromle

Clock fra clockspor (Tromleclock)

Data fra clockspor (index mark)

Læsedata fra valgt dataspor

(Clock fra dataspor modtages af DRC men bruges ikke)


Til tromle

Skrivedata

"Write Enable"


Andre DRC signaler

Diskemulatoren skal vedligeholde sin egen kopi af DSA (Drum Segment Address) registeret i DRC. DSA er kun 11 bit (2048 segmenter, størst mulige tromle). DSA bliver opdateret (1) ved at RC4000 skriver <First segment> (2) det bliver herefter talt op af DRC under udførelsen af fler-segment operationer.

Vi skal bruge:

IOBUS(5:23) - der er kun modtagere til 19 bit i DRC

Strobe for RC4000 skriv til DSA

Signal for inkrementering af DSA.

Strobe signalet er asynkront fra RC4000; alle andre signaler er synkrone med Tromleclock som vi selv laver. Strobe + IOBUS skal derfor latches i adapteren (udenfor BBB). Ved at bruge et skifteregister til at latche IOBUS lægges kun beslag på 2 GPIO på BBB.

Liste over BBB GPIO signaler:

Mod BBB:

Latched DSA write strobe

CpDSA(12:23) (Signalet der inkrementerer DSA registeret)

Serielt signal fra nyt DSA skifteregister (First Segment register)

Write Data

Write Enable

Fra BBB

Clock til skifteregister, nulstiller også DSA write latch.

Tromleclock

Indexpuls

Drum Read Data


Ialt 9 essentielle GPIO signaler + evt. lysdiodestyring mm.


Diagram

Diagram V0.0A

Noter til diagram:

Der benyttes kun 1 af de 2 rækker ben i hver af de 2 BBB stik, P8 og P9. Dette for at kunne bygge konstruktionen på et "HCØ" RC4000 breadboard. Konkret er det de 2 "yderste" rækker der er valgt, med en afstand på 20 * 0.1"

BBB forsynes med +5V fra adapter/RC4000, og forsyner adapteren med +3.3V. Pga. latchup må ingen af benene på BBB stikkene drives før +3.3V er oppe. Det udelukker bl.a. direkte forbindelse til TTL indgange.

Trådningsændringer i DRC

Adapteren placeres i pos. 47 og fordrer en række tilføjelser til trådningen mellem denne og den øvrige DRC, samt en ændring i trådningen til pos. 7 beskrevet i trådningsplanens note 4.

Installation

Ved brug af adapteren skal kort i pos. 4 fjernes i DRC.

Dog skal et af potmetrene på kort 5 justeres for at gøre hastighedsovervågningen af tromlen mere tolerant.

Hvis adapteren fjernes, kort 4 genindsættes og forbindelserne nævnt i trådningsplanens note 4 reetableres, kan DRC bruges som normal tromle-controller.

Andre noter

Husk at hverandet bit bliver gemt inverteret på tromlen. Hvis man fjerner inverteringen i disk-filen på uC kan man bruge samme filformat som RC4000-simulatoren ("ikke-format", ord for ord, mest betydende byte først) => nem fil-udveksling.

DRC genererer og kontrollerer et paritets-ord for hver segment. Vi gemmer altså ikke ordet, men det kan tjene til integritetscheck af data i begge retninger mellem adapter og DRC.

DRC genererer 4-5 klok-faser for hver puls med monostabile FF der trigger hinanden. Man kan derfor ikke sætte klokrate op ift. tromlen, men ned skulle ikke være noget problem. Bemærk at transfer rate for tromlen / DRC er ca. det halve af RC4819 diskene.