GB2039401A - Electronic rate-code generator - Google Patents

Electronic rate-code generator Download PDF

Info

Publication number
GB2039401A
GB2039401A GB7943158A GB7943158A GB2039401A GB 2039401 A GB2039401 A GB 2039401A GB 7943158 A GB7943158 A GB 7943158A GB 7943158 A GB7943158 A GB 7943158A GB 2039401 A GB2039401 A GB 2039401A
Authority
GB
United Kingdom
Prior art keywords
processing unit
central processing
code rate
output
coupled
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.)
Granted
Application number
GB7943158A
Other versions
GB2039401B (en
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
Publication of GB2039401A publication Critical patent/GB2039401A/en
Application granted granted Critical
Publication of GB2039401B publication Critical patent/GB2039401B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Safety Devices In Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Electronic Switches (AREA)

Description

1
GB 2 039 401 A
1
SPECIFICATION
Vital electronic code generator
5 The present invention relates to an electronic code rate generator, and more particularly to an electronic i code rate generator designed for applications in which fail-safe qualities are desirable or required.
In a number of industrial applications, such as railroad technology, code generators are commonly used to transmit information. In the railway 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 whether ■JO automatically or manually in response to coded information transmitted from wayside stations. This coded information normally takes the form of variable 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 15 must result in a condition which is no more dangerous than 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 20 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 more and more expensive relative to electronic components.
There is accordingly a significant interest in using electronic components for code generating functions. 25 However, many of those skilled in the railway signalling arts are reluctant to switch to electronic components 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, Robert Anderson and assigned to the same assignee as the present application.
30 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.
According to one aspect of the present invention, a vital electronic code generator comprises a programmable central processing unit including means for generating a signal at a selected code rate, the signal including pulses formed by a carrier signal of a given frequency, relay driving means for operating 35 relay contacts, the relay driving means including circuit means tuned to the frequency of the carrier signal for discriminating against signals of other frequencies, output channel means for coupling the relay driving means to the central processing unit, and feedback means coupled betwen the relay driving means and the central processing unit for comparing the activity of the relay driving means with the output of the central processing unit.
40 According to another aspect of the invention, a self-checking fail-safe electronic code generating network comprises signal generating means for producing a carrier frequency signal and a selected output code rate, tuned circuit means coupled to the signal generating means and tuned to a particular frequency for transmitting only signals having the carrier frequency, and feedback circuit means coupled between the tuned circuit means and the signal generating means for stopping the signal generating means if the 45 frequency of the carrier signal drifts from the frequency to which the tuned circuit means is tuned.
One embodiment of the invention will now be described, byway of example, with reference to the accompanying drawings of which:
Figures 1A and 1B together form a block diagram of a vital electronic code generator;
Figure 2 is a graphical illustration showing the pulse and carrier configuration employed in the generator 50 of Figure 1; and
Figure 3 is a detailed illustration of a code rate selector employed in the generator of Figure 1.
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, and more particularly to Figure 1 thereof, a block diagram of the vital electronic code generator is the Central Processing Unit (CPU) 10 which may be any suitable commercially • 55 available microprocessor, such as an RCS Cosmac 1802. As is well known to those skilled in the art, a microprocessor is a sophisticated electronic component which is capable of performing logic operations far more complex than simple code generation. However, in many industries, such as the railroad industry, it is of utmost importance that information transmitted by code be absolutely free of errors. This need for erroqifree code generation will be apparent when one considers the potential danger that could occur if a go movable 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 codes 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 computer instruction to determine that it is completely 65 functional, and diversity checking. Diversity checking involves the use of two or more independent channels
5
10
15
20
25
30
35
40
45
50
55
60
65
2
GB 2 039 401 A
2
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, providing a network of uniquely 5 integrated self-checking hardware and software components.
Turning again to Figure 1, it is noted that a conventional crystal oscillator 12 is coupled to the clock input of the CPU via a line 14 in order to provide a reliable clock frequency 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 (ROMs) 22 - 28 and a random access memory (RAM) 30. 10 These memories are conventional devices well known to those skilled in the art and the particular interconection of memory components and the utilization of particular components is well within the ordinary capabilities of those skilled in the art of digital signal 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 described in detail subsequently 15 are stored in the ROM network for controlling the sequencing, testing and output of the CPU, as is well known to those skilled in the art.
The outputs of the CPU 10 are delivered through three output control lines 34 connected to the N0, Ni and N2 terminals of the CPU. These outputs are delivered to a conventional decoder 36 which in turn has a main output line 38 for supplying the decoded output of the CPU to a left-right switching circuit 40. The left-right 20 switching circuit 40 is a conventional electronic circuit in the 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 left-right switching circuit 40. In operation, information on the output control lines 30 from the CPU 10 is encoded to contain both the information intended to be transmitted and information as to whether the coded signal is to be transmitted 25 over the left or right output channels. This information is converted into an information signal and a switching control signal in the decoder 36 so that the left-right switching circuit is properly controlled whereby 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 incorporting optical isolators 48,50, amplifiers 52,54; tuned circuits 56,58; rectifiers 62,62 and relay drivers 30 64,66. The relay drivers 64 and 66 drive appropriate sets of contacts 68 and 70, respectively, which are in turn coupled to an appropriate utilization device, such as a plug board or transmission line. The tuned circuits 56, 58, rectificers 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,66 are selected to be conventional vital circuits, meaning that their reliability has already been proven by extensive testing and operational use. 35 The optical isolators 48 and 50 are used to separate the small signal digital logic circuits from the higher power relay drivers and related circuitry. Optical isolators are well known to those skilled in the art, and normally comprise a photodiode-phototransistor combination packaged in a commercially available unit. Isolators of this type are particularly useful in the railroad environment since the relay driving circuitry is often located in a somewhat hostile electrical environment which must tolerate radically different weather 40 conditions, lightning strokes, and other substantial voltage transients. 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 from 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 45 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 illusrated in more detail. By way of background, it is common in the railroad industry to transmit information 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 50 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 tuned to transmit only signals at the carrier frequency 74 and 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 signal, thereby preventing transmission of a signal which could possibly be misinterpreted by utilization 55 equipment. It has been found suitable to design the tuned circuits to detect a code rate change in the carrier frequency of less than 8% at maximum power supply voltage.
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 48 and 50, previously described, and are preferably substantially 60 identical to those isolators. The feedback network thus provided monitors the operation of the relay drivers and feeds this information back to the CPU 10 so that it can be compared with the output signal. The feedback network thus provides a positive indication as to whether the relay drivers are following the generated output code and thus checks the entire transmission circuit between the decoder 36 and the relay drivers to determine if a malfunction has occurred. This comparison checking is carried out by means of 65 program instructions described in more detail subsequently.
5
10
15
20
25
30
35
40
45
50
55
60
65
3
GB 2 039 401 A 3
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'^ and~EF^. 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 5 of the reset timer. If such input signals should stop for more than a predetermined interval of time, however, the reset timer generates an output over line 92 which resets the CPU 10. The purpose of the reset timer is to reset the CPU 10 if no 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 conventional Model 555 10 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 EFt and EF4. The purpose of the delay timer is to prevent the occurrence of an output that appears to be an acceptable code, but which is in fact caused by cyclical resetting of the CPU at a relatively high frequency. For example, the CPU may develop either a 15 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 resetting 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 acceptable output code rate. To prevent this, the delay time 94 is actuated each time the reset timer 84 acts to reset the CPU 10. The delay 20 timer delays the restarting of the CPU long enough to prevent the cyclical resetting of the CPU from appearing as an acceptable output code. In practice this amounts to delaying the restarting of the CPU for a relatively long interval 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 EFi 25 and EF4 inputs of the CPU 10, to which the delay timer is coupled, are flag inputs 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 multivibrators 102 and 104 (E.G. RCA 14538 units) the first of which (102) is set by input signals on line 96. 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 30 subsequently, produce a similar sequence. The second processor loop must end in the "window" in order for the CPU program to continue. A diversity check is therefore established between the delay timer 94 and the CPU software. The outputs on lines 98 and 100 alternate betwen 0-1 and 1-0 combinations. By checking the flag inputs EF-i and EF4 during the program 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 mulfunction would be 35 detected by noting incorrect flag inputs or flag inputs which do not follow the required sequencing. This feature provides another checking technique for ensuring that the delay timer circuitry remains operative.
In the railroad industry, a well as in other technical fields, 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 provided with a code rate selector 106 so that the system can be set to generate different code rates. The 40 code rate selector 106, the details of which are shown in Figure 3, receives scanning inputs via lines 108 and 110 from decoder 36. These inputs are applied through conventional inverters 112 and 114 to read the selected code rate, and the output signals carrying the selected code rate information 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 including a plurality of buffers 116-130. Each of 45 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 output of inverter 114. A second line 138 is coupled to the output of inverter 112 and includes a series of jumper terminals 140 which 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 50 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 • 55 jumper across an appropriate one of the pairs of terminals 140 and 132. Once a rate is thus selected, it is very important that the CPU correctly read this rate, and that the selected rate should not change (or appear to change) due 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 108 and 110 to 60 inverters 112 and 114. With this alternation in input signals, the output on bus 18 will alternatively be six zeros with a single one indicating the position of the selected code. This information is fed to the CPU where the position of the selected code is continuously monitored. A failure in any of the circuit components will be detected if the proper alternation 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.
65 The task of generating time intervals for rate code transmission of the type contemplated by the present
5
10
15
20
25
30
35
40
45
50
55
60
65
4
GB 2 039 401 A
4
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 would be required to generate timing intervals: (1) 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 g number of iinstructions in the loop and the cycle time of the micro-processor determines the time interval. g 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 decrement 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 programmed device unsuitable and 10 unsafe for use in the railway industry. However, since 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 various 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. 15 The program includes safety features at a number of critical points to both check the operation of the ig programming logic itself, and to compare the operation of the programming logic with external hardwired 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 ortiming program and a control or 20 general system program. Attention will first be directed to the timing program, the details of which may be 20 better understood by reference to Table 1 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 25 relationship to each other. The two registers are decremented by separate sets of instructions and at each 25 step of the decrementing process the values of the registers are check against their previous values and against each other to determine that the process is operating correctly. The instructions that test the relationships of the register contents are also cycle-checked continuously. Multiple exits are used in the timing program and these exit instructions are all tested at the beginning and end of each code half cycle. 30 In explanation of the timing program, it is pointed out that two-byte numbers T+,t+ and T,t reside in 30
16-byte registers that can be decremented. The values of these numbers are selected to provide the desired time at which they are to be decremented to zero. Initially, T+,t+ is specified to be equal.
5
5
10
15
20
25
30
35
40
45
50
55
60
65
5
5
10
15
20
25
30
35
40
45
50
55
60
65
TABLE 1
Time program
START
4
DECREMENT t+
I
t+ = 0?
| No t+ = [t]?
4 Yes
DECREMENT t+
1
t+ = 0?
4 No t+ = [t]-1?
4 Yes
C-> SET [t+] = t+
I
DECREMENT t
4
t = 0?
j No t = [t+]?
| Yes
DECREMENT t
4
t = 0?
4 No t=[t+]-1?
4 Yes SET [t] = t
4
GO TO INTERRUPT AND OUTPUTTESTS
Y X
4 4
(For T, processing T+ = 0?
steps same as for 4 No T+) T+ = [T]?
4 Yes T+ = [T+]?
4 Yes
DECREMENT t+
4
T+ = [T+]?
4 No
T+ = [T+l-1?
4 YES
SET [T+] = T+
4
T+ = [T]0 4 No
T+ = [T]-1?
4 Yes
*DECREMENT t+
Y GO TO C DONE
GO TO NEXT PHASE
GB 2 039,401 A
Yes—>X No-^ IDLE
Yes—»X No-» IDLE
Yes-> Y No IDLE
Yes—»Y No-> IDLE
Yes-* DONE No-> IDLE No—»IDLE
Yes-»IDLE NO—>'IDLE
YES-> IDLE NO—> IDLE
* t+ must be decremented before returning to t+ part of time program to compensate for the effect on t+ due to the branch to A.
6
GB 2 039 401 A
6
to (T,t)+1. Duplicates of these numbers are stored in RAM 30 and are designated [T+], [t+], and [T], [tj. 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 5 procedure is checked by testing the values in the registers against the values in memory at every step.
Set and reset instructions spaced evenly through this program toggle a flip-flop to generate a fixed frequency signal during the time interval. This fixed frequency signal is the signal to which the previously described circuits 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
10 circuits 56 and 58, operating in conjunction with the timing program instructions, assure that the crystal oscillator 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 diversity 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
15 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 within 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 course, an essential aspect of the programming of the present invention.
20 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 throughout to ensure vital or fail-safe operation. Tests are made at critical program steps and these tests are verified by cycle checking the 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 operation.
25 The program responds to an external clear input by generating a delay of two seconds. This delay ensures that if a vital test is failed, 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 therein. These two one shots, the operation of which has already been partially described, are in effect precision timers in cascade. The first one shot 102 generates a delay of slightly less than two seconds
30 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 mentioned, are tested continuously during the running of the delay program and if they are not correct, the processor goes into the idle state.
Wheneverthe program is started or restarts, all registers used in the vital timing program are cleared and
35 tested. The exit instructions in the vital timing program are also tested.
Code rate selection is also carefully checked by the program, since 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
40 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 108 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 process these inputs to produce separate memory addresses. These memory addresses
45
TABLE 2
System program
50 EXTERNAL RESET
1
VITAL DELAY
1
OK? No—»IDLE
55 4 Yes
INITIALIZE MEMORY
POINTERS
i
A-> RESET PROGRAM COUNTERS
60 1
B-> CLEAR VITAL REGISTERS
1
TEST VITAL REGISTERS
FOR 0
65 i
5
10
15
20
25
30
35
40
45
50
55
60
65
7
GB 2 039 401 A
7
TABLE 2 Cont.
REGISTERS & PROGRAM OK? I Yes
CHECK EXITS
4
EXITS OK?
I Yes
READ & DECODE RATE SELECTION
1
IS RATE SELECTION VALID?
No—> IDLE
No-> IDLE
No-> IDLE
I Yes
SELECT PHASE A OUTPUT DRIVER
I
SETTABLE INDEX POINTER
I
IS POINTER CORRECT ? No^ IDLE
I Yes
SET INTERRUPT PROGRAM COUNTER
I
IS COUNTER CORRECT? No->IDLE
I Yes i
LOAD TIME REGISTORS
I
> RUN TIME PROGRAM
I
TIME PROGRAM OK? No-^ IDLE
I Yes
TEST OUTPUTS
I
OUTPUTS OK? No^> IDLE
I Yes
SELECT PHASE 01 (=NO OUTPUT DRIVER)
I
SETTABLE INDEX POINTER
I
IS POINTER CORRECT? No^> IDLE
I Yes
SET INTERRUPT PROGRAM COUNTER
I
IS COUNTER CORRECT? No^ IDLE
I Yes
LOAD TIME REGISTERS
1
r-» RUN TIME PROGRAM
I
TIME PROGRAM OK? No-* IDLE
I Yes
TEST INTERRUPT
4
INTERRUPT OK? No-> IDLE
I Yes
TEST OUTPUTS
I
I Yes
TIME PROGRAM COMPLETED?
8
GB 2 039 401 A
8
TABLE 2 Cont.
OUTPUTS OK No—»IDLE
I 5
NO TIME PROGRAM COMPLETED?
1 Yes
RETURN TO B
10 10
(Program repeats above steps with output selection and tests for phases B and 02. At the end of this run,
program returns to A and generates phases A and 01 again.)
are used to obtain the proper T+,t+ and T,t values for the time program. Any lack of correspondence will 15 result in the time program not running and the processor immediately defaulting to the idle state. Also 15
included in the rate input program are checks for no rate selection jumper and more than one jumper.
As pointed out previously, the rate selector is scanned via lines 108 and 110 with complementary inputs. The resulting outputs are used to obtain values from a stored table to be used in the time interval program. The direct number accesses one part of the table and the complement number accesses another part. This 20 feature is another use of diversity within the system of the invention. The two numbers must be read 20
correctly or the table values will not bear the definite relaionshipto 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 unless the code rate selection is continuously updated by this reading. Several stored table values are of course required to generate each rate, on-time, off-time, most and 25 least significant byte, and other values. These values are obtained by indexing the table pointer and each 25 change in index is tested by program steps.
Throughout each code cycle the output of the processor must be switched to operate right (phase A), left (phase B) or no contacts (phase 0t and 02). The outputs of the vital drivers 65,67 are checked after each pass through the time program, approximately every 400 micro-seconds. Since each of the vital drivers 65,67 are 30 switched on and off during each code cycle, the circuitry and progam used in this test are cycle-checked. The 30 "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 programe branches back to clear and test the vital registers within the CPU 10, test 35 the time program exists and read the code selection inputs. 35
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 outputs are cycle checked. If the processor is halted for any reason, the vitally checked startup delay timer 94 40 prevents generation of an output for at least two seconds. 40
To guard against the possibility of a routine being skipped, program 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 45 invention, is of course routine and well within the capabilities of those skilled in the art. However, the 45
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 ordinary skill in the art.
Obviously, numerous additional modifications and variations of the present invention are possible in light 50 of the above teachings. It is therefore to be understood that within the scope of the appended claims, the 50
invention may be practised otherwise than as specifically described herein.

Claims (1)

  1. 55 1. A vital electronic code generator comprising: 55
    a programmable central processing unit, said central processing unit 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,
    60 output channel means for coupling said relay driving means to said central processing unit; 60
    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 claimed in Claim 1, further comprising reset timer means coupled to said feedback means and to said central processing unit for resetting said central processing unit a 65 predetermined interval after activity on said feedback means ceases. 65
    9
    GB 2 039 401 A
    9
    3. A vital electronic code generator as claimed in Claim 2, a further comprising delay timer means coupled to said central processing unit and to said reset timer means for preventing rapid, cyclical resetting of said central processing unit.
    4. A vital electronic code generator as claimed in Claim 3, wherein said delay time further comprises a
    5 pair of individual timing means for generating complementary outputs.
    5. A vital electronic code generator as claimed 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 claimed in any preceding claim, further comprising code rate
    10 selector means coupled to said central processing unit for permitting selection of a particular output code rate.
    7. A vital electronic code generator as claimed in Claim 6, further comprising scanning means coupled to said central processing unit and to said code rate selector for continuously scanning said code rate selector with complementary signals to read a code rate selection.
    15 8. A vital electronic code generator as claimed 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 claimed in any preceding claim, wherein said output channel means i includes at least two separate output channel circuits.
    20 10. A vital electronic code generator as claimed 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 claimed in Claim 1, further comprising isolator means in said output channel means and in said feedback means for electrically separating said central processing unit and
    25 said relay driving means.
    12. A self-checking fail-safe electronic code generating network comprising signal generating means for producing a carrier frequency signal and a selected output code rate, tuned circuit means coupled to said signal generating menas and tuned to a particular frequency for transmitting only signals having said carrier frequency, and feedback circuit means coupled between said tuned circuit means and said signal generating
    30 means for stopping said signal geneating means if the frequency of said carrier signal drifts from the frequency to which said tuned circuit means is tuned.
    13. A code generating network as claimed in Claim 12, further comprising code rate selecting means coupled to said signal generating means for instructing said signal generating means to produce a particular output code rate, scanning means coupled to said code rate selecting means for continuously scanning said
    35 code rate selecting means with complementary scanning signals, and reading means coupled to said code rate selecting means for reading and checking said complementary scanning signals to continuously verify the selected code rate, said reading means including means coupled to said signal generating means for stopping operation of said signal generating means if an ambiguity in said selected code rate is detected.
    14. A code generating network as claimed in Claim 12 or Claim 13, further comprising output means
    40 coupled to said tuned circuit means for responding to said output code rate and monitoring means coupled to said output means for determining if said output means is properly following said output code rate.
    15. A code generating network as claimed in any of Claims 12,13 and 14, further comprising clearing means for resetting said network, delay generating means coupled to said signal generating means and to said clearing means for stopping said signal generating means for a fixed interval in response to actuation of
    45 said clearing means, delay checking means coupled to said signal generating means for generating a delay interval independent of said delay generating means, and means coupled to said signal generating means for preventing restarting thereof unless said intervals generated by said delay generating means and said delay checking means are equal.
    16. A vital electronic code generator substantially as hereinbefore described with reference to the
    50 accompanying drawings.
    Printed for Her Majesty's Stationery Office, by Croydon Printing Company Limited, Croydon Surrey, 1980. Published by the Patent Office, 25 Southampton Buildings, London, WC2A 1AY, from which copies may be obtained.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
GB7943158A 1979-01-11 1979-12-14 Electronic rate-code generator Expired GB2039401B (en)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
GB2039401A true GB2039401A (en) 1980-08-06
GB2039401B GB2039401B (en) 1982-08-18

Family

ID=21702396

Family Applications (1)

Application Number Title Priority Date Filing Date
GB7943158A Expired GB2039401B (en) 1979-01-11 1979-12-14 Electronic rate-code generator

Country Status (8)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009046686A1 (en) * 2007-10-08 2009-04-16 Azd Praha S.R.O. Method for checking the first check relay and second check relay of the cyclical code coding unit for railway interlocking system equipment and the cyclical code coding unit for implementing the method

Families Citing this family (5)

* 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
CN101293527B (en) * 2007-10-29 2010-09-08 北京佳讯飞鸿电气股份有限公司 Method and apparatus for preventing answering machine monitoring system from interfering the answering machine
JP5244981B2 (en) * 2009-10-15 2013-07-24 株式会社エルイーテック Microcomputer and operation method 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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009046686A1 (en) * 2007-10-08 2009-04-16 Azd Praha S.R.O. Method for checking the first check relay and second check relay of the cyclical code coding unit for railway interlocking system equipment and the cyclical code coding unit for implementing the method

Also Published As

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

Similar Documents

Publication Publication Date Title
US4538273A (en) Dual input watchdog timer
US4586180A (en) Microprocessor fault-monitoring circuit
US4198678A (en) Vehicle control unit
US4554461A (en) Information transmitting apparatus
US4290136A (en) Circuit arrangement for monitoring the state of signal systems, particularly traffic light signal systems
CA1091353A (en) Vital digital communication system
US4307463A (en) Vital rate decoder
EP0006309A1 (en) Railway control signal dynamic input interlocking systems
US4342112A (en) Error checking circuit
GB2039401A (en) Electronic rate-code generator
US7237653B2 (en) Elevator controller
US3536259A (en) Fail safe computer
US4029274A (en) Train control signalling system
US4053879A (en) Fail safe digital code rate generator
US5671348A (en) Non-vital turn off of vital output circuit
SU1265993A1 (en) Pulse distributor with check
SU960826A1 (en) Digital unit checking device
Cribbens et al. The microprocessor as a railway control system component
JPS5836362B2 (en) Error determination device
SU1529226A1 (en) Device for checking programs
SU1336037A1 (en) Electric wiring checking device
JPS6237582B2 (en)
SU1179409A1 (en) Device for sporadic transmission of supervisory indication signals
SU796916A1 (en) Memory unit monitoring device
SU1262504A1 (en) Device for checking digital units

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee