CD-ROM részletesen
Az eddigiekben a zenei CD-k felépítésérol volt szó, most áttérünk a számítógépes CD-k tárolási módjára. A zenei CD-knél láttuk, hogy a 2352 byte-os szektorokra tagolódás nem túlságosan kifejezett, hiszen címinformációt csak a Q alcsatorna tárol, maguk a zenei adatok „ömlesztett” formában jönnek, ami – mivel többnyire folyamatosan lejátszott zenérol van szó – nem is okoz különösebb gondot. Ahhoz azonban, hogy számítógépes háttértárként alkalmazzuk a CD-t, jól tagolt és könnyen címezheto eszközre van szükségünk. A CD-ROM ezért a 2352 byte-os szektor egy részét szinkron- és címinformációk tárolására használja.
Egy CD-ROM szektor felépítése:
2352 byte-os szektor
|
szinkronjel
12 byte
|
fejléc
|
adatok
2336 byte
|
szektorcím
3 byte
|
mód
1 byte
|
0–11
|
12–14
|
15
|
16–2351
|
A szinkronjel a 00 FF FF FF FF FF FF FF FF FF FF 00 byte-okból áll. A szektor azonosítása a szinkronjellel és a szektor hosszával közösen történik.
A fejléc 4 byte-os, melybol az elso három byte a szektor címét tartalmazza. A bevezetésben, ha az digitális adatsávot tartalmaz, akkor a szektorcímet az alábbi módon kell tárolni:
12. byte a MIN mezo tartalma + 160 (A0h)
13. byte a SEC mezo tartalma
14. byte a FRAME mezo tartalma
Ez a három mezo megtalálható a szekció bevezetésének Q-alcsatornájában.
Az adatterületen, és ha a kivezetés digitális adatsávot tartalmaz, akkor a kivezetésben is a szektorcímet az alábbi módon kell tárolni:
12. byte az A-MIN mezo tartalma
13. byte az A-SEC mezo tartalma
14. byte az A-FRAME mezo tartalma
Ezek az értékek részei a Q-alcsatornának, mely a 8–14 kódolóból abban a pillanatban jön ki, amikor a szektor szinkronjele belép a byte-felcserélobe. A fejlécben tárolt idot ±1 s pontossággal kell megadni. Ez a tűréshatár gondoskodik a CIRC és az esetleges tárolóregiszterek okozta késleltetésrol. Ezen késleltetések nagyságrendje 30 ms, azaz egy szektor hosszával összemérhetok.
A fejléc 4. byte-ja szektormódot határoz meg. Ha értéke:
00h : Minden byte a szektor 16–2351 pozícióiban 00h.
01h : Minden byte a 16–2063 pozícióban felhasználói adat, és a 2064–2351-es pozíciójú byte-ok megfelelnek az alább leírtaknak. A felhasználói adatokat így EDC, ECC és CIRC védi.
02h : Minden byte a szektor 16–2351 pozícióiban felhasználói adat. A felhasználói adatokat így csak a CIRC védi.
0. módú szektor felépítése
2352 byte-os szektor
|
szinkronjel
12 byte
|
fejléc
|
00h byte-ok
2336 byte
|
szektorcím
3 byte
|
mód
1 byte (00h)
|
0–11
|
12–14
|
15
|
16–2351
|
A nullás mód nem túl érdekes, mert csak 00h byte-okat tárol.
1. módú szektor felépítése
2352 byte-os szektor
|
szinkronjel
12 byte
|
fejléc
|
Felhasználói adat
2048 byte
|
EDC
4 byte
|
Intermediate
8 byte
|
P paritás
172 byte
|
Q paritás
104 byte
|
szektorcím
3 byte
|
mód
1 byte (01h)
|
0–11
|
12–14
|
15
|
16–2063
|
2064–2067
|
2068–2075
|
2076–2247
|
2248–2351
|
Az 1. mód a leggyakrabban használt CD-ROM mód. Egy szektor 2048 byte, azaz 2 kbyte felhasználói adatot tartalmazhat, melyet a CIRC-en kívül további hibajavítás véd (l. alább).
Az EDC byte-ok
Az EDC byte-ok a 2064–2067-es pozícióban vannak tárolva. A hibaérzékelo kód egy, a 0–2063-as byte-okból számolt 32 bites CRC. Elsoként egy adatbyte legkisebb helyiértékű bitjét használják. Az EDC kódszónak oszthatónak kell lennie az alábbi ellenorzo polinommal:
P(x) = (x16 + x15 + x2 + 1) x (x16 + x2 + x + 1)
A legkisebb helyiértékű paritásbit x0 tárolódik a 2067-es byte-pozíció legnagyobb helyiértékű bitjén.
Intermediate field
Az Intermediate field 8, a 2068–2075 pozíciókban tárolt 00h byte-ból áll.
P-Parity field
A P-paritás mezo 172 byte-ból áll, melyeket a 2076–2247 byte-pozíciókban tárolnak. A P-paritást a 12–2075-ös byte-okra számítják ki.
Q-Parity field
A Q-paritás mezo 104 byte-ból áll, melyeket a 2248–2351 byte-pozíciókban tárolnak. A Q-paritást a 12–2247-es byte-okra számítják ki.
2. módú szektor felépítése
2352 byte-os szektor
|
szinkronjel
12 byte
|
fejléc
|
Felhasználói adat
2336 byte
|
szektorcím
3 byte
|
mód
1 byte (02h)
|
0–11
|
12–14
|
15
|
16–2351
|
Byte-keverés
Minden szektor 12–2351-es byte-jait meg kell keverni. A megkerevert szektor így néz ki:
12
byte
fejléc
|
2340 megkevert 8 bites byte
|
0–11
|
12–2351
|
Alacsony szintű kódolás
|