A Thesis Entitled Wi-Fi Data Transmission Employing
Total Page:16
File Type:pdf, Size:1020Kb
A Thesis entitled Wi-Fi Data Transmission Employing Microcontroller and Wi-Fi CompactFlash Card by Haoyue Li Submitted to the Graduate Faculty as partial fulfillment of the requirements for the Master of Science Degree in Electrical Engineering __________________________________________ Dr. Vijay K. Devabhaktuni, Committee Chair __________________________________________ Dr. Mansoor Alam, Committee Member __________________________________________ Dr. Weiqing Sun, Committee Member __________________________________________ Dr. Patricia Komuniecki, Dean College of Graduate Studies The University of Toledo May 2011 Copyright 2011, Haoyue Li This document is copyrighted material. Under copyright law, no parts of this document may be reproduced without the expressed permission of the author. An Abstract of Implement Wi-Fi Data transmission with microcontroller and Wi-Fi CompactFlash card by Haoyue Li Submitted to the Graduate Faculty as partial fulfillment of the requirements for the Master of Science Degree in Electrical Engineering The University of Toledo May 201 Wi-Fi (short for "wireless fidelity") is a term used to explain certain types of wireless local area networks (WLANs) that use specifications in the 802.11 family. IEEE 802.11 (Wi-Fi) is the most widely used wireless communication technology. This thesis presents an idea explaining how to build a Wi-Fi data transmission system based on the PIC18LF6722 microcontroller and a CompactFlash card with Wi-Fi capability (XTERASYS CWB1K). The proposed system uses a Wi-Fi data transmission system capable of sending data packets through user datagram protocol (UDP) to a laptop computer with Wi-Fi capability. The experimental results indicate that it is possible to build a data transmission module using inexpensive and simple components. This provides a simple and inexpensive design of data transmission for use in areas like real- time measuring and monitoring when combined with a sensing system. iii For my parents, and friends. iv Acknowledgements I would like to thank my advisor Dr. Vijay Devabhaktuni and co-advisor Dr. Mansoor Alam, for giving me the opportunity conduct my master‟s research under their guidance. It is a great learning experience working with them. I also want to express my deepest gratitude to them for offering intelligent advice at all times, treating me with patience, and constantly given me new direction. At last, I would also like to extend special thanks to my family, and friends in Toledo for all the memorable times and constant encouragement for their motivation. v Table of Contents Acknowledgements ............................................................................................................ iii List of Tables ..................................................................................................................... ix List of Figures ..................................................................................................................... x List of Abbreviations ......................................................................................................... xi 1 Introduction ...................................................................................................................... 1 1.1 Background ............................................................................................................ 1 1.2 Research Objectives .............................................................................................. 3 1.3 Overview ............................................................................................................... 4 1.4 Structure of the Thesis ........................................................................................... 7 2 Hardware Design and Structure ....................................................................................... 8 2.1 Microcontroller – PIC18LF6722 ........................................................................... 8 2.2 Power Supply and RS-232 Interface ................................................................... 11 2.3 802.11b CompactFlash Network Interface Cards................................................ 14 3 Communicate with 802.11b CompactFlash Card .......................................................... 18 3.1 Connecting a Microcontroller to a CompactFlash Card ...................................... 20 vi 3.2 Talking in Tuples ................................................................................................. 26 3.3 First Steps for programming the Phoenix ............................................................ 30 3.4 The Tuple Chain .................................................................................................. 32 3.5 CIS Reconnaissance ............................................................................................ 35 3.6 Some 802.11b Language Basics .......................................................................... 37 3.7 The 802.11b CompactFlash NIC I/O Drivers ...................................................... 40 4 Setting up a Wi-Fi wireless network and making the board accesses the Wi-Fi ........... 47 4.1 Setting up the SSID ............................................................................................. 49 4.2 Retrieving the MAC Address .............................................................................. 51 4.3 Putting an Phoenix on a Wireless LAN ............................................................... 53 5 Sending data to the terminal laptop computer by UDP ................................................. 56 5.1 Running a UDP Application on the Phoenix ....................................................... 56 5.2 Setting Phoenix Using Tera Term Pro ................................................................. 59 5.3 Sending and Receiving Data by UDP.................................................................. 60 6 Conclusions and Future Work ....................................................................................... 64 6.1 Conclusions ......................................................................................................... 64 6.2 Future Work ......................................................................................................... 65 vii References ......................................................................................................................... 66 A Definition of local variables C code used in the 802.11b CompactFlash NIC initialization procedure ..................................................................................................... 70 B C code for the CompactFlash Card initialization .......................................................... 72 viii List of Tables 2-1 Specification of XTERASYS CWB1K wireless NIC ................................................ 16 3-1 CompactFlash Card Register and Memory Area Decoding ....................................... 23 3-2 Common Memory Functions ...................................................................................... 24 3-3 CompactFlash+ Card Configuration Registers Decoding .......................................... 24 3-4 PCMCIA Mode I/O Functions ................................................................................... 25 3-5 Layer 1 Tuples ............................................................................................................ 27 3-6 Typical Tuple Layout ................................................................................................. 29 3-7 PIC configuration register layouts .............................................................................. 31 ix List of Figures 1-1 Overview of the Phoenix .............................................................................................. 5 1-2 Debugger and Programmer Mplab ICD3 ..................................................................... 5 1-3 Block diagram of the Wi-Fi data sending system......................................................... 7 2-1 Hardware Schematic of Phoenix ................................................................................ 10 2-2 XTERASYS CWB1K 802.11b CompactFlash NIC................................................... 14 3-1 Schematic of the CompactFlash Card ........................................................................ 21 3-2 CompactFlash Card connector .................................................................................... 22 3-3 The flow chart of CompactFlash Card initialization .................................................. 41 4-1 Wireless Access Point Setting page............................................................................ 48 4-2 Attached devices before Phoenix access .................................................................... 49 4-3 Attached devices after Phoenix access ....................................................................... 54 4-4 Ping commend for Phoenix ........................................................................................ 55 5-1 Tera Term Pro setting window before CompactFlash card is activated ..................... 59 5-2 The whole data sending process flow chart ................................................................ 61 5-3 The MCHPDetect application window....................................................................... 62 5-4 Tera Term Pro window after CF card is activated ...................................................... 63 5-5 Data packets received on laptop computer