Language selection

Search

Patent 1138953 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1138953
(21) Application Number: 355272
(54) English Title: ANIMAL IDENTIFICATION AND ESTRUS DETECTION SYSTEM
(54) French Title: SYSTEME POUR IDENTIFIER LE BETAIL ET DETECTER L'OESTRUS
Status: Expired
Bibliographic Data
Abstracts

English Abstract


ANIMAL IDENTIFICATION AND
ESTRUS DETECTION SYSTEM

Abstract of the Disclosure


An animal such as a dairy cow carries a trans-
ponder unit which includes a motion sensor. When the
animal comes within range of a transceiver unit, it is
interrogated and the transponder unit transmits data
which identifies the animal and indicates the number of
movements of the animal. The number of animal move-
ments increase dramatically during estrus and a record
is kept on each animal to determine when this cccurs.
Data received at the transceiver is processed by a
microprocessor based system which operates to insure
the received data is correct. It also assembles the
data and outputs it to a printer.


Claims

Note: Claims are shown in the official language in which they were submitted.



THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:

1. An estrus detection system for an animal, the
combination comprising:
a transponder unit mounted to the animal, and
including
(a) a motion sensing device which provides an
electrical signal in response to animal movement,
(b) accumulator means coupled to said motion
sensing device to receive said electrical signals
and store a signal which is indicative of the number
of animal movements, and
(c) means responsive to an interrogation signal
and coupled to said accumulator means/for transmitting
data indicative of the number of animal movements;
a transceiver unit positioned near a location which
the animal frequents, said transceiver unit including
(d) means for generating an interrogation
signal to said transponder unit,
(e) means for receiving the data transmitted
by said transceiver unit,
(f) means coupled to said receiving means for
converting said received data into an activity
number which is indicative of the number of animal
movements, and
(g) means coupled to said converting means for
displaying information which incorporates said
activity number.

34



2. The estrus detection system as recited in claim 1
in which said transponder unit also includes means for
transmitting data which identifies the animal to which it
is attached and said transceiver unit converting means
converts this data into an identification number and
couples it to said display means.




3. The estrus detection system as recited in claims
1 or 2 in which said transponder unit is attached to the
neck of the animal.


4. An animal identification and estrus detec-
tion system, the combination comprising:
a transponder unit mounted to the animal and
including
(a) a motion sensing device which provides
an electrical signal in response to animal move-
ment,
(b) a counter coupled to said motion sensing
device to receive said electrical signals and
store an activity number which is indicative of
the number of animal movements,
(c) means for generating an animal identifi-
cation number,
(d) means responsive to an interrogation
signal for transmitting data indicative of a
number applied to its input terminal,
(e) means coupled to said counter and said
generating means for sequentially applying the
identification number and the activity number to
the input terminal of said transmitting means;
a transceiver unit positioned near a location which
the animal frequents, said transceiver unit including
(f) means for generating an interrogation
signal to said transponder unit,
(g) means for receiving the data transmitted
by said transponder unit,
(h) means coupled to said receiving means
for converting said data into an activity number
and an animal identification number, and
(i) means coupled to said converting means
for displaying the activity number and the animal
identification number.

36


5. The animal identification and estrus detec-
tion system as recited in claim 4 in which said means
for displaying the activity number and animal identif-
cation number includes a microprocessor coupled to said
converting means by a data bus and a printer coupled
to said microprocessor through said data bus.




6. The animal identification and estrus detec-
tion system as recited in claim 5 in which said micro-
processor is programmed to repeatedly input said
activity number and the animal identification number
from said converting means, to compare successively
received activity numbers and animal identification
numbers, and to output said activity number and
animal identification to said display when a preselected
number of identical numbers are compared.




7. The animal identification and estrus detec-
tion system as recited in claim 4 in which said con-
verting means includes a counter which is coupled to
said interrogation signal generating means and said
receiving means, said counter being incremented by
said generating means and the contents of said counter
being coupled to said display means in response to the
data transmitted by said transponder unit.

37

8. The estrus detection system as recited in claim
1 in which said transponder unit also includes means for
transmitting data which identifies the animal to which it is
attached and said transceiver unit converting means converts
this data into an identification number and couples it to said
display means.
9. An estrus detection system for an animal, the
combination comprising: a transponder unit mounted to the
animal, and including (a) a motion sensing device which provides
an electrical signal in response to animal movement, (b) a
counter coupled to said motion sensing device to receive said
electrical signals and store a number which is indicative of
the number of animal movements, and (c) means responsive to
an interrogation signal for transmitting data indicative of
the number stored in said counter; a transceiver unit positioned
near a location which the animal frequents, said transceiver
unit including (d) means for generating an interrogation signal
to said transponder unit, (e) means for receiving the data
transmitted by said transceiver unit, (f) means coupled to
said receiving means for converting said received data into
an activity number which is indicative of the number of animal
movements, and (g) means coupled to said converting means for
displaying information which incorporates said activity number.

38

Description

Note: Descriptions are shown in the official language in which they were submitted.



_ackground of the Invention


The field of the invention is automatic systems
for indicating estrus in animals, and more particularly,
systems for electronically indicating estrus in dairy
cows.
The accurate detec-tion of estrus in animals is a
significant factor in reproductive efficiency where
artificial insemination is used. When applied to dairy
cows, accurate detection of estrus is an important
factor in determining the total mil~ production of the
herd. A number of estrus, or heat, detection methods
are presently used, but by far the most widely used
method is to observe either manually or with a video
recorder, the activity of the cow. In a large dairy
herd this practice becomes difficult and inefficient.
As reported in the Journal of Dairy Science Vol. 60,
No. 2 by Charles A. Kiddy of the U.S. Department of
Agriculture, cows are appreciably more active at estrus
than at other times during the estrus cycle. This was
confirmed by tests run in which pedometers were at_acr.ed
to the hind leg of a number of cows and their activity
was monitored over a period of time. In these tests the
pedometer counted the number of leg movements and the
pedometer was visually read twice a day when the cow was
milked. The number of counts at each reading were found
to increase by a factor of three or more during estrus.




,~ ' , ' ~

~3'~3
,
Summary of the Invention


The present invention relates to an electronic
system for detecting estrus in animals in which a trans-
ponder carried by the animal counts the number of body
movements of the animal durins a selected time period
and this activity count along with an animal identifi-
cation number is transmitted to a transceiver unit where
the data is processed and stored. More particularly, the
electronic system includes a transponder attached to the
animal which contains a motion detector, a digital counter,
means for storiny a preselected animal identification
number and means responsive to an interrogation signal
received from a transceiver for transmitting the activity
count and the animal identification number to the trans-

lS ceiver. The transceiver includes means for generatingthe interrogation signai and means for receiving, decoding
and visually displaying the activity coun, and the animai
identification number transmitted by the transponder.
The transponder unit is attached to the animal and
the transceiver unit is positioned at a locat-cn which the
animal periodically frequents. ~hen applied to dalry cows,
for e~ample, the transponder may be in the form of a tay
which is attached to a chain around the animal's neck.
The transmit and receive coils of the transceiver may be
positioned at the entrance to the milking parlor. In the
early morning and evening the cow enters the milking parlor
and passes by the transceiver coils. The transponder
carried by the animal is interrogated and the identity
of the cow along with the activity count, which indicates

the number of substantial movements of tne animal during

~3~3
the preceeding time period, is transmitted by the transponder
and received at the receive coilO These numbers are recorded
and the farmer may easily review them periodically to determine
which cows are unusually acti~e.
A general object of the invention is to provide a
practical electronic system for detecting estrus in animals.
The transponders must be low in cost, mechanically rugged and
electrically reliable. Obviously the suxroundings in which the
system will operate demands that special measures be taken to
insure proper operation over a wide temperature range, in an
electrically noisy environment~ and after repeated, se~rer physical
shock. In addition, the economic environment requires that the
system be competitive in cost with other methods of estrus
detection.
A more specific object of the invention is to add
estrus detection to the animal identification system disclosed
in my co-pending U.S. patent application Serial No. 815,796
filed July 15, 1977 and entitled "Animal Identification System",
now U.S. patent 4,129~855.
The foregoing and other objects and advantages of
the invention will appear from the following description. In
the description reference is made to the accompanying drawings
which form a part hereof, and in which there is shown by way
of illustration a preferred embodiment of the invention. Such
description does not necessarily represent the full scope of
the invention, and reference is made to the claims herein for
interpreting the breadth of the invention.


-4-
ms/~

~13~5~ -

- Brief Description of the Drawings


Fig. 1 is an electrical schematic diagram of the
estrus detection system of the present invention;
Fig. 2 is an electrical schematic diagram of the
transponder unit which forms part of the system of Fig. l;
Fig. 3 is a flow chart of the system software executea
by the microprocessor which forms part of the system of
Fig. l;
Fig. 4 is a flow chart of the PIO interrupt service
routine which forms part of the system software of Fig. 3;
Fig. 5 is a schematic representation of the physic~1
arrangement of the transceiver transmit and receive coils
which form part of the system of Fig. l; and
Fig. 6 is a memory map of the contents of a random
access memory which forms part of the system of Fig. 1.




_5~


~7
~ . ~ .
.

1~3~
Description of the ~e~erred Embodiment
.

The system of the pres;ent invention employs the concept
and much of the ~dentical circuitry disclosed in U.S. Patent
4,129,855.
Referring to Fig. 1, the system of the present invention
includes a transponder unit indicated by the dashed lines 1 which
is encloséd in a molded plastic case (not shown in the drawings~
and which is attached to a chain that hangs axound the neck
of the animal. The system also includes a transceiver unit
indicated by the dashed line 2 which is housed in an enclosure
and positioned near the location which the animal frequents. When
the animal approached the vicinity of the transceiver unit 2,
the transponder unit 1 carried by the animal is interrogated by
an electromagnetic signal generated by a count transmitter coil
3 which is connected to the transceiver 2. The transponder unit 1
includes a count receive coil 4 and the transponder unit 1
is responsive to the interrogation signal to generate a series
of reset pulses at a reset pulse transmitter coil 5 which indicate
both the identity of the animal and the activity count of the
animal. The reset pulses generated by the transponder unit 1
are received by a reset pulse receive coil 6 which connects
to the transceiver unit 2. As will be described in more
detail below, the transceiver unit 2 operates to decode the reset
pulses to provide an animal identification number and an animal
activity number which are generated in digital form to a
character printer 7.




ms/lJ

113~i3

The physical construction o~ the transponder unit 1
including its count receive coil 4 and its reset pulse
transmitter coil 5 is discussed in detail in my above cited
patent. In the present embodiment of the invention, however,
the count transmitter coil 3 and the reset pulse receive coil 6
associated with the transceiver unit 2 are not located at individual
feeding stations as disclosed in my prior patent~ but are
instead, located at the entrance to the milking parlor. Referring
particularly to Fig. 5, the count transmitter coil 3 and the
reset pulse receive coil 6 are significantly larger and are
attached to a door frame 8 which surrounds the entrance to the
milking parlor. The coils 3 and 6 form an archway through which
the animal pass on the way to the milking parlor and it is at
this moment that the transponder unit 1 carried by the animal
is interrogated and the animal activity count and animal
identification number are conveyed to the transceiver unit 2. The
physical characteristics of the count transmitter coil 3 and
the reset pulse receive coil 6 are provided in Table A.


TABLE A


Count transmitter coil 3 25 turns of ~28 AWG wire,
each turn defining an area
of approximately 232 square
inches.

Count receive coil 4 500 turns of #36 ~WG wire,
each turn defining an area
of approximately 4.8 square
inches.




--7--

. ms/~;v

~3?~3

Reset pulse transmitter coil 5 100 tUxns o~ #36 ~WG wire,
each ~urn defining an area
of appxoximately 2,24 sguare
inches.

Reset pulse receive coil 6 6 turns of #22 AWG wire f
each turn defining an area
of approximately 16.0 square
feet~

Referring again to Fig. 1, the transceiver uni~ 2
emplo~s the concept disclosed in my above cited patent. It
includes an oscillator 10 which generates 80Q kHz clock pulses
to the input of a first divide by thirty-two counter 11 and to
the input of a second divide by thirty-two counter 12~ The output
of the first counter 11 is a 25 kHz pulse train which.is.applied
to the input of an a.c. amplifier 13. ~ pair of outputs terminals
14 and 15 on the a.c. amplifier 13 connect to the count trans-
mitter coil 3, and the count transmitter coil 3 thus generates
a continuous, unmodulated 25 kHz intexrogation signal.
The output of the second divide by thirty-two counter
12 connects through an inverter gate 16 to the clock terminal
17 of a seven stage ripple countex 18. The counter 18 is thus
incremented at a rate of 25 kHz in synchronizm with the 25 kllz
signal generated by the count transmitter coil 3~ The resulting
count at any point in time appears at a set of seven output
terminals~wliich connect through leads 19 to the input poxt of a
parallel input/output circuit (PIO) 20.
The transponder unit 1 is responsive to the 25 kHz
signal generated by the count transmitter coil 3 to generate reset
pulses to the reset pulse receive coil 6 which connects to the
transceiver 2. E.ach reset pulse is a burst of 200 kHz electro-




... --8--

m~/OJ

~3H~3

magnetic ener~y which is applièd to the in~uts 21 and 22 of ana.c. amplifier and pulse detector 23, `~ capacitor 24 connects
across the coil 6 to tune it to 200 kHz. The 200 kHz burst is
amplified by the amplifier 23 and a reset pulse of approximately
20 microsecond duration is formed therefrom and generated at a
detector output terminal 31. This detected reset pulse is
applied to an STB terminal 25 on,the PIO 20 and the bi.nary number
stored in the counter 18 at that moment is gated into and stored

in the PIO 20. The PIO 20 also responds by generating.a logic
high voltage at a RDY terminal 26 and this voltage is applied to

the input of a monostable multivibrator circuit 27. The Q
output 28 on the m~nostable multivibrator circuit 25 connects to a
reset terminal 29 on the counter 18 and to a reset terminal 30
on the divide by thirty-two counter 12.
The operation of the transceiver circuitry thus far
described is virtually identical to the operation of the trans-
ceiver circuit described in my above cited pateni. The oscillator
10 is continuously running and the ripple counter 18 is thus

continuously incremented. When no transponder unit 1 is in the
vicinity of the transceiver coils 3 and 6, the ripple counter 18

repeatedly counts out and resets to zero, but its output is not
entered into the PIO 20. When an animal carries a transponder unit
1 into range, however, the transponder unit 1 generates reset
signals to the transceiver coil 6. The first reset pulse formed
from the reset signals is applied to the PIO 20 and the contents
of the ripple counter 18 is loaded into.the PIO 20. More importantly,


1~ 3~3

however, the first reset pulse xese~s the counter 18 to zexo to
synchronize it with a similar counter in the transponder unit 1
as taught by my prior patent. The ripple counter 18 continues
to be incremented by the oscillator 10, and as subsequent reset
signals are received from the transponder unit 1, the contents of
the counter 18 are inputted to the PIO 20 and the counter 18
is reset. A series of four~bit binary numbers are thus entered
into the PIO 20 after the counter 18 is synchronized with the
transponder 1. This series of four-bit bytes includes a flag
byte, for data bytes which identify the animal carrying the trans-
ponder unit 1, and two data bytes which indicates the activity
of the animal.
The transceiver unti 2 continuously interrogates the
transponder unit 1 when it is within range of the count trans-
mitter coil 3. The animal identification number and activity
number are received repeatedly as the animal enters the milking
parlor. As will be described in more detail hereinafter, noise
immunity is achieved by requiring that four identical series
of animal identification and animal activity bytes are received
by the PIO 20 before the data is ~acknowledged to be valid and is
acted upon.
Referring particularly to Fig. 2, the transponder unit
1 of the present invention employs the concept disclosed in my
aboved cited patent, but because both an identification number
and an activity number are involved, the particular circuity is
different.
The interrogation signal received at the count receive
coil 4 is applied across the input terminals of a full-wave
bridge rectifier circuit 35. A capacitor 38



--10--
ms/J '~'



is connected in parallel with the count ~eceiye coil 4 and its
value is selected to tune the resulting tank circuit to 25 kHz.
One output terminal on the rectifier circuit 35 is connected
to signal ground and its other output connects to a positive d.c.
supply terminal 39. A filter capacitor 40 also connects to the
positive d~c. supply terminal 39 as does a 5.6 volt battery 41.
~ ne lead of the coil 4 is also connected directly to the
clock terminal 36 of a four-bit presettable counter 37. When
a 25 kHz interrogation signal is received at the transponder coil
4, it is rectified by the circuit 35 and the positive portion
of each cycle is applied to the clock terminal 36 of the counter
37. The four-hit presettable counter 37 is preset to a selected
count through a set of four terminals Dl, D2, D3 and D4 and it is
counted down by the rectified 25 kHz interrogation signal. When
the counter 37 is counted down to zero, a logic high voltage
is generated at an outpu~ terminal 42 which is applied to its
own preset enable terminal 47.
This logic high voltage is also applied to the input
of an inverter osci.llator circuit which includes the reset pulse
transmitter coil 5, a capacitor 43 and a sct of three:inverter
gates 4~-46. The series resonant circuit formed by the reset
pulse transmitter coil 5 and the capacitor 43 is tuned to 200 kHz,
and each time the output of the four-bit presettable counter 37
goes high, a burst of 200 k~lz energy is inductively coupled by the
reset pulse transmitter coil 5 to the transceiver unit 2. After
the first such reset signal is transmitted, the presettable
counter 37 becomes synchronized. with the counter 18 in the




--1].--
/ (



transceiver unit 2. During subsequent intervals between
reset signals, therefore, the counter 37 is counted
down from a preset four-bit binar~y number and the counter
18 is counted up to the very same number. In this manner,
a series of four-bit binary numbers loaded into the pre-
settable counter 37 through i.s terminals Dl~D4 are
effectively transmitted to the transceiver unit 2 and
loaded into the PI0 20.
The output terminal 42 of the four-bit presettable
counter 37 is also connected to a clock terminal 48 on
a decade counter 49. The decade counter 49 includes ten
output terminals Q0-Q9 and a carry output terminal 50.
The decade counter 49 is employed as a ring counter in
which a logic high voltage is advanceZ along the output
ter~inals Qo~Q9 each time a logic high vo'tage is received
at the clock terminal 48. That is, 2 "one" appears at
the output Q0 and is shi'ted to the output Ql when a
logic high voltage is applied to the clock terminal 48.
It is shifted to tne output terminal Q2 when another
logic high voltage is applied to the clock terminal 48,
and it is advanced througn the rema ning ou~puts Q3-Q9
as subse~uent s:ignals are applied to tne clock terminal 48.
When the "one" reaches the output Q5 a logic high voltage
is generated at the carr~ termirlal 50 and this terminal
remains at a losic high voltage until the "one" is shifted
through the remaining outputs Q6-Q9 back to the output
terminal Q0.
The decade counter 49 serves to sequentially apply
four-bit bytes of data to the preset terminals Dl-D4 on
the counter 37. The preset inputs Dl-D3 connect through

.

-12-

~3~

a set of lines,51-53 to the outputs of a three channel,
two-line-to-one-line multiplexer 54 and to a set of three
pull down resistors 55-57. The preset inputs Dl-D3 are
thus held at a logic low voltage by the resistors 55-57
unless a logic high voltage is applied to them by the
multiplexer circuit 54 or by the decade counter 49
through selectively connected diodes.
For example, the Q0 out?ut on the decade counter 49
is connected through a set of three diodes 58 to the
respective preset input terminals Dl-D3 and through an
inverter gate 59 to the preset input ter.minal D4. When
the "one" circulated by,the decade counter 49 appears at
the Q0 output terminal, the preset terminals Dl-D3 are
driven to a losic high voltage and the preset terminal
D4 is driven low. The four-bit presettable counter 37 is
thus preset to the number seven and a logic high voltage
will not be generated at the counter output terminal 42
until seven 25 kHz pulses have been applied to its clo_k
terminal 3~. When this occurs the decade counter 49 is
: 20 advanced to generate its "one" at the Ql output terminal.
This first byte of data (i.e., the nu.~ber seven; serJes
as a flag byte which identifies the oeginning of the
sequence of bytes to follow.
The following four outputs Ql Q4 on the decade
counter 49 are "programmed" b~ means of diodes 6C-62 to
generate four bytes of data which comprise a unique
identification number. ~n the preferred e~bodiment shown
in Fig. 2, the Q1 output is not connected to any of the
lines 51-53, the Q2 out?ut is connected through diodes
60 to lines 51 and 53, the Q3 output is connected through

-13-
f
!~ .

1~3Y~i3

a diode 61 to the line 53 and the Q4 is connected through
a diode 62 to the line 52. As the "one" is advanced
through the decade counter output terminals Ql-Q4' there-
fore, the digits "zero," "five," "four," and "two" (i.e.,
I.D. No. 1320) are sequentially applied to the preset input
terminals Dl-D3 on the presettable counter 37 and effec-
tively coupled to the transceiver 2. It should be apparent
to those skilled in the art that by selectively connecting
diodes between the decade counter output terminals Ql-Q4 and
the three lines 51-53 that any animal identification number
from 0 to 4095 can thus be pxogrammed.
After the decade counter 49 has been advanced th_oush
its outputs Qo~Q4 and the flag byte and the four animal
identification bytes have been coupled to the transceiver
unit 2, the "one" is advanced through the counter out~uts
Q5 and Q6. When this occurs two three-bit bytes of a
six-bit "activity number" are applied to the presettable
counter 37. More specifically, the Q6 output of the decade
counter 49 is connected to the select terminal 65 on the
multiplexer 54 and the carry output terminal 50 on the
decade counter 49 is connected to the enable terminal 66
on the multiplexer 54. Three input te-minals 67 on the
multiplexer 54 connect to the three most significant
digit output terminals 68 on a fourteen-bit binary
counter 69 and the second set of three input terminals
70 on the multiplexer 54 connect to the next three most
significant digit output terminals 71 on the binary counter
69.
When the "one" in the decade counter 49 is generated
at its Q5 output terminal, a logic high voltage is generated
.

-14-

1~3~ 3

at its earry output terminal 50 and is applied to enable
the multiplexer circuit 54. The multiplexer select
terminal 65 is at a logic low voltage, and as a result,
the three least significant digits of the six most sig-
nificant digits stored in the fourteen-bit binary counter
69 are coupleZ through the multiplexer input terminals
70 on the lines 51-53 which drive the preset inputs Dl-D3
on the presettable counter 37. After that three-bit
number has been counted down to zero by the counter 37,
the "one" in the decade counter 49 is advanced to the Q6
output terminal and the select terminal 65 on the multi-
plexer 54 is driven to a logie high voltage. As a result,
the three most signifieant digits stored in the fourteen-
bit binary eounter 69 are coupled through the multiplexer
inputs 67 to the lines 51-53 and are applied to the
preset inputs Dl-D3 Oll the presettable counter 37. A
six-bit binary coded activity number is thus indicated
to the transceiver 2 following its receipt of the 'lag
byte and the animal identification number.
The fourteen-bit binary counter 69 is driven by a
motion sensing device which generates a logic high voltace
to a clock input terminal 72 each time the animal earrying
the transponder unit 1 makes a signiricant movement. ~iore
specifically, one lead of a mercury switch 73 connects
to the clock terminal 72 through a filter comprisea of
capacitor 74 and resistor 75. The other lead on the
mercury switch 73 connects to the positive d.c. supply
terminal 39 and a reset terminal 76 on the fourteen-bit
binary counter 69 is connected to signal ground. The
mercury switch 73 is a commercially available pro~uct which



~ ~,. . .

e~ ~

includ-s a glass envelope 77 that contains a bead of
mercury 78.
The transponder unit 1 is preferably attached to a
chain around the animal's neck, and as the animal walks,
the transponder unit 1 swings. The bead of mercury 78
is thrown about within the envelope 77 by this swinging
motion and it opens and closes the switch 73 by bridging
across two stationary terminals 79 and 80~ Each time
the switch 73 is closed, a logic high pulse is applied
to the fourteen-bit binary counter 69 and the fourteen
bit binary number stored therein is incremented one
count. The fourteen-bit binary cour.ter 69 is thus
continuously incremented and when the animal approaches
the vicinity of the transceiver 1, the six most sig-

lS nificant digits of the counter 69 are read out anccoupled to the transceiver 1. The binary counter 69 ls
not rese' after each readins, but is instead, auto-
matically reset to zero when it reaches its ma~imum cour.t.
To summarize the operation of the system, when the
transponder unit 1 comes within range of the transceiver
unit 2, interrosation pulses are applied to the four-bi-
presettable counter 37 in the transponder unit 1. These
25 kHz pulses are simultaneously applied to the counter
18 in the transceiver unit 2. These two counters becor1e
synchronized with one another after the presettable
counter 37 is counted down to zero and the first reset
pulse is generated back to the transceiver unit 2. The
presettable counter 37 is irnmediately preset with anothe~
number and as it is counted down to zero by the 25 kHz
pulses, the counter 18 in the transceiver unit 2. is syn-




-i6-

i3

chronously co~nted up from zexo ~t the moment the pxesettable
counter 37 reaches zero and transmits a reset pulse back to the
transceiver 2, the counter 18 has reached the same count which
was preset into the presettable counter 37~ This count is loaded
into the PIO 20 and processed by the microprocessor system now
to be described. In this manner, the four-bit bytes of data
applied to the preset input terminals Dl-D4 of the presettable
counter 37 are sequentially loaded into the PIO 20 and processed
to form an animal identification number and an animal activity
1~ number. The number "seven" applied to the presettable counter 37
when the "one" is generated at the Q0 output of the decade counter
49 serves as a flag, or keying byte. That is, the four data
bytes which follow this keying byte constitute the animal
identification number and the next two data bytes constitute
the activity number.
While the transponder 1 is within range of the transceiver
2, the system continuously cycles through the sequence of coupling
the flag!byte, the four animal identification bytes, the two
animal activity bytes, and the three unused bytes (i.e., outputs
Q7-Qg of the decade counter 49). It is one of the features of
the present invent:ion that this data is not acted upon until four
identical cycles are received. As a result, the system is
relatively immune from electrical noise commonly found in the
farm environment which may otherwise disturb the transmission and
reception of a single byte.
Referring to Fig. 1, the four-bit bytes of data
sequentially loaded into the PIO 20 are processed by a micro-
processor based system which is structured around an




~17-
ms/`.,J ~

i;3

eight-bit data bus 80 and a sixteen-bit address bus 81.
A model number Z-80 microprocessor manufactured by Zilog
is employed and it is directly coupled to the PIO 20
through the data bus 80, the address bus 81 and a set
of control lines indicated generally at 82. The timing
of the system elements is coordinated by a single phase
clock 89 which operates at 2 MHz. An eight-bit by 2K
read-only memory 83 is also connected to the mic~o-
processor 84 through the buses 80 and 81 and through
selected control lines. Similarly, an eight-bit by
512 line random access memory 85 is coupled to the micro-
processor 84. The read-only memory 83 stores the machine
instructions which are executed by the microprocessor 84
to carry out the data processing functions which will
, 15 be described hereinafter, and the random access memory
85 stores data which is operated upon during processing.
A serial I/O controller (SIO) 86 driven by a 1200 kHz
clock 89 also connects to the data bus 80 and the address
bus 81. The SIO 86 is coupled through an RS-232-C line
driver 87 to an alpha-numeric printer 7 and when the SIO
circuit 86 is addressed through the bus 81 and enabled
through control lines ~X and IORQ, it outputs a seven-
bit ASCII character to the printer 7. The interface
circuit 87 operates to generate the seven-bit ASCII
character serially over a line 88 and, this line may be
up to 50 feet in length. The printer 7 may therefore,
be located remotely from the transceiver unit 2, which
is particularly advantageous in a farm environment.
The microprocessor 84 sequentially reads machine in-

30 structions out of the read-only memory 83, and ln response



-18-

to operation codes in these instructions, it performs
a number of functions. These functions include reading
in bytes of data from the PIO 20, performing calculations
on such data and writing partial results into the random
access memory 85. The ultimate results of these cal-
culations, the animal identification number and animal
activity number, are outputed to the printer 7.
For a more detailed description of the instruction
set employed by the microprocessor 84 and the manner in
which the microprocessor 84 operates the PIO 20, the SIO ,
86 and the memories 83 and 85, reference is made to the
Z80-C~ Technical Manual published in 197O by Zilog.
The detailed functions performed by the data processor
system is best explained with reference to the flow
charts shown in Figs. 3 and 4. These flow charts represent
the functions carried out by the microprocessor 84 in
response to machine instructions stored in the read-only
memory 83, and for a detailed listing of these machine
instructions, reference is made to Appendix A.
Referring particularly to Fig. 3, after the micro-
processor 84 executes a series of instructions whic}.
initialize the system as indicated by process block 90,
the system halts and waits for an interrupt as indicated
by a process bloc~ 91. When a byte of data is loaded i.nto
the PIO 20, an interrupt request is generated to the micro-
processor 84 and the system is vectored, or jumped, to
a PIO interrupt ser~ice routine indicated in Fig. 3 by
a process bloc~ 92. A flow chart of the PIO interrupt
service routine 92 is shown in ~ig. 4 and this flow chart
will now be described in conjunction with the memory map

-19--

~6 .

~3~

of the random access memory 85 shown in Fig. 6.
The PIO interrupt service routine first disables
further interrupts and then saves the contents of the
microprocessor registers as indicated by process block
S 93. The eisht-bit byte of data from the PIO 20 is then
input to the microprocessor 84 as indicated by input
block 94 and the least significant bit (i.e., bit zero)
of a status register 98 stored in the random access
memory 85 is then examined as indicated by decision
- 10 block 95 to determine if it is equal to one. This
particular bit in the status register 98 indicates whether
or not the flag by.e has previously been received from a
transponder, and if it has, the value of the presently
received byte is determined as indicated by decision
blocks 101 and 102. On tne other hand, if bit zero of
the status register 98 is not equal to one, the presently
received byte is examined, as indicated by decision block
96, to determine whether it is the flag byte. If it is
not, the data is meaningless and the routine returns
through a set of instr-ctions indicated by process block
97. 3ut if it is the flag byte, bit zero of the sta~s
register 9B is set to "one" and a byte counte~ 99 also
stored in the random access memory 85 is set to zero.
The machine instructions which accomplish these functions
are indicated collectively in Fig. ~ by a process block
100. After these functions are completed tne system
returns through the process bloc~ 97 which includes
instructions that enable further interrupts and reloads
the microprocessor registers with the data they con~ained -

when the PIO interrupt ser~ice routine was first entered.




-20-

~3~3

Referring again to Fig. 3, when the system returns
from the PIO interrupt service routine instructions
indicated by decision block 103 are executed to determine
if bit 1 of the status register 98 has been set to one.
As will be explained below, this does`not occur until the
flag byte, four bytes of the animal identification number
and two bytes of the activity numbe- are successfully
received. Consequently, until all of this data is
received, the system branches back to the process block
91 and awaits the next interrupt from the PIO 20.
Referring again to Fig. 4, when the next byte of
data is input from the PIO 20 it is examined by instruc-
tions indicated by decision blocks 101 and 102 to
determine its value. If it has a value greater than 15
as determined by decision block 101, an error has
occurred and the system branches to a set o, instructions
indicated by a process block 104. These instructions
reset bit zero of the status register to zero, and as a
conseouence, another flag byte must be received and tne
sequence restarted. Similarly, if the received byte is
less than seven as determined bv decision block 102, an
error has occurred and the system branches back throu~h
process block :L04 and process block 97. If on the other
hand, the value of the data byte is greater then seven
5 it is valid data and it is saved in a microprccessor "stack."
Instructions indicated by decision blocks 105 and
106 are then executed to determine which of the six data
bytes it is. This is determined by examining the value
of the byte counter 99 stored in the random access memory
0 85. If the byte counter is less than four as determined



-21-



by decision block 106, the data i5 part of the animal
identification number. In such case the byte counter
99 is incremented one count as indicated by process
block 107 and the three least significant bits of the
received byte are shifted into the upper end of the
microprocessor B and C registers (not shown in the
drawings). The system returns through the process block
97 and awaits the receipt of the next interrupt from
the PI0 20.
After the four bytes which comprise the animal
identification number have been received and shifted
into the microprocessor B and C registers, the byte
counter is greater than four when the system reaches
decision block 106. The next two bytes of data are
the activity number and these are shifted into the micro-
processo~ D register (not shown in the drawings) as
indicated by process blocX 109. The byte counter 99
is incremented as indicated by process block 110 and
when it reaches the value of six, as determined during
the next interrupt by decision block 105, the system
branches to a set of instructions indicated by ?rocess
block 111. These instructions right justify the ar.ima!
identification number in the B and C registers and the
animal activity number in the D register. As indica~ed
by process block 112, bit one of the status register 98
is then set to one to indicate that a complete trans-
mission has occurred. The animal identification number is
then stored in the random access memory 85 at a location
113 and the activity number is similarly stored in the ran-
dom access memory 85 at a location 114. The system then




-22-
. ~ ~ ' .

1~3~

returns through process bloc~s 104 ~nd 97,
Referring again to Fig. 3, when a complete transmission
has occurred, bit one of the status register 98 has been set by
the PIO interrupt service routine 92 and the system branches at
decision block 103 to determine whether five successive, identical
transmisslons of the animal identification and activity numbers
have occurred. More particularly, an instruction indicated by
decision block 116 examines the contents of a transmission counter
120 to determine if this is the first success~ul data transmission.
If it is, the system branches directly to a set of instructions
indicated by process block 117, which transfers the ID number
stored in register 113 to a previous ID number register 118
contained in the random access memory 85, and which transfers
the activity number at location 114 to a previous activity number
register 119. The transmission counter 120 is then incremented
one count as indicated by process block 121 and it is then
examined by instructions indicated by decision block 122 to
determined if the fifth successful data transmission has occurred.
If not, the system branches back to process block ~1 to await the
next interrupt from the PIO 20.
After subsequent complete transmission of the animal
identification number and the animal activity number have taken
place as determined by decision block 103, the system branches
to determine if the transmitted data is identical to previous
data transmissions. More specifically, the newly received animal
identification number is first compared with the previously received




-23
mS/l (''



animal identification number stored in the register 118
by a set of instructions indicated by decision block 123.
If they are identical, the system proceeds to a second
set of instructions indicated by decision block 124
which compares the newly received animal activity number
with the previous activity number stored in the register
119. If either one of these two numbers does not
identically compare, the system branches to 2 set of
instructions indicated by process block 125 which reset
the transmission counter to zero and loops back to
process block 91 to await the next interrupt from the
PIO 20. That is, when a transmission error has occurred,
the system is reset so that the entire process is
repeated.
When five successive identical transmissions of the
animal identi.ication number and the animal activity
number have occurred, as determined by the decision block
122, the numbers are presumed accurate and the system
branches at decision block 122 to instructions indicated
by process blocks 126, 127 and 128 which output these
numbers to the printer 7. ~.ore speci.ic~lly, irstruc'ions
indicated by process block 126 first subtract the activity
number from the activity number which was transmitted when
the animal's transponcer was previously interrogated.
It will be recalled that the fourteen-bit binary counter
69 in the transponder unit is not reset after each success-
ful transmission, and hence, it is the difference bet~een
the last reading and the present reading which is of
value in measuring the animal's activity. Th_s calculated -
activity number as well as the animal identification number

-24-

are then converted to BCD digits and are loaded into a
print buffer as indicated by process block 127. A
printer dri~er routine is then called to output these
digits in the proper order and format to the printer 7.
It should be apparent that numerous variations can
be made from the preferred embodiment of the invention
described herein. A microprocessor based transceiver is
preferred because it is an inexpensive and reliable means
of making the needed calculations and performins the
error detection functions~ However, hardwireZ circuits
could also be employed. Also, the time multiplexed
transmissions of 3-bit bytes of the animal identification
number and animal activity number is desirable because
of the large number of animals which are to be identified.
If fewer animals, for example si:cteen, were involved,
a single ten-bit presettable counter in the transponder
could be loaded with the six-bit activity number and a
four-bit identification number. This number might then
be transmitted all at once back to the transceiver when
interrogated. ~hen larger animal identification numoers
are required, however, i~ takes too lor.g to count down
the resulting large presettable counter. By breaking
down the numbers into bytes which are sequentially trans-
mitted to the transceiver and reassembled, the time needed
to communicate both numbers is shortened considerably.
This allows the animal transponder to be interrogated
many times as it passes the transceiver coils and this
in turn enables the use of redunaant transmissions as a
means of eliminating erroneous data.

.
-25-


~ .

c ~ ~ 3

COMPONE~T APPE~DIX

Reference Manufacturer
No. ~nd ,~odel No. Description

7 Centronics Alpha-numeric printer.
Microprinter-Sl
See oscillator 20 in my co-
pending U.S. patent application.
11 & 12 Motorola Seven-stage ripple counter.
MC14024
13 See a.c. amplifier 31 in my
copending U.S. patent applica-
tion.
18 Motorola Seven-stage ripple counter.
MC14024
Zilog Z-80 parallel I/O controller.
MK3881
23 See amplifier and detector
45 in my copending U.S. patent
application.
27 Motorola Monostable multivibrator.
MC14528
37 Motorola Pour-bit presettable counter.
MC14526
49 Motorola Decade counter/divider.
MC14017
54 Motorola Data selector/multiple~er.
MC14053
69 Motorola Fourteen-bit binary counter.
MC14020
73 MICRO S~ITC~I Mercury switch.
~S 408 PO
83 Intel Corporation Two lKx8 UV erasable low
2758 power PROM.
84 Zilog Eight-bit microprocessor.
Z-80
Fairchild Two 256x8 MOS random access
3539 memory.
86 Zilog Z-80 serial I/O controller.
87 Motorola RS-232-C line driver.
MC1488

-~6-
d~ .



APPENDIX A

;ABSOLUTE RAM ADDRESSES OR DATA
OFFSET: EQU -l O O O H
INTPT: EQU 03H
PRT: EQU 0800H
IDA~: EQU 0802H
ADATA: EQU 1800H
BUFRTP: EQU 1810H
MIN: EQU 1812H
HR: EQU 1813H
DAY: EQU 1814H
MON: EQU 1815H
IDA: EQU 181AH
ACTA: EQU 181EH
COW EQU 1830H
ACT IV: EQU 1832H
DOOR: EQU 1834H
DATA: EQU 1836H
COWBIN: EQU 1838H
ACTBS: EQU 1840H
BUPRBS: EQU 200OH
STACK: EQU 2OFFH
; RELATIVE RAM ADDRESSES
- STAT: EQU 00H
GPCONT: EQU 01H
ID: EQU 02H
PRID: EQU 04H
ACT: EQU 06H
PRACT: EQU 07H
IDCT: EQU 08H
PRCOW: EQU OAH
VECT20: EQU OFOH
VECT28: EQU OF8H
VECT2A: EQU 0FAH
VECT34: EQU OFCH
; ASCII CHARACTER DEFINITION
CR: EQU ODH
LF: EQU OAH
RS: rQU lEH
; INIT ~ ALIZATION
START: LD IX~ADATA
LD IY, BDATA
LD SP,STACK
LD HL,ADATA
LD DE~ADATAtl
LD BC~511D
LD (HL),00H
- LDIR ; SET ALL RAM TO 00H
LD A,INTPT
LD I ~A ; LOAD INTERRUPT TABLE POINTER
LD HL~BUFRBS
LD tBUFRTP)~HL ; INITIALIZE TOP OF BUFFER
; I~ITIALIZATION OF SIO CHANNEL B.
; PORT 32}i = DATA
; PORT 33H = COMMAND
; ASYCHRONO~S FORMAT~ ~ BIT CIIARACTER~ 1 PARITY BIT, 2 STOP BITS
LD HL, SIO35+OFFSET ; LOAD DATA POINTER
LD C~ 33H ; LOAD PORT PoINTER
LD B~lOD ; LOAD COUNTrR
OTIR ; INITIALIZE SIO, CHANNEL B

-27-
. ~,,
.- ., _

~3~3

7 INITILIZATION OF PIO CHANNEL A AND B
; PORT 28H = DATA, PORT 29H = C0~4AND (DOOR A)
; PORT 2AH = DATA, PORT 2BH = COMM~ND (DOOR B)
LD A,4FH j SET TO INPUT MODE
OUT 29H,A
OUT 2BH,A
LD A,87H ; ENABLE INTERRUPT
OUT 29H,A
OUT 2BH,A
LD A,VECT28 ; LOAD INTERRUPT VECTOR
OUT 29H,A
LD A,VECT2A ; LOAD INTERRUPT VECTOR
our 2BH,A
; PRINT HEP~DING FOR DATA
CALL PRT
CPLL IDAK
HALT: IM 2
EI
HALT
BIT 1,(IX+STAT) ; IF BIT 1 OF STATUS P~EG.=1
CALL NZ,CHKA+OFFSET ; THEN COMPARE PRESENT
; ID WITH PREVIO'JS ID
JR HALT
; PIOINTERRUPT SERVICE ROUTINE
; INPUT ONE BYTE WHICH CONTAINS THREE BITS OF INFORMATION
; CHECK FOR ERRORS
, ASSEME`LE THREE BIT CODE
DRP.: DI ; DISPBLE ALL INTERRUPTS
EXX ` ; EXCHANGE BC, DE, HL
EX AF,AF' ; EXCHANGE AF
IN A,(28H) ; INPUT BYTE
BIT O,(IX+STAT)
JR NZ,DRA1 ; JUMP IF BIT 0=1, FLAG BYTE HAS
; 8EEN DETECTED
CP 07H ; CHECX IF THIS IS THE FLAG BYTE
JR NZ,DRARET ; JUMP IF A NOT EQUAL TO 7
DRA5: SET O,(IX+STAT) ; BIT 0=1, FLAG BYTE IS
; DETECTED
LD (IX+GPCONT),OOH ; SET BYTE COUNTER = O
JR DRARrT
DRA1: CP A,lOH ; IF P.>15
JP P,DRA2+0FFSET ; THEN AN ERROR HAS OCCURVED
CP 07H
JR Z,DRA5 ; JUMP IF A=7, THIS IS A FLAG BYTE
JP M,DRA2-~0FFSET JUMP IF A~7, AN ERROR
; HAS OCCURRED
PUSH AF ; SAVE THE ACCUMULATOR IN THE STAC~
LD A,(IX+GPCONT)
CP 06H
JR Z,DRA4 ; JUMP IF GPCONT = 06, ONE CYCLE
; IS COMPLETE
CP 04H
JP P,DRA3+0FFSET ; JUMP IF GPCONT>4, DATA IS
; ACTIVITY DATA
INC (IX+GPCONT) ; INCRE~IENT BYTE COUNTER
POP AF ; RECALL THREE BITS OF DATA
.




-28-

~3~3

; ASSE~IBLE ID CODE IN BC RL'GIS'rER PAIR
SRL A ; BIT 0 TO CARRY
RR B ; CARRY TO BIT 7 OF B
; BIT 0 OF B TO CARr'Y
RR C ; CARRY TO BIT 7 OY C
SRL A REPEAT FOR BIT 1
RR B
C
SRL A REPEAT FOR BIT 2
RR B
RR C
JR DP~ARET
; ASSEMBLE ACTIVITY CODE IN REGISTER D
DRA3: INC (IX+GPCONT) ; INCREi~iENT BYTE COUNTER
POP AF ; RECALI. TilRE,E BITS OF DATA
SRL A BIT 0 TO CARRY
RR D ; CARRY TO BIT 7 OF D
SRL A ; REPEAT FOR BIT 1 OF DATA
RR D
SRL A ; REPEAT FOR BIT 2 of DATA
RR D
JR DRARET
; FINAL SHIFT OF ID AND ACTIVITY CODES
DRA~: POP AF ; REPOSITION STACK POINTEP~
SRI, B ; SHIFT BC ONE BIT RIGHT
RR C
SRL B ; REPEAT
RR C
SRL B REPEAT
RR C
SP~L B ; REPEAT
RR C
SRL D ; SHIFT D ONE BIT RIGI-IT
SRL D ; REPEAT
SET l,(IX+STAT) ; BIT 1=1, DATA ASSE~BLED
FOR CO~IPARISON
LD (ADATA+ID),EC ; PLACE ID AND
; ACTIVITY IN P~
LD (IX-~ACT;,D
DRA2: RES 0,(IX+STAT) ; R~S~T FLA~ B;~:'
DETECTED BIT
DRARET: EX.Y ; RECALL BC, DE., HL
EX AF,AF' ; RECALL AF
RETI
; CLOCX ADVANCE ROUTINE
CL~: DI
CALL INCrlIN+Or'FSr.'r
CP 0011 ; IF ~lIN = 00
JR NZ,CLKl ; TIIEN, INCRF.I`IENT IIR
CALL INCIIR+OFFSET
SET 7,B ; BIT 7=1, PRINT HEADINC
CP 001i IF ilR = 00
JR NZ,CLI;l , TIIEN, INCREilENT DAY
CALL INCDAY-~OFFSET
CP 0111 IF DAY = 01
JR NZ,CLKl , Tllr:N, INCI~lN'r ~'ON
CALL I;;Ci;ON~OFFSl'T
CLKl: BIT 7,B ; IF BIT 7~
JR Z,CL~RET ; TIIEN DO NOT i'RINT HEADING
CAI.I, PRT
CLKRET: RETI

-2

1~3Y~

; MINUTE INCREMENT ROUTINE
INCMIN: LD A,(MIN)
ADD 0lH ; MIN = MIN + l
DAA
CP 60H
JR NZ,MINl ; IF MIN = 60
XOR A ; THEN MIN = 00
MINl: LD (MIN),A
RET
; HOUR INCREMENT ROUTINE
INCHR: LD A,(HR)
ADD 0lH ; HR = HR + 1
DAA
CP 24H
JR NZ,HRl ; IF HR = 24,
XOR A ; THEN HR = 00
HRl: LD (HR),A
RET
; DAY INCREMENT ROUTINE
INCDAY: LD A,(DAY)
ADD 0lH ; DAY = DAY + l
DAA
CP 32H
JR NZ,DAYl ; IF DAY = 32,
LD A,01H ; THEN DAY = 01
DAYl: LD (DAY),A
RET
; MONTH INCRE~NT ROUTINE
INCMON: LD A,(MON)
ADD 0lH ; MON = MON + 1
DAA
CP 13E
JR NZ,MONl ; IF MON = 13,
LD A,01H ; THEN MON = 01
MONl: LD (MON),A
RET
; COMPARE PRE'vIOUS ID AND ACT WITH PRESENT ID AND ACT
CHKA: RES l,(IX+STAT) ; CLEAR DATA READY BIT
; IN STATUS REG.
LD HL,(ADATA+PRID) ; GET ID NU~IBER
LD DE,(ADATA+ID) ; GET PREVTOUS ID NU.~IBER
XOR A
SBC HL,DE ; IF ID = PRID
LD (ADATA+PRID),DE ; PRID = ID
JR NZ,CHKAl ; THEN COMPARE ACTIVITY
~ ; NUMBER
LD A,(IX+ACT) ; GET ACTIVITY NUMBER
LD B,(IX+PRACT) ; GET PR VIOUS ACTIVITY NUMfiER
CP B ; IF ACT = PRACT
LD (ADATA~PRACT),A ; PRACT = ACT
JR NZ,CHKAl THEN THE TWO DATA ARE
, IDENTICAL
LD HL,(ADATA+IDCT)
INC HL ; IDCT = IDCT + l
LD (ADATA+IDCT),HL
LD DE,0004H
XOR A
SBC HL,DE ; IF IDCT = 000~,
JR NZ,CH~ ; THEN DISPLAY AND PRINT
- ; D-'.TA


-30-


: .~ J_

~3F~ 3

.

LD HL,(ADATA+PRID)
LD DE,(ADATA+PRCOW~
XOR A
SBC HL,DE ; IF SAME COW HAS BEEN RE-IDENTIFIED,
JR Z,CHKA2 ; THEN DO NOT PRINT ID AND ACTIVITY
LD HL,(ADATA+PRID) ; GET PRID FOR CONVERSION
LD (ADATA+PRCOW),HL ; SAVE COW NUMBER
LD (COWBIN),HL ; SAVE FOR ACTIVITY
; CALCULATION
LD DE,IDA ; GET RESULTS POINTER
CALL BCD+OFFSET ; CONVERT TO FOUR BCD DI5ITS
LD H,OOH
LD L,(IX+PRACT) ; GET PRACT FOR CON~ERSION
LD DE,ACTA ; GET RFSULTS POINTER
CALL BCD+OFFSET ; CONVERT TO FOUR BCD DIGITS
CALL DISP+OFFSET
LD HL,(ACTA) ; GET 'A' ACTIVITY READING
LD (DATA~,HL ~ MOVE ACTIVITY READING FOR
; PRINTOUT
LD HL,~IDA)
LD (COW),HL ; MOVE ID FOR PRINT OUT
LD A,'A'
LD ~DOOR),A ; LOAD 'A' FOR PRINT OUT
CALL ACTIVE+OFFSET
CALL IDAK
CHKA2: RET
CHXAl: LD HL,OOOOH
LD (AGATA+IDCT),HL ; IDCT = 0000
RET
; CO~PUTE ACTIVITY AND SAVE IN RAM
ACTIVE: LD DE,ACTBS ; LOAD BASE ADDRES OF
; ACTIVITY TA3LE
LD HL,(COWBIN) ; RECALL COW NUMBEP~
; ( O < ID < 192 )
ADD HL,DE
LD A,(DATA) ; RECALL PRESENT P_.`DI~G
LD B,(HL) ; GET PREVIOUS READING
LD (HL),A ; SAVE PRESENT READING
C~ B ; IF A < B
JP M,ACT2+0FFSET ; THEN ADJUST TO OBTAIN
; POSITIVE RESU~TS
ACTl: SUB B
DAA
LD (ACTIV),A ; SAVE ACTIVIT~' FOR PRINT OUT
RET
ACT2: ADD A,64H
DAA
JR ACTl
; ENV OF ROUTINE
; INTERRUPT DRIVEN PRINT ROUTINE
PRINT: DI
RES O,(IX+STAT)
RES O,(IY~STAT) ; RESET STARI' GROUP
; DETECTED BITS
LD DE,BUFRBS ; LOAD POINTER-BUFFER
; BASE
LD A,(DE) ; GET ASCII CHARACTER

~31-


~, . .


CP '$' ; IF A = '$'
JR Z,PRTRET ; THEN DISABLE SIO AND
; RETURN
OUT (32H),A ; OUTPUT CHARACTER
LD HL,BUFRBS+1 ; LOAD POINTER
LD BC,(BUFRTP)
DEC BC ; DECREMiENT TOP OF BUFFER
LD (BUFRTP),BC
LD BC,160D ; LOAD LENGTH OF CHARACTER BUFFER
LDIR ; SHIFT ALL CliARACTERS IN BUFFER
; DGWN ONE LOCATION
RETI
PRTRET: LD BC,BUFRBS
LD (BUFRTP),BC ; RESET TOP OF BUFFER
'; AT'BASE OF BUFFER
LD A,28H
OUT (33H),A ; RESET TRANSMITT INTERRUPT PENDING
RETI
; CONVERT 16 BIT BINARY NUMBER IN HL TO FOUR BCD DIGITS.
; DE CONTAINS THE ADDRESS AT WHICH THE BCD NUMBER IS TO BE
; STORED
BCD: LD B,02 ; LOAD LOOP COUNTER
LD C,lOD ; LOAD DIVISOR
BCD1: CALL DIV+OFFSET
EX DE,HL
RRD ; BCD DIGIT TO RAiM
EX DE,HL
CALL DIV+OFFSET
EX DE,HL
RRD ; BCD DIGIT TO RA
EX DE,HL
INC DE ; ADVANCE MEMORY POINTER
DJNZ BCD1 ; DECREMENT LOOP COUNTER
RET
; 16 BIT UNSIGNED DIVIDE ROUTINE
; HL = HL / C, A = RE~AINDER
DIV: PUSH BC
XOR A
LD B,17D ; LOAD LOOP COUNTER
JR DIVST
DIVLP: SUB' C
JP P,DIVRES+OFFSET ; JUMP IF NO RESTORE
ADD C
DIVST: ADD HL,HL ; SHIFT HL I,EFT ONE BIT
RLA
JR DIVCON
DIVRES: ADD HL,HL ; SHIFT HL LEFT ONE BIT
RLA
INC HL
DIVCON: DJN~ DIVLP ; DECRE~ENT LOOP COUNTER
RRA ; RESTORE RE~INDER
POP BC
RET
INP: DI
LD A,OEOH
OUT 35H,A ; END INTERRUPT
LD A,50H
O~T 35H,A ; READ SENSOR R~ AT DIGIT 0 WIT;i
; AUTO INCREMENT
IN A,(34H) ; INPUT CLOC~ ADV~NCE SIGNALS
LD B,A ; SAVE SWITCH STATUS
BIT 4,B
-32-

.. ~,.............................. .
i! . .




CALL NZ,INCMIN+OFFSET
BIT 5,B
CALL NZ,INCHR+OFFSET
BIT 6,B
CALL NZ,INCDAY+OFFSET
BIT 7,B
CALL NZ,INCMON+OFE'SET
CALL DISP+OFFSET
RETI
SIO35: DB 02H ; POINTER SET TO REGISTER 2B
DB VECT34 ; LOAD INTERRUPT VECTOR
DB 03H ; POINTER SET TO REGISTER 3B
DB 4OH ; RECEIVER DISABLED
DB 04H ; POINTER SET TO REGISTER 4B
DB OCH ; NO PARITY, 2 STOP BIT, Xl
; CLOCK, ASYCHRONOUS MODE
DB 05H ; POINTER SET TO REGISTER 5B
DB 28H ; 7 BITS PER CHARACTER, TRA~S-
; MITTER ENABLED
DB 01H ; POINTER SET TO REGISTER lB
DB 02H ; INTERRUPT ENABLED
; CREATE INTERRUPT TABLE FOR PIO AND SIO
ORG 1300H+VECT28
DW DRA+OPFSET, DRB+OFFSET, PRINT+OFFSET,
START+OFFSET
END START

Representative Drawing

Sorry, the representative drawing for patent document number 1138953 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 1983-01-04
(22) Filed 1980-07-03
(45) Issued 1983-01-04
Expired 2000-01-04

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1980-07-03
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
RODRIAN, JAMES A.
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-01-05 5 119
Claims 1994-01-05 5 128
Abstract 1994-01-05 1 16
Cover Page 1994-01-05 1 9
Description 1994-01-05 32 1,072