Patent GB-1480251-A (GB)
Title: Data capture terminal
IPC: G06F3/048
Filed: 1974-06-25
Abstract: 1480251 Selective signalling ADDRESSOGRAPH MULTIGRAPH CORP 25 June 1974 [26 June 1973] 28196/74 Heading G4H A data capture terminal includes memory means from which data is periodically and non-destructively output to a plurality of peripheral control means, the data including output peripheral commands and associated messages, and each peripheral control means being exposed to all the data but being actuated to cause a respective associated output peripheral means to perform a function upon a message whenever the command associated with the message relates to the peripheral means in question. Each of a plurality of point-of-sales terminals polled by a CPU for credit authorization and verification, includes a recirculating memory into which information can be entered from (credit) card readers, keyboard or the CPU and from which information can be supplied to a display, printer or the CPU. Numeric keyboard entries are also supplied to the display (not via the memory). The recirculating memory consists of first, second, third and fourth shift registers connected in series in a loop, the registers being capable of holding 1, 1, 1, 128 eight-bit characters respectively. The memory can hold field definers and commands, in any order, each being preceded by an escape character, each field definer being followed by a variable-length data field of a nature specified by the field definer ("card data," "fixed data," "dollar amount," "account number," "authorization number"). The message in memory ends with two escape characters. The commands are: (1) beginning of data from CPU, (2) send data in memory to CPU when terminal is polled (command inserted from keyboard or CPU), (3) display data in memory (command inserted from CPU), (4) print data in memory (command inserted from keyboard in an offline transaction or from CPU in an on-line transaction), (5) delete last field or command entered into memory (command inserted from keyboard or CPU), (6) reset memory, i.e. clear it then insert a pair of escape characters. Field definers, commands and escape characters are detected during recirculation by a decoder responsive to the first register of the loop, to control the terminal. Characters can be entered into the loop memory serially by bit downstream of the first register into the second register, or downstream of the second into the third, depending on the source and tape. The second and third registers can each be bypassed to delete a character. Messages sent to or from the CPU include extra characters not included in the loop memory, including terminal address, longitudinal redundancy check, &c. The terminal performs parity and longitudinal redundancy checks on messages from the CPU and sends positive or negative acknowledgments, the latter causing retransmission. Each character entered on the keyboard is encoded and gated into a shift register for serialization prior to insertion into the loop memory, but to deal with key bounce, the gating occurs only when a counter reaches a predetermined count. This counter counts clock pulses when any key is in the actuated state, but is reset whenever this ceases to be true. A memory protect flip-flop prevents any data character from being entered unless a field definer has been entered for this data, the appropriate place in the loop to receive the data being determined by detecting the two escape characters by means of the decoder. Numeric characters entered on the keyboard, besides being inserted into the loop memory, are also gated in 4-bit parallel from into a 4-bit shift register which together with a 28-bit shift register forms an auxiliary loop memory used to control the display which has 8 character positions, a counter selecting these positions in turn being reset on each entry so that the lastentered character is displayed at the end of the display. The successive contents of the 4-bit register are passed via another register to a ROM for conversion to 7-segment form to control the selected character positions. Numeric characters in the first-mentioned loop memory are displayed by transferring them serially by bit into the 4-bit register, the shift pulses being controlled to truncate each character to 4-bit form. The dollar amount and authorization number can be printed from the loop memory using a row of type-wheels rotated together in synchronism with advance of a wheel position counter. At each position of the counter, the count is compared in turn with all the digits to be printed (supplied from the first register) during a respective circulation of the loop to enter a 1 or 0 for each digit into a "dollar amount" or "authorization number" shift register as appropriate, the 1 bits then actuating solenoids to detent those type-wheels which are required to print the digit currently in position. When all the type-wheels are thus detented, non-interruption of a light beam (passing through holes in the row of type-wheels) for a predetermined time is detected to energize a motor to drive a platen roller over the row of type-wheels (and over an embossed credit card) to cause printing. An erroneous field entered into the loop memory from the keyboard can be deleted by entering a "delete last field" command from the keyboard, viz. command (5) above. During each circulation of the loop memory, detection of the command in the first register causes the contents of the first register to bypass the second into the third, and the contents of the second to bypass the third into the fourth, nul characters being written into the first and second registers, the effect being to delete the last character of the field and close the gap. This repeats until the field and its field definer have been deleted, leaving the escape character preceding the field definer and that preceding the delete command adjacent to each other. The delete command is then deleted similarly on the next circulation. Modifications mentioned are: (1) the loop memory may be parallel-by-bit instead of entirely serial, (2) the loop memory may be replaced by a random-access memory, (3) application to hospitals, travel and hotel reservations and industrial inventory control, job monitoring and process control are mentioned.