
Degree Final Project by Daniel Flores Tafur Implementation of an audio player prototype Mentored by Juan Climent FIB, UPC 2014 1 0. Abstract This document describes implementation of an audio player prototype based on STM32F4 platform (ARM architecture). The development of audio prototype is put in the context of developing a commercial product based on Open Hardware model, which emerged in recent years. The viability of finished product is analyzed, as well as potential market for Open Hardware products in general. The software implementation for Mikromedia+ (manufactured by Mikroelektronika) development board is discussed in detail and also provided entirely, licensed under Open Source license (BSD 2-clause). 2 Table of contents 1. Introduction.............................................................................. 7 1.1 General purpose of this project............................................................7 1.2 Acknowledgments ...............................................................................8 2. Defining specifications............................................................. 9 2.1 The context ..........................................................................................9 2.2 Different types of consumers.............................................................10 2.3 General specifications........................................................................12 2.4 BIG VS little architectures.................................................................13 2.5 The business model for the future product ........................................18 2.6 Choice of license................................................................................21 2.7 Basic goals of the project and required functionality of prototype ...22 2.8 Methodology of work ........................................................................23 3. The hardware ......................................................................... 25 3.1 Unification VS master and slaves......................................................25 3.2 The choice of specific microcontroller architecture and vendor.......28 AVR and ARM-based microcontrollers from Atmel ........................................ 28 Microchip’s microcontrollers .............................................................................. 28 ARM-based microcontrollers from ST Electronics........................................... 29 Other microcontrollers worth mentioning......................................................... 29 The comparison table between selected candidates .......................................... 30 The choice of platform ......................................................................................... 30 3.3 The choice of development board for the prototype .........................32 3.4 The general traits of hardware architecture in the prototype.............33 3.5 Detailed description of all hardware..................................................35 STM32F407ZG ..................................................................................................... 36 SSD1963................................................................................................................. 36 STMPE610 ............................................................................................................ 38 VS1053................................................................................................................... 39 SunBond LB04302 LCD Module (AT043B35-15I-10 in some documentation) ................................................................................................................................ 44 4. The software ........................................................................... 46 4.1 Single software approach VS OS-based approach ............................46 4.2 General traits of software architecture...............................................49 4.3 Development tools .............................................................................53 4.4 Coding style .......................................................................................54 4.5 Detailed code explanation..................................................................55 main.c..................................................................................................................... 56 ascii.h ..................................................................................................................... 58 images.h ................................................................................................................. 60 delay.c, delay.h...................................................................................................... 60 lcd.c, lcd.h, command_listLCD.h ........................................................................ 62 touch.c, touch.h, registers_listTouch.h ............................................................... 67 StdPeriphLib......................................................................................................... 72 3 SD card driver....................................................................................................... 72 File system layer.................................................................................................... 73 apps.c, apps.h ........................................................................................................ 75 player1053.c, player.h, vs10xx_uc.h.................................................................... 80 4.6 System in action.................................................................................84 5. Development process.............................................................. 91 5.1 Problems encountered during development ......................................91 5.2 Project timeline..................................................................................92 5.3 Accomplished goals...........................................................................93 6. Analysis of prototype and future improvements ................ 95 6.1 The purpose of this section................................................................95 6.2 Hardware codecs and their advantages and disadvantages ...............96 6.3 File formats........................................................................................98 6.4 File system layer limitations..............................................................99 6.5 Possible internal storage ..................................................................100 6.6 Additional connectivity ...................................................................102 6.7 The absence of database driver........................................................103 6.8 User interface shouldn’t be limited to touch screen only................104 6.9 Sorting algorithms must be added to file manager..........................105 6.10 Lack of Unicode support ...............................................................106 6.11 Long file names must be supported...............................................107 6.12 We would eventually have to make a transition to an OS.............108 6.13 We should definitely make use of modules available on current board ......................................................................................................109 6.14 Overall look at functionality..........................................................110 7. Considering the eventual commercialization of product. 111 7.1 Introduction......................................................................................111 7.2 Business model: Open Source and Open Hardware........................112 7.3 The general description of this particular product...........................114 7.4 A non-exhaustive review of Open Source/Open Hardware products and companies on market ......................................................................116 Efika MX computers from Genesi .................................................................... 116 Mikroelektronika................................................................................................ 117 AdaFruit .............................................................................................................. 118 Arduino................................................................................................................ 118 BeagleBoard ........................................................................................................ 119 Raspberry Pi ....................................................................................................... 120 Conclusion........................................................................................................... 121 7.5 Cost of the device ............................................................................122 7.6 Social, environmental and economical impact of product ..............124 7.7 Possible derivatives of the product and alternative versions...........126 Alternative versions based on different platforms .......................................... 126 Open Hardware scientific/engineering calculator........................................... 126 Open Hardware gaming console ....................................................................... 127 Open Hardware e-book...................................................................................... 127 4 8. Conclusion............................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages134 Page
-
File Size-