P15AB13 WIFI Webserveur » Historique » Version 23
Anonyme, 02/04/2021 11:59
1 | 4 | Anonyme | !https://forge.clermont-universite.fr/attachments/download/15958/renesas_20160104112006_20160104112055.jpg! |
---|---|---|---|
2 | !https://forge.clermont-universite.fr/attachments/download/15959/logo_20160104111513_20160104111520.png! |
||
3 | 3 | Anonyme | |
4 | 4 | Anonyme | --- |
5 | 1 | Anonyme | |
6 | 4 | Anonyme | *Projet GE4-GE5 2015* : Wifi Webserveur |
7 | *Entreprise / Client* : Renesas électronic / Tolentino Martins |
||
8 | *Auteurs* : Corentin Corde, Papa amadou Seck |
||
9 | *Responsable Projet* : Michel James |
||
10 | *Tuteur industriel* : Jonathan Bernard |
||
11 | |||
12 | 1 | Anonyme | --- |
13 | 4 | Anonyme | |
14 | p(((((((. *Résumé* |
||
15 | |||
16 | Le projet « serveur Wifi sur plateforme RZ-A1L » concerne la réalisation d’un serveur web sur un microcontrôleur RENESAS. Cette entreprise souhaite la réalisation d’un tel projet afin de démontrer les performances de leur puce sur une application de type « serveur web wifi ». Il s'agit d'une nouvelle famille de microcontrôleur basé sur une cible 32 bits de technologie ARM (cortex A9). Pour la réalisation de ce projet, nous utiliserons la pile TCP/IP CycloneTCP. Dans un premier temps, nous avons choisi puis adapté un module Wifi sur la carte de développement. Dans un deuxième temps, nous avons adapté un ancien projet de serveur web fonctionnant en filaire à notre application WIFI. |
||
17 | |||
18 | Mots clés : |
||
19 | Serveur Web embarqué |
||
20 | Wifi |
||
21 | Renesas |
||
22 | RZ-A1L |
||
23 | |||
24 | --- |
||
25 | |||
26 | p=. *Abstract* |
||
27 | |||
28 | The "WiFi server on RZA1L platform" project concerns the realization of a web server on a RENESAS microcontroller. The company wants the realization of this type of project to demonstrate the performance of their chip on an application of "wireless web server." This is a new microcontroller family based on technology 32-bit target (ARM Cortex A9). For this project, we will use a stack tcp/ip CycloneTCP. Initially, we selected and adapted a WiFi module on the development board. Secondly, we have adapted an old web server project running with ethernet to WIFI application. |
||
29 | |||
30 | --- |
||
31 | |||
32 | p=. *Introduction* |
||
33 | |||
34 | Dans le cadre du projet industriel de Génie Électrique qui s’étend sur 250 heures, Renesas Electronics acteur majeur dans le domaine des microcontrôleurs (27 % des parts de marché) propose un sujet portant sur l'un des derniers microcontrôleurs de la gamme RZ. |
||
35 | Cette entreprise désire mettre en avant les performances de son microcontrôleur RZ-A1L à travers une application de type serveur web WiFi embarquée en utilisant des outils de développement gratuit et open source. |
||
36 | |||
37 | --- |
||
38 | |||
39 | p=. *Présentation du Sujet* |
||
40 | |||
41 | *Synoptique général* |
||
42 | |||
43 | La figure ci-dessous représente le synoptique général de notre application. |
||
44 | 5 | Anonyme | |
45 | 12 | Anonyme | p=. !https://forge.clermont-universite.fr/attachments/download/15962/synoptique_20160105164028_20160105164917.png! |
46 | 5 | Anonyme | |
47 | Le cœur de l’application est le microcontrôleur RZ-A1L présent sur la carte de développement, celui-ci devra être connecté à un module WiFi afin de rendre possible la communication sans fil. Grâce à ce module, le RZ-A1L sera capable de communiquer avec un système possédant une interface web et une connexion WiFi. La carte d’adaptation permettra la connexion physique entre le module Wifi et la carte de développement. Quant au driver, il servira à adapter la partie hardware avec le software. |
||
48 | |||
49 | *Présentation des éléments du système* |
||
50 | |||
51 | p((. Carte RZ-A1L |
||
52 | |||
53 | 1 | Anonyme | La carte utilisée pour la réalisation du projet sera la carte RZ-A1L. Elle est fabriquée par la société Renesas. Elle est disponible pour le moment que chez Renesas car il s'agit de la dernière famille de microcontrôleur de Renesas. Le cœur de cette carte et un microcontrôleur de type ARM Cortex A9. |
54 | 6 | Anonyme | |
55 | p=. !https://forge.clermont-universite.fr/attachments/download/15961/carte_rz-A1_20150523093323_20150523093439.jpg! |
||
56 | 8 | Anonyme | |
57 | *Microcontrôleur RZ-A1L* |
||
58 | |||
59 | Le microcontrôleur utilisé sur ce projet est le RZ-A1L, distribué par "Renesas":https://www.renesas.com/eu/en. Il fait partie de la famille des RZ, dont les grandes lignes sont résumées sur le schéma ci-dessous. |
||
60 | |||
61 | Ce microcontrôleur possède des caractéristiques suivantes : |
||
62 | |||
63 | p((((. Calculs sur 32bits |
||
64 | Fréquence max 400MHz |
||
65 | Nombreux bus de communication |
||
66 | Ethernet Mac (100Mbps) |
||
67 | 9 | Anonyme | |
68 | p=. !https://forge.clermont-universite.fr/attachments/download/15963/p13b04_schemaRZ_20150523094508_20150523094521.png! |
||
69 | |||
70 | L'avantage de ce microcontrôleur dans notre projet est son interface avec une carte SD. Cela va nous permettre de communiquer avec le module wifi choisi avec le client. |
||
71 | |||
72 | *Module Wifi Murata SN8000* |
||
73 | |||
74 | p(. Le module wifi choisi pour ce projet est le Redpine RS9110-N-11-22. |
||
75 | Module murata |
||
76 | 10 | Anonyme | |
77 | p=. !https://forge.clermont-universite.fr/attachments/download/15964/Murata_SN800_20150523095522_20150523095632.png! |
||
78 | |||
79 | Ce module possède les caractéristiques suivantes : |
||
80 | |||
81 | p((. Norme wifi 2.4GHz IEEE 802.11b/g/n |
||
82 | Mode AP & STA dual mode (routeur ou non) |
||
83 | Data Rate WLAN 11, 54, 64 Mbps |
||
84 | Modes de sécurité WPA/WPA2-PSK, WEP et TKIP |
||
85 | Interface hôte : SDIO/SPI |
||
86 | Sans pile TCP/IP |
||
87 | 11 | Anonyme | |
88 | p=. !https://forge.clermont-universite.fr/attachments/download/15965/Murata_block_20150523095522_20150523095548.png! |
||
89 | |||
90 | Ce module a ete choisi car il peut communiquer en SDIO (carte SD). Il s'agit d'une volonté du client de pouvoir insérer le moduel wifi comme une carte SD. |
||
91 | |||
92 | --- |
||
93 | |||
94 | p=. *Problématiques* |
||
95 | |||
96 | Le projet s’organise essentiellement autour de trois grandes problématiques : |
||
97 | |||
98 | p((. Connexion du module WiFi à la carte RZ-A1L par l'intermédiaire du port SD. Il faut donc réaliser une carte adaptation. Le client veut par ailleurs une carte de très bonne qualité afin de pouvoir se servir de cette carte sur d'autre plateforme Renesas. |
||
99 | |||
100 | |||
101 | p((. Porter le projet de Webserveur présent en ethernet en wifi sur la carte RZ-A1L. |
||
102 | |||
103 | |||
104 | p((. Réaliser un démonstrateur utilisable par les ingénieurs Renesas pour montrer les capacités de la carte. Exemple contrôler des I/O de la carte par internet. |
||
105 | |||
106 | p=. *Gestion de projet* |
||
107 | |||
108 | *Cahier des charges* |
||
109 | |||
110 | |||
111 | p((. Microprocesseur RZA1L sur plateforme |
||
112 | Webserveur Ethernet existant |
||
113 | Portage du webserveur en WiFi |
||
114 | 1 | Anonyme | Utilisation de ressources gratuites (outils de développement et de conception) |
115 | 12 | Anonyme | |
116 | p=. !https://forge.clermont-universite.fr/attachments/download/15966/cahier_des_charges_20160105165211_20160105165309.png! |
||
117 | |||
118 | *WBS* |
||
119 | |||
120 | Pour mener à bien notre projet nous avons choisi de séparer les tâches à réaliser de cette façon. |
||
121 | 13 | Anonyme | |
122 | 16 | Anonyme | p=. !https://forge.clermont-universite.fr/attachments/download/15967/WBS_20160105171210_20160105171230.png! |
123 | 13 | Anonyme | |
124 | --- |
||
125 | |||
126 | p=. *Développement* |
||
127 | |||
128 | *CAO Interface SDIO* |
||
129 | |||
130 | Le client souhaite interfacer le module Wifi avec le port SD de la carte de développement (RZA1L). Pour ce faire, il faut donc communiquer avec le module en mode SDIO. |
||
131 | 14 | Anonyme | |
132 | p=. !https://forge.clermont-universite.fr/attachments/download/15968/isis_20160104101948_20160104102013.png! |
||
133 | 17 | Anonyme | p=. !https://forge.clermont-universite.fr/attachments/download/15969/cao_20160104101707_20160104101728.png! |
134 | |||
135 | *Module SN8000* |
||
136 | |||
137 | Le module Wifi SN8000 de Murata peut être interfacé soit en SDIO (en passant par une carte SD) soit par SPI. Le cahier des charges initial imposé de communiqué en SDIO, car ce mode permet d'atteindre un débit beaucoup plus important qu'avec la SPI. Comme vu précédemment, nous avons réaliser une CAO permettant d'interfacer ce module avec ce mode. Comme nous n'avons pas eu la possibilité d'imprimer cette carte, nous avons dû utiliser les cartes en mode SPI pour communiquer. Nous allons donc voir le développement SPI de ce module. |
||
138 | 18 | Anonyme | |
139 | 19 | Anonyme | "Datasheet BCM43362":https://forge.clermont-universite.fr/attachments/download/15970/MMP43362-DS101-R.pdf |
140 | |||
141 | Le protocole SPI de ce module supporte une communication par mots de 16 bits ou 32 bits. Il peut supporter aussi une communication en mode Big Endian ou Little Indian. Cependant, il faut faire très attention, car le module par défaut est en mode *16 bits Little Indian.* |
||
142 | |||
143 | Nous avons donc différentes trames de communication possible. |
||
144 | |||
145 | 20 | Anonyme | p=. !https://forge.clermont-universite.fr/attachments/download/15971/Trames_20151215094949_20151215095008.png! |
146 | |||
147 | +Établir la communication SPI avec le module:+ |
||
148 | |||
149 | Pour communiquer avec le module Wifi, il faut suivre une procédure décrite dans la datasheet. Il faut après la mise en reset du module Wifi respecter des temps d'attentes. Après un certain temps, nous pouvons lire en polling l'adresse 0x14 du module. Cette adresse est accessible uniquement en lecture et contient un pattern prédéfini sur 32 bits (32'hFEEDB EAD). Si nous arrivons à le lire, cela permet de dire que la communication SPI est fonctionnelle. |
||
150 | |||
151 | La procédure de démarrage à respecter est la suivante: |
||
152 | 21 | Anonyme | |
153 | p=. !https://forge.clermont-universite.fr/attachments/download/15972/boot_20151215100228_20151215100242.png! |
||
154 | 22 | Anonyme | |
155 | Il faut donc après la mise en reset attendre au moins 3ms avant de commencer à envoyer la trame de lecture. Le module par défaut est en mode 16 bit et little indian. Nous allons détailler maintenant quelques fonctions que nous avons réalisées pour le configurer le module. |
||
156 | |||
157 | La structure d'une trame de commande pour le module SN8000 est la suivante: |
||
158 | 23 | Anonyme | |
159 | p=. !https://forge.clermont-universite.fr/attachments/download/15973/commande_20151231104700_20151231104711.png! |
||
160 | |||
161 | +Les fonctions de base pour le module:+ |
||
162 | Nous avons développé trois fonctions pour le module. Une pour lire le pattern de test et une pour écrire dans un pattern. Ces deux fonctions ont pour but de vérifier que la communication SPI est fonctionnelle. Enfin, une dernière fonction qui permet d'aller modifier des paramètres dans le registre de configuration du module. |
||
163 | |||
164 | Dans un premier temps la fonction qui permet de lire le Pattern de test: |