A program loader using a cassette magnetic tape

5
0 EUROMICRO EUROMICRQ Jouroai 5 (1979) 2X0-284 A Program Loader Using a Cassette Magnetic Tape Michel Baud lnstitu: de F’ rogrammation. UniversitC Paris VI.4 place Jussiw, F-75 2_W Paris Crdex 05, France INTRODUCTION Th+s work has been done to meet two different goals. First, we wanted to design and make avai- lable for use a device, that would have allowed us to replace paper tapes with cassette 'magneti;: tapes in loading programs. Secondly, we wanted to *get SYW experience of wr o#n in that field, and especiallya we wanted t3 point out to which extent as simpTe a design as possible would be acceptable considering reliability. Our work was led by the following imperatives : - Regular use of the device should be program loading and storing, though it might also be da- ta acquisition. Programs have a size of 256 to 2048 cctets. There must be possible to address records and to rewrite a single one. Access time to a record should not excesi one minute. - The device must be -cheap and fairlv simnle. Regular use does not extend to file ma-agement. - Unless manually operated, the transport does not allow for rewind or fast forward moving of the tape. Heads are common audio frequency head-. - Reliability must be good. Using a new tape and 256 octets programs, we may accept one failure every ane thousand loadings. 1. RECORUIW CEWSITY AND TAPE MllVJNG SPEED The bit recording density, and ";he tape moving speed have respectively been chosen $5 follows : - 800 bpJ and 3.75 ips. These values seem to be optimum, considering the following limitations : - Seyong a transition density of 800 fci, pulse- ~rnW,n:! becomes a serious drawback, due to the poor efficiency of the common heads that we use ; - Sin-e we use as a tape drive a common cassette play,,- transport mechanism, any faster speed is hard1.f practicable. This &ice results in a bit ta’x of 3000 bps, that Imeans loadinq a 256 octets progrard takes less than one second. So, when storing 32'256 octets retards on a 25 u't tape, accessing to the last one does not take more than half a minute, 2. RECORDING CODE 2.1. Choice of a code This %%ninaciondel:y depended upon two con- siaerations : - Srnce tha transition density can hardly excess 800 fci, codes with more than one transition per bit, such 3s Ptiase Encoding or Frequency Moduia- tion codes are not suitable ; - Since thare is no possibility - unless manual- ly .. to re.rind, and to read back a recc:*dr. the cod<? must make easy ,to detect &-rot-s, ahd must bar!: a good reduncancy. Acc!)rdingl;r,we chose s NRZI code, and in order to :umpletcl the redlindancy of ft, WI? replaced the clock track by a complemented NhZI Track ?I 1: .I 51 .f ru1 ‘ 280

Transcript of A program loader using a cassette magnetic tape

0 EUROMICRO EUROMICRQ Jouroai 5 (1979) 2X0-284

A Program Loader Using a Cassette Magnetic Tape

Michel Baud lnstitu: de F’rogrammation. UniversitC Paris VI.4 place Jussiw, F-75 2_W Paris Crdex 05, France

INTRODUCTION

Th+s work has been done to meet two different goals. First, we wanted to design and make avai- lable for use a device, that would have allowed us to replace paper tapes with cassette 'magneti;: tapes in loading programs. Secondly, we wanted to *get SYW experience of wr o#n in that field, and especiallya we wanted t3 point out to which extent as simpTe a design as possible would be acceptable considering reliability. Our work was led by the following imperatives : - Regular use of the device should be program loading and storing, though it might also be da- ta acquisition. Programs have a size of 256 to 2048 cctets. There must be possible to address records and to rewrite a single one. Access time to a record should not excesi one minute. - The device must be -cheap and fairlv simnle. Regular use does not extend to file ma-agement. - Unless manually operated, the transport does not allow for rewind or fast forward moving of the tape. Heads are common audio frequency head-. - Reliability must be good. Using a new tape and 256 octets programs, we may accept one failure every ane thousand loadings.

1. RECORUIW CEWSITY AND TAPE MllVJNG SPEED

The bit recording density, and ";he tape moving speed have respectively been chosen $5 follows : - 800 bpJ and 3.75 ips.

These values seem to be optimum, considering the following limitations : - Seyong a transition density of 800 fci, pulse- ~rnW,n:! becomes a serious drawback, due to the poor efficiency of the common heads that we use ; - Sin-e we use as a tape drive a common cassette play,,- transport mechanism, any faster speed is hard1.f practicable. This &ice results in a bit ta’x of 3000 bps, that Imeans loadinq a 256 octets progrard takes less than one second. So, when storing 32'256 octets retards on a 25 u't tape, accessing to the last one does not take more than half a minute,

2. RECORDING CODE

2.1. Choice of a code This %%ninaciondel:y depended upon two con- siaerations : - Srnce tha transition density can hardly excess 800 fci, codes with more than one transition per bit, such 3s Ptiase Encoding or Frequency Moduia- tion codes are not suitable ; - Since thare is no possibility - unless manual- ly .. to re.rind, and to read back a recc:*dr. the cod<? must make easy ,to detect &-rot-s, ahd must bar!: a good reduncancy. Acc!)rdingl;r, we chose s NRZI code, and in order to :umpletcl the redlindancy of ft, WI? replaced the clock track by a complemented NhZI Track ?I 1: .I 51 .f ru1 ‘

280

A Program loader 23: 1

- - bit transmis:

00110 10

r 1 +J L

$

1T,: T=330 s r

Fig. 1. Illustration of writing currents and play-back voltages.

2.2. Spectral properties i3,91 - Unting current. The writinq current spectrum is depicted in Fig. 2. The spectrum does‘not cancel at null frequency. Most of the power is concentrated between v = 0 and V= l/T = 3 kHz.

v(v) = T [sin (~Tv)/nTv12.

- Play back voltage. This voltage develops through heads windings, due to flux variations. A reversal of the writing current results in a gaussian pulse when reading C21. As a bipolar voltage, it has a spectrum proportional to [sin (xTv)J2, cancelling at v = k/T. See Fig. 3.

33 REAb GACX VOLTAGE PROCESSING

There are two complemented tracks, none of them is self-clocking. t'rocessing circuits have two different functions:

- to restore a clock signal, - to reproduce both complemented data waveforms.

These are achieved accordin;j to the flowchart of Fig. 4.

r: 0 3 6 9 12 kHz

Fig. 2. Writing current spectrum.

riations. Before reading a record, the iOi!l/ i,; open and the gain is set to a cmvenien: m1w: After the first two octets have gone past thg: heads, the loop closes. Then, the anpl$Pir:r adapts itself to the mediom yuelity, nrrd :ha, loop bandwidth is wide enough to corrtrci, I?i^,t. level changes that ~aay affect B sma1 i y-oqr FjF bits. See Fig. 5.

depicted -in Fig. 6. For slrtgT? ?ign vo?tayr,, 4". is next to a double tnreshold circutt. I!. iris:; the following functions:

- to withdraw the eff’ect~ of’ SITI~I ViITiaf+iWr $1’ the input voltage around zer9; - to attenuate the effects of amplitu& vsr,ia- tions of read back voltage pulses.

This circuit improves the S/N rdtio, and n9;2- kens the results of pulse crokrd-ing. See Fiq. 7.

-J-----d FI l-l G! M P III

Fig. 4. Read back Flowchart. A = preamplifier; 3 = Amplifier; C = Non-linear amplifier; 5 = A.C.G.; E = Clock restoring circuit; F = Matched filter; G = Sample and threshold.

Fig. 5. ACG circuits.

3.3. Clock Restoring Circuit 17l,i81 ,[Z. The f=ion of this circuit is to supply 11 pe; riodic waveform, the phase of which must be equal to the phase of read back voltages. Furthermore, in case of wide drops out, the clock phase shift must keep small enough not to loose synchronisa- tl:on when recovering head voltages. Then, the clock wavefon!~ regularly oscillates, with a phase equal in auei'age to the re-ld tzzk vol@es @ase,It guarantees each bit to be countsd.G?rreTatirely, %a tape speed must be thoroughly controlTed. To achieve this function, we use a P.L.L. circuit. Inside of a gap, the phase is set to a suitable value. The circuit starts oscillating on detec- ting the first bit of a record. The bandwith of the loop is at first equal to 200 Hz. Capture occurs at once. Once the first two octets have been read, the bandwith is rr@*, t-- 20 Hz by ineans of analog switches usin:, .C'Ts 't tbc end of a record, the clock goes on osci,.ating for eight extra periods. To iyrchronise the P.L.L,, we first take the ab- solute value of the read back voltages, then the greatest is supplied to a band-pass second order filter (Q=l), tuned on its impulse response fre- quency.

3.4. Matched Filter This fifter is composed of three parts : - a waveform generator, - a multiplier, - an integrator, reset at the beginning of each cell period.

output

.:/!i- - input

- Fig. C: Non-Linear Amplifier Curve.

Fig.7. Non-linear Amplifier Circuits.

The generator synthesizes periodically, and with the right phase, the pulse which should normally appear at the input of the filter, when a flux change is beeing sensed. The multiplier rc,ikes the product between the in- put voltage and -he generator waveform. The integrator integrates with respect to time, and over a cell period, the multiplier output. It is set to zero at the beginning of the period. The integrator output is sampled at the end of the period. Let q(t)be ths prlse to be filwd, and let p(t) be the pulse normally produced by a flux change. Then, the integrator output sample is proportio- nal to the following quantity :

T p(u) -q(u) .du

This quantity measures the energy of p(t), when p(t) = q(t). It occurs in case of a flux change. In case of no flux change, q(t) is of smaller ma- gnitude, and has a different shape. Then, the ourptit sdlT&le is next to zero. To decide whether or not a transition has heen sensed, it w?'ll do to connate the sample absclute velue to a thres- Ihold ralue. The w'lole processing, from r,eads to threshold circuits is ciifferertiai, atJ has no references to ground.

4. TAX SPEED WITROt

Moving of the tape is controlled by a capstan and a pinch roller. The capstan is driven by a DC servo motor. A photo electronic component pro- duces a periodic waveform, the frequency of which :s proportional to the flywheel rotation speed, A P.L+L. circuit, used as a frequency demolator supplies a voltage which is compared to a refe- rence level. The difference is filtered and am- plified, and fed to a power amplifier to drive the motor. The speed stability depends upon the frequency stability of the P.L,L. oscillator. This is determined by the values of 3 resistor and a capacitor. Its temperature stabilitv is 200 p m/"C. I 121 , 71 ,[ 81 . P

The loop has's bandwltb of a iew Hz

5. WRITING CIRClCiTS

Magnetic heads are fed through reversible current

A Prog: “am Loader

Fig. 8. Writing Circuits.

sources. Writing and reading one track us+z a sin- gle head, Changing from reading to writing takes less than 1 s. All switchings are performed throu9h semi canductors. It makes it possible to rewrite the end of a record after kaving read the beginning. Some circuits provide for switching with the right phase. It is then possible to re- write a single record after having recognized its identification characters.

6. UTILITY PROGRAM

This program implements three functions - Generation of a tape ; - Search and Reading of a record ; - Search and Writing of a record.

6.1. Generation of a tape This 7 writing of 32 records on a 25 ft tape. Each record has 259 octets. The two first are identical with each other, and equal tc the number of the record. They are used as identifiers. These two will never be rewritten. The last one is an error correcting character. In the case under interest, since it was not our purpose to develop a research about correcting codes, we have simply used a longitudinal parity check octet. The processing of it is completely hardwired. Anyway, to choose another code, it would do to modify some circuits. i51.

6.2. Search and Reading of a record This order makes the taoe to be read. The two identifier octets are checked to be equal to each other, and to the number of the record un- der search. Once the record has been identified, it is read and transfered to the memory. The transfer is completed by the following checks : - permanent complementarity of both tracks, - longitudinal parity. The location of an error is known through the first check. Correction is possible through the second in case of a single error. Searching back is not possible. A message tells the user he has to manually rewind.

6.3. Search and Wr ting 3f a record This order is id-to search and reading, as for identifying the record. As for writing, after the two first octets have been read, cir- cuits switch to writinq at the very right moment and rewriting the record Starts. The tape does not stop when switching.

7. RELIABILITY

A program was written to check tnr: roiiaip~ iiry of the dev,ice, and medguro the error rat,>. .it. has been VW~ useful in mking the bht~le tong operational. It ha5 the FoIlnwing I~,n~,r:u’oris : - wrjting on a 300 ft ta13e3, 216 k octrtt rdndbi8+ ly generated through a recursive alijoritbsi ; - reading of the whole tape and comp:Frisoft or' read back octets with written octet%;. Those arc known by reactuation of the recursive algorithni ; - editing of errors, their location on the tap?, and the corresponding status word.

8. PERtiORMANCE

8.1. Recording Density Hawin$%'%XXKi$i-a lot of technical data sheets indicates that most of manufacturers choose densities of 267 to GO0 bni. In case of a Phase Encoding code the transiiion dens'ty may therefore he as high as 1600 fci. !t seems that we can stand the comparison with ROO bpi and 500 fci.

8.2. Ta e Speed +-- Manu acturers make cassette recorders trle tape

speed of which steads from 2 to 80 jps. lilost. co~imon values are from 7.5 to 30 ips. Since we use an entertainment cassette player trarcpurt, we can not possibly reach any faster ~peeti %han

3.75. Anyway it fits well our den.and.

8.3. Data Transfer Rate It is merely equal to the product of the tape speed by the density, that is to say JO00 lbits/s.

are of small incidence in our case : - Since each track is not self-clocking, our' co.- de is sensitive to head skew. Tn fact, it would put a severe strain on ~sinq a niq% density, but. we proved it not to be a problem at DOD fci. - The frequency spectrum of a NRZI waveform dots not cancel at null frequency. Then, wideband circuits with DC resnonse are reouired to trans- mit such b waveform.'It does not'actually matter since we do not transmit NRZI waveforms. We 5&e- rate them where they are needed, by means of a simple circuitry. (Fig. 13) On the ot!rer hand, we can enphasize two advantai- ges due to redundancy : - 4s mentioned bv A.D. Baselev and A.F. J. Dli- vet-, Ill, during-each cell pekiod we can tran%- mit one out of four conditions. Two are used to denote the binary states, the other two are used for mark sequencing. So, to delimit octets, we transmit two "0". We can use two "1" for any o,ther kind of mark, for instance, beginning-or end of tape. - When transmitting binary states, having two tracks makes it very reliable. It provides a permanent transversal parity. Once the c!ock ha5 been restored, to recover data, it would do to read one track. The otner provide fcr reiiabi- lity by checking each bit, and by locating er-

284 M. Baud

rors. Even the clock could be restored from a sinr,le track under special conditions (Group Coded Secordirg), [IO].

Digest of the Intermag. Conference, Toronto, lZXiiZ&_ i121M.K. Sinha, N.H. Bailey, SPEED CONTROL OF A DC SERVO MOTOR USING P.L.L+ : Some --ests Results

8.5. Error Rate So fam>r,lot been possible to obtain any significant measure of it. When usinq a data ceitified cassette, in good condition, the num- ber of errors t?at are tracked down through the test program is equal to zero most of the times, and may casunll,~ be equal to two or three. Those errors, unless ,dhen occuring in a single record may be corrected. owing to the parity character. Furthermore, some cf them disappear at reread@. We will know mo're about the error rate when the test Program ha; processed a huge enough quan- tity of data. ('&e also [4] .)

CONCLUSION

Our work h&s resulted in producing a device that may meet two different demands. As it has been shown in this paper, it may /be used for small programs as a loader in a pretty satisfying way. On the other hand, it may also be used in any ca- se when an analog data is to be periodically re- corded, as long as jt is analog-digital conver- ted, buffered if necessary, and the transfer ra- te does not exceed 3000 bps. In order to improve versatility, a microproces- sor is beeing added now to manage data exchange on a RS 232 line. Our demand with respect to reliability has led us to think that there is no reliab?e digital reccrding on magnetic tape without an improved clock restoring circuitry and a good tape speed contra?.

REFERENCES f d A.D. Baseley, A.F.J. Olivier, A REVOLUTION IN DIGITAL RECORDIidG Electronics and Power (1973) June 14. I21 G. de Corbieu, Cd Hubert, T.A. Hawkes, BEHA- VIOUR r)R A TRACKING P.L.L. IN PRESENCE OF AN IN- TERFERING SIGNAL, Rev. Tech. Thomson-CSF (France)7 (1975)I. 131 F. Durif, Traitement du Signal en Enregistre- men: Magr@tique, YhPse de Docteur Ingenieur, Uni- versite de Paris VI 139731. 141 S.B. Geller, ER&NG MYTHS ABOUT MAGNETIC MEDIA, Uatamation (1976) Mar. t5I S. Harari, Protection contre les erreurs en informatique, dans : IRIA, Seminaire de Telein- formatique (1976). _

-

[61 A-S. Hoagland, Digital Magnetic Recording (John Wiley and Sorts. hew York 19631. (71 E.Js L&lo, LAZCS DE FIJACION DE FASE, Rev. Tee. Electronic. Argent'na (1975)July. - 81 t J LasrXr LAZES DE FIJACION DE FASE, Rev.

Tee. Electronic. Argentina (1975) Aug. - 1 C Macchi, 'Transmission de Donnees, dans IRMA,

Ski&ire &eTesotmatique (1976) IlOlA M P 1 ETHOD- MAGNETIC ENCODING COMBINEi ADVANTAGES OF OLDER TECHNIQUES, witer

mrg- Desi n t1976) dug+

.I. Potter, Digital Recording Theory, 1974

and Practical Design, IEEE Trans. on I.E.C.I., 23 (1976)I.