Home
Manuel d'utilisateur
Contents
1. ceeeeeeeeeeeeeeneaeeeeeees 71 Figure 6 1 Boutons d un distributeur automatique de billets de banque 00n0000nseae0aanee 74 Figure 6 2 Cas d utilisation des services web de g olocalisation 75 Figure 6 3 Architectures possibles pour des services de g olocalisation 75 Figure 6 4 Cas d utilisation pour connaitre le nom des rues avoisinantes Se 76 Figure 6 5 Cas d utilisation pour effectuer un appel d urgence 77 Figure 6 6 Cas d utilisation pour connaitre les instructions pour parcourir un trajet 77 Figure A 1 Sch ma lectrique global Microcontr leur et p riph riques 1 94 Figure A 2 Sch ma lectrique global Microcontr leur et p riph riques 2 95 Figure A 3 Sch ma lectrique global GM862 et interface audio 1 96 Figure A 4 Sch ma lectrique global GM862 et interface audio 2 97 VII LISTE DES TABLEAUX Tableau 2 1 Barri res rencontr es dans l utilisation des technologies sans fil 4 Tableau 2 2 Classement des fonctionnalit s des cellulaires par ordre d importance 5 Tableau 2 3 Obstacles et fonctionnalit s utiles dans l utilisation d un cellulaire 6 Tableau 4 1 Utilisation des broches d entr e sortie du microcontr leur un 20 Tableau 4 2 Organisation des trames SPI pou
2. Ces tapes sont regroup es dans la fonction void InitDisplay void Afficher un caract re Pour envoyer un caract re afficher il suffit une fois les initialisations n cessaires effectu es d envoyer sur le bus PC chaque caract re souhait Ainsi on a cr les deux fonctions suivantes qui r alisent ces op rations void WriteChDisplay unsigned char ch 62 void WriteDisplay unsigned char string Envoi d une commande L afficheur se commande partir de trames PC Un r sum de toutes les commandes possibles est disponible la section 11 Command Summary du manuel technique de l afficheur MO 2006 la page 41 Ainsi par exemple pour envoyer la commande Move Cursor Back il suffit d envoyer les trames suivantes TABLEAU 5 18 ENVOI DE LA COMMANDE MOVE CURSOR BACK A L AFFICHEUR Trames 1 trame 2 trame aa ae ees ae en d cimal 254 Afin d assurer une grande modularit du syst me on cr e ainsi la fonction CursorBackDisplay qui fera elle m me appel la fonction WriteI2C 2 reprises pour envoyer OxFE puis 0x4C l afficheur De m me on construit les fonctions suivantes void SaveAsStartupDisplay void void SetCursorPosDisplay int col int row Cas des caract res sp ciaux L afficheur n tant pas pr vu pour tre utilis pour la langue fran aise il est impossible d crire avec des caract res
3. responset i 0 Reinit response i 0 do ch uartlGetch Get character from UART1 if ch 1 If a character is available on UARTI if ch 10 ch LF CHAR if ch 13 ch CR_CHAR response i ch Store character in response i while response i 1 CR CHAR i 40 OSSemPost AccessToCellSem Release semaphore Ainsi il est possible de dialoguer avec le module cellulaire L interpr tation des r ponses se fait dans les fonctions ayant appel la fonction askGM862 La fonction CheckIncomingCal1GsM fonctionne de fa on similaire car elle permet de v rifier p riodiquement si le cellulaire est en train de recevoir un appel Dans ce cas on cherche d tecter le message non sollicit RING r envoy par le cellulaire alors qu aucune commande ne lui a t envoy e Initialisation de la configuration du cellulaire Voici la configuration utilis e lors de l initialisation par la fonction InitConfigCell TABLEAU 5 10 INITIALISATION DES PARAMETRES INTERNES DU MODULE CELLULAIRE Commande D sactiver l cho la r p tition des commandes envoy es au cellulaire D finir le format de r ponse num rique et non du texte ATVO D finir les codes de r sultat silencieux DEE A D sactiver les codes de r sultats non sollicit s lors de la connexion au r seau AT CREG 1 V rifier l tat du r seau GSM AT CREG V
4. dire que la communication se fait par le biais d un couteur quip d un petit microphone Le mode mains libres ou hands free permet une utilisation commune ou distance comme par exemple dans une voiture La communication se fait par le biais d un microphone lectret omnidirectionnel et d un haut parleur relativement puissant Il a t choisi de privil gier le 2 me mode d utilisation le mode mains libres ou hands free Entr e audio Microphone Ce montage est destin aux entr es MIC_HF et du module GM862 GPS par le biais d un amplificateur voir page suivante Cependant pour un meilleur fonctionnement ce montage a t connect aux entr es MIC_MT et du module cellulaire Cela n en alt re pas le bon fonctionnement ui LP2980AIM5 3 0 VIN VOUT pS 3 ON OFF M LA R2 NC NC SR Our ay i 10k 5 ii U3_BC8478W d pa oa L d NC NC EI NC el 44 NC NC Our 4 MIC Electret Microphone Figure 4 13 Sch ma lectrique de l entr e audio microphone 34 Le microphone doit avoir une sensibilit avoisinant 45dBVRMS Pa Or celui qui est disponible a une sensibilit de 69dBVRMS Pa pouvant fournir en sortie une tension de 10 69 20 0 35mV Il faudra donc compenser par un gain plus important sur l tage suivant Les modifications qui sont apporter sont sur le gain de l amplificateur voir section suivante Entr e audio Amplificateur C
5. Le 1er graphe est lorsque toutes les LEDs sont teintes On v rifie ainsi que les bits de MOSI S nn correspondant aux on 2807 DI a I cathodes Q7 et Q8 ME 1 sont effectivement 0 J et que les bits de MOSI correspondant aux anodes Q1 Q6 sont effectivement a 1 E KC CAD Sik Ze as Ze Ainsi les collecteurs des transistors PNP MPQ3906 reli s aux anodes sont 0 uig 74H C4094 Q7 8 et les collecteurs des transistors NPN MPQ3904 reli es aux 248 Dor cathodes sont 1 Di 02 9904 05 G6 ui3 JAH CAD Q7 98 Aucune LED ne peut donc tre allum e US UA ULS MPQ3906 R1 BI O41 ROBO 09 RE B3 Gd RA B4 GA uponneen uig MPQZIDA GAOL ND GNES GND4 Toutes les LEDs sont teintes avec OV leur anode et 5V leur cathode Figure 4 9 Trames d criture SPI pour les LEDs aucune LED allum e 29 Le 2 me graphe est lorsque la LED bleue de la 177 ligne et 2 colonne B1 GND3 est allum e On v rifie ainsi que les bits de MOSI correspondant aux cathodes AUTRES QUE e GND3 sont effectivement ee er 0 celui correspondant hii E d d et que les bits de MOSI correspondant aux anodes AUTRES QUE B1 sont effectivement 1 celui correspondant B1 tant 0 sen Ainsi les collecteurs des uis transistors PNP pris MPQ3906 reli s aux 94 Ge anodes AUTRES QUE B1 sont a 0 celui correspondant a B1 tant a 1 U16 TAH CAQ G4 Ki et l
6. ReadWriteSPI fin 91 A 2 3 INT16U TurnOnLED INT16U val Code d allumage d une LED construction trame SPI INT8U column INT8U row INT8U color switch column case 1 case 2 case 3 case 4 val val val val switch row case 1 if else if else if case 2 if else if else iff case 3 if else iff else if case 4 if else if else if return val Ox3F3F 0x8000 0x4000 0x0080 0x0040 color 1 color 2 color 3 color 1 color 2 color 3 color 1 color 2 color 3 color 1 color 2 color 3 AAR AA eS a on OxBF3F QOx7F3F QOx3FBF OxX3F7F break break break break val val val val val val val val val val val val 92 Ox3F3E Ox3F3D Ox3F3B Ox3F37 Ox3F2F Ox3F1F Ox3E3F Ox3D3F Ox3B3F 0x373F Ox2F3F Ox1F3F OXDFFF OxFFFE OxFFFD OxFFFB break OxFFF7 0xFFEF OxFFDF OxFEFF OXFDFF OxFBFF OxF7FF OxEFFF break break break A3 Sch ma lectrique de l ensemble du montage 93 5V 1 3 7V 5V 2 US _5VDCtoDC Us _5VDCtoDC R 6 4 4 3 7V CP2102 E Am BY am SV CONN_GP2102 3 GND GND GND GND S lie ZS x0 SCLE e A bm spay icine uz GMa62 GPS S f GP107 GP106 k a 43 7V Ae GPios L42 Di 43 3V GPIO3 RTS I x x PDS DTR aR
7. void KeyboardProcessSPI void switch step case 0 IOSET 0x0400000 Enable 74LS164a and 74LS165 ReadWriteSPI 0xFE WRITE 0 to scan Row 0 step 1 break case 1 IOCLR 0x2000000 Load data to be read on 74xx165 step 1 step 2 break case 2 IOSET 0x2000000 Load data to be read on 74xx165 step 2 ByteRec 0 ReadWriteSPI fin Dummy READ step 3 89 3 ReadWriteSPI OxFD WRITE 1 to scan Row 1 step 4 break case 4 IOCLR 0x2000000 Load data to be read on 74xx165 step 1 step 5 break case 6 ReadWriteSPI 0xFB WRITE 2 to scan Row 2 step 7 break case 7 IOCLR 0x2000000 Load data to be read on 74xx165 step 1 step 8 break case 8 IOSET 0x2000000 Load data to be read on 74xx165 step 2 ByteRec 1 ReadWriteSPI fin READ 1 to get Row 1 state step 9 break a e E E E case 9 ReadWriteSPI 0xF7 WRITE 3 to scan Row 3 step 10 break case 10 IOCLR 0x2000000 Load data to be read on 74xx165 step 1 step 11 break case 11 IOSET 0x2000000 Load data to be read on 74xx165 step 2 ByteRec 2 ReadWriteSPI_fin READ 2 to get Row 2 state step 12 break oon anne nnn nnn nnn nnn EE case 12 ReadWriteSPI OxFF Dummy WRITE step 13 break case 13 IOCLR 0x2000000 Load data to be read on 74xx165 step 1 step 14 break case 14
8. volution de la recherche dans ce domaine est rapide Lors des recherches effectu es au d but de ce projet afin de d terminer les besoins il tait apparu que la plupart des exp riences r alis es taient a partir d un t l phone cellulaire du commerce modifi ensuite selon les besoins de usager Ces recherches n avaient pas permis d identifier un appareil r alis uniquement dans l optique des usagers besoins sp ciaux ll existe des solutions propos es aux utilisateurs comme les Doro Matra HandleEasy 328gsm et 330gsm qui proposent un gros clavier un cran de taille relativement importante et une utilisation simple Il est vident que compte tenu de la demande importante en t l phones cellulaires adapt s certains constructeurs travaillent sur la solution Cependant le but de ce projet n est pas de r aliser un simple t l phone cellulaire Il est non seulement souhait d y ajouter des fonctionnalit s telles que la g olocalisation par GPS mais terme de pr voir la possibilit d ajouter des p riph riques propres a chaque type de handicap Par exemple connecter un clavier Braille une personne non voyante connecter un contacteur pour une personne ne pouvant communiquer qu avec la m choire etc 1 Doro Matra HandleEasy 328gsm http www doro fr products viewproduct g t amp p 385 Doro Matra HandleEasy 330gsm http Avww doro fr products viewproduct g t amp p 398 10
9. SCH uo BLH an SUR oe SPL EC Si SE H aen DA ep SAN BUTT GRR EA ats ELU ep aes BUTTONED 4x4 Sch ma SparkFun Electronics Figure 4 7 Sch ma lectrique du clavier L id e c est que pour allumer une LED il faut y appliquer une diff rence de potentiel En d autres termes mettre 5V sur l anode c est dire la ligne du clavier et OV sur la cathode c est dire la colonne correspondante A l inverse pour teindre c est dire ne pas allumer une LED il suffit dv appliquer OV a l anode et 5V la cathode Voici la logique utilis e pour nommer les LEDs 26 TABLEAU 4 3 LOGIQUE DANS LE NOMMAGE DES LEDS DU CLAVIER Colonne 1 Colonne 2 Colonne 3 R1 GND4 R1 GND3 R1 GND2 R1 GND1 B1 GND4 B1 GND3 B1 GND2 B1 GND1 G1 GND4 G1 GND3 G1 GND2 Gi GND1 R2 GND4 R2 GND3 R2 GND2 R2 GND1 B2 GND4 B2 GND3 B2 GND2 B2 GND1 G2 GND4 G2 GND3 G2 GND2 __G2 GND1 R3 GND1 B3 GND1 G3 GND3 G3 GND1 R4 GND3 R4 GND2 R4 GND1 B4 GND3 B4 GND2 B4 GND1 G4 GND3 G4 GND2 G4 GND1 Figure 4 8 Sch ma lectrique des interfaces du clavier LEDs seulement A partir de la trame MOSI provenant du microcontr leur dont la construction sera d taill e dans la section 5 4 2 le 74HC4094 met a 1 ou a O les sorties correspondant aux LEDs concern es Les 3 MPQ3906 sont des blocs de 4 transistors PNP dont les bases sont reli es aux sorties du 74H
10. de ce qui a t expos pr c demment dans la section Interfa age des LEDs du paragraphe 4 2 3 en particulier le Tableau 4 6 Il est conseill au lecteur de s y r f rer afin de faciliter la compr hension de ce qui suit Puisque les LEDs du clavier sont matric es il n est possible d allumer qu une seule LED la fois De ce fait afin que l utilisateur puisse voir un clavier illumin et non une seule touche il faudra utiliser la propri t de persistance r tinienne de l il humain et alterner les LEDs allum es tr s rapidement Ainsi chaque it ration le programme va parcourir la structure contenant toutes les informations propos des touches incluant la couleur de chaque touche et le drapeau indiquant si la LED est actuellement allum e ou pas Puis on va envoyer les informations n cessaires l lectronique permettant d interfacer les LEDs du clavier en l occurrence les 2 composants 74HC4094 du circuit i Wikipedia Persistance R tinienne http fr wikipedia org wiki Persistance_r C3 A9tinienne 60 Ces op rations devront tre effectu es tr s rapidement Dans notre cas on changera de LED allumer toutes les 500us ce qui correspond la dur e d un tick unit de temps de l OS afin que toutes les LEDs allum es du clavier puissent tre parcourues avant que l il ne puisse voir de clignotement Pour cela on fait appel la fonction suivante toutes les 500us void Updat
11. issennsssnnnnsssnnnse 72 6 1 Retour S r les TE 72 6 1 1 Su rleplanmat rn l man N a a e a aa t ie 72 6 1 2 Sur le plan logiciel iii 73 6 2 Extensions Dossibles ss 13 6 2 1 Extensions mat rielles ss 73 6 2 2 Extensions eieiei Eessen sees vereedegt 75 L wi TTT EN 79 A ANNEXES EE 81 A 1 Prototypes des fonctions principales ENEE 81 A 1 4 Pilotes bas niV ad s tt mini dhiaseushdasediapaneciaabeniadeadahiiwaudvanweadessseveuasines 81 A 1 2 Bo tes outils intennediaires nine nes nes enlace 83 E E APDIICATION 3 coc a ee a a a ee cael aun 87 A 2 Code pertinent eege 89 A 2 1 Code de d tection de l appui d une touche 89 A 2 2 Code de rafra chissement des LEDs du clavier 91 A 2 3 Code d allumage d une LED construction trame SPI VU 92 A 3 Sch ma lectrique de l ensemble du montage 93 B Bibliographie eet ENEE ii a ie EE eege eeng 98 LISTE DES FIGURES Figure 3 1 Sch ma global des composants mat riels EE 12 Figure 3 2 Photos du module cellulaire GM862 GPS uu 13 Figure 3 3 Photos du microcontr leur LPC2106 ccccccsssssssseeeeeeeeeeeeessenseesseeeeeeeeeeess 15 Figure 3 4 Photos de PaAMmcneurVEDZO4 4 BEE 16 Figure 3 5 Photos de l afficheur VFD Active Matrix 16 Figure 3 6 Clavier Button Pad 4X4 ccccsssscceccccccsesessnreeeceeseses
12. partir du sch ma lectrique voir le sch ma complet en annexe on r alise le PCB Printed Circuit Board de l ensemble Le clavier et l cran d terminent les dimensions finales du PCB 10x16cm Figure 4 20 Photo du montage avant la fabrication du PCB Voici la forme g n rale de l ensemble Lafficheur et le clavier forment la couche sup rieure Ils sont viss s par l interm diaire d entretoises au PCB Le microcontr leur ainsi que les interfaces du clavier sont directement fix s SUR le PCB par l interm diaire de supports 40 Enfin le module cellulaire ainsi que les 2 convertisseurs DC DC et la batterie sont directement fix s SOUS le PCB par l interm diaire de supports Bien entendu les composants externes tels que r sistances et capacit s sont proches des composants auxquels ils sont rattach s mais ne figurent pas sur le dessin ci dessus Afficheur VFD2041 MPQ390 74HC408 Microcontr le LPC2106 Figure 4 21 Sch ma de l empilement des composants sur le PCB Le PCB est r alis sous Cadence OrCAD Layout Plus 10 2 Une empreinte est r alis e pour les composants n en ayant pas directement comme le clavier le module cellulaire le microcontr leur etc 41 Voici l aspect final du PCB avant r alisation Sean e seen e Couche sup rieure Couche inf rieure Figure 4 22 Aspect final du PCB sous OrCAD Layout Au final
13. Description Detects new key pressed ans posts to KBDMbox with pointer to key ID Arguments Retour void PO Updates LEDs color pattern Arguments void Task arguments pointer Beiou voia J static void KeyboardStatUpdtTask void p arg Description Checks KBDMbox and does necessary action of yes Arguments void Task arguments pointer Retour voia static void TimeoutTask void p arg Description Turns display and keyboard off if platform is inactive Turns on if active again Arguments void Task arguments pointer Retour SE O y O static void MainAppTask void p arg Main application task Arguments void Task arguments pointer Retour voia O 88 A2 Code pertinent Le but de cette section n est pas de lister tout le code relatif au projet mais plut t de mentionner quelques portions dont le code est construit de fa on un peu originale A 2 1 Code de d tection de l appui d une touche void ReadKeyboard void Tmr TimerlStart Enable Timer 1 step 0 Init Timerl variable ID old old ID old Debounce ID n 2 ID n 1 ID old ID Debounce ID n 1 ID n ID InterpKeyKeyboard ByteRec Identifies newly read Key ID if ID_old_old 99 amp amp ID_old ID amp amp ID gt 0 amp amp ID lt NB KEYS Is Key ID a new key ID pKeys Mbox pKeys ID 1 OSMboxPost KeyboardMbox void pKeys Mbox
14. H D D 0 H D lt H H D H B t a Le cr Description Introduces a delay during the execution when called How long should last the delay cpt 100 gt delay 26us Retour void void TurnOnLEDs void Description Turns the keyboard LEDs on 85 Arguments void Retour froid INT16U TurnOnLED INT8U column INT8U row INT8U color Description Turns the selected LED on 1 Value to be sent to 74HC4094 a and b void TurnOffLEDs void Description Turns all LEDs off Arguments voia VGO Afficheur void InitDisplay void Description Inits the target displa Arguments voia OO Retour froid O Arguments void Retour void PO Description Turns the target display off Arguments void o Retour froid void WriteDisplay unsigned char string Description Writes a string of characters on the target displa Arguments string String of characters to be sent to displa Retour void PO Description Writes a character on the target displa Retour void void ClearDisplay void Description Clears the screen on the target displa Arguments void Retour froid fF void NewLineDisplay void Description Sets a new line on the target displa gt Arguments void 86 Retour void SaveAsStartupDisplay void screen on the target displa Retour void PO Note Str
15. Interrupt Service Routine Light Emitting Diode Operating System Printed Circuit Board Phase Locked Loop Short Message Service Serial Peripheral Interface Transcient Voltage Suppressor Universal Asynchronous Receiver Transmitter Universal Serial Bus Wireless Access Protocol CHAPITRE 1 INTRODUCTION Connaitre le nombre de personnes pr sentant un handicap est difficile En effet un handicap n est pas juste un statut m dical mais plus une interaction entre ce statut et l environnement Cependant l Organisation Mondiale pour la Sant estime 600 millions le nombre de personnes invalides L Organisation des Nations Unies elle estime ce chiffre 650 millions soit presque 11 de la population mondiale Aux tats Unis cette population repr sente la 3 me minorit apr s les Hispaniques et Afro am ricains On l estime 32 millions d adultes et 5 millions d enfants et d adolescents Le Bureau de Recensement des Etats Unis lui estime 53 millions la taille du march de consommateurs pr sentant un handicap SMITH JACKSON et coll 2003 Devant de tels chiffres il est n cessaire de s int resser aux adaptations faites pour ces personnes Une Technologie Assistive Assistive Technology ou AT est un terme g n rique pour d signer des dispositifs et leurs modifications visant a rendre ces dispositifs accessibles aux personnes invalides On peut citer les impressions en gros caract res les cl
16. el Les 2 possibilit s offertes taient d avoir une application r gie AVEC ou SANS OS Apr s un premier d veloppement des drivers il a finalement t d cid d utiliser les fonctionnalit s de l OS temps r el uC OS II 18 Voici une br ve introduction uC OS II uC OS I The Real Time Kernel is a highly portable ROMable very scalable preemptive real time multitasking kernel RTOS for microprocessors and microcontrollers uC OS II can manage up to 255 tasks and provides the following services Semaphores Mutual Exclusion Semaphores to reduce priority inversions Event Flags Message Mailboxes Message Queues Task Management Create Delete hate Priority Suspend Resume etc Fixed Sized Memory Block management Time Management Timer Management LC OS II runs on a large number of processor architectures L utilisation de cet OS permettra ainsi une gestion ais e des p riph riques gr ce la possibilit de cr er un certain nombre de taches L architecture d finie pour l application finale sera d taill e dans la section 5 1 rHC OS II The Real Time Kernel Image Micrium Figure 3 8 Logo de uC OS II 1 Micrium pC OS II Kernel Overview http micrium com products rtos kernel rtos html 19 CHAPITRE 4 MISE EN UVRE MATERIELLE 4 1 Introduction Une fois les composants mat riels choisis intervient l interfa age de ces divers com
17. re fait partie des caract res sp ciaux d finis pr c demment a et si c est le cas remplace ce caract re par l ID correspondant Ceci est r alis par la fonction unsigned char ConvertAccentsDisplay unsigned char Data Tests Pour tester l afficheur il suffit d envoyer un certain nombre de commandes sur le bus PC envoyer un caract re d placer le curseur effacer le dernier caract re et de v rifier que l op ration s est bien effectu e sur l cran 64 9 5 9 5 1 D veloppement de l application haut niveau Architecture ater Task KBD Status Updater Task occured and i S key Structure fin HU _ E Contains Information post with get LED color and on off send command EE GE E A EE E KE SP avers mure Access to cell module via UART1 FRE port is protected by Semaphore Figure 5 5 Architecture globale de l application La figure ci dessus illustre la mise en uvre logicielle de ce projet En effet on peut voir l organisation en t ches de l application ainsi que les boites outils et les pilotes bas niveau Les t ches communiquent entre elles par le biais de boites aux lettres Tout ceci sera d taill au cours de ce chapitre 65 5 5 2 Cas d utilisation Assistant Mobile Allumer cellulaire teindre cellulaire Composer 10 include Placer un appel include 7 chiffres gt Presser OK Ut
18. rifier la force du signal GSM AT CSQ D finir l appareil en mode voix par opposition au mode data AT FCLASS 8 D finir les canaux d entr e sortie de l audio HF 1 MT 2 Ces configurations sont envoy es successivement au cellulaire via la fonction askGM862 voqu e pr c demment 53 Tests Les fonctions r alis es dans cette bo te outils sont testables en utilisant le port s rie pour afficher les r ponses du module cellulaire Le cellulaire tant reli par UART1 du microcontr leur on peut recopier ses r ponses sur l UARTD et les afficher sur l mulateur de terminal 5 4 2 Bo te outils relative au clavier Initialisations L initialisation du clavier n cessite les tapes suivantes TABLEAU 5 11 TAPES D INITIALISATION DE L AFFICHEUR __ tape Fonction appel e initialisation du bus SPI Initialisation du Timer1 Initialisation de la structure contenant les informations sur les 16 touches InitKeyStruct Ces tapes sont regroup es dans la fonction Initialisation du Timer En ce qui concerne l utilisation du Timer1 lors d une criture lecture sur le bus SPI le fait de charger une donn e dans le registre SPI_SPDR suffit d marrer l horloge SCK et l envoi des donn es Cependant pour la d tection de l appui d une touche du clavier on a besoin d activer ou de d sactiver les signaux de contr le cso et CS3 au bon moment Pour cela on util
19. riph riques la quantit de GPIO disponibles sera un atout certain Figure 3 3 Photos du microcontr leur LPC2106 3 2 4 Afficheur VFD2041 L cran que lon souhaite utiliser doit privil gier la visibilit de son affichage l aspect esth tique On cherche donc un cran avec une tr s forte luminosit La technologie LCD bien que tr s r pandue dans de nombreuses applications ne satisfait pas cette condition La technologie PLEDs propos e sur le site de Matrix Orbital parait int ressante mais les composants de base sont maintenant discontinus La technologie VFD parait une tr s bonne alternative Aussi c est le mod le VFD2041 du m me fournisseur a t choisi Cet cran de 20x4 caract res permet galement l affichage de graphes ou d images simples Pilotable soit par port s rie RS232 soit par IC c est cette derni re solution qui a t retenue compte tenu de la disponibilit du port PC sur le microcontr leur LPC2106 1 Matrix Orbital www matrixorbital com 15 Figure 3 4 Photos de l afficheur VFD2041 L inconv nient majeur de cet afficheur est sa consommation lectrique lev e environ 250mA Des recherches la fin du projet de ma trise ont permis de d couvrir qu il existe une technologie d afficheurs encore plus lumineux et beaucoup plus conomes en nergie VFD Active Matrix de la compagnie Noritake la m me compagnie qui fabrique l cran VFD2041 sans
20. 4 Mise en uvre mat rielle annennennnnnnnarennsneennermenennee hu 20 4 1 INMTOGUCHION EE 20 4 2 ee rue TEE 20 4 2 1 Microcontr leur LPC2106 REENEN 20 4 2 2 Afficheur VFD2041 ooo eececcceccecnesceeceseceereceeccescescesesecseneseeeeeceuseesennueneeseuees 22 4 2 3 Clavier 4 2 4 Module Cellulaire GM862 GPS eine 32 4 2 5 Interfaces UE Te sms Tennis nine net eh seen 33 42 6 Alimentation ET 38 4 3 Circuit MONS nn Sn Ee EEN 40 4 4 VE E E A3 5 Mise en uvre logicielle eee GE 44 5 1 ren et EE 44 5 2 Couches de l architecture logicielle ts 44 5 3 D veloppement des pilotes bas niveau 45 5 3 1 Pilotes de l UARTO T port S rie nn ananas 45 De Polos GU DUS EE 46 5 3 3 Pilotes du ous FC eege 48 5 4 D veloppement des bo tes outils interm diaires 50 5 4 1 Bo te outils relative au module cellulaire cc ccccccesssseeeeeeeeeeeeeeeeseeeseeeenaes 50 5 42 Boite outils relative au clavier ocean ANERER 54 5 4 3 Bo te outils relative l afficheur ss 62 5 5 D veloppement de l application haut niveau ss 65 GER e D St nn e a er ae dan nn dr an 65 29 2 Cas RUE ein na A M Sn des a tn etre 66 55 3 Composants see ee EA ee ee 66 2 94 FONCONNAN S ciscsicissacicctsivescnacssconstsivadeaadvodoaliiianasedauacatigmiaisiuacystounatainenmeavaannreae 69 Aoo R K EE E E A E E A E E 69 6 Application validant la mise en uvre
21. Arguments void O void InitConfigCell void Description Sends all necessary configuration commands to the cell gt rguments voia Retour void DialGSM unsigned char pPhoneNb Description Dials the specified phone number and posts it in mailbox Pointer to phone number to be dialed void HangUpGSM void Description Hangs up the current phone conversation and posts it in mailbox void AnswerGSM void i i posts it in mailbox Arguments voia INTEU 83 void CheckNetworkStatusGSM void Description Checks network status and updates variable NumCREG level 0 5 1 if error void TurnOnGPS void Description Turns the GPS module on if module is off and posts it in mailbox void TurnOffGPS void Description Turns the GPS module off if module is on and posts it in mailbox void GetPosGPS void Description Gets the current GPS position and posts it in mailbox Arguments Retour void Td void SendSMS INT8U SmsID Description Sends the specified pretyped SMS to the specified phone number ID of the specified SMS void askGM862 unsigned char request unsigned char response Description Sends AT command to GM862 and waits for response Arguments request The AT command sent to the GM862 module response The response received from the GM862 module Retour voia Ir Clavier Fonctions concernant l
22. IOSET 0x2000000 Load data to be read on 74xx165 step 2 ByteRec 3 ReadWriteSPI_fin READ 3 to get Row 3 state IOCLR 0x0400000 Disable 74LS164a and 74LS165 Tmr_TimerlStop Stop Timer 1 step 15 90 A 2 2 Code de rafraichissement des LEDs du clavier void UpdateLEDs void if flagLEDsOf ValToSend 0x3F3F ReadWriteSPI ValToSend gt gt 8 Send MSBs DelayLED 145 IOSET 0x1000000 DelayLED 16 IOCLR 0x1000000 ReadWriteSPI_fin ReadWriteSPI ValToSend amp O0Ox00FF Send LSBs DelayLED 145 IOSET 0x0800000 DelayLED 16 IOCLR 0x0800000 ReadWriteSPI fin else if LEDsUpdateCnt NB KEYS If all keys LEDs were checked LEDsUpdateCnt 0 Skip to first key LED on kboard while pKeys LEDsUpdateCnt gt LedOn 0 If present LED is off LEDsUpdateCnt Skip to next key On LED if LEDsUpdateCnt NB_KEYS If all key LEDs were checked LEDsUpdateCnt 0 Skip to first key LED on kboard ValToSend TurnOnLED pKeys LEDsUpdateCnt gt Column pKeys LEDsUpdateCnt gt Row pKeys LEDsUpdateCnt gt Color LEDsUpdateCnt Update counter ReadWriteSPI ValToSend gt gt 8 Send MSBs DelayLED 145 IOSET 0x1000000 DelayLED 16 IOCLR 0x1000000 ReadWriteSPI fin ReadWriteSPI ValToSend amp 0x00FF Send LSBs DelayLED 145 IOSET 0x0800000 DelayLED 16 IOCLR 0x0800000
23. LED que Ton branche en s rie avec une r sistance sur une broche d entr e sortie libre 21 4 2 2 Afficheur VFD2041 Connexion L afficheur peut tre pilot soit par port s rie soit par PC Dans la mesure o il est pr f rable de conserver la disponibilit des 2 ports UART du microcontr leur LPC2106 pour la programmation et le module cellulaire c est l I2C qui a t choisi VFD2041 CONN_VFD2041 Figure 4 2 Sch ma lectrique de la connexion de l afficheur VFD2041 Le connecteur utilis pour l afficheur est un connecteur de type Molex 4 broches femelle On utilise 2 r sistances de pull up afin de respecter les sp cifications mentionn es dans le guide d utilisateur du LPC2106 NXP 2003um la page 112 figure 17 IC Bus Configuration Tests L afficheur est livr avec une application permettant une fois install e sur l ordinateur de le commander via un port COM de lordinateur Cela permet de tester les fonctions de base 4 2 3 Clavier Il aurait t simple de connecter directement les lignes et les colonnes des touches du clavier aux GPIOs du microcontr leur Cependant le clavier poss dant une LED tricolore sous chaque touche l ensemble touches et LEDs aurait n cessit 24 broches du microcontr leur Le but de ce projet tant de concevoir une plateforme de base permettant par la suite l ajout de p riph riques multiples il est dans notre int r t de minimiser au maximum
24. allumer la touche C en rouge Le code quant l allumage des LEDs est d ailleurs d j existant Avec la plateforme dans son tat actuel les possibilit s sont multiples En effet le code actuel utilise moins de 45 ko sur les 128 ko disponibles NXP 2006ds Il reste donc 65 de la m moire flash libre La complexit du code contenu peut donc encore beaucoup voluer 78 CONCLUSION Bilan Ce projet consistait d velopper une plateforme exp rimentale pr sentant des fonctionnalit s de communications GSM et GPS afin de faciliter l acc s aux technologies mobiles pour les personnes pr sentant des d ficiences Cette plateforme devait pouvoir effectuer les op rations de base de t l phonie cellulaire et de g olocalisation Elle devait permettre d tre utilis e par des personnes la vision l audition ou la dext rit limit e Enfin cette plateforme devait tre ouverte de futures am liorations tant mat rielles que logicielles Ainsi apr s avoir r alis une tude des publications parues autour de ce sujet les composants mat riels ont t choisis en cons quence S en est suivie une tape de d couverte du mat riel et de l environnement logiciel associ Puis par incr ments successifs les p riph riques mat riels ont pu tre incorpor s au c ur du projet Finalement une derni re it ration a consist r crire le code logiciel afin de pouvoir profiter des avantages de uC
25. de l UART Aussi pour tester le bon fonctionnement du port SPI il faut connecter un 74LS164 envoyer une trame MOSI et un signal CSO adapt et observer en sortie les trames l oscilloscope Ceci teste l criture sur le port SPI A l inverse pour la lecture il suffit d ajouter un 74LS165 au montage pr c dent de relier les sorties du 164 aux entr es du 165 et de v rifier que ce qu on lit en MISO correspond ce qu on a crit en MOSI 5 3 3 Pilotes du bus PC Les pilotes du bus IC sont inspir s de Pierre Seguin modifi s par Owen Mooney et par l auteure de ce m moire Les d tails sur l utilisation du bus PC sur le microcontr leur LPC2106 sont consultables dans le Manuel d Utilisateur NXP 2003um pages 111 et suivantes Initialisation Pour l initialisation du port PC la fonction InitI2C est n cessaire afin de fixer les param tres suivants TABLEAU 5 5 PARAMETRES D INITIALISATION DU PORT PC 1 LPC2000 Yahoo Group http tech groups yahoo com group Ipc2000 Files 2c_w_error c 48 L attribution des broches du microcontr leur se fait de la mani re suivante selon NXP 2003um page 78 table 48 Tableau 5 6 Configuration des broches d entr e sortie pour le bus PC _Nom de la broche Fonction quand PINSELO 01 SCL Serial CLock IC SDA Serial Data GC Puis on configure les registres 2C SCL Duty Cycle Register High Half Word et C SCL Dut
26. elles souhaitaient mieux utiliser les technologies sans fil Parmi les suggestions figurent la reconnaissance et la synth se vocale la dict e d un texte les ergots permettant de positionner les doigts ainsi qu une sortie en Braille on pourrait utiliser un dispositif similaire au PAC Mate Portable Braille Display dans ce projet Fonctionnalit s les suggestions concernent un bouton a utiliser en cas d urgence la possibilit de changer la taille et la lisibilit de la police la forme et la taille des boutons la retranscription vocale des menus la reconnaissance vocale les ergots permettant de positionner les doigts la personnalisation des sons etc Transportabilit utilisabilit les utilisateurs sugg rent l ajout d une poign e ou d une attache derri re le t l phone permettant d aider le tenir Un mat riau antid rapant pourrait galement tre b n fique Format le t l phone doit tre suffisamment grand pour qu il soit facile manipuler mais suffisamment l ger pour ne pas tre p nible porter S curit respect de la vie priv e le t l phone doit permettre l utilisation d une oreillette afin de garder un minimum d intimit 1 Freedom Scientific http www freedomsci com products fs pacmate braille product page asp 4 Ces quelques suggestions pourront s av rer utiles lors de la conception du t l phone concern par ce document 2 2 2 Article sur
27. l adaptation des technologies existantes pour les personnes avec des handicaps physiques Cinq chercheurs ont r alis une tude tr s similaire la premi re afin de savoir quelles taient les fonctionnalit s les plus demand es sur un t l phone cellulaire pour des usagers besoin sp ciaux suivant leur degr de handicap Cette tude s av re tr s utile dans le cadre d une tude des besoins dans la mesure o elle num re les fonctionnalit s les plus appr ci es et les plus utiles pour ces usagers Cette tude a t publi e sous la r f rence NGUYEN et coll 2006 tude Cette tude porte sur 10 sujets divis s en 3 groupes selon leur degr de handicap l ger mod r et s v re En fonction des besoins de chacun il est fourni un t l phone cellulaire cherchant r pondre ces besoins On value avant pendant et apr s la performance et la satisfaction des participants quant l utilisation de ces appareils Les indicateurs de performance prenaient en compte les fonctionnalit s suivantes Appels vocaux avec diverses m thodes Messages textes et ou courriel R pondeur Acc s des informations via le WAP Utilisation d internet Autres fonctionnalit s R sultats Voici pour les 10 personnes les fonctionnalit s class es par ordre d importance TABLEAU 2 2 CLASSEMENT DES FONCTIONNALITES DES CELLULAIRES PAR ORDRE D IMPORTANCE _ Fonctionnal
28. microcontr leur 72 6 1 2 Sur le plan logiciel Les besoins taient les suivants pouvoir placer un appel r pondre un appel et terminer une communication pouvoir envoyer un SMS d urgence un num ro pr programm contenant la position GPS de l usager avec le choix d un message parmi plusieurs pr voir des extensions ce qui sera d j impl ment Le logiciel dans l tat actuel permet en effet ces fonctionnalit s de base Cependant tout au long du d veloppement logiciel du projet l accent a t mis sur l importance de son extensibilit C est d ailleurs la raison pour laquelle le choix a t port sur l OS uC OS II 6 2 Extensions possibles 6 2 1 Extensions mat rielles Am lioration du contr le de l alimentation On peut g rer l alimentation de la plateforme de fa on plus intelligente en utilisant la broche PWRMON du module cellulaire qui permet d avoir une image de l tat teint allum du module cellulaire En effet il suffirait d allumer le module cellulaire l aide du bouton poussoir reli la broche ON OFF et de r veiller sortir de veille le microcontr leur avec la broche PWRMON reli e une broche d interruption externe Ainsi si le module cellulaire est teint le microcontr leur et ses p riph riques sont en veille Si le module cellulaire est allum alors l ensemble est op rationnel Cela permettrait une meilleure gestion de l alimentati
29. obtenir la position GPS 71 CHAPITRE 6 APPLICATION VALIDANT LA MISE EN UVRE 6 1 Retour sur les besoins A la section 2 3 Besoins recens s figure un certain nombre de besoins auxquels ce projet doit r pondre I est ainsi ais de constater que la plateforme mat rielle comme logicielle est en ad quation avec les besoins nonc s initialement En voici un r sum pour rappel 6 1 1 Surle plan mat riel Les besoins taient les suivants une plateforme cellulaire de dimensions et poids raisonnables pouvant se fixer sur un support quelconque un module cellulaire permettant de prendre en charge les communications avec le r seau cellulaire ainsi que la g olocalisation un cran assez lumineux up clavier dont les boutons sont suffisamment gros et espac s un haut parleur permettant une sortie sonore avec un volume suffisamment fort une batterie permettant d avoir un syst me autonome sur le plan nerg tique La description du mat riel dans la section 3 2 Composants mat riels permet de voir que les l ments mat riels choisis correspondent aux besoins voqu s C est d ailleurs partir du mat riel choisi adapt que tout le reste du projet a t labor Les pr cautions qui ont t employ es dans le d veloppement mat riel notamment en termes de disponibilit des broches d entr e sortie permettront sans aucun doute l ajout d autres p riph riques sur le
30. removal sensing on board SIM Reader GPRS Class 10 and battery charger circuitry Moreover the GM862 GPS and GM862 QUAD PY models integrate the EASY SCRIPT functionality This is a PYTHON engine script interpreter allowing self controlled operations With the EASY SCRIPT feature the GM862 GPS and GM862 QUAD PY become a finite product they just need your script to be run TELIT 2008pd Le module n a pas d interface utilisateur directement utilisable Cependant on dispose des entr es sorties n cessaires pour connecter directement l lectronique analogique des circuits audio ainsi que de leur sch ma lectrique Bien que ce module dispose d un interpr teur Python le choix a t fait de l utiliser en tant qu esclave du microcontr leur d crit ci apr s afin de faciliter l ajout de p riph riques On communiquera donc avec ce module par port s rie l aide notamment de commandes AT Images SparkFun Electronics Figure 3 2 Photos du module cellulaire GM862 GPS 3 2 3 Microcontr leur LPC2106 Comme mentionn dans la section pr c dente un microcontr leur sera utilis afin de pouvoir g rer de fa on plus facile les p riph riques interfac s Ainsi le microcontr leur devient le composant central de la plateforme mat rielle 1 Telit http Awww telit com 13 Pour cela il a t choisi d utiliser le microcontr leur LPC2106 de NXP Philips Voici une br ve description issue
31. rencontr es par les personnes pr sentant des d ficits cognitifs physiques ou sensoriels sur l utilisation des technologies de t l communication Cette tude pr sente galement un ensemble de strat gies suivre lors de la conception d un appareil de t l communication afin d en faciliter l acc s aux usagers besoins sp ciaux Cette tude a t publi e sous la r f rence MUELLER et coll 2005 tude Cette tude a amass une quantit consid rable d informations sur l utilisation des 4 types d appareils suivants T l phones cellulaires Messages texte Appareils GPS Smartphones Cela s est fait par le biais de sondages On ne d taillera pas le mode op ratoire mais il est consultable dans l article dont la r f rence figure ci dessus R sultats Ne figureront dans ce paragraphe que les r sultats qui ont un int r t direct avec ce projet Voici pour commencer quelques statistiques voir Tableau 2 1 issues de cette tude TABLEAU 2 1 BARRIERES RENCONTREES DANS L UTILISATION DES TECHNOLOGIES SANS FIL E T l phones Messages Appareils Difficult s rencontr es dans Moyenne 26 13 19 15 l utilisation des produits sans fil Limitations fonctionnelles causant cette difficult Voici ensuite les aspects valu s concernant ce projet et les remarques faites ce sujet Acc s toutes les personnes ayant particip l tude ont mentionn qu
32. un certain nombre de manipulations essentielles a beaucoup diminu 4 d entre eux ont m me vu le temps n cessaire pour passer un appel se r duire de quelques minutes quelques secondes Quand 4 participants ne pouvaient pas r pondre un appel auparavant tous ont pu le faire avec une technologie adapt e leurs besoins Ce qui ressort principalement de cette tude sont les points suivants Les personnes avec un handicap physique peuvent trouver une solution ad quate pour acc der aux quipements de t l communication Les appareils mains libres et les haut parleurs se sont av r s essentiels Les personnes n ayant jamais pu acc der ce type de technologies le peuvent maintenant lorsque leur quipement est adapt L acc s la technologie cellulaire peut apporter un meilleur confort acc s fonctionnalit interactions sociales ind pendance s curit L apprentissage pour utiliser cette technologie s av re d terminant Alors oui les personnes pr sentant des besoins sp ciaux peuvent se voir offrir des technologies adapt es r pondant leurs besoins 2 3 Besoins recens s Finalement quels sont les besoins auxquels ce projet tentera de r pondre Il est souhait sur le plan mat riel une plateforme cellulaire de dimensions et poids raisonnables pouvant se fixer sur un support quelconque et n ayant pas besoin d tre tenu pr s de l oreille durant les communications com
33. volume suffisamment fort pour faciliter l coute des conversations aux usagers l ou e affaiblie une batterie permettant d avoir un syst me autonome sur le plan nerg tique pr voir l ajout d autres p riph riques mat riels tels que la possibilit de connecter des dispositifs d adaptation sp cifiques bouton commande par le souffle etc Il est souhait sur le plan logiciel pouvoir placer un appel r pondre un appel et terminer une communication pouvoir envoyer un SMS d urgence pr programm contenant la position GPS de l usager avec le choix d un message parmi plusieurs pr voir des extensions ce qui sera d j impl ment tel qu un logiciel ouvert permettant l int gration de nouvelles fonctionnalit s exploitant les services de base d j implant s cellulaire GPS afficheur clavier etc Par ailleurs le produit ainsi con u devra tre simple d utilisation aussi bien sur le plan mat riel que logiciel We focused on novice users to gain information that would support design that was simple and easy to use and that consequently could be used by more experienced individuals SMITH JACKSON et coll 2003 Ainsi il sera possible de proposer cet assistant mobile un public plus vaste incluant par exemple les ain s qui bien souvent trouvent la technologie trop compliqu e a aborder 2 4 Populations vis es Comme ce projet n en est qu
34. 01 Making mobile phones more accessible ARATA Conference Paper en ligne http Awww novitatech org au library Making_mobile_phones_a ccessible pdf consult le 4 septembre 2008 NGUYEN T GARRETT R DOWNING A WALKER L HOBBS D mars 2006 Telecommunications access Matching available technologies to people with physical disabilities Australasian Physical and Engineering Sciences in Medicine vol 29 n 1 p 87 97 98 NXP 2006ds NXP 2003um NXP 25 juillet 2006 LPC2104 2105 2106 Product data sheet r v 06 en ligne nttp www standardics nxp com products Ipc2000 datasheet Ip c2104 lpc2105 lpc2106 pdf consult le 29 mai 2008 NXP 2 octobre 2003 LPC2106 2105 2104 User Manual r v preliminary en ligne http www nxp com acrobat_download usermanuals UM_LPC 2106_2105_2104_2 pdf consult le 29 mai 2008 SMITH JACKSON et coll 2003 SMITH JACKSON T L NUSSBAUM M A MOONEY SPARKFUN 2008 TELIT 2007hw TELIT 2007sw TELIT 2008pd TELIT 2007at A M 20 mai 2003 Accessible cell phone design development and application of a needs analysis framework Disability and Rehabilitation vol 25 n 10 p 549 560 SPARKFUN 7 janvier 2008 How to use the VPack PCB board r v 1 1 en ligne http www sparkfun com datasheets Prototyping Batteries VPa ck_PCB_vir1_general pdf consult le 20 ao t 2008 TELIT 20 sept
35. 456 10 x4 SPlrate Hz LC 2 _VPB VPB 93 9 4 232 2KF 5 1 SPCCR SPCCR SPCCR 254 ou SPlrate s 4 3lus On suppose ici que l on n utilise pas la PLL Phase Locked Loop et que l horloge du microcontr leur PCLK est celle du cristal soit 14 7 MHz Enfin on configure le registre SP Control Register de la mani re suivante TABLEAU 5 4 CONFIGURATION DU REGISTRE SPI CONTROL REGISTER Bit de SPCR Valeur choisie Fonction CPHA Clock Phase Control Si 0 donn es chantillonn es sur 1er front de SCK Si 1 donn es chantillonn es sur 2 me front de SCK CPOL Clock Polarity Control Si 0 SCK active l tat haut Si 1 SCK active l tat bas __2 0 R MSTR Master mode select Si 0 SPI en mode esclave Si 1 SPI en mode maitre LSBF Least Significant Bit First Si 0 MSB est transmis en premier Si 1 LSB est transmis en SPIE Serial Peripheral Interrupt Enable Si 0 pas d interruption Si 1 une interruption mat rielle est g n r e chaque fois que les bits SPIF ou MODF sont activ s 47 Utilisation La fonction de lecture criture sur le port SPI a t divis e en 2 fonctions distinctes ReadWriteSPI et ReadWriteSPI_fin pour des raisons qui seront d taill es dans la section concernant les LEDs du clavier Tests Il n est pas possible d interfacer facilement le port SPI du microcontr leur avec un ordinateur l image
36. 5 3 2 Pilotes du bus SPI Les pilotes du bus SPI ont t d velopp s par l auteure de ce m moire Les d tails sur l utilisation du bus SPI sur le microcontr leur LPC2106 sont consultables dans le Manuel d Utilisateur NXP 2003um pages 123 et suivantes Initialisation Pour l initialisation du bus SPI la fonction InitSPI est n cessaire afin de fixer les param tres suivants TABLEAU 5 2 PARAMETRES D INITIALISATION DU BUS SPI D finition des broches d entr e sortie GPIO comme fonction SPI SPI_SPCCR SPI Clock Counter Register voir d tails ISPI_SPCR SPI Control Register voir d tails plus bas 1 Sparkfun Electronics CP2102 http www sparkfun com commerce product_info php products_id 198 46 Premi re tape on attribue aux broches du microcontr leur les fonctions de SPI selon NXP 2003um page 78 table 48 TABLEAU 5 3 CONFIGURATION DES BROCHES D ENTREE SORTIE POUR LE BUS SPI MISO Master In Slave Out SPI ee po R MOSI Master Out Slave In SPI ese POM 15 14 SSEL Slave SELect SPI Puis on configure le registre SP Clock Counter Register On souhaite que la vitesse de communication du bus SPI soit maximale De ce fait le registre SPI_LSPCCR est initialis OxFE valeur maximale car devant tre paire selon NXP 2003um page 130 Ainsi la fr quence du bus SPI peut tre calcul e de la fa on suivante CCLK FOSCxM 14 7
37. 6 KAASINEN 2003 KOESTER 2006 LABROSSE 2002 MO 2006 MUELLER et coll 2005 NGUYEN et coll 2001 NGUYEN et coll 2006 BIBLIOGRAPHIE FRUCHTERMAN J R octobre 2003 In the Palm of Your Hand A Vision of the Future of Technology for People with Visual Impairments Journal of Visual Impairment amp Blindness vol 97 n 10 GILL J 1996 Telecommunications The Missing Links for People with Disabilities The European Commission Directorate General XIII Telecommunications Information Market and Exploration of Research en ligne http www empowermentzone com misslink txt consult le 29 mai 2008 KAASINEN E 2003 User needs for location aware mobile services Pers Ubiquit Comput vol 7 n 1 p 70 79 KOESTER HH Printemps 2006 Factors that influence the performance of experienced speech recognition users Assistive Technology vol 18 n 1 p 56 76 LABROSSE J J 15 juin 2002 MicroC OS Il The Real Time Kernel Lawrence KS USA Second Edition CMP Books 648 p MATRIX ORBITAL 26 Juin 2006 VFD2041 Technical Manual r v 2 0 en ligne http www matrixorbital ca manuals LCDVFD_series VFD204 consult le 20 mai 2008 MUELLER J JONES M BRODERICK L HABERMAN V Printemps 2005 Assessment of user needs in wireless technologies Assistive Technology vol 17 n 1 p 57 71 NGUYEN T DOWNING A GARRETT R 20
38. 6 Keys 9 1 3 2 blew Tu 7 key 10 2 3 2 bleu 4 oui 8 Key 10 2 oui 9 56 __Key 11 12 4 31 rouge 0 non 4 0 non 4 2 bleu 1 oui 0 non Key 15 16 4 4 1 rouge O non Ceci est effectu par les fonctions void InitKeyStruct void void AssignkeyStruct INT8U index INT8U KID INT8U kColumn INT8U kRow INT8U kColor INT8U kLedOn unsigned char kSymbol D tection de l appui d une touche La d tection de l appui d une touche se fait en plusieurs tapes Dans la fonction ReadKeyboard le d marrage du Timer1 entraine un appel l ISR Interrupt Service Routine Tmr_Timer1ISR Handler qui elle m me appelle la fonction KeyboardProcessSPI S ensuivent les 5 critures lectures sur le port SPI qui correspondent aux tapes d crites la section 4 2 3 Ainsi on rappelle les 5 tapes TABLEAU 5 13 ORGANISATION DES TRAMES SPI POUR LA DETECTION DE L APPUI D UNE TOUCHE Cycle SCK criture MOSI Ligne 1_ Ligne 2 Ligne3__ Ligne4 igneoen Lecture MISO aimore Ligne1 Ligne 2 Ligne 3 Ligne4 Les donn es stock es chaque tape sont les suivantes TABLEAU 5 14 ORGANISATION DES DONNEES POUR LA DETECTION DE L APPUI D UNE TOUCHE Cycle SCK Donn e stock e atgnerar ByteRecl0 ByteRec 1 ByteRec 2 ByteRec 3 57 Ainsi
39. C4094 et dont les collecteurs sont connect s aux anodes des LEDs lignes du 27 clavier Le MPQ3904 est un bloc de 4 transistors NPN dont les bases sont reli es aux sorties des 74HC4094 et dont les collecteurs sont connect s aux cathodes des LEDs colonnes du clavier Table de v rit pour les anodes des LEDs TABLEAU 4 4 TABLE DE VERITE POUR LES ANODES DES LEDS Base du MPQ3906 correspondante Collecteur du MPQ3906 correspondant 0 Anode de la LED correspondante LD Si la cathode associ e est 0 __ LED allum e ALORS Table de v rit pour les cathodes des LEDs TABLEAU 4 5 TABLE DE VERITE POUR LES CATHODES DES LEDS SI MOSI au n front d horloge n 7 8 ALORS RER 74HC4094 la sortie Q n 7 8 Si l anode associ e est 1 LED allum e En r sum Pour allumer une LED il faut que le bit MOSI correspondant son anode soit 1 et que le bit MOSI correspondant sa cathode soit 0 Pour teindre une LED il faut que le bit MOSI correspondant son anode soit 0 et que le bit MOSI correspondant sa cathode soit 1 Par exemple pour allumer la LED bleue de la 1 re ligne et de la 2 me colonne du clavier ce qui correspond B1 GND3 il faut que le bit MOSI correspondant B1 soit 0 et le bit MOSI correspondant GND3 soit 1 Les graphes en Figure 4 9 et Figure 4 10 permettent de visualiser les trames correspondantes 28
40. CHAPITRE 3 PLATEFORME MATERIELLE ET LOGICIELLE 3 1 Introduction Au cours du chapitre pr c dent il a t mis en vidence les diff rents besoins auxquels ce projet essayera de r pondre Dans la section suivante les diff rents composants mat riels et logiciels seront choisis afin de r pondre ces besoins 3 2 Composants mat riels 3 2 1 Sch ma global Voir Figure 3 1 Cellulaire GM662 GPS Electret Figure 3 1 Sch ma global des composants mat riels 3 2 2 Module cellulaire GM862 GPS Par module cellulaire on comprend les composants suivants Module GSM GM862 GPS de Telit TELIT 2007hw TELIT 2007sw Antennes GSM et GPS Composants n cessaires la r alisation du circuit audio Le module cellulaire est la base du projet En effet ce module consiste en une bo te noire sans autre interface que le port s rie que l on va exploiter afin d avoir acc s toutes les fonctions de t l phonie et de g olocalisation dont on aura besoin 12 Pour cela on a choisi d utiliser le module GM862 GPS de la compagnie Telit Ce module est un GSM quadri bande avec un r cepteur GPS et un interpr teur Python Voici une br ve description du produit The Telit GM862 GPS includes a 20 channels GPS receiver It provides all the features of the GM862 QUAD version such as Voice Circuit Switched Data transfer Phonebook SMS four bands GSM capability hot
41. IMER1 Enable interrupts INT32U Tmr_TimerlISR_ Handler Set the vector address VICVectCntl3 0x20 VIC_TIMER1 Enable vectored interrupts VICIntEnable 1 lt lt VIC_TIMER1 Enable Interrupts TIMER1 TCR 0 Disable timer 1 TIMER1 PC 0 Prescaler is set to no division TIMER1 MRO BSP_CPU_ClkFreqPeripheral TIMER1_ PERIOD TIMER1_MCR 3 Interrupt on MRO reset TC TIMER1 CCR 0 Capture is disabled TIMER1 EMR 0 No external match output TIMER1 TCR 1 Enable 0 or Disable 1 timer 1 avec TIMER1 PERIOD 7500 correspondant une p riode mesur e de 33us Initialisation de la structure de touches En ce qui concerne l initialisation de la structure contenant les informations sur les 16 touches on commence par d finir la structure de donn es KEY STR contenant les informations relatives une touche typedef struct INT8U ID INT8U Column 1 2 3 INT8U Row 1 2 3 INT8U Color 1 red blue 3 green INT8U LedOn 1 yes no unsigned char Symbol 111 2 KEY STR Puis on cr e un tableau contenant les informations relatives toutes les touches TABLEAU 5 12 INITIALISATION DE LA STRUCTURE DES TOUCHES DU CLAVIER Fell ID Column Row Color _ LedOn Symbol bett E ft ft blew eet 1 ke EE foul Wi key 4 4 1 3 ver Tiet ees e l a ew To S ke 7 F 3 M 2 Teu riou
42. OS II Le produit obtenu a la fin de ces tapes est conforme aux sp cifications mentionn es notamment la section 2 3 Besoins recens s fonctionnel il dispose de touches suffisamment grandes pour tre facilement manipulable d un cran tr s brillant donc tr s visible de tout le n cessaire pour permettre la g olocalisation d un haut parleur puissant et d une batterie II permet d appeler de recevoir un appel d envoyer un SMS et de recevoir la position GPS Il constitue ainsi une bonne plateforme de d part tant mat rielle que logicielle pour ajouter par la suite de nouveaux p riph riques et de nouvelles fonctionnalit s 79 Perspectives Cependant cette plateforme est loin d tre un produit fini et commercialisable II faudra am liorer son ergonomie d velopper un certain nombre de fonctionnalit s li es au t l phone cellulaire ainsi qu un syst me de g olocalisation plus pouss En effet pouvoir localiser et orienter une personne gr ce aux possibilit s du GPS apporterait un r el soutien aux personnes qui en ont le plus besoin C est ce qui fait de ce projet un assistant mobile et pas uniquement un t l phone cellulaire conventionnel D autre part cette plateforme est pr vue pour pouvoir tre adapt e un large spectre de d ficiences En effet bien qu il soit souhaitable que cet appareil soit accessible au plus grand nombre il existe une telle vari t de besoins qu il faudra une vari t to
43. aintenue l tat bas pendant au moins 1 seconde avant de retourner l tat haut Cependant il est souhaitable de pouvoir teindre et connaitre le statut allum teint du module cellulaire Pour cela les fonctions suivantes seront utiles void TurnOffCell void INT8U GetPwrMonCell void Avant d teindre le module on utilise donc la fonction GetPwrMonCell qui permet de v rifier si le module est d j allum ou d j teint en lisant l tat de la broche PWRMON du module cellulaire La fonction TurnOffCell elle r alise un Software Shutdown puisqu elle demande logiciellement au module de s teindre gr ce une commande AT sp cifique Envoi de commandes Le module cellulaire contient un interpr teur Python Cependant il a t choisi de le commander par communication s rie port UART Ainsi il est possible de lui envoyer des commandes de type AT TELIT 2007at et d obtenir une r ponse cette commande Parmi les commandes principales le dispositif doit pouvoir R aliser toutes les initialisations n cessaires au bon fonctionnement du module Appeler un num ro de t l phone D crocher lors d un appel entrant Raccrocher lors d un appel en cours Connaitre le statut sur le r seau GSM 51 Allumer teindre et connaitre la position du GPS Envoyer un SMS pr programm Pour cela les fonctions suivantes seront n cessaires void InitCo
44. aire He ni nn cf 35 Figure 4 16 Sch ma lectrique de la sortie audio 37 Figure 4 17 Photo du convertisseur DC DC 5V Vpack 38 Figure 4 18 R partition de la consommation en courant du circuit 39 Figure 4 19 Sch ma lectrique de l alimentation 40 Figure 4 20 Photo du montage avant fabrication du PCB PE E 40 Figure 4 21 Sch ma de l empilement des composants sur le PCB essees 41 VI Figure 4 22 Aspect final du PCB sous OrCAD Layout ececessseceesesseeeeeesessseeseesssenes 42 Figure 4 23 Photos du PCB avant et apr s assemblage des composants 42 Figure 5 1 Organisation en couches de l architecture logicielle 45 Figure 5 2 Chronogramme d utilisation du 74LS165 merce ee ied ben nn a Ae 55 Figure 5 3 Chronogramme d utilisation des signaux de s lection pour le clavier 55 Figure 5 4 Chronogrammes pour l identification d une touche A 58 Figure 5 5 Architecture globale de l application 65 Figure 5 6 Diagramme des cas d utilisation de l assistant mobile 66 Figure 5 7 Diagramme d activit placer UN appel ssssssssssssssessserererrerrsssesserrrrenrsnsessee 70 Figure 5 8 Diagramme d activit envoyer UN SMS 0 0 0 0 eeeeeeeeeeeeeeeseeeeeeeeeeeeeeeeeeeeeeees 71 Figure 5 9 Diagramme d activit obtenir la position GPS
45. amment avec la t l phonie cellulaire Qu en est il r ellement de l accessibilit de ces technologies aux personnes pr sentant un handicap Le projet dont il est question a pour but d apporter un d but de solution aux usagers avec besoins sp ciaux par le d veloppement d une plateforme cellulaire permettant l ajout de p riph riques adapt s et de fonctionnalit s suppl mentaires d assistance Cette plateforme exp rimentale comprend ainsi un module GSM permettant le dialogue avec le r seau cellulaire un module GPS permettant la g olocalisation de l utilisateur ainsi qu un certain nombre de dispositifs adapt s tels qu un cran fort contraste un clavier grosses touches et aides lumineuses etc Cette plateforme est pr vue pour pouvoir recevoir d autres fonctionnalit s tant mat rielles dans le but de l adapter davantage de personnes que logicielles afin de devenir un produit complet et r pondant aux demandes des usagers besoins sp ciaux Mots Cl s T l phone cellulaire usagers besoins sp ciaux microcontr leur GSM GPS REMERCIEMENTS Je tiens remercier Monsieur Philippe Mabilleau Directeur du D partement de g nie lectrique et de g nie informatique et Professeur titulaire pour son aide et son encadrement Un grand merci galement l ensemble de l quipe des techniciens du D partement de g nie lectrique et de g nie informatique pour l aide technique et pa
46. atifs on pourrait sugg rer la reconnaissance et la synth se vocale KOESTER 2006 etc Cependant outre le service de base que l on peut attendre de tout t l phone cellulaire il peut tre int ressant d apporter un certain nombre de services additionnels tels que la localisation de l utilisateur l aide l orientation l assistance en cas de probl me Le fait de placer des appels gr ce un t l phone accessible est d j un premier pas Mais en plus de l accessibilit ajouter un certain nombre de services d assistance peut repr senter une r elle plus value pour la personne avec besoins sp ciaux Sans vouloir apporter LA solution cette tude se propose d apporter un DEBUT de solution par le d veloppement d une plateforme cellulaire permettant l ajout de p riph riques adapt s et de fonctionnalit s suppl mentaires d assistance CHAPITRE 2 TAT DE L ART ET BESOINS 2 1 Introduction Avant de commencer un projet d une telle envergure il serait bon de prendre en compte les tudes qui ont d j t r alis es sur le sujet Ces tudes permettront de recenser quels sont l heure actuelle les besoins en technologie cellulaire pour les usagers besoins sp ciaux 2 2 Analyse bibliographique 2 2 1 Article sur l valuation des besoins des usagers dans la t l phonie mobile Quatre chercheurs ont r alis une tude afin de regrouper un maximum de donn es propos des barri res
47. au d but c est a dire que le but n est pas de fournir un produit fini et industrialisable il est pour le moment d licat d valuer pr cis ment les populations vis es Cependant il est possible d en faire une premi re valuation L assistant mobile sera destin Aux personnes mal par la taille et la luminosit de l cran et des touches ou non par le biais d un afficheur Braille par exemple voyantes Aux personnes malentendantes par la possibilit de connecter un haut parleur suffisamment puissant Aux personnes pr sentant des probl mes de doigt et pour lesquelles la manipulation de petits objets ou de petites touches est probl matique par la grosseur des touches du clavier et de l ensemble du syst me Aux personnes ayant une mobilit tr s restreinte n cessitant l emploi de contacteurs dans la machoire sur le sourcil par exemple pour communiquer Aux personnes n ayant pas de d ficience particuli re mais souhaitant un produit simple d utilisation De fa on g n rale toute personne pr sentant un besoin particulier pour la t l phonie cellulaire et pour laquelle ce besoin peut tre assist d une mani re lectronique Cette liste est loin d tre exhaustive et pourra tre compl t e lorsque le d veloppement de cette plateforme sera poursuivi 2 5 Technologies existantes Il est d licat de recenser de fa on exhaustive les technologies existantes tant l
48. aviers sp ciaux le Braille la reconnaissance et la synth se vocale etc La fin du 20 me si cle et le d but du 21 me si cle ont vu un r el essor des technologies lectroniques et informatiques micro ordinateurs Internet t l phonie cellulaire aide la conduite en voiture Les exemples sont tr s vari s Qu en est il r ellement de l accessibilit de ces technologies aux personnes pr sentant un handicap Cette tude s int ressera plus particuli rement au monde de la technologie cellulaire En effet c est un domaine de premi re importance dans la mesure o il permet en plus du 1 Wikipedia Disability Demographics http en wikipedia org wiki Disability Demographics service rendu une r elle am lioration des conditions de vie une s curit une r duction de l loignement pour utilisateur et son entourage Pour ne citer que quelques chiffres en Europe on estime a 1 million le nombre de personnes ne pouvant pas utiliser leurs doigts 12 millions ceux ayant une vue d ficiente 45 millions le nombre de personnes ne pouvant se d placer sans aide ext rieure et a 80 millions les personnes pr sentant des troubles de l audition GILL 1996 L acc s facilit la technologie cellulaire pr sente donc un enjeu tr s important pour ces personnes grand affichage pr sentant un bon contraste clavier facilement utilisable amplification du volume sonore dispositifs de commande altern
49. b Ria R19 PD4 EMMI_RX x Ge g 8 2 PD3 H GND NW We ZA PDD ep Cp DBGSEL Ge 8 DCD EMMI TX RST il D 2 PO SR 3v3 TER bs PDO GPIO1 PO O g g RI cts 40 27 S Q zN GPIO2 coin LZ g eli SIMCLK MONI CAM L E gt SIMRST RESET FE gt SIMVCG PWRMON L Aey L7 PWRMON Td oe TX SIMIO S ri D VE AXE ON OFF O ec 0 MI 8 MIC_MT MIC_HF i MG MT Kameru MIC_MT MIC HE ONOFF i EAR_MT Q EAR_MT EAR_HF Ta EAR_MT EAR_MT EAR HE LD EXE PO LO_CHRG ER CHARGE SN JP LDIEXE Battery charger 48 7V GND 3 8V Li _ SV 400mA GND 3 8V HL DATT bg thum battery 3 7V 2200mAh 5V 1 U12 SWITCH SWITCH2 RED2 SWITCH3 REDS BLUES GREENS 3388 550 SWITCHAZ AZS 2 Ra Bont pen Gei B4 PTT gt BLUE4A abab c g eele RIT SE ca LS Screens DAG U17 74 5165 Po QH Pi 10k 5 1ORS TORY ia L el TE QM i E EEN EN co Eege S pyr HD P4 el P5 VCC Pe P7 GND4 GND3 o Q e Figure A 1 Sch ma lectrique global Microcontr leur et p riph riques 1 94 BATT CONN_BATT CONN_CHRG HI_BATT HI_CHRG VrD 04 LO_BA LO_CHRG CONN_VFD2041 5V 1 43 3V 2 H2106 VO XIN RTCK GND PO P0 30 P0 29 P0 28 P0 27 P0 26 P0 25 P0 24 L wee P0 23 P0 22 PO 21 PO 20 P0 19 P0 18 P0 17 JMP ON OFF A KEYBOARD U13_74HC4094 o 1 1 a DD 0000 SWT_GND2 LED_GND1 SWT_GNDi LPC2106 et p rif riques Document Number lt Doc gt Ao
50. ccessible to a user with visual impairments a world of possibilities is enabled Personal location based services would also be a standard part of the package These services would use the capability of the new phones to provide the user s current location as Global Positioning System receivers now do These services will make information about the user s current position you are at the corner of First and Main as well as directions based on either walking or public transportation available In addition to position and navigational services information will be readily available for points of interest such as restaurants and emergency services and would be able to pinpoint the location of a mobile user FRUCHTERMAN 2003 Connaitre le nom des rues environnantes Par exemple certaines personnes ont de la difficult a lire les panneaux sur lesquels figurent les noms de rues Pour les voir il leur faut s en approcher ce qui peut tre p rilleux compte tenu de l emplacement de certains de ces panneaux On peut alors imaginer r cup rer le nom des rues avoisinantes l aide d un service similaire Microsoft MapPoint Web Service et indiquer a l utilisateur le nom de la rue dans laquelle il se trouve Assistant Mobile Connaitre le nom de la rue sur laquelle se trouve l utilisateur Connaitre le nom de la prochaine intersection Utilisateur Figure 6 4 Cas d utilisation pour connaitre le nom des rues avo
51. de sa datasheet The LPC2104 2105 2106 are based on a 16 32 bit ARM7TDMI S CPU with real time emulation and embedded trace support together with 128 kB of embedded high speed flash memory A 128 bit wide memory interface and a unique accelerator architecture enable 32 bit code execution at maximum clock rate For critical code size applications the alternative 16 bit Thumb mode reduces code by more than 30 with minimal performance penalty Due to their tiny size and low power consumption these microcontrollers are ideal for applications where miniaturization is a key requirement such as access control and point of sale With a wide range of serial communications interfaces and on chip SRAM options up to 64 kB they are very well suited for communication gateways and protocol converters soft modems voice recognition and low end imaging providing both large buffer size and high processing power Various 32 bit timers PWM channels and 32 GPIO lines make these microcontrollers particularly suitable for industrial control and medical systems NXP 2006ds Plus particuli rement 16 32 bit ARM7TDMI S processor 16 32 64 kB on chip static RAM 128 kB on chip flash program memory 128 bit wide interface accelerator enables high speed 60 MHz operation In System Programming ISP and In Application Programming IAP via on chip boot loader software Flash programming takes 1 ms per 512 B line Single sector or full c
52. e clavier en g n ral void InitKeyboard void void InitKeyStruct void Description Inits the Key Structure containing all Key data Arguments Retour 84 void AssignKeyStruct INT8U index INTS8U kID INT8U kColumn INT8U kRow INT8U kColor INT8U kLedOn unsigned char kSymbol Index of the corresponding key in the structure ID of the Key to be stored Row of the Key to be stored kColor Goor of the Key to be stored kLedon Ve the LED On 1 yes 0 no Starts timer 1 to read if new key was pressed Debounces the read data checks the correspondence with known key ID Posts in mailbox if ID corresponds to one expected Arguments void KeyboardProcessSPI void Called by timer 1 interruption Description Processes the 5 write read SPI cycles necessary to detect a key Stores read data in ByteRec uments voia el Retour void s O INT8U InterpKeyKeyboard INT8U ByteRec Converts the data received by SPI from keyboard into a character If no key is pressed the function returns 99 If a key is pressed but no correspondence to any key is found the function returns 0 Arguments Retour ID corresponding to key pressed Description O E 2 Description Fonctions concernant le fonctionnement des LEDs du clavier void UpdateLEDs void Description Updates the LED colors on keyboard Arguments i bi m E s lt e
53. e du signal MOSI Master Out Slave In On lira ainsi l tat du clavier au n 1 cycle SPI 23 TABLEAU 4 2 ORGANISATION DES TRAMES SPI POUR LA DETECTION DE L APPUI D UNE TOUCHE Cycle SCK criture MOSI ons Ligne2 Ligne 3 Ligne4 mseg Lecture MISO SSC erer 74LS164 QA 7818164 QB Gi FALS164 OC FAUS164 QD aucga OuTA 74HC04 OUTB FAATOA OUTE JAN QUTD Les 5 trames MOSI envoy es par le microcontr leur pr sentent 1 des 8 bits 0 chaque fois d cal d un front d horloge Puis le 74LS164 convertit ces trames MOSI en 8 signaux parall les seuls 4 sont utilis s Comme on souhaite pouvoir crire des 1 successivement sur chaque ligne pour pouvoir d tecter ou non un appui touche on utilise l inverseur 74HC04 Figure 4 4 Trames d criture SPI pour la d tection d une touche 24 Si aucune touche n est appuy e Si la touche 2 est appuy e Lecture gt Z 3 Col 1 GE 745165 P3 z z d E waer Lecture palsies sl RE a 7418165 pa Lecture Col 3 745165 PY oo jausies pi Lecture E N Col4 PALSLES PoS Oo o 7482 68 Po Bic s Cem Can 2200 M SAOS Pa SHO ONE 2900 M g un eH SE 22 May 08 21MB ue i Zi May BIg 5 Figure 4 5 Trames de lecture SPI Figure 4 6 Trames de lecture SPI pour les touches pour les touches aucune touche touche 2 appuy e appuy e Si aucune touche
54. e montage a son entr e un montage avec microphone de type lectret voir page pr c dente c3 i 400nF 16V enr 100nF 16V MIC gt wo CB Ch 100nF18V 8 Lu wn Figure 4 14 Sch ma lectrique de l entr e audio amplificateur Voici les caract ristiques d entr e du module GM862 GPS Mic_HF 2 differential microphone path line coupling AC line type balanced coupling capacitor 2 400nF differential input resistance 50kQ differential input voltage lt 65MV pp 23MV ms microphone nominal sensitivity 45 dBVims Pa analog gain suggested 10dB echo canceller type car kit hands free DocumeniationTelit Figure 4 15 Caract ristiques de l entr e audio du module cellulaire 35 L entr e MIC_HF supporte donc une tension diff rentielle de 65mVpp soit 32 77dB Voici le calcul du gain apporter par l amplificateur en environnement non bruyant TABLEAU 4 7 CALCUL DU GAIN A APPORTER PAR L AMPLIFICATEUR D ENTREE AUDIO Sensibilit du microphone On arrive alors la somme 69 dB 4 7 dB 10 dB 20 dB GA 32 77 dB 4 1 Soit GA 32 77 dB 69 dB 4 7 dB 10 dB 20 dB 4 2 GA 32 77 69 4 7 10 20 dB 4 3 GA 30 93 dB 4 4 Ainsi le gain a apporter par l amplificateur est 30 93 gain 10 35 2 4 5 Calcul des composants a modifier Pour ajuster le gain il faut jouer
55. eLEDs void Cette fonction fonctionne avec un compteur LEDsUpdateCnt Elle v rifie d abord si une des 3 LEDs de la LEDsUpdateCnt touche du clavier doit tre allum e En effet il est possible l aide de certaines fonctions pr vues et qui seront abord es ult rieurement d teindre compl tement ou d allumer nouveau le clavier Si aucune LED ne doit tre allum e alors la fonction envoie la trame correspondant 0x3F 0x3F au port SPI Si une des LEDs doit tre allum e alors la trame correspondant voir le Tableau 4 6 est envoy e au port SPI Afin de connaitre la trame correspondant en utilisant des masques on utilise la fonction INT16U TurnOnLED INT8U column INT8U row INT8U color Bien entendu afin de synchroniser les changes entre le port SPI du microcontr leur LPC2106 et les 74HC4094 on utilise les 2 signaux de contr le cs2 et cS3 CS2 est connect au 74HC4094 U13 et CS3 au 74HC4094 U13 Lorsque CS2 ou CS3 est 1 cela permet de valider les sorties parall les du composant concern Afin d assurer le bon change chronologique des signaux on utilise la fonction de d lai void DelayLED int cpt Il peut tre int ressant d examiner les chronogrammes de la Figure 4 9 et de la Figure 4 10 Par ailleurs on dispose des fonctions suivantes void TurnOffLEDs void Ces fonctions mettent 1 pour teindre ou O pour allumer le drapeau flagLEDsOff afin de contr ler si l
56. echnique du produit fournie par Sparkfun SPARKFUN 2008 1 Vour x Lour 4 7 IN Consommations lectriques Afin de concevoir l alimentation il est n cessaire de connaitre les consommations lectriques de chaque section du montage Aussi voici les valeurs calcul es et les valeurs mesur es des courants du syst me TABLEAU 4 9 TENSIONS ET COURANTS D ALIMENTATION DES PRINCIPAUX COMPOSANTS Module cellulaire 35 170mA GM862 GPS et interfaces R iddle en communication On souhaite donc alimenter en 5V le microcontr leur LPC2106 le clavier et ses interfaces ainsi que l afficheur VFD2041 Un convertisseur DC DC tel que d crit dans la section pr c dente peut fournir 5V 250mA Il sera donc n cessaire d employer 2 de ces modules Ainsi Module cellulaire GM862 GPS Microcontr leur LPC2106 Afficheur VFD2041 Figure 4 18 R partition de la consommation en courant du circuit 39 Protection Afin de prot ger des surtensions et des inversions de tension on utilise une diode TVS et un fusible auto r armable polyswitch Finalement le sch ma lectrique est le suivant 5V 2 KA U5 _5VDCtoDC U6 5VDCtoDC 3 7V 5V pi 3 7V 5V p GND GND GND GND Figure 4 19 Sch ma lectrique de l alimentation 4 3 Circuit imprim Avoir le montage sur breadboard et veroboard n est pas tr s pratique et peu ane esth tique comme le montre la photo ci contre Aussi
57. ection d un appui de touche Cette t che ne peut souffrir de beaucoup de retard Afin de d montrer la viabilit de l architecture r alis e quelques op rations de base qui sont r aliser par le t l phone seront prises afin de r aliser un exemple Les sch mas repr sent s la Figure 5 7 la Figure 5 8 et la Figure 5 9 ne prennent pas en compte tous les d tails du code livr mais permettent une bonne compr hension de l exploitation des bo tes outils et des fonctionnalit s offertes par uC OS II Placer un appel Voici Figure 5 7 les diff rentes tapes r aliser Envoyer un SMS Voici Figure 5 8 les diff rentes tapes r aliser Lire la position GPS Voici Figure 5 9 les diff rentes tapes r aliser D autres fonctions peuvent bien entendu tre effectu es celles mentionn es ci dessus sont pour le moment des exemples 5 5 5 Tests Il est possible de tester les diff rentes fonctionnalit s en v rifiant les communications entre les diff rents modules notamment en crivant sur l mulat ur de terminal un texte indiquant que tel message de telle boite aux lettres vient d tre lu Cela permet par exemple de 69 d tecter que l application a bien t inform e de l appui d une touche dans un d lai raisonnable Les 3 figures ci dessous mettent en vidence les diff rentes tapes n cessaires pour pouvoir placer un appel envoyer un SMS et obtenir la position GPS effectu es pa
58. eive Retour ich character on success 1 if no character is available void uart0OISR void Description This function implements the ISR for UARTO Arguments void SS O Retour voia ooo O Bus SPI void InitSPI void Description SPI initializations void ReadWriteSPI unsigned int Byte2Send KE First part of a SPI Write read cycle Loading data to SPDR register starts clock and transfer ro Retour gt Data to be sent by SPI port Retour veia unsigned int ReadWriteSPI fin void Waits till transfer is done checks SPI status register and reads received data Arguments void Bus PC void Init12C void Arguments void Betou voia y O void SendAddressI2C unsigned char Addr Description Sends the PC Slave Address to be used Slave address Arguments voia J gt SSS O void WriteI2C unsigned char Data Description Sends data to 1 C port Data to be sent to PC port Retour koia O gt 82 Stops the DC communication Arguments void Retour froid A 1 2 Boites a outils interm diaires Cellulaire Description Inits the cell phone device Arguments voia Retour voia o y O Description Checks if Cell is ON and turns it OFF if necessa Arguments void O Retour peo o a a e ee OO O Description Checks if Cell is ON or OFF
59. embre 2007 GM862 GPS Hardware User Guide r v 8 r f 1vv0300728 en ligne http www gm862 com module infopool download php id 871 consult le 29 mai 2008 TELIT 5 juillet 2007 GM862 GPS Software User Guide r v 5 r f 1vv0300729 en ligne http Awww gm862 com module infopool download php id 533 consult le 29 mai 2008 TELIT 11 mars 2008 GM862 Product Description r v 9 r f 80272ST10019a en ligne http www gm862 com module infopool download php id 165 consult le 29 mai 2008 TELIT 19 novembre 2007 AT Commands Reference Guide SW Release 7 02 04 for GM862 QUAD GM862 QUAD PY GE862 GPS GE863 QUAD GE863 PY GE863 GPS GE864 QUAD GE864 PY GC864 QUAD and GC864 PY r v 4 r f 80000ST10025a en ligne http www gm862 com module infopool download php id 542 consult le 3 juin 2008 99
60. end cellulaire de la part de l application Si c est le cas la Command Task t che appelle les fonctions n cessaires l envoi de ces commandes V rifie si un nouvel v nement ou une r ponse une commande s est produite au niveau du cellulaire Si c est le cas la t che effectue les actions n cessaires en KBD Key Task Cell Status Updater Task TimeOut Task d inactivit D s qu un v nement RING ou appui MainAppTask ose les actions n cessaires au ETS 500ms 67 Boites aux lettres On identifie les diff rentes boites aux lettres n cessaires TABLEAU 5 21 BOITES AUX LETTRES CREEES POUR L APPLICATION Boite aux vine Contient les commandes envoyer au Application ou KBD Cell Send Status Updater Task Command Task CellReqsMbox module cellulaire La nature de la commande est identifi e par un num ro GSMMbox Contient les r ponses aux commandes envoy es concernant la fonctionnalit GSM du module cellulaire La nature de la r ponse est identifi e par un num ro Contient les r ponses aux commandes Foncti envoy es concernant la fonctionnalit SMS Le Cell Status SMSMbox de la bo te outils du module cellulaire La nature de la R Updater Task S pam 5 du cellulaire r ponse est identifi e par un num ro Contient les r ponses aux c
61. ensemble des LEDs doit tre allum ou non Ceci sera particuli rement pratique lorsqu on souhaitera teindre les LEDs de l cran apr s un certain d lai d inactivit de la part de l usager sur le t l phone et les rallumer au prochain v nement Tests Afin de tester le bon fonctionnement du clavier on teste dans un premier temps la d tection de l appui d une touche Pour cela on affiche sur l mulateur de terminal via l UARTO les touches d tect es A des fins de d bogage il est possible d afficher les octets lus sur le port SPI afin de s assurer que ce qui est lu correspond bien ce qui est attendu Pour v rifier le fonctionnement des LEDs du clavier on peut dans un premier temps choisir d allumer une seule LED avec une seule couleur Puis on peut choisir d illuminer plusieurs touches du clavier de diff rentes couleurs afin de v rifier l alternance des LEDs et l absence de scintillement pour l il humain II s agit l d un test visuel subjectif 5 4 3 Bo te outils relative l afficheur Initialisation L initialisation de l afficheur n cessite les tapes suivantes TABLEAU 5 17 TAPES D INITIALISATION DE L AFFICHEUR RER RE ETS Fonction appel e IInitialisation de l I2C Initl2C Envoi de l adresse du p riph rique esclave 0x50 par d faut SendAddressi2C 0x50 utile si plusieurs esclaves Initialisation de l cran d accueil facultatif SaveAsStartupDispla
62. es collecteurs des transistors NPN MPQ3904 reli es aux cathodes AUTRES QUE ee GND3 sont 1 celui Gi G3 94 OS 06 correspondant GND3 i ris tant O Seule la LED bleue de la 1 ligne et de la 2 colonne peut donc tre allum e C est ainsi que l on pourra commander chaque couleur de chaque LED tricolore de fa on ind pendante et ce en n utilisant que les 4 signaux du port SPI et 4 RAR ENT ARTE E signaux de contr le CSO Seule la LED bleue est allum e CS3 avec 5V a son anode et OV sa cathode Figure 4 10 Trames d criture SPI pour les LEDs une LED allum e 30 Pour r sumer les trames envoyer TABLEAU 4 6 TABLE DE VERITE L ALLUMAGE DES LEDS 74HC4094 U16 74HC4094 U13 ras Taras tas tov CACIA ee LS BS Les on EEN ES RI E 1g dy ae 8 Oo 411 0 7 S T oF Q1 vosi ee SELLER 2 LL ONE eg Wes cet 0 1 1 3B 1 1 lo 3E 1111111110 3D KIEREN DE 0 1 1 M ABLE le sees 1 11 10 B7 E 9EESSE ORG RE OO WEE AS OI LE o 111 9F 11110 a PLEEG EH e ee h 0 1 1 5F 11110 37 IGOHHAGONE O0 GORE G F HERR 31 16 Tests Le clavier sera test d s que les pilotes bas niveau et la bo te outils lui correspondant seront d velopp s voir la section 5 4 2 4 2 4 Module Cellulaire GM862 GPS Connexion Le module cellulaire est connect au microcontr leur et a ses
63. ftware et ont t adapt s et diffus s par Martin Thomas Ils permettent d utiliser l UART par interruption sur la r ception sur la transmission sur les 2 ou sur aucune Les d tails sur l utilisation des UART sur le microcontr leur LPC2106 sont consultables dans le Manuel d Utilisateur NXP 2003um pages 85 et suivantes Initialisation Pour l initialisation des UARTs 0 et 1 les fonctions uartoOInit et uartiInit sont n cessaires afin de fixer les param tres suivants 1 ARM Projects http www siwawi arubi uni kl de avr projects arm_projects index html ipc_uart_irg 45 TABLEAU 5 1 PARAMETRES D INITIALISATION DES UARTS 115 200 bauds 8 bits pas de parit 1 bit de STOP FIFO d clench e a 8 caract res Utilisation Sont la disposition de l utilisateur les fonctions principales suivantes dont les prototypes figurent en Annexe uartOPutch uartOPuts uart0Getch uartOISR Tests Les pilotes de l UART peuvent tre test s avec un mulateur de terminal sur un ordinateur Pour cela on utilise un composant CP2102 qui partir des signaux Rx et Tx de l UARTO du microcontr leur permet de relier la plateforme l ordinateur par le port USB C est d ailleurs de cette mani re que le code est charg dans le microcontr leur Ainsi on a la possibilit de tester les critures uartOPutch uartOPuts et les lectures uart0Getch de fa on ind pendante du syst me
64. hip erase takes 400 ms Vectored Interrupt Controller with configurable priorities and vector addresses EmbeddediCE RT interface enables breakpoints and watch points Interrupt service routines can continue to execute whilst the foreground task is debugged with the on chip RealMonitor software Embedded Trace Macrocell enables non intrusive high speed real time tracing of instruction execution Multiple serial interfaces including two UARTs 16C550 Fast 12C bus 400 kbit s and SPI Two 32 bit timers 7 capture compare channels PWM unit 6 outputs Real Time Clock and Watchdog Up to thirty two 5 V tolerant general purpose I O pins 60 MHz maximum CPU clock available from programmable on chip Phase Locked Loop with settling time of 100 ms On chip crystal oscillator with an operating range of 1 MHz to 30 MHz Two low power modes Idle and Power down Processor wake up from Power down mode via external interrupt Individual enable disable of peripheral functions for power optimization Dual power supply CPU operating voltage range of 1 65 V to 1 95 V 1 8 V 8 3 14 I O power supply range of 3 0 V to 3 6 V 3 3 V 10 with 5 V tolerant I O pads NXP 2006ds Ainsi on aura disposition les ports UARTO UART1 SPI et PC du LPC2106 ainsi que toutes ses entr es sorties GPIO Dans l optique de construire une plateforme ouverte permettant l ajout futur de nombreux autres p
65. i Effet_Larsen 37 4 2 6 Alimentation Probl matique La batterie utilis e est celle d crite dans la section 3 2 6 une batterie Lithium lon 3 7V 2200mAn de chez Varta Cependant les tensions d alimentation des autres composants de la plateforme sont probl matiques En effet le microcontr leur LPC2106 l afficheur VFD2041 ainsi que les composants qui serviront a interfacer le clavier ont besoin d tre aliment s en 5V alors que la batterie fournit une tension proche de 3 7V l g rement variable selon son tat de charge tension impos e par le chargeur du module cellulaire Obtention du 5V ll sera donc n cessaire d utiliser le convertisseur DC DC 5V VPack propos par SparkFun Electronics qui permet partir d une tension d entr e comprise entre 1 1 et 4 5V d obtenir 5V en sortie Ce convertisseur pouvant fournir un courant de 300mA 2 de ces composants seront requis afin d alimenter d une part l afficheur et d autre part le microcontr leur et les composants servant l interfa age du clavier Figure 4 17 Photo du convertisseur DC DC 5V Vpack 1 Sparkfun Electronics Module DC DC 5V DPack http Awww sparkfun com commerce product_info php products id 8290 38 Il est noter que si le VPack doit fournir 5V et 250mA en sortie partir de 3 7V on mesurera l entr e du VPack un courant de 420mA environ selon la formule suivante extraite de l quation 2 de la fiche t
66. ilisateur Voir l tat du r seau Voir la position GPS incude gt C Presser GPS include gt C Presser a SMS Figure 5 6 Diagramme des cas d utilisation de l assistant mobile 5 5 3 Composants Afin de r aliser l application finale qui va r gir tous les composants du syst me on utilise les possibilit s offertes par uC OS Il LABROSSE 2002 la gestion de t ches concurrentes multitasking les boites aux lettres mailboxes et les s maphores semaphores 66 T ches On identifie les diff rentes t ches n cessaires TABLEAU 5 20 TACHES CREEES POUR L APPLICATION R alise la mise jour de l allumage des LEDs du clavier KBD LED Task partir des informations de couleur contenues dans la 1 ims structure de touches V rifie si une nouvelle touche du clavier a t press e Si 2 25ms c est le cas la t che cherche le pointeur sur cette touche dans une structure de touches et poste un message avec ce pointeur Keyboard M tte si un nouvel appui touche s est produit au niveau Status Updater du clavier Si c est le cas la tache effectue les actions Task n cessaires en cons quence D tecte l arriv e du message non sollicit RING GSM Call provenant du cellulaire ce qui permet de d tecter un Detection Task appel entrant Si c est le cas poste un message afin de pr venir l application V rifie l arriv e de nouvelles commandes envoyer au Cell S
67. ing sent to display must have 80 20x4 characters exactl void SetCursorPosDisplay int col int row Sets the cursor position on the target displa col Column chosen 1 lt col lt 20 row Row chosen 1 lt row lt 4 rBackDisplay void Sets a new line on the target displa Arguments Retour void void InitAccentsDisplay void Initializes the display special characters as 6 a accents Arguments void Retour void Do not use ID 0 Character will be displayed randomly at position 1 1 after startup screen unsigned char ConvertAccentsDisplay unsigned char Data Description Converts special characters into display special character ID Arguments Data initial character possibly accentuated unsigned char Retour Data_acc Accuentuated character replaced by special char ID A 1 3 Application int main void Description Main program Does initializations variables tasks events Arguments voia Retour jr oo static void CellStatUpdtTask void p arg Description Arguments voi Task arguments pointer Retour voia J static void CellSendCmdTask void p arg Description Arguments void Task arguments pointer Retour voia S 87 static void GSMCallDetectionTask void p arg Description Checks if a call is incoming and posts to GSMMbox Arguments void Task arguments pointer static void KeyboardKeyTask void p arg
68. interfaces de la fa on suivante 470 5 a N 3 7V g ex SIAT LED PWR_LED 4705 SIMCLK MON1_CAM SIMRST RESET Ges gt SIMVCC PWRMON Aey Le gt PWRMON LR a TX SIMIO d es x AXE ON OFF k n MCE g oe MG MI MG HE ON OFF z a MIC Mix MIC_HF EAR MT EAR _MT EAR HF EAR_MT EAR_MT EAR_HF HILCHRG E LO_CHRG Battery charger 3 7V 5V 400mA LO_BATT HL BATT Cl Lithium battery 3 7V 2200mAh Figure 4 11 Sch ma lectrique du module cellulaire GM862 GPS 32 4 2 5 Interfaces audio Le module cellulaire tant un module d pourvu de toute interface directement utilisable c est dire sans clavier cran microphone haut parleur par l utilisateur il convient de pr voir les interfaces audio Pour cela il est possible d exploiter les sch mas pr vus dans le document TELIT 2007hw aux sections Audio Section Overview et Output Lines Speaker Vue d ensemble du syst me audio Mode a oreillette ou handset oe Differential 12d8FS i Line Out Drivers 165 H GM862 GPS EES kiif Ear MT z Power Buffers TAO lt AN oy Ai Sch ma documentation Tel Figure 4 12 Sch ma global de l interface audio 33 Modes d utilisation Comme on peut le voir sur la Figure 4 12 de la page pr c dente il existe 2 modes d utilisation principaux Le mode oreillette ou handset permet une utilisation en mode priv du t l phone c est
69. ion a t r alis e en ajoutant tous les programmes de test Puis tout a t r organis afin d int grer l OS temps r el uC OS II Les pilotes bas niveau ainsi que les fonctions d interface avec les pilotes bas niveau ont t r utilis es mais l architecture du syst me est diff rente C est cette architecture finale qui sera pr sent e ici 5 2 Couches de l architecture logicielle La Figure 5 1 pr sente l organisation en couches de l architecture logicielle On peut y observer l organisation en couches du syst me En effet en partant du bas se trouve la couche bas niveau avec les pilotes d interface pour le mat riel Un peu plus haut se trouve la couche interm diaire ou middleware constituant 3 bo tes a outils Ainsi l application situ e sur la couche sup rieure peut faire appel au mat riel par le biais de fonctions pratiques utiliser L application fait ainsi appel aux boites outils qui elles m mes font appel aux pilotes bas niveau pour utiliser le mat riel l afficheur le clavier et le module cellulaire ici 44 Bo te outis Afficheur Niveau Pilotes du _ Bus SPI Figure 5 1 Organisation en couches de l architecture logicielle 5 3 Developpement des pilotes bas niveau Les prototypes des principales fonctions utilis es sont disponibles en Annexe section A 1 1 5 3 1 Pilotes de lUARTO 1 port s rie Les pilotes utilises pour l UART proviennent de RO So
70. ise le Timer1 afin de connaitre quel moment on se situe dans la proc dure Une trame SPI dure 4 3us x 8 24 Aus Si on consulte la datasheet du composant 74LS165 un signal CLOCK INHIBIT qui sera 0 tout le temps des changes il s agit du signal CS0 dans notre cas sera n cessaire De m me qu un signal SHIFT LOAD qui lorsqu il passera 0 permettra au composant 74LS165 de recopier en sortie sous forme de trame s rie OUTPUT Q les signaux parall les qu il a en entr e P0 P7 Ce signal est assur par CS3 qui la fin de chaque criture lecture SPI se mettra a 0 Voici un extrait de la datasheet en question 54 Timing Diagram sck po LUU UU UL UL CSO gt CLOCK INHIBIT SERIAL INPUT CS3 p SHIFT LOAD PO p1 B p2 c P3 P4 P5 P6 c P7 H MISO gt ouTPUT on T oumur Gy be em INHIBIT SERIAL SHIFT LOAD Typical Shift Load and Inhibit Sequences Figure 5 2 Chronogramme d utilisation du 74LS165 Et pour illustrer voici les signaux correspondant dans notre montage al Ss E ICSO S S d CLOCKINAIBET see ent T Figure 5 3 Chronogramme d utilisation des signaux de s lection pour le clavier 55 Ainsi on utilisera un Timer1 d une p riode de 33us permettant le passage 0 de cs3 la fin de la trame scx Le Timer1 est donc initialis de la mani re suivante viICcIntSelect amp 1 lt lt VIC_T
71. isinantes Effectuer un appel d urgence vers un num ro pr programm Un usager en d tresse n a pas n cessairement la possibilit de placer un appel conventionnel d urgence dans des situations induisant un fort stress Il serait donc int ressant de proposer l usager la possibilit d appeler d urgence un num ro de t l phone pr programm sur l appui ou l appui r p titif d une simple touche En plus de l appel on peut imaginer soit envoyer un SMS au destinataire de l appel d urgence ou soit envoyer un courriel l informant de la position g ographique coordonn es GPS de l usager 76 Assistant Mobile Pr venir une aide ext rieure en cas include gt d urgence Appeler un num ro pr programm Envoyer un SMS Informer une aide includ god avec coordonn es ext rieure de la a osition g ographique include position g ographiq nA Envoyer un courriel Utilisateur avec carte Figure 6 5 Cas d utilisation pour effectuer un appel d urgence Connaitre les instructions pour parcourir un trajet Avec un r cepteur GPS et une liaison vers un serveur comme celui de Google ou Microsoft il est possible d obtenir toutes les informations n cessaires au guidage de l usager pour un trajet d un point A un point B identifi par une adresse civique ou des coordonn es GPS Cela est particuli rement pratique pour des personnes dont la mobilit est r duite car dans la mesure o les d placements so
72. it Essentielle In mpodante pratique Non n cessaire Haut parleur a Composition vocale PP A re Composition rapide SI 1 3 LL Clavier amovible Ecouteur sans fil Ecouteur avec fil 2 Bloc touches amovible 2 0 Le tableau ci dessous Tableau 2 1 montre les obstacles rencontr s par les personnes de chaque groupe avant l tude ainsi que les fonctionnalit s qui se sont av r es tr s importantes la suite de l tude TABLEAU 2 3 OBSTACLES ET FONCTIONNALITES UTILES DANS L UTILISATION D UN CELLULAIRE rout Groupee Comes Utilisent une m thode de scan par interrupteur pour fonctionner avec un appareil Obstacles avec un t l phone conventionnel tenir le t l phone ou voix ou les 2 mais partiellement i se aah 100 100 100 Se intuitive 9 des 10 participants ont montr de bons voire d excellents r sultats tant en termes de Utilisation d un t l phone Fonctionnalit s performances qu en termes de satisfaction Naturellement ce sont les personnes du groupe 3 qui ont montr le plus gros progr s En effet auparavant ces personnes ne pouvaient pas utiliser de t l phone sans l aide d un assistant du fait de leur handicap lourd Les personnes des groupes 1 et 2 avaient pour la plupart d j utilis des t l phones mais pas au maximum de leurs capacit s 6 des 10 participants ont indiqu que le temps requis pour effectuer
73. l interface PC ajout e par Matrix Orbital L utilisation de cette technologie peut tre pr voir dans des am liorations futures de la plateforme Image Noritake Figure 3 5 Photos de l afficheur VFD Active Matrix 3 2 5 Clavier La principale qualit cherch e pour le clavier de notre plateforme n est pas la miniaturisation Bien au contraire un clavier aux touches larges et convenablement espac es et pour lequel un appui touche est distinctement perceptible sera utilis Un clavier de 4x4 touches permettra toutes les applications souhait es 1 Noritake Electronics http Awww noritake elec com 16 Pour cela le clavier commercialis par la soci t SparkFun Electronics est int ressant En plus de r pondre aux exigences ci dessus ce mod le dispose en plus d une LED tricolore par touche On peut alors imaginer guider l usager dans l utilisation du t l phone en utilisant un code de couleurs vert pour OK rouge pour Corriger L ajout de symboles sur chaque touche est r alis gr ce l impression de ces symboles sur des tiquettes transparentes vendues dans le commerce Chaque touche tant quip e d une LED tricolore le nombre de fils connecter est tr s lev Afin de n utiliser qu un minimum de GPIO du microcontr leur le choix a t fait d utiliser quelques registres a d calages transistors et autres composants afin d interfacer le clavier et ses LEDs Ceci
74. le PCB r alis par le service technique du d partement de g nie lectrique et de g nie informatique a l aspect suivant Empilement des diff rents l ments Vue du dessus Figure 4 23 Photos du PCB avant et apr s assemblage des composants 42 4 4 Versions futures La plateforme dans son tat actuel peut tre utilisable exp rimentalement mais devra tre am lior e pour tre ventuellement industrialisable et commercialisable notamment en termes de poids de consommation lectrique et d ergonomie Ainsi il conviendra d apporter au moins ces modifications Choisir une batterie d un format standard et facilement trouvable dans le commerce Int grer les circuits externes propres l afficheur au microcontr leur et au cellulaire directement au PCB Choisir des composants mont s en surface notamment pour les interfaces du clavier Utiliser des circuits basse consommation comme la famille 74HC au lieu de TTL comme la famille 74LS Pr voir un bo tier esth tique r sistant et manipulable facilement 43 CHAPITRE 5 MISE EN UVRE LOGICIELLE 5 1 Architecture Les tapes de d veloppement logiciel ont t les suivantes chaque ajout d un nouveau composant mat riel le d veloppement des pilotes bas niveau et d une l g re application de test a t effectu Une fois tous les composants int gr s une rapide applicat
75. le nombre de 22 broches utilis es du microcontr leur quitte complexifier l lectronique d interface C est le choix qui a t r alis Interfagage des touches Pour interfacer les touches du clavier on a donc choisi des registres d calages fonctionnant par SPI Ainsi le microcontr leur pourra gr ce au 74LS164 crire sur les lignes du clavier et gr ce au 74LS165 lire sur les colonnes Dans le but d obtenir les signaux souhait s on utilise un inverseur 74HC04 comme pr cis dans le sch ma Figure 4 3 ci dessous Il est conseill au lecteur de consulter les datasheets des composants ci nomm s KEYBOARD gag SWITCH REDI 14 BLUE s Sz Oo SR im x8 Ces SWITCH4E Z RA Ott Res SC CS BLUE4 et CS GREENS D HG 7415165 GND4 GND3 GND2 GND1 Figure 4 3 Sch ma lectrique des interfaces du clavier touches seulement Pour d tecter une touche press e on r alise un balayage de la matrice de contacts form e par le clavier Pour cela on vient crire des 1 successivement sur chaque ligne i les autres lignes tant 0 La d tection d un 1 sur une colonne j viendra indiquer que la touche ligne i colonne j a t press e les autres colonnes tant O La d tection de l appui d une touche se fait en 5 tapes soit 5 cycles d criture lecture sur le port SPI Pour un n cycle donn on crit sur le port SPI l aid
76. me sugg r dans NGUYEN et coll 2001 table 4 un module cellulaire permettant de prendre en charge les communications avec le r seau cellulaire Afin d apporter un plus il est souhait que ce module permette une g olocalisation l aide d un GPS L utilit de la g olocalisation est notamment mise en vidence dans KAASINEN 2003 An efficient way of improving the usability of mobile services and applications is to adapt the contents and presentation of the service to each individual user and his her current context of use In this way the amount of user interaction will be minimised the user has quick access to the information or service that s he needs in his her current context of use The information can even be provided to the user automatically KAASINEN 2003 un cran assez lumineux pour permettre une lecture relativement facile des usagers pr sentant des troubles de la vision comme galement sugg r dans NGUYEN et coll 2001 table 4 un clavier dont les boutons sont suffisamment gros et espac s pour pouvoir tre manipul par des personnes pr sentant une dext rit r duite The size of the phone body was identified as important Larger phones are easier to hold Phones considered too thin or those having a small keypad due to thinness were not preferred by participants SMITH JACKSON et coil 2003 un haut parleur permettant une sortie sonore avec un
77. n est appuy e Bien que l on ait appliqu des 1 successivement chaque ligne aucune touche n est appuy e donc les colonnes sont 5V gr ce aux r sistances de pull up en aval MISO est donc 1 en permanence et aucun appui de touche n est d tect Si la touche 2 est appuy e Une touche appuy e revient tablir un contact entre la ligne et la colonne correspondantes ligne 1 colonne 2 dans notre cas Ainsi sur la broche permettant de lire la colonne 2 on retrouve ce qui a t crit dans la ligne 1 en Le composant 74LS165 sert alors lire sur les colonnes les signaux et en forme une trame appel e MISO qui sera lue lors du prochain change criture lecture SPI L interfagage du clavier sur le port SPI est ainsi fait Les d tails concernant la reconnaissance des touches partir de la trame MISO seront abord s dans la section Mise en uvre logicielle 25 Interfa age des LEDs Pour les LEDs un principe similaire l interfa age des touches est utilis En effet des registres d calage permettent d allumer ou teindre ind pendamment chacune des LEDs partir d une trame MOSI provenant du microcontr leur Le clavier est compos de LEDs tricolores R B G mais on pilote chaque couleur ind pendamment On consid rera donc que chaque touche a 3 LEDs distinctes une rouge une bleue et une verte SE EH SR ban GI GA GA 2 i i e RED RED o RED
78. n oscilloscope que la trame sur la broche SDA avec les r sistances de pull up correspond effectivement a octet envoy 5 4 Developpement des boites a outils interm diaires 5 4 1 Bo te outils relative au module cellulaire Afin de communiquer avec le module cellulaire deux broches d entr e sortie du microcontr leur seront n cessaires en plus de l UART1 Initialisations L initialisation du module cellulaire n cessite les tapes suivantes TABLEAU 5 8 TAPES D INITIALISATION DE L AFFICHEUR CE EE Fonction appel e Initialisation de PUART1 vartlinit Initialisation des broches d entr e sortie vers le cellulaire PINSEL1 IODIR IOSET Ces tapes sont regroup es dans la fonction void InitCell void Voici le d tail des initialisations des diff rentes broches TABLEAU 5 9 INITIALISATION DES CONNEXIONS VERS LE MODULE CELLULAIRE Broche microcontr leur Connexion Fonction Broche cellulaire Initialisation Pos Allume teint le bouton Surveille le statut allum PWRMON I teint du cellulaire P0 27 PWRMON 36 Gestion de l alimentation Entr e IODIR amp 0XF7FFFFFF Le module cellulaire s allume l aide d un appui dau moins une seconde sur le bouton poussoir d di Cela correspond ce qui est mentionn dans TELIT 2007hw aux pages 19 23 la broche ON OFF du module cellulaire doit tre m
79. nday June 16 2008 Sheet Figure A 2 Sch ma lectrique global Microcontr leur et p riph riques 2 95 d rye D H D VIN VOUT GND FC x i A h a C2 1 H R2 ON OFF MG oN NG 10uF 4V 10k 5 i i U3_BC847BW fk B 2 oa FE S Rides 3 x NC NC CHE NC F cel as NC NC 10uF 4 1k 5 MCE i i We e MOL f Me m MIC 1 Electret Microphone i R6 i 1 R a i R11 c12 100nF 16V C13 100nF 16V C15 100nF 16V 100nF 16V 1uF 6 3V Figure A 3 Sch ma lectrique global GM862 et interface audio 1 96 c1 100nF 16V p f 47k i i U2A H R3 LM6132 100nF 16V 15k Sri Le z EN 4 i 1 C4 it R4 i t 100nF16V 180k toy i t d H 1 1 1 l i i E er Ser c7 1 Ce A 3V 270pF 1 100nF 16V Fa en ion ee le th H U2B ca i R7 LM6132 100nF 16V g 1 R9 ca Re 180k 100nF 16V 47k en d t H t C10 el tenses cen ten 270pF a awe ee EAR MI le Sh mas lectriques de la partie audio pour le module GM862 GPS Size Document Number R CustpmAlexandra Ferrer Universit de Sherbrooke ate Wednesday April 09 2008 Sheet H o 2 i i i 1 t U i 1 i H t DH D HU i lt CEAR__MT i D H F DH d DH 1 i H H DH DH l i t 1 D 1 Figure A 4 Sch ma lectrique global GM862 et interface audio 2 97 FRUCHTERMAN 2003 GILL 199
80. nfigCell void void DialGSM unsigned char pPhoneNb void HangUpGSM void L ensemble du traitement des commandes AT ne sera pas d taill ici puisque toutes les informations n cessaires sont disponibles la r f rence TELIT 2007at Envoi d une commande et r ception de la r ponse La fonction askGM862 est charg e de dialoguer avec le module cellulaire En effet c est elle qui envoie une commande et en attend la r ponse Cette op ration se d roule en plusieurs tapes Prise d un s maphore afin de pouvoir acc der au module cellulaire la gestion des s maphores sera d taill e ult rieurement dans la section 5 5 3 Envoi de la chaine de caract res correspondant la commande suivie du caract re Retour Chariot ou Carriage Return ou r Attente caract re par caract re des informations renvoy es par le module cellulaire sur le port s rie jusqu d tection du caract re signalant la fin de transmission Retour Chariot Lib ration du s maphore d acc s au cellulaire La r ponse est stock e dans une chaine de caract res point e par response et r initialis e 0 avant chaque attente de r ponse La portion de code pertinente de la fonction askGM862 figure ci dessous 52 OSSemPend AccessToCellSem 0 amp err Ask for semaphore no timeout uart1Puts request Send command to GM862 with UART uartiPuts r for i 0 i lt 40 i
81. nt p nibles il est int ressant de les optimiser en limitant la distance parcourue par exemple Assistant Mobile Se d placer dans un environnement non familier Optimiser la distance parcourue pour un trajet Trouver l emplacement d une adresse civique Utilisateur Figure 6 6 Cas d utilisation pour connaitre les instructions pour parcourir un trajet 77 Autres am liorations possibles Il serait int ressant d associer ou de compl ter la localisation GPS avec la localisation par triangulation des cellules GSM En effet une cellule GSM tant de taille relativement restreinte surtout en zone urbaine il est possible par recoupement des informations provenant de plusieurs cellules contig es de connaitre la position d un utilisateur de fa on assez pr cise Il serait galement souhaitable de disposer d une vraie interface avec l utilisateur comprenant l acc s un r pertoire t l phonique la r daction de SMS des fonctionnalit s de r veil alarme etc Tout ceci est possible de fa on assez simple avec le module cellulaire Il est par ailleurs possible d utiliser l interpr teur Python et les entr es sorties du module cellulaire afin de faciliter les changes avec le microcontr leur Un guidage l aide des LEDs du clavier pourrait aider l utilisateur dans le choix des touches Par exemple si on souhaite que celui ci valide ou annule un choix on pourrait allumer la touche OK en vert et
82. nterpKeyKeyboard qui partir du tableau ByteRec renvoie lID de la touche lue Si aucune touche n est reconnue la fonction renvoie 99 Si on d tecte lappui d une touche mais que ByteRec ne correspond aucune touche connue la fonction renvoie 0 a Pour simplifier cette fonction utilise le tableau Tableau 5 16 afin de trouver la correspondance entre ByteRec et lID Dans un deuxi me temps on utilise une portion de la fonction ReadKeyboard afin de r aliser une fonction anti rebonds logicielle Pour cela on stocke les ID renvoy es par la fonction InterpKeyKeyboard dans des ID temporaires Ainsi 59 DD old old ID old Debounce ID n 2 ID n 1 ID old ID Debounce ID n 1 ID n ID InterpKeyKeyboard ByteRec Nouvel ID if ID old old 99 amp amp ID old ID S ID gt 0 S ID lt NB KEYS Is Key ID a newly pressed key ID Do necessary actions Les conditions remplir pour valider un appui touche sont les suivantes Sila lecture d il y a 2 cycles a montr qu aucun appui n tait en cours Et si la lecture du cycle pr c dent ainsi que la lecture du cycle en cours montrent qu une m me touche a t appuy e Et si lID correspond une touche connue 1 16 Les actions effectu es en cas de d tection d une touche seront abord es dans la section Application 5 5 Mise jour des LEDs Les explications qui suivent sont dans la continuit
83. oduire publier archiver sauvegarder conserver transmettre au public par telecommunication ou par l Internet pr ter distribuer et vendre des th ses partout dans le monde a des fins commerciales ou autres sur support microforme papier lectronique et ou autres formats L auteur conserve la propri t du droit d auteur et des droits moraux qui prot ge cette th se Ni la th se ni des extraits substantiels de celle ci ne doivent tre imprim s ou autrement reproduits sans son autorisation In compliance with the Canadian Privacy Act some supporting forms may have been removed from this thesis While these forms may be included in the document page count their removal does not represent any loss of content from the thesis Canada Conform ment la loi canadienne sur la protection de la vie priv e quelques formulaires secondaires ont t enlev s de cette th se Bien que ces formulaires aient inclus dans la pagination il n y aura aucun contenu manquant R SUM L ONU estime 650 millions le nombre de personnes besoins sp ciaux soit presque 11 de la population mondiale En Europe on estime 1 million le nombre de personnes ne pouvant pas utiliser leurs doigts 12 millions ceux ayant une vue d ficiente et 80 millions les personnes pr sentant des troubles de l audition La derni re d cennie a vu un r el essor des technologies lectroniques et informatiques miniaturis es not
84. ommandes envoy es concernant la fonctionnalit GPS du module cellulaire La nature de la r ponse est identifi e par un num ro Contient le dernier appui touche d tect sur le clavier La touche press e est identifi e gr ce un pointeur sur la structure de touches GPSMbox KBDMbox S maphores KBD Status Updater Task KBD Key Task On identifie les differents semaphores n cessaires TABLEAU 5 22 SEMAPHORES CREES POUR L APPLICATION Permet de r guler l acc s au module cellulaire En Fonctions de la Fonctions de AccessToCellleffet il est n cessaire d attendre ouunel DO ce lajronclions ce a d it S lat t td boite a outils boite a outils commande soit envoy e compl tement avant d en Ju cellulaire du cellulaire envoyer une autre Permet la comptabilisation facile du temps pour la Keyboard t che TimeOut Task gr ce la possibilit de TimeOut Task Status Updater limiter le temps d attente d un s maphore Task Timeout Sem 68 5 5 4 Fonctionnalit s Plus le chiffre correspondant la priorit d une t che est faible plus cette t che est prioritaire Ainsi en r gle g n rale plus une t che doit tre effectu e souvent plus on lui assigne une priorit lev e et donc un chiffre faible C est d autant plus vrai que dans notre cas il faut scanner les touches du clavier l aide de KBD Key Task intervalles tr s r guliers afin de ne pas rater la d t
85. on puisque quand le cellulaire est teint et que le reste est en veille la consommation lectrique de l ensemble est tr s minime Ajout de nouveaux p riph riques Par exemple imaginons qu un d veloppeur souhaite ajouter une nouvelle interface permettant de commander le t l phone par un simple contacteur Il suffirait alors de 73 d velopper les pilotes bas niveau puis les fonctions appel es dans ce document bo tes outils utilisant ces pilotes Enfin l int gration haut niveau pourra probablement se faire en cr ant une nouvelle t che ex cution p riodique dans le programme principal La communication avec les autres sections du programme pourra se faire par bo tes aux lettres par exemple Ajout d une alternative la technologie GPS Le signal GPS ne p n trant pas les b timents l ajout d un composant permettant de poursuivre la localisation tel qu un MEMS ou autre micro centrale inertielle permettrait de compenser cette absence temporaire de signaux On peut galement imaginer utiliser une autre technologie de localisation restreinte un b timent comme dans un centre d achat mais n cessitant malheureusement l installation d une infrastructure co teuse Ajout de boutons facilitant la navigation Il pourrait tre galement int ressant dans une version future de disposer des boutons de part et d autre de l cran afin de pouvoir l aide du texte affich l cran guider l utilisateu
86. posants ll convient de pr ciser que la mise en uvre mat rielle n a pas t de directement produire un circuit imprim partir des sch mas lectriques En effet l assemblage de tous les composants mat riel a t progressif partant dans un premier temps du microcontr leur et de l cran puis les ajouts successifs du clavier et du t l phone sur breadboard plaque trous de prototypage rapide 4 2 Sch mas lectriques 4 2 1 Microcontr leur LPC2106 Connexions Utilisation des broches d entr es sorties TABLEAU 4 1 UTILISATION DES BROCHES D ENTREE SORTIE DU MICROCONTROLEUR are PG UARTO D Transmission Ordinateur via CP2102 SCL Serial CLock P03 SDA Serial DAta l SCK Serial ClocK SPI MISO Master In Slave Out PO 6 MOSI Master Out Slave In SSEL Slave SELect Afficheur VFD2041 Clavier touches et LEDs 20 UART1 Module cellulaire GM862 GPS Sp ce Gees ouer Clavier touches et LEDs 5V 1 3 3V JMP LO EXE AB o 18 i JMP ON OFF A Figure 4 1 Sch ma lectrique du microcontr leur LPC2106 Les d tails sur l utilisation des signaux ci dessus seront abord s dans les sections correspondant aux p riph riques concern s Tests Afin de tester l alimentation et le bon fonctionnement du microcontr leur il est possible de charger une simple application faisant clignoter une
87. r l image de certains distributeurs automatiques de billets de banque Figure 6 1 Boutons d un distributeur automatique de billets de banque 74 6 2 2 Extensions logicielles Pour le moment sont seulement impl ment es les fonctions mentionn es dans la section 6 1 2 Cependant on peut imaginer de tr s nombreuses applications la plateforme Pour cela on dispose de la possibilit de connaitre les coordonn es GPS ainsi que d une connexion GPRS data fournie par le module cellulaire Ainsi on va pouvoir utiliser par exemple soit une API Google Maps Microsoft MapPoint Web Service ou tout autre serveur similaire soit un serveur maison de type Apache Tomcaf Voici un diagramme de cas d utilisation possible Assistant Mobile Demander les noms des rues avoisinantes Demander des points d int r t proximit tre guid pour parcourir un trajet Utilisateur Figure 6 2 Cas d utilisation des services web de g olocalisation Les architectures pourraient tre une des suivantes Connexion GPRS avec coordonn es GPS POST CoordGPS R ponse Figure 6 3 Architectures possibles pour des services de g olocalisation Google Maps http maps googjle ca 2 Microsoft MapPoint Web Service http Avww microsoft com mappoint products webservice default mspx s Apache Tomcat http tomcat apache org 75 Un article sugg re ce besoin Once a device is a
88. r la d tection de l appui d une touche 24 Tableau 4 3 Logique dans le nommage des LEDs du clavier VV 27 Tableau 4 4 Table de v rit pour les anodes des LEDs 28 Tableau 4 5 Table de v rit pour les cathodes des LEDs 28 Tableau 4 6 Table de v rit l allumage des LEDs 31 Tableau 4 7 Calcul du gain apporter par l amplificateur d entr e audio 36 Tableau 4 8 Valeur des composants pour l amplificateur d entr e audio 36 Tableau 4 9 Tensions et courants d alimentation des principaux composants 0 39 Tableau 5 1 Param tres d initialisation des UARTS AANEREN 46 Tableau 5 2 Param tres d initialisation du DUS GP 46 Tableau 5 3 Configuration des broches d entr e sortie pour le bus SP 47 Tableau 5 4 Configuration du registre SPI Control Register 47 Tableau 5 5 Param tres d initialisation du port IC ss 48 Tableau 5 6 Configuration des broches d entr e sortie pour le bus fC 49 Tableau 5 7 Configuration du registre FC Control Set Register kk 49 Tableau 5 8 tapes d initialisation de l afficheur Re S Te 50 Tableau 5 9 Initialisation des connexions vers le module cellulaire 51 Tableau 5 10 Initialisation des param tres internes du module cellulaire 93 Tableau 5 11 tapes d initialisation de l afficheur 54 Tableau 5 12 Initialisation de la structure de
89. r les diff rentes t ches Lire message appui touche appel CellReqsMbox Supprimer D tecter Touche dernier chiffre Appeler DialGSM Supprimer tous les appel en cours chiffres entr s appui touche D tecter Touche Poster message appel CellReqsMbox R alis par la tache Main Task Appeler HangUpGso R alis par la t che Main Task Lire message Poster message hang up hang up GSMMbox GSMMbox R alis par la t che Cell Send Command Task Figure 5 7 Diagramme d activit placer un appel 70 T ppur touehg Lire message P SMS lt chiffre gt D tecter Touche Cel 1ReqsMbox touche fs appui touche Poster message SMS sent D tecter Touche SMSMbox Appeler SendSMS R alis par la t che touche Cell Send Command Poster message Lire message appel SMS sent CellReqsMbox GSMMbox R alis nar la t che R alis var la t che Main Task Main Task Figure 5 8 Diagramme d activit envoyer un SMS Ee touche Lire message Lire message gt GPS position GPS position D tecter Touche CellReqsMbox GPSMbox Appeler GetPosGPS Poster r ponse GPS position Poster message GPSMbox appel CellReqsMbox R alis nar la R alis par la t che R alis nar la t che t che Main Task Cell Send Command Main Task Figure 5 9 Diagramme d activit
90. rfois morale Il convient de souligner l importance de l appui financier de la Facult de G nie ainsi que de la Fondation de l Universit N oublions pas non plus le soutien moral de mon conjoint et de ma famille qui a suivi l avancement de ce projet distance SOMMAIRE 4 e E E E E E EE E E ii 2 ere iii Soe S MM rO oren eaae ccs a a EE iv 4 Liste des 2 UE vi S Liste des CU EE viii GB E S UU A E A A nisEl x 27 MER OCU CTION EE 1 2 tat de l art et besoins csscecsscccsscessscerescersscersscececescenencecceesteersteersareceersecsrseueeussnesoesanes 3 2 1 INTTOdUCHON EE EE 3 2 2 Analyse bibliographique serres 3 2 2 1 Article sur l valuation des besoins des usagers dans la t l phonie mobile 3 2 2 2 Article sur adaptation des technologies existantes pour les personnes avec des handicaps Ke 5 2 3 Besoins recens s nimes nes men Are nine see tenu s rie 7 2 4 EISE eet urbains them ean ois entente 9 2 5 Technologies existantes n entendre rite tenait state 10 A Plateforme mat rielle et logicielle ssssssssenenemmmnmnnnnnsss 11 3 1 lee Tee ET SE eg 11 3 2 Composants mat riels ss 11 etc SCHEMA globali ergeet eher 11 3 2 2 Module cellulaire GM862 GPS iii 12 3 2 3 Mi rocontr leur LPG2106 5 ann antenne etaient 13 3 2 4 ET EE 15 3 25 EE EE 16 KE E la El EE 17 3 3 Composants logiciels AAA eet ed Seege 18 ZT OSMEMPS 1eehveicdccrticte aide int aime en Ni tn dre een tte 18
91. s touches du clavier 56 Tableau 5 13 Organisation des trames SPI pour la d tection de l appui d une touche 57 Tableau 5 14 Organisation des donn es pour la d tection de l appui d une touche 57 Tableau 5 15 MISO attendu en fonction de la colonne AANER 58 Tableau 5 16 Obtention de l ID d une touche partir de ByteRec ENNEN 59 Tableau 5 17 tapes d initialisation de l afficheur cccccecccescscescssesccesteesseeassassesseseesees 62 Vill Tableau 5 18 Envoi de la commande Move Cursor Back l afficheur 63 Tableau 5 19 Construction du caract re sp cial pour l afficheur 64 Tableau 5 20 T ches cr es pour l application ss 67 Tableau 5 21 Boites aux lettres cr es pour l application ec cceccsteeeeeeeeeeeeeeeeeeneees 68 Tableau 5 22 S maphores cr s pour l application 68 API AT AT CR DC GPIO GPRS GPS GSM PC ISR LED OS PCB PLL SMS SPI TVS UART USB WAP LEXIQUE Augmentative and Alternative Communication Application Programming Interface Assistive Technology ATtention utilis dans les Commandes Hayes pour modem Carriage Return Direct Current General Purpose Input Output General Packet Radio Service Global Positioning System Global System for Mobile communications Inter Integrated Circuit
92. sS UNIVERSIT DE SHERBROOKE Facult de G nie D partement de G nie Electrique et de G nie Informatique R ALISATION D UN ASSISTANT MOBILE EXP RIMENTAL POUR USAGERS BESOINS SP CIAUX M moire de ma trise s sciences appliqu es Sp cialit g nie lectrique Composition du jury Daniel Dalle Philippe Mabilleau Bessam Abdulrazak Alexandra FERRER Sherbrooke Qu bec Canada 18 septembre 2008 Av 140 5 ivi Library and Archives Canada Published Heritage Branch 395 Wellington Street Ottawa ON K1A ON4 Canada NOTICE The author has granted a non exclusive license allowing Library and Archives Canada to reproduce publish archive preserve conserve communicate to the public by telecommunication or on the Internet loan distribute and sell theses worldwide for commercial or non commercial purposes in microform paper electronic and or any other formats The author retains copyright ownership and moral rights in this thesis Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author s permission Biblioth que et Archives Canada Direction du Patrimoine de l dition 395 rue Wellington Ottawa ON K1A ON4 Canada Your file Votre r f rence ISBN 978 0 494 49498 1 Our file Notre r f rence ISBN 978 0 494 49498 1 AVIS L auteur a accord une licence non exclusive permettant a la Bibliotheque et Archives Canada de repr
93. sera d taill la section 4 2 3 Figure 3 6 Clavier Button Pad 4x4 3 2 6 Alimentation La conception de l alimentation du syst me est de toute premi re importance puisque c est elle qui donnera l ensemble de la plateforme un caract re portable En effet il est difficilement concevable d avoir un t l phone cellulaire n cessitant d tre en permanence reli par un fil une alimentation continue fixe 1 Sparkfun Electronics http Avww sparkfun com 17 Le module cellulaire tant dot d un chargeur de batterie en interne ce dernier sera utilis II faut donc une batterie Lithium lon 3 7V La capacit de la batterie devra tre assez lev e compte tenu du nombre de composants alimenter et surtout compte tenu de la consommation lectrique de l afficheur Le choix se porte sur une batterie Varta Lithium Polym re 3 7V et de capacit 2200mAh ainsi qu une alimentation r gul e 5V 400mA pour recharger cette batterie Image Newark Figure 3 7 Photos de la batterie Varta Lithium Polymer 3 7V 2200mAh Les d tails concernant la mise en uvre de cette batterie ainsi que la consommation en courant de chaque composant feront l objet de la section 4 2 6 3 3 Composants logiciels Si les composants mat riels ont t choisis en premier de par leur pertinence vis vis des sp cificit s des usagers il convient d tablir une strat gie en termes de logiciel 3 3 1 OS temps r
94. si on reprend le principe de fonctionnement voqu dans la section 4 2 3 P4 P7 sont toujours 1 gr ce aux r sistances de pull up Cependant pour une raison non identifi e il y a toujours un d calage de 1 bit dans MISO par rapport ce qui est attendu Ainsi MISO correspond toujours P6 P5 P4 P3 P2 P1 PO 1 alors qu il devrait correspondre P7 P6 P5 P4 P3 P2 P1 PO Le tableau ci dessous tient donc compte de cette anomalie TABLEAU 5 15 MISO ATTENDU EN FONCTION DE LA COLONNE Si aucun appui Si appui col 1 P Si appui col 2 Si appui col3 Si appui col 4 PO P1 P2 P3 Po P1 P2 P3 P0 P1 P2 P8 po P1 P21P3 P0 P1 P21P3 Ps tee RES SSES ES RES IS ROSS ETIENNE RES 1111 1101 253 La figure ci dessous permet d illustrer le tableau pr c dent Colonne 1 Ir Colonne 2 Colonne 3 Colonne 4 Figure 5 4 Chronogrammes pour l identification d une touche 58 Ainsi pour r sumer TABLEAU 5 16 OBTENTION DE L ID D UNE TOUCHE A PARTIR DE BYTEREC Trame 2 Trame 3 Trame 4 Trame 5 1 GE Lecture MOSI ignorer Du point de vue du code on utilise une machine tats finis dont l tat change chaque coup du Timer1 Le code de cette portion est disponible en Annexe la section 0 Interpr tation de la touche lue L interpr tation de la touche obtenue se fait en 2 tapes Dans un premier temps on utilise la fonction I
95. sp ciaux tels que a Cependant l utilisateur a la possibilit de cr er ces caract res Pour commencer il convient d envoyer les commandes OxXFE 0x4E refID data en hexad cimal ref ID est la r f rence du caract re sp cial et data contient le dessin de ce caract re 63 Prenons l exemple du caract re pour lequel on attribuera l ID 1 La chaine data est la suivante TABLEAU 5 19 CONSTRUCTION DU CARACTERE SPECIAL a E POUR L AFFICHEUR Caract res hexad cimaux envoyer Construction du caract re Ainsi les commandes PC envoyer pour initialiser le caract re seront OXFE Ox4E 0x01 0x02 0x04 OXOE 0x11 OX1F 0x10 OXOE ll en va de m me pour les autres caract res sp ciaux A noter qu il est d conseill d initialiser un caract re avec l ID 0 le caract re ainsi initialis s affichera en position 1 1 de fa on al atoire et involontaire Il est possible d initialiser 7 caract res 1 7 Une fois tous les caract res souhait s initialis s il convient de charger ces caract res l aide de la s quence suivante OXFE 0xCO 0x00 Pour r aliser cette op ration d initialisation il existe la fonction suivante void InitAccentsDisplay void L utilisation de ces caract res sp ciaux est la suivante chaque caract re que l on souhaite envoyer une fonction d di e regarde si ce caract
96. ssnanseeseceeesessssseseseeneneesenegs 17 Figure 3 7 Photos de la batterie Varta Lithium Polymer 3 7V 2200mAh 18 Figure 3 8 Logo Elte EE 19 Figure 4 1 Sch ma lectrique du microcontr leur LPC2106 cccccccccccceessssesessneaeeeeeees 21 Figure 4 2 Sch ma lectrique de la connexion de l afficheur VFD2041 ceeceeeeeeeneees 22 Figure 4 3 Sch ma lectrique des interfaces du clavier touches seulement 23 Figure 4 4 Trames d criture SPI pour la d tection d une touche 24 Figure 4 5 Trames de lecture SPI pour les touches aucune touche appuy e 02 25 Figure 4 6 Trames de lecture SPI pour les touches touche 2 appuy e sceeeseeeeees 25 Figure 4 7 Sch ma lectrique du clavier 26 Figure 4 8 Sch ma lectrique des interfaces du clavier LEDs seulement 27 Figure 4 9 Trames d criture SPI pour les LEDs aucune LED allum e AAA 29 Figure 4 10 Trames d criture SPI pour les LEDs une LED allum e 30 Figure 4 11 Sch ma lectrique du module cellulaire GM862 GPS 32 Figure 4 12 Sch ma global de l interface audio 33 Figure 4 13 Sch ma lectrique de l entr e audio microphone s eeeeeeeeeeeeeeeeeteeees 34 Figure 4 14 Sch ma lectrique de l entr e audio amplificateur 35 Figure 4 15 Caract ristiques de l entr e audio du module cellul
97. sur les valeurs des composants R3 R4 R7 R9 C7 et C10 tel que vu a la page 51 du document TELIT 2007hw Ry RK 1 1 gain et C Co ge 4 6 R R 2nxR x4000Hz 27 x R x 4000 Hz Ge o 4000Hz est la bande passante approximative souhait e TABLEAU 4 8 VALEUR DES COMPOSANTS POUR L AMPLIFICATEUR D ENTREE AUDIO Entr e du module MIC_HF 30 9 dB RE EE oo Ainsi avec les valeurs des composants mentionn es ci dessus on obtient un amplificateur adapt nos besoins 36 Sortie audio Ce montage est destin a un haut parleur de type oreillette Il a EAR MI du module GM862 GPS R11 56k 5 C15 100nF 16V 100nF 16V R13 Rt4 155 15 5 Figure 4 16 Sch ma lectrique de la sortie audio son entr e la sortie C12 100nF 16V C13 100nF 16V i 1 1 CAR MT CEAR MT Le haut parleur doit avoir une imp dance nominale de 160 Il convient d loigner autant que possible le microphone et le haut parleur afin d viter autant que possible Effet Larsen Tests Un simple test consiste connecter les interfaces audio au module cellulaire piloter ce dernier depuis un mulateur de terminal sur l ordinateur et effectuer un appel On peut galement tester les circuits en connectant la sortie de l amplificateur du microphone a l entr e de l amplificateur du haut parleur Wikipedia Effet Larsen http fr wikipedia org wik
98. ut aussi importante de solutions apporter pour que la plateforme r ponde r ellement aux besoins de chacun A terme un produit fini rendant service ceux qui n auraient pas pu avoir acc s la technologie cellulaire et la g olocalisation autrement pourra voir le jour 80 ANNEXES A 1 Prototypes des fonctions principales Le code et les commentaires tant en anglais on conservera cette langue pour les prototypes des fonctions A 1 1 Pilotes bas niveau UARTs Figurent ici uniquement les fonctions pour UARTO mais celles de l UART1 sont identiques void uart0Init INT16U baud INT8U mode INT8U fmode Description This function initializes the UART for asynchronous mode baud jbaudrate use macro in uart h Arguments mode number of bytes parity number of stop bits see modes in uart bi fmode FIFO mode see fmodes in uart h Retour voia int uart0Putch int ch Description This function puts a character into the UART output queue for transmission character to be transmitted Retour ch on success 1 on error queue full const char uart0Puts const char string This function writes a NULL terminated string to the UART output queue Description returning a pointer to the next character to be written address of the string Retour string a pointer to the next character to be written 0 if full string is written int uart0Getch void Description i ion gets a character from the UART rec
99. y Cycle Register Low Half Word Le bus PC servant uniquement communiquer avec l afficheur il convient de d cider quelle vitesse on souhaite cette communication L afficheur supporte une vitesse allant jusqu 400 Kbps selon MO 2006 page 16 mais dans notre cas on a choisi la vitesse par d faut de 19 2kHz selon MO 2006 table 2 page 15 De ce fait les registres a configurer sont tels que CCLK FOSCxM 14 7456 10 x4 Eeer l Crate y I Crate my L Crate 19200 Ainsi I2C_I2SCLL I2C_I2SCLH 1536 5 3 Finalement pour le registre 2C Control Set Register on le configure de la fa on suivante TABLEAU 5 7 CONFIGURATION DU REGISTRE IC CONTROL SET REGISTER Bit de Fonction Valeur choisie 1 0 R serv Assert Acknowledge Flag Si 0 pas d utilisation de ce drapeau Si 1 utilisation WE eae IC Interrupt Flag Si 0 pas d utilisation de ce drapeau Si 1 utilisation STOP Flag Si 0 pas d utilisation de ce drapeau Si 1 utilisation START Flag Si 0 pas d utilisation de ce drapea Si 1 utilisation IC Interface Enable Si 0 fonctions PC d sactiv es Si 1 fonctions IC activ es 7 R serv Ee 49 Utilisation Sont la disposition de l utilisateur les fonctions suivantes SendAddressI2C ReadI2C WriteI2C WriteStringI2C et StopI2c Tests Un test simple consistera a crire un octet sur le port PC et v rifier l aide d u
Download Pdf Manuals
Related Search
Related Contents
548KB Sika® Level-02 PrimerCA guarde estas instrucciones MANUEL D`UTILISATION BROYEUR THERMIQUE LSG2506 取扱説明書 PYーD537 Philips FM04FD02B User's Manual MALATHION 85 E Copyright © All rights reserved.
Failed to retrieve file