VITAL POINT-TO-POINT COMMUNICATIONS WITH MULTIDROP NETWORK CONFIGURATION

Abstract: A vital serial link for linking a plurality of data processors (unit 10) which act on information communicated in the form of link information signals, into a vital serial communications network, including at least two vital serial controllers (unit 21), one for each direction of transmission, in the vital serial link, each controller including a buffer memory for storing a plurality of link parameters (units 16T and 16R), each of the link parameters including a numerical relationship indicating that a specified first processor originated a signal and that a designated second processor is to receive the signal, a unique numerical relationship being provided for each possible combination of signal originating processor and signal receiving processor; whereby, upon receipt of a signal, the signal receiving processor can discriminate signals sent to the receiving processor, and determine which processor in the network was the signal originating processor. The link further includes communicating unit for communicating signals, including the link parameters, between the data processors of the network.

Description: VITAL POINT-TO-POINT COMMUNICATIONS WITH MULTIDROP NETWORK CONFIGURATIONS FIELD OF THE INVENTION The present invention is directed to a communications network for linking components of a railway signaling system, and particularly to a point to point vital seπal link for exchanging vital state parameters between vital processors in a railroad control system and control devices such as signal lamps, control relays and switches, without the need for vital network hardware, or dependency on communication protocols or error free software BACKGROUND OF THE INVENTION NISAL (Numerically Integrated Safety Assurance Logιc)-based systems for use in railroad signal controlling devices have been known, and are descπbed, for example, in U S Patent No 4,956,779 assigned to the assignee ofthe present application, being incorporated herein by reference NISAL is a numeπcally based safety pπnciple which relies on mathematical algoπthms to veπfy the accuracy of a signal, thereby rendeπng the signal "vital" A method and apparatus for effecting vital functions without the use of vital hardware, is descπbed in U S Patent No 4,831,521, assigned to the assignees ofthe present apphcation, being incorporated herein by reference The latter reference descπbes processors and systems which are known as vital processing interlocking systems, which are rendered vital by means of numeπcally based safety pπnciples However, when it becomes necessary to link together such systems a vital link between sucn processors has to be established and maintained to avoid the misdirecting of signals, and the transmittal of signals which include corrupted data Therefore there has been a need for transmitting signals between vital processors using a vital communications link that does not rely on vital hardware, communication protocols or error free software Accordingly, it is a fundamental object ofthe present invention to provide a point- to-point seπal communications network for exchanging vital state parameters between interlocking vital processor control systems using numeπcally based safety pπnciples in place of conventional vital link hardware, such as that disclosed in U S Patent No 4 956,779 Another pπncipal object is to enforce link vitality between processors by having the link processors exhibit a specific numencal relationship with one another Another object is to include a dynamic offset embedded within the link messages A fuπher object is to provide a software arrangement which generates the link application data needed by the hardware to execute link assignments SUMMARY OF THE INVENTION The above and other fundamental objects ofthe invention are achieved by applying numeπcally based safety pπnciples to a seπal link for linking a plurality of data processors which act on information communicated in the form of link information signals, into a vital seπal communications network More specifically, the invention resides in the provision of a vital senal link for linking a plurality of data processors, which act on information communicated in the form of link information signals, into a vital seπal communications network, including at least two vital seπal controllers one for each direction of transmission in the vital seπal link each ofthe controllers including means for stoπng a plurality of link parameters, each of the link parameters including a numencal relationship indicating that a specified first processor originated a signal and that a designated second processor is to receive the signal, a unique numencal relationship being provided for each possible combination of signal oπginatmg processor and signal receiving processor, whereby, upon receipt of a signal, the signal receiving processor can discπminate signals sent to the receiving processor, and determine which processor in said network was the signal oπginating processor, the hnk further including communicating means for communicating signals including the link parameters, between the data processors in the network A more specific feature ofthe invention can further be provided with means for enabling each ofthe vital seπal controllers to generate check information indicating that a data memory of a processor has been cleared of pπor link information, and that system memory and application memory integnty has been maintained, each time a subsequent link information signal is received Other and fuπher objects, advantages and features ofthe present invention will be understood by reference to the following specification considered in conjunction with the annexed figures DESCRIPTION OF THE FIGURES Fig 1 is a block diagram of a vital serial link implemented by means of a vital seπal controller, Fig 2 is a block diagram illustrating a serial link application involving a group of vital processing interlocking systems, as well as audio frequency track circuits, which function as multi-drop modules, all linked together by means of vital seπal controller circuit boards; and Fig 3 is an exemplary flow chaπ for transmit processes performed on the processor Fig 4 is a functional diagram depicting a source CPU transmit key formation Fig 5 is a functional diagram illustrating a link transmit key formation Fig 6 is a functional diagram illustrating a point-to-point VSC link receive key formation Fig 7 is a functional diagram illustrating the calculation of check off (CHKOFF) Fig 8 is a functional diagram illustrating the calculation ofthe destination CPU receive key from (VSIT) contents on the CPU Figs 9 thru 12 provide flow charts depicting the complete vital serial link operations; also provided are listings ofthe data types and type of operations that are involved DETAILED DESCRD7TION A serial communications network has been achieved in accordance with the present invention whereby vital state parameters can be exchanged between vital processing or related interlocking control systems Referπng to Fig 2, there is shown a software implemented vital -seπal link used to establish vital communications between vital processors This vital seπal link can be realized as a communications controller in the form of a vital seπal controller (VSC) 10, and more specifically, as a vital seπal controller circuit board assembly with resident safety software In the scheme ofthe present invention, a vital seπal controller 10 (Fig ! ) is programmed with geneπc system safety software, contained in system EPROM 24, and link specific application data in application EPROM 26 The vital seπal controller 10, seen m Fig 1, is connected via a mam system bus 1 1 from a processor, such as a VPl (See Fig 2, e g system #5) thence to a dual port memory 12 Separate transmission paths extend from memory 12 to pre-transmit RAM 14T and from receive processing RAM 14R, there being at least one transmit channel and one receive channel for each processor Pre-transmit RAM 14T is connected to transmit RAM 16T, which transmits signals to amplifier 18T and thence out over differential lme dπve (transmit) 20T, after passing the signal through a seπal control and Manchester encoding/decoding device 21 Similarly, receiveα messages are passed from a differential line receive device 20R to amplifier 18R which is connected to the encoding/ decoding device 21 After decoding, signals pass through receive RAM 16R to receive processing RAM 14R. It will be understood that while only one VSC 10 is shown in Fig 1, a complementary VSC 10 is provided in a back-to-back relationship with the one VSC 10 so that transmitted signals flow in two directions (see Fig 2 in which complementary VSCs link systems such as #4 and #5, as well as the others shown) In operation, an applications engineer provides input to the personal computer resident Computer Aided Application (CAA) software 26A which generates the link specific application data needed by the hardware to execute link assignments The resulting data files are placed in the EPROM 26 ofthe controller, and are further included within the processors, (VPl) CPU application data EPROM 27 Each ofthe vital seπal controllers 10 connected the network thus stores a plurality of link parameters, each of which includes a numencal relationship indicating that a specified first processor onginated a signal and that a second processor is to receive the signal, a unique numencal relationship being provided for each possible combination of signal originating processor and signal receiving processor It is through this numencal relationship that link vitality is enforced Upon receipt of a signal the signal receiving processor can therefore discnminate signals transmitted to the receiving processor, and determine which processor in the network oπginated the signal These link parameters are preferably in the form of 32 bit codewords A complete linked network, including both links to audio frequency (AF) modules or multidrops 31, as well as VPl to VPl links is shown in Fig 2 Each vital seπal controller installed in a VPl acts as a master processor Upon receipt of a signal including such a link parameter, a drop processor controller vitally decodes the link message and vitally selects data specifically designated for receipt by the receiving drop processor These drop processors correspond to devices such as signal lights and switches For each VPl there can be eight total links in any system (four in the transmit direction and four in the receive direction (as shown, for example, for main system #1), each with 200 link parameters per link The link parameters are grouped into blocks of 200 and assigned a block number by the applications engineer No two links in any system can utilize the same block of parameters This relieves the system software from the burden of internally proving parameters are from specific links The invention is directed to the basic operation of a vital processor interlocking (VPl) vital serial link, which controls the transfer of vitally encoded data between VPl systems or subsystems over a standard communications medium Techniques developed under the guidelines of Safety Assured Logic are employed to carry out the vital processes involved in the serial link operation All vitally oriented data, including parameter values, link checkwords, and the like, are assigned values from the available codeword list set aside by the Computer Aided Application (CAA) software for use by the VPl Vital processes are implemented using diverse software and data where necessary The description set forth below is limited to a descπption the operation of one of two software channels (Fig 3) This description covers the link processes performed for one iink for a typical one second cycle Once each second, two 32 bit representations ofthe state of each link parameter are created by the processor's system software using diverse software in two data channels CHI and CH2 (Fig 3) Link parameters can be created for mostly any interlocking function existing within the local processor (track circuits, switch machine control/correspondence, signal calls, etc ) These link parameters are grouped into message packets as determined by the LINK DEFINITION FLLE and passed to the assigned vital signal controller (VSC) circuit board This message packet is then compressed using vital techniques into a form which better facilitates serial data transfers (200 32-bit vital link parameters maximum in one channel, one link direction are compressed into 38 bytes of transmitted message for point to point applications, and 450 32-bit vital link parameters in one channel, one link direction are compressed into 68 bytes of transmitted message for multi-drop 31 applications) At the receiving end, the serial message is reconstructed into a message packet similar to that at the transmit end This reconstruction is performed by vital software and application data (assigned to that link) resident on the VSC or the AF track module The message packet at this point does not possess any permissive TRUE parameter values Only after it is passed to the CPU is the final processing performed in point to point applications In multi-drop applications, the portion ofthe vital message that is intended for a given AF Track module is extracted from the complete reconstructed message and then further decoded If all link operations have been performed correctly, those parameters evaluated into TRUE permissive states by the transmit end processor will attain a TRUE permissive state within the receive end processor or AF Track module Below is a more detailed descnption ofthe processes involved in passing data via one of four possible serial links within a VPl system from its oπginating end to its final destination An exemplary flow chart for transmit processes performed in the CPU is shown in Figure 3 Near the end of each one second cycle, vital seπal output buffers (designated VSO) located in the RAM ofthe CPU are filled with vital parameters to be transmitted to downlink systems As previously noted these parameters are created by converting 32 bit evaluated results in the current system cycle (I e expression results, vital input reads, etc ) into link parameter values The conversion process is accomplished by combining in the polynomial divider, a preconditioning constant unique for the hnk function (and stored in the application EPROM), with the current cycle evaluated result ofthe interlocking function if the system evaluated result is TRUE If FALSE, the correct link FALSE link parameter value is placed in the VSO Each parameter, if calculated correctly, is represented by a umque TRUE or FALSE value (in two diverse data channels, CHI and CH2) set aside by the CAA for vital seπal hnk messages These parameter values are VPl codewords and are not used elsewhere in any VPl system which is connected using senal links The inventive seπal link can further be provided with means for generating link checkwords, or keys Each processor that operates on link information produces check information in the form of link keys The link key provides proof that the processor has cleared its data memory of pnor signal information and that the mtegπty ofthe system and application memories is intact The CPU 27 of the vital processor originates the first link key Each processor that subsequently receives the signal augments this result with an additional link key The succeeding result then becomes the link key assigned to the last processor that has added a hnk key Any failure encountered in the formation of link messages corrupts the link key at the point of failure Any subsequent processor that subsequently receives the signal containing the corrupted link key will assign a hnk parameter associated with a most restnctive state to insure the safety ofthe system Link key assignments also prevent the mconect installation of application software in the CPUs of vital seπal controllers or improper external link connections from permitting permissive results from being formed in the receiving processor The link identity corresponds to an assignment made by the application engineer as input to the CAA 26A One of the most likely failures encountered in a communications link is the possibility that old information resides within one or more ofthe linked processors, or within the communications channel there-between This is especially true of state-of-the- art modems that contain large amounts of memory in order to facilitate high speed operation In order to maintain a vital interface, it is therefore advantageous to provide means for insuπng that infoπnation received by a receiving processor is valid current and in a sequence known to be created by the transmitting processor The vital serial link of the invention can therefore be provided with a dynamic offset function including a set of offset parameters embedded within each tersystem message transmitted over the link An offset parameter in a subsequent signal therefore has a cycle offset by a predetermined amount relative to the previous signal The freshness of any received signal can therefore be determined by each controller through formation of a system checkword including both a current and previous offset parameter and determination of whether there is an offset between the cycles thereof This feature allows link architecture to take any path using commercial equipment without fear of rr srouting or storage of erroneously valid permissive parameters The invention as descπbed above, serves the function of a software implemented vital parallel-to-seπal-to parallel converter The executable software represents the individual states ofthe system outputs (dnven in the pπor art by discrete output circuits) in a seπal compressed form and transmits this information to other systems where it is reconstructed for use by the receiving system Hardware failures that occur to discrete outputs or connected inputs must result in that output or input being dπven to the more restnctive state Similarly, hardware or software errors in the link must cause the link parameters to become more restnctive Failures that occur within the hnk cause all parameters associated with the affected link to attain a more restnctive parameter state Thus vital operation can be achieved using numerically based safety pnnciples without relying on the use of vital hardware Although a complete description sufficient for one skilled in the art to practice the present invention has already been given, it is thought useful to provide a more detailed appendix which summarizes in flow chart and tabular form the operations involved in accordance with the present invention Initially, it is well to first refer to Figs 4 thru 8 according to which the four main link key calculations performed across the vital serial link in one direction are shown An example ofthe first is the source CPU key formation (SCXKEY) seen in Fig 4 This value is created at the transmit end VPl CPU board 27 (Fig 2) under control ofthe VPl system software, it being recalled that in Fig. 2 the linking of two VPl systems is illustrated The value SCXKEY is included within the message packet as provided to the transmit end VSC 10 Its value generally includes other check values calculated within the VPl CPU program that relate to link operations One value proves previous cycle link data from VPl CPU 27 has been vitally erased, one value proves all prior processing checks within the VPl CPU program are correct, and the last is a numerical value identifying the system cycle sequence number (this result is termed an "offset") The process of forming the final SCXKEY is: 1) get the previous cycle VPl CPU offset from VPl CPU RAM and load it into the Polynomial Divider (PD). See Fig 4; 2) "add" an offset increment value to the PD (' " add" infers an exclusive or-ing as seen ofthe added parameter to the previous contents ofthe PD, followed by shifting ofthe registers which are included as part ofthe Polynomial Divider (PD); 3) Initialize the SCXKEY slot in the link message with the newly calculated current cycle offset value; 4) obtain a preconditioning constant from the VPl CPU application EPROM and place it in the Polynomial Divider (PD); 5) get the value from VPl CPU RAM that represents the system processing checks MCKSUM and "add" it to the Polynomial Divider (PD); 6) get the vital eleaπng result VSOCLR from VPl CPU RAM and "add" it to the Polynomial Divider (PD); 7) obtain from the PD the base SCXKEY result and exclusive OR the result into the pre-initiahzed (with cycle offset) SCXKEY slot. This unique final result proves the oπgination, the currency, and the coπectness of the hnk operations on the VPl CPU All results are calculated each cycle Only the preconditioning constant resides in memory (Fig 4) This operation takes place twice each system cycle with unique CHI data, and then CH2 data Referπng now to Fig 5, the Link Transmit Key (LNKXKEY) is formed on the transmit end VSC 10 The Link Receive Key (LNKRKEY) is formed on the receive end VSC (Fig 6); and the Destination CPU Receive Key (DCRKEY) - (Fig 8) is formed on the receive end VPl CPU. each result using CHI and CH2 data The link key formations are performed for each direction of link data transmission The formation of the link checkword veπfying that the offset has incremented each cycle, CHKOFF, is shown m Fig 7 for both evele N-l and cycle N This result is used in the final calculation of DCRKEY It will be apparent to those skilled in the art that along the link data path each processor obtains the link key from the previous link processor and combines it (in a Polynomial Divider operation with the other constituents ofthe link key formation) For example, the transmit end VSC forms LNKXKEY by combining, in a software polynomial division operation, calculations verifying VSC System and Application EPROM memory integrity, vital cleanng of previous cycle link data, and the SCXKEY provided by the transmit end VPl CPU In this way, the more downlink processor contains an all inclusive link key check (based on utilizing uplink keys) All values are cunent and reside in RAM A preconditioning constant resides in VSC EPROM only It would likewise be understood that vital serial link processing discussed above, like all VPl related vital software activities, is executed by diverse sets of software operating on diverse data values designated CH1/CH2 Both channel operations must execute properly in order for permissive link parameters to exist While there has been shown and described what is presently considered the preferred embodiment ofthe invention, it will be appreciated by those skilled in the art that modifications of these embodiments can be made without departing from the spirit of the invention In particular, it is noted that although the invention has been described with respect to a railway control system, the invention is equally applicable to any modem and/ or telecommunication network It is therefore the intent ofthe inventors that the scope of the invention be limited only by the claims appended hereto

Claims: WHAT IS CLAIMED IS: 1 A vital seπal link for linking a plurality of data processors which act on information communicated in the form of link information signals into a vital seπai communications network, said link compnsmg at least two vital seπal controllers, one for each direction of transmission, in the vital serial link, each of said controllers including means for stonng a plurality of link parameters, each of said link parameters including a numencal relationship indicating that a specified first processor oπginated a signal and that a designated second processor is to receive said signal, a unique numencal relationship being provided for each possible combination of signal onginating processor and signal receiving processor, whereby upon receipt of a signal, said signal receiving processor can discπrrunate signals sent to said receiving processor, and determine which processor in said network was the signal oπginating processor, said link further comprising communicating means for communicating signals, including said link parameters, between said plurality of data processors in said network 2 The link of claim 1 wherein said stoπng means is an EPROM 3 The link of claim 1 wherein said communications means is a twisted pair 4 The link of claim 1 wherein said link parameters are in the form of 32 bit codewords 5 The link of claim 1 wherein said codewords are assigned by a Computer Aided Application software package 6 The link of claim 1 further comprising means for enabling each of said vital serial controllers to generate check infoπnation indicating that a data memory of a processor has been cleared of prior link information, and that system memory and application memory integrity has been maintained, each time a subsequent link information signal is received 7 The link of claim 6 wherein check information is generated in the form of link keys 8 The link of claim 7 wherein a first processor generating a signal originates a first check key that is added to said check information, and that each subsequent processor receiving said signal augments said check information with an additional link key 9 The link of claim 8 wherein a checkword augmented with a link key by an augmenting processor is assigned as a link key for said augmenting processor 10 The link of claim 9 wherein any failures indicated in said link messages corrupts said link key at a point of failure and causes all subsequent processors receiving the corrupted link key to assign a link parameter corresponding to a most restnctive state 1 1 The link of claim 1 further compnsmg means to provide a dynamic offset function said dynamic offset function-producing means including a set of offset parameters embedded within each signal transmitted over said link, an offset parameter in a subsequent signal having a cycle offset by a predetermined amount relative to a previous signal, freshness of any received signal being determined by each controller through formation of a system checkword including both a current and previous offset parameter and determining whether there is offset between tne cycles thereof 12 A. vital serial link for linking a network master processor and a plurahty of slave, or drop processing subsystems, said link comprising; a vital seπal controller installed in said master processor said controller compnsing; means for stoπng a plurality of link parameters, each of said link parameters including a numerical relationship indicating that a specified first processor onginated a signal and that a designated second processor is to receive said signal, a unique numencal relationship being provided for each possible combination of signal oπginating processor and signal receiving processor; whereby upon receipt of a signal, said signal receiving processor can discπminate signals sent to said receiving processor, and determine which processor in said network was the signal originating processor, at least one receiving drop processor controller including means to vitally decode said link messages and vitally select data that is designated for receipt by said receiving drop processor and; means for communicating signals, including said link parameters oerween said master processor and said drop processor controllers. 13 The link of claim 12 wherein said stoπng means is an EPROM. 14 The link of claim 12 wherein said communications means is a twisted pair. 15 The link of claim 12 wherein said link parameters are in the form of 32 bit codewords 16 The link of claim 12 wherein said codewords are assigned by a Computer Aided Application software package 17 The link of claim 12 further compnsing means for each of said slave controllers to generate check information indicating that a data memory of the controller has been cleared of pnor link information and that system memory and application memory mtegnty has been maintained, each time a subsequent link information signal is received 18 The link of claim 17 wherein check information is generated in the form of 19 The link of claim 18 wherein said master processor generating a signal oπginates a first check key that is added to said check information and that each subsequent controller receiving said signal augments said check information with an additional link key 20 The link of claim 19 wherein a checkword, augmented with a link key by an augmenting controller is assigned as a link key for said augmenting processor 21 The link of claim 20 wherein any failures indicated in said link messages corrupts said link key at a point of failure and causes all subsequent controllers receiving the corrupted link key to assign a link parameter corresponding to a most restnctive state 22 The link of claim 13 further comprising means to provide a dynamic offset function said dynamic offset function-producing means including a set of offset parameters embedded within each signal transmitted over said link, an offset parameter in a subsequent signal having a cycle offset by a predetermined amount relative to a previous signal, freshness of any received signal being determined by each controller through formation of a system checkword including both a current and previous offset parameter and determining whether there is offset between the cycles thereof 23 A vital serial link for linking a plurality of data processors into a vital seπal communication network, said link compns g: a vital seπal controller in the vital serial link, said controller including means for stoπng a plurality of link parameters, each of said link parameters having a unique numencal relationship based on safety assurance logic, for each of said processors. 24 A vital serial link further as defined in Claim 23, compnsing means for providing polynomial division ofthe data defining link parameters. 25 A vital serial link as defined in claim 24, in which said means for providing polynomial division includes feedback shifting means.

Inventors: BALLIET JAMES B, BALLIET, JAMES, B.
Applicants: GEN RAILWAY SIGNAL CORP, GENERAL RAILWAY SIGNAL CORPORATION
Application year: 1996
Main classification: G06F13
IPC codes: B61L3, B61L27