n/a
n/a
The present invention relates generally to an electronic article surveillance (“EAS”) and more specifically to a method and system for establishing wireless connectivity among EAS devices including EAS sensors.
Sensors and other EAS equipment have an installation deployment cost associated with the installation of wires for the transfer of information. Wireless communication has been costly and the communication protocol stacks consume product memory. Additionally, a method for seamlessly connecting a wired network device to a wireless network has not been easily and cost effectively devised.
The use of wired connections for low cost sensors has been extensively used. However wired connections increase deployment burden. Higher cost wireless solutions implementing complex communication protocol stacks have been used in some deployments but are not effective in low cost sensors and deployments due to the expensive processing and memory costs associated with implementing complex communication protocol stacks. Some wireless solutions require configuration and setups that are time consuming and inflexible, increasing the deployment and maintenance cost.
Attempts to lower costs have been attempted with 2.45 GHz standards, such as those specified by Zigbee, a suite of high level communication protocols using small, low-power digital radios based on the Institute of Electrical and Electronics Engineers (“IEEE”) standard 802.15.4 for wireless personal area networks (“WPANs”). However, the protocol stack as defined for Zigbee consumes a large amount of memory and requires a rather complex configuration. Other networks residing in the 2.45 GHz and higher frequency ranges occupy the same bandwidth space as customer solutions using IEEE 802.11, i.e., “Wi-Fi.” These frequencies introduce challenges with Information Technology (“IT”) wireless network interference and increase the maintenance burden on IT departments.
Therefore, what is needed is an inexpensive system and method for wirelessly interconnecting EAS devices and EAS sensors while minimizing interference with existing wireless systems.
The present invention advantageously provides a method and system for establishing wireless communication among EAS sensors and other EAS equipment. The present invention provides a layered addressing approach in facilitating connectivity of devices to the network which allows existing wired networks to seamlessly connect to a wireless node in the wireless network.
In accordance with one aspect of the present invention, a wireless access point communicates messages in an electronic article surveillance (“EAS”) network. The EAS network includes at least one EAS sensor hard-wired to at least one wireless device node. The wireless access point includes a wired communication interface, a wireless communication interface and a controller. The controller is electrically coupled to the wired communication interface and to the wireless communication interface. The wired communication interface operates to receive a message. The message includes a sub-layer address corresponding to an EAS sensor. The wireless communication interface operates to broadcast the message and to receive an acknowledgement of the broadcast message. The acknowledgment originates from the EAS sensor corresponding to the sub-layer address. The controller operates to transfer the message between the wired communication interface and the wireless communication interface.
In accordance with another aspect of the present invention, an electronic article surveillance (“EAS”) network includes an access point and at least one wireless device node having a wireless network layer address. The EAS network supports at least one EAS sensor having a sub-layer address. The at least one wireless device node is wirelessly coupled to the access point and hard-wired to the at least EAS sensor. The access point operates to receive a message through a first wired communication interface and broadcast the message through a first wireless communication interface. The message includes a sub-layer address corresponding to an EAS sensor. The access point further operates to receive an acknowledgement of the broadcast message through the first wireless communication interface. The at least one wireless device node operates to receive the broadcast message through a second wireless communication interface and forward the broadcast message through a second wired communication interface to the EAS sensor corresponding to the sub-layer address included in the received broadcast message. The at least one wireless device node further operates to receive an acknowledgement of the broadcast message through the second wired communication interface from the EAS sensor corresponding to a sub-layer address and forward the acknowledgement of the broadcast message through the second wireless communication interface.
In accordance with yet another aspect of the present invention, a method is provided for communicating messages in an EAS network. The EAS network includes at least one EAS sensor hard-wired to at least one wireless device node. A message is received through a wired communication interface. The message includes a sub-layer address corresponding to an EAS sensor. The message is broadcast through a wireless communication interface. An acknowledgement of the broadcast message is received through the wireless communication interface. The acknowledgment originates from the EAS sensor corresponding to the sub-layer address.
A more complete understanding of the present invention, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
Before describing in detail exemplary embodiments that are in accordance with the present invention, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to implementing a system and method for wirelessly connecting electronic article surveillance (“EAS”) equipment and EAS sensors. Accordingly, the system and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements.
One embodiment of the present invention advantageously provides a method and system for establishing wireless communication among EAS sensors and other EAS equipment. An embodiment of the present invention provides an architecture which expands upon a star topology by defining a method for layering repeaters on the star network and implementing a new communication scheme. The architecture provides a layered addressing approach in facilitating connectivity of devices to the network. This layered addressing approach allows existing wired networks to seamlessly connect to a wireless node in the wireless network.
An embodiment of the present invention advantageously provides an effective means to seamlessly interface devices which use a serial interface and are not specifically designed for wireless networks to a wireless network. Bandwidth efficiency is obtained by maximizing the amount of information that is transferred in a RF channel and by minimizing the probability of breaking up information into multiple smaller payload transmissions which introduce additional framing bytes of overhead. Although the embodiments described below identify the sensors as EAS sensors, the principles of the present invention may also be applied to other types of sensor devices, including but not limited to intrusion sensors, temperature sensors, humidity sensors, etc.
Referring now to the drawing figures in which like reference designators refer to like elements, there is shown in
The exemplary network 10 illustrated in
An alternative embodiment illustrating how the range of the access point 12 may be increased by a layer of repeaters 16 is shown in
Referring now to
The controller 20 controls the processing of information and the operation of the wireless access point 12 to perform the functions described herein. The controller 20 is also coupled to a memory 28. The memory 28 includes a data memory 30 and a program memory 32.
The data memory 30 includes three buffers associated with transferring data the network 10 and various other user data files (not shown). The buffers include a universal asynchronous receiver/transmitter (“UART”) buffer 34, a serial data transfer buffer 36 and an RF data transfer buffer 38. The UART buffer 34 contains a single byte of data to be transmitted to or received through the wired interface 22. A UART data structure is discussed below.
The data memory 30 also includes a serial idle timer 40, a serial idle short term moving average 42 and a serial idle trigger 44. The serial idle timer 40 is a free-running counter which tracks the time elapsed between UART packet transmissions. The serial idle trigger 44 is a maximum idle value allowed before triggering an RF packet transmission. The serial idle short term moving average 42 is a series of samples of the actual serial idle time between UART packet transmissions and is used to adjust the serial idle trigger 44 as needed.
The program memory 32 contains a UART control engine 46, a serial control engine 48, an RF control engine 50 and a predictor 52. The UART control engine 46 directs the transfer of data to and from the UART buffer 34. Similarly, the serial control engine 48 directs the transfer of data to and from the serial data transfer buffer 36 and the RF control engine 50 directs the transfer of data to and from the RF data transfer buffer 38.
The predictor 52 determines when to transfer data and adaptively adjusts the serial idle trigger 44 appropriately. The predictor 52 determines when the idle time on the serial bus indicates that a sensor transmission has completed. By predicting the end of a transmission, the opportunity to gather the maximum number of bytes for a single RF transmission is increased. This approach maximizes the ratio of information data bytes to the framing and networking management bytes. Operation of the predictor 52 is discussed in greater detail below.
In addition to the above noted structures, each wireless access point 12 may include additional, optional structures (not shown) which may be needed to conduct other functions of the wireless access point 12.
Referring now to
The controller 56 controls the processing of information and the operation of the device node 14 to perform the functions described herein. The controller 56 is also electrically coupled to a transceiver 58. The transceiver 60 transmits and receives data packets from the wireless access point 12 through at least one antenna 60, in a manner known in the art. The antenna 60 may be, for example, a microstrip antenna coupled to the transceiver 60 using a balun 62.
Referring now to
The remaining fields include the actual transmitted data, i.e., Application data 86 and a CRC 88 calculated based on all of the fields of the packet 64 except for the Preamble 66 and SYNC 68 fields.
An exemplary UART packet structure 90 is shown in
Referring now to
The device address can be configured on the device 100 or a random addressing scheme may be implemented to reduce the configuration burden. In one embodiment of the present invention, the wireless node 14 selects a random address for operating on the network. The random address can be selected in multiple ways. One method is the use of a loose tolerance R-C network. The R-C network is tied to an input comparator pin of the processor. The RC time constant is chosen to allow the processor time to power up and start a counter. The processor starts a counter at power up, which in itself is random, and the counter counts until the comparator input pin is triggered by the RC time constant. The value in the register is used as the wireless node address or is used to generate the address according to some formula.
The random address selected by the device 100 is validated by the access point 12 at the time the wireless node 14 joins the network. If another wireless node 14 with the same address has already joined the network 10, the access point 12 issues an address verification message to determine if that old device is still on the network 10. The new device 100 trying to join does not respond to this address verification message. If the old device responds to the address verification, then access to the network 10 to the new device is denied and a duplicate address status returned. The new device 100 can be reset to produce a new random address to join the network 10 and the sequence repeats until the new device has a unique address. Alternatively, a software random number generator may be used to generate the initial address. It is also acceptable to have an incrementing counter and the counter value used to create the address. The count increments if the access point 12 does not accept the address.
Referring now to
A local device manager (“LDM”) 102 is wired to an access point 12. The wireless nodes 14 are connected to general EAS devices 100 (one shown). This layered addressing approach assigns an address to the wireless node device 14 which is used when communicating on the wireless network 1O. Devices 100 that connect, through a wired serial interface (or serial/parallel PCB layout), to the wireless device node 14, implement a sub-layer addressing scheme. This sub-layer can work as its own independent communication network.
Messages received by the wireless access point 12 from an LDM device 102 are transmitted by the access point 12 as wireless broadcast messages. Broadcast messages are received by a wireless device nodes 14 and the frame payload, which is discussed in further detail below, is sent to the device 100 via a wired connection, such as but not limited to, a connection defined according to the RS485 specification. There is no acknowledgement back to the access point 12 that the wireless node 14 successfully received the broadcast message. Instead, devices 100 which have a matching address at the sub-address level will respond to the messages from the LDM 102. Thus, if a failure occurred, the sub-layer device 100 will not acknowledge the broadcast message. If the wired LDM 102 has not received an acknowledgement of the broadcast message within a predetermined length of time, the LDM 102 will resend the message to the access point 12. Therefore, the responsibility of guaranteed delivery rests with the LDM 102, not the wireless device nodes 12 and 14, allowing the wireless device node 14 to be relatively simple and inexpensive, e.g., a wired-to-wireless adapter.
A device 90 responding to an LDM broadcast, for example a poll command, sends its message to the wireless node 14 through the wired connection. The wireless node 14 uses a point-to-point transmission where the source and destination addresses of the wireless packet identify the source wireless device 12 and the destination access point 12 address. The payload of the wireless packet identifies the acknowledging source device 100 and destination wired device 102. Receptions of point-to-point messages are acknowledged at the wireless network layer. Retries, time outs and message IDs are used in strengthening wireless network transmission robustness.
In the case of frequency migration, the access point 12 transmits a frequency migration command that includes the new frequency indicator. After the command is issued, the access point 12 has the option of issuing a device node migration check command. After allowing time for migration, the access point 12 receives a confirmation from each device 100. If a device 100 does not migrate, the access point 12 can return to the prior frequency and re-issues the command and/or requests status from the lagging device 100. The access point 12 may return to the prior frequency periodically until all devices 100 have migrated. Exceptions are noted and included in the status of the access point 12 status.
Alternatively, a ping (periodic access point present signal) may be sent by the access point 12. For example, a ping is defined as the frequency migration command, or an access point present signal (which can be transmitted periodically by the access point) or other signal indicating the presence of the access point. Wireless devices 14 not receiving a ping at the expected time automatically move to the next frequency and listen for a ping form the access point 12. If a ping is not found the wireless device 14 will move to the next frequency and check for the ping command.
An exemplary parallel architecture design, as shown in
In the incoming (receive) direction, recovered RF data is sent immediately to the serial interface after receiving a packet. After completing data collection, information in the serial data buffer 36 is processed without decoding incoming bytes received in the packet payload to gain knowledge of transfer count or signaling information, such as Start/Stop indicators. The RF network 10 can indicate that a packet is a partial packet based on receiving the maximum number of bytes in the RF buffer 38 and serial idle not occurring at the transmitting device. In which case, the recovered RF data is held in the serial data transfer buffers 36 until the rest of the packet is received. For example a receive buffer capable of holding 256 bytes, received from a transmitting node, may be used. The transfer should occur quicker than a UART buffer packet time.
Packets are received and processed from the serial bus as follows. A trigger is defined by the serial idle trigger 44 and is associated with the time that it takes to transmit a serial bus packet. Sensor applications often transmit information in bursts. These bursts may contain delays in between packet bytes or may be tightly coupled in time. An embodiment of the present invention learns the idle time between byte transmissions for a serial application (device) in order to more efficiently manage the bandwidth of the RF channels.
In defining a data transfer process, the following factors may be considered: RF transmission rate, RF radio chip first-in-first-out (“FIFO”) size, serial transmission rate and idle time of the serial interface. RF radio chips can have predefined FIFO buffer sizes. FIFO usage is determined by application and data management algorithms.
The RF channel transfer rate should be higher than the serial interface transfer rate to decrease the amount of memory storage for serial data received and to provide buffer overflow robustness. This consideration is used to provide a seamless wireless connectivity to EAS devices.
Referring now to
Sensors in EAS systems typically transmit data in bursts, thus the probability of a new packet associated with the present message being received decreases as the serial bus idle time increases. The predictor 52 tracks the time elapsed between serial byte packets using a free-running serial idle timer 40, which may be implemented as a counter, to adjust the serial idle trigger value 44 that triggers an RF transmission. The maximum serial idle time for a trigger may be defined as an application parameter. The initial setting is associated with the RF buffer transmission time and may a product of some factor, for example, to 0.5, 1, or some increment (e.g., 2, 2.5, etc.) times the time used to transmit the RF buffer. Initially, the serial idle trigger 44 is set to a time equivalent to one RF transmission; however, as the serial idle time trigger 44 of the predictor 52 is an adaptive parameter, the serial idle time trigger 44 is adjusted to optimize the performance of the network 10. For example, the serial idle time trigger 44 of the predictor 52 is increased if the time lapse between bytes increases. The serial idle trigger 44 may be bounded by a maximum value of, for example, twice the RF transmission time. Larger maximum values may be implemented, if necessary, as required by the network design; however, the maximum trigger value should be set in reference to some known parameter, such as the RF transmission time. Generally, lapses between UART packets occurring greater than 2 milliseconds allow an RF transmission to take place seamlessly and create buffer space in the device.
The predictor 52 determines when to initiate a buffer transfer from the serial data transfer buffer 36 to the RF data transfer buffer 38 and vice versa. The predictor 52 is generally in an idle state until it detects an interrupt trigger, which may be presented in the form of a serial data interrupt (step S102). Triggers may include, for example, the serial transfer buffer 50 receiving the maximum number of bytes accepted by the RF buffer 52 or the time between serial bytes received exceeding the serial idle time trigger 44.
When the predictor detects an interrupt trigger (step S102), data in the UART buffer 34 is transferred to the serial data buffer 36 (step S104). If the amount of data in the serial data buffer 36, e.g., ByteCnt, has not reached the predetermined RF data buffer 38 size, e.g., RFBuffSize (step S106), then the trigger is most likely caused as a result of the free-running serial idle timer 40, e.g., SerialIdleCnt, reaching the serial idle trigger 44 limit, e.g., IdleTriggerCnt. If the free-running serial idle timer 40 has reached the serial idle trigger 44 limit (step S108), then the serial idle trigger 44 is updated (step S110) in the following manner.
In one embodiment, the serial idle time trigger 44 is constructed from a serial idle short term moving average (“MA”) 42 and a long term predictor. The serial idle short term moving average 42 is of the form:
MA=(X1+X2+X3+ . . . +XN)/N, (1)
where X1 . . . XN are measured samples of the actual serial idle time. A long term predictor (“LTP”) is weighted along with the MA in formulating the serial idle trigger 44 value. An initial LTP value may be based on a settable initial value. This value can be correlated to the time needed to transmit a RF buffer or the time needed to receive a given number of UART bytes, e.g., two. Equation 2 defines the filter operation in determining the long term predictor value.
LTP=LTP*lptCoeff+MA*macoeff, (2)
where
lptCoeff+maCoeff=1. (3)
The LTP is used as input to the serial interface idle time trigger. The lptCoeff and maCoeff determine the weighting given to LTP and MA.
A minimum idle constant, K, is added to the LPT in obtaining the serial idle time trigger 44. K accounts for the time in one serial packet transmission and provides a tolerance allow for minimal gaps in serial packet transmission. K is set to one or more serial packet times. Thus, the idle serial time trigger, TIS, is given by Equation 4:
T
IS
=K+LTP. (4)
As reference, an RF transmission time of 2.3 mS (50 byte buffer+framing bits) corresponds to approximately 11 bytes transmitted on the serial interface. An embodiment of the MA 42 uses a value of one for N. However, the sample XN is taken as the largest time between serial byte packets in a given transmission. In this approach, the largest idle time between serial byte packets in a transmission is used to adapt the predictor 52. The single input is selected as the largest gap between transmission before the serial trigger occurred or the RF buffer byte count was reached. This approach allows for a low computational algorithm and favors the larger gap value in serial packet transmission. The weighting of LTP and MA determines the rate of change in serial idle time.
In low cost microprocessors, multiplication and division are more computationally intensive than register shifts. Coefficients that are implemented with register shifts allow for low computational algorithm. As an example, the weight for LTP and MA can be 0.5. A division by 0.5 is accomplished with a register shift right.
After the serial idle trigger has been updated (step S110), the information in the serial data transfer buffer 36 is transferred to the RF data transfer buffer 38 for wireless transmission (step S112), the serial idle timer 40 is reset (step S114), e.g., SerialIdleCnt=0, and the predictor 52 returns to a wait for the next trigger (step S102).
Returning to decision block SI 06, if the amount of data in the serial data buffer 36, e.g., ByteCnt, has reached the predetermined RF data buffer 38 size, e.g., RFBuffSize (step S106), then the trigger is caused by the serial data transfer buffer 36 being full. The RF data buffer size is associated with the physical buffer size of the radio chip. However the RF data buffer size may be adjusted for various reasons, such as, the locations of buffer bytes for use by control and messaging bytes. Locations may be unused to provide margin in case of overflow. The information in the serial data transfer buffer 36 is transferred to the RF data transfer buffer 38 for wireless transmission (step S116) and the serial idle timer 40 is reset (step S118), e.g., SerialIdleCnt=0. The predictor then sets the XN term of the serial idle short term moving average 42, e.g., RefSerialIdleCnt, to the largest SerialIdleCnt value seen since the last update (step S120) and the predictor 52 returns to a wait for the next trigger (step S102).
Embodiments of the present invention may use this method for predicting optimal RF transmissions to allow an EAS sensor that is normally hard-wired to a control unit to be implemented as a wireless device. As embodiments of the present invention do not require expensive wireless hardware for each sensor or complex communication protocol stacks in the wireless access point or wireless device nodes, the EAS communication network may be established quickly and relatively inexpensively when compared with prior methods of wireless communication.
The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computing system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
A typical combination of hardware and software could be a specialized computer system having one or more processing elements and a computer program stored on a storage medium that, when loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computing system is able to carry out these methods. Storage medium refers to any volatile or non-volatile storage device.
Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.
In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.