- 1 -
METHOD AND SYSTEM FOR CONTROLLING AND BILLING USE OF A PERSONAL COMPUTER
FIELD OF THE INVENTION
This invention relates to a credit card/debit card control device, more specifically to a control device for governing the use of a personal computer responsive to a debit card reader- writer or a credit card terminal or other transaction control device.
BACKGROUND OF THE INVENTION
The rapid development of the personal computer (PC) and the appeal of the Internet has given rise to a newly emerging business opportunity - the need for easily accessible PC's. With increasing frequency business establishments are sensing a customer driven need to provide computing services in the form of easily accessible personal computers and Information/Internet Kiosks (commonly referred to as Internet Kiosks) located in public places such as retail outlets, hotels and libraries.
In general, easily accessible computing services may be in the form of a stand alone PC system, such as the system shown in FIG. 1.
Retail establishments needing to draw customers into their place of business have embraced the Internet and delivery systems, such as Internet kiosks, as innovative new tools to meet customer requests for more and better information access. In addition, such systems provide the retailer with new opportunities to promote products and keep customers in the retailer's place of business longer. This is designed to increase sales of other services and products (i.e. food and drink).
The hospitality industry (i.e. hotels, motels and the like) has also recognized the needs of its customers. Many hotels provide business centers where copying, faxing and computing can be accomplished conveniently by their customers. These business centers are indispensable amenities for the business traveler and have become a valuable tool for many hotels in attracting and keeping business traveling customers.
Public libraries in a continuing effort to use the latest technology to allow access to resources for their patrons have turned to easily accessible personal computers as a way to connect resource seekers to remote databases and reference materials. The Internet is a
- 2 - world wide reference library and many public libraries have accepted an obligation to provide the general public the opportunity to access this vast domain of reference material.
Possibilities for billing for PC usage that have not been available include charges for time the PC and its different software and/or peripherals are in use, charges for output
(such as printed output) from the peripherals, charges for input (such as scanned input) from the peripherals, and charges for telecommunication related usage.
There are devices which inherently provide an enabling and disabling function in accordance with a qualifying or disqualifying set of conditions. For example a standard debit card reader-writer is capable of validating a debit card, enabling an external piece of equipment (i.e. copier) and altering value stored on a debit card in accordance with data communicated from the external piece of equipment. The debit card reader-writer is limited to the enable and disable function and therefore, can not alone control an easily accessible personal computer, all the peripherals, a keyboard, a mouse or other pointing device, a printer and a modem. This is a common problem among many traditional transaction control devices such as credit card terminals, smart card devices and coin or currency operated devices.
Another short coming with existing debit card reader-writers and other transaction control devices is the limitation in functionality to facilitate removal of value or credit from a debit card or smart card or bill on a credit card without the need for or reliance on an external data communication source. This deficiency can easily be observed in debit card reader-writers and other transaction control devices when functions such as counting printed pages, altering value on a stored value/smart card or billing to a credit card based on time a PC system is in use can not be accomplished without the aid of an external data communication source, instructing the transaction control device to charge accordingly.
Instead the traditional transaction control device is forced to rely on external stimulation from a second control source to provide data communication to effectuate the altering of value or accumulation of a transaction bill which results in ultimate payment for products and services rendered.
- 3 -
Standard transaction control devices such as debit card controllers, smart card controllers, credit card terminals, coin and currency activated circuits, 'A'-'B' selector switches and key entry or remote switch systems provide various levels of enabling and disabling functionality and various levels of computation capabilities. Each of these transaction control devices fails, however, to provide an adequate and/or complete solution for controlling the use of an easily accessible personal computer.
When a PC is first turned "ON" or is subject to a system restart function, the PC performs a boot-up sequence. During this sequence the PC performs a check for proper operation and establishes initial conditions. This boot-up sequence typically involves checking the main electronics including the memory for correct functionality, loading programs into memory, checking for requisite components essential to operation such as a video card, and polling for the existence and correct functionality of the keyboard, mouse or other pointing device. If the boot-up sequence is successful the PC is typically set in a state which is desirable for use. In an easily accessible personal computer system if use of the PC is regulated by a transaction control device such as a debit card read/writer or credit card terminal, problems may arise which prevent operation of the PC. These transaction control devices typically rely on enabling and disabling means such as relays and other switching means to create conditions of use and nonuse. These brute force methods of control can cause severe problems with a PC's ability to boot-up and reach a state which is desirable for use.
Transaction control devices that turn power "ON" or "OFF" to the entire personal computer can corrupt files, rendering the PC inoperable. Files can become corrupted when power is removed from the PC during write operation to a hard drive or floppy drive or other storage device. Other transaction control systems that simply turn monitor power "ON" and "OFF" do not really secure the personal computer in that continued keyboard typing and mouse movements are not disabled. Yet other transaction control devices rely on breaking data communication lines or power lines to keyboards and pointing devices such as a mouse. These methods can have disastrous consequences for
- 4 - the hardware or data when the PC generates error conditions upon failure to detect or initialize key operational peripheral devices, during boot-up.
SUMMARY OF THE INVENTION
A computer control system and method for governing the use of a computer which is responsive to input from a transaction control device. The system and method comprises connecting the computer control system at a first point which is operationally related to the computer and to a second point which is operationally related to the transaction control device such that the computer can be enabled and disabled by the transaction control device. BRIEF DESCRIPTION OF THE FIGS.
The present invention will now be described by way of non-limiting example, with reference to the accompanying drawings in which:
FIG. 1 shows a computer (PC) system 100 in accordance with the present invention; FIG. 2 shows a high level system block diagram of an exemplary embodiment of the present invention;
FIG. 3 shows a block diagram of the computer control system;
FIGS. 4A-4J show electrical block diagrams and detailed circuit diagrams of the system block diagram of FIG. 3; and FIG. 5 shows a software flow chart for software running in the controller.
DETAILED DESCRIPTION OF THE INVENTION
A reliable way to vend (govern) the use of a PC system and its various components is to effectuate control of the mouse, keyboard, printer, modem, telecommunication lines (phone, ISDN, ADSL) and other peripheral devices. A PC system which has a mouse and keyboard under regulated control of a transaction control device (such transaction control device capable of placing the mouse and keyboard in an inoperable state) can effectively prevent unauthorized use of the PC system. With an inoperable keyboard, an unauthorized user can not make typographic input. Further, an inoperable mouse prevents an
- 5 - unauthorized user from selecting functions, features, entering selections or choices or executing control of software programs. To further enhance and secure a PC system regulating control of other components of the PC system can also be implemented.
In regulating the use of the mouse and keyboard, brute force methods of control by 5 way of switching power "ON'V'OFF" or "MAKING"/"BREAKING" data communication lines can not be relied upon to produce desirable results. The problems associated with brute force ways of effectuating disabling control of a keyboard and mouse are numerous in that different PC brands and manufacturers handle and respond to error conditions in different ways. For example, one brand of PC may generate an infinite l o series of beeps or tones in response to a keyboard which is determined to be inoperable or not present, while another brand may halt the entire system freezing the PC in a state of nonuse. Similar problems arise with the mouse, in some cases an operating system, such as Microsoft's Windows 95 or Windows 98 will flag a disabled mouse as not present. Error messages can appear on the screen and the operation of the computer and computer 15 system may be affected.
A transaction control device is defined as any device that can accept coins, currency, magnetic cards, smart cards, credit cards, debit cards or other value storing medium and is capable of communicating a set of qualifying/disqualifying data or enabling/disabling data to a second control device.
20 Transaction control devices such as a debit card reader-writer, coin or currency activated devices or credit card terminals provide a means for indicating to external peripheral devices that a set of satisfying criteria has been met and allowance of system use is granted (an enabling signal). Allowing a transaction control device to disable the keyboard and/or mouse may present a problem. If during the power-up, restart, re-boot or
25 when the PC is polling these devices a condition of inoperability is determined, system errors are generated. The consequence of a system error generated as a result of not detecting a device during a boot-up, polling or restart sequence can range from system shutdown, system halt-until-corrected, infinite tones or beeps being produced to disabling or ignoring a peripheral device (such as a mouse). These error conditions during a start up
30 sequence, reboot or restart, can have grave consequences in the subsequent ability to use
- 6 - the personal computer. These error conditions can rendered a PC completely inoperable. To complicate matters, responses to errors and error handling routines are different between PC brands and manufactures making the boot-up, polling, restart, error detection and handling procedures very unpredictable. A more involved solution such as relying on data communication signals from the
PC to effect a response from the transaction device is not practical especially in retrofit applications. This solution typically requires invasive hardware connections to the PC, the need for undue experimentation and modification and would again not be a reliable solution between PC brands and manufactures or in retrofit situations where system performance, operating platform and configuration is variable. Further, as new software is introduced to the personal computer system and changes in operating system parameters are made, the prospects of compatibility and reliability become less likely.
FIG. 1 shows a computer system 100 in accordance with the present invention. The arrangement on table 129 comprises a PC 102, monitor 128, transaction control device 108 (shown in an exemplary embodiment as a combination of a magnetic card terminal 136 and debit card reader-writer 134 packaged together). Also included on table 129 are a keyboard 110, a modem 114, a mouse 112, a printer 104 and a controller 106.
FIG. 2 shows a system block diagram of PC system 100 in accordance with the present invention. System 100 is also referred to herein as an easily accessible personal computer or Internet Kiosk or PC Kiosk. System 100 is comprised of a personal computer (PC) 102. PC 102 can be a PC based on the Intel family of microprocessors, such as a Dell Dimension Series, Dell Optiplex Series, IBM PC 300 Series IBM PC Series or Hewlett Packard (HP) Vectra Series.
In an exemplary embodiment controller 106 serves as an interconnection means between PC 102 and its peripheral devices, such as keyboard 110, mouse 112, printer
104, modem 114, telecommunication outlets 116 and 120, transaction control device 108, and additional peripherals 118.
A keyboard 110, such as an IBM PC, XT, AT series or a IBM Advanced series or a IBM PS/2 series keyboard or other similar keyboard interconnects with controller 106. Table 1 , Table 2, and Table 3 show the pin configurations for IBM PC, XT, AT series,
- 7 -
IBM Advanced series and IBM PS/2 series keyboards respectively. Other pin configurations and connectivity information will be understood by those skilled in the art.
Table 1
Table 3
A mouse 112, such as a Microsoft PS/2 mouse, Microsoft Serial Mouse, or Microsoft Bus mouse also interconnects with controller 106.
Table 4 shows the pin configuration of the PS/2 style mouse. Other pin configurations and connectivity information will be understood by those skilled in the art. The serial and bus mouse style typically conforms to RS232 communication standards. RS232 connections comprise a TRANSMIT data line, a RECEIVE data line, a REQUEST TO SEND data line, a CLEAR TO SEND data line, a DATA TERMINAL READY data line, a DATA SET READY data line, a CARRIER DETECT data line, a RING INDICATOR data line and a SIGNAL GROUND. RS232 communication standards are comprised of a bipolar transmission voltage.
Table 4
A printer 104 interconnects with controller 106. Examples of printer 104 include dot matrix, ink jet and laser printers such as a Lexmark Optra series, Hewlett Packard (HP) Laser series, HP Color Ink Jet series, Cannon Bubble Jet series, Cannon Ink Jet series or Epson Stylus Color series.
A transaction control device 108, to pay for products and services rendered, interconnects with controller 106. An example of a transaction control device is a USA Technologies C3X™ or EXPRESS™ or TRANSACT™ line of credit card terminals/controllers, Danyl debit card reader/ writer, XCP debit card reader /writer, ACT debit card reader/writer, other similar credit, debit or smart card terminals cash or
currency devices or Verifone Tranz series terminal. U.S. Patent No. 5,619,024, issued April 8, 1997 of USA Technologies, Inc. describes such technology and is incorporated herein by reference.
Referring to FIG. 2, controller 106 comprises mutually exclusive control means for controlling a PC 102, a printer 104, a keyboard 110, a mouse 112, a modem 114, a first telecommunication outlet 116, a transaction control device 108, a second telecommunication outlet 120, and additional peripherals 118. Additional peripherals 118 may include a scanner or other custom hardware device. Depending upon customer specifications and customer cost considerations, there may arise situations where PC system 100 may contain less than all of the devices shown in FIG. 2. As such, controller
106 can easily be manufactured to include or exclude a specific device or combination of devices to produce the desired control results at a desirable cost to a customer. As an example, should a customer desire to operate a PC system 100 without a printer, such as printer 104, controller 106 could then be manufactured with the omission of specific components resulting in a control device more specific to customer requirements. The same inclusion or exclusion of a control means can be applied to control means for mouse 112, keyboard 110, printer 102, modem 114, a first telecommunication outlet 116, a second telecommunication outlet 120, additional peripherals 118, PC 102, and transaction control device 108 in any combination. In an exemplary embodiment, interconnection means between PC 102 and controller 106 comprises a connection between the keyboard interface of PC 102 for communicating data between PC 102 and controller 106, and for communicating data between controller 106 and keyboard 110. The interconnection means also includes an interconnection between the mouse interface of PC 102 and controller 106 for communicating data between PC 102 and controller 106, and for communicating data between controller 106 and mouse 112. An interconnection between the printer interface of PC 102 and controller 106 for communicating data between PC 102 and controller 106 and communicating data between controller 106 and printer 104. An interconnection between printer 104 and controller 106 comprise means for data communication to facilitate printing and relaying page count data. An interconnection between the modem interface of PC 102 and controller 106 for communicating data between PC 102 and
- 10 - controller 106 and communicating data between controller 106 and modem 114. An interconnection between a first telecommunication outlet 116 and controller 106 for communicating telecommunication data between first telecommunication outlet 116 and controller 106, and for communicating telecommunication data between controller 106 and modem 114, and for communicating telecommunication data between controller 106 and a second telecommunication outlet 120. A further interconnection between controller 106 and additional peripheral 118 for communicating data between controller 106 and additional peripheral 118.
Interconnection between controller 106 and transaction control device 108 comprise means for data communication between transaction control device 108 and controller 106, such data indicating whether, by way of controller 106, PC 102 should be placed in an "IN-SERVICE" status mode or placed in an "OUT-OF-SERVICE" status mode. "IN-SERVICE" status mode being defined as a state by which a user of PC system 100 can utilize the features and functions including peripherals. "OUT-OF-SERVICE" status mode being defined as a state by which a user of PC system 100 is denied or is unable to render use of features and functions including peripherals of PC system 100.
Referring to FIG. 3, block diagram 300 shows the structure of controller 106. Controller 106 is comprised of a microcontroller 322, an example of which is the Microchips PIC16C54-HS/P microcontroller. A microcontroller monitor 324 (such as a Dallas Semiconductor DS1233) is connected to microcontroller 322 for the purpose of providing a reset signal to microcontroller 322. A reset signal is applied to microcontroller 322 when a power supply voltage applied to microcontroller monitor 324 falls outside a specific range of voltage preset by microcontroller monitor 324. A converter 320 (such as a Dallas Semiconductor DS1228) is connected to microcontroller 322. Converter 320 is a transistor to transistor logic (TTL) to RS232/RS232 to TTL converter to effectuate serial communications to serial mouse control means 302. Serial mouse control means 302 comprises control means for a serial mouse such as Microsoft's serial mouse or bus mouse, such as Microsoft's Bus Mouse, and other pointing devices conforming to a RS232 standard.
- 11 -
Referring to FIG. 4C, an example of the functionality of serial mouse control means 302 is shown comprising: a data connection between mouse 112 data line, referred to as data connection 232, and microcontroller 322 serial mouse data receive line referred to as data connection 218; a data connection between data connection 232 and a one-way-switch 230 (such as a Diodes Incorporated IN4148 diode); a data connection between the one-way-switch 230 and a fourth impedance 228 (for example, a 10K ohm resistor); a data connection between the fourth impedance 228 and microcontroller 322, referred to as serial mouse control line 220; a data connection between the fourth impedance 228 and the one-way-switch 230 and a data receiving line at PC 102, referred to as data connection 222; a data connection line from mouse 112 interrupt line or ready to send (RTS) line, referred to as mouse RTS line 234, and an interrupt generating line or RTS line at microcontroller 322, referred to as controller RTS line 224; and a data connection from the mouse RTS line 234 to PC 102 RTS line referred to as PC RTS line 226.
The means for controlling the functionality (use-nonuse condition) of mouse 112, when mouse 112 is a serial mouse or a bus mouse conforming to RS232 standards, and transaction control device 108 is communicating to controller 106 an "OUT-OF- SERVICE" status mode condition comprises the steps of: a) Microcontroller 322 monitoring controller RTS line 224. b) If microcontroller 322 receives an affirmative signal (ready to send or interrupt condition) from the PC RTS line 226 by way of the controller RTS line 224, microcontroller 322 enables mouse 112 functionality by way of serial mouse control line 220.
- 12 - c) When microcontroller 322, while monitoring the controller RTS line 224, detects from PC 102 a ready to send or interrupt condition by way of the PC RTS line 226 in the negative, a check of data connection 218 is made by microcontroller 322. If the check of data connection 218 is in the negative, that is, no data is being transmitted between data connection 232 and data connection 222, microcontroller 322 disables mouse 112 functionality by way of serial mouse control line 220.
The means for controlling the functionality (use-nonuse condition) of mouse 112, when mouse 112 is a serial mouse or a bus mouse conforming to RS232 standards and transaction control device 108 is communicating to controller 106 an "IN-SERVICE" status mode comprises the steps of: a) Microcontroller 322 enables mouse 112 functionality by way of serial mouse control line 220.
b) When controller 106 receives an "OUT-OF-SERVICE" status mode data communication from transaction control device 108, microcontroller 322, by way of data connection 218, monitors for data communication between data connection 232 and data connection 222. If data connection 218 does not detect data communication between data connection 232 and data connection 222, the resultant is in the negative and microcontroller 322 disables mouse 112 functionality by way of serial mouse control line 220.
During normal mouse 112 operation, when mouse 112 is a serial mouse or bus mouse or other pointing device conforming to RS232 standards, data is communicated between PC RTS line 226 and mouse RTS line 234 and between data connection 222 and data connection 232. To effectuate control of mouse 112 interruption of data flow between data connection 222 and data connection 232 is managed by microcontroller 322.
Normal RS232 data communication relies on a bipolar transmission voltage to transmit data between devices on a data line such as the data line formed by data connection 232 and data connection 222. Microcontroller 322 regulates the flow of data communications between data connection 222 and data connection 232 by way of a one- way-switch 230. A one-way-switch 230 can be a diode such as Diodes Incorporated
- 13 -
1N4148. Diode Dl shown in FIG. 4D is an example of how a one-way-switch 230 can be implemented.
One-way-switch 230 allows only a mono-polar transmission voltage to be transmitted, wherein the mono-polar transmission voltage is comprised of a voltage level and a current level, to pass from data connection 232 to a fourth impedance 228. Fourth impedance can be a resistor such as resistor R7 shown in FIG. 4D. The mono-polar transmission voltage is impressed upon data connection 222. If microcontroller 322 by way of serial mouse control line 220 supplies a mono-polar transmission voltage of polarity sufficiently identical to the mono-polar transmission voltage impressed upon fourth impedance 228 functionality of mouse 112 is disabled. Mouse 112 is disabled in that data connection 222 is deficient by the absence of a bipolar transmission voltage and therefore receives no intelligible data communication from mouse 112 by way of data connection 222. In an exemplary embodiment, a suitable bipolar-transmission voltage can be + 10VDC and -10VDC. A suitable mono-polar transmission voltage can be + 10VDC or -10VDC.
If microcontroller 322, by way of serial mouse control line 220, supplies a transmission voltage to fourth impedance 228, sufficiently opposite to the mono-polar transmission voltage, the operation of mouse 112 is restored. Fourth impedance 228 is of a magnitude to allow sufficient current and voltage levels of the supplied mono-polar transmission voltage to pass through one-way-switch 230. Further, fourth impedance 228 is received at data connection 222 while fourth impedance 228 being of magnitude as to allow the mono-polar transmission voltage to pass from data connection 232 through oneway-switch 230 with sufficient current and voltage levels to communicate reliably to data connection 222. Operation of mouse 112 is restored when microcontroller 322 supplies, by way of serial mouse control line 220, a mono-polar transmission voltage impressed upon fourth impedance 228 sufficiently opposite to the mono-polar transmission voltage which is produced as a resultant of a bipolar transmission voltage passing through oneway-switch 230. Supply of the mono-polar transmission voltage sufficiently opposite to the mono-polar transmission voltage resultant from one-way-switch 230 corrects a deficient bipolar transmission voltage condition created by one-way-switch 230. With bipolar transmission voltage reestablished, normal data communication between data
- 14 - connection 232 and data connection 222 is effectuated. The serial or bus mouse or other pointing device conforming to RS232 standards can then operate correctly.
The process of controlling the functionality of mouse 112 when mouse 112 is a serial mouse or bus mouse or other pointing device conforming to RS232 standards comprises the steps:
a) When controller 106 receives an "IN-SERVICE" status mode communication from transaction control device 108, microcontroller 322, by way of converter 320, applies usage affirming control voltage and/or current level to an input of TTL/RS232 converter 320 which produces a corresponding transmission voltage which is sufficiently opposite to a mono-polar transmission voltage created by oneway-switch 230 on the output of TTL/RS232 converter 320. TTL/RS232 Converter 320 comprises a plurality of mutually exclusive, independent inputs corresponding in a one-to-one relationship to a plurality of mutually exclusive, independent outputs. Transmission voltages are typically in compliance with RS232 standards. b) As long as an "IN-SERVICE" status mode is being received from transaction control device 108, microcontroller 322 provides an affirming control voltage to converter 320. When an "OUT-OF-SERVICE" status mode is communicated to controller 106 from transaction control device 108, microcontroller 322 checks by way of data connection 218 that no data is being transmitted between data connection 222 and data connection 232. If no data is being transmitted between data connection 222 and data connection 232 then serial mouse control line 220, by way of microcontroller 322, applies a negating control voltage and/or current level to an input of TTL/RS232 converter 320. Converter 320 subsequently produces a substantially identical mono-polar transmission voltage as is produced by one-way- switch 320. The mono-polar transmission voltage produced by converter 320 is impressed upon fourth impedance 228. Hence data connection 222 is deficient of bipolar transmission voltage therefore mouse 112 is rendered inoperative.
- 15 -
As shown in FIG. 3, interconnected to microcontroller 322 is PS2 mouse control means 304. PS2 mouse control means comprises control means for a PS2 compatible peripheral such as Microsoft's PS2 Mouse, or other similar pointing device.
Referring to FIG. 4A, an example of the functionality of PS2 mouse control means 304 is shown comprising: a data connection between mouse 112 data line referred to as data connection 216 and a third impedance 214 (for example a 220 Ohm resistor); a data connection between third impedance 214 and a second impedance 212 and a first control switch 204; a data connection between first control switch 204 and a first control line 202; a data connection between a second impedance 212 (for example a 220 Ohm resistor) and a first impedance 210 (for example a 220 Ohm resistor); a data connection between a first impedance 210 and second impedance 212 and PC 102 PS2 mouse interface data line referred to as data connection 208; and a data connection between a first impedance 210 and microcontroller 322 data line referred to as data connection 206.
The means for controlling the functionality (use-nonuse condition) of mouse 112, when mouse 112 is a PS2 mouse or other similar pointing device and transaction control device 108 is communicating to controller 106 an "OUT-OF-SERVICE" status mode condition. This comprises the steps of: a) Microcontroller 322 monitoring data connection 206. b) If microcontroller 322 receives an affirmative signal (ready to send or interrupt condition) from data connection 206, by way of first impedance 210, first impedance 210 can be implemented with a resistor R4 (for example a 22 Ohm resistor) shown in FIG. 4B, such first impedance 210 being of magnitude as to provide voltage and/or current decoupling and protection from overdriving or otherwise exceeding circuit limits of data connection 208 should data connection 208 be in a state that would result in damage if a data connection 206 is applied to data connection 208 and first impedance 210 being of a magnitude so as to not
- 16 - degrade or otherwise impugn the quality or reliability of data communications between data connection 206 and data connection 208, microcontroller 322 enables mouse 112 functionality by way of first control line 202 and first control switch 204.
c) When microcontroller 322, while monitoring data connection 206 detects from
PC 102, by way of data connection 208, a ready to send or interrupt condition in the negative, a check of data connection 206 is made by microcontroller 322. If the check is in the negative, that is no data is being transmitted between data connection 216 and data connection 208, microcontroller 322 disables mouse 112 functionality by way of first control line 202 and first control switch 204.
The means for controlling the functionality (use-nonuse condition) of mouse 112, when mouse 112 is a PS2 style mouse or other similar pointing device and transaction control device 108 is communicating to controller 106 an "IN-SERVICE" status mode comprise the following steps: a) Microcontroller 322 enables mouse 112 functionality by way of control line
202. b) When controller 106 receives an "OUT-OF-SERVICE" status mode data communication from transaction control device 108 microcontroller 322 by way of data connection 206 monitors for data communication between data connection 216 and data connection 208. If data connection 206 by way of first impedance 210 does not detect data between data connection 216 and data connection 208, the resultant is in the negative and microcontroller 322 disables mouse 112 functionality by way of first control switch 204.
During normal mouse 112 operation, when mouse 112 is a PS2 compatible style mouse such as Microsoft's PS2 Mouse, or other similar pointing device, data is passed, in compliance with TTL (typically five volts referenced to ground) standards between data connection 208 and data connection 216. To effectuate control of mouse 112 interruption of data flow between data connection 208 and data connection 216 is managed by microcontroller 322 by way of PS2 mouse control means 304.
- 17 -
Normal mouse 112 data communication relies on TTL transmission voltage and/or current to transmit data between devices on a data line such as a data line formed by data connection 216 and data connection 208. Microcontroller 322 regulates the flow of data between data connection 216 and data connection 208 by way of first control line 202 and first control switch 204. A first control switch 204 can be a transistor switch comprising a transistor such as National Semiconductor 2N4403 or 2N4401 and a plurality of biasing resistors. Transistor Ql and Resistors Rl (for example a 10K Ohm resistor), R2 (for example a IK Ohm resistor)and R3 (for example a 100 Ohm resistor) shown in FIG. 4B is an example of how a first control switch 204 can be implemented. An equally enabling embodiment for the first control switch 204 can be implemented using an SGS-Thomson
HC125, HCT125, HC126, HC240, HC240HV, HCT240, HCT240PU, HC241 , HC241HV, HCT241 , HCT241PU, HC244, HCT244, HCT244PU, HC365, HC366, HC367, HCT367, HC368, HCT368, HC540, HCT540, HC541 , HCT541 , HC7240, HC7241 , HC7244 or similar buffer in the CMOS, TTL, RTL (resistor-transistor logic), DTL (diode-transistor logic) or other logic family, implementation of an SGS-Thomson
HC242, HC243, HC245, HCT245, HC620, HC623, HC640, HCT640, HCT643, HC7245, HC7640, HC7643, HC7645 or similar bi-directional buffer in the CMOS, TTL, RTL, DTL or other logic family, implementation of an SGS-Thomson HC374, HCT374, HC534, HCT534, HC564, HCT564, HC574, HCT574, HC646, HCT646, HC648, HCT648, HC651, HCT651 , HC652 or similar flip-flop in the CMOS, TTL, RTL, DTL or other logic family, implementation of an SGS-Thomson HC373, HCT373, HC533, HCT533, HC563, HCT563, HC573, HCT573 or similar latch in the CMOS, TTL, RTL, DTL or other logic family.
The first control switch 204 allows a clamping voltage, wherein the clamping voltage is comprised of a voltage level and a current level, to be applied between a second impedance 212 and a third impedance 214. The second impedance can be a resistor, such as resistor R5 (for example a 220 Ohm resistor) shown in FIG. 4B, the third impedance 214 can be a resistor, such as resistor R6 (for example a 220 Ohm resistor) shown in FIG. 4B. If microcontroller 322, by way of control signal 202, applies a negating voltage to control switch 204 a resultant clamping voltage is applied between second impedance 212 and third impedance 214. Third impedance 214 being of a sufficient magnitude to provide
- 18 - voltage and/or current decoupling and protection from overdriving or otherwise exceeding circuit limits of data connection 216 should data connection 216 be in a state that would result in damage if a clamping voltage is applied to data connection 216. Second impedance 212 is of sufficient magnitude to provide voltage and/or current decoupling and protection from overdriving or otherwise exceeding circuit limits of data connection 208 should data connection 208 be in a state that would result in damage if a clamping voltage is applied to data connection 208. Further the magnitude of the second impedance 212 and the magnitude of third impedance 214 in combination should be such as to not degraded the data transmission quality or otherwise impugn the reliability of data communication between data connection 216 and data connection 208.
When a clamping voltage is applied between second impedance 212 and third impedance 214, by way of first control line 202 and first control switch 204, data communications are blocked between data connection 216 and data connection 208. The magnitude of the third impedance is such to allow the clamping voltage to take priority setting the connection between second impedance 212 and third impedance 214 to a known fixed state. The clamping voltage is impressed upon data connection 208 by way of second impedance 212. The clamping voltage is of magnitude of voltage and/or current levels to hold the data connection between second impedance 212 and third impedance 214 in a fixed state even when data communication from data connection 216 or data communication from data connection 208 is being effectuated. The clamping voltage is also of sufficient magnitude of voltage and/or current levels as to not influence the states present between data connection 216 and third impedance 214 and between data connection 208 and second impedance 208. Mouse 112 is effectively disabled. In an exemplary embodiment a suitable clamping voltage can be +5VDC. If microcontroller 322, by way of control signal 202 applies an affirming voltage to control switch 204 a resultant high impedance state is entered into by first control switch 204 effectively removing its presence (electrical effects) from PS2 mouse control means 304. This high impedance state allows data communications to pass normally between data connection 216 and data connection 208. This results in mouse 112 being effectively enabled for use.
- 19 -
The process of controlling the functionality of mouse 112 when mouse 112 is a PS2 style mouse or other similar pointing device comprises the steps: a) When controller 106 receives an "IN-SERVICE" status mode communication from transaction control device 108 microcontroller 322 by way of first control line 202 applies an affirming control voltage and/or current level to the input of first control switch 204, which produces a corresponding high impedance state of first control switch 204. Data communication between data connection 216 and data connection 208 operates normally and mouse 112 operates normally. b) As long as an "IN-SERVICE" status mode is being received from transaction control device 108, controller 106 provides an affirming control voltage to first control switch 204 by way of first control line 202. When an "OUT-OF- SERVICE" status mode is communicated to controller 106 from transaction control device 108, microcontroller 322 checks by way of data connection 206 and first impedance 210 that no data is being transmitted between data connection 216 and data connection 208. If no data is being transmitted between data connection
216 and data connection 208, the check results in the negative. If the check is in the negative then first control line 202 data communicates to first control switch 204 a negating control voltage and/or current which produces a clamping voltage applied between a second impedance 212 and a third impedance 214. Hence data communication between data connection 216 and data connection 208 are negated rendering mouse 112 inoperative.
Referring back to FIG. 3, interconnected to microcontroller 322 is keyboard control means 306. Keyboard control means 306 may include, for example, control means for one or more of IBM PC,XT, AT series, IBM Advanced series, IBM PS2 series keyboards or other similar keyboard.
Referring to FIG. 4F, an example of the functionality of a keyboard control means 306 is shown comprising: a data connection between keyboard 110 data line referred to as data connection 260 and a seventh impedance 258 (for example a 220 Ohm resistor);
- 20 - a data connection between seventh impedance 258 and a sixth impedance 256 (for example a 220 Ohm resistor) and a second control switch 248;
a data connection between second control switch 248 and a second control line 246;
a data connection between sixth impedance 256 and a fifth impedance 252 (for example 220 Ohm resistor);
a data connection between fifth impedance 252 and sixth impedance 256 and PC 102 keyboard interface data line referred to as data connection 254; and a data connection between fifth impedance 252 and microcontroller 322 data line referred to as data connection 250.
The means for controlling the functionality (use-nonuse condition) of keyboard 110, when keyboard 110 is a IBM PC, AT, XT series, IBM Advanced series or IBM PS2 series keyboard or other similar keyboard and transaction control device 108 is communicating to controller 106 an "OUT-OF-SERVICE" status mode condition comprising the steps of: a) Microcontroller 322 monitoring data connection 250. b) If microcontroller 322 receives an affirmative signal (ready to send or interrupt condition) from data connection 250, by way of the fifth impedance 252, fifth impedance 252 can be implemented with a resistor, such as resistor R8 (for example 22 Ohm resistor) shown in FIG. 4G, such fifth impedance 252 being of sufficient magnitude to provide voltage and/or current decoupling and protection from overdriving or otherwise exceeding circuit limits of data connection 254 should data connection 254 be in a state that would result in damage if a data connection 250 is applied to data connection 254 and fifth impedance being of sufficient magnitude so as to not degrade or otherwise impugn the quality or reliability of data communications between data connection 250 and data connection 254, microcontroller 322 enables keyboard 110 functionality by way of second control line 246 and second control switch 248.
c) When microcontroller 322, while monitoring data connection 250, detects from PC 102 by way of data connection 254 a ready to send or interrupt condition in the negative, a check of data connection 250 is made by microcontroller 322. If the check results in the negative, that is no data is being transmitted between data connection 206 and data connection 254, microcontroller 322 disables keyboard
110 functionality by way of second control line 246 and second control switch 248.
The means for controlling the functionality (use-nonuse condition) of keyboard 110, when keyboard 110 is an IBM PC, AT, XT series, IBM Advanced series or IBM PS2 series keyboard or other similar keyboard and transaction control device 108 is communicating to controller 106 an "IN-SERVICE" status mode comprising the following steps: a) Microcontroller 322 enables keyboard 110 functionality by way of second control line 246. b) When controller 106 receives an "OUT-OF-SERVICE" status mode data communication for transaction control device 108 microcontroller 322 by way of data connection 250 by way of fifth impedance 252 monitors for data communication between data connection 260 and data connection 254. If data connection 250 does not detect data between data connection 260 and data connection 254, the resultant is in the negative and microcontroller 322 disables keyboard 110 functionality by way of second control switch 248, by way of second control line 246.
During normal keyboard 110 operation when keyboard 110 is an IBM PC, AT, XT series, IBM Advanced series or IBM PS2 series keyboard or other similar keyboard, data is passed, in compliance with TTL standards between data connection 254 and data connection 260. To effectuate control of keyboard 110 interruption of data flow between data connection 254 and data connection 260 is managed by microcontroller 322 by way of keyboard control means 306.
Normal keyboard 110 data communication when keyboard 110 is an IBM PC, AT, XT series, IBM Advanced series or IBM PS2 series keyboard or other similar keyboard
- 22 - relies on TTL transmission voltage and/or current to transmit data between devices on a data line such as a data line formed by data connection 260 and data connection 254. Microcontroller 322 regulates the flow of data between data connection 260 and data connection 254 by way of a second control line 246 and second control switch 248. A second control switch 248 can be a transistor switch comprised of a National
Semiconductor 2N4403 or 2N4401 transistor and a plurality of biasing resistors. Transistor Q2 and Resistors R7 (for example a 10K Ohm resistor), RIO (for example a IK Ohm resistor) and Rl l (for example a 100 Ohm resistor) shown in FIG. 4G is an example of how a second control switch 248 can be implemented. An equally enabling embodiment for second control switch 248 can be implemented by an SGS-Thomson HC125, HCT125,
HC126, HC240, HC240HV, HCT240, HCT240PU, HC241 , HC241HV, HCT241 , HCT241PU, HC244, HCT244, HCT244PU, HC365, HC366, HC367, HCT367, HC368, HCT368, HC540, HCT540, HC541, HCT541, HC7240, HC7241 , HC7244 or similar buffer in the CMOS, TTL, RTL, DTL or other logic family, implementation of an SGS- Thomson HC242, HC243, HC245, HCT245, HC620, HC623, HC640, HCT640,
HCT643, HC7245, HC7640, HC7643, HC7645 or similar bi-directional buffer in the CMOS, TTL, RTL, DTL or other logic family, implementation of an SGS-Thomson HC374, HCT374, HC534, HCT534, HC564, HCT564, HC574, HCT574, HC646, HCT646, HC648, HCT648, HC651, HCT651 , HC652 or similar flip-flop in the CMOS, TTL, RTL, DTL or other logic family, implementation of an SGS-Thomson HC373,
HCT373, HC533, HCT533, HC563, HCT563, HC573, HCT573 or similar latch in the CMOS, TTL, RTL, DTL or other logic family.
The second control switch 248 allows a clamping voltage, wherein the clamping voltage is comprised of a voltage level and a current level, to be applied between a sixth impedance 256 and a seventh impedance 258. Sixth impedance 256 can be a resistor such as resistor R9 (for example a 220 Ohm resistor) shown in FIG. 4G, and seventh impedance 258 can be a resistor such as resistor R12 (for example a 220 Ohm resistor) shown in FIG. 4G. If microcontroller 322 by way of second control signal 248 applies a negating voltage to second control switch 248 a resultant clamping voltage is applied between sixth impedance 256 and seventh impedance 258. Seventh impedance 258 being of sufficient magnitude to provide voltage and/or current decoupling and protection from
- 23 - overdriving or otherwise exceeding circuit limits of data connection 260 should data connection 260 be in a state that would result in damage if a clamping voltage is applied to data connection 260. Sixth impedance 256 should be of sufficient magnitude to provide voltage and/or current decoupling and protection from overdriving or otherwise exceeding circuit limits of data connection 254 should data connection 254 be in a state that would result in damage if a clamping voltage is applied to data connection 254. Further, the magnitude of sixth impedance 256 and the magnitude of seventh impedance 258, in combination, should be such as to not degrade the data transmission quality or otherwise impugn the reliability of data communication between data connection 260 and data connection 254.
When a clamping voltage is applied between sixth impedance 256 and seventh impedance 258 by way of second control line 246 and second control switch 248, data communications are blocked between data connection 260 and data connection 254. The magnitude of sixth impedance 256 and seventh impedance 258 is such to allow the clamping voltage to take priority setting the connection between sixth impedance 256 and seventh impedance 258 to a known fixed state. The clamping voltage is impressed upon data connection 254 by way of sixth impedance 256. The clamping voltage is of magnitude of voltage and/or current levels to hold the data connection between sixth impedance 256 and seventh impedance 258 in a fixed state even when data communication from data connection 260 or data communication from data connection 254 is being effectuated. The clamping voltage is also of magnitude of voltage and/or current levels so as to not effect the states present between data connection 260 and seventh impedance 258 and between data connection 254 and sixth impedance 256. Keyboard 110 is effectively disabled. In an exemplary embodiment a suitable clamping voltage can be +5VDC. If microcontroller 322 by way of second control line 246 applies an affirming voltage to second control switch 248 a resultant high impedance state is entered into by second control switch 248 effectively removing its presence (electrical effects) from keyboard control means 306. This high impedance state allows data communications to pass normally between data connection 260 and data connection 254. Keyboard 110 is effectively enabled for use.
- 24 -
The process of controlling the functionality of a keyboard 110 when keyboard 110 is an IBM PC, AT, XT series, IBM Advanced series or IBM PS2 series or other similar keyboard comprises the following steps: a) When controller 106 receives an "IN-SERVICE" status mode communication from transaction control device 108, microcontroller 322, by applying an affirming control voltage and/or current level to the input of second control switch 248 by way of second control line 246 which produces a corresponding high impedance state of the second control switch 248. Data communication between data connection 260 and data connection 254 operate normally. Keyboard 110 operates normally. b) As long as an "IN-SERVICE" status mode is being received from transaction control device 108, controller 106 provides an affirming control voltage to second control switch 248 by way of second control signal 246. When an "OUT-OF- SERVICE" status mode is communicated to controller 106 from transaction control device 108 microcontroller 322 checks by way of data connection 250 and fifth impedance 252 that no data is being transmitted between data connection 260 and data connection 254. If no data is being transmitted between data connection 260 and data connection 254, the check results in the negative. If the check is in the negative then second control line 246 communicates to second control switch 248 a negating control voltage and/or current which produces a clamping voltage applied between sixth impedance 256 and a seventh impedance 258. Hence data communication between data connection 260 and data connection 254 are negated rendering keyboard 110 inoperative.
Referring back to FIG. 3, interconnected to microcontroller 322 is an interface control means 308. Interface control means 308 comprises: a plurality of data communication ports for standard data communication, such data communication conforming to TTL, CMOS, DTL, RTL, RS232 and/or RS484 standards, for general purpose use and for data communication between PC 102 or other device such as transaction control device 108 or similar and controller 106;
- 25 - a plurality of digital inputs and outputs for general purpose use and for data communication between transaction control device 108 and controller 106; and a plurality of analog inputs and outputs for general purpose use and for data communication between transaction control device 108 and controller 106. In an exemplary embodiment, transaction control device 108 communicates to controller 106 an "OUT-OF-SERVICE" or "IN-SERVICE" mode status by way of interface control means 308. An "OUT-OF-SERVICE" data communication by way of transaction control device 108, placing a negating signal onto preset appropriate input/output (I/O) lines or communication ports of controller 106 by way of interface means 308. An "IN-SERVICE" data communication placing an affirming signal onto preset appropriate I/O lines or communication ports of controller 106 by way of interface control means 308. A negating or affirming signal source can comprise: an open or closed set of switch or relay contacts; a specific data transmission of voltage and/or current levels; and a combination of open or closed switch or relay contacts and specific data transmission of voltage and/or current levels.
When transaction control device 108 data communicates a negating or affirming control signal to interface control means 308, interface control means 308 conditions, buffers or otherwise prepares the received data. Interface control means 308 then performs data communication with microcontroller 322 wherein microcontroller 322 effectuates appropriate action in accordance with data communication with interface control means 308.
Interconnected to microcontroller 322 is a general purpose control means 310. General purpose control means 310 comprises: a plurality of data communication ports for standard data communication, such data communication conforming to TTL, CMOS, DTL, RTL, RS232 and/or RS484 standards, for general purpose use and for data communication between PC 102 or other device such as transaction control device 108 or similar and controller 106;
- 26 - a plurality of digital inputs and outputs for general purpose use and for data communication between transaction control device 108 and controller 106; and a plurality of analog inputs and outputs for general purpose use and for data communication between transaction control device 108 and controller 106.
In an exemplary embodiment, controller 106, by way of microcontroller 322, and general purpose control means 310 communicate with additional peripheral 118. An example of an additional peripheral 118 is a scanner, such as a Visioneer Page Port scanner. In an exemplary embodiment general purpose control means 310 communicates an "IN-SERVICE" and "OUT-OF-SERVICE" status mode to additional peripheral 118 in accordance with transaction control device 108 data communicating an "IN-SERVICE" or "OUT-OF-SERVICE" mode status to controller 106. Further, a peripheral device such as magnetic card terminal 136 or a smart card reader (not shown) can be interconnected with general purpose control means 310 to facilitate data communication of data between magnetic card reader 136 or smart card reader and microcontroller 322 for processing. If controller 106 receives a data communication from transaction control device
108, such data communication being an "OUT-OF-SERVICE" status mode general purpose control means 310 by way of microcontroller 322 negates use of additional peripheral device 118 (i.e. scanner) by placing the scanner's paper 'IN' sensor in a state that the scanner interrupts as no paper being present. If controller 106 receives a data communication from transaction control device
108, such data communication being an "IN-SERVICE" status mode general purpose control means 310 by way of microcontroller 322 affirms use of the scanner by placing the scanner's paper 'IN' sensor in normal operating state such that when paper is present at the entrance of the scanner, the paper 'IN' sensor properly detects the paper and subsequently operates normally.
Interconnected with microcontroller 322 is a telecommunication control means 312. Telecommunication control means 312 comprises a switch means to control telecommunication usage in accordance with data communication between transaction control device 108 and controller 106.
- 27 -
If transaction control device 108 is data communicating to controller 106 an "OUT-OF-SERVICE" status mode, telecommunication control means 312, by way of microcontroller 322 and negates telecommunication usage.
If transaction control device 108 is data communicating to controller 106 an "IN- SERVICE" status mode, telecommunication control means 312 by way of microcontroller
322 affirms telecommunication usage.
Interconnected with microcontroller 322 is printer control means 314. Printer control means 314 comprises a first multiple state data switch. When the first multiple state data switch is in a first state, data communication between PC 102 and printer 104 is affirmed and function normally. When the first multiple state data switch is in a second state, data communications between PC 102 and printer 104 is negated and data communication between microcontroller 322 and printer 104 is affirmed such that microcontroller 322, by way of printer control means 314, can send printer data and printer commands to printer 104. Referring to FIG. 4E, printer 104 interconnects and communicates with printer control means 314. A connection between PC 102 printer port and printer control means 314 is referred to as data connection 234. A further connection exists between microcontroller 322 and printer control means 314.
In an exemplary embodiment, when transaction control device 108 communicates with controller 106 and such communication is an "OUT-OF-SERVICE" status mode microcontroller 322, by way of printer control means 314, places the first multiple state data switch into a second state negating, by way of data connection 234, PC 102's ability to data communicate with printer 104. Further, when printer control means 314 responds in the negative, first multiple state data switch being in a second state, microcontroller by way of printer control means 314 has the ability and if required can data communicate with printer 104. Should controller 106 be preset to print transaction summary data after a transaction or other data, such data can, while the first multiple state data switch is in the second state, be sent to printer 104. Further, in accordance with preset conditions microcontroller 322 by way of printer control means 314 can communicate to printer 104 commands clearing the internal printer 104 print buffer and resetting and/or initializing
- 28 - printer 104, thus placing printer 104 in a state ready for the next user. The first multiple state data switch can be implemented with a SGS-Thomson HC244 or HCT245 or similar switch device in the CMOS, TTL, DTL, RTL or other logic family. Both the HC244 and HC245 provide for an affirming and negating signal to enable and disable data flow through the device. In addition both devices enter a high impedance state allowing a plurality of similar devices to share and control the same data communication lines. Referring to FIG. 41 a multiple state switch 264 is interconnected with printer 104 and microcontroller 322 and PC 102 by way of data connection 234.
When the first multiple state data switch is in the first state, data communication between microcontroller 322 and printer 104 are negated and communication between PC 102 by way of data communication 234 and printer 104 are affirmed. While the first multiple state data switch is in the first state data communication between PC 102 and printer 104 operates normally.
When transaction control device 108 data communicates to controller 106 an "IN- SERVICE" status mode, microcontroller 322, by way of printer control means 314, places the first multiple position data switch into a first position facilitating data communications between PC 102 by way of data connection 234 and printer 104.
Interconnected with microcontroller 322 is counting means 318. Counting means 318 comprises: a plurality of pulse counting inputs wherein said pulse counting inputs comprise voltage divider networks, opto-isolators, digital means and analog means; and a plurality of pulse generating outputs wherein said pulse generating outputs have a voltage and/or current level.
In an exemplary embodiment an interconnection between a paper pick up clutch of printer 104 and counter means 318 results in the capability of controller 106 to count printed pages. In a typical application data communication between PC 102 and printer 104 result in a page of paper being removed from a paper tray of printer 104 by means of a paper pick up clutch. The action of removing a page of paper from a paper tray of printer 104 by means of a paper pick up clutch results in a "PULSE" of voltage and/or current from a solenoid associated with the printer 104 paper pick up clutch. The
- 29 - activation of this solenoid results in data communicated to counter means 318. By way of an opto-isolator, microcontroller 322 is able to detect and record the occurrence of the data communication between PC 102 and printer 104. This results in counting printed output.
When desired by microcontroller 322, a data communication responsive to an elapsed timer implemented in microcontroller 322 or responsive to data communication present at general purpose control means 310 or interface control means 308 can be communicated to an external device, such data communication being an "OUT-GOING- PULSE" . In an exemplary embodiment the "OUT-GOING-PULSE" is readable by the transaction control device 108 and is typically communicated at preset intervals. This allows transaction control device 108 to charge for the time PC system 100 is in use and for products or services rendered as recorded by way of general purpose control means 310.
In another exemplary embodiment the "PULSE" of printer 104 can be applied to a voltage divider such that a "PULSE" of voltage and/or current not readable by microcontroller 322 can be made readable by microcontroller 322 by the voltage divider to reduce the "PULSE" voltage and/or current level to a level readable by microcontroller 322 by way of counter means 318 without harm to microcontroller 322 or counter control means 318.
Interconnected with microcontroller 322 is modem control means 326. Modem control means 326 comprises a second multiple state data switch. When the second multiple state data switch is in a first state data communication between PC 102 and modem 114 are affirmed and function normally. When the second multiple state data switch is in a second state data communications between PC 102 and modem 114 are negated and communication between microcontroller 322 and modem 114 is affirmed such that microcontroller 322 can communicate with modem 114.
Referring to FIG. 4H, modem 114 interconnects and communicates with modem control means 326. A connection exists between PC 102 modem port and modem control means 326 referred to as data connection 262. A further connection exists between microcontroller 322 and modem control means 326.
- 30 -
In an exemplary embodiment when transaction control device 108 communicates with controller 106 and such data communication is an "OUT-OF-SERVICE" status mode, microcontroller 322 by way of modem control means 326 places the second multiple state data switch into a second state negating by way of data connection 262, PC 102's ability to data communicate with modem 114. Further, when modem control means
326 asserts in the negative, second multiple state data switch being in a second state, PC 102 by way of data connection 262 has the ability and if required can data communicate with modem 114. Should controller 106 be preset to data communicate transaction summary data or other transaction data or data communicate with an external data source at other times while the second multiple state data switch is in the second state microcontroller 322 by way of modem control means 326 can utilize modem 114 for such data communication. In an exemplary embodiment external data sources to controller 106 and PC 102 can be credit processing centers, transaction management centers, other transaction authorization or verification agencies, management information centers, remote monitoring or programming centers, servicing centers or a plurality of other sites.
The second multiple state data switch can be implemented with an SGS-Thomson HC244 or HCT245 or similar switch device in the CMOS, TTL, DTL, RTL or other logic family. Both the HC244 and HC245 provide for an affirming and negating signal to enable and disable data flow through the device. In addition both devices enter a high impedance state allowing a plurality of similar devices to share and control the same data communication lines. Referring to FIG. 4J a multiple state switch 266 is interconnected with modem 114 and microcontroller 322 and PC 102 by way of data connection 262.
When the second multiple state data switch is in the first state, data communication between microcontroller 322 and modem 114 are negated and communication between PC 102 by way of data communication 262 and modem 114 is affirmed. While the second multiple state data switch is in the first state data communication between PC 102 and modem 114 operate normally.
When transaction control device 108 data communicates to controller 106 an "IN- SERVICE" status mode, microcontroller 322, by way of modem control means 326, places the second multiple position data switch into a first position affirming unimpeded data communications between PC 102 by way of data connection 262 and modem 114.
- 31 -
Figure 5 shows an overview of the computer control system software. The computer control system software is a computer program which may reside in a carrier, such as a disk, diskette or a modulated carrier wave.
In an exemplary embodiment, controller 106 is operated in accordance with operations routine 400 shown in FIG. 5. Operations routine 400 is entered upon successful power-up and reset by microcontroller monitor 324 or after watchdog reset of microcontroller 322. Upon reset processing moves to block 402 where an enable flag is set to the 'OFF' status, initial conditions are set, a system status light emitting diode (LED) is turned 'ON' and a general purpose relays is placed in a negating status mode. One of the general purpose relays is used to disconnect the telecommunication line from a modem, such as modem 114 and/or from a telecommunication outlet, such as second telecommunication outlet 120, such that no telecommunication activity can be undertaken until such time as the corresponding relay is placed in an affirming status mode. Setting of the initial conditions comprise setting general purpose timers to preset conditions and effectuating in the negative, as to deny use of the serial mouse control means 302, PS2 mouse control means 304, keyboard control means 306, general purpose control means 310, telecommunication means 312, printer control means 314 and modem control means 326. Processing then moves to decision block 404.
In decision block 404 a test is made to determine whether the presence of an external signal from a transaction control device, such as transaction control device 108 is present. A suitable external signal can be provided from other devices such as switch means or other data communications. If the test in decision block 404 is in the negative processing moves to decision block 406. If the test is in the affirmative, processing moves to block 414.
In decision block 406 a test is made to determine whether PC 102, by way of a mouse connector, such as data connection 208 or serial port, such as the PC-Request-To- Send (RTS) line 226 or bus mouse port, is requesting data communication with mouse 112 by way of PS2 mouse control means 304 or Serial mouse control means 302, respectively. If the test results in the negative, then processing moves to decision block 408. If the test results in the affirmative, then processing moves to block 418.
- 32 -
In decision block 408 a test is made to determine whether PC 102 by way of a keyboard connector, such as data connection 254, is requesting data communication with keyboard 110 by way of keyboard control means 306. If the test results in the negative, then processing moves to block 410. If the test results in the affirmative, then processing moves to block 418.
In block 410 the enable flag referred to in block 402 is again set to the 'OFF' status and the LED referred to in block 402 is again set to the 'ON' status. From block 410 processing moves back to decision block 404.
If the test in decision block 404 results in the affirmative, then processing moves to block 414. In block 414 an enable flag first mention in block 402 is set to the 'ON' status. Further, general purpose timers used in determining system use time and delay functions are reset. Timers utilized for usage time monitoring are set to preset values originally determined in block 402 when the initial conditions are set. Processing then moves to block 422.
In block 422, the status of the LED first mentioned in block 402 is XOR with a bit which effectively toggles the LED "ON" and "OFF" . The resultant of the XOR command is to toggle the state of the LED from "ON" to "OFF" or from "OFF" to "ON" when data communication is detected from either keyboard 110, mouse 112, or printer 104. This flashing of the LED is an indication that the enable flag is set 'ON' and the correct operation of PC 102, keyboard 110, mouse 112, printer 104, modem 114, additional peripheral 118, first telecommunication outlet 116, and second telecommunication outlet 120 in general PC system 100 has been established. Processing in block 422 then registers in the affirmative, allowing use of PC 102, serial mouse control means 302, PS2 mouse control means 304, keyboard control means 306, general purpose control means 310, telecommunication means 312, printer control means 314 and modem control means 326.
Processing then moves to block 424.
In block 424, a check of the general purpose timers is made. If a general purpose timer has expired the timer is reset to its initial condition first mentioned in block 402. Interface control means 308 is then utilized to communicate with transaction control device 108 or other interfaced equipment to communicate that a timer has expired. The
- 33 - data communication can take the form of a controlled voltage or current "PULSE" or wave form to effect an external transaction device, such as transaction control device 108 to account for, count, tally or remove credit from a stored value or increment an accumulator associated with counting and/or determine charges to be applied against a debit card, smart card or credit card. The data communication from interface control means 308 can also be of a higher level data communication, such data communication taking the form of serial communications or other bit exchanging forms. Processing then moves to decision block 416.
In decision block 416, a test is made to determine whether the presence of an external signal from a transaction control device, such as transaction control device 108 is present. A suitable external signal can be provided from other devices such as switch means or other data communications. If the test in decision block 416 is in the negative processing moves to decision block 412. If the test is resultant in the affirmative processing moves to block 422. In block 412 processing is paused to allow any data communication between PC
102 and keyboard 110 or mouse 112, printer 104 or additional peripherals 118 to be concluded. When a determination that no data communication are pending or a suitable allowed time has elapsed then processing moves to block 402.
Returning to decision block 406 and 408, if either decision block 406 or 408 results in the affirmative then processing moves to block 418. In block 418 the enable flag first mentioned in block 402 is set to 'ON' status. The status of the LED first mentioned in block 402 is XOR with a bit which effectively toggles the LED "ON" and "OFF" . The resultant of the XOR command is to toggle the state of the LED from "ON" to "OFF" or from "OFF" to "ON" when data communication is detected from either keyboard 110, mouse 112, printer 104 or additional peripheral 118. This flashing of the LED is an indication that the enable flag is set 'ON' and the correct operation of PC 102, keyboard 110, mouse 112, and printer 104, additional peripheral 118, modem 114, and second telecommunication outlet 120, in general PC system 100 has been established. Control of PC 102 is effectuated in the affirmative, allowing use of serial mouse control means 302, PS2 mouse control means 304, keyboard control means 306, general purpose control
- 34 - means 310, telecommunication control means 312, modem control means 326 and printer control means 314. Processing then moves to decision block 420.
Since entry to block 418 was contingent on either decision block 406 or decision block 408 resulting in the affirmative of the presence of an interrupt signal, such interrupt being generated by PC 102 by way of a keyboard interface such as data connection 254, mouse interface such as data connection 208, bus mouse port interface or serial port interface, such as PC RTS line 226 a test for the same interrupt or new interrupt condition is performed in decision block 420. If an interrupt is detected then the result of the test is in the negative and processing moves back to block 418. A processing loop between block 418 and decision block 420 continues until the interrupt condition is terminated. A brief delay by design exists between block 418 and decision block 420. The brief delay allows data being communicated between PC 102 and its peripheral device(s) to be concluded (uninterrupted) prior to a decision in decision block 420 in the affirmative that transfers processing to block 410. Although illustrated and described herein with reference to certain specific embodiments, the present invention is nevertheless not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the spirit of the invention.