next up previous contents
Next: Das Datenerfassungsprogramm Up: No Title Previous: Diskussion

Adress Mapping beim CAMAC-Standard

Für jedes CAMAC-Modul gibt der Hersteller in den Spezifikationen die typischen CAMAC-Befehle an. Dabei ist die Struktur aller Befehle standardisiert (Tab. 1). Der 24-Bit-Befehl ist in folgende Teile gegliedert:

Die Zuordnungen kommen folgendermassen zustande. Die Branche-Adresse ist eine einstellbare (0B7⇒8 Branches) Nummer, welche an jedem CAMAC-Branche-Driver (CBD) eingestellt werden muss. Diese Adresse ist vorallem dann relevant, wenn mehrere CBD in einem VME-System gleichzeitig eingesetzt werden. Für die Datenerfassung wurde nur eine CBD benötigt und seine Adresse auf 1 (B=1) gesetzt.

 
Befehlsstruktur für 24 Bit-Befehlszeilen
Bez. B1 C1 N30
Bit23222120191817161514131211
Bin. 1 0 0 0 1 0 0 1 1 1 1 1 0
Hex. 8 9 F
Tabelle 2:  Darstellung eines CAMAC-24-Bit-Standardbefehls in binärer und hexadezimaler Schreibweise.

Bezeichnung A9 F24
Bit 11 10 9 8 7 6 5 4 3 2 1 0
Binär 010011100010
Hexadezimal 4 E 2

Die Crate-Adresse hat eine änhliche Funktion. Da der CAMAC ein BUS-System ist, können mehrere CAMAC-Cratesgif seriell aneinander gekoppelt werden. Um bei der Adressierung die Eindeutigkeit aufrecht zu erhalten, müssen auch die einzelnen Crates mit einer Nummer versehen werden (0C7⇒8 Crates). Da ich wiederum nur ein einziges CAMAC-Crate verwendet habe, setzte ich die Crate-Nummer ebenfalls auf 1 (C=1). Die N-Adresse ist eine Platznummer für das Ansprechen eines CAMAC-Moduls. Da der CAMAC-Crate für 24 Module Platz bietet, müssen die einzelnen Module entsprechend ihrem Platz, welchen sie im Crate einnehmen, adressiert werden (0N31⇒32 N-Adressen). Die Besonderheit besteht nun darin, dass der Crate-Controller selbst eine N-Adresse benötigt, über welche er angesteuert werden kann. Das CAMAC-System ist so konzipiert, dass die Crate-Controller jeweils an jenem Modulplatz eingesteckt werden, welche mit der höchsten Nummer versehen ist. Zur Adressierung verwendet man aber nicht die Platznummer sondern eine eigene spezifische Nummer (N=30). Die A-Adresse ist eine Modul-spezifische Unteradresse, mit welcher beispielsweise gezielt Kanäle eines Multichannelmoduls angesteuert werden (0A15⇒16 A-Adressen). Der F Code schliesslich ist die Modul-spezifische Funktion, welche man ausgeführt haben möchte -- sozusagen der Befehl gegenüber den Adressen B, C, N und A (0F31⇒32 F Codes).

 
CAMAC-Befehle
B C N A F Hexag. Data Bezeichnung
1. 1 1 30 9 24 89F4E2 Reset crate inhibit
2. 1 1 13 0 16 896842 A000 Disable aquisition
3. 1 1 13 0 10 89682A Clear LAM and buffer
4. 1 1 13 0 16 896842 2100 Enable aquisition
5. 1 1 13 0 26 89686A Enable LAM
6. 1 1 2 1 16 8910C2 0 Write IO 102
7. 1 1 2 1 16 8910C2 1 Write IO 102
8. 1 0 29 0 0 88E802 Read CBD
9. 1 0 29 0 4 88E812 0 Clear CBD
10. 1 1 13 0 2 89680A Read ADC 3512
11. 1 1 18 11 0 899582 Reset channel address
12. 1 1 18 0 0 899002 Read ADC channel 0
13. 1 1 18 1 0 899082 Read ADC channel 1
14. 1 1 18 2 0 899102 Read ADC channel 2
15. 1 1 18 3 0 899182 Read ADC channel 3
16. 1 1 18 4 0 899202 Read ADC channel 4
17. 1 1 18 0 9 899026 Clear module and LAM
18. 1 1 21 2 26 89A96A Enable auto mode
19. 1 1 21 0 16 89A842 FFFF Overwrite 12 bit reg.
Tabelle 3:  Sequenzen der CAMAC-Befehle im LabView-Programm.

In der Tabelle 2 ist die Darstellung in binärer und hexadezimaler Schreibweise eines typischen 24 Bit CAMAC-Befehls dargestellt. Das Bit 0 wird stets auf 0 gesetzt. Bit 1 wird auf 1 gesetzt, wenn man Datengif mit einer Wortlänge von 16 Bit schreibt. Für 24 Bit-Daten setzt man Bit 1 auf 0. Bit 22 ist immer auf 0 gesetzt, und Bit 23 immer auf 1. In der Tabelle 3 sind die CAMAC-Befehle aufgelistet, welche ich für meine Programme benötigt habe.


next up previous contents
Next: Das Datenerfassungsprogramm Up: No Title Previous: Diskussion

Peter Niederberger
Thu Aug 12 09:29:27 CEST 1999