US20050268002A1 - System and method for terminating a bus - Google Patents
System and method for terminating a bus Download PDFInfo
- Publication number
- US20050268002A1 US20050268002A1 US11/195,999 US19599905A US2005268002A1 US 20050268002 A1 US20050268002 A1 US 20050268002A1 US 19599905 A US19599905 A US 19599905A US 2005268002 A1 US2005268002 A1 US 2005268002A1
- Authority
- US
- United States
- Prior art keywords
- bus
- devices
- controller
- recited
- branch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4086—Bus impedance matching, e.g. termination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention is related to bus networks, and more particularly, to Controller Area Networks (CAN).
- CAN Controller Area Networks
- a bus network is generally the simplest type of network that consists of a communication line having two end points and zero or more intermediate stubs. Any number of devices may be connected to the communication line.
- One popular bus network is a Controller Area Network (CAN), developed by Bosch GmbH for the automobile applications in the 1980s.
- CAN Controller Area Network
- the CAN specification requires that the last two devices at the end points of a bus have termination resistors. These termination resistors are required to ensure proper communication between two or more devices connected to the CAN.
- the end points of the CAN bus are fixed. Additionally, most devices attached to the CAN bus in an automobile environment, such as headlights, dashboard and so forth, are pre-wired.
- optional input/output devices used in connection with printers are not fixed. That is, such optional devices may be installed and removed from the CAN on a frequent basis. In the case of printers, it is possible for users to install or remove optional paper handling devices. Each time a device is added or removed from the printer, it is possible that the endpoints of the CAN bus may have changed, and hence, termination of the CAN bus must be adjusted to reflect the addition or deletion of a device.
- a termination resistor i.e., terminate the bus
- Some devices today use other schemes such as current monitoring on an extra “Power On” line to determine if other devices exist on a CAN bus. So, in cases where optional devices might be connected to the bus, detection of these devices is accomplished by monitoring when a downstream device is turned-on and drawing power.
- an exemplary system includes a CAN bus having at least two end points.
- a first and/or a second set of an undetermined number of devices may be connected to the bus.
- a controller is also connected to the bus, and is configured to terminate the bus at one of the end points relative to the first or second sets of devices, if the controller receives a reply message from the first or second set of devices in response to a communication test message initially sent by the controller.
- the exemplary system therefore, introduces the broad concept of using a controller device to discover end points of a bus by sending test messages to two distinct sets of potential devices connected to the bus. If reply messages are received from both sets each time, then the controller has discovered that it is not located on an end point and there is no need for the controller to connect a termination resistor to the bus. On the other hand, if a reply message is observed from only one set of potential device(s), then the controller has discovered that it is located on an endpoint of the bus and the controller terminates its end of the bus (i.e., opposite the set of potential device(s) that replied to the controller). Additionally, the controller can instruct each subsequent device to verify it is the last device in the chain in order to have the subsequent device set its termination resistor when appropriate.
- FIG. 1 is a block diagram of an exemplary system used in a printer environment.
- FIG. 2 is a flow chart illustrating an exemplary method for a controller to discover input devices on a bus and properly terminate the bus accordingly.
- FIG. 3 is a flow chart of an exemplary method for a controller to discover output devices on a bus and properly terminate the bus accordingly.
- FIG. 4 is a block diagram of an exemplary generic system for terminating a bus.
- FIG. 1 is a block diagram of an exemplary system 100 .
- System 100 includes a bus 101 .
- bus 101 is a two wire CAN bus that functions in accordance with the CAN specification, Version 2.0B (ISO11898), Robert Bosch GmbH, the entire contents of which are incorporated herein by reference. Nevertheless, it is possible that the principles described in relation to the exemplary CAN bus 101 may be adapted for alternative communication protocols and serial busses, such as the Motorola Interconnect Bus, or other wire busses developed hereafter. Other topologies are possible for bus 101 such as a daisy chain topology with each individual bus controlled by an agent.
- System 100 further includes optional output devices 102 , optional input devices 104 , and a printer 106 .
- Each of these devices 102 , 104 and 106 further include intelligent controllers: controller 108 , Paper Handling Controller (PHC) 110 and controller 112 , respectively.
- controller 108 Paper Handling Controller
- controller 112 controller 112 .
- printer 106 serves as a central controller in the operation of system 100 .
- Exemplary sets of optional printer output and input devices 102 , 104 may include any of the following devices: sheet feeders, envelope feeders, multiple output bins, stackers, booklet makers, job separators, staplers, binders, hole punchers, collators, stampers and any other related devices.
- sheet feeders envelope feeders
- multiple output bins stackers
- booklet makers job separators
- staplers staplers
- binders hole punchers
- collators stampers and any other related devices.
- stampers any other related devices.
- the aforementioned list is not exhaustive and as is appreciated by those skilled in the art a myriad of other devices could be substituted for the set of input/output devices described in the exemplary illustration including non-printing devices as described below.
- printer means any electronic device having data communications, data storage capabilities, and/or functions to render printed characters and images on a print media.
- a printer device may be a printer, fax machine, copier, plotter, and the like.
- the term “printer” includes any type of printing device using a transferred imaging medium, such as ejected ink, to create an image on a print media. Examples of such a printer can include, but are not limited to, laser printers, inkjet printers, plotters, portable printing devices, as well as multi-function combination devices. Although specific examples may refer to these printers, such examples are not meant to limit the scope of the claims or the description, but are meant to provide a specific understanding of the described implementations.
- output devices 102 may include headlights, stereo and security system.
- input devices 104 may include mobile telephones and navigational devices.
- the applicable devices 102 - 106 would correlate to the environment in which they are deployed, and the controllers 108 - 112 would be some type of intelligent device capable of performing CAN protocol communications or the like (see for instance FIG. 4 below).
- printer 106 could have (i) no devices plugged-in on either its input or output branches (for purposes of illustration, a branch refers to anything to the right or left of printer 106 that is connected to bus 101 ), (ii) input device(s) attached lo bus 101 and nothing else; (iii) output device(s) connected to bus 101 and nothing else; and (iv) both input and output device(s) connected to bus 101 .
- printer 106 In the case where printer 106 is the only device connected to bus 101 , there is no communication on bus 101 . This is a null condition because there are no endpoints to bus 101 other than printer 106 .
- printer 106 forms one end of bus 101 and the input device 104 forms the other. If additional input devices are connected to bus 101 , then printer 106 remains an end point of bus 101 .
- printer 106 forms one end of bus 101 , and the output device 102 forms the other. In this case, it does not matter, whether additional output devices 102 are connected to bus 101 (to the left of printer 106 ), because printer 106 remains an endpoint on bus 101 whether there are more than one output device 102 or not.
- printer 106 In the case where there are both output/input device(s) 102 , 104 connected on both sides (branches) of printer 106 on bus 101 , then the output device(s) 102 and input device(s) 104 forms an end point of bus 101 . In this scenario, printer 106 is not located on an endpoint of bus 101 and therefore, printer 106 does not terminate bus 101 .
- Printer 106 through its paper handling controller (PHC) 110 determines where the endpoints are on the bus 101 and ensures proper termination.
- PHC 110 sometimes referred to as the formatter of the printer, serves as central controller for printer 106 .
- Controllers 108 and 112 determine whether they are located on an endpoint of bus 101 and ensure proper termination. In order to assure proper termination at all times, enabling devices disconnect their termination resistor when enabling the next device in the chain and the most recently enabled device connects its termination resistor before any communication is attempted. The last device in the chain (input or output branch) reconnects its termination resistor after determining that no more devices are present.
- Terminate means that a device 102 , 104 and/or 106 , located at the end of bus 101 , connect termination resistors 116 A-C in parallel with the devices. This is accomplished by controllers 108 - 112 sending actuation signals (not shown) to their respective switches 114 A-C, to either connect or disconnect their resistors 116 A-C in parallel with their respective devices 102 - 106 . This is also referred to as activating a termination load across a controller device, where the termination load is a resistor or any other equivalent resistant devices. Those skilled in the art are familiar with the operation of switches, resistors and components (such as filters) that provide equivalent circuit characteristics to resistors.
- FIG. 2 is a flow chart illustrating an exemplary method 200 for PHC 110 to discover input devices 104 on bus 101 and properly terminate bus 101 accordingly.
- the method 200 is performed by software loaded into PHC 110 . Nevertheless, method 200 could be performed in any combination of hardware, firmware and software.
- Method 200 includes: exemplary operational steps 202 - 212 . Prior to initiating method 200 , it is assumed that printer 106 is powered-on.
- step 202 PHC 110 activates a termination load 116 B across printer 106 . That is, PHC 110 closes switch 114 B thereby connecting resistor 16 B in parallel with PHC 110 . At this point, bus 101 is terminated at the PHC 110 end of bus 101 .
- PHC 110 enables the first of a set of potential input devices 104 .
- PHC 110 sends ENABLE_ 1 signal the first potential input device 104 on the input side (branch) of printer 106 via a separate wire labeled as ENABLE_ 1 . If an input device 104 is present, it will enable and terminate its end of bus 101 by closing switch 114 C. At this point, all devices connected to the output branch of bus 101 (left side of printer 106 ) are inactive.
- PHC 110 When the Enable_ 1 signal is implemented in a daisy chain form, PHC 110 is typically the first device to assert the Enable_ 1 signal. To sense any further input devices, however, the last device to be enabled via the Enable_ 1 signal, asserts its own Enable_ 1 signal to discover if other devices on bus 101 exist. One way to accomplish this signal structure is instruct PHC 110 to command each subsequent sensed input device 104 to assert its Enable_ 1 signal to discover a next input device. Other schemes such as time device sensing could be used.
- PHC 110 attempts to determine if an input device exists on bus 101 .
- PHC 110 attempts to establish communication with a potential input device 104 by sending a test message (not shown) on bus 101 . If an input device 104 is present on bus 101 , such input device 104 should send a reply message (not shown) to PHC 110 (note that this message exchange order can by reversed).
- PHC 110 knows whether a device exists on the input branch (to the right of printer 106 ).
- Test messages are actually binary configuration commands sent by PHC 110 according to the CAN protocol. Whereas reply message are responses to the configuration commands by either input/output devices.
- PHC 110 proceeds to determine if more input devices 104 are present by returning to step 204 . This process is repeated until the last device in the input branch is found or as shown in decisional step 209 there is an unsuccessful attempt to establish communication an input device 104 .
- PHC 110 determines whether to maintain or remove termination resistor 116 B based on whether any device was located in the input branch of bus 101 . According to the YES branch of decisional step 209 , if PHC 110 was successful, then PHC 110 disconnects resistor 116 B from it parallel electrical connection to PHC 110 , pursuant to step 212 . That is, PHC 110 switch 114 B opens disconnecting resistor 116 B from its parallel electrical connection to PHC 110 . If no input device was present as indicated by the NO branch of decisional step 209 , then PHC 110 maintains termination resistor 116 B in parallel electrical connection to PHC 110 . Thus, bus 101 remains terminated at PHC 110 . At this point, the bus is properly terminated by a process of elimination. PHC 110 must be located on an end point of bus 101 , whether or not output devices 102 are connected to bus 101 (if there were no devices present according to step 209 ).
- FIG. 3 is a flow chart showing an exemplary method 300 for printer 106 to discover output devices 102 on bus 101 and properly terminate bus 101 accordingly.
- Method 300 includes steps 302 - 308 .
- PHC 110 enables a potential output device 102 . That is, PHC 110 sends an ENABLE_ 2 signal to the first potential output devices 102 located on the output side (branch) of printer 106 via a separate wire labeled as ENABLE_ 2 . If an output device 104 is present, it will turn-on and terminate its end of bus 101 by closing switch 114 A.
- PHC 110 attempts to determine if an output device exists on bus 101 .
- PHC 110 attempts to establish communication with the first potential output device 102 by sending a test message (not shown) on bus 101 . If an output device 102 is present on bus 101 , such output device 102 should send a reply message (not shown) to PHC 110 (this message order can be reversed). At this point, PHC 110 knows whether other output device(s) exist on the output branch (to the left of printer 106 ). Then according to decisional step 306 , PHC 110 then repeats steps 302 - 306 until the last possible device connected to the output side of bus 101 is discovered, (in a similar fashion as described with reference to step 208 of FIG. 2 and input devices).
- PHC 110 determines if at least one output device is present in system 100 as indicated by decisional step 307 . According to the NO branch of decisional step 307 , if no output device 102 is present bus 101 is terminated at PHC 110 . That is, in step 308 , switch 114 B is reactivated (closing switch 114 B) causing bus 101 to be terminated with a load across PHC 110 . On the other hand, if at least one output device 102 is present on bus 101 , then a termination resistor 116 A is provided by that last device on the output branch of bus 101 . At this point bus 101 is properly terminated.
- FIG. 4 is a block diagram of an exemplary generic system 400 for terminating a bus.
- Exemplary system 400 includes a CAN bus 101 having at least two end points.
- a first and/or a second set 108 , 112 of an undetermined number of devices may be connected to bus 101 .
- a central controller 110 is also connected to the bus 101 , and is configured to terminate the bus 101 at one of the end points relative to the first or second sets of devices 108 , 112 , if the central controller 110 receives a reply message from the first or second set of devices 108 , 112 in response to a communication test message initially sent by the central controller 110 .
- controllers 108 and 112 are meant to represent one or several devices connected to bus 101 .
- the operational steps of FIGS. 2 and 3 would apply to the generic system 400 of FIG. 4 , except specific references to printer terminology would need to be adapted to the specific generic application.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
An exemplary system includes a bus (such as CAN bus) having at least two end points. A first and/or a second set of an undetermined number of devices may be connected to the bus. A controller is also connected to the bus, and is configured to establish a termination of the bus at one of the end points relative to the first and second sets of devices, dependent upon whether the controller receives a reply message in response to a communication test message sent to the first and second sets of devices at different times. If the controller discovers that devices are connected to the bus in both sets, the controller is relieved of establishing an end point on either end of the bus. Otherwise, if the controller discovers that devices are only connected to the bus in one of the two sets, the controller is therefore, configured to terminate an end of the bus.
Description
- The present invention is related to bus networks, and more particularly, to Controller Area Networks (CAN).
- A bus network is generally the simplest type of network that consists of a communication line having two end points and zero or more intermediate stubs. Any number of devices may be connected to the communication line. One popular bus network is a Controller Area Network (CAN), developed by Bosch GmbH for the automobile applications in the 1980s. The CAN specification requires that the last two devices at the end points of a bus have termination resistors. These termination resistors are required to ensure proper communication between two or more devices connected to the CAN. In most automobile applications, the end points of the CAN bus are fixed. Additionally, most devices attached to the CAN bus in an automobile environment, such as headlights, dashboard and so forth, are pre-wired.
- The CAN protocol has now been adopted to a wide variety of applications. CAN technology is used in some peripheral computer devices, such as printers. The CAN bus may be used to attach optional input and output devices to the printer, such as automated paper trays, bin sorters and many other related input/output devices.
- Unlike the devices deployed in most automobile environments, optional input/output devices used in connection with printers are not fixed. That is, such optional devices may be installed and removed from the CAN on a frequent basis. In the case of printers, it is possible for users to install or remove optional paper handling devices. Each time a device is added or removed from the printer, it is possible that the endpoints of the CAN bus may have changed, and hence, termination of the CAN bus must be adjusted to reflect the addition or deletion of a device.
- In a non-fixed swappable environment, most optional devices when installed on a CAN must have enough intelligence to determine whether or not they are located on the end-point of a CAN bus. If such an intelligent device, determines that it is located on an end-point, then the device must deploy a termination resistor (i.e., terminate the bus), in accordance with the CAN protocol. Some devices today, use other schemes such as current monitoring on an extra “Power On” line to determine if other devices exist on a CAN bus. So, in cases where optional devices might be connected to the bus, detection of these devices is accomplished by monitoring when a downstream device is turned-on and drawing power.
- In cases where optional devices can be plugged-in and out of a printer, on both the input and output sides of the printer, it is common for printers to use two currents sensors to monitor for downstream devices: one sensor for monitoring the input side of the bus and the sensor for monitoring the output side. Using current sensors circuits, however, to detect power consumption on different branches (input/output) of a bus is expensive in terms of design time, cost of hardware elements and customization per product.
- A system and method of terminating a bus. In one implementation, an exemplary system includes a CAN bus having at least two end points. A first and/or a second set of an undetermined number of devices may be connected to the bus. A controller is also connected to the bus, and is configured to terminate the bus at one of the end points relative to the first or second sets of devices, if the controller receives a reply message from the first or second set of devices in response to a communication test message initially sent by the controller.
- The exemplary system, therefore, introduces the broad concept of using a controller device to discover end points of a bus by sending test messages to two distinct sets of potential devices connected to the bus. If reply messages are received from both sets each time, then the controller has discovered that it is not located on an end point and there is no need for the controller to connect a termination resistor to the bus. On the other hand, if a reply message is observed from only one set of potential device(s), then the controller has discovered that it is located on an endpoint of the bus and the controller terminates its end of the bus (i.e., opposite the set of potential device(s) that replied to the controller). Additionally, the controller can instruct each subsequent device to verify it is the last device in the chain in order to have the subsequent device set its termination resistor when appropriate.
- The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears.
-
FIG. 1 is a block diagram of an exemplary system used in a printer environment. -
FIG. 2 is a flow chart illustrating an exemplary method for a controller to discover input devices on a bus and properly terminate the bus accordingly. -
FIG. 3 is a flow chart of an exemplary method for a controller to discover output devices on a bus and properly terminate the bus accordingly. -
FIG. 4 is a block diagram of an exemplary generic system for terminating a bus. -
FIG. 1 is a block diagram of anexemplary system 100.System 100 includes abus 101. In the exemplary implementation,bus 101 is a two wire CAN bus that functions in accordance with the CAN specification, Version 2.0B (ISO11898), Robert Bosch GmbH, the entire contents of which are incorporated herein by reference. Nevertheless, it is possible that the principles described in relation to theexemplary CAN bus 101 may be adapted for alternative communication protocols and serial busses, such as the Motorola Interconnect Bus, or other wire busses developed hereafter. Other topologies are possible forbus 101 such as a daisy chain topology with each individual bus controlled by an agent. -
System 100 further includesoptional output devices 102,optional input devices 104, and aprinter 106. Each of thesedevices controller 108, Paper Handling Controller (PHC) 110 andcontroller 112, respectively. As shall be become more apparent from the description below,printer 106 serves as a central controller in the operation ofsystem 100. - Exemplary sets of optional printer output and
input devices - As used herein, “printer,” “printer device” or the like, means any electronic device having data communications, data storage capabilities, and/or functions to render printed characters and images on a print media. A printer device may be a printer, fax machine, copier, plotter, and the like. The term “printer” includes any type of printing device using a transferred imaging medium, such as ejected ink, to create an image on a print media. Examples of such a printer can include, but are not limited to, laser printers, inkjet printers, plotters, portable printing devices, as well as multi-function combination devices. Although specific examples may refer to these printers, such examples are not meant to limit the scope of the claims or the description, but are meant to provide a specific understanding of the described implementations.
- Furthermore, while the illustrated implementation refers to devices used in a printing environment, those skilled in the pertinent art will readily realize that nonprinting devices could alternatively be employed in other environments, such as automobiles, boating and other CAN environments. For instance, in an automobile environment,
optional output devices 102 may include headlights, stereo and security system. In place of aprinter 106, may be an automobile central processor, whereasinput devices 104 may include mobile telephones and navigational devices. In any event, the applicable devices 102-106 would correlate to the environment in which they are deployed, and the controllers 108-112 would be some type of intelligent device capable of performing CAN protocol communications or the like (see for instanceFIG. 4 below). - Referring back to
FIG. 1 , a single output/input device FIG. 1 to simplify the illustration ofsystem 100. It should be appreciated that in a printer environment, any number of output/input devices may be installed on thebus 101. For instance,printer 106 could have (i) no devices plugged-in on either its input or output branches (for purposes of illustration, a branch refers to anything to the right or left ofprinter 106 that is connected to bus 101), (ii) input device(s) attached lobus 101 and nothing else; (iii) output device(s) connected tobus 101 and nothing else; and (iv) both input and output device(s) connected tobus 101. - In the case where
printer 106 is the only device connected tobus 101, there is no communication onbus 101. This is a null condition because there are no endpoints tobus 101 other thanprinter 106. - In the case where an
optional input device 104 is attached toprinter 106 and nooutput devices 102, thenprinter 106 forms one end ofbus 101 and theinput device 104 forms the other. If additional input devices are connected tobus 101, thenprinter 106 remains an end point ofbus 101. - The same holds true where an
optional output device 102 is attached toprinter 106 and noinput devices 104, thenprinter 106 forms one end ofbus 101, and theoutput device 102 forms the other. In this case, it does not matter, whetheradditional output devices 102 are connected to bus 101 (to the left of printer 106), becauseprinter 106 remains an endpoint onbus 101 whether there are more than oneoutput device 102 or not. - In the case where there are both output/input device(s) 102, 104 connected on both sides (branches) of
printer 106 onbus 101, then the output device(s) 102 and input device(s) 104 forms an end point ofbus 101. In this scenario,printer 106 is not located on an endpoint ofbus 101 and therefore,printer 106 does not terminatebus 101. -
Printer 106 through its paper handling controller (PHC) 110 determines where the endpoints are on thebus 101 and ensures proper termination.PHC 110 sometimes referred to as the formatter of the printer, serves as central controller forprinter 106.Controllers bus 101 and ensure proper termination. In order to assure proper termination at all times, enabling devices disconnect their termination resistor when enabling the next device in the chain and the most recently enabled device connects its termination resistor before any communication is attempted. The last device in the chain (input or output branch) reconnects its termination resistor after determining that no more devices are present. - “Terminate” means that a
device bus 101, connecttermination resistors 116A-C in parallel with the devices. This is accomplished by controllers 108-112 sending actuation signals (not shown) to theirrespective switches 114A-C, to either connect or disconnect theirresistors 116A-C in parallel with their respective devices 102-106. This is also referred to as activating a termination load across a controller device, where the termination load is a resistor or any other equivalent resistant devices. Those skilled in the art are familiar with the operation of switches, resistors and components (such as filters) that provide equivalent circuit characteristics to resistors. - The operation of the
exemplary system 100, will now be described with reference to the flow charts ofFIGS. 2 and 3 . Referring initially toFIG. 2 is a flow chart illustrating anexemplary method 200 forPHC 110 to discoverinput devices 104 onbus 101 and properly terminatebus 101 accordingly. Themethod 200 is performed by software loaded intoPHC 110. Nevertheless,method 200 could be performed in any combination of hardware, firmware and software.Method 200 includes: exemplary operational steps 202-212. Prior to initiatingmethod 200, it is assumed thatprinter 106 is powered-on. - In
step 202,PHC 110 activates atermination load 116B acrossprinter 106. That is,PHC 110 closes switch 114B thereby connecting resistor 16B in parallel withPHC 110. At this point,bus 101 is terminated at thePHC 110 end ofbus 101. - In
step 204,PHC 110 enables the first of a set ofpotential input devices 104.PHC 110 sends ENABLE_1 signal the firstpotential input device 104 on the input side (branch) ofprinter 106 via a separate wire labeled as ENABLE_1. If aninput device 104 is present, it will enable and terminate its end ofbus 101 by closingswitch 114C. At this point, all devices connected to the output branch of bus 101 (left side of printer 106) are inactive. - When the Enable_1 signal is implemented in a daisy chain form,
PHC 110 is typically the first device to assert the Enable_1 signal. To sense any further input devices, however, the last device to be enabled via the Enable_1 signal, asserts its own Enable_1 signal to discover if other devices onbus 101 exist. One way to accomplish this signal structure is instructPHC 110 to command each subsequent sensedinput device 104 to assert its Enable_1 signal to discover a next input device. Other schemes such as time device sensing could be used. - Next in
step 206,PHC 110 attempts to determine if an input device exists onbus 101.PHC 110 attempts to establish communication with apotential input device 104 by sending a test message (not shown) onbus 101. If aninput device 104 is present onbus 101,such input device 104 should send a reply message (not shown) to PHC 110 (note that this message exchange order can by reversed). At this point,PHC 110 knows whether a device exists on the input branch (to the right of printer 106). Test messages are actually binary configuration commands sent byPHC 110 according to the CAN protocol. Whereas reply message are responses to the configuration commands by either input/output devices. - So, if
PHC 110 was successful in establishing communication with an input device (i.e.,PHC 110 received at a reply message), then according to the YES branch ofdecisional block 208,PHC 110 proceeds to determine ifmore input devices 104 are present by returning to step 204. This process is repeated until the last device in the input branch is found or as shown indecisional step 209 there is an unsuccessful attempt to establish communication aninput device 104. - Next in
decisional step 209,PHC 110 determines whether to maintain or removetermination resistor 116B based on whether any device was located in the input branch ofbus 101. According to the YES branch ofdecisional step 209, ifPHC 110 was successful, thenPHC 110 disconnects resistor 116B from it parallel electrical connection toPHC 110, pursuant to step 212. That is,PHC 110switch 114B opens disconnectingresistor 116B from its parallel electrical connection toPHC 110. If no input device was present as indicated by the NO branch ofdecisional step 209, thenPHC 110 maintainstermination resistor 116B in parallel electrical connection toPHC 110. Thus,bus 101 remains terminated atPHC 110. At this point, the bus is properly terminated by a process of elimination.PHC 110 must be located on an end point ofbus 101, whether or notoutput devices 102 are connected to bus 101 (if there were no devices present according to step 209). - To ascertain where the other end point is on
bus 101,PHC 110 must discover if any potential output devices exists. Referring toFIG. 3 is a flow chart showing an exemplary method 300 forprinter 106 to discoveroutput devices 102 onbus 101 and properly terminatebus 101 accordingly. Method 300 includes steps 302-308. - In
step 302,PHC 110 enables apotential output device 102. That is,PHC 110 sends an ENABLE_2 signal to the firstpotential output devices 102 located on the output side (branch) ofprinter 106 via a separate wire labeled as ENABLE_2. If anoutput device 104 is present, it will turn-on and terminate its end ofbus 101 by closingswitch 114A. - Next in
step 304,PHC 110 attempts to determine if an output device exists onbus 101.PHC 110 attempts to establish communication with the firstpotential output device 102 by sending a test message (not shown) onbus 101. If anoutput device 102 is present onbus 101,such output device 102 should send a reply message (not shown) to PHC 110 (this message order can be reversed). At this point,PHC 110 knows whether other output device(s) exist on the output branch (to the left of printer 106). Then according todecisional step 306,PHC 110 then repeats steps 302-306 until the last possible device connected to the output side ofbus 101 is discovered, (in a similar fashion as described with reference to step 208 ofFIG. 2 and input devices). - At a point when
PHC 110 is not successful in establishing communication with an output device 102 (i.e., no reply message was received by PHC 110), then according to the “NO” branch ofdecisional block 306,PHC 110 determines if at least one output device is present insystem 100 as indicated bydecisional step 307. According to the NO branch ofdecisional step 307, if nooutput device 102 ispresent bus 101 is terminated atPHC 110. That is, instep 308,switch 114B is reactivated (closingswitch 114B) causingbus 101 to be terminated with a load acrossPHC 110. On the other hand, if at least oneoutput device 102 is present onbus 101, then atermination resistor 116A is provided by that last device on the output branch ofbus 101. At thispoint bus 101 is properly terminated. -
FIG. 4 is a block diagram of an exemplary generic system 400 for terminating a bus. Exemplary system 400 includes aCAN bus 101 having at least two end points. A first and/or asecond set bus 101. Acentral controller 110 is also connected to thebus 101, and is configured to terminate thebus 101 at one of the end points relative to the first or second sets ofdevices central controller 110 receives a reply message from the first or second set ofdevices central controller 110. It should be noted that while only a single box is shown forcontrollers bus 101. The operational steps ofFIGS. 2 and 3 would apply to the generic system 400 ofFIG. 4 , except specific references to printer terminology would need to be adapted to the specific generic application. - Thus, although some preferred implementations of the various methods and arrangements of the present invention haw been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the exemplary aspects disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
Claims (14)
1. A system comprising:
a bus having at least two end points;
first and second sets of devices each containing a quantity of devices from 0 to N, wherein N is any integer greater than 0, and wherein said first and second sets of devices are connected to said bus;
a controller coupled to said bus, configured to discover whether to terminate said bus at one of said end points relative to said first and second sets of devices, dependent upon whether said controller receives a reply message in response to a test message sent to said first and second sets of devices.
2. The system as recited in claim 1 , wherein said controller is configured to terminate one end of said bus opposite said first set of devices, if said controller receives a reply message from said first set of devices, but does not receive a reply message from said second set of devices.
3. The system as recited in claim 1 , wherein said controller is configured to terminate one end of said bus opposite said second set of devices, if said controller receives a reply message from said second set of devices, but does not receive a reply message from said first set of devices.
4. The system as recited in claim 1 , wherein said controller is further configured not to terminate either end of said bus, if said controller receives reply messages from said first and second set devices.
5. The system as recited in claim 1 , wherein said controller is configured to (i) deactivate said second set of devices and (ii) enable said first set of devices, when sending a test message to said first set of devices.
6. The system as recited in claim 1 , wherein said controller is configured to (i) keep enabled said first set of devices and (ii) enable said second set of devices, when sending a test message to said second set of devices.
7. The system as recited in claim 1 , wherein said bus is a CAN bus and said controller is a paper handling controller for a printing device.
8-14. (canceled)
15. A method of terminating a CAN bus, comprising:
enabling a first branch of said CAN bus;
establishing a controller as a termination point on said CAN bus by connecting a termination resistor in parallel with said controller;
determining whether there is a device, other than said controller connected to said first branch, by sending a first communication message on said CAN bus and awaiting a reply message;
if a reply message is received, disconnecting said termination resistor from said controller, thereby removing said controller as said termination point on said first branch;
leaving enabled said first branch of said CAN bus;
enabling a second branch of said CAN bus;
determining whether there is a device, other than said controller connected to said second branch, by sending a second communication message on said CAN bus and awaiting a reply message;
if no reply message is received in response to said second communication message, re-establishing said controller as said termination point on said CAN bus by reconnecting said termination resistor in parallel with said controller.
16. The method as recited in claim 15 , wherein said resistor is connected and disconnected by a switch managed by said controller.
17. The method as recited in claim 15 , wherein said controller is a paper handling controller.
18. The method as recited in claim 15 , wherein said first branch is a portion of said CAN bus with at least one paper handling device coupled thereto.
19. The method as recited in claim 15 , wherein said second branch is a portion of said CAN bus with at least one paper handling device coupled thereto.
20. The method as recited in claim 15 , further comprising maintaining said controller as a termination point on said CAN bus if no reply message is received in response to said first communication message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/195,999 US20050268002A1 (en) | 2002-01-04 | 2005-08-03 | System and method for terminating a bus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/039,106 US6970953B2 (en) | 2002-01-04 | 2002-01-04 | System and method for terminating a bus |
US11/195,999 US20050268002A1 (en) | 2002-01-04 | 2005-08-03 | System and method for terminating a bus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,106 Division US6970953B2 (en) | 2002-01-04 | 2002-01-04 | System and method for terminating a bus |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050268002A1 true US20050268002A1 (en) | 2005-12-01 |
Family
ID=21903706
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,106 Expired - Fee Related US6970953B2 (en) | 2002-01-04 | 2002-01-04 | System and method for terminating a bus |
US11/195,999 Abandoned US20050268002A1 (en) | 2002-01-04 | 2005-08-03 | System and method for terminating a bus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/039,106 Expired - Fee Related US6970953B2 (en) | 2002-01-04 | 2002-01-04 | System and method for terminating a bus |
Country Status (1)
Country | Link |
---|---|
US (2) | US6970953B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090185215A1 (en) * | 2006-04-24 | 2009-07-23 | Thomas Kreppold | Method for the operation of a data bus, and data bus system |
US9489333B2 (en) * | 2014-09-27 | 2016-11-08 | Intel Corporation | Adaptive termination scheme for low power high speed bus |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7312628B2 (en) * | 2005-11-29 | 2007-12-25 | Motorola, Inc. | Method and apparatus for CAN bus auto-termination |
JP5196893B2 (en) * | 2007-07-10 | 2013-05-15 | キヤノン株式会社 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD FOR COMMUNICATION SYSTEM |
EP2166717A1 (en) * | 2008-09-22 | 2010-03-24 | Stoneridge Electronics AB | A device for connection to a can-bus |
US7855573B1 (en) | 2009-12-14 | 2010-12-21 | Caterpillar Trimble Control Technologies Llc | Controller area network active bus terminator |
DE102011000297B3 (en) | 2011-01-24 | 2012-05-03 | OCé PRINTING SYSTEMS GMBH | Printing system e.g. inkjet printing system has data bus portions whose terminating resistors are switched in series with end switches coupled with data switches, such that data switches and end switches are alternatively opened |
DE102011000296B3 (en) | 2011-01-24 | 2012-05-24 | OCé PRINTING SYSTEMS GMBH | Printing system, particularly tandem printing system, comprises two printing devices, which are selectively operated in single-mode and twin-mode, where printing devices are control-technically connected with each other in twin-mode |
DE102012223530B4 (en) * | 2012-12-18 | 2023-07-06 | Robert Bosch Gmbh | Dynamic line termination of communication buses in battery module monitoring circuits and a method of performing line termination during initialization of the monitoring system |
US10197602B1 (en) * | 2012-12-21 | 2019-02-05 | Jody Nehmeh | Mini current measurement sensor and system |
US20140215118A1 (en) * | 2013-01-31 | 2014-07-31 | Kabushiki Kaisha Toshiba | Switching circuit, semiconductor device, and electronic apparatus |
US9678847B2 (en) * | 2014-05-27 | 2017-06-13 | GM Global Technology Operations LLC | Method and apparatus for short fault detection in a controller area network |
CN105404568A (en) * | 2015-12-03 | 2016-03-16 | 广州汽车集团股份有限公司 | CAN bus test system and test method |
WO2018148683A1 (en) * | 2017-02-10 | 2018-08-16 | Sologrid, Inc. | Portable renewable energy power converter/inverter and storage supply systems and methods |
CN106886214B (en) * | 2017-03-28 | 2019-05-14 | 天津大学 | CAN controller chip functions test macro and test method |
US11133957B2 (en) | 2019-05-29 | 2021-09-28 | Trane International Inc. | HVAC controller area network hybrid network topology |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320508A (en) * | 1979-04-06 | 1982-03-16 | Fuji Electric Co., Ltd. | Self-diagnosing, self-correcting communications network |
US5570037A (en) * | 1994-07-20 | 1996-10-29 | Methode Electronics | Switchable differential terminator |
US6115831A (en) * | 1996-03-26 | 2000-09-05 | Daimlerchrysler Ag | Integrated circuit for coupling a microcontrolled control apparatus to a two-wire bus |
US6240335B1 (en) * | 1998-12-14 | 2001-05-29 | Palo Alto Technologies, Inc. | Distributed control system architecture and method for a material transport system |
US6522165B2 (en) * | 2001-06-29 | 2003-02-18 | Intel Corporation | Bus termination scheme for flexible uni-processor and dual processor platforms |
US6587968B1 (en) * | 1999-07-16 | 2003-07-01 | Hewlett-Packard Company | CAN bus termination circuits and CAN bus auto-termination methods |
US6839789B2 (en) * | 2000-10-18 | 2005-01-04 | Festo Ag & Co. | Bus repeater for coupling a first and second bus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0684925A (en) * | 1992-07-17 | 1994-03-25 | Toshiba Corp | Semiconductor substrate and its treatment |
-
2002
- 2002-01-04 US US10/039,106 patent/US6970953B2/en not_active Expired - Fee Related
-
2005
- 2005-08-03 US US11/195,999 patent/US20050268002A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320508A (en) * | 1979-04-06 | 1982-03-16 | Fuji Electric Co., Ltd. | Self-diagnosing, self-correcting communications network |
US5570037A (en) * | 1994-07-20 | 1996-10-29 | Methode Electronics | Switchable differential terminator |
US6115831A (en) * | 1996-03-26 | 2000-09-05 | Daimlerchrysler Ag | Integrated circuit for coupling a microcontrolled control apparatus to a two-wire bus |
US6240335B1 (en) * | 1998-12-14 | 2001-05-29 | Palo Alto Technologies, Inc. | Distributed control system architecture and method for a material transport system |
US20010023377A1 (en) * | 1998-12-14 | 2001-09-20 | Palo Alto Technologies, Inc. | Distributed control system architecture and method for a material transport system |
US6587968B1 (en) * | 1999-07-16 | 2003-07-01 | Hewlett-Packard Company | CAN bus termination circuits and CAN bus auto-termination methods |
US6839789B2 (en) * | 2000-10-18 | 2005-01-04 | Festo Ag & Co. | Bus repeater for coupling a first and second bus |
US6522165B2 (en) * | 2001-06-29 | 2003-02-18 | Intel Corporation | Bus termination scheme for flexible uni-processor and dual processor platforms |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090185215A1 (en) * | 2006-04-24 | 2009-07-23 | Thomas Kreppold | Method for the operation of a data bus, and data bus system |
US8253960B2 (en) * | 2006-04-24 | 2012-08-28 | OCé PRINTING SYSTEMS GMBH | Method for the operation of a data bus, and data bus system |
US20120218601A1 (en) * | 2006-04-24 | 2012-08-30 | Thomas Kreppold | Method for the operation of a data bus, and data bus system |
US8300258B2 (en) * | 2006-04-24 | 2012-10-30 | OCé PRINTING SYSTEMS GMBH | Method for the operation of a data bus, and data bus system |
US9489333B2 (en) * | 2014-09-27 | 2016-11-08 | Intel Corporation | Adaptive termination scheme for low power high speed bus |
Also Published As
Publication number | Publication date |
---|---|
US6970953B2 (en) | 2005-11-29 |
US20030131159A1 (en) | 2003-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050268002A1 (en) | System and method for terminating a bus | |
CA2229472A1 (en) | Data communication apparatus and method | |
JP5822634B2 (en) | Recording apparatus and operation setting method thereof | |
EP1125412B1 (en) | Apparatus and method for automatically selecting a physical layer transceiver for a home network station | |
US7489902B2 (en) | Systems and methods for facilitating simultaneous communication over multiple wired and wireless networks | |
US6519290B1 (en) | Integrated radio frequency interface | |
US20030100335A1 (en) | Adaptor for wireless network | |
JPH0869219A (en) | Electronic image processor | |
JPH0779365B2 (en) | Interface subsystem applicable to multiple interface standards | |
JPH11161444A (en) | Network system, compound device, control method therefor and storage medium | |
TW508495B (en) | Apparatus and method for conrrolling device connection | |
JP2001184177A (en) | Option discrimination system | |
JP2000132353A (en) | Printing system by infrared communication | |
JP3937434B2 (en) | Electronic equipment with a communication controller that can selectively set the roles of both the host and the device | |
JP2015082767A (en) | Information processing device, control method therefor, and program | |
JP7342555B2 (en) | Communication device and image forming device | |
US7453348B1 (en) | Method and system for distributing management information over power networks | |
JP2020022016A (en) | Communication system, communication method, and image formation device | |
JP3094734U (en) | Printer | |
JP2002140140A (en) | Device provided with interface | |
JPH05181628A (en) | Print data receiving method and printer device using said receiving method | |
JP2019083471A (en) | Communication device, restoration method, restoration program, and image forming apparatus | |
JPH0911585A (en) | Printer and control method for automatically changing over plurality i/fs | |
JP3226841B2 (en) | Printer device | |
JPH11327817A (en) | System and method for communication and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |