Upload
joseph-a
View
726
Download
5
Embed Size (px)
Citation preview
JOSEPH A. O'BRIENNONMEMBER AlEE
Cyclic Decimal Codes for Analogue to
Digital Converters
CYCLIC decimal codes may be used inarialogue to digital converters of the
reading type. Decimal number output iseasily obtained for display to humanoperators or processing by decimal calculators.t-v" Decimal numbers, of course,are more generally used than binary andmore frequently in simple computations.
For definiteness, this paper is limited toa discussion of an encoder in which eachmeasurable angular position of an inputshaft is represented by a unique combination of conducting and nonconductingsegments. These segments may be on aflat disk having many concentric tracks,as in Fig. 1, or segments may be on acylinder having many adjacent tracksabout the same axis, as in Fig. 2. All conducting segments are connected to acommon voltage source. The remarks ofthis paper are equally applicable, however, to other analogue to digital converters which assign to a physical positiona unique code group which may be easilyconverted to a decimal number form.
A brush in contact with a particulartrack may be either conducting or nonconducting at a particular time depending on whether it is on a conducting ornonconducting portion of its track. Thebrushes are then used as 2-state or binaryelements. N independent binary elements can assume 2n different combinations of states. Since 23=8 and 24= 16at least 4 independent binary element~must be used to represent the 10 decimaldigits 0 to 9.
Four tracks and their associatedbrushes are used to assume, in sequence,10 different combinations of binary states.A particular combination of states is consistently used to represent a particulardecimal digit in equipment associatedwith the encoder. Since the 10 digitscould be arbitrarily represented by any
Paper 56-21, recommended by the AlEE Computing Devices Committee and approved by the AlEECommittee on Technical Operations for presentation at the AlEE Winter General Meeting, NewYork, N. Y .. January 3Q-February 3, 1956. Manuscript submitted June 23, 1955; made available forprinting November 15, 1955.
JOSEPH A. 0'BRIEN is with the Bell TelephoneLaboratories, Inc., Whippany J N .. J.
This study was conducted under the sponsorship ofthe Evans Signal Laboratory, Fort MonmouthN. J., on Contract ·NOa(s)55-86~. '
10 and the 16 possible combinations ofstates of 4 binary elements, 16!/6!ormorethan 29 billion binary decimal codes arepossible. 4
The present discussion is a systematicinvestigation of codes which will optimize the following parameters:
Readout error.Number of encoder brushes.Average brush current.Number of translator components.
Cyclic Number Sequence andCyclic Digit Code
Fig. 3 shows an array of conventionaldecimal numbers with a line passingthrough successive numbers. When theline moves from left to right, successivenumbers differ in only one digit. Whenthe line moves from right to left to connectsuccessive numbers, these numbers differin more than 1 digit. Fig. 4 shows acyclic number sequence. The line connecting successive numbers moves fromleft to right or right to left making achange of only one digit between successive numbers. A cyclic number sequenceis defined as a sequence of numbers inwhich pairs of successive numbers differin only one digit. The digits which differare successive digits such as 0 and 1, 1 and2, 8 and 9, or 9 and O.
Readout error and the number ofbrushes may be minimized by using acyclic number sequence and a cyclic digitcode. If a conducting brush is represented by 1 and a nonconducting brushis represented by 0, the states of fourbrushes at a particular time may berepresented by a 4-digit binary numberwhich in turn represents a decimal digit.A cyclic decimal code is defined as a setof 10 words, each containing four binarydigits, in which successive words including the first word and the last word differin only one binary digit.
An angular position encoder which usesboth a cyclic number sequence and acyclic digit code, will have only one brushchange from conducting to nonconductingor the reverse in going from one sector tothe next. In one complete revolution ofthe input shaft all consecutive pairs ofwords read from the brushes differ in only
one binary digit. In this respect the codeis similar to the reflected binary code andonly one set of brushes lying on a radialline is required.
Encoders using a conventional numbersequence require at least two brushes pertrack to prevent errors in readout thatmight occur at shaft positions where theoutput number changes in many. digits atone time. Brushes, in general, will notlie on radial lines.
Map Method of Code Analysis
The It> combinations of states of fourbinary elements may be represented bythe map shown in Fig. 5.5,6 The foursuccessive values of both the horizontaland vertical co-ordinates are 00 01 11and 10. If the vertical co-ordina~e'i~termed ab, and the horizontal co-ordinateis termed cd, the co-ordinates of a squareabed, are a 4-binary digit number. Eachsquare on the map represents a unique 4digit binary number or word. Thedecimal number within the square is equalto the binary number expressed by theco-ordinates of that square.
Squares that are geometrically adjacentdiffer in only one binary digit. Twosquares at opposite edges of the map, inthe same horizontal row or in the samevertical column, differ in only one binarydigit. Squares located symmetricallyabout a horizontal (or vertical) centerlinealso differ in only one binary digit. Theseconditions are defined as "adjacent."Designing a cyclic decimal code is then asimple geometry problem. A progressivesequence of 10 squares must be chosen sothat successive squares, including the 1Othsquare and the first square are adjacent.
Two pairs of consecutive digits, 4 and5, and 9 and 10, are also 9's complementpairs. Each of these four digits must beadjacent on the map to its 9's complement.If the six additional digits are also chosenso that any digit and its complement differin one particular binary digit, 9's complementing is easily mechanized. Thecomplementing of 9's is required toconvert from cyclic to conventional
Fig. 1. Angular position disk encoder
120 O'Brien-Cyclic Decimal Codesfor Analogue Converters MAY 1956
1~6"CD fig. S (left). &t£±j tilitB00 01 II :0 Decimal map00 0 3 ~
X X
5 I 7 I 6 ICLASS I CLASS 2A
01 4
II 12 -I~~~ tB:1Hj10 8 9 II 10J X X
CLASS 2B
tIffiE tfttj- Fig. 6 (right). x x x xBasic half maps CLASS 2C CLASS 2D
Fig. 2. Angular position drum encoder
-=-\0--II--12--13--14--IS--16--17--18--19-+-
)\B\(:D
;roo 01 II 10---~-T------'
00 0 _I 2l-~ I01 I 2 3 2
Fig. 7. Deci- II 2 3 4 3mal symmetry
10 I 2 3 2map-------------099=--~090-----
--=IOO-----------------------~
ular half-map would list the three emptysquares with the use of the decimal digitsfound in the squares of Fig. 5. Thus themap listed in Fig. 6 as class 1 might becalled code 567.
Fig. 7 shows a decimal symmetry map,i.e., the number within a square is thesum of the number of l's in the coordinates of that square. Since a 1corresponds to a conducting brush, thismap is very useful in choosing codes thathave words containing the smallestnumber of l 's.? In choosing a binarydecimal code to use minimum brush current, it would be desirable to use the following conditions: one word containingfour zeros, four words each containingone 1, and five words each containingtwo 1'so That is, no more than twobrushes are ever conducting at the sametime. This would give a sum of 14 conducting brushes for the 10 decimal digits.Unfortunately, this code is not cyclic.Fig. 8 shows the code in each class containing the smallest sum of l 's of the coordinates of the occupied squares.Classes 1, 2a, and 2c (codes 567, 347, and357) are the only codes having sums of 15.Classes 2b and 2d (codes 347 and 167)have sums of 17, as do seven additionalmaps not shown.
Since cyclic codes cannot be easilymechanized for addition or other arithmetic operations, it is desirable to translate to a constant posit.ive weight code.A cyclic decimal code is desirable thatcan be translated to the I, 2, 4, 8 codewith the minimum number of components.The map of the translator output code isshown in Fig. 9; Capital letters A, B, C,and D are used to represent the outputlines. If translator input lines are labeledwith lower case letters a, b, c, and d, the
Fig. 4. Cyclic numbersequence
Fig.:3. Conventionalnumber.t sequence
08 -09~
18-19
71/512 t) do not contain the word "0000."Of the 35 selections, 30 meet the requirement of a cyclic decimal code which produces 9's complement by complementingone particular binary digit. Of the 21selections, 18 form cyclic decimal codes.
Permutation of a code corresponds torelabelling the brushes in a differentorder or shifting the relative positions offour tracks radially without changingthe identifications of the brushes. Complementation of a code corresponds tointerchanging conducting and nonconducting segments in a particular track.Complementation of any of the 48 codesproduces another code which is a memberof the set of 48. Analysis of 48 half-mapsthen, is a rigorous investigation of alldesirable possibilities.
A systematic way of specifying a partie-
-00-01
-.....900---------------------999=-
-=CX)()-----------------------1~
number sequence. Code analysis issimplified if a digit and its 9's complement occupy squares on the map symmetrical about a horizontal centerline.(Identical results would be obtainedfrom symmetry about a vertical centerline.)
Initial investigation proceeds usinghalf-maps of eight squares, five of whichare occupied by digits. Fig. 6 shows thehalf-maps in which five squares may beconnected by a line lying entirely withinthe map. This classification is ratherarbitrary, but gives an illustrative example from the set of 48 maps that mustbe investigated. Five squares may bechosen from a group of eight squares in5C8= 8!/ 5131= 56 ways. Of these, 4C7=7!/4131 = 35 selections contain the word"0000." Twenty-one selections (sC7 =
(120 -
110-------------.-----------119JC: ~
MAY 1956 O'Brien-Cyclic Decimal Codes [or Analogue Converters 121
00 01 II 1000 X X X X
01 X
II X
10 X X X X
CLASS IS = 15
00 01 II 10
00 X X X
01 X X
II X X
10 X X X
CLASS 2cS =15
00 01 II 10
00 X X X
01 X X
II X X
10 X X X
CLASS 2bS =17
00 01 II 10
00 X X X
01 X X
II X X
10 X X X
CLASS 2aS = 15
00 01 II 10
00 X X X
01 X X
II X X
10 X X X
CLASS 20S = 17
Fig. 11 (right). Optimumdrum code mop: 21 springs
A=ac'8 =c(d+b)C=b'cD= d'(c'd+b'cd ')+a(b+
c'd/-l-cd)$=17
IbL
0 I 2 34
59 8 7 6
Fig. 8. Minimum brush current codes
.1X X X x J8,9f- a I 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 0L X X X X
rdJ (A)4,5,6,7
EX xX X
X X1)3,5,7,9
lA
JLc--.J
axX X
X X
X XLc--.J
2)3)6)7
I D,0 I 3 2r 4 5 7 6
8
L8 9
Fig. 9. Binary coded decimal translator output maps (B)
Fig. 12. Code patterns
A-Drum encoder pattern B-Disk encoder pattern
Fig. 10. Optimum disk code map: 23 springs
A=dCB=c'd'+dc'C=c'dD= a(b'c' -l-d')+d'd(b+c)S=19
6. A CHART METHOD FOR SIMPLIFYING TRUTHFUNCTIONS, E. W. Veitch. Proceedings, Association for Computing Machinery) Pittsburgh, Pa.,May 1952.
7. THE RECOGNITION AND IDENTIFICATION OPSYMMETRIC SWITCHING FUNCTIONS, S. H. Caldwell.AlEE Transactions, vol. 73, pt. I, May 1954, pp.142-47.
2. INTERCONVERSION OF AN ALOG AND DIGITALDATA IN SYSTEM FOR MEASUREMENT AND CONTROL,B. L. Lippe!. ius., 1952.
3. A HIGH-PRECISION ANALOG-TO-DIGITAL CONVERTER, B. L. Lippel. tus., 1951.
4. SYNTHESIS OF ELECTRONIC COMPUTING ANDCONTROL CIRCUITS (book). Harvard ComputationLaboratory Series, Harvard University Press,Cambridge, Mass., vol. 27, 1951) chap. XI.
5. THE MAP METHOD FOR SYNTH'ESIS OF COMBINATIONAL LOGIC CIRCUITS, M. Karnaugh.AlEE Transactions, vol. 72, pt. I, Nov. 1953, pp.593-99.
1. CRITERIA FOR THE SELECTION OF ANALOG TODIGITAL CONVERTERS, G. L. Hollander. Proceedings, National Electronics Conference, Chicago, 111.,1953.
Referencessquares in which digits of a cyclic codeshould be chosen are indicated in theremaining maps.
Figs. 10 and 11 show maps of theoptimum codes for coded disk elementsand coded drum elements respectively.Since a minimum brush current codewill not also result in minimum numberof translator relay springs and the reverse, the "optimum" codes are the bestcompromise between these two conflicting requirements.
Here, a disk code is defined as acode that does not use the word "0000,"and a drum code does use the word' '0000"Fig. 12(A) and (B) show the, patternsthese codes will fonn on the coded elements. In Fig. 12(B) a permutationof the code in Fig. 11 is used to obtain themost desirable placement of tracks.
Ia
~Lc~
2 I 04 3
5 67 8 9
,bL
122 0'Brien-Cyclic Decimal Codesfor A nalogue Converters MAY 1956