CA1130923A - Vital electronic code generator - Google Patents

Vital electronic code generator

Info

Publication number
CA1130923A
CA1130923A CA340,135A CA340135A CA1130923A CA 1130923 A CA1130923 A CA 1130923A CA 340135 A CA340135 A CA 340135A CA 1130923 A CA1130923 A CA 1130923A
Authority
CA
Canada
Prior art keywords
central processing
processing unit
code generator
vital
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA340,135A
Other languages
French (fr)
Inventor
Henry C. Sibley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SPX Corp
Original Assignee
General Signal Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Signal Corp filed Critical General Signal Corp
Application granted granted Critical
Publication of CA1130923A publication Critical patent/CA1130923A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/10Frequency-modulated carrier systems, i.e. using frequency-shift keying

Abstract

VITAL ELECTRONIC CODE GENERATOR
ABSTRACT OF THE DISCLOSURE
A code generator is disclosed which includes a programmed micropro-cessor for transmitting a selected fixed frequency signal through optical isolators to tuned vital relay drivers. Feedback information from these drivers monitors their operation and checks operation of output circuitry.
External time delays are provided to check program delays within the system and to ensure against the generation of erroneous codes due to cyclical reset-ting of the system. A rate selector is provided to permit selection of par-ticular output code rates and is cycle checked continuously to ensure that the system is always certain of the selected code. Unique programming func-tions are also provided for self checking and for checking the operation of the microprocessor against the operation of external components to provide total system integrity and total system reliability. Diversity and cycle checking are used throughout the system to provide vital qualities. The system has no failure bias and is entirely self checking. Any component or program failure or malfunction causes the system to shut down completely.

Description

~L~L3¢~9 Z 3 1. BACKGROUND OF THE INVENTION
Field of the Invention:
The present invention relates to an electronic code rate genera-tor, and more particularly to an electronic code rate generator designed for applications in which fail-safe qualities are des1rable or required.

Description of the Prior Art:
In a number of industrial applications, such as railroad technology, code generators are commonly used to transmit information. In the railway 1~. signalling and control field, for example, vehicle speed, application of motor and braking power, indicator lights aboard the vehicle and other functions may be controlled wither automatically or manually in response to coded information transmitted from wayside stations. This coded infonnation narmally takes the form of var~able low frequency pulse rates. Since human lives often depend upon safe operation of the vehicles, and since vehicle safety corresponds to accurate and reliable operation of the code generators, railway control systems are typically required to exhibit fail-safe or "vital" qualities. One aspect of this fail-safe or "vital" requirement is that any failures which could occur in the equipment must result in a condition which is no more dangerous than 20. if the equipment had not failed.
In previously available equipment, code rate generators have often taken the form of mechanical relays which tended to fail to a slower rate.
They were used in a way such that if a failure occurred and the code generator transmitted at a lower rate, a slower speed, or other similarly safer condition would be indicated. However, this biasing toward slower rate failure is often undesirable because it may not be immediately clear that the system has in fact failed, causing potentially economically damaging transportation delays as well as delays in detecting and locating the failed components. Furthermore, mechanical components are subject to mechanical wear and are presently becoming 30- more and more expensive relative to electronic components.
~' ~L~l~3~ 2 3 1. There is accordingly a significant interest in using electronic components for code generating functions. However, many of those skilled in the railway signalling arts are reluctant to switch ~o electronic compo-nents because they are not yet proven with respect to their fail-safe or "vital" qualities and are often thought to possess unknown failure modes. At least one fail-safe electronic code rate generator is presently known and is disclosed in U.S. Patent No. 4,053,879, issued October 11, 1977, to Robert Anderson and assigned to the same assignee as the present application.

SUMMARY OF THE INVENTION
lO. Accordingly, one object of the present invention is to provide a novel vital code generator in which any system failure would cause complete system shut down.
Another object of the present invention is the provision of a no~el electronic code rate generator which is rendered fail-safe by a plurality of self-checking features.
A still further object of the present invention is the provision of a novel microprocessor based vital code generator which includes both diversi-ty and cyc1e checking features to prevent code rate errors.
A still further object of the present invention is the provision of 20. a novel techrlique for producing a fully vital electronic code transmitter.
Another objeck of the present invention is the provision of a vital code rate generator which incluses both unique programming functions and hard-wired circuit components which are checked against one another to ensure against code rate errors.
A still further object of the present invention is the provision of a code rate generator including a programmed microprocessor which shuts itself down entirely if code rate errors are detected. -Briefly, these and other objects of the present invention are attained 30. by the provision of a programmed microprocessor which transmits a fixed fre-quency signal through optical isolators to tuned vital relay drivers.

3~ 3 l. Feedback information from these drivers monitors their operation and checks operation of the output circuitry. External time delays are provided ~o check program delay wi~hin the system and to ensure against the generation of erro- -neous codes due to cyclical resetting of the system. A var1able rate selector is also provided and is cycle checked continuously to ensure that the system is always certain of the selected code. In addition, unique programming func-tions are provided for self checkin~ and for checking the operation of the microprocessor against the operation of ex~ernal components to ensure total system integrity and total system reliability. Diversity and cycle checking lO. are used throughout the system to provide vital operation.

BRIEF DESCRIPTION OF THE DRAWINGS
A more complete appreciation of the invention and many o~ the atten-dant advantages thereof will be readily obtained as the same become better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
FIGURES lA and lB together form a block diagram showing in schematic form the components of the present invention;
FIGURE 2 is a graphical illustration showing the pulse and carrier configuration of the present invention; and, 20. FIGURE 3 is a detailed illustration of the code rate selector of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to the drawings, wherein like reference numerals desig-nate identical or corresponding parts throughout the several views, and more particularly to Figure l thereof, a block diagram of the vital electronic code generator is the Central Processing Unit (CPU) lO which may be any suitable commercially available microprocessor. As is well ~ ~l3~3~ 3 s 1. known to those skilled in the art, a microprocessor is a sophisticated electro-nic component which is capable of performing logic operations far more comp~ex than simple code generation. However, in many industriesJ such as the railroad industry, it is of utmost importance that information transmitted by code by absolutely free of errors. This need for error-frlee code generation will be apparent when one considers the potential danger that could occur if a moYable train is fed incorrect speed or traffic information due to a code transmitter failure. As a result it is essential to provide the code transmitter with hard wired components as well as programming techniques which prevent erroneous codes10. from being generated. It is with these goals in mind that the present invention was conceived and designed. The present invention is designed to incorporate cycle checking, which is the continuous testing of a device, circuit or compu-ter instruction to determine that it is completely functional, and diversity checking. Diversity checking involves the use of two or more independent channels to produce a permissive output, the channels being arranged so that a single disruptive event cannot cause identical failures in all channels~ and all channels must agree before a permissive output is accepted. In addition the system of the invention is designed so that cycle and diversity checking concepts permit program components to check hard wired components and vice versa, 20. providing a network of uniquely integrated self-checking hardward and software components.
Turning again to Figure 1, it is noted that a conventional crystal oscilator 12 is coupled to the clock input of the CP~ via a line 14 in order to provide a reliable clock ~requency reference to the CPU. The CPU is coupled via a first data bus 16 and a second data bus 18 to a conventional memory 20.
The memory is shown as including four interconnected read only memories (R~Ms~
22 - 28 and a random access memory ~RAM) 30. These memories are conventional devices ~ell known to those skilled in the art and the particular interconnec-tion of memory components and the util;zation of particular components is well 3~. within the ordinary capabilities of those skilled in the art of digital signal ~3~9iZ3 l. processing. Conventional address decoding logic 32 is coupled to the first data bus 16 to provide the normal address decoding logic function necessary in any digital circuit employing a memory network. Programs which will be de-scribed in detail subsequently are stored in the ROM network for controlling thesequencing, testing and output of the CPU, as is well known to those skilled in the art.
The outputs of the CPU lO are delivered through three output control lines 34 connected $o the No~ Nl and N2 tPrminals of the CPU. These outputs aredelivered to a conventional decoder 36 which in turn has a main output line 38 lO. for supplying the decoded output of the CPU to a left-right switching circuit 40. The left-right switching circuit 40 is a conventional electronic circuit inthe nature of a flip flop which applies inputs received on input line 38 to either a left side output line 44 or a right side output line 46. Switching is controlled via a switching output line 42 coupled between the decoder 36 and 1eft-right switching c1rcuit 40. In operation, information on the output con-trol lines 30 from ~he CPU lO is encoded to contain both the information in-tended to be transmitted and information as to whether the coded signal is to be transmitted over the left or right output channels. This information is converted into an information signal and a switching control signal in the de-20. coder 36 so that the left-right switching circuit is properly controlled where-by coded output information is applied to the proper output channel.
The left and right signal transmission channels coupled to the lines 44 and 46 are identical, each incorporating optical isolaters 48, 50, ampli-fiers 529 54; tuned circuits 56, 58; rectjfiers 60, 62 and relay drivers 64, 66.The relay drlvers 64 and 66 drive appropriate sets of contacts 6B and 70, re-spectively which are in turn coupled to an appropriate utilization device, such as a plug board or transmission line. The tuned circuits 56, 58, rectifiers 60,62 and relay drivers 64, 66 together form a pair of vital tuned relay drivers 65 and 67. The tuned circuits 56, 58, rectifiers 60, 62 and relay drivers 64, 30. 66 are selected to be conventional vital circuits, meaning that their reliabi-~3~9Z3 l. lity has already been proven by extensive testing and operational use.
The optical isolators 48 and 50 are used to separate the small sig-nal digital logic circuits from the higher power relay drivers and related cir cuitry. Optical isolators are well known to those skilled in ~he art~ and nor-mally comprise a photodiode-phototransistor cambination packaged in a commer-cial1y available unit. Isolators of this type are particularly useful in the railroad environment since ~he relay driving circuitry is often located in a somewhat hostile electrical environment which must tolerate radically different weather conditions, lightning strokes, and other substantial voltage transients.lO. Although the relay driving circuitry is conventionally designed to withstand - such hostile conditions, and is thus unaffected by them, it is necessary to isolate the more sensitive digital processing components of the system ~rom these transients, as will be apparent to those skilled in the art.
The signals passed through the optical isolators are fed to suitable power amplifiers 52 and 54 of conventional structure. The outputs of the power amplifiers are applied to tuned circuits 56 and 58. The significance of the tuned circuits may be better understood by reference to Figure 2 wherein the form of the transmitted code rate signals is illustrated in more detail. By way of background, it is common in the railroad industry to transmit information20. by coded pulses at relatively low frequencies (see U. S. Patent No. 4,053,879).
A series of such pulses is illustrated at 72 in Figure 2. Each pulse is not simply a DC voltage, however, but is made up of a high frequency carrier signal as indicated at 74. The carrier signal may be set at any appropriate frequency based on the frequency of the crystal oscillator 12. The tuned circuits 56 and 58 are consequently twned to transmit only signals at the carrier frequency 74 to reject all other signals. Accordingly, if the clock oscillator 12 changes frequency due to a malfunction, the tuned circuits would reject the new output sign~l, thereby preventing transmission of a signal which could possibly be mis-interpreted by utilization equipment. It has been found suitable to design the 30. tuned circuits to detect a code rate change in the carrier frequency of less than 8~ at maximum power supply voltage.

>

~L~L3~3~
1.Feedback lines 76 and 78 are connected to relay drivers 64 and 66, respectively and are coupled through optical isolators 80 and 82 to terminals EF2 and EF3 of the CPU 10. The optical isolators 80 and 82 are provided for the same purpose as isolators 4~ and 50, previously clescribed, and are pre-ferably substantially identical to those isolators. The feedback network thus provided monitors the operation of the relay drivers and feeds this informa-tion back to the CPU 10 so that it can be compared with the output signal. The I feedback network thus provides a positive indication as to whether the relay drivers are following the generated output code and thus checks the entire trans-10. mission circuit between the decoder 36 and the relay drivers to determine if a rnalfunction has occurred. This comparison checking is carried out by means program instructions described in more detail subsequently.
A reset timer 84 is coupled at its input to an OR gate 86 which in turn receives inputs from lines 88 and 90 which are coupled between optical isolators 80 and 82 and CPU terminals EF2 and EF3. The output of the reset timer 84 is coupled via a line 92 to the CLR terminal of the CPU 10 and also to a delay timer 94. The reset timer 84 remains disabled as long as signals are applied over lines 88 and 90 through OR gate 86 to the input of the reset timer. If such input signals should stop for more than a predetermined inter-2C. val of time, however, the reset timer generates an output over line 92 whichresets the CPU 10. The purpose of the reset timer is to reset the CPU 10 ifno activity occurs on the feedback line for a predetermined interval of time.
If, for example, the CPU is temporarily rendered inoperative by noise or a program malfunction, the reset timer will be activated to clear and restart the CPU. The reset timer may, for example, be a conven~ional Model 555 Timer.
The delay timer 94 receives its input over line 96 from reset timer 84, as previously noted, and supplies two output signals over lines 98 and 100 to CPU terminals EF1 and EF4. The purpose of the delay timer is to pre- `
vent the occurrence of an output that appears to be an acceptable code, but 30. which is in fact caused by cyclical resetting of the CPU at a r~latively high ~L~L~3C~ g~3 1. frequency. For example, the CPU may develop either a programming or hardware malfunction which may cause it to actuate one or both of the relay drivers 64 and 66, and then require resetting via the reset timer 84. Once the system is reset, the relay drivers could again be actuated, followed by another re-setting of the CPU. If this sequence happened to occur fast enough and at the proper frequency, the output of the relay drivers could appear to be an accept-able output code rate. To prevent this, the delay timer 94 is actuated each time the reset timer 84 acts to reset the CPU 10. The delay timer delays the re-starting of the CPU long enough to prevent the cyclical resetting of the CPU from 10. appearing as an acceptable output code. In practice this amounts to delaying the restarting of the CPU for a relatively long interval relative to the period of an acceptable code i.e., about two seconds.
The delay timer provides a very important function from the safety standpoint since it cooperates with the programming of the CPU to provide a diversity check on the operability of the system. It is noted that the EFl and EF4 inputs of the CPU 10, to which the delay timer is coupled, are flag in-puts and that the program continually checks these two flags to determine if it has approval to continue.
The delay timer 94 is preferably formed of two cascaded one-shot 20. multivibrators 102 and 104 (E.G. RCA 14538 units) the first of which (102) is set by input signals on line 95. The first one-shot generates a 2 second delay and the second one-shot generates a short "window". Timing loops in the CPU program, discussed subsequently, produce a similar sequence. The second processor loop must end in the "window" in order for the CPU program to con-tinue. A diversity check is therefore established between the delay timer 94 and the CPU software. The outputs on lines 98 and 100 alternate between 0-1 and l-û combinations. By checking the flag inputs EFl and EF4 during the pro-gram sequence, the flags should indicate alternating 0-1 and 1-0 inputs. If one of the one-shot multivibrators fails or produces an incorrect output, the 30- malfunction would be detected by noting incorrect flag inputs or flag inputs ., ~ 3~3~ 3 1. which do not follow the required sequencing. This feature provides anotherchecking technique for ensuring that the delay timer circuitry remains opera-I tive.
In the railroad industry, as well as in other technical fie1ds, it is common to use a number of different code rates for transmitting different types of information. Accordingly, the system of the present invention is pro-vided with a code rate selector 106 so that the system can be set to generate different code rates. The code rate selector 106, the details of which are shown in Figure 3, receives scanning inputs via lines 108 and 110 from de-10. coder 36. These inputs are applied through conventional inverters 112 and 114 to read the selected code rate and output signals carring the selected code rateinformation are coupled via data bus 18 to the CPU 10 for decoding, as will be explained in more detail subsequently.
Referring now to Figure 3, the rate selector is shown as includinga plurality of buffers 116 - 130. Each of these buffers includes an input 132 having two terminals. One of these terminals is normally left open circuited while the other is coupled by means of a resistor 134 to a line 136 which is also coupled to the oul;put of inverter 114. A second line 138 is coupled to the output of inverter 112 and includes a series of jumper terminals 140 which 20. are positioned to be short circuited directly to the input terminals 132 of one of the buffers 116 - 130. Rate selection is achieved by placing a jumper across one of the terminals 140 to connect it with one of the terminals 132.
It is further noted that the lines 136 and 138 are coupled to the input of an OR gate 142, the output of which is applied through an inverter 144 to a line 146 which is coupled to each of the buffers 116-130 to enable the buffers.
The outputs of all of the buffers are coupled by data bus 18 to appropriate decoding inputs of the CPU 10.
The operation of the rate selection circuit is as follows. First, an appropriate rate is selected by placing a jumper across an appropriate one 30- of the pairs of terminals 140 and 132. Once a rate is thus selected, it is :

~L3L3~3~ 3 1. very inportant that the CPU correctly read this rate, and that the selected rate should not change (or appear to change) clue to some malfunction in the rate selection circuit. Accordingly, it is necessary to cyclically test the rate selection circuit to make sure that the selected rate is unambiguously read by the CPU., To attain this goal, alternating one and zero checking signals are supplied from the decoder 36 over lines 10~ and 110 to inverters 112 and 114. With this alteration in input signals,-the output on bus 18 will alternatively be six zeros with a single one inclicating the position of the selected code and six ones with a zero indicating the position of the lO. selected code. This information is fed to the CPU where the positisn of the selected code is continuously monitored. A failure in any of the circuit componets will be detected if the proper alteration in the detected code indication fails to occur or if additional ones or zeros occur. In this case, the program is arranged to shut down the operation of the system.

PROGRAMMING
.
The task of generating time intervals for rate code transmission of the type contemplated by the present invention is a relatively simple one for a computer or microprocessor of the type previously referred to in the present specification. In the simplest case, fewer than a dozen instructions 20. would be required to generate timing intervals: (l) a number is loaded into a register, ~2) an instruction loop is provided which decrements that number and (3) the steps are repeated until the number is reduced to zero. The size of the number, the number of instructions in the loop and the cycle time of the microprocessor determines the time interval. However, it is easy to visualize how this simple program might generate incorrect time intervals.
For example, the wrong number might be loaded, the register might not decre-ment correctly and the computer cycle time may change because of a clock failure. These and any other types of failures that might occur in such a system would generate incorrect outputs and would render the program~ed de-30. vice unsuitable and unsafe for use in the railway industry. However, since ~3~ 3 l. a microprocessor can perform logic operations at very high speed and can be directed to perform different operations simply by including more program instructions, the system of the present invention can be upgraded using vari-ous types of self-checking techniques, including diversity and cycle checking as previously mentioned, to raise it to the vital or fail safe standards of the railway signal industry. This approach is taken in the programming of the present invention. The program includes safety features at a number of critical points to both check the operation of the programming logic itself, and to compare the operation of the programming logic with external hard wired lO. circuitry shown in FIGURE 1 to insure that all components of the system are functioning according to their intended modes.
The system of the invention utilizes two programs, a time interval or timing program and a control or general system program. Attention will first be directed to the timing program, the details of which may be better understood by reference to Table l wherein the essential logical steps of the program are set out schematically in flowchart format.
In the time interval generation according to the programming approach of the present invention, two registers are used and these are loaded with numbers which are different but which bear a definite relationship to each 20. other. The two registers are decremented by separate sets of instructions and at each step of the decrementing process the values of the registers are checkedagainst their previous values and against each other to determine that the pro-cess is operating correctly. The instructions that test the relationships of the register contents are also cycle-checked continuously. ~ultiple exits are - used in the timing program and these exit instructions are all tested at the beginning and end of each code half cycle.
In explanation o~ the timing program, it is pointed out that two-byte numbers T~, t+ and T, t reside in 16-byte registers that can be decrPmented.
The values of these numbers are selected to proYide the desired time at which 30. they are to be decremented to zero. Initially, T+, t+ is specified to be equal .

: :~
~1309i~3 ~ ;~

¦ TIME PROGRAM

I START

I DECREMENT t+ :
t+ = 0? YeS --~ X
~NO
t+ = [t]? NO --~ IDLE
YeS
DECREMENT t+

t+ = 0? YeS --~ X

t+ = ~t]-1? NO ~ IDLE

C ) SET ~t+~ = t+

!j DECREMENT t I t = 0? YeS > Y
NO
= ~tY]S N IDLE

I DECREMENT t I t = 0? YeS --~ Y
¦, No t = [t+]-1? No~ t IDLE
Yes ."

i~
!

TABLE 1 (CONTINUED) 1'13{~9Z3 TIME PROGRAM ~ . .
. ~ . .' SET ~t~ = t GO TO INTERRUPT AND
OUTPUT TESTS
l Y X
., (For T, processing T+ = 0? Yes ~ DONE
step same as for ~No T+ -~[Te]? No - ~ IDLE

T+ - ~T+~? No--~ IDLE

DECREMENT t+

i No : T+ ~ [T+]-l? No ~IDLE

. SET ~T+] = T+

T+ - ~T~? Yes~ IDLE

. T~ ~. [T]-l~ No- ~ IDLE
Yes ~ *DECREMENT t+

1~ I . GO TO C

I ~ DONE
! GO TO NEXT PHASE
* tf must be decremented before returning to t+ part of time program to com-pensate for the effect on t+ due to the branch to A.

~L~3~ 3 1. to (T, t)+l. Duplicates of these numbers are store~l in RAM 30 and are designated [T+], [t+] and [T], [t~. Since the microprocessor 10 does not provide arithmetic operations on registers, these duplicate values are required.The program decrements these numbers to generate the desired time intervals. The decrementing procedure is cheoked by testing the values în the registers against the values in memory at every step.
Set and reset instruotions spaced evenly through this program toggle a flip-flop to generate a fixed frequency signa) during the time interval. Thisfixed frequency signal is the signal to which the previously described circuits 10, 56 and 58 are tuned. As previously mentioned, the tuned circuits permit only signals of the proper frequency to energize the relay drivers 64 and 66 to operate the contact 68 and 70. Thus the tuned circuits 56 and 58, operating in - conjunction with the timing program instructions, assure that the crystal os-cillator 12 is operating at the correct frequency and therefore that the timed intervals generated by the timing program are correct. This is a form of diver-sity checking within the present invention.
; It is noted that the arrangement of the time program is such that if some inconsistency occurs or if any of the checks fails to show proper operation of the system, the timing program stops and the operation of the 20. system comes to a halt. It can be seen from the previous discussion and by reference to Table 1 showing the timing program that the extensive checking ~ithin the program combined with the diversity checking through the use of the tuned circuits in the output network render the timing program vital or failsafe as required by the railroad industry.
The timing program is, of cours, an essential aspect of the pro-gramming of the present invention. However, the timing program falls under the control of the overall system program which is illustrated in schematic or flowchart form in Table 2. The system program employs cycle checking and diversity throuyhout to ensure vital or fail-safe operation. Tests are made 30. at critical program steps and these tests are verified by cycle checking the ~L~L3~ Z 3 1. test instructions. If a test condition is not satisfied~ the processor goes into the idle state and must be given an external clear input to resume opera-tion.
The program responds to an external clear input by generating a delay of two seconds. This delay ensures that if a vital test is falled, repeated restarting of the program cannot produce an output at the rate of a valid code.
The delay is made vital by comparing it to the delay of timer 94 and the two one shots 102 and 104 contained t,lerein. These two one shots, the operation of which has already been partially described, are in effect precision timers 10. in cascade. The first one shot 102 generates a delay of slightly less than two seconds and the second one shot 104 generates a short window which defines the time when the program generated delay must be completed. The states of these one shots, which alternate between 0-1 and 1-0 combinations as previously rnen-tioned, are tested continuously during the running of the delay program and if they are not correct, the processor goes into the idle state.
~ henever the program is started or restarts, all registers used in the vital timing program are cleared and tested. The exit instructions in the vital timing program are also tested.
Code rate selection is also carefully checked by the program, since 20. a misreading of, or malfunction in the code selector 106 could have very serious consequences. As mentioned previously, any one of seven code rates may be made by positioning a jumper across one of the sets of terminals 132-140 in the code rate selector illustrated in Figure 3. Once a jumper is firmly in position, a particular code is selected and this code is read by the program. To guard against failures in the rate input circuit and resultant false outputs, the rate input jumper is tested twice by complementary scanning signals applied via lines 10~ and 110. These two tests produce complementary outputs from the code selector 106 and these are applied via bus 18 to CPU 10 as a single one and six zeros and a single zero and six ones. Separate program segments pro-30. cess these inputs to produce separate memory addresses. These memory addresses .

17~ 1131:1923 TABLE 2 :`

SYSTEM PROGRAM
:
, . EXTERNAL RESET
VITAL DELAY :;
. OK? No ~ IDLE
~ Yes INITIALIZE MEMORY
.~ POINTERS
A ~ RESET P~OGRAM COUNTERS -B ~ CLEAR Y~TAL REGISTERS
TEST VITAL REGISTERS
FOR ~
REGISTERS & PROGRAM OK? No ---~ IDLE
Yes CHECK ~XITS
: ' EXITS OK? No ~ IDLE
~ Yes READ & DECQDE
RATE S~LECTION
IS RATE SELECTION VALID? No ~ IDLE
Yes -SELECT PHASE A
OUTPUT DRIVER
SET T~LE INDEX
POINTER
IS POINTER CORRECT? No ~ IDLE
: ~ Yes ¦ SET INTERRUPT
PROGRAM COUNTER

Yes No , IDLE

, .

~l3~ 3 ., Il TABLE 2 (CONTINUED) '', 1 ' :
I LOAD TIME REGISTORS
; ~ RUN TIME P~ GRAM
.l . TIME PROGRAM OK? No ~ IDLE
. I ¦Yes i! TEST OUTPUTS
~l OUTPUTS OK? No ~ IDLE
;l ~ Yes ~No TIME PROGRAM COMPLETED?
Yes (= NO O, UTPUT DRIVER) .1 ~
SET TABLE INDEX
POII~TER
l, IS POINTER CORRECT? No ~ IDLE
: ~ Yes SET INTERRUPT
: . PROGRA ~ COUNTER
IS COUNTER CORRECT? No ~ IDLE
¦ Yes LOAD T~ME REGISTERS
I

, ~ RUN TIME PROGRAM
TIME PROGRAM OK? No~ IDLE
Yes :, TEST INTERRUPT
.j INTERRUPT OK? No ~ IDLE
I ~ Yes ~ ' .

; :

3.~.3~ 3 TEST O~TPUTS
. OUTPUTS OK No ~ ID~E
NO TIME PROGRAM
COMPLETED?
. ~ Yes -RETURN TO B
:~

(PROGRAM REPEATS ABOVE STEPS WITH OUTPUT SELECTION AND TESTS
FOR PHASES e AND p2. AT THE END OF THIS RUN, PROGRAM RETURNS
T A AND GENERATES PHASES A AND pl AGAIN.) I , ~ -18-~3~9;2~ ;
,t 1. are used to obtain the proper T+~ t~ and T, t values for the time program.
Any lack of correspondence will result in the time program not running and the processor immediately defaulting to the idle state. Also included in the rate input program are checks for no rate selectior jumper and more than one jumper.
As pointed out previously, the rate selector is scanned via lines 108 and 110 with complementary inputs. The resu1ting outputs are used to ob-tain values from a stored table to be used in the time interval program. The direct number accesses one par~ of the table and the complement number accesses another part. This feature is another use of diversity within the system of 10. the invention. The two numbers must be read correctly or the table values will not bear the definite relationship to each other which is necessary for the time program to run. The code rate selection thus checked is read into the processor after each code rate half cycle, and the program cannot continue un-less the code rate selection is continuously updated by this readin~. Several stored table values are of course required to generate each rate, on-time, off-time, most and least signif;cant byte, and other values. These values are obtained by indexing the table pointer and each change in index is tested by program steps.
Throughout each code cycle the outp~t of the processor must be 20. switched to operate right (phase A), left (phase B) or no contacts (phase 01 and 2) The outputs of the vital drivers 65,67 are checked after each pass through the ti~e program, approximately every 400 micro-seconds. Slnce each of the vital drivers 65,67 are switched on and off during each code cycle, the circuitry and program used in this test are cycle-checked. The "on" phases are tested continuously by causing the processor to be interrupted by the start of an "off" phase. If an interrupt occurs any time during an "on" phase, the processor goes into the idle state. At the start of each "off" state, the interrupt must respond to allow the program to continue. At the end of each "on" and "off" phase, the program branches back to clear and test the vital 30. registers ~Jithin the CPU 10, test the time program exits and read the code 19_ 3l~l3~ Z 3 1. selection inputs.
Outputs are monitored continuously while the time interval program is running. Any departure from the correct output, for example, left relay driven, right relay not driven, will cause the processor to halt. Once during each code cycle, the parts of the processor hardware and program required to detect intermittent ou~puts are cycle checked. If the processor is halted for any reason, the vitally checked startup delay timer 94 prevents generation of an output for at least two seconds.
To guard against the possibility of a routine being skipped, program 10. counters for critical routines are not initialized until the necessary prior routine has been completed. Attempted entry to a routine at the wrong time will cause the processor to halt.
The general programming of a microprocessor of the type utilized in accordance with the present invention, is of course routine and well within the capabilites of those skilled in the art. However~ the concepts of the various checking schemes and techniques disclosed above are considered to be unique to the present invention. The implementation of these schemes and the actual preparation of a working program are considered to be well within ordi-nary skill in the art.
20. Obviously, numerous additional modifications and variations of the present invention are possible in light of the above teachings. It is there-fore to be understood that within the scope of the appended claims, the in-vention may be practiced otherwise than as specifically described herein.

Claims (11)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A vital electronic code generator comprising:
a programmable central processing unit, said central processing including means for generating a signal at a selected code rate, said signal including pulses formed by a carrier signal of a given frequency, relay driving means for operating relay contacts, said relay driving means including circuit means tuned to said frequency of said carrier signal for discriminating against signals of other frequencies, output channel means for coupling said relay driving means to said central processing unit; and, feedback means coupled between said relay driving means and said central processing unit for comparing the activity of said relay driving means with the output of said central processing unit.
2. A vital electronic code generator as in claim 1 fur-ther comprising:
reset timer means coupled to said feedback means and to said central processing unit for resetting said central proces-sing unit a predetermined interval after activity on said feedback means ceases.
3. A vital electronic code generator as in claim 2, further comprising:
delay timer means coupled to said central processing unit and to said reset timer means for preventing rapid, cyclical reset-ting of said central processing unit.
4. A vital electronic code generator as in claim 3, wherein said delay timer further comprises:
a pair of individual timing means for generating comple-mentary outputs.
5. A vital electronic code generator as in claim 4, wherein:
said central processing unit includes means for receiving and checking said complementary outputs to verify reliable operation of said individual timing means.
6. A vital electronic code generator as in claim 1, further comprising:
code rate selector means coupled to said central processing unit for permitting selection of a particular output code rate.
7. A vital electronic code generator as in claim 6, further comprising:
scanning decoding means coupled between said central processing unit and said code rate selector means for continuously scanning said code rate selector means with complementary signals to read a code rate selection.
8. A vital electronic code generator as in claim 7, wherein:
said central processing unit includes means coupled to said code rate selector means for receiving and reading said complementary scanning signals therefrom to interpret and verify said output code rate selection.
9. A vital electronic code generator as in claim 1, wherein:
said output channel means includes at least two separate output channel circuits.
10. A vital electronic code generator as in claim 9, further comprising: switching circuit means coupled to said separate output channel circuits and to said central processing unit for selectively applying output signals from said central processing unit to one of said output channel circuits.
11. A vital electronic code generator as in claim 1, further comprising:
isolator means in said output channel means and in said feedback means for electrically separating said central processing and said relay driving means.
CA340,135A 1979-01-11 1979-11-19 Vital electronic code generator Expired CA1130923A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/002,765 US4234870A (en) 1979-01-11 1979-01-11 Vital electronic code generator
US2,765 1979-01-11

Publications (1)

Publication Number Publication Date
CA1130923A true CA1130923A (en) 1982-08-31

Family

ID=21702396

Family Applications (1)

Application Number Title Priority Date Filing Date
CA340,135A Expired CA1130923A (en) 1979-01-11 1979-11-19 Vital electronic code generator

Country Status (8)

Country Link
US (1) US4234870A (en)
BR (1) BR7907822A (en)
CA (1) CA1130923A (en)
ES (1) ES487579A0 (en)
GB (1) GB2039401B (en)
IT (1) IT1125648B (en)
NL (1) NL7908971A (en)
ZA (1) ZA795791B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182543A (en) * 1990-09-12 1993-01-26 Board Of Trustees Operating Michigan State University Miniaturized data communication and identification system
JP3430857B2 (en) * 1997-05-15 2003-07-28 株式会社日立製作所 Train presence detection system and train presence detection method
US6463337B1 (en) 1999-12-20 2002-10-08 Safetran Systems Corporation Railroad vital signal output module with cryptographic safe drive
CZ2007694A3 (en) * 2007-10-08 2009-04-15 Ažd Praha S. R. O. Method of checking first pilot relay and second pilot relay of cyclic code encoder for railway interlocking installation and cyclic code encoder for making the method
CN101293527B (en) * 2007-10-29 2010-09-08 北京佳讯飞鸿电气股份有限公司 Method and apparatus for preventing answering machine monitoring system from interfering the answering machine
KR20140105584A (en) * 2009-10-15 2014-09-01 가부시키가이샤 엘이테크 Microcomputer and method of operation thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3445591A (en) * 1966-01-04 1969-05-20 Dale R Koehler Generator of mathematically random entities
US3646518A (en) * 1970-05-05 1972-02-29 Bell Telephone Labor Inc Feedback error control system
FR2192424B1 (en) * 1972-07-10 1974-10-25 Cit Alcatel
US3885228A (en) * 1973-06-05 1975-05-20 Martin J Katz Fail-safe electronic encoder for selectively operating railway signal indicator
US4107253A (en) * 1976-12-01 1978-08-15 U.S. Philips Corporation Safety and test device in a railway signalling system

Also Published As

Publication number Publication date
BR7907822A (en) 1980-09-23
GB2039401B (en) 1982-08-18
GB2039401A (en) 1980-08-06
NL7908971A (en) 1980-07-15
ES8103404A1 (en) 1981-02-16
ES487579A0 (en) 1981-02-16
IT1125648B (en) 1986-05-14
IT7927181A0 (en) 1979-11-09
US4234870A (en) 1980-11-18
ZA795791B (en) 1980-10-29

Similar Documents

Publication Publication Date Title
US4538273A (en) Dual input watchdog timer
US4586180A (en) Microprocessor fault-monitoring circuit
US5359515A (en) Vehicle occupant safety system and method for operating the same
US4554461A (en) Information transmitting apparatus
US9632492B2 (en) Redundant watchdog method and system utilizing safety partner controller
US8909971B2 (en) Clock supervision unit
US4853932A (en) Method of monitoring an error correction of a plurality of computer apparatus units of a multi-computer system
US4270715A (en) Railway control signal interlocking systems
US4290136A (en) Circuit arrangement for monitoring the state of signal systems, particularly traffic light signal systems
CA1091353A (en) Vital digital communication system
CA1130923A (en) Vital electronic code generator
US4307463A (en) Vital rate decoder
US4342112A (en) Error checking circuit
US4635257A (en) Fail safe circuit for multi-signal transmission system
JP3043396B2 (en) Monitor for navigation system and monitoring method
US20060060427A1 (en) Elevator controller
EP0073602A2 (en) Combining replicated sub-system outputs
IE50004B1 (en) Apparatus for monitoring the operation of electronic equipment
US4029274A (en) Train control signalling system
US3536259A (en) Fail safe computer
US4775930A (en) Electronic key check for ensuring proper cradles insertion by respective processing board
JPS59194204A (en) Method of guaranteeing safe operation of programmable automatic controller and automatic controller for executing it
CN109478160B (en) Circuit for detecting systematic and random faults
JPH0799503A (en) Data transmitter and its terminal unit
US4053879A (en) Fail safe digital code rate generator

Legal Events

Date Code Title Description
MKEX Expiry