FPGA, Na Qual É Instanciado Um Microprocessador E Periféricos
Total Page:16
File Type:pdf, Size:1020Kb
Departamento de Universidade de Aveiro Electrónica, Telecomunicações e Informática 2012 João Tiago Implementação do Controlo de Acesso ao Meio Bartolomeu Pio para IEEE 802.11p Implementation of IEEE 802.11p Medium Access Control Departamento de Universidade de Aveiro Electrónica, Telecomunicações e Informática 2012 João Tiago Implementação do Controlo de Acesso ao Meio Bartolomeu Pio para IEEE 802.11p Implementation of IEEE 802.11p Medium Access Control Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia Elec- trónica e de Telecomunicações, realizada sob a orientação científica do Pro- fessor Doutor Arnaldo Silva Rodrigues de Oliveira (Orientador), Professor do Departamento de Electrónica, Telecomunicações e Informática da Uni- versidade de Aveiro e do Professor Doutor Joaquim José de Castro Fer- reira (Co-orientador), Professor Adjunto da Escola Superior de Tecnologia e Gestão de Águeda – Universidade de Aveiro. o júri / the jury presidente / president Prof. Doutor João Nuno Pimentel da Silva Matos Professor Associado da Universidade de Aveiro vogais / examiners committee Prof. Doutor Arnaldo Silva Rodrigues de Oliveira Professor Auxiliar da Universidade de Aveiro (Orientador) Prof. Doutor Joaquim José de Castro Ferreira Professor Adjunto da Escola Superior de Tecnologia e Gestão de Águeda – Univer- sidade de Aveiro (Coorientador) Prof. Doutor Valter Filipe Miranda Castelão da Silva Professor Adjunto da Escola Superior de Tecnologia e Gestão de Águeda – Univer- sidade de Aveiro agradecimentos / Antes de mais queria agradecer aos meus pais, que durante todo o meu acknowledgements percurso académico sempre me apoiaram em tudo o que necessitei. Foram eles os principais motivadores por detrás da minha decisão de escrever esta dissertação. Agradeço ao Professor Arnaldo Oliveira e o Professor Joaquim Ferreira, que me acompanharam e orientaram durante este longo percurso e sem os quais não teria sido possível completar o trabalho aqui apresentado. De igual importância foram os meus colegas de projecto, Nelson Cardoso e Manuel Ventura, cujo trabalho foi uma importante contribuição para esta dissertação. Quero também deixar uma nota de apreço à minha namorada, que me acompanhou durante a escrita do documento, ajudando no processo de revisão final. Resumo À medida que os avanços na tecnologia vão surgindo, as comunicações sem fios são cada vez mais omnipresentes. Os progressos nesta área fizeram com que recentemente se tenha começado a explorar as comunicações entre veículos móveis, de forma a proporcionar uma viagem mais confortável e segura aos passageiros. No entanto este tipo de comunicação tem características muito específicas, distintas das já familiares redes sem fios estáticas, exigindo outros modos de funcionamento. Posto isto, há a necessidade de desenvolver um conjunto de normas que supram essas necessidades específicas, não abrangidas pelas normas já existentes, que permitam a diferentes equipamentos comunicarem e falarem a mesma linguagem. Com este intuito, a norma IEEE 802.11p foi proposta como uma adenda à já estabelecida norma IEEE 802.11, de forma a providenciar serviço numa rede com baixos tempos de conectividade e alta mobilidade. Nesta dissertação discute-se a especificação, implementação e validação da camada Upper MAC de uma plataforma de comunicação que pretende implementar a norma 802.11p, com capacidade de estabelecer comuni- cações sem fios entre veículos de uma forma standardizada. Fisicamente a plataforma consiste num equipamento RF com antena e uma FPGA, na qual é instanciado um microprocessador e periféricos. Conceptualmente a plataforma consiste nas duas camadas mais baixas do modelo OSI de co- municações, PHY e MAC, sendo que a camada MAC se encontra dividida em Upper MAC de software e Lower MAC de hardware. A Upper MAC foi desenvolvida em C compilado para ser executado num microprocessador instanciado na FPGA. A Upper MAC é responsável pelas operações atribuídas pela norma à camada MAC que apresentam um maior nível de complexidade de implementação e que não têm exigências em re- lação à operação em tempo real. A Upper MAC foi implementada e testada na FPGA com sucesso, cumprindo com a maioria dos requisitos exigidos pela norma. Abstract With current technological progress, wireless communications are becoming more pervasive. The developments in this area have caused a recent interest in communications between fast moving vehicles, in order to aid in a safer and confortable voyage. This type of communication has very specific characteristics, different from the already familiar static wireless networks, imposing distinct modes of operation. A set of standards that can comply with such specific needs must be developed, to allow different equipments to establish and maintain communications in a stable and organized manner. An amendment to the IEEE 802.11 wireless standard, called IEEE 802.11p, was written to provide communications in a network with low connectivity times and high mobility. This dissertation discusses the specification, implementation and validation of the Upper MAC layer of a communications platform that complies with 802.11p. Physically, the platform consists of an RF front-end with antenna and a FPGA, in which a microprocessor and its peripherals are instantiated. Conceptually the platform contains the two lower layers of the OSI commu- nications model, PHY and MAC. The MAC layer is further divided into a software Upper MAC and a hardware Lower MAC The Upper MAC was developed in C compiled to be executed in the mi- croprocessor instantiated in the FPGA. The Upper MAC is responsible for the MAC layer functionalities, defined by the standard, that require a higher level of complexity in the implementation and which don’t have real time operation requirements. The Upper MAC was implemented and validated with success, complying with most requisits defined in the standard. Contents Contents i List of Figures iii List of Tables v List of Acronyms vii 1 Introduction 1 1.1 Scope . .1 1.2 Motivation . .3 1.3 Objectives . .4 1.4 Organization of the Document . .5 2 Applications, Standards and Projects 7 2.1 Introduction . .7 2.2 Applications . .7 2.2.1 Safety . .7 2.2.2 Traffic Management . .8 2.2.3 Commercial . .8 2.3 Standards . .8 2.4 MAC layer development projects . 10 3 Specification of the Upper MAC Layer 15 3.1 Introduction . 15 3.2 Functional Specification . 16 3.2.1 Interface With the LLC . 17 3.2.2 MAC Address Management . 18 3.2.3 Frame Assembling . 18 3.2.4 Frame Processing . 19 3.2.5 Positive Acknowledgment . 20 3.2.6 Medium Access Mechanism . 20 3.3 Timing Specification . 21 4 Implementation of the Upper MAC Layer 25 4.1 Introduction . 25 4.2 Software Architecture . 26 i 4.2.1 Main Cycle . 26 4.2.2 Reception From the LLC . 26 4.2.3 End of frame transmission to the PHY . 27 4.2.4 Reception from the PHY . 27 4.2.5 Countdown expiration . 28 4.3 Layer Interfaces . 33 4.3.1 MAC-LLC Interface . 33 4.3.2 UMAC/LMAC Interface . 34 4.4 Development Platform . 35 4.4.1 Hardware Kit . 35 4.4.2 Development Tools . 38 4.5 Project Structure . 38 4.6 Project Compilation and Execution . 41 5 Validation 43 5.1 Introduction . 43 5.2 Functional Validation . 43 5.2.1 Frame Format . 43 5.2.2 Frame Sequence Exchanges . 45 5.3 Timing Validation . 46 5.3.1 SIFS . 47 5.3.2 Virtual Carrier Sense . 50 5.3.3 Physical Carrier Sense . 50 6 Conclusion and Future Work 53 6.1 Final Remarks and Conclusions . 53 6.1.1 Functional Behavior . 53 6.1.2 Timing Behavior . 53 6.2 Future work . 55 6.2.1 Solving issues . 55 6.2.2 Adding Further Functionalities . 56 Bibliography 57 A UMAC/LMAC programming model 61 A.1 Macros Available . 61 B Over the Air Update 69 B.1 Overview . 69 B.2 Features . 69 B.3 Architecture and Implementation . 70 ii List of Figures 1.1 Example of a Vehicular Network with Vehicle-to-Vehicle (V2V) and Vehicle-to- Infrastructure (V2I) communication. .2 2.1 The Wireless Access in Vehicular Environments (WAVE) layer stack and the stan- dards their Institute of Electrical and Electronics Engineers (IEEE) ruling standards. 10 2.2 Hardware/software architecture of the OpenMAC platform. 12 3.1 Block architecture of the 802.11p wireless communications device. 15 3.2 Logical Link Control (LLC) - Medium Access Control (MAC) interface, with the different primitives exchanged between the two layers and their respective directions and parameters. 17 3.3 Data exchange at the LLC-MAC interface, for transmission and reception. 19 3.4 General format of MAC frames. 20 3.5 Exchange of data between two stations, including Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) and positive acknowledgment. 21 3.6 Timing relations between the different Interframe Space (IFS) values. 22 4.1 Detailed architecture of the MAC layer of the 802.11p communications platform. 26 4.2 Upper MAC (UMAC)’s main software cycle. Interrupt routines are named and labeled by numbers. 27 4.3 Interrupt service routine for the llc_rx_interrupt. 29 4.4 Interrupt service routine for the phy_tx_end_interrupt. 30 4.5 Interrupt service routine for the phy_rx_interrupt. 31 4.6 Interrupt service routine for the countdown_interrupt. 32 4.7 Usage of the escape byte to signal the start and end flag . 33 4.8 Frame format for the codification of the LLC-MAC data exchange primitives . 34 4.9 Trenz Spartan-3E Field-Programmable Gate Array (FPGA) Industrial Micromodule. 37 4.10 802.11p communications platform motherboard, with the FPGA, Radio Frequency (RF) module (analogue Physical (PHY)) and General Packet Radio Service (GPRS) modem. 37 4.11 Software project tree view. 40 4.12 Compile and execution flow for the Xilinx EDK. 41 4.13 Linker script generation window. 42 4.14 Joint Test Action Group (JTAG) programmer cable for the FPGA.