Indice generale
1) Introduzione...6
1.1) Breve descrizione del progetto...6
1.2) I plotter cartografici...8
1.3) Lo stato dell'arte...10
2) Fasi di progetto...12
2.1) Specifiche funzionali...13
2.2) Valutazione delle alternative...14
2.2.1) Realizzazione della parte Bluetooth...14
2.2.2) Scelta del puntatore...16
2.3) Scelta di massima dei componenti...18
2.3.1) Modulo radio...18
2.3.2) Antenna...20
2.3.3) Puntatori...21
2.3.3.2) Switch...21
2.3.3.3) Puntatore a effetto Hall...22
2.3.3.3) Puntatore ottico...25
2.3.3.4) Confronto preliminare dei puntatori...28
2.3.4) Encoder...28
2.3.6) Matrice dei tasti...30
2.3.6) Processore...34
2.3.7) Alimentazione...35
2.4) Realizzazione del primo prototipo...38
2.4.1) Descrizione circuitale...38
2.4.2) Elementi aggiuntivi...39
2.5) Implementazione del firmware...41
2.5.1) Struttura generale...41
2.5.2) Inizializzazione...43
2.5.2) Idle task...46
2.5.3) Tick hook routine...47
2.5.4) Bluetooth task...49
2.5.4.1) Ricezione o trasmissione dati UART...52
2.5.4.2) Trasmissione dati del mouse...54
2.5.4.2) Wake up Ack...56
2.5.4.3) Processo dello stack...57
2.5.4.4) Timers dello stack...58
2.5.5) Gestione N40P...60
2.5.5.1) Problematiche N40P...60
2.5.5.2) Gestione della modalità di funzionamento...66
2.5.5.3) Interfaccia I2C...67 2.5.5.4) Inizializzazione...68 2.5.5.5) Routine di interrupt...69 2.5.5.6) Task principale...70 2.5.6) Gestione OFM...71 2.5.6.1) Problematiche OFM...71 3
2.5.6.2) Gestione della modalità di funzionamento...72
2.5.6.3) Interfaccia I2C...73
2.5.6.4) Inizializzazione...74
2.5.6.5) Routine di interrupt...74
2.5.6.6) Task principale...74
2.5.7) Gestione matrice dei tasti...76
2.5.7.1) Routine di interrupt...76
2.5.7.2) Task principale...81
2.5.8) Gestione encoder...83
2.5.8.1) Routine di interrupt...84
2.6) Analisi delle prestazioni...88
2.6.1) Tempi di elaborazione...88
2.6.2) Scelta del puntatore...91
2.6.2.1) Semplicità del firmware...91
2.6.2.2) Ergonomia...92
2.6.2.3) Qualità del movimento...92
2.6.2.4) Tempi di elaborazione...93
2.6.2.5) Confronto finale e scelta...94
2.6.3) Costi...95 2.6.4) Consumi...96 2.6.4.1) Consumo a riposo...97 2.6.4.2) Consumo dinamico...99 3) Conclusioni...100 4
4) Appendice...101
4.1) Evaluation board...101
4.2) Schemi circuitali...103
4.3) Firmware...107
4.3.1) Database SDP...107
4.3.2) Macchina a stati della tastiera...112
4.3.3) Interfaccia I2C...117
4.3.4) Algoritmo N40P...120
4.3.4) Task principale: BTTask...123
4.4) La tecnologia bluetooth...126
4.4.1) Introduzione...126
4.4.2) Architettura dello standard...127
4.4.3) Profilo HID...129
4.4.4) Bluetooth 4.0...129
4.5) Processori low power MSP430...131
4.5.1)Caratteristiche...131
4.5.2)Gestione del risparmio energetico...132
4.6) Interfacce seriali...134
4.6.1) UART ...134
4.6.2) I2C...135
4.7) Sistemi operativi real time...137
Indice delle illustrazioni...139