Docstoc

TITLE OF THE TERM PAPER

Document Sample
TITLE OF THE TERM PAPER Powered By Docstoc
					RFID Automated Checkout System


               By


         Xin Henry Fang
          Calvin Hsieh
            David Yi




ECE 445, SENIOR DESIGN PROJECT

           FALL 2007




      TA: Alexander Spektor



        December 4, 2007


          Project No. 12
                                            ABSTRACT

This project uses RFID technology to implement a quick and convenient checkout system at a store. It
would replace barcode swiping and any line-of-sight requirements. RFID tags are placed on each item
and have an associated item name, description, and price. These are displayed on a PC monitor for the
customer to confirm. Various tests were conducted to ensure reliability and practicality, but there are
some improvements that could be made before full-scale implementation in stores worldwide. Some
major ethical issues are also taken into consideration.




                                                  ii
                                                         TABLE OF CONTENTS


1.   INTRODUCTION ....................................................................................................................1
     1.1 Purpose, Usefulness, and Motivation .................................................................................1
     1.1.1 Project Functions .............................................................................................................1
     1.2 Specifications ......................................................................................................................1
     1.3 Subprojects .........................................................................................................................1
     1.3.1 PIC Microcontroller .........................................................................................................1
     1.3.2 RFID Reader ....................................................................................................................2
     1.3.3 RFID Tags .......................................................................................................................2
     1.3.4 PC Display/Processing.....................................................................................................2

2.   DESIGN PROCEDURE ...........................................................................................................3
     2.1 PIC Microcontroller ............................................................................................................3
     2.2 RFID Reader .......................................................................................................................3
     2.3 RFID Tags ..........................................................................................................................3
     2.4 PC Display/Visual Basic Programming..............................................................................4

3.   DESIGN DETAILS ..................................................................................................................5
     3.1 PIC Hardware Interfacing ...................................................................................................5
     3.2 Skyetek RFID Reader Unit .................................................................................................5
     3.3 RFID Tag Programming/Memory Issues ...........................................................................6
     3.4 PIC Software Programming ................................................................................................7
     3.4.1 RFID Reader Interaction..................................................................................................7
     3.4.2 PIC Interrupts...................................................................................................................8
     3.4.3 Matching the Data/Encoding to PC .................................................................................8
     3.5 PIC to PC Communication .................................................................................................9
     3.6 Visual Basic Programming – Quality Control ..................................................................10

4.   DESIGN VERIFICATION .....................................................................................................11
     4.1 Testing ..............................................................................................................................11
     4.1.1 Readability and Anti-collision .......................................................................................11
     4.1.2 Angle Testing.................................................................................................................11
     4.1.3 Substrate Testing ...........................................................................................................12
     4.1.4 Time Required to Detect A Tag Removal .....................................................................12

5.   COST ......................................................................................................................................14
     5.1 Cost ...................................................................................................................................14
     5.1.1 Parts ...............................................................................................................................14
     5.1.2 Labor ..............................................................................................................................14

6.   CONCLUSIONS ....................................................................................................................16
     6.1 Successes ..........................................................................................................................16
     6.2 Uncertainties .....................................................................................................................16
     6.3 Ethical Considerations ......................................................................................................16
                                                                            iii
6.4 Future/Improvements ........................................................................................................16

APPENDIX A - Block Diagrams ...........................................................................................18

APPENDIX B - Schematics ...................................................................................................19

APPENDIX C - Test Data ......................................................................................................21

APPENDIX D - Pictures ........................................................................................................28

REFERENCES .......................................................................................................................33




                                                                  iv
                                            1. INTRODUCTION


1.1 Purpose, Usefulness, and Motivation

The purpose of this project is to utilize Radio Frequency Identification (RFID) technology to greatly
improve customer convenience at store checkout lines. RFID and barcode technology differ mainly in
that barcode swiping requires a line of sight whereas RFID does not. RFID tags can also be detected at
longer ranges than barcode tags. The project is motivated by our personal experiences of long lines and
wait times in public stores. Switching from barcode to RFID will also help stores with inventory
management. Finally, RFID is an exciting new field on the rise, and we hope our project will further the
application of RFID technology.


1.1.1 Project Functions

With the RFID checkout line, customers can simply place their shopping basket or cart in the designated
interrogation zone, and the RFID reader will automatically detect the RFID tags on each item, relay this
information to the computer, which will then display relevant information and prices on the screen.
Items may be added or removed from the checkout line at any time, and the system information and
display will reflect the appropriate changes. Finally, the customer will be required to confirm the total
price, and payment will be made thereafter.

1.2 Specifications

Our project uses the Skyetek M9, an ultra-high frequency (UHF) RFID reader which operates at a center
frequency of 915 MHz. We chose to use RFID tags of the Gen2 type due to its long read range and anti-
collision capabilities. In its current form, the maximum number of allowable tags is 10, but this could
easily be increased.

Our RFID checkout line can consistently and accurately read up to the maximum number of 10 tags at a
distance of 1.5 ft, and up to 7 tags at a distance of 3 ft. Individual tags can be read at distances up to 5 ft.

The system program and display will recognize the addition of an item/tag within 2 seconds and the
removal of a tag within 7 seconds. These delay times greatly depend on certain variables in our program
that will be explained in detail in section 4.1.4.

1.3 Subprojects

The major sub-components of our project are described below. A block diagram of the overall system
can be found in Appendix A, Diagram A.1.

1.3.1 PIC Microcontroller

The PIC microcontroller/microprocessor is at the core of our design. It communicates with the RFID
reader to acquire ID‟s of RFID tags present in the field, matches the incoming data to known items in
memory, and sends data to the PC for further processing and display.



                                                       1
1.3.2 RFID Reader

The RFID reader is responsible for locating and identifying nearby RFID tags in a customer‟s shopping
cart or basket. Upon receiving an inventory request from the PIC microcontroller, the reader will send a
signal to the antenna to find tags, and then relay the unique ID‟s of each tag found back to the PIC.

1.3.3 RFID Tags

The RFID tags in our project take over the function of the traditional barcodes found on items today.
Upon being probed by an incoming antenna signal, each RFID tag will respond with their unique ID‟s,
which have been programmed into the embedded tag circuitry. Our system uses passive RFID tags.

1.3.4 PC Display/Processing

The final processing and display of the customer‟s checkout items is implemented on a Windows PC.
An LCD monitor is used to elegantly convey a list of the customer‟s items, related descriptions, taxes,
and total cost.




                                                   2
                                     2. DESIGN PROCEDURE

2.1 PIC Microcontroller

The microcontroller is at the center of our project, handling communications with both the RFID reader
and the PC for display. Our project utilizes the PIC16F877A from Microchip. There were other options
available in the lab, but ultimately we decided to go with this particular PIC because of its
availability/access to programmers in the laboratory, its inclusion of onboard UART ports for serial
communication, and of course the amount of tutorials available from both the course website and via the
Internet, from hobbyists working with related Microchip projects.

The 16F877A had three main options for device communications: RS-232 serial, SPI, and I2C. While all
three of these protocols each have their own advantages, we decided to implement our communications
using RS-232. The SPI and I2C schemes are able to support more than one device at a time with more
complicated circuitry, but since our PIC only communicates with the RFID reader or PC at single
instances of time on different ports, we felt that RS-232 was sufficient in this regard. Through our
research, we also found that RS-232 supports higher bit transmission speeds than I2C, which, though not
crucial to our project, adds a nice plus. With regard to robustness, we also found that RS-232 has better
noise immunity than SPI, especially over long distances. This is crucial to our project, as errors in
communications will lead to incorrect detection of items and thus incorrect price sums. Lastly, another
major reason for choosing RS-232 was simply because there was much reference material available to
learn from, from the course website as well as example code, since the RS-232 standard is so well-
established.

2.2 RFID Reader

Our RFID reader is what facilitates the communication between the RFID tags and the rest of our
system. We use the Skyetek M9 UHF reader in our design, operating around 862-955 MHz. This reader
is new to the UIUC ECE lab as the first to use the UHF frequency range. Our laboratory already had
some readers from Texas Instruments, but they operate at either low (~125 kHz) or intermediate (~13.56
MHz) ranges. The UHF frequency range offers a huge improvement over the others due to its much
improved communications range. While the low and intermediate frequencies provide ranges on the
scale of centimeters, the UHF range is able to communicate up to a couple meters. This is imperative to
the functionality of our project as the average checkout lane is ~2-4 feet wide. The reader is connected
to a Skyetek-provided linearly polarized antenna which, by the nature of its design, causes the optimal
interrogation field of the RFID tags to be in a direct line-of-sight to the antenna. This actually proves
useful in the prevention of accidentally scanning the items of customers in adjacent or nearby lanes.

We ultimately decided to go with a system in which the reader is constantly re-acquiring the customer‟s
checkout inventory, as long as the customer remains in the checkout line. This is in contrast to our
original idea, where we proposed a “pass-through” kind of system where the customer could walk
through a gate-like structure and have their items scanned instantly in one pass. We believe the new
system of re-acquiring the checkout tags is more fail-safe, as it allows for correction in the case of an
erroneous reading in one cycle from the RFID reader, and it also allows the customer to add or remove
items and have it automatically update the changes.

2.3 RFID Tags

The RFID tags are placed on each item to be checked out to be identified wirelessly by the reader. Our
tags are manufactured by Avery Dennison and are of the passive, Generation 2 type. The use of passive
tags was necessary both to save power consumption and physical space, as placing powered tags on each
                                                 3
item of a store would not be economical. Passive tags can still communicate up to at least a couple feet,
which is more than sufficient for our checkout line idea. The Generation 2 identifier simply indicates
faster read speeds and more accurate anti-collision performance (as compared to Generation 1 tags). The
nice thing about these tags is that their ID‟s can be re-programmed. This will be discussed in more detail
below in the Design Details section.

2.4 PC Display/Visual Basic Programming

Software on the PC side is necessary to process the incoming data from the PIC, and transform it into a
continuously updating display on the monitor with necessary information for the customer. The database
of tag IDs and their associated item, description, and price are stored on the PC, to take some pressure
away from using all the PIC‟s memory. The program will incorporate a quality check process that is
designed to compensate for any inconsistent results from the reader (See section 3.5). After determining
which tags are actually in the checkout line, totals will be calculated and item information and prices
will be displayed. The system logic and display are constantly refreshing as the PIC sends it data each
read cycle, so the user is free to add or remove any items until they are ready to finalize their checkout.
There is a small user-interface associated with price confirmation and payment method.

We chose to use Visual Basic as the programming language mainly because it has built-in commands to
read incoming data from a serial port, and also because it is a relatively easy language to work with and
has many tutorials and examples online.




                                                    4
                                        3. DESIGN DETAILS

3.1 PIC Hardware Interfacing

The schematic that describes our hardware setup can be found in Appendix B, Figure B.2. As stated
earlier, our PIC16F877A microcontroller is set up to use the RS-232 communications protocol to
communicate with the Skyetek M9 RFID reader as well as with the Windows PC. We selected a
medium speed of 38,400 bps (the RFID reader‟s stock speed) for the baud rate for communication with
both these devices. So as to make sure that the PIC‟s oscillator/clock was not limiting this baud rate
from working properly, we opted for a relatively fast 20 MHz oscillator. The FOX 1100E-200 is used in
our design, with the output connected to PIN 13/CLKIN of the PIC [1].

Out of the box, the PIC16F877A supports asynchronous serial communication via the onboard UART,
but additional voltage conversion is required before it can fully communicate with both the RFID reader
and the Windows PC. The PIC outputs serial data at TTL voltage levels (0 to 5 V) while the reader and
PC require RS-232 voltage levels (inverted, -3 to -25 V for logic „1‟, +3 to +25 V for logic „0‟) [2]. We
used a Texas Instruments MAX232N line driver chip [3] to accomplish this conversion functionality.
The MAX232N specifically converts TTL 0 V to +8.5 V, and TTL +5 V to -8.5 V. These voltages fall
safely within the usable range of RS-232 voltage levels. Please refer to Figure 3.1 below:




            Fig. 3.1: MAX232N Conversion of TTL voltage levels to RS-232 voltage levels

As can be seen in the figure above, the MAX232N converts the TTL signals coming from the PIC (top
trace) at 0 to +5 V to RS-232 levels of -8.5 or +8.5 V. The MAX232N is also capable of re-converting
RS-232 level signals back down to TTL levels, for when the RFID reader is returning RFID tag
inventory data to the PIC.

3.2 Skyetek RFID Reader Unit

The Skyetek RFID reader unit allows for communication with RFID tags in the customer‟s shopping
cart/basket. This reader has its own developed communications protocol called the “Skyetek Protocol
V3” [4]. This protocol describes the exact bitstream format of requests for data as well as their
responses. See Figure 3.2 below:

                                                   5
                       Fig. 3.2: Skyetek Protocol V3 Request(Command) Format

Our communications with the RFID reader uses ASCII encoding with the general request format shown
in the figure above. The RFID reader is capable of sending a variety of commands (Select Tag, Kill Tag,
Authenticate Tag, etc.) as well as a variety of modifying flag options, all of which are described in much
greater detail in the V3 reference guide. Of particular use to our system is the Inventory Select
command, which is prescribed as the ASCII string “<CR>[0002][0101][8200]<CR>”. This command
uses the “Inventory” modifying flag to instruct the reader to search for all tags in the field of type
Generation 2 and return the results to the PIC.

Once the reader has acquired the tag ID‟s from the field, it sends a response to the PIC which is quite
similar in format to the request commands as described above. A response to the Inventory Select
command will consist of an ASCII stream confirming the command that the reader is responding to,
followed by the tag type requested, and then a long ASCII string of all the tag ID‟s detected. At the end
of sending all this information, a confirmation flag of request completion is sent. See Figure 3.3 below:




                      Fig. 3.3: Request and Response Signals to/from RFID reader

For each single tag detected, the returned bitstream is very long. Each tag‟s response will include both
the command/tag type data as well as the ID data. The command/tag type data takes up 12 bytes, while
each tag‟s unique ID takes up 24 bytes for a total of 36 bytes of information passed per tag. When we
consider that there might be up to 10 tags in the read field, the memory usage adds up quite quickly and
starts to impinge upon the PIC‟s storage limits. This became a problem that we would have to solve and
it will be addressed in the next section.

3.3 RFID Tag Programming/Memory Issues

When we first received our RFID tags from the manufacturer, they all came with the same IDs written
onto them, so our reader would only detect the presence of one tag when there were actually multiple.
Thus, we had to re-program the tags so that our system could differentiate among the different ID‟s
                                                    6
coming in. As mentioned above in section 3.2, however, another issue that we faced was that the
returned data from the tags was simply too much for the PIC‟s memory to handle. This was the second
major reason for re-programming the tags.

Our initial approach to obtaining all of the tags in the field consisted of having the PIC microcontroller
save all 36 bytes of each returned tag‟s string into variables that could be processed later for item
matching purposes. However, the 16F877A only has 368 bytes of data memory available [1] and
needless to say, we quickly ran into problems with the PIC‟s RAM being unable to store all the
variables, even after only storing a couple tags. We took a look at the returned strings to see if there was
any way to optimize the amount of data needed to be stored in the PIC, and noticed that there were
certain characters that were not used in the heading data that could be used as tag ID identifiers, thus
allowing the PIC to ignore all incoming characters except for those used in the ID‟s. Using the Write
Tag command (0x0103) we re-programmed our 10 RFID tags to have ID‟s in the range “EEEE” to
“FEEF”. See Figure 3.4 below:




                        Fig. 3.4: Example of returned tag ID‟s in Hyperterminal

As shown in the figure above, it is now possible for the PIC to store only 4 bytes of data and still
uniquely identify each incoming tag. After implementing this, our storage use easily met the limitations
of the PIC‟s RAM, and helped save over 80% on memory usage, as our initial implementation would
have required more than 100% of the PIC‟s storage capabilities.

3.4 PIC Software Programming

We chose to program the PIC16F877A using PIC-C, as our group was already quite familiar with the C
programming language. Additionally, there were lots of resources online to assist with learning how to
use PIC-C for our implementation. Our program is divided into three main components: (1) interacting
with the RFID reader to acquire tag ID data, (2) programming interrupts into the PIC, and (3)
performing ID matching in preparation to send data to the PC for further processing and display.

3.4.1 RFID Reader Interaction

The first part of our PIC-C program instructs the microcontroller to talk to the RFID reader and store
data from it. We create variables that can hold strings corresponding to responses gathered from the
RFID reader, each capable of holding up to 7 bytes (even though only 4 bytes are really necessary). An

                                                     7
infinite while() loop is set up so that the checkout system is constantly refreshing and re-acquiring the
customer‟s items. As stated earlier, this allows the customer to add/remove items and have it update in
real-time. The fprintf() [5] function is used to relay the ASCII “Inventory Select” command described
above in Chapter 3.2. A modified version of get_string() is then called 10 times in anticipation of the
maximum possible 10 tags in the field. The get_string() function has been modified only to save
characters „E‟ and „F‟ for the tag ID‟s. There is a delay of about 80 ms after the PIC has completed
printing the items, and then the PIC repeats the loop of communicating with the RFID again.

3.4.2 PIC Interrupts

One of the major problems that we ran into during initial programming was that the PIC never knows
exactly how many tag ID‟s will be coming in. If the PIC is not instructed to get the strings of enough
tags, some data will go unread. We therefore have to tell the PIC to attempt getting the maximum
possible amount of tag ID‟s, which is 10. Yet, this also posed a problem: when the PIC-C language
attempts to read an incoming string, it will sit there and wait until data comes in. If there is no data left,
then it will sit there waiting forever, and the rest of our program will not even execute! We therefore had
to solve this problem using PIC interrupts with the PIC‟s internal clock timer.

We used the timer0 internal clock of the PIC for the interrupt. The clock starts counting down in the
background once the program is in a waiting state where no data is coming in. If there is no data that
comes in after a certain specified time, then the string request times out, a return carriage is appended
(signifying the end of the string), and the program moves to its next command. The time-out length can
be calculated in terms of the set-up parameters of the internal clock:

                                    4
          TimeOut  (256)(                   )(timer _ prescalefactor)(CountLength)           (3.1)
                             OscillatorClock

The factor of 256 comes from the fact that the internal clock is an 8-bit counter which overflows every
2^8=256 counts. The timer_prescalefactor allows adjustment of the amount of overflows required to
generate a larger single count, and „CountLength‟ finally adjusts the number of large counts to generate
a timeout.

Using our oscillator clock of 20 MHz or 20E6 Hz, a timer_prescalefactor of 256, and a CountLength of
10, our interrupt time-out comes out to

                                             4
                                (256)(            )(256)(10)  0.131 seconds
                                         20 *10^6

This is the timeout length that we ultimately used in our implementation. Our interrupt timer indeed
allowed our program to run without freezing, however with a limitation that running through each cycle
may take more time if there are a small amount of tags in the field (more times waiting for get_string()
to timeout).

3.4.3 Matching the Data/Encoding to PC

The final portion of the software portion is matching the data received to known ID‟s in preparation to
send information to the PC about the items. The PIC looks at the strings of the stored incoming data and
performs a string comparison against known tag ID‟s that it is expecting to see. If a match is found, then
the PIC will send out encoded of a specific format to the PC for processing. This is sent through a
second UART that is simulated in software, also running at 38,400 bps, transmitting through PIN D7 of
                                                      8
the PIC (RX functionality is not required for this part of the program). After sending out the data, the
PIC restarts the process of telling the RFID reader to find the next batch of tags. More details on the PC
encoding format follows in the next section.

3.5 PIC to PC Communication

Our initial output display was created using HyperTerminal, a serial comport tool that can be used to
display received output data. At the same time, the PIC was originally the device to perform all the
calculations and database. However, we opted to shift the database and calculations to the PC to save
some memory in the PIC. Also, HyperTerminal as a display was simple and not so attractive. The
program does not allow for any modifications or editing and displays the output as ASCII characters
only. Therefore, a revamped and sophisticated display was needed. Using MS Visual Studio 2005, and a
helpful template found online [6], we were able to create and edit a visual interface created in Visual
Basic that would emulate the functions of that of HyperTerminal, but with a far superior range. This
method also greatly simplifies our implementation, as just a unique encoding is needed that would
represent each individual tag and all the editing could be performed all on the PC side as opposed to
originally having the PC just act as a display. In our implementation once the PIC has deciphered the
tags seen from reader, it assigns a unique 8-byte string (00000000, 11111111,…,99999999) that
represents tags 1 through 10 and is to be sent to the PC via RS-232. The reason for a string size of
constant length is that if the RFID tags came in various lengths the data received on the PC side would
not be able to distinguish each individual tag. The information received also comes in a set buffer (of 8
bytes) and if the tag was longer or shorter than the buffer the data would be improperly transmitted
leading to errors. This is another reason to have the PC serve has the module for editing and creating the
database for the tags because if the PIC had sent the data over to the PC the finished display could have
many formatting issues. See Figure 3.5:




                  Fig. 3.5: Encoded data coming from PIC to the PC in 8-byte strings

                                                    9
3.6 Visual Basic Programming – Quality Control

The VB program does not directly accept the incoming tag IDs from the PIC as error-free. From our
initial tests with the RFID reader and tags, we found that for multiple tags at medium to long distances,
the reader was not very consistent in detecting all the tags in the read field. This would be completely
unacceptable since this is what determines how much money the customers pay for their items. This
process must be very reliable and accurate in order for customers to trust this method of checking out.
Thus, we designed a quality checking method to ensure that the items displayed on the monitor and the
price that the customer is charged is an accurate reflection of the actual items in the checkout line.

The method simply stores the tag IDs that were detected by the reader in the several previous read cycles
in an array. Then instead of checking only the current cycle for which tags were read, the program
checks to see which tags were read in the last several cycles. If tag X was detected by the reader in any
of these previous few cycles, then the system would consider tag X as present in the checkout line. The
exact number of cycles the program uses is determined by the program variable “m,” called the
insurance loop number.

For example, in a system where the maximum number of tags is 4, suppose tags 1, 2, and 4 are being
checked out. The reader might detect all 3 tags in one read cycle, but only pick up 2 tags in the next
cycle, and then pick up 3 tags again on the third cycle. The PIC sends tag ID data to the PC every read
cycle, and if that data was considered to be error-free, then the display on the monitor in this case would
flicker very often due to the inconsistent readings. Without any quality control, the display would show
only two items on the second cycle. With m equal to 2 or any integer greater than 2, this specific case
would have no problems since on the second cycle, the program still sees tag #2 present from the
previous read cycle. See an example of the table in Figure 3.6 below:

                                             Tag 1     Tag 2     Tag 3     Tag 4
                             First cycle →   Yes       Yes       No        Yes
                          Second cycle →     Yes       No        No        Yes
                            Third cycle →    Yes       Yes       No        Yes

                      Fig. 3.6: An example sequence of tags detected by the reader

Obviously, the larger m is, the more resistant the system will be to the reader temporarily not detecting a
tag that is present in the checkout line. However, if m is too large, it would take a very long time for the
system to realize when an item is removed. Refer to Section 4.1.4 for more details on our optimization
of m.




                                                     10
                                      4. DESIGN VERIFICATION

4.1 Testing
The functionality of our testing plan relied on all portions of the block diagram to be functioning
properly. Below is a list of our individual units and the outcomes for each of our tests. We tested both
the hardware and software areas of the various modules in an effort to achieve the optimal desired
results from our individual components. Procedures of each test are described in the corresponding
subsections, and graphical results can be found in the appendix.

4.1.1 Readability and Anti-collision

One of the key areas was the readability of each tag and we implemented various tests for the number of
successful reads verses the number of tags read in the field. The displacement between the tag and
reader were tested at 0.5, 1.5 and 3ft respectively in efforts to determine the changes in readability as the
distance for communication increased. The number of cycles in the quality control loop was also varied
to see any significant differences in the ability to keep tags that have been read in the field. Two distinct
orientations were used as well, one being a fanned out orientation where each additional tag added to the
field was offset by a certain degree from the previous tag. The other was a stacked orientation where
each additional tag was placed directly behind the previous tag. Please refer to Appendix C, Figures
C.1.1 to C.1.7 for the quantitative plots.

From the data, it is shown that as distance is increased, the readability of the tags decreases. From the
graphs, the successful reads gradually becomes less and less successful as the distance increases.
Furthermore, as the m value (number of cycles in the memory array) increases, the successful read rate
improves leading to better readability. A key point to notice is the results of the fanned orientation and
that of the stacked orientation for the various distances and m values. With the data from the stacked
orientation, it seemed that the tags were deemed unreadable after about six tags in the field. Thus, it is
irrelevant what the „m‟ values and displacement between tag and reader are. Therefore, tag orientation
as it faces the antenna is of utmost importance to ensure a successful read.

4.1.2 Angle Testing
Another key area that we needed to pay attention to is the angle of the incoming tags‟ positions with
respect to the RFID reader antenna. We need to quantify the performance of the checkout system for a
variety of possible item orientations that the customer might walk through with. We performed four
different angle sweeps in our testing (Please refer to Appendix C, Figure C.2.1 for a drawing of these
sweeps) and looked at the maximum read distance we could achieve. The first two tests look at the
effect of rotating the tag‟s face while directly in front of the antenna, and the last two tests examine what
happens when we vary the tag‟s position about the antenna in both a horizontal and vertical fashion. In
these tests, a successful read is defined as the tag having been seen in 3 consecutive cycles.

From the plots of the maximum read distance vs. angle (Appendix C, Figure C.2.2) we can draw some
very important conclusions about the effect of the tag angle on the readability. The first thing we notice
is that, as we expected, the maximum read distance at 0 degrees is roughly the same for all four sweeps,
but as we deviate more towards 90 degrees, the maximum read distance drops off. This drop off is more
pronounced for sweep Types 2 and 4. Sweep Types 1 and 3 performed a little better, as more of the tag
surface area is facing the antenna throughout the sweep. These results showed two important
conclusions: (1) the best read comes from a zero degree angle directly in front of the reader antenna, and
(2) it is best to have the tag‟s face lined up parallel to the antenna‟s face.



                                                     11
4.1.3 Substrate Testing

Implementing this RFID checkout line in a real-world store would require every item in the store to have
an RFID tag embedded or attached to it. This raises the need for substrate testing. We must determine if
certain materials that might be placed between the tag and the antenna will affect the readability and
range of the tag. Our test setup consisted of using a single tag, and placing the material to be tested in
between the tag and the reader, with the material as close to the tag as possible (unless otherwise stated).

Appendix C, Figure C.3.1 shows our results with various materials, ordered from the material with least
effect to the material with strongest effect on read range. Obviously, the most ideal situation is where
there is only air between the tag and the reader. Many materials such as paper, cardboard, and plastic
have very minimal effects on the read distance. Metals and liquids, however, have a drastic effect on the
read capabilities. The RF waves that are used to communicate between the tags and the reader are
reflected by metal. However, it was found that if the metal was behind the tag rather than in between the
tag and the antenna, then there were no issues with reading that tag. This leads to the insight that any
substrate issues could be overcome by having multiple antennas for one checkout line. For example, if
there were four antennas for each checkout line, with one looking right, one looking left, one looking up,
and one looking down, then a tag could not be blocked by a substrate as long as it was attached to the
outside of the package. Multiplexing several antennas to the reader and placing them wisely would also
greatly relieve the issue of tag angle and orientation.

4.1.4 Time Required To Detect A Tag Removal

One of the desired features of our checkout line is that the customer can add or remove items before
finalizing their checkout. It will always take longer for the system to recognize that an item has been
removed than to recognize that an item has been add, due to the quality control method. It will only take
one cycle after an item is added for it to show up on the display. The amount of time it takes for an item
to be removed from the system and display depends on the loop insurance number, m, because it will
take m cycles before that tag data is cleared from the array. As m increases, the time required to detect a
tag removal is expected to increase as well. We desire to minimize the amount of time between when an
item is removed and when the removal is reflected on the display, without losing accuracy in our reading
capability.

Appendix C, Figure C.4.1 shows our test data with the expected linear relationship between m and the
removal detection delay time. This test was conducted on m while all other variables were held constant.
The interrupt timeout was set at 0.131 seconds. There was one tag originally in the read field and it was
abruptly removed from the read field. A stopwatch was used to time the interval between when the tag
was moved away to when the display was updated to reflect the tag removal.

From earlier tests in Section 4.1.1, it was determined that m = 3 and 4 gave about the same reliability
and consistency for a system with maximum number of 10 tags. So after seeing that increasing m has a
significant effect on the time it takes to detect a tag removal, we decided that the optimal value for m in
our project is m = 3. This gives us consistent results and keeps the delay time down to a minimum. For
implementation in a store where customers are likely to have more than 10 items to check out, the
optimal value for m may increase.

There is another factor that affects the removal detection delay time, and that is the value for the PIC
interrupt timeouts. The interrupt timeout is how long the reader will wait for each tag response before
moving on and looking for the next tag. Once again, it is obvious that the longer the interrupt timeout is,
the longer it will take for a tag removal to be recognized. This test was conducted in almost the same
                                                   12
manner as the previous test, except m is fixed at a value of 3, and the delay time for the removal of a tag
was tested for three different values of PIC interrupt timeout. Appendix C, Figure C.4.2 portrays the
quantitative results for this test.

At first glance, one might think that the smaller the interrupt timeout, the better. However, there is a
limit to how low the interrupt timeout can go. It takes a finite amount of time for the RFID reader to
detect a tag, and if the interrupt timeout value is shorter than that detection time, then some tags will not
be read since the reader will be told to move on. With the interrupt timeout set at 0.065 seconds, we saw
some inconsistencies in our readings, so we opted to be safe and use an interrupt timeout of double that
or 0.13 seconds. With this specific test setup (using and removing only one tag), doubling the interrupt
timeout nearly doubles the removal detection delay time. The effect would be less obvious if there were
ten tags in the read field and one of them was removed, because the reader would only time out once in
that situation. Here, where only one tag is used and then removed, the reader times out ten times.




                                                     13
                                         5. COST ANALYSIS

5.1 Cost

For our project, we developed a small scale system that would simulate what would be implemented in a
location of larger magnitude, such as a typical retail store.

5.1.1 Parts

The RFID development kit ordered from SkyeTek can be seen in Table 2. By purchasing a development
kit that contained the RFID reader, RFID tags, a linear polarized antenna, and RFID reader module, (and
bargaining the price down from the original ticket price of $1500 + shipping and handling) we greatly
reduced our overall cost. We were able to further reduce the cost by using the DC power from the wall
and a cheap voltage line driver to have our components functioning properly (MAX232N chip). The
additional circuit components required in our overall design were relatively inexpensive and can be seen
in Table 3. Finally, Table 4 shows the additional materials needed for the finished design. The total parts
cost of our entire project was $578.23.

5.1.2 Labor

We calculated our future salary would be around $50/hr. From our records, the amount of hours spent
on research, development, documenting, and testing came to a value of 111 hours per person. Using
those numbers and plugging into the following equation:

       Total Cost = Parts + (Ideal Hourly Salary  (Hours Spent + Shop Hours)  2.5)

                                                TABLE 1
                                                Labor
              Xin Henry Fang ($50/hr) x 2.5 x 111 hrs                   $13,875
              Calvin Hsieh ($50/hr) x 2.5 x 111 hrs                     $13,875
              David Yi ($50/hr) x 2.5 x 111 hrs                         $13,875
              Labor Total                                               $41,625

Therefore the total labor for our design is $41,625. According to the equation above, we believe that
this will be an insignificant amount in comparison to the total purchase price if this system were to be
installed in chain of large retail stores.

                                                TABLE 2
                    Equipment                Unit Price   Quantity     Total Cost       Module
       DKM9-SkyeModule M9 Developer
       Kit + S & H                              $530.00           1        $530.00
       *M9-CF Module (CompactFlash                   $0                                RFID reader
       Type II Extended form factor)                              1             $0
       *Host Interface Board                         $0           1             $0     RFID reader
       *860-960MHz External Antenna (LP)             $0           1             $0         Antenna
       *9V Power Supply                              $0           1             $0     RFID reader
       *RS-232 Cable                                 $0           1             $0     RFID reader


                                                    14
      *USB Cable                                  $0          1           $0       RFID reader
      SkyeTek sample tag kit- EPC Class1
      Gen1, EPC Class1 Gen2, and                                                    RFID Tags
      ISO18000-6B label tags                      $0          1           $0
      Software
      • Demo Software with Libraries
      • SkyeWare 3.0 Demo Software
      • Software Libraries (API): C
      • Protocol Command Builder
      • Command Line Interface                                                     RFID reader
      • Windows DLL                               $0          1           $0
      Equipment total                                               $530.00
      * Included in developer kit

                                             TABLE 3
      Equipment                            Unit Price   Quantity   Total Cost          Module
      FOX oscillator (20 Mhz)                  $2.78          1        $2.78    Microcontroller
      MAX232N Chip                             $1.55          1        $1.55    Microcontroller
      Resistor (330 ohm)                       $0.60          1        $0.60    Microcontroller
      HP Power Supply                          $0.00          1        $0.00       Input Power
      Power Leads (Vdd & Gnd)                  $0.00          2        $0.00       Input Power
                                                                                        Voltage
      Capacitor (1 uF)                         $0.29          5        $1.45          Regulator
      Bundle of Wires                          $0.00          1        $0.00      Interconnects
      Protoboard                               $0.00          1        $0.00          ECE Lab
      RS 232 cable                             $5.99          1        $5.99     PC Com Port
      DB 9 pin connector (male)                $1.76          1        $1.76     Reader to PIC
      DB 9 pin connector (female)              $1.76          1        $1.76         PIC to PC
      Equipment total                                                 $15.89

                                             TABLE 4
      Equipment                            Unit Price   Quantity   Total Cost          Module
      2.73”x4.5” vector board M#(3797-2)      $16.17          2       $32.34      Circuit Board
      Drill bit                                $0.00          1        $0.00      Circuit Board
      **Screws                                 $0.00         10        $0.00      Circuit Board
      **Nuts                                   $0.00         10        $0.00      Circuit Board
      **Aluminum Box w/ top open               $0.00          1        $0.00      Circuit Board
      **Aluminum Lid                           $0.00          1        $0.00      Circuit Board
      **Bundle of Wires                        $0.00          1        $0.00      Interconnects
      Equipment total                                                 $32.34
      **taken from the ECE parts shop

Total = Labor + Equipment = $41,625 + $(530.00+15.89+32.34) = $42,203.23




                                                 15
                                           6. CONCLUSION

6.1 Successes

In the end, we were pretty satisfied with our project‟s functionality, and we felt that our system meets
the goals/specifications that we set at the beginning of the semester. Our project demonstrates a small-
scale proof of concept for an automated checkout line that can be applied towards a larger setting in a
retail store with even more items. We were very pleased to see that two of the most important aspects of
our project, the maximum read range and tag anti-collision, were functioning well. We saw over a 60
inch range for a single tag, and our system had a high rate of success for at least 6-7 items with
capabilities up to 10. Finally, we were able to tie it all together by implementing an attractive,
convenient display of the item information through Visual Basic, which we felt added a nice touch.

6.2 Uncertainties

There are many additions that could be modified to improve upon the overall design. The PIC interrupt
timeouts are a tradeoff between delay and quality assurance. If this setup was to contain a number of
tags much more than what we have tested in the scope of our project it would be difficult to say how
much for a range of delay would in fact be created and deemed acceptable if implemented in a real time
situation. With our limited design of just one linearly polarized antenna, our anti-collision was
thoroughly tested and can be seen to lack the quality towards the maximum allowable tags in our design.
This made it difficult to uncover the maximum tolerance and potential of what the devices could
ultimately be performing at. With the data communicated from the PIC to PC, there could be
modifications to improve the transmission. The bit stream is sent one tag at a time which is better for
quality assurance; however it leads to longer wait times to generate an output, as every microsecond
counts.

6.3 Ethical Considerations

One should take into consideration the ethical issues that are involved with placing RFID tags on items
in stores. One issue is that shoplifters can take off the tags, but as technology improves in the future, it
may be feasible to embed small RFID tags that cannot be ripped off. Shoplifting detection could also be
implemented at store exits similar to existing security measures. UHF RFID technology not only allows
information to be read from the tag but also makes it possible to write information onto the tag. Thus,
the tag ID could be overwritten or “turned off” when payment is confirmed, and that would not trigger
the alarm at the exit of the store.

Another ethical issue is that some consumers are worried that RFID tags will enable companies and
possibly individuals to invade their privacy. Since RFID tags would be on every item in the store, it
would technically be possible for someone to track what items you are buying. Through RFID
technology, companies and retailers can better understand the shopping habits of their consumers. Some
may consider this an invasion of privacy, but others claim that it will help companies target their
promotions more effectively and avoid spamming individuals with advertisements for products they
aren‟t interested in. This would actually be a benefit of implementing RFID tags in stores, but
nevertheless, this will surely raise some suspicions.

6.4 Future/Improvements

As far as future goals and additions for this project, first and foremost we would want to have a system
that can support hundreds if not thousands of tags to meet the inventory demands of a typical retail store.
This would then require a more extensive database to store the information contained on each tag as well
                                                    16
as software modifications to accurately read each tag. Another goal would to improvement on the
interrogation zone that is created to read the tags. For our purpose we had a one directional linearly
polarized antenna that read from the RFID tags. A multiplexed array of antennas can be created and
arranged in an optimal manner that could then account for the different angles and orientations in which
the tags are coming into the read field. Expanding on the theory of RF waves, one could design a metal
shield that would act as an RF wave reflector once again to account for the various RFID tag
orientations leading to improved readability. To allow for a greater read range an amplification system
can be created for the antenna setup that would boost the transmission signal towards the maximum
capable range (~3m). As far as the implementations from the consumer side, the modules can be
interfaced with a credit card machine, check reader, and receipt printer to expand the scope that is more
fitting of a typical store checkout routine. Lastly, the information contained on the individual RFID tags
can be stored into a database with detailed information including tracking and purchasing data that can
help create solutions that would then be beneficial to the financial and various business applications of
the company.




                                                   17
                                APPENDIX A – BLOCK DIAGRAMS

Diagram A.1 below is a block diagram of the overall RFID checkout system. The PIC sends out a signal
to the RFID reader asking it to look for all tags in its field. The tags are returned to the reader and back
to the PIC, where the PIC matches up the received strings to ones in memory. Finally, the PIC sends
data to a PC where processing of items, descriptions, and total prices is accomplished.




                        Diagram A.1 Block Diagram of RFID Checkout System




                                                     18
                                 APPENDIX B – SCHEMATICS

Figure B.1 is a schematic for the Microchip PIC16F877A microprocessor used in our design. Figure B.2
is a schematic for the overall system as described by the block diagram above, including
interconnections between the PIC to RFID reader, PIC to PC, and the various other components
necessary in the PIC implementation.




                           Fig. B.1 Schematic of Microchip PIC16F877A




                                                 19
Fig. B.2 Overall Schematic of RFID Checkout System



                       20
                                                                      APPENDIX C – TEST DATA

Figures C.1.1-C1.7 contains the graphical results for the readability and anti-collision testing. Each of
those graphs contains data on four separate m values (1,2,3,4). Figures C.1.1-C.1.3 are the tests at a
displacement of 0.5ft and Figures C.1.4-C.1.6 are for a displacement of 1.5ft. C.1.7 shows the results for
the maximum test displacement and m value. Figures C.2.1 and figures C.2.2 pertain to the angle testing,
describing both the orientation as well as the graphical results. C.3.1 pertains to the substrate tests,
Figure C.4.1 relates to the time for tag removal as a function of the m value, and Figure C.4.2 relates to
the timing for detection on tag removal as a function of PIC interrupt timeout.

C.1 Readability and Anti-Collision Testing


                                             Effect of 'm' on Read Success (Dist 0.5 ft, tags fanned/spread out)

                                  16

                                  15

                                  14

                                  13

                                  12
   Successful reads (out of 15)




                                  11

                                  10

                                   9

                                   8

                                   7

                                   6

                                   5                                                                         m=1
                                                                                                             m=2
                                   4                                                                         m=3
                                                                                                             m=4
                                   3

                                   2

                                   1

                                   0
                                       0         1        2       3        4         5          6    7       8       9       10
                                                                           Number of Tags in Field




                                           Fig. C.1.1: Effect of m on read success at a distance of 0.5 ft for fanned orientation




                                                                                       21
                                         Effect of 'm' on Read Success (Dist 0.5ft, Tags directly behind each
                                                                       other)

                               16

                               15

                               14

                               13

                               12
Successful Reads (out of 15)




                               11

                               10

                                9
                                                                                                                          m=1
                                8                                                                                         m=2
                                                                                                                          m=3
                                7                                                                                         m=4

                                6

                                5

                                4

                                3

                                2

                                1

                                0
                                    0       1        2       3        4          5          6   7      8             9           10
                                                                      Number of Tags in Field




                                    Fig. C.1.2: Effect of m on read success at a distance of 0.5 ft for stacked orientation


                                           Comparison of Orientations on Read Success (Dist 0.5ft, m=3)

                               16

                               15

                               14

                               13

                               12
Successful Reads (out of 15)




                               11

                               10

                                9

                                8                                                                           Spread orientation
                                                                                                            Not spread orientation
                                7

                                6

                                5

                                4

                                3

                                2

                                1

                                0
                                    0        1       2        3       4          5          6   7       8             9              10
                                                                      Number of Tags in Field




                           Fig. C.1.3: Comparison of fanned verses stacked orientation at a distance of 0.5 ft at m=3


                                                                                22
                                               Effect of 'm' on Read Success (Dist 1.5ft, Fanned Orientation)

                                   16

                                   15

                                   14

                                   13

                                   12
Successful Reads (out of 15)




                                   11

                                   10

                                    9
                                                                                                                   m=1
                                    8
                                                                                                                   m=2
                                    7                                                                              m=3
                                                                                                                   m=4
                                    6

                                    5

                                    4

                                    3

                                    2

                                    1

                                    0
                                        0      1        2       3       4          5           6   7      8        9           10
                                                                         Number of Tags in Field




                                        Fig. C.1.4: Effect of m on read success at a distance of 1.5 ft for fanned orientation


                                            Effect of 'm' on Read Success (Dist 1.5ft, Non-spreaded orientation)

                                   16

                                   15

                                   14

                                   13

                                   12
    Successful Reads (out of 15)




                                   11

                                   10

                                    9                                                                                    m=1
                                                                                                                         m=2
                                    8                                                                                    m=3
                                                                                                                         m=4
                                    7

                                    6

                                    5

                                    4

                                    3

                                    2

                                    1

                                    0
                                        0       1       2       3        4          5          6   7      8        9           10
                                                                         Number of Tags in Field




                                        Fig. C.1.5: Effect of m on read success at a distance of 1.5 ft for spread orientation
                                                                                23
                                        Comparison of Tag Orientation on Read Success (Dist 1.5ft, m=3)

                               16

                               15

                               14

                               13

                               12
Successful Reads (out of 15)




                               11

                               10

                                9

                                8
                                                                                                                     Tags spreaded
                                7
                                                                                                                     Tags not spreaded

                                6

                                5

                                4

                                3

                                2

                                1

                                0
                                    0     1         2       3       4            5           6       7       8             9              10
                                                                    Number of Tags in Field



                               Fig. C.1.6: Comparison of fanned verses stacked orientation at a distance of 1.5 ft at m=3

                                              Effect of Tag Orientation on Read Success (Dist 3ft, m=4)

                               16

                               15

                               14                                                                                    Spread orientation

                               13

                               12
Successful Reads (out of 15)




                               11

                               10

                                9

                                8

                                7

                                6

                                5

                                4

                                3

                                2

                                1

                                0
                                    0     1         2       3       4              5             6       7       8             9           10
                                                                        Number of Tags in Field



                                          Fig. C.1.7: Effect of tag orientation on read success at a distance of
                                                            3ft for spread orientation at m=4
                                                                            24
C.2 Angle Testing




                                                                Fig. C.2.1: Four Angle Test Orientations

                                                      Max Read Distance vs Angle (single tag, m=1)

                                    65

                                    60

                                    55

                                    50
       Max Read Distance (inches)




                                    45

                                    40
                                                                                                                           Angle Type 1
                                    35                                                                                     Angle Type 2
                                                                                                                           Angle Type 3
                                    30                                                                                     Angle Type 4


                                    25

                                    20

                                    15

                                    10

                                     5

                                     0
                                         0   5   10   15   20    25   30   35   40    45     50   55   60   65   70   75     80     85    90
                                                                                Angle (degrees)




                                         Fig. C.2.2: Maximum Read Distance vs Angle for the different angle sweeps




                                                                                        25
C.3 Substrate Testing



                                                                            Effect of substrate on max read distance
                                                                               (one tag, m = 1, optimal orientation)
                              Maximum read distance (inches)
                                                               70
                                                               60
                                                               50
                                                               40
                                                               30
                                                               20
                                                               10
                                                                0
                                                                    r




                                                                                                                                                                                         al
                                                                               r




                                                                                                                                                  d)




                                                                                                                                                                                                     n)
                                                                                         rd



                                                                                                        )




                                                                                                                                                               d)



                                                                                                                                                                             )
                                                                    Ai




                                                                                                                                    k
                                                                                                                        )
                                                                            pe




                                                                                                      er




                                                                                                                                                                              e


                                                                                                                                                                                       et
                                                                                                                    se


                                                                                                                                 ac


                                                                                                                                                ke




                                                                                                                                                                                                   ca
                                                                                                                                                             in
                                                                                      oa




                                                                                                                                                                          ttl
                                                                                                    p
                                                                         Pa




                                                                                                                                                                                     M
                                                                                                                               kp
                                                                                                                   ca




                                                                                                                                                              h


                                                                                                                                                                        bo
                                                                                                                                               oc
                                                                                                 pa
                                                                                     db




                                                                                                                                                                                                 it e
                                                                                                                                                           be
                                                                                                                             ac


                                                                                                                                           bl
                                                                                                               e




                                                                                                                                                                     er
                                                                                   ar




                                                                                                                                                                                               pr
                                                                                               ick


                                                                                                               m




                                                                                                                                                       in
                                                                                                                            tB
                                                                                C




                                                                                                                                                                   at
                                                                                                                                         lly




                                                                                                                                                                                           (S
                                                                                                            ga
                                                                                           (th




                                                                                                                                                       4


                                                                                                                                                                  (w
                                                                                                                        or


                                                                                                                                     tia




                                                                                                                                                                                           d
                                                                                                                                                    ut
                                                                                                       o


                                                                                                                       p
                                                                                          ok




                                                                                                                                                                                        ui
                                                                                                                                   ar




                                                                                                                                                              id
                                                                                                        e




                                                                                                                                                   o
                                                                                                                    ns




                                                                                                                                                                                      iq
                                                                                                                                 (p
                                                                                                     id
                                                                                      Bo




                                                                                                                                                ab


                                                                                                                                                             qu
                                                                                                                   Ja




                                                                                                                                                                                      +L
                                                                                                 (v




                                                                                                                              al




                                                                                                                                                           Li
                                                                                                                                            g
                                                                                      e




                                                                                                                                                                                    al
                                                                                                ic




                                                                                                                            et


                                                                                                                                          (ta
                                                                                   on




                                                                                                                                                                                  et
                                                                                               t




                                                                                                                            M
                                                                                            as
                                                                               Ph




                                                                                                                                                                              M
                                                                                                                                       al
                                                                                           Pl




                                                                                                                                     et
                                                                                                                                     M
                                                                                                     Substrate placed in between antenna and tag



                                                                     Fig. C.3.1: Effect of substrate on max read distance of a single tag


C.4 Time Required To Detect A Tag Removal


                                                                           Effect of M on time to detect a tag removal
                                                                                        (I.T. = 0.131 sec)

                                                9

                                                8
        Removal detection delay time




                                                7

                                                6
                 (seconds)




                                                5

                                                4

                                                3

                                                2

                                                1

                                                0
                                                               0         0.5               1                 1.5                 2               2.5                3              3.5                  4   4.5
                                                                                                             m (number of insurance loops)


                                                                               Fig. C.4.1: Effect of m on time to detect a tag removal
                                                                                                         26
                                                  Effect of interrupt timeout on time required to detect
                                                                    tag removal (m = 3)

                                         12
Removal detection delay time (seconds)

                                         10


                                          8


                                          6


                                          4


                                          2


                                          0
                                              0          0.05       0.1          0.15           0.2     0.25         0.3
                                                                  Interrupt timeout per tag (seconds)




                                         Fig. C.4.2: Effect of interrupt timeout on time required to detect a tag removal




                                                                                 27
                                     APPENDIX D - PICTURES

Figure D.1.1 shows the picture of our initial test setup on the proto-board in which all the initial
functionality and testing of communications was performed on. Figure D.1.2 portrays final hardware
design construction with each individual circuit element soldered onto the vector boards, which were
then mounted into a box with holes drilled for RS-232 serial connections, as well as plugs for power and
ground. Figure D.1.3 illustrates the complete final design setup implemented in demonstration. Figure
D.2.1 shows the initial implementation for a display through HyperTerminal. Lastly, in Figures D.3.1-
D.3.3 shows the individual forms implemented in Visual Studio 2005 for the checkout center.


D.1 Hardware Setup




                               Fig. D.1.1: Protoboard for Circuit Testing




                                                  28
   Fig. D.1.2: Final Hardware Design




Fig. D.1.3: Complete Hardware Overview




                  29
D.2 PIC to PC




                Fig. D.2.1: Initial HyperTerminal Display




                                   30
D.3 PC Display in Visual Studio 2005




                              Fig. D.3.1: Final PC Display Design




                                              31
Fig. D.3.2: Right Price Menu        Fig. D.3.3: Select Payment Menu




                               32
                                        REFERENCES

[1]   Microchip, “16F877A PIC Datasheet,” October 2007,
      http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf.

[2]   Christopher E. Strangio, “The RS232 Standard,” October 2007,
      http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html.

[3]   Texas Instruments, “MAX232N Datasheet,” October 2007,
      http://focus.ti.com/lit/ds/symlink/max232.pdf.

[4]   SkyeTek Inc. Technical, SkyeTek Protocol v3 Reference Guide, SkyeTek Inc., 2007.

[5]   Custom Computer Services, Inc., “PIC-C Compiler Reference Manual”, October 2007,
      http://www.ccsinfo.com/downloads/ccs_c_manual.pdf.

[6]   Jan Axelson, “Serial Port Central”, November 2007,
       http://www.lvr.com/serport.htm.




                                               33

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:5
posted:5/16/2011
language:English
pages:37