text:
A data communication system and an associated network node implementation is disclosed that, in certain embodiments, uses single-channel bi-directional communication links between nodes to send frames of data. The network nodes can be connected together in a ring or daisy chain topology with data frames sent in alternating directions through the bi-directional links. Such networks initially configured in a physical ring topology can tolerate single point failures by automatically switching to a logical daisy chain topology.
1. A method for use in a network node within an interconnected network of nodes, said method comprising:
forwarding data frames received on a first bi-directional port of the network node to a second bi-directional port of the network node for outbound transmission on the second bi-directional port;
forwarding data frames received on the second bi-directional port to the first bi-directional port for outbound transmission on the first bi-directional port, wherein the first and second ports comprise single-channel bi-directional ports;
if a data frame received on a given bi-directional port includes a message addressed to the network node, then inserting a message status symbol into the next data frame transmitted outbound on the given bi-directional port; and
assigning an address for the network node in response to a received data frame which includes an address discovery command, wherein assigning comprises:
incrementing an address conveyed in the address discovery command data frame;
storing the incremented address as the network node address; and
forwarding the address discovery command with the incremented address in the next transmitted data frame.
2. The method as recited in
3. The method as recited in
4. The method as recited in
5. A method for use in a network node within an interconnected network of nodes, said method comprising:
forwarding data frames received on a first bi-directional port of the network node to a second bi-directional port of the network node for outbound transmission on the second bi-directional port;
forwarding data frames received on the second bi-directional port to the first bi-directional port for outbound transmission on the first bi-directional port, wherein the first and second ports comprise single-channel bi-directional ports; and
if a data frame received on a given bi-directional port includes a message addressed to the network node, then inserting a message status symbol into a forwarded data frame received on the other port of the network node, and transmitted outbound on the given bi-directional port.
6. The method as recited in
7. The method as recited in
inserting, into a data frame received on one port, a new message for outbound transmission of the data frame including the new message on the other port.
8. The method as recited in
if the new message comprises a broadcast message, inserting the broadcast message into a second data frame received on the other port, for outbound transmission of the second data frame including the broadcast message on the one port.
9. The method as recited in
arbitrating the relative priority of the new message and any existing message carried by the data frame received on the one port; and
if the new message wins arbitration, inserting the new message into the data frame and preempting the existing message, for outbound transmission of the data frame including the new message on the other port.
10. The method as recited in
the arbitrating is performed bit-serially, and a new priority indicator inserted as soon as the network node wins the arbitration.
11. The method as recited in
if the new message is shorter than the preempted message, padding the new message to the length of the preempted message.
12. The method as recited in
if the preempted message is a broadcast message, inserting a negative acknowledge (NOT ACK) message status symbol in next frame transmitted outbound on the port which received the data frame containing the preempted broadcast message.
13. The method as recited in
if the new message loses arbitration and is not inserted into the data frame, queuing the new message for retransmission in a subsequent data frame and increasing the priority of the new message to increase likelihood of winning a subsequent arbitration.
14. The method as recited in
if the next data frame received on the other port includes an ACK symbol, removing the ACK symbol from said next data frame before forwarding to the one port; and
if the next data frame received on the other port does not include an ACK symbol, queuing the new message for retransmission in the next available data frame.
15. The method as recited in
maintaining a table of network node addresses reachable by a data frame transmitted on each respective port; and
sending a message to a destination node only in a data frame transmitted on the corresponding port.
16. The method as recited in
triggering a network topology reconfiguration after a certain period of inbound inactivity on a previously active port.
17. The method as recited in
18. The method as recited in
a start sequence including a plurality of bit transitions for synchronizing an internal reference clock of the network node receiving the data frame.
19. The method as recited in
20. The method as recited in
arbitrating with other devices which are likewise configurable to operate as a timing master node, to determine whether the network node will operate as the timing master node for the network if the other devices are not configured to operate as the timing master node.
21. The method as recited in
forwarding data frames received on a third bi-directional port of the network node to a fourth bi-directional port of the network node for outbound transmission on the fourth bi-directional port;
forwarding data frames received on the fourth bi-directional port to the third bi-directional port for outbound transmission on the third bi-directional port; and
if a data frame received on one of the first and second bi-directional ports addresses a network node reachable from the third or fourth ports, forwarding the data frame to said third or fourth port.
1. Field of the Invention
This invention relates to a data communication system that preferably uses bi-directional communication links between network nodes to send frames of data.
2. Description of the Related Art
Modern data communication networking can be traced back to at least the late 1950s and early 1960s with the introduction of the Telecommunication carrier or T-carrier system by Bell Labs for communicating digitized voice streams around the world. The personal computer revolution triggered the introduction of a variety of computer network technologies, including ARCNET, Token Ring, Ethernet, and FDDI, in the late 1970s and early 1980s, with Ethernet becoming the dominate computer networking protocol over time. As the demand for wide area data communication grew, the telecommunications industry responded in the late 1980s and early 1990s with the introduction of technologies such SONET to carry the ever growing data traffic along with the traditional voice streams.
With the growth of personal computers in the early 1980s came the need to interconnect them with peripherals such as printers and modems, which lead to the standardization of PC serial and parallel ports. As the number and complexity of PC peripherals grew, protocols such as Universal Serial Bus (USB) from Intel and Firewire (IEEE 1394) from Apple were introduced in the middle 1990s to support the new functionality, such as Audio/Video (A/V) devices, and to reduce the number of connectors needed on a PC.
The need for real-time data communication networks for controlling components in automobiles came with the introduction of fuel injection systems in the early 1980s. Many car makers and suppliers responded with proprietary protocols, such as Control Area Network (CAN) from Germany, Vehicle Area Network (VAN) from France, and J1850 from the US, with CAN becoming the dominate control protocol over time.
During the early 1990s increasing demand for information and entertainment (infotainment) in vehicles with the associated increase in bandwidth and streaming capabilities lead to the development of protocols such as Multi-Media Link (MML) from Delphi and ST Microelectronics, and Media Oriented System Transport (MOST) from Oasis Siliconsystems and then SMSC. At the same time, Texas Instruments was promoting an automotive variant of IEEE 1394; however, over time MOST became the dominant protocol in the automotive infotainment market.
Although a wide variety of networking technologies from markets such as telecommunications, computer, and consumer electronics were available at the times, the automotive industry developed and selected unique networking technologies such as CAN and MOST due to special automotive requirements, such as robustness, performance, quality, and limited transmission distance. Many of the features and capabilities of networks such as CAN and MOST incorporated ideas from other markets, but fine tuned them for automotive applications. For instance, CAN uses the same shared bus topology as the original coaxial cable based Ethernet; however, arbitration was improved to make it more deterministic.
The latest automotive networking technology to be introduced is FlexRay, which has been developed and promoted by German and US car makers targeted at next generation �X by wire� applications. These applications refer to systems such as braking and steering being controlled by digital communications instead of traditional mechanics and hydraulics. Such a system needs high throughput and low latency, and must be deterministic and fault tolerant. The FlexRay protocol achieves these requirements, but at significant cost, since redundant cabling provides the fault tolerance.
The FlexRay topology is based on a redundant active star. All nodes have 2 ports, which connect to 2 different active stars, which then connect to all other nodes providing single point fault tolerance. Each link to the active star is single twisted pair wire capable of bi-directional communication and data sent from one node is broadcast to all nodes. The active star topology with bi-directional cabling and broadcast messaging is the same as the original ARCNET. The redundant star is new with FlexRay.
In the FlexRay protocol, the highest level in the communication timing hierarchy is a communication cycle that repeats at a fixed rate, which is preferably set by one timing reference. All other nodes have free running clocks that are periodically synchronized to the timing reference, which results in some jitter on the local network clocks. The communication cycle is divided in a static segment and a dynamic segment for communicating data frames. The static segment is time division multiplexed with each timeslot dedicated to a particular node for high priority deterministic communication. The dynamic segment provides shared bandwidth for lower priority, which is allocated in an implicit token ring manner to provide deterministic behavior.
Such fixed rate communication cycles with time division multiplexing dates back to the late 1950s with the introduction of T1. The concept of dividing the cycle into static and dynamic segments was seen as early as the early 1990s with introduction of Firewire and USB and may have existed early in the telecom market. FlexRay's way of dividing between static and dynamic segments, however, is closer to MOST than Firewire or USB. Something that appears to be new with FlexRay is the implicit token ring arbitration for the dynamic bandwidth.
FlexRay was developed for X-by-wire applications since other automotive networks such as CAN and MOST did not fulfill the necessary requirements for bandwidth and deterministic behavior (in the case of CAN), and fault tolerance (in the case of MOST). The CAN protocol typically uses a twisted pair cable shared by all nodes, which can send and receive messages, but not simultaneously. Messages are sent serially on the bus starting with an ID and are sensed by all nodes. If multiple nodes start sending at the same time, the message with the dominant ID wins arbitration and finishes sending the message. Other nodes with non-dominant IDs stop transmission until the dominate message has been sent. The CAN protocol has some fault protection in that if one of the two conductors are shorted to power or ground, communication over the other conductor is still possible. CAN is not appropriate for X-by-wire applications since the data rate is too low, less than 1 Mbit/sec, and there are no dedicated timeslots for high priority communication.
A MOST network typically uses a ring topology of uni-directional point to point links. The physical layer can be optical or twisted pair wire and supports data rates from 25-150 Mbits per second. Like a FlexRay communication cycle, a MOST frame repeats at a fixed rate and is divided into time division multiplexed fields for dedicated data sources and shared fields that all nodes can arbitrate for. Unlike FlexRay and advantageous to MOST, MOST nodes are synchronized by PLLs to the timing source node, which minimizes jitter on the local network clocks. Unlike FlexRay and advantageous to FlexRay, MOST did not provide any fault tolerance at the time. Unlike FlexRay and advantageous for some types of communication but not others, the time division multiplexed field of MOST only supported raw streaming data while the TDM fields of FlexRay only transport packets addressable to one or more destinations. Additionally, nodes arbitrate in a token ring manner for bandwidth in the dynamic segment of a FlexRay communication cycle, while MOST uses a message priority based arbitration scheme somewhat similar to CAN.
MOST, which was initially introduced with an optical physical layer, traces its roots to the telecom world of T1 and SONET (Synchronous Optical NETwork), which was first proposed to the standards organization ANSI in 1985. Like SONET, MOST has a ring topology with uni-directional point to point links and a repetitive frame structure that is time division multiplexed into a number of channels. In both SONET and MOST all nodes are precisely synchronized by PLLs at the bit level timing to a single timing reference, which is unlike any of the computer or computer peripheral networks mentioned except possibly for IBM's Token Ring, which is not time division multiplexed.
For both SONET and MOST, precisely synchronized clocks at all network nodes facilitate the transport of any data streaming from an analog to digital (A/D) converter at a source to a digital to analog (D/A) converter at a destination. Additionally, TDM channels dedicated to A/Ds synchronized to either the SONET or MOST bit timing provide a raw data transport mechanism with zero overhead.
Although both SONET and MOST can allocate one or more TDM channels for data packet communication, MOST has low level mechanisms, such as arbitration, acknowledgement, error detection, and system control, that are appropriate for local area networks but not the wide area telecommunications networks that SONET services. Although implemented differently, message arbitration and acknowledgement in MOST packet communication channels can be traced back to the early computer communication protocols such as ARCNET and IBM's Token Ring. The primary innovation of the automotive MOST protocol was the specific combination of particular ideas from the telecom and computer worlds to produce a simple and cost effective networking technology focused on the needs of the target automotive market.
Although MOST has plenty of bandwidth for X-by-wire applications and has the dedicated timeslots that provide guaranteed bandwidth, FlexRay was developed primarily because MOST did not provide fault tolerance at the time. Secondly, MOST's TDM channels communicate raw streaming data like SONET instead of packets like CAN. Just like with SONET, MOST could provide single point fault tolerance with a redundant communication channel traveling in the opposite direction of the main ring, however, like FlexRay, this doubles the cost of the physical layer.
The present invention provides a fault tolerant network capable of supporting the existing applications serviced by MOST and CAN and the new applications of X-by-wire targeted by FlexRay without the prohibitive cost of duplicate cabling, which includes both the wiring and any necessary hubs or stars.
An improved data communication system in accordance with the present invention preferably uses single-channel bi-directional point-to-point links between nodes to send frames of data. The network nodes can be connected together in a ring or daisy chain topology with successive data frames sent in alternating directions through the bi-directional links. A network that is initially configured as a ring can re-configure to a daisy chain when a communication link or network node fails. Nodes adjacent to a faulty link or node can determine that a failure exists and trigger the network to re-configure. When the failing link or node recovers, the network can detect the change and revert back to the ring configuration.
When implemented with a digital phase locked loop (DPLL) for clock recovery, all nodes can operate synchronously to each other as in SONET and MOST, which eliminates the need for special �clock synchronization calculation schedules� as in FlexRay. The jitter on the local clocks synchronized to the network is similar to MOST and substantially lower than for FlexRay, which is advantageous for real time streaming applications such as audio and video.
In certain embodiments, the system has one timing master that provides the bit and frame timing for a ring or daisy chain, which is similar to protocols such as SONET, Token Ring, and MOST. The frame can be a fixed length as in SONET, MOST, and FlexRay or variable length as in Token Ring. Frames can repeat at a relatively high rate and include a single message, like Token Ring, or can repeat at a relatively low rate, be time division multiplexed, and include many messages or raw data streams like SONET, MOST, and FlexRay.
In certain embodiments in a ring configuration, the timing master sends a data frame from a first port, which travels around the ring and returns to the second port of the timing master. After the complete data frame has been received, the timing master sends a next data frame from the second port. This data frame travels back around the ring to the first port of the timing master. After the first port receives the entire data frame, the process repeats for successive data frames. Thus, successive data frames bounce back and forth between �end points� of the ring, which in a ring is preferably a single timing master node.
In a daisy chain configuration, the timing master may or may not be at an end point of the chain, but successive data frames nonetheless bounce back and forth between end points. If the timing master is an end point, the timing master sends a first frame from a first port, which travels along the daisy chain to a first port of the second end point. After the second end point receives the entire data frame, the second end point sends a second data frame from the first port back through the chain to the first port of the timing master. After the timing master receives the entire frame on the first port, the process repeats. Conversely, if the timing master is not an end point, the timing master receives on its first port a data frame launched by one end point, and simply retimes the frame to its local timing reference (e.g., crystal oscillator) and forwards the frame to its other port for transmission along the daisy chain to the other end point. Data frames continually bounce back and forth between end points, but the timing master only synchronizes the bit timing (for frames traveling in both directions). In certain embodiments the timing master also ensures that only one data frame is bouncing back and forth between end points at any given time. Messages are sent in the same manner as in a ring.
If the data frame includes just one message, such as in a network to replace CAN, a node that wins arbitration sends a message in a data frame traveling in the proper direction to a destination node. If the sender does not know the direction of the destination or is broadcasting a message, then the message is preferably sent in two frames traveling in opposite directions. If desired, a receiving node can send an acknowledgement back to the sending node in a second data frame traveling in the opposite direction of the message without interfering with any second message sent by any node in the second data frame.
If the data frame is time division multiplexed to provide a number of channels for messages, each channel can operate as just described for a single message data frame. Some channels can be dedicated to particular nodes to guarantee message bandwidth (as in the static segment of the FlexRay communication cycle) and some channels can be shared by many nodes (as in the dynamic segment of the FlexRay communication cycle.) Similarly, some channels can be dedicated to particular nodes to communicate raw streaming data instead of message like the MOST synchronous or isochronous channels. The data frame can be divided into the form that best suits the application.
The improved system makes use of the concept of sending data frames in opposite directions around a ring or through a daisy chain. Protocols such as SONET, Token Ring, FDDI, and MOST use a ring topology, however, data always travels in one direction through the interconnect. This is because unidirectional communication channels are simpler to build. Each node has a dedicated transmitter and a dedicated receiver, instead of two transceivers. In the case of optical interconnect, a transmitter typically uses an LED and a receiver uses a silicon photodiode, but cost effective optical transceivers may utilize a single LED for both transmit and receive, which helps provide for cost effective implementations using optical interconnect.
Clock and data recovery is also simpler for uni-directional links. Traditionally, analog PLLs lock to a continuous stream of data to produce a clock synchronous with the received data. Any times when received data is not transitioning the frequency of the analog voltage controlled oscillator (VCO) drifts due to parasitic circuit elements. The improved system preferably uses digital PLLs instead of analog PLLs that are much less susceptible to frequency drift and can tolerate much longer periods with no received data.
Protocols such Firewire and USB use a daisy chain or tree topology and in some variants (1394A) the communication channels between nodes are bi-directional. However, these protocols have a unique root node (i.e., Firewire) or a host (i.e., USB) that continually broadcast the frame timing on all ports to all nodes. Neither of these protocols utilize end points of a daisy chain alternately producing successive data frames.
Combining the new concepts for data frame communication in a ring and a daisy chain with the concept of detecting a faulty node or communication link in a ring and switching to a daisy chain provides embodiments that address the challenge facing the automotive industry for a cost effective deterministic fault tolerant communication system capable of supporting the growing number of applications in the automobile.
In one aspect the invention provides a method for use in a network node within an interconnected network of nodes. An exemplary method includes: forwarding data frames received on a first bi-directional port of the network node to a second bi-directional port of the network node for outbound transmission on the second bi-directional port; forwarding data frames received on the second bi-directional port to the first bi-directional port for outbound transmission on the first bi-directional port; and if a data frame received on a given bi-directional port includes a message addressed to the network node, then inserting a message status symbol into the next data frame transmitted outbound on the given bi-directional port.
In another aspect the invention provides a system comprising: a plurality of network nodes, each having at least two bi-directional ports capable of transmitting and receiving data frames; a plurality of bi-directional communication links connecting said plurality of network nodes in a physical topology which includes a serially-connected string of said network nodes; wherein said plurality of network nodes are configured to communicate successive data frames alternately in opposite directions from node to node along the string.
In yet another aspect the invention provides a method of communicating information in a system comprising a network topology including a string of serially-connected network nodes, each node including respective first and second ports. An exemplary method includes: launching successive data frames alternately from a first port of a first network node to travel in one direction along the string of network nodes until the first data frame either reaches a second port of the first network node, or reaches an end node of the string of network nodes, and then from either the second port of the first network node or from the end node to travel in the other direction along the string of network nodes to reach the first port of the first network node; and inserting a first message into a first data frame received on the first port of a source node and forwarding the first data frame on the second port of the source node toward downstream nodes.
In still another aspect the invention provides a network node device for use in a system of interconnected network nodes. An exemplary network node device includes: a first port configured to interface with a bi-directional communication link for transmitting and receiving data frames to a first external device connected thereto; a second port configured to interface with a bi-directional communication link for transmitting and receiving data frames to a second external device connected thereto; first circuitry for synchronizing an associated internal clock to data frames received on the first port, and for forwarding such first-port received data frames to the second port for transmission; second circuitry for synchronizing an associated internal clock to data frames received on the second port, and for forwarding such second-port received data frames to the first port for transmission; and third circuitry for inserting a message into a data frame passing from one port to the other port through the device in either direction.
In yet another aspect the invention provides a network node device for use in a system of interconnected network nodes. An exemplary network node device is configured to: forward data frames received on one of first and second bi-directional ports for outbound transmission on the other of said first and second bi-directional ports; and insert, if a data frame received on the first bi-directional port includes a message addressed to the network node device, a message status symbol into the next data frame transmitted outbound on the first bi-directional port.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail. Consequently, those skilled in the art will appreciate that the foregoing summary is illustrative only and that it is not intended to be in any way limiting of the invention. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, may be apparent from the detailed description and accompanying drawings of the embodiments described below.
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
Turning now to the drawings,
The network timing master is preferably specified by the user or can be automatically determined. The master may require more resources such as memory or processor speed than other nodes, so to reduce system cost only one or two nodes need be capable of being a timing master. A variety of mechanisms to automatically determine the timing master can be used, including each node capable of being a master generating a random number and the node with the highest number becomes the timing master. Once a timing master has been determined, this information could be stored in non-volatile memory.
The DPLL recovers the clock signal 48 from the received data signals 46 and 47, and forwards clock signal 48 to the network interface logic 41 and the rest of the network controller 30 (which may be implemented on a single integrated circuit �chip.�) The clock signal 48, among other things, synchronizes the transmit data to the receive data, which can provide for all the nodes in network 10 to be synchronous to each other. The clock signal 48 can have the exact same frequency in all nodes, which allows data to flow smoothly back and forth through the network 10, and allows all nodes to keep track of time precisely relative to one another.
The DPLL 42 can use a high speed clock derived from the crystal oscillator 35 by a clock multiplying analog PLL. The DPLL 42 may include well-known digital phase detector, loop filter, and discrete time oscillator circuits. The phase detector should measure the time between transitions of the data signal 46 or 47 and the recovered clock signal 48, and forward a scaled version of this time to the loop filter after a measurement is made. The loop filter sums a proportional and integrated version of this time measurement to produce the input to the discrete time oscillator, which produces the recovered clock signal 48. The DPLL loop should have negative feedback, which forces the time measurement between data signal 46 or 47 edges and the recovered clock signal 48 to roughly zero.
The optical data sent through the POF is preferably encoded and/or scrambled in such a way to produce a sufficiently high transition density for the DPLL 42 to lock to. A variety of coding schemes including the well known biphase, miller, 4b5b, or 8b10b coding, or the proprietary DC adaptive (DCA) coding for MOST� networks could be used. The data frame preferably begins with a high transition density sequence or code that the DPLL can lock quickly to. The DPLL preferably has a relatively high bandwidth produced by a relatively large proportional coefficient to lock quickly to the start code. The DPLL also preferably has a relatively small integral coefficient to minimize phase drift during times when not data is being received.
The network interface logic 41 contains all the hardware necessary to produce data frames in the ring timing master and the daisy chain end points, and to forward data frames received on one port to the other port for transmission for all other nodes. The network interface logic 41 also performs all the low level functionality associated with acknowledging receipt of messages, arbitrating for data frames, and checking for data frame errors. The node address to which a message is sent, the message length, and the actual message come from the application through the transmit buffer 43, but the network interface logic 41 properly inserts this information into the data frame. Likewise, the network interface logic 41 monitors the address field of incoming data frames and forwards the address, message length, and message data of selected data frames to the receive buffer 44. Finally, the network interface logic 41 responds appropriately to certain system commands, such as node discovery.
The transmit buffer 43 and receive buffer 44 are preferably FIFO memories that contain one or more messages to be sent or have been received. The FIFO memories are preferably implemented using random access memory (RAM) and read and write pointers, although other types of FIFO memories may also be used. The information preferably stored in RAM includes the message length, the address, and the message data. The first data that the application interface writes to the transmit buffer 43 and reads from the receive buffer 44 is the message length. Likewise, the first data that the network interface logic 41 reads from the transmit buffer 43 and writes to the receive buffer is the message length. The RAMs are read or written a number of times equal to the value of �length� to transfer a complete message between blocks.
The application interface logic 45 allows an application processor 36 to access the transmit buffer 43 and receive buffer 44, and to configure and manage the network controller 30. The application interface logic 45 can be a simple memory mapped parallel interface that includes a memory address, memory data, and read and write signals, or it could be complete microcontroller that provides a smart interface between the application and the network, or any number of other suitable structures.
The application processor 36 is typically a microcontroller that is performing some function, such as controlling a motor, and managing the interface between that function and other nodes and functions in the network. Some network related tasks that the application processor 36 may do include discovering the network address of the human machine interface (HMI) that is controlling the motor and helping the HMI discover the motor node's network address. Others may include managing the network interface controller 30, buffering additional transmit and receive messages, and performing diagnostics.
The LED driver 37 includes a current mirror made from p-channel devices 63 and 64. P-channel devices 53 and 57 in conjunction with inverter 65 and control signal 58 allow the LED driver 37 to be turned on and off. When the transmit data signal 52 is low, the current from current source 54 is mirrored through device 64 to device 63 to produce the current through LED 50. When the transmit data signal 52 is high, the n-channel switch 56 is conducting and the sum of the current from current sources 54 and 55 is mirrored to the LED 50. The ratio of the currents from current sources 55 and 54 is preferably about 10 to 1 respectively to produce roughly a 10 dB extinction ratio in the transmitted light.
The LED receiver 38 includes the low pass filter from resistor 59 and capacitor 60 and the comparator 61. The LED 50 anode is connector to one terminal of the comparator 61 and the low pass filtered version of the LED 50 anode is connected to the other terminal. When light hits LED 50, the anode voltage rises, which forward biases LED 50. The anode voltage rises until the light induced current matches the diode forward current. When more or less light hits LED 50, the anode voltage goes up or down respectively. The DC component of this varying anode voltage is compared to the anode voltage to produce the received data signal 46.
The receiver bandwidth is determined by the dynamic capacitance of LED 50 and the resistance of resistor 59. Assuming a target bit rate of 1 million bits per second (1 Mbps) and a dynamic capacitance range of 10-20 pF, the resistance of resistor 59 is preferably in the range of 25 k to 12.5 k ohms respectively. The low pass filter cutoff for the combination of resistor 59 and capacitor 60 could be roughly 70 kHz, which puts the capacitance of capacitor 60 in the range of 100 to 200 pF. Assuming an average LED current of 0.2 μA at the sensitivity limit, the voltage across resistor 59 will be plus or minus 2.5 to 1.25 mV for resistor 59 resistances of 25 k to 12.5 k respectively. The design of comparator 61 preferably minimizes input offset voltages through device sizing and layout, and auto-zeroing techniques.
From a performance perspective, receiver 38 preferably includes an analog to digital converter that samples the low pass filtered version of the anode voltage at the end of a data frame and forwards the result to a digital to analog (D/A) converter that controls the negative terminal of comparator 61. During times when receiver 38 is not receiving data, the low pass filtered version of the anode will change, however, the D/A converter output will not. This minimizes the length of the data frame start sequence necessary to stabilize the receiver 38. Alternatively, the same function could be performed by an analog sample and hold circuit.
The physical layer interface illustrated in
The message status field 72 allows a node that properly received a message to confirm receipt with the sender (or provide any of several message status symbols, such as those described herein). A node receives a message on a data frame going one direction around the ring or through the daisy chain and sends an acknowledgement (e.g., an acknowledge symbol) in the next data frame going in the opposite direction. If the receiving node does not properly receive a message, the receiving node sends an error symbol (e.g., an error code) in the message status field 72 identifying what went wrong. For instance, bit errors in the message could have occurred during transmission that caused the CRC check to fail or the receiving node could not accept the message due to a full receive buffer.
The message status field 72 can be broken into two sub-fields for messages broadcast to all nodes or multi-cast to a group of nodes. One sub-field can be used for nodes that properly receive such a message and the other field can be used by other nodes that fail to receive the message properly. With these two sub-fields a sending node can know if no nodes, some nodes, or all nodes properly received the message.
The arbitration field 73 allows messages with higher priority to be sent before messages with lower priority. Similar to other networks such as MOST, the priority indicator (e.g., priority code) can be an un-signed integer sent most significant bit (MSB) first in the arbitration field 73. A node arbitrating for a data frame compares the received arbitration value one bit at a time with the priority symbol of the message to be sent. If the MSB received is a one and the MSB of the message to be sent is a zero, the node loses arbitration and waits until the next data frame to arbitrate again. If the received MSB is a zero and the MSB of the message to be sent is a one, the node wins arbitration, inserts the priority symbol of the message to be sent into the arbitration field 73, and sends the new message (thus preempting the received message). If both MSBs are zero, the receiving node continues to compare the next sets of bits until they do not match.
If a data frame does not contain a message, the value in the arbitration field 73 will be zero. Since the lowest priority message is preferably all zeros with a one as the least significant bit (LSB), such a message will be sent since the LSB of the message to be sent will be greater than the LSB of the received arbitration value. If a node loses arbitration because the priority of the message to be sent is not greater than the received priority, the priority of the message to be sent can be incremented each time arbitration is lost. This prevents low priority messages from being completely blocked from the network by high priority traffic.
The message length field 74 can specify the length of the following address 75 and data 76 fields. In single ring or daisy chain networks the length of the address field is preferably constant, so the message length, for example, may simply be the length of the data field plus one byte (e.g., for a one-byte address). In hierarchical networks, the address field can grow by the number hierarchical layers, in which case the length field 74 is preferably sub-divided into an address length field and a data length field. The length of any data frame is preferably larger than some minimum and smaller than some maximum, such as between 8 and 256 bytes of address and data, but other data frame sizes are also contemplated.
The address field 75 specifies the destination address for a message sent to a particular node, group of nodes, or all nodes. Similar to other networks such as MOST, the address can refer to a destination node's particular location in the network relative to the timing master, or can be some other unique address assigned to a node. The address field should have sufficient number of bits to uniquely identify all nodes in the ring or daisy chain with all the different types of addressing. With a maximum of 64 nodes, 6 bits can be used for the node address and 2 bits can specify node location addressing, assigned addressing, group addressing, or a broadcast address for a total of one byte.
A hierarchical network can be formed by bridges between the ring or daisy chain networks. Such bridges preferably contain two network controllers and four ports to connect to two ring or daisy chain networks. More network controllers with more ports can bridge to more networks. A hierarchical network has one root timing master connected to nodes in the root network. If one of the nodes in the root network is a bridge to a subnet, the second network controller is the timing master for the subnet. Subnets could have attached bridges to further subnets.
Messages sent from one ring or daisy chain to another ring or daisy chain could be sent through the bridge by using hierarchical addressing, which extends addresses much like a computer directory structure. To go up in the hierarchy, the first address in the address chain is that of the local timing master. To go up another layer, the timing master of the network attached to the local timing master is addressed. To go down into subnets, the bridge to the subnet is addressed, followed by the address of the node or bridge in the subnet. The length field 74 could identify the number of addresses in the address field 75 to move through the hierarchy. (See
The CRC checksum field 77 could provide error protection for a message in the current data frame. The network controller 30 in the sending node computes the checksum for the length field 74, the address field 75, and the data field 75, and sends the result in the CRC field 77. Any receiving node computes another checksum for the same fields and compares the result with the value in the received CRC field 77. If they are the same, the message has been received properly, although the message may still be rejected by a full receive buffer, and if they are different, the message incurred some bit errors and is rejected. If rejected, the message is not stored in the received buffer and the sender is notified through the message status field 72 of the next frame that the checksum failed and the message was rejected.
The data frame format described in
The data frame 0 is forwarded around the ring through communication link 17 to node 14 and then through communication link 18 to port 19 of the timing master 11. After time T3, the timing master 11 begins transmitting data frame 1 through port 19 and communication link 18 to node 14. Time T3 is determined by the time the network interface logic 41 takes to identify the end of a data frame, which can be roughly a few bit periods or a few microseconds. Data frame 1 continues in the opposite direction around the ring back to port 20 of timing master 11.
The time T4 from when timing master 11 port 20 finishes transmitting data frame 0 until data frame 1 arrives back at timing master 11 port 20 is equal to 6 times T2 plus T3 or about 7.6 microseconds. In a general sense, time T4 is the total number of nodes minus one, times twice T2, plus T3 [((nodes−1)*2*T2)+T3]=T4. Assuming the maximum number of nodes in the network is 64, the maximum value to T4 is about 140 microseconds. Since T4 occurs once every two data frames, and since (as mentioned previously) T1 can vary from about 128 microseconds to 2048 microseconds, T4 reduces network throughput, to about 65% for minimum sized data frames, and to about 97% for maximum sized data frames. Of course for smaller networks, T4 is almost proportionately smaller and the network efficiency is higher.
The times T1 through T4 and the explanations associated with them are just one example of many possibilities. The data frame bit length and bit rate can be substantially different, which can change T1 dramatically. The propagation delay through the communication link could be substantially different if for instance the communication link was miles of long haul glass fiber or short interconnect on a printed circuit board. The delay through the network interface logic 41 could be substantially different if different priority or acknowledge schemes are used, which could change T2 significantly.
In the
During data frame 1, timing master 11 sends message 1 to node 14 through communication link 18. Node 14 receives message 1 properly and can forward message 1 to node 13. Node 13 can insert an acknowledgement into the acknowledge field 72 of data frame 1 and forward data frame 1 to node 12 through communication link 16. Node 12 receives the acknowledgement and clears the acknowledge field before forwarding data frame 0 to timing master 11 through communication link 15. During data frame 2, node 14 can insert an acknowledgement into the acknowledge field 72 and forward to timing master 11. As should be clear from the above description, node 12 (or another node) could again insert a message into data frame 2.
During data frame 1, which is traveling in the counter-clockwise direction, node 14 forwards an acknowledgement to node 13 through communication link 17. Node 13 receives the acknowledgement for message 2 and forwards an acknowledgement for message 1 to node 12 through communication link 16. Node 12 receives the acknowledgement and clears the acknowledge field 72 before forwarding the data frame 1 to node 11 through communication link 15.
The example from
The timing diagrams in
Node 14 inserts an acknowledgement 2 into data frame 1, which is forwarded to node 13 through communication link 17. Node 13 successfully receives acknowledgement 2 from node 14 and inserts a not acknowledgement into data frame 1, because node 13 blocked the broadcast message 1 in the previous frame, which is forwarded to node 12 through communication link 16. Node 12 successfully receives the not acknowledgement, clears the acknowledge field 72, and sends the broadcast message 1 in data frame 1 through communication link 15 to timing master 11.
Timing master 11 successfully receives the broadcast message 1 and returns an acknowledgement 1 in data frame 2 to node 12 through communication link 15. Node 12 receives acknowledgement 1, clears the acknowledge field 72, and sends the broadcast message 1 in data frame 2 to nodes 13, 14, and 11 through communication links 16, 17, and 18 respectively. Timing master 11 ignores this second message 1.
Node 14 inserts an acknowledgement 1 for the broadcast message 1 into data frame 3, which is sent to node 13 through communication link 17. Node 13 inserts the same acknowledgement into data frame 3, which is sent to node 12 through communication link 16. Node 12 receives the acknowledgement 1 and clears the acknowledge field 72.
The example shown in
The hierarchical network has one root timing master 125 that determines the timing for the entire network. The bridge nodes 120 and 114 are the timing masters for the layer 1 subnets 101 and 102, and the bridge nodes 121, 122, 123, and 124 are the timing masters for the layer 2 subnets 110, 111, 112, and 113 respectively.
In this example, the data frame address field 75 for the message in layer 2 subnet 110 comprises a 5-byte sequence (0x00, 0x00, 0x01, 0x03, and 0x02) and the data frame length field 74 comprises a sub-field specifying the address field 75 length of 5 bytes. Nodes in the root net 100 or any subnet monitor only the first address byte of a data frame to receive a message. Therefore, the bridge node 121 with address 0x00, since it is the timing master, receives the message sent from node 130. The bridge node 121 removes the first address byte 0x00, reduces the address length sub-field to four, and transmits the message in layer 1 subnet 101. The bridge node 120 with address 0x00 receives the message since it is the timing master for subnet 101. Again bridge node 120 removes the first address byte 0x00, reduces the address length sub-field to three, and transmits the message in the root net to bridge node 114 with address 0x01. The same process repeats in bridge node 114 and 123 and the message is finally received by node 131 with address 0x02.
The addressing scheme illustrated in
The exemplary timing master start up procedure in a single ring or daisy chain begins in state S1 by sending an empty data frame from port A and then waiting in state S2 for some period of time. If the data frame is received on port B, the timing master sends another empty data from in state S3 from port B. If the data frame is received on port A, then the timing master enters the normal operating state S4 for a ring. If the data frame is not received on port A, the timing master enters the S5 error state.
Back to the top of
Back again to near the top of
The exemplary start up procedure in
Back to the top of
The exemplary state diagrams in
Other suitable techniques are also contemplated to detect a failure in a node or link. In a logical and physical ring configuration, if a link or node fails, then the timing master does not receive a data frame sent from one port back on the other port. The timing master knows something failed and can reinitialize the network (e.g., per the start up state machines described above). If necessary, the timing master could stop transmitting data frames once it determines there has been a fault. All other nodes could detect no incoming data frames for some period of time and shutdown. The timing master could then re-start the network according to the start up state machine.
If a link is intermittently faulty (i.e., producing coding or CRC errors), the receiving node can set some threshold of error rate and shut down the link if the threshold is exceeded. Shutting down the link means not forwarding a frame received on one port to the other port. Again, the timing master will not receive data frames sent from one port back on the other port and can reinitialize. In such an instance, the network may continue to be �connected� in a physical ring topology, but �configured� to operate in a logical daisy chain topology.
Re-configuring from a logical daisy chain back to a logical ring could be done in a number of ways. A particularly simple and robust way would be to wait until the system has been turned off and then back on by the user, and then just follow the normal startup procedure (e.g., re-initialize the next time the car is started).
To dynamically re-configure back to a logical ring topology, each end point could continually retransmit data frames received on its active to its inactive port. If an end point begins receiving data frames sent from its active port on its inactive port, the end point knows that the faulty node/link is now working properly. The end point can then stop transmitting anything. The timing master can detect stopped data frame traffic and reinitialize.
These startup and re-initialization procedures are just examples of many possible procedures. Other techniques may also be utilized. For example, a node could request a network re-start or re-configuration by inserting a special ACK symbol into a data frame, which is eventually received by the timing master and which then initiates a startup procedure.
The received data signals 46 and 47 from port A and B respectively pass through multiplexer 150 based on the state of the enable port A control signal 49. Control signal 49 is high when the network controller 30 is receiving data on port A. Multiplexer 150 also passes data signal 46 from port A when control signal 49 is high. When control signal 49 is low, data signal 47 from port B passes through the multiplexer 150.
Phase detector 151 compares the time between rising edges, for instance, of clock 48 and the output of multiplexer 150. The phase detector produces two outputs. One output (i.e., signal 170) signals when a valid phase comparison has occurred and the other provides the phase difference. The phase difference is multiplied by the proportional and integral coefficients Kp 166 and Kc 167 with multipliers 152 and 153. The output of multiplier 153 is added to the previous integrator result stored in register 135 and the result is forwarded to adder 156, which sums the current integrator result from adder 154 with the proportional result from multiplier 152 to form the loop filter result. The loop filter result is multiplexed with the current integrator result by multiplexers 157 and 158 and forwarded to registers 159 and 160 respectively. When the control signal 49 is high, the loop filter result is forwarded to register 159 and the integrator result is forwarded to register 160. When signal 49 is low, the integrator result is forwarded to register 159 and the loop filter result is forwarded to register 160.
Each time a new phase comparison result is available at the output of the phase detector 151, the phase detector 151 also triggers a signal 170 that clocks the integrator accumulator register 155 and the DTO input registers 159 and 160. The updated values in registers 159 and 160 specify the frequencies of the clocks produced at the outputs of DTOs 161 and 162. Crystal oscillator 35 in combination with inverting amplifier 164 produce the clock input to the clock multiplying analog PLL 165. The high speed clock output from APLL 165 runs the DTOs 161 and 162.
The clock outputs from the DTOs 161 and 162 are connected to multiplexer 163, which in combination with the enable port A control signal 48 a produce the clock signal 48 that is forwarded to the phase detector 151, the network interface logic 41, and possibly other parts of the network controller 30.
During normal operation, the clock signal 48 will be frequency locked and phase aligned with the data from the active port. Since the phase of the data from each port is different, the phase of clock signal 48 will shift accordingly producing systematic jitter with an amplitude equal to the phase difference between data received from the two ports and with a frequency equal to half the data frame rate. The clock output from each individual DTO, however, is precisely synchronous to the network bit rate and is free of this systematic jitter.
The number clocked into DTO register 159 or 160 after each valid phase detector comparison specifies the clock frequency produced by the DTO 161 or 162 respectively. This number is the sum of a scaled down version of the current phase comparison result from multiplier 152 and the integrator output. The integrator is the combination of adder 154 and register 155. The integrator low pass filters the input phase variations to produce the long term average frequency for the DTOs 161 and 162, and the multiplier 152 output provides information on the instantaneous phase variation on the output of multiplexer 150.
During times when neither received data signal 46 nor 47 is active, which occurs during T4 from
The necessary frequency resolution of DTOs 161 and 162 is determined by how long the DTO has to run without being updated with the loop filter result. Assuming the longest data frame size of 256 bytes and the largest network of 63 nodes with T4 of 140 microseconds, the total time is 2188 bit periods or 2188 microseconds. Assuming a tolerable phase shift of 10% of a bit period, the required frequency resolution is about 45 ppm. DTOs with 1 ppm frequency resolution are easily achievable which should be more than sufficient.
To ensure that the DPLL locks to the incoming data properly, the inverse of the loop bandwidth should be shorter than the shortest data frame, which is 128 bits or 128 microseconds. Therefore, the loop bandwidth is preferably about 10 Hz or higher while acquiring lock. During locking the DTO input register is preferably loaded with the loop filter result instead of the integrator result at the end of each data frame, since the integrator takes longer to settle.
For all nodes except those at the end of a daisy chain, the loop filter is updated at all times except between data frames such as during T4, which allows the DPLL to lock relatively quickly. However, a node at the end of a daisy chain only receives data from one port, so the time that the loop filter is not updated is substantially longer than other nodes, which may result in longer lock times.
The loop parameters, Kp 166 and Ki 167, are each preferably set to a different value during the locking process than during normal operation. The loop bandwidth and dominate pole frequency determined by Kp 166 and Ki 167 can initially be set to relatively high values that allow the loop to lock and the integrator to stabilize quickly. Once the loop has locked and stabilized, Kp 166 and Ki 167 can be reduced to provide better input jitter rejection and less sensitivity to DTO phase drift during times when the DTO is free running.
In a ring topology, the timing master alternately produces a data frame on one port and terminates the data frame on the other port. The timing master in a ring or as an end point in a daisy chain does not pass data from one port to the other. A timing master that is not an end point in a daisy chain, however, should pass data received on one port to the other port from transmission. In order to do this and to still provide the reference clock for the network bit rate, the network interface logic in the timing master preferably includes a small FIFO memory of perhaps one or two bits to buffer received data prior to retransmission. This provides enough of a timing buffer to account for a received signal that is marginally �too fast� relative to the reference clock of the timing master node, without overrunning the buffer and risking the loss of one or more bits of data in the frame.
The block diagram and description of the DPLL in
The network hardware and protocol described in
Protocols, such as 1000BaseT and HDSL, support simultaneous bi-directional communication across a single transmission channel, such as one twisted pair, with fairly sophisticated analog and digital signal processing. Such circuitry has a driver with a certain output impedance that matches the transmission line characteristic impedance and a receiver that captures the signal on the transmission line, which is equal to the sum of the transmitted data signal and received data signal. Inside the transceiver, a replicated version of the transmitted signal is subtracted from the captured transmission line signal. The result is the received data signal, which is further processed to recover a clock and ultimately the received data. In certain embodiments, a system can use such simultaneous bi-directional communication channels to double the network bandwidth by sending a respective data frame simultaneously in each direction around a ring or through a daisy chain. A useful restriction may be that all data frames need to be the same length.
The data frame described in
A network using the invention could also communicate both packets and raw data streams, by using one or more channels of a time division multiplexed stream as a packet channel. Packets could be sent in one or more timeslots and streams could be sent in others. Complete packets could be sent in a frame or packets could accumulate over multiple frames. Such an implementation of the invention could compete with FlexRay.
As used herein, synchronized bit timing need not imply zero phase delay between the two timing signals (e.g., clocks), but rather synchronized in frequency. A next available data frame may correspond to the next data frame, may correspond to the next data frame for which the message can win arbitration, and may also correspond to such a data frame traveling in the �correct� direction toward the destination node.
While circuits and physical structures are generally presumed, it is well recognized that in modem electronic design and fabrication, physical structures and circuits may be embodied in computer readable descriptive form suitable for use in subsequent design, test or fabrication stages as well as in resultant fabricated electronic circuits. Accordingly, claims directed to traditional circuits or structures may, consistent with particular language thereof, read upon computer readable encodings and representations of same, whether embodied in media or combined with suitable reader facilities to allow fabrication, test, or design refinement of the corresponding circuits and/or structures. The invention is contemplated to include circuits, related methods or operation, related methods for making such circuits, and computer-readable medium encodings of such circuits and methods, all as described herein, and as defined in the appended claims. As used herein, a computer-readable medium may include a storage medium such as a disk, tape, or other magnetic, optical, semiconductor (e.g., flash memory cards, ROM), or electronic medium. An encoding of a circuit or system may include circuit schematic information, physical layout information, behavioral simulation information, and/or may include any other encoding from which the circuit may be represented or communicated.
The foregoing details description has described only a few of the many possible implementations of the present invention. For this reason, this detailed description is intended by way of illustration, and not by way of limitations. Numerous variations and modifications of the embodiments disclosed herein will become apparent to those skilled in the art once the above disclosure is fully appreciated, without departing from the scope and spirit of the invention. It is intended that the following claims be interpreted to embrace all such variations and modifications. Moreover, the inventive concepts incorporated into the embodiments described above are specifically contemplated to be used alone as well as in various combinations. Accordingly, other embodiments, variations, and improvements not described herein are not necessarily excluded from the scope of the invention. It is only the following claims, including all equivalents, that are intended to define the scope of this invention.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Book your room at Springfield Hotel and Suites
Room, 2 Queen BedsMax Occupancy: 4 guests (up to 3 children, 3 infants)
Standard Room, 1 King BedMax Occupancy: 3 guests (up to 2 children, 1 infant)
Suite, 1 King BedMax Occupancy: 4 guests (up to 3 children)
Kingsland hotel with an outdoor pool
Collect 200 points
Simply enter your Nectar card number when prompted. Your points will be credited 30 days after you return from your trip.*Offers may apply
Situated near the beach in the city center, this hotel is in the same area as Naval Submarine Base Kings Bay. Regional attractions also include White Oak Conservation Center and Crooked River State Park.
Hotel Features
In addition to a restaurant, Springfield Hotel and Suites features an outdoor pool. Other amenities include a bar/lounge and complimentary wireless Internet access.
Room Amenities
Televisions come with cable channels. Guestrooms also feature refrigerators, microwaves, and irons/ironing boards.Information missing or incorrect? Tell us!
Hotel Amenities
Hotel Amenities
The hotel offers a restaurant. A bar/lounge is on site where guests can unwind with a drink. Guests can enjoy a complimentary breakfast each morning. High-speed wireless Internet access is complimentary.
This Kingsland hotel also offers an outdoor pool, coffee/tea in the lobby, and complimentary newspapers in the lobby. Onsite self parking is complimentary.
Springfield Hotel and Suites has designated areas for smoking.
- 24-hour front desk
- Total number of rooms - 100
- Number of floors - 2
- Bar/lounge
- Free breakfast
- Coffee/tea in lobby
- Free newspapers in lobby
- Dry cleaning/laundry service
- Designated smoking areas
- Laundry facilities
- Restaurant
- Year Built 1985
- Free self parking
- Number of buildings/towers - 5
- Outdoor pool
- Free WiFi
Available in some public areas: Free WiFi
Free self parking
Room Amenities
- Free local calls
- Refrigerator
- Microwave
- Iron/ironing board
- Cable TV service
- Phone
- Room service (limited hours)
Where to Eat
A complimentary continental breakfast is served each morning between 6:30 AM and 9:30 AM.
Millhouse Steakhouse - This steakhouse serves breakfast and dinner. Guests can enjoy drinks at the bar. A children's menu is available. Happy hour is offered.
Room service (during limited hours) is available.
Nearby Things to Do
The recreational activities listed below are available either on site or nearby; fees may apply.
- Golfing nearby
- Kayaking nearby
- Hiking/biking trails nearby
- Ecotours nearby
- Golf lessons available nearby
- Miniature golf on site
To make requests for specific accessibility needs, complete the "Special or Accessibility Requests" section of "Trip Preferences" when you book your hotel.
- Accessible bathroom
- Accessible path of travel
- Accessible parking
- In-room accessibility
- Roll-in shower
Hotel Policies
Minimum check-in age is 21
Check-in time starts at 3 PM
Check-out time is 11 AM
Payment types
Pets allowed, Maximum number of pets per room 2
You need to know
Extra-person charges may apply and vary depending on hotel policy.
Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges.
Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed.
- Minimum Spring Break check-in age is 21 years old.
- The name on the credit card used at check-in to pay for incidentals must be the primary name on the guestroom reservation.
- Pet deposit: USD 15 per night
We should mention
This property allows pets in specific rooms only. Guests can request one of these rooms by contacting the property directly, using the contact information on the booking confirmation.

subset: commoncrawl


text:
Originally written on Lakerholicz.com | Last updated 11/18/14
The Lakers have reached out to free agent forward Anthony Tolliver, who has interest in joining the club, according to Chris Tomasson: Free agent Anthony Tolliver told me Lakers have entered mix as possible team for him & he visited Charlotte Monday. Tolliver said the Lakers recently called his agent, Larry Fox, to express interest. He said talks are still preliminary but he would have definite interest if the Lakers turn out to be a serious option. "Obviously, to have a chance to play for a franchise like that, you'd have to think long and hard about that,'' the forward told FOX Sports Florida. While he waits to learn more about the Lakers' situation, other teams on Tolliver's list are Charlotte, Utah and Chicago. Tolliver said the Bobcats have made a contract offer (for the minimum) and he visited Charlotte last Monday. Tolliver, who is 28-years-old and 6'8″, has shown an ability to shoot the ball from range in the past, with the Lakers likely viewing him as a stretch four, although their possible lack of depth at the small forward could mean they see him as somewhat of a tweener. With the Warriors in 2009-10, he shot 33% from three and averaged 12.3 points while grabbing 7.3 rebounds per game. However, he has struggled to find a place in the league since then. His most recent success came in 2010-11 with the Timberwolves, where he averaged 6.7 points and 4.5 rebounds in 21 minutes per game. H/T Silver Screen and Roll
Comments are closed.
What do you think?To leave a comment, you can:
NBA News
Delivered to your inbox
You'll also receive Yardbarker's daily Top 10, featuring the best sports stories from around the web. Customize your newsletter to get articles on your favorite sports and teams. And the best part? It's free!
Follow us on Twitter
|Best of Yardbarker
|NFL News
|MLB News
Today's Best Stuff
For Bloggers
Join the Yardbarker Network for more promotion, traffic, and money.
Company Info
What is Yardbarker?
Yardbarker is the largest network of sports blogs and pro athlete blogs on the web. This site is the hub of the Yardbarker Network, where our editors and algorithms curate the best sports content from our network and beyond.
|© 2015 Yardbarker, Inc. All rights reserved. Use of this website (including any and all parts and components) constitutes your acceptance of these Terms of Use and Privacy Policy. (What's New?)


text:
I am trying to write a simple test for RAM to check basic integrity of the memory on board an embedded device. This is what I want to be able to do:
Essentially write out certain patterns: "10101010101010" to a block of memory then write "01010101010" then re-write the first one and test to see if the pattern was written correctly.
I am trying to write this program in C. I was wondering how I would go about writing this pattern. I want to be able to flip certain bits within the RAM memory cells on and off.
Would I just get allocate a block of memory and then write do something like
uint32 pattern = 0xaaaaaaaa;
uint32 * mem_loc = malloc some memory;
int i = 0;
int offset = 1;
uint32 * location = &mem_loc;
while ((&mem_loc)++ && (!i)) {
&mem_loc = pattern;
if (!(&(mem_loc+offet))) {
mem_loc = location;
pattern = 0x55555555;
//Check to see if values written are consistent
Would the code above work?? Will writing out the hex patterns to memory turn the bits on in the pattern?
I know the code above is horribly mangled but I just want to get an idea if doing something like that with the correct logic will achieve the desired result.


text:
Dr. Parker L. Ellison, MD
- 7726 Old Canton Rd
Madison, MS 39110
- 2 Locations
- (601) 856-5105
Dr. Parker L. Ellison graduated from the University of Mississippi School of Medicine in 1990. He works in Madison, MS and 1 other location and specializes in Pediatrics and Adolescent Medicine. Dr. Ellison is affiliated with Central Mississippi Medical Center and University Of Mississippi Medical Center.
Gender: Male
Languages Spoken: English
Pediatrics, Adolescent Medicine
Medical School: University of Mississippi School of Medicine; Graduated 1990
*This physician has multiple office locations. See Office Information for details.


text:
POSTED: Tuesday, November 29, 2011 - 10:17am
UPDATED: Tuesday, November 29, 2011 - 10:18am
NBC News — A group of China's biggest solar energy companies tuesday rejected a U.S. trade complaint that they are unfairly supported by the Chinese government. The push-back follows the launching of a U.S. Commerce Department investigation this month into complaints that solar cells and other equipment were being imported into the U.S. by Chinese companies at less than their fair value.
At a press conference in Beijing the group said that their commercial success comes from more advanced technology and efficient management, adding that possible sanctions would hurt U.S. companies and workers.


text:
Titanic: An IMAX 3D Experience
In 1997, James Cameron's Titanic set sail in theaters -- and one of the world's most breathtaking and timeless love stories was born. The film's journey became an international phenomenon as vast as its name, garnering a record number of Academy Award® nominations, 11 Academy Awards® and grossing over $1.8 billion worldwide. On April 6th, 2012, precisely a century after the historic ship's sinking and 15 years after the film's initial theatrical release, Titanic resurfaces in theaters in state-of-the-art 3D. Upon its original release, Titanic was celebrated for transporting audiences back in time, right into the belly of the R.M.S. Titanic in all her glory and into the heart of a forbidden love affair entwined with the ship's epic collision with human arrogance, nature and fate. Now, the leading edge of 3D conversion technology has allowed Oscar® winning director James Cameron to bring moviegoers the most visceral and dynamic screen experience of Titanic yet imagined.
The IMAX release of Titanic will be digitally re-mastered into the image and sound quality of The IMAX 3D Experience® with proprietary IMAX DMR® (Digital Re-mastering) technology. The crystal-clear images coupled with IMAX's customized theatre geometry and powerful digital audio create a unique environment that will make audiences feel as if they are in the movie.Visit the official website
Nearby Theatres Playing "Titanic: An IMAX 3D Experience"
No nearby Theatres Playing "Titanic: An IMAX 3D Experience"
Enter for a chance to Win!
Enter for your chance to win an exclusive collectible model of Dominic Toretto's car, IMAX tickets*, the Furious... Learn More
Now Playing
The Divergent Series: Insurgent An IMAX 3D Experience
The Divergent Series: Insurgent raises the stakes for Tris as she searches for... Read More
Coming Soon
Furious 7: The IMAX Experience
Continuing the global exploits in the unstoppable franchise built on speed, Vin... Read More
Coming Soon
Avengers: Age of Ultron An IMAX 3D Experience
Marvel Studios presents Avengers: Age of Ultron, the epic follow-up to the... Read More


text:
Days Inn Lake Village
No availability found through our partners. Please contact the business directly or check some of our recommended alternatives.
Photos of Days Inn Lake Village
Travelers also recommend:
TripAdvisor Reviews Days Inn Lake Village
Travel Blogs from Lake Village
I'm never coming home
... to find. It was worth it though! I included a picture of the Windsor information for you to read. It is a neat story.
When I got back in my car I typed the address of my next stop into my phone. It started giving me directions. I didn't think anything more of it. About an hour down the road I was ...
I have a dream
... What a neat city! I spent most of the morning at the Civil Rights Museum. It was a spectacular museum. I highly recommend it. It captures the tensions and emotions of that time very well. I learned an awful lot as well. Apparently I wasn't up on my civil rights history as much as I thought I ...
That's What I Like about the South
... about physics and politics and music and sipping wine and sometimes playing trivia games or Scattergories, with people occasionally sneaking off for chess or bridge. (That sounds kind of sterile when I say it but I don't mean it like that—being the introverted geek I am, I love that kind of party.) The Greenville evening was nothing remotely like that. These were people who have known each other all their lives and obviously love and enjoy each other, and when ...
Now heading towards Melissa, Texas
... was very nice. We stayed on secondary roads as we drove across Mississippi which we always enjoy more than Interstates. The topography consisted of rolling green fields for the first hour or so of our drive but the land started slowly to level out the closer to the Mississippi River we came. We stopped for lunch in the parking lot of a Walmart in Greenwood, MS. (Do we have exciting trips or what!!??) After a quick bite, we continued our travel west. ...
Campsite by the lake
... and passed a nice looking campground, so we stopped and checked in. We spent the rest of the day, reading and catching up on emails, etc. Then we cooked dinner, showered and settled in to watch downloaded episodes of Desperate Housewives before hitting the sack.


text:
Browse a list of Recording+Artist jobs ranging from entry level to experienced career positions below. Enter your city, state, or zip code above and narrow your job search results by location. Want to stay updated? Sign up for job alerts and let us find you when new Recording+Artist jobs are posted.Get Your LifeChart
Live Nation Entertainment | Houston, TX
Job Description: Title: Security Location: House of Blues Who are we? Live Nation Entertainment (NYSE-LYV) was formed by the merger of Live Nation and......
Arrived 9 days ago from Live Nation Entertainment


text:
Line up the school buses Bullseye is ready to roll. He is outfitted in colorful white leathers with red and blue accents on the jacket and pants, and a matching helmet. Good luck buddy. Youll need it. Another perfect addition to any Target Dog collection.
Size: Medium
Number of Pieces: 1
Material: Polyester
Manufacturer's Suggested Age: 2 Years and Up
Care and Cleaning: Spot Clean Only
Dimensions: 7.0 " H x 4.0 " W x 4.0 " L
Weight: 3.0 Oz.
other Info.
- Online Item #: 13932279
- Store Item Number (DPCI): 219-18-2860
- Made in the USA or Imported


text:
New crops
What new to you crops are you thinking about for next year? I sent my shareholders an information gathering survey of potential crops to see what ones interested them. I might add a few tomatillos, red noodle beans, brussel sprouts after 5 years off of them, some new Asian brassica greens, baby leaves in summer, and I listed a few other things I probably wouldn't grow like okra, salsify and so on just to get comments. I didn't get fennel to germinate this year and parsnips and leeks were not weeded. I am adding back gold beets and yellow watermelon. Also purple beans to do a tricolor thing.
I threw everything but the kitchen sink at it this year to see what happens, so will be taking out as much as adding.
Out:Filet beans, Blue hubbard(hard to sell for much), Old fashioned patty pans (for more sunburst), Ground Cherries, Tomatillos, Sweet 100 cherry tomatoes(pain to pick compared to others), Honey dew, cantaloupe, Cilantro,Bitter melon, all peppers but the basics.
In:Big max pumpkin (for fun), Chinese Napa cabbage, hot weather greens(as discussed on a thread here), raspberries, Spinach "on the crown",Tatsoi bulk leaves and in heads to see what works best, Garlic, yellow cherry tomato. Might do delicata squash and push it for grilling, since people won't buy too much winter squash until it cools off.
Lots of things I need to do more of and longer, almost everything "cool season" needs to be doubled and tripled or more, both in size of plantings and intervals. Need to change up a few varieties of tomatoes and do more "dry farmed" determinant tomatoes (turn off the water after fruit set).
Oh yes, definitely out: All the volunteers and stray cross pollinated seeds my kids make me plant!
My biggest problem for new crops is what am I going to take out and not grow, so I just keep them and expand the "farm". As I tell my wife, less yard and pasture to mow.
Things that we are probably going to drop for next year. Broccoli, Cauliflower and Chard (in the Spring, maybe not, it is too easy to pick and sell) Yellow Summer Squash(stick with just white, yellow and green Zucchini) Little Leaf Little cucumber (just dropping this variety).
Things we are going to have more of next year:
Vertina little cucumbers, early personal sized melons and cantaloupes, early tomatoes (more determinate varieties, planted closer together), earlier carrots (planting in January), and heads of lettuce, Purple sweet potatoes.
Things we are going to try:
annual rhubarb (died with the excessive heat and drought), Ginger in the high tunnels, garlic (planting this weekend),
and closer successions of tomatoes.
Things we would like to grow, but don't have the man-power to pick and sell:
Strawberries, Raspberries, and other tree fruit.
Well, it is suppose to be Rhubarb that you plant from seed and transplant, then harvest it out the first year and don't keep from year to year.
I sat down with a gentleman from Missouri who told me about this. It is hard to find much info on it, but he said he was very successful doing it. Well I got my seeds late, got them planted late, transplanted them late and had the hottest May and June in recent history, so this year was a flop.
But you plant it about the same time you start your tomatoes then transplant it out and harvest when it gets big enough. I didn't water mine enough this year to get it where it needed to be, but I am going to try more next spring. I was actually planning on doing it again this fall, but with the drought I didn't even plant it.
Search for some information, you will find some.
Jay - I've never heard of Little Leaf "Little" - I'm growing H-19. Wondering why you're dropping it? It did and sold very well for me.
I'm thinking of dropping all squash, they take so much room and don't get much per sf when you figure (even though zukes produce a lot). I'll grow 2 plants for us. Same with green beans - just for us, too labor-intensive to pick and don't get much per lb for them. Potatoes sold for more per lb, but again might be too labor-intensive to be profitable, and I need to prep a new area for them so if I grow any they will be just for us.
Definitely dropping any slicer cukes, will grow starts since I have seed but I haven't met a true "bush" type, even if not vining they sprawl and then it's worse b/c I can't trellis them. I'll plant the rest of the de Bourbonne cornichon seeds I have since I can trellis them, but I could never seem to catch them at the right size to make cornichons, and couldn't sell them no matter what size they were.
Only things I know for sure I'm keeping next year are edamame (labor intensive but good price and I've got 2-yr old seed to use), tomatoes, lettuce, arugula and okra (want to plant the rest of the packet of seed I bought this year, only planted 8 and it wasn't productive but very forgiving, not much space required, so even if we're the only ones who eat it I might as well plant the rest of the packet).
Definitely not planting any more Burpee seeds (other than from open packets) - they don't grow true!
I am stuck not growing much - might try bell and sweet peppers in high tunnel 1 more year, will grow some hots for us but they don't sell.
I still have to meet with wholesale customer(s) to see what they want and what they're willing to pay. Trying to do just wholesale (and my regular customers at DH's work, neighbors), thinking no markets next year.
Sorry, They are H-19 Little Leaf Cucumbers. I call them little cucumbers and not pickling cucumbers. People think you have to pickle them, but they are delicious raw.
I am dropping the H-19 not because it is a bad producer, but it is slow to start producing. Also, they are white spined. Meaning they are white and green. I am going to only grow Vertina next year. They start producing much sooner(10-14 days) and are much more even. They are also black spined, meaning black and green. It is hard to explain the white and black spined, but if you search for them you will see what I mean. I mix these two varieties and I always have H-19's left and no Vetinas.
de Bourbonne are black spined, so I know what you mean. But do people prefer the black spined? Not so here, even after I rubbed the spines off no one would buy the cornichons, but I had a lot of people buy the H-19 for salads, esp. after I explained that they were thinner-skinned, not as seedy, and smaller (so no leftovers) than the slicers.
I've never heard of Vertina. I'm thinking of trying County Fair and/or Diva next year.
But what is the benefit of annual rhubarb over perennial?
I hadn't done anything wholesale in some time but sold a box of green peppers to the local supermarket. The produce manager wasn't enthused but went on with the sale. She did not have them out today but maybe she is trying to sell through what she had. I picked them 7 days ago so I want to see them out!
I think I will keep wholesale in mind for the future. Normally I think the profit is so much less but I got 50c each for the peppers and wouldn't have made more at market and would have sold so few at a slow market (I was sick and didn't go so called the grocery store instead).
The whole thing comes down to specializing in some crops or doing CSA and growing everything. If I specialize I could sell more wholesale but I have the CSAs for now. If they start to peter out I will rethink things.
It is definitely important to stop and think about what things are not bringing in enough money- per foot and per hour and per day of growing. All that is important.
Super Zagross is my cuc of choice.
Dropping: okra, brussels sprouts, yellow squash, large tomotoes (attacked by bugs, too long to produce, etc), white tomatoes (no taste), spinach (need a heat tolerant variety), carrots & radishes (not worth the labor), greek basil
Keeping/Expanding: basil (all types, except greek), cilantro, pickling cucumbers, asparagus, blackberries, mandarins, red romaine lettuce, grape tomatoes, red russian kale, mustard greens (will produce less), sugar snap peas, parsley, dill, beets
Maybe try again: raspberries (adding bird net), melons, onions, chard, artichoke, purple beans, white eggplant, sweet potatoes, celery
New: sunflowers, grapes, fennel, dwarf pak choy, sweet bell peppers, hot peppers, mint, stevia, purple potatoes, rosemary, passion fruit, cinnamon basil, lime basil
Tomato experts say that the bland tomatoes don't actually have less acid. I splurged on seeds for a seedless tomato for people with diverticulitis.
Should I grow a few Brussel sprouts? What about just 4 plants or something? I already ordered all my seeds so i could just get some from the store.
I'm cutting back on a lot of the odder variety of things (patty pans, 8 balls, etc) and will focus more on the traditional. Same goes for cukes and peppers and potatoes. I do well w/the purples, pinks, etc., but the cost for them is just too high, compared to what I can buy in bulk locally. I'll be planting considerably more broccoli, cabbage, beets, and mini pumpkins.
Adding another 150 asparagus, replacing a lot of blueberries, gooseberries, and currants. Giving up completely on strawberries. Adding another 100 feet of black rasps and will experiment w/6 new types of elderberries. I'm only adding 3 or 4 new trees to the orchard.
I had really good success selling white tomatoes a couple years ago. Last year, almost all our tomatoes were a bust, so I only have that year to go on. As for Brussels, I love 'em and would plant them just for us. Brussels taste better after a frost, so I'd start some from seed so they'd be maturing in late fall/early winter.
I wish I could grow Brussels sprouts..just too hot and humid here. If there is a light frost, the next day it will be 75ish-80..ugh! Saturday Shorts, Winter Coat Wednesdays! I'm just hoping it stays cool enough to harvest lettuce, and not have it bolt!
I like reading this kind of stuff. I don't do market gardening for profit, but just plain ol' large scale home gardening for fun. I do sell some things to folks at work, but very cheaply. Seed money, mostly, and I just about break even on seed/fuel costs. Any other costs I eat as part of owning tractors and upkeep on the place. Not bad.
I find that when I go to local "farmer's markets" to walk around there are a bunch of hobbyists like me that bring a few of a variety of things and charge an arm and a leg for them. I don't sell at markets, just patronize. One time a guy had a tomato that was huge, I admit, and it looked great, I admit, but it was worth $5. I don't see it. I'll do without or will drive up the road to the produce stand and get them there before I'll pay $5 for one tomato. Some things aren't that badly priced, but they don't look very good. I just like seeing what others grow and comparing what they think is marketable to what I grow and how mine looks.
Folks at work see tomatoes. They don't really care whether they're organic or not, or heirloom or hybrid or even what kind they are. They're tomatoes. So I grow varieties that I like and want for me to try and then take extras to work for people that just want tomatoes. Last summer, I didn't grow tomatoes and people just about had a fit. I burnt my transplants while hardening them off. First time I tried to grow my own. Didn't go buy replacements. Lesson learned. Sweetpotatoes work the same way. I started growing them several years ago and bought several varieties. Nobody cared. They just saw sweetpotatoes.
My cash crops for my small clientele at work are fall and winter greens (collards and kale) and sweetpotatoes in the fall. Tomatoes and squash do well in the summer. People ask for okra over and over. Sometimes they request green beans.
This year, I'm doing the basics - beets, carrots, lettuce in the spring, and tomatoes, peppers, squash, beans, corn in the summer. I'm upping the corn because it did so well last summer despite all the weather issues we had. Hoping for a repeat this summer. I'll have cantaloupe, honeydew, and watermelon as well as some cushaws and various pumpkins if they do well.
And I'm adding a bunch of "exotic" things that other folks at the office don't grow. That's how I up the ante and keep people interested. Last summer I did wax beans and you would have thought I brought in kryptonite. :-) This summer I'll be doing celeriac, cardoon, artichokes, leeks, fennel bulbs, jicama, red celery, and some other things I found in John Scheeper's catalog that piqued my interest. I'm really looking forward to celeriac and jicama. Someone at work asked about fennel, so I'm trying it for them. I hate the stuff. I don't know how much will grow, but I have to try or I won't know.
Chris, those prices are usually based on market supply/demand. Plus those hobbyist might actually be adding all of their costs into their prices, instead of just 'seed money'. There are alot of costs that the average person doesn't see, and people selling, even a little, for 'seed money' makes it harder for those people trying to make a living, or just pay their bills.
Update to my list:
Customers' comments convinced me to keep the radishes..I always sold out and "you have the best radishes" comment really made me think twice..
Will absolutely grow fennel again but will stagger planting so I don't overlap with the big fennel sellers. I did learn that my customers preferred my smaller fennel over the large bulbs. Lots of upscale chefs attend our market so will try to also add leeks.
Chocolate mint and Stevia were a big hit!
No matter what I do...people love the stuff that I don't think they will...how funny.
I seem to attract the customers who live the raw food lifestyle...so I'm going to look into more crops that can be eaten raw & also look into medicinal herbs & tea crops..
We're doing quite a bit of "funky" stuff this year, I feel like so many growers have the same things so I'm trying to make us a little different.
Romanesko and Globe artichokes, Tomatoes: pink lady, black pineapple, yellow pear, matt's wild, juliette, white cherry, black cherry, Squash and zuc: romanesko, lemon squash, white scallop, Rainbow Chard, Husk Cherries, Tomatillos, Fish Peppers, Shishitos, ... the list goes on!


text:
Orange for Animal Cruelty Awareness wants to
VOICE outrage at the KILLING of Marius at Copenhagen Zoo
SURPLUS - Giraffe KILLED on Sunday Feb 9th 2014!
SURPLUS - Giraffe KILLED on Sunday Feb 9th 2014!
Rangers are giving their lives to conservation. It's our turn to give back.
Because this is horrendous and hideous. Can you imagine the fear these animals must be in the last minutes of their
Expansion of palm oil plantations in rainforests is pushing wild orangutans to the brink of extinction.
My campaign is important because people are living everyday in high levels of EMFs that are dangerous for their health.