Subversion Repositories svn.mios

Rev

Rev 1113 | Rev 1139 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
163 tk 1
HEADER 3 The MIDIbox Operating System
2
 
3
<H1>The MIDIbox Operating System</H1>
4
 
5
<P><CENTER><IMG SRC="mios/mios_intro.jpg" alt="" width=550 height=400></CENTER></P>
6
 
801 tk 7
<P CLASS=INFO>The <B>MI</B>DIbox <B>O</B>perating <B>S</B>ystem (<B>MIOS</B>) has been developed for the requirements of flexible MIDI applications like MIDI controllers, processors, synthesizers, sequencers. In difference to commercial ready made and closed source solutions, MIOS follows the concept of an open computing system as fundament for idea exchange and personal adaptations.</P>
163 tk 8
 
803 tk 9
<P CLASS=INFO>The <A HREF="midibox_gallery.html">MIDIbox Gallery</A> already points out different opinions in terms of panel design, control elements and preferred workflow. Most of these MIDI controllers are based on <A HREF="midibox64.html">MIDIbox64</A>, <A HREF="midibox16e.html">MIDIbox16E</A> or <A HREF="midio128.html">MIDIO128</A> and therefore limited to the provided features of the firmware. With MIOS, such controllers can be enhanced to multipurpose devices with exchangeable program code, totally customized to the appr. host application, synthesizer or similar "MIDI devices". By releasing the application source codes, everybody will be free to use them as template for modifications and improvements. In this manner MIOS breaks down the skill barrier to getting started with microcontrollers and allows - even people new to electronics - to realize projects far away from the main stream.</P>
163 tk 10
 
801 tk 11
<P CLASS=INFO>Between 1999 and 2008, MIDIbox applications have been developed for <A HREF="mbhp_core.html">PIC microcontrollers</A>, since 2002 with MIOS8 as operating system. Most of them are implemented in assembly language to get the maximum out of the PIC, with the drawback that the code was difficult to understand and to enhance - not only for newbies. Later a <A HREF="mios8_c.html">C interface</A> has been developed to allow the implementation of small gadgets on a more elegant way, but experienced programmers quickly reached the limitations of the PIC where only assembly optimized code or the usage of multiple PICs could help.</P>
163 tk 12
 
1087 tk 13
<P CLASS=INFO>Between 2008/2010, MIOS32 has been developed for the <A HREF="mbhp_core_stm32.html">STM32</A> microcontroller. No stone has been left unturned! As you can see in some <A HREF="mios32_c.html">tutorial applications</A>, execution performance doesn't need to be focused anymore, the usage of assembly language isn't required to realize even complex projects like an algorithmic MIDI sequencer or an audio synthesizer. Interfaces like USB (e.g. for native USB MIDI support) and Ethernet (e.g. for <A HREF="midibox_osc.html">native OSC support</A>) speed up the communication with external devices dramatically, the usage of a <A HREF="mbhp_sdcard.html">SD Card</A> instead of <A HREF="mbhp_bankstick.html">BankStick</A> simplifies data exchange, premade <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fmodules%2F">software modules (libraries)</A> reduce the time to develop new applications.</A>.
163 tk 14
 
988 tk 15
<P CLASS=INFO>Since 2011, MIOS32 also supports <A HREF="mbhp_core_lpc17.html">LPC17xx</A> microcontrollers. Most applications which access peripheral functions via the <A HREF="mios32_c.html">MIOS32 Hardware Abstraction Layer</A> are 100% compatible and only need to be recompiled for this microcontroller. Applications are typically running ca. 30..50% faster on a LPC1769, and thanks to the usage of the LPCXPRESSO evaluation board as basis it's also easier to adapt the "base board" for different usecases.</A>.
16
 
801 tk 17
<H2>Specs</H2>
163 tk 18
 
801 tk 19
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
20
  <TR>
21
    <TD CLASS=TABCOLOR1 width="20%">&nbsp;</td>
22
    <TD CLASS=TABCOLOR1 width="40%"><FONT SIZE=2><STRONG>MIOS8</STRONG></FONT></TD>
988 tk 23
    <TD CLASS=TABCOLOR1 width="40%"><FONT SIZE=2><STRONG>MIOS32 STM32</STRONG></FONT></TD>
24
    <TD CLASS=TABCOLOR1 width="40%"><FONT SIZE=2><STRONG>MIOS32 LPC17</STRONG></FONT></TD>
801 tk 25
  </TR>
26
  <TR>
988 tk 27
    <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Hardware</STRONG></FONT></TD>
801 tk 28
  </TR>
29
  <TR>
30
    <TD CLASS=TABCOLOR1 width="20%"><B>Core Module:</B></TD>
31
    <TD CLASS=TABCOLOR2><A HREF="mbhp_core.html">MBHP_CORE</A> module</TD>
32
    <TD CLASS=TABCOLOR2><A HREF="mbhp_core_stm32.html">MBHP_CORE_STM32</A> module</TD>
988 tk 33
    <TD CLASS=TABCOLOR2><A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module</TD>
801 tk 34
  </TR>
35
  <TR>
36
    <TD CLASS=TABCOLOR1 width="20%"><B>Microcontroller:</B></TD>
37
    <TD CLASS=TABCOLOR2>PIC18F452<BR>PIC18F4620<BR>PIC18F4685</TD>
1001 tk 38
    <TD CLASS=TABCOLOR2>STM32F103RE</TD>
39
    <TD CLASS=TABCOLOR2>LPC1769</TD>
801 tk 40
  </TR>
41
  <TR>
42
    <TD CLASS=TABCOLOR1 width="20%"><B>CPU:</B></TD>
43
    <TD CLASS=TABCOLOR2>PIC18 MCU (8-bit)</TD>
44
    <TD CLASS=TABCOLOR2>ARM Cortex M3 (32-bit)</TD>
988 tk 45
    <TD CLASS=TABCOLOR2>ARM Cortex M3 (32-bit)</TD>
801 tk 46
  </TR>
47
  <TR>
48
    <TD CLASS=TABCOLOR1 width="20%"><B>Speed:</B></TD>
49
    <TD CLASS=TABCOLOR2>10 MIPS @ 40 MHz</TD>
50
    <TD CLASS=TABCOLOR2>90 DMIPS @ 72 MHz</TD>
988 tk 51
    <TD CLASS=TABCOLOR2>typically 30..50% faster @120 MHz than STM32 </TD>
801 tk 52
  </TR>
53
  <TR>
54
    <TD CLASS=TABCOLOR1 width="20%"><B>Embedded memory:</B></TD>
55
    <TD CLASS=TABCOLOR2>32k..96k Flash<BR>1.5k..3.9k RAM</TD>
56
    <TD CLASS=TABCOLOR2>512k Flash<BR>64k RAM</TD>
988 tk 57
    <TD CLASS=TABCOLOR2>512k Flash<BR>64k RAM</TD>
801 tk 58
  </TR>
59
  <TR>
60
    <TD CLASS=TABCOLOR1 width="20%"><B>IO voltage:</B></TD>
61
    <TD CLASS=TABCOLOR2>5V</TD>
62
    <TD CLASS=TABCOLOR2>3.3V, but most input pins are 5V tolerant</TD>
988 tk 63
    <TD CLASS=TABCOLOR2>3.3V, but most input pins are 5V tolerant</TD>
801 tk 64
  </TR>
65
  <TR>
810 tk 66
    <TD CLASS=TABCOLOR1 width="20%"><B>Price of uC only:</B></TD>
67
    <TD CLASS=TABCOLOR2>ca. US $5..$10</TD>
988 tk 68
    <TD CLASS=TABCOLOR2>ca. US $14</TD>
69
    <TD CLASS=TABCOLOR2>ca. US $12</TD>
810 tk 70
  </TR>
71
  <TR>
72
    <TD CLASS=TABCOLOR1 width="20%"><B>Core module kit with all parts:</B></TD>
73
    <TD CLASS=TABCOLOR2>US $27 (Double Sided PCB, <A HREF="http://mbhp.avishowtech.com" TARGET="_blank">SmashTV</A>)<BR>
1113 tk 74
                        EUR 23 (Single Sided PCB, <A HREF="http://www.mikes-elektronikseite.de">Mike</A>)</TD>
988 tk 75
    <TD CLASS=TABCOLOR2>US $57 (<A HREF="http://mbhp.avishowtech.com" TARGET="_blank">SmashTV</A>)<BR>STM32 chip already soldered on PCB</TD>
76
    <TD CLASS=TABCOLOR2>ca. 50 EUR with all components, but low-cost solutions will be available as well (more DIY friendly)</TD>
810 tk 77
  </TR>
78
  <TR>
988 tk 79
    <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Software Architecture</STRONG></FONT></TD>
801 tk 80
  </TR>
81
  <TR>
82
    <TD CLASS=TABCOLOR1 width="20%"><B>Kernel:</B></TD>
803 tk 83
    <TD CLASS=TABCOLOR2>Monolithic kernel programmed in assembly language. Two priorities (interrupt and main task), hooks to hard- and software events which optionally execute C routines.</TD>
988 tk 84
    <TD CLASS=TABCOLOR2 COLSPAN=2>Modular kernel programmed in C language, combined with (but not strictly tied to) <A HREF="http://www.freertos.org" TARGET="_blank">FreeRTOS</A> as realtime operating system.<BR>While FreeRTOS provides preemptive multitasking, multiple tasks priorities and synchronisation mechanisms, MIOS32 acts as an abstraction layer between hardware and software components.</TD>
801 tk 85
  </TR>
86
  <TR>
87
    <TD CLASS=TABCOLOR1 width="20%"><B>Bootloader:</B></TD>
88
    <TD CLASS=TABCOLOR2>yes, via MIDI (requires reliable MIDI interface)</TD>
988 tk 89
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes, via MIDI and USB MIDI (no additional MIDI interface required)</TD>
801 tk 90
  </TR>
91
  <TR>
92
    <TD CLASS=TABCOLOR1 width="20%"><B>Applications:</B></TD>
93
    <TD CLASS=TABCOLOR2>PIC Assembly or C based.<BR>Compiled as a separate binary.</TD>
988 tk 94
    <TD CLASS=TABCOLOR2 COLSPAN=2>C (optionally C++) based.<BR>Compiled together with FreeRTOS, MIOS32 and software modules to a single binary.</TD>
801 tk 95
  <TR>
96
    <TD CLASS=TABCOLOR1 width="20%"><B>Toolchain:</B></TD>
803 tk 97
    <TD CLASS=TABCOLOR2>GPASM and SDCC based</TD>
988 tk 98
    <TD CLASS=TABCOLOR2 COLSPAN=2>GCC based</TD>
801 tk 99
  </TR>
100
  <TR>
101
    <TD CLASS=TABCOLOR1 width="20%"><B>SVN Repository:</B></TD>
102
    <TD CLASS=TABCOLOR2><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2F" TARGET="_blank">LINK</A></TD>
988 tk 103
    <TD CLASS=TABCOLOR2 COLSPAN=2><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2F" TARGET="_blank">LINK</A></TD>
801 tk 104
  <TR>
105
    <TD CLASS=TABCOLOR1 width="20%"><B>Documentation:</B></TD>
106
    <TD CLASS=TABCOLOR2><A HREF="http://www.ucapps.de/cmios_fun.html">LINK</A> and <A HREF="http://www.ucapps.de/mios8_c.html">LINK</A></TD>
988 tk 107
    <TD CLASS=TABCOLOR2 COLSPAN=2><A HREF="http://www.midibox.org/mios32/manual">LINK</A> and <A HREF="http://www.ucapps.de/mios32_c.html">LINK</A></TD>
801 tk 108
  </TR>
109
  <TR>
110
    <TD CLASS=TABCOLOR1 width="20%"><B>Download Area:</B></TD>
111
    <TD CLASS=TABCOLOR2><A HREF="mios_download.html">LINK</A></TD>
988 tk 112
    <TD CLASS=TABCOLOR2 COLSPAN=2><A HREF="mios32_download.html">LINK</A></TD>
801 tk 113
  </TR>
114
  <TR>
810 tk 115
    <TD CLASS=TABCOLOR1 width="20%"><B>Open Source:</B></TD>
116
    <TD CLASS=TABCOLOR2>yes (completely)</TD>
988 tk 117
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (completely)</TD>
810 tk 118
  </TR>
119
  <TR>
120
    <TD CLASS=TABCOLOR1 width="20%"><B>License:</B></TD>
121
    <TD CLASS=TABCOLOR2>Personal non-commercial use only</TD>
988 tk 122
    <TD CLASS=TABCOLOR2 COLSPAN=2>Personal non-commercial use only</TD>
810 tk 123
  </TR>
124
  <TR>
988 tk 125
    <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Natively supported Peripherals</STRONG></FONT></TD>
801 tk 126
  </TR>
127
  <TR>
128
    <TD CLASS=TABCOLOR1 width="20%"><B>MIDI Interface:</B></TD>
129
    <TD CLASS=TABCOLOR2>1 MIDI IN, 1 MIDI OUT</TD>
1125 tk 130
    <TD CLASS=TABCOLOR2>2 MIDI IN, 2 MIDI OUT, optional third MIDI IO available at J5</TD>
131
    <TD CLASS=TABCOLOR2>2 MIDI IN, 2 MIDI OUT, optional third MIDI IO available at J5, optional fourth MIDI IO at J4B</TD>
801 tk 132
  </TR>
133
  <TR>
134
    <TD CLASS=TABCOLOR1 width="20%"><B>USB Interface:</B></TD>
135
    <TD CLASS=TABCOLOR2>no</TD>
988 tk 136
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes</TD>
801 tk 137
  </TR>
138
  <TR>
988 tk 139
    <TD CLASS=TABCOLOR1 width="20%"><B>Ethernet Interface:</B></TD>
140
    <TD CLASS=TABCOLOR2>no</TD>
141
    <TD CLASS=TABCOLOR2>only via external HW</TD>
142
    <TD CLASS=TABCOLOR2>yes, integrated</TD>
143
  </TR>
144
  <TR>
801 tk 145
    <TD CLASS=TABCOLOR1 width="20%"><B>CAN Interface:</B></TD>
146
    <TD CLASS=TABCOLOR2>only PIC18F4685</TD>
988 tk 147
    <TD CLASS=TABCOLOR2>yes, but can't use USB in parallel!</TD>
801 tk 148
    <TD CLASS=TABCOLOR2>yes</TD>
149
  </TR>
150
  <TR>
151
    <TD CLASS=TABCOLOR1 width="20%"><B>JTAG Interface:</B></TD>
152
    <TD CLASS=TABCOLOR2>no</TD>
988 tk 153
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (for code debugging, e.g. to set set breakpoints, display runtime variables, etc.)</TD>
801 tk 154
  </TR>
155
  <TR>
156
    <TD CLASS=TABCOLOR1 width="20%"><B>LCD Interface:</B></TD>
157
    <TD CLASS=TABCOLOR2>yes (J15, multiple LCDs can be connected by sacrificing IO pins)</TD>
988 tk 158
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (J15A/B to connect two LCDs, more LCDs can be connected by sacrificing IO pins)</TD>
801 tk 159
  </TR>
160
  <TR>
161
    <TD CLASS=TABCOLOR1 width="20%"><B>Direct digital IO:</B></TD>
162
    <TD CLASS=TABCOLOR2>8 free programmable IO pins (Port J5)</TD>
163
    <TD CLASS=TABCOLOR2>12 free programmable IO pins (Port J5A/B/C)</TD>
988 tk 164
    <TD CLASS=TABCOLOR2>16 free programmable IO pins (Port J5A/B and J10)</TD>
801 tk 165
  </TR>
166
  <TR>
167
    <TD CLASS=TABCOLOR1 width="20%"><B>Serial digital IO:</B></TD>
168
    <TD COLSPAN=2 CLASS=TABCOLOR2>Up to 128 inputs via <A HREF="mbhp_din.html">DIN module</A>, up to 128 outputs via <A HREF="mbhp_dout.html">DOUT module</A>.<BR>IO pins can be multiplexed to extend the number of controlable buttons/LEDs.</TD>
988 tk 169
    <TD CLASS=TABCOLOR2>Only limited by execution time and used HW buffers</TD>
801 tk 170
  </TR>
171
  <TR>
172
    <TD CLASS=TABCOLOR1 width="20%"><B>Direct analog IO:</B></TD>
803 tk 173
    <TD CLASS=TABCOLOR2>8 analog inputs (Port J5) at 10 bit resolution and 5V range</TD>
801 tk 174
    <TD CLASS=TABCOLOR2>16 analog inputs (Port J5A/B/C, J16) at 12 bit resolution and 3.3V range</TD>
988 tk 175
    <TD CLASS=TABCOLOR2>8 analog inputs (Port J5A/B) at 12 bit resolution and 3.3V range</TD>
801 tk 176
  </TR>
177
  <TR>
178
    <TD CLASS=TABCOLOR1 width="20%"><B>Multiplexed analog IO:</B></TD>
179
    <TD CLASS=TABCOLOR2>up to 64 analog inputs, multiplexed via <A HREF="mbhp_ain.html">MBHP_AIN</A> module(s)</TD>
1033 tk 180
    <TD CLASS=TABCOLOR2>via one or multiple <A HREF="mbhp_ainser64.html">MBHP_AIN64SER</A> module(s)</TD>
181
    <TD CLASS=TABCOLOR2>via one or multiple <A HREF="mbhp_ainser64.html">MBHP_AIN64SER</A> module(s)</TD>
801 tk 182
  </TR>
183
  <TR>
184
    <TD CLASS=TABCOLOR1 width="20%"><B>Serial/Parallel Interface (SPI):</B></TD>
185
    <TD CLASS=TABCOLOR2>Software emulated, e.g. to scan <A HREF="mbhp_din.html">DIN</A>/<A HREF="mbhp_dout.html">DOUT</A> modules.</TD>
988 tk 186
    <TD CLASS=TABCOLOR2 COLSPAN=2>2 hardware based interfaces (J8/9 and J16), 1 software emulated (J19)</TD>
801 tk 187
  </TR>
188
  <TR>
988 tk 189
    <TD CLASS=TABCOLOR1 width="20%"><B>I2C Interface:</B></TD>
190
    <TD CLASS=TABCOLOR2>1 SW based</TD>
191
    <TD CLASS=TABCOLOR2>1 HW based, another alternative</TD>
192
    <TD CLASS=TABCOLOR2>3 HW based</TD>
801 tk 193
  </TR>
194
  <TR>
988 tk 195
    <TD CLASS=TABCOLOR1 width="20%"><B>I2S Interface:</B></TD>
196
    <TD CLASS=TABCOLOR2>no</TD>
197
    <TD CLASS=TABCOLOR2>yes (but shared with J8/9)</TD>
198
    <TD CLASS=TABCOLOR2>yes, dedicated port!</TD>
199
  </TR>
200
  <TR>
201
    <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Software Layers</STRONG></FONT></TD>
202
  </TR>
203
  <TR>
801 tk 204
    <TD CLASS=TABCOLOR1 width="20%"><B>MIDI:</B></TD>
205
    <TD CLASS=TABCOLOR2>yes (single port, stream oriented access)</TD>
988 tk 206
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (multiple ports and interfaces, packet oriented access)</TD>
801 tk 207
  </TR>
208
  <TR>
209
    <TD CLASS=TABCOLOR1 width="20%"><B>COM/RS232:</B></TD>
210
    <TD CLASS=TABCOLOR2>no</TD>
988 tk 211
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (multiple ports and interfaces)</TD>
801 tk 212
  </TR>
213
  <TR>
214
    <TD CLASS=TABCOLOR1 width="20%"><B>Ethernet:</B></TD>
215
    <TD CLASS=TABCOLOR2>no</TD>
216
    <TD CLASS=TABCOLOR2>yes (via <A HREF="mbhp_eth.html">ENC28J60</A>)</TD>
988 tk 217
    <TD CLASS=TABCOLOR2>yes (integrated)</TD>
801 tk 218
  </TR>
219
  <TR>
220
    <TD CLASS=TABCOLOR1 width="20%"><B>OSC:</B></TD>
221
    <TD CLASS=TABCOLOR2>no</TD>
1087 tk 222
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes (<A HREF="midibox_osc.html">via Ethernet or alternative transport device</A>)</TD>
801 tk 223
  </TR>
224
  <TR>
225
    <TD CLASS=TABCOLOR1 width="20%"><B>BOARD:</B></TD>
226
    <TD CLASS=TABCOLOR2>as library component</TD>
988 tk 227
    <TD CLASS=TABCOLOR2 COLSPAN=2>part of MIOS32</TD>
801 tk 228
  </TR>
229
  <TR>
230
    <TD CLASS=TABCOLOR1 width="20%"><B>TIMER:</B></TD>
231
    <TD CLASS=TABCOLOR2>1 at uS accuracy</TD>
988 tk 232
    <TD CLASS=TABCOLOR2 COLSPAN=2>3 at uS accuracy, more at mS accuracy can be defined as FreeRTOS tasks.</TD>
801 tk 233
  </TR>
234
  <TR>
235
    <TD CLASS=TABCOLOR1 width="20%"><B>Realtime Clock</B></TD>
236
    <TD CLASS=TABCOLOR2>no</TD>
988 tk 237
    <TD CLASS=TABCOLOR2>yes, at mS resoltion</TD>
238
    <TD CLASS=TABCOLOR2>yes, but only S resolution</TD>
801 tk 239
  </TR>
240
  <TR>
241
    <TD CLASS=TABCOLOR1 width="20%"><B>SRIO:</B></TD>
242
    <TD CLASS=TABCOLOR2>128 DIN, 128 DOUT pins (2 * 16 shift registers)</TD>
988 tk 243
    <TD CLASS=TABCOLOR2 COLSPAN=2>128 DIN, 128 DOUT pins (2 * 16 shift registers)<BR>Number of SRs extendible with hardware enhancements, e.g. usage of buffers for SCLK/RCLK line.</TD>
801 tk 244
  </TR>
245
  <TR>
246
    <TD CLASS=TABCOLOR1 width="20%"><B>ENC (Encoders):</B></TD>
247
    <TD CLASS=TABCOLOR2>up to 64 detented or non-detented rotary encoders</TD>
988 tk 248
    <TD CLASS=TABCOLOR2 COLSPAN=2>like MIOS8, but number free definable</TD>
801 tk 249
  </TR>
250
  <TR>
251
    <TD CLASS=TABCOLOR1 width="20%"><B>MF (Motorfaders):</B></TD>
252
    <TD CLASS=TABCOLOR2>up to 8</TD>
1125 tk 253
    <TD CLASS=TABCOLOR2 COLSPAN=2>use the <A HREF="mbhp_mf_ng.html">MBHP_MF_NG module</A></TD>
801 tk 254
  </TR>
255
  <TR>
256
    <TD CLASS=TABCOLOR1 width="20%"><B>IIC:</B></TD>
257
    <TD CLASS=TABCOLOR2>yes (single port)</TD>
258
    <TD CLASS=TABCOLOR2>yes (two ports)</TD>
988 tk 259
    <TD CLASS=TABCOLOR2>yes (three ports)</TD>
801 tk 260
  </TR>
261
  <TR>
262
    <TD CLASS=TABCOLOR1 width="20%"><B>IIC_MIDI:</B></TD>
263
    <TD CLASS=TABCOLOR2>as library component</TD>
988 tk 264
    <TD CLASS=TABCOLOR2 COLSPAN=2>part of MIOS32 MIDI API</TD>
801 tk 265
  </TR>
266
  <TR>
267
    <TD CLASS=TABCOLOR1 width="20%"><B>BANKSTICK:</B></TD>
988 tk 268
    <TD CLASS=TABCOLOR2 COLSPAN=3>yes (up to 8 32k and 64k)</TD>
801 tk 269
  </TR>
270
  <TR>
271
    <TD CLASS=TABCOLOR1 width="20%"><B>SD Card:</B></TD>
272
    <TD CLASS=TABCOLOR2>as library component, but limited FAT support</TD>
988 tk 273
    <TD CLASS=TABCOLOR2 COLSPAN=2>yes. DOSFS module supports FAT12/FAT16/FAT32</TD>
801 tk 274
  </TR>
275
  <TR>
276
    <TD CLASS=TABCOLOR1 width="20%"><B>(Internal) EEPROM:</B></TD>
277
    <TD CLASS=TABCOLOR2>accessing 256..1024 byte depending on PIC</TD>
278
    <TD CLASS=TABCOLOR2>accessing up to 2047 byte via EEPROM emulation</TD>
988 tk 279
    <TD CLASS=TABCOLOR2>onboard 1k IIC EEPROM</TD>
801 tk 280
  </TR>
281
  <TR>
282
    <TD CLASS=TABCOLOR1 width="20%"><B>LCD:</B></TD>
988 tk 283
    <TD CLASS=TABCOLOR2 COLSPAN=3>Various CLCDs and GLCDs as library component/software modules</TD>
801 tk 284
  </TR>
285
  <TR>
286
    <TD CLASS=TABCOLOR1 width="20%"><B>I2S Audio:</B></TD>
287
    <TD CLASS=TABCOLOR2>no</TD>
988 tk 288
    <TD CLASS=TABCOLOR2 COLSPAN=3>yes (16bit Stereo)</TD>
801 tk 289
  </TR>
290
</TABLE>
163 tk 291
 
292
 
801 tk 293
<H2>MIOS Applications</H2>
163 tk 294
 
801 tk 295
<P CLASS=DESC>Now some words to the most interesting part: which applications can be realized with <B>MIOS8</B>. In respect to the limitations of the sweet little PIC it should be clear that it isn't possible to implement a workstation with a splendidly constructed graphical user interface, support for audio samples, video processing, voice recognition or similar memory eating programs. The strengths of a PIC microcontroller are microsecond accurate IO interactions and realtime processing. Here a few examples, some of them have already been implemented (see the <A HREF="mios_download.html">MIOS Download page</A>:</P>
163 tk 296
  <UL CLASS=CL>
297
    <LI> generic MIDI control device with pots/faders/buttons/motorfaders/encoders/leds/led-rings</LI>
298
    <LI> MIDI IO processing device</LI>
299
    <LI> emulation of existing controllers (for instance Logic Control or Steinberg Houston)</LI>
300
    <LI> sequencers</LI>
301
    <LI> synthesizers</LI>
803 tk 302
    <LI> ...add your wishes here...</LI>
163 tk 303
  </UL>
304
<P CLASS=DESC>Of course, MIOS allows also to manage other jobs outside the world of MIDI, here some inspirations:</P>
305
  <UL CLASS=CL>
306
    <LI> Robotics</LI>
307
    <LI> Light control</LI>
308
    <LI> HiFi equipment control</LI>
309
    <LI> Game computer</LI>
310
    <LI> Kid's computer</LI>
311
    <LI> Handheld</LI>
803 tk 312
    <LI> ...add your wishes here...</LI>
163 tk 313
  </UL>
314
 
315
 
801 tk 316
<P CLASS=DESC>Enhanced list for <B>MIOS32</B> based designs:</P>
317
  <UL CLASS=CL>
318
    <LI> as above, but easier implementation for resource hungry and complex applications
319
    <LI> MIDI IO processing device with generic support for USB (more than 100 times faster)</LI>
1087 tk 320
    <LI> access to Ethernet, usage of <A HREF="midibox_osc.html">OSC protocol</A> for direct communication between devices (no PC based proxy required)</LI>
801 tk 321
    <LI> I2S based audio synthesizer/sampler</LI>
322
    <LI> handling touch panels and graphical LCDs w/o memory limitations</LI>
803 tk 323
    <LI> ...add your wishes here...</LI>
801 tk 324
  </UL>
163 tk 325
 
326
 
801 tk 327
<H2>Questions & Answers Addendum</H2>
163 tk 328
 
801 tk 329
<P CLASS=DESC>This Addendum is now part of the <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=mios_faq" TARGET="_blank">MIDIbox Wiki</A> (it doesn't consider MIOS32 yet)</P>
330
 
243 tk 331
<H2>Wikipedia Entry</H2>
332
 
988 tk 333
<P CLASS=DESC><A HREF="http://en.wikipedia.org/wiki/Midibox" TARGET="_blank">MIDIbox</A></P>
243 tk 334
 
163 tk 335
FOOTER