US20050268002A1 - System and method for terminating a bus - Google Patents

System and method for terminating a bus Download PDF

Info

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
Application number
US11/195,999
Inventor
Paul Gregory
Ricardo Osuna
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/195,999 priority Critical patent/US20050268002A1/en
Publication of US20050268002A1 publication Critical patent/US20050268002A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4086Bus impedance matching, e.g. termination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

    TECHNICAL FIELD
  • The present invention is related to bus networks, and more particularly, to Controller Area Networks (CAN).
  • BACKGROUND
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • FIG. 1 is a block diagram of an exemplary system 100. System 100 includes a bus 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 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. As shall be become more apparent from the description below, 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. Of course, 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.
  • 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 a printer 106, may be an automobile central processor, whereas input 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 instance FIG. 4 below).
  • Referring back to FIG. 1, a single output/ input device 102, 104 is shown in FIG. 1 to simplify the illustration of system 100. It should be appreciated that in a printer environment, any number of output/input devices may be installed on the bus 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 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.
  • 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.
  • In the case where an optional input device 104 is attached to printer 106 and no output devices 102, then 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.
  • The same holds true where an optional output device 102 is attached to printer 106 and no input devices 104, then 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.
  • 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 116A-C in parallel with the devices. This is accomplished by controllers 108-112 sending actuation signals (not shown) to their respective switches 114A-C, to either connect or disconnect their resistors 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 of FIGS. 2 and 3. Referring initially to 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.
  • In step 202, PHC 110 activates a termination load 116B across printer 106. That is, PHC 110 closes switch 114B thereby connecting resistor 16B in parallel with PHC 110. At this point, bus 101 is terminated at the PHC 110 end of bus 101.
  • In step 204, 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 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 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.
  • Next in step 206, 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). 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 by PHC 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 of decisional block 208, 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.
  • Next in decisional step 209, PHC 110 determines whether to maintain or remove termination resistor 116B 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 116B from it parallel electrical connection to PHC 110, pursuant to step 212. That is, PHC 110 switch 114B opens disconnecting resistor 116B 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 116B 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).
  • To ascertain where the other end point is on bus 101, PHC 110 must discover if any potential output devices exists. Referring to 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.
  • In step 302, 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 114A.
  • Next in step 304, 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).
  • 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 of decisional block 306, 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 114B is reactivated (closing switch 114B) 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 116A 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. It should be noted that while only a single box is shown for controllers 108 and 112, they 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.
  • 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.
US11/195,999 2002-01-04 2005-08-03 System and method for terminating a bus Abandoned US20050268002A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0684925A (en) * 1992-07-17 1994-03-25 Toshiba Corp Semiconductor substrate and its treatment

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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