Subversion Repositories svn.mios

Rev

Rev 1200 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
163 tk 1
HEADER 3 MBHP DIN Module
2
 
3
<H1>MIDIbox Hardware Platform, Digital IN Module</H1>
4
 
1183 tk 5
<P><CENTER><IMG SRC="mbhp/mbhp_din_r5.jpg" width=500 height=229></CENTER></P>
163 tk 6
 
1183 tk 7
<P CLASS=INFO>The DIN module comes with multiple serial registers 74HC165; every register (SR) provides 8 digital inputs, which are sampled with the latch enable signal LD and shifted out with the clock signal CLK. The advantage of using such shift registers is, that they can be cascaded to a long chain without the need of more than 5 cables to the core module. The DIN board has been designed on a way which allows to cascade not only the ICs on the board, but also several DIN modules. But note that it depends on the firmware how much inputs are processed by the core module:
8
<UL CLASS=CL>
9
  <LI>MIOS8 based applications typically allow to cascade up to 4 modules (=16 DIN SRs), makes up to 128 digital inputs
10
  <LI>MIOS32 based applications typically allow to cascade up to 8 modules (=32 DIN SRs), makes up to 256 digital inputs
11
</UL></P>
163 tk 12
 
1183 tk 13
<P CLASS=DESC>Some applications also allow to scan the shift registers in a so called "matrix" configuration. E.g. a 8x8 matrix (which is driven by a single DOUT SR and captured by a single DIN SR) can scan up to 64 buttons, a 16x16 matrix could scan up to 256 buttons. But normally 8x8 matrices are perferred due to lower latency.</P>
14
 
163 tk 15
<DL>
16
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Download </H2></DT>
17
  <DD>
1231 tk 18
  <P CLASS=DESC><B>Note:</B> To reduce effort only the DINX4 variant is available at <A HREF="http://www.mikes-elektronikseite.de" TARGET="_blank">Mikes PCB shop</A> and <A HREF="https://modularaddict.com/manufacturer/midibox" TARGET="_blank">Modular Addict's MIDIbox Shop</A>. If you don't want to etch the modules by yourself, just use the DINX4 and stuff just only the ICs which are really required.</P>
163 tk 19
  <DD><TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
20
    <TR>
932 tk 21
      <TD COLSPAN=4 CLASS=TABCOLOR1>PCB data, can be viewed, modified and converted with <A HREF="http://www.cadsoft.de/download.htm" TARGET="_blank">Eagle Light</A>. The .pdf based schematic has been created with <A HREF="http://opencircuitdesign.com/xcircuit" TARGET="_blank">xcircuit</A>. There are no special eagle schematics available, since components have been netlisted in the .brd file directly!</TD>
163 tk 22
    </TR>
23
    <TR>
24
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Module</STRONG></FONT></td>
25
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Schematic</STRONG></FONT></td>
1183 tk 26
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Layout Data (old PCB)</STRONG></FONT></td>
27
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Quick-view (old PCB)</STRONG></FONT></TD>
163 tk 28
    </TR>
29
    <TR>
30
      <TD CLASS=TABCOLOR2><I>MBHP_DINX4_V2</I></TD>
31
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4.pdf">mbhp_dinx4.pdf</A></TD>
32
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_v2.brd">mbhp_dinx4_v2.brd</A></TD>
33
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4.gif">mbhp_dinx4.gif</A></TD>
34
    </TR>
35
    <TR>
36
      <TD CLASS=TABCOLOR2><I>MBHP_DINX3_V1</I></TD>
37
      <TD CLASS=TABCOLOR2>similar to DINX4</TD>
38
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx3_v1.brd">mbhp_dinx3_v1.brd</A></TD>
39
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx3_v1.gif">mbhp_dinx3.gif</A></TD>
40
    </TR>
41
    <TR>
42
      <TD CLASS=TABCOLOR2><I>MBHP_DINX2_V1</I></TD>
43
      <TD CLASS=TABCOLOR2>similar to DINX4</TD>
44
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx2_v1.brd">mbhp_dinx2_v1.brd</A></TD>
45
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx2_v1.gif">mbhp_dinx2.gif</A></TD>
46
    </TR>
47
    <TR>
48
      <TD CLASS=TABCOLOR2><I>MBHP_DINX1_V2</I></TD>
49
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx1.pdf">mbhp_dinx1.pdf</A></TD>
50
      <TD CLASS=TABCOLOR2>(normaly built on veroboard)</A></TD>
51
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx1.jpg">mbhp_dinx1.jpg</A></TD>
52
    </TR>
1183 tk 53
 
54
    <TR>
55
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Module</STRONG></FONT></td>
56
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Schematic</STRONG></FONT></td>
57
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Layout Data (revised PCB)</STRONG></FONT></td>
58
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Quick-view (revised PCB)</STRONG></FONT></TD>
59
    </TR>
60
    <TR>
61
      <TD CLASS=TABCOLOR2><I>MBHP_DINX4_R5</I></TD>
62
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_r5.pdf">mbhp_dinx4_r5.pdf</A></TD>
63
      <TD CLASS=TABCOLOR2>ask SmashTV</TD>
64
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_din_r5_detail.jpg">mbhp_din_r5_detail.jpg</A></TD>
65
    </TR>
66
 
163 tk 67
  </TABLE></DD>
68
 
69
  <DD><TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
70
    <TR>
71
      <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3>Additional informations</FONT></TD>
72
    </TR>
73
    <TR>
74
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>File</STRONG></FONT></td>
75
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Size</STRONG></FONT></td>
76
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
77
    </TR>
78
    <TR>
79
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_orderlist.txt">mbhp_dinx4_orderlist.txt</A></TD>
80
      <TD CLASS=TABCOLOR2>1k</TD>
1183 tk 81
      <TD CLASS=TABCOLOR2><A HREF="http://www.reichelt.de/" TARGET="_blank">Reichelt</A> orderlist for old layout</TD>
163 tk 82
    </TR>
83
    <TR>
1183 tk 84
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_r5_orderlist.txt">mbhp_dinx4_r5_orderlist.txt</A></TD>
85
      <TD CLASS=TABCOLOR2>1k</TD>
86
      <TD CLASS=TABCOLOR2><A HREF="http://www.reichelt.de/" TARGET="_blank">Reichelt</A> orderlist for SmashTV layout</TD>
163 tk 87
    </TR>
88
    <TR>
1183 tk 89
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_32buttons.pdf">mbhp_dinx4_32buttons.pdf</A></TD>
163 tk 90
      <TD CLASS=TABCOLOR2>16k</TD>
1183 tk 91
      <TD CLASS=TABCOLOR2>How to connect 32 buttons (old PCB)</TD>
163 tk 92
    </TR>
93
    <TR>
94
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_16enc.pdf">mbhp_dinx4_16enc.pdf</A></TD>
95
      <TD CLASS=TABCOLOR2>16k</TD>
1183 tk 96
      <TD CLASS=TABCOLOR2>How to connect 16 rotary encoders (old PCB)</TD>
163 tk 97
    </TR>
98
    <TR>
99
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_dinx4_16enc_alps_stec16b03.pdf">mbhp_dinx4_16enc_alps_stec16b03.pdf</A></TD>
100
      <TD CLASS=TABCOLOR2>16k</TD>
1183 tk 101
      <TD CLASS=TABCOLOR2>Same for ALPS STEC16B rotary encoders (old PCB)</TD>
163 tk 102
    </TR>
103
    <TR>
1200 tk 104
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_din_8x8buttons.pdf">mbhp_din_8x8buttons.pdf</A></TD>
105
      <TD CLASS=TABCOLOR2>23k</TD>
106
      <TD CLASS=TABCOLOR2>How to connect a 8x8 Button matrix (new PCB, requires also a MBHP_DOUTX4 or MBHP_DIO_MATRIX module)</TD>
107
    </TR>
108
    <TR>
109
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_din_8x16buttons.pdf">mbhp_din_8x16buttons.pdf</A></TD>
110
      <TD CLASS=TABCOLOR2>23k</TD>
111
      <TD CLASS=TABCOLOR2>How to connect a 8x16 Button matrix (new PCB, requires also a MBHP_DOUTX4 or MBHP_DIO_MATRIX module)</TD>
112
    </TR>
113
    <TR>
163 tk 114
      <TD CLASS=TABCOLOR2><A HREF="mbhp/alps_stec16b03.lbr">alps_stec16b03.lbr</A></TD>
115
      <TD CLASS=TABCOLOR2>3k</TD>
116
      <TD CLASS=TABCOLOR2>Eagle Library for Alps STEC16B03, provided by Jack (you can contact him via PM in the <A HREF="http://forum.midibox.org" TARGET="_blank">Forum</A>)</TD>
117
    </TR>
118
    <TR>
119
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_din_touchsensors.pdf">mbhp_din_touchsensors.pdf</A></TD>
120
      <TD CLASS=TABCOLOR2>4k</TD>
1183 tk 121
      <TD CLASS=TABCOLOR2>connection diagram for the touch sensors (old PCB, only supported by MIOS8, not supported by MIOS32!)</TD>
163 tk 122
    </TR>
123
  </TABLE></DD>
124
  </DD>
125
</DL>
126
 
127
<DL>
128
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Available Ports </H2></DT>
129
   <DD>
1183 tk 130
<P CLASS=DESC>Following interfaces are provided by the DINX4 module:</P>
163 tk 131
  <DD><TABLE CLASS=BOX WIDTH="100%" BORDER=1 CELLSPACING=5 CELLPADDING=0>
132
 
133
    <TR>
134
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Name</STRONG></FONT></td>
135
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>No. of pins</STRONG></FONT></td>
136
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
137
    </TR>
138
    <TR>
139
      <TD CLASS=TABCOLOR2>J1</TD>
140
      <TD CLASS=TABCOLOR2>5</TD>
1183 tk 141
      <TD CLASS=TABCOLOR2>Interface to CORE:J9. DINX4:J1 provides two power pins for 5V/0V, the serial clock, the latch enable and the serial output of the register chain.<BR>This port can also be connected with J2 of another DINX module.<BR>
142
      The revised PCB layout from SmashTV uses a 2-row DIL Header instead to simplify the connection to the J8/9 connector of the core module.</TD>
163 tk 143
    </TR>
144
 
145
    <TR>
146
      <TD CLASS=TABCOLOR2>J2</TD>
147
      <TD CLASS=TABCOLOR2>5</TD>
1183 tk 148
      <TD CLASS=TABCOLOR2>Interface to another DINX4 module. DINX4:J2 provides nearly the same pins like J1, just only the serial output of the first IC is replaced by the serial input of the last IC.<BR>This port can be connected with J1 of the next DINX module.</TD>
163 tk 149
    </TR>
150
 
151
    <TR>
152
      <TD CLASS=TABCOLOR2>J3-J9</TD>
153
      <TD CLASS=TABCOLOR2>5</TD>
1183 tk 154
      <TD CLASS=TABCOLOR2>These are the digital input lines, every connector comes with 4 of them and an additional pin for ground. See <A HREF="mbhp/mbhp_dinx4_32buttons.pdf">mbhp_dinx4_32buttons.pdf</A> as an example how to connect buttons to these pins, and <A HREF="mbhp/mbhp_dinx4_16enc.pdf">mbhp_dinx4_16enc.pdf</A> how to connect rotary encoders.<BR>
155
      The revised PCB layout from SmashTV uses 2-row DIL headers instead so that buttons can be easily connected via 2-row DIL sockets.</TD>
163 tk 156
    </TR>
157
  </TABLE></DD>
158
  </DD>
159
</DL>
160
 
161
 
162
<DL>
163
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Used Components </H2></DT>
164
   <DD>
1183 tk 165
   <DD><TABLE CLASS=BOX WIDTH="100%" BORDER=1 CELLSPACING=5 CELLPADDING=0>
163 tk 166
 
167
    <TR>
168
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Part Name</STRONG></FONT></td>
169
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Value</STRONG></FONT></td>
170
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
171
    </TR>
172
 
173
    <TR>
174
      <TD CLASS=TABCOLOR2>IC1, IC2, IC3, IC4</TD>
175
      <TD CLASS=TABCOLOR2>74HC165</TD>
176
      <TD CLASS=TABCOLOR2>The digital input shift registers</TD>
177
    </TR>
178
 
179
    <TR>
180
      <TD CLASS=TABCOLOR2>R1-R32</TD>
181
      <TD CLASS=TABCOLOR2>10k</TD>
182
      <TD CLASS=TABCOLOR2>These pull-up resistors are required if buttons are connected to the digital inputs. They ensure that the pins are supplied by defined voltage levels when a button is not closed (pressed). If you are using the DIN module with a MIDIO128, you maybe want to drive the pins "high-active" (which means: +5V = on, 0V = off). In this case please solder the two red isolated cables not to 5V, but to 0V (Vss), so that the resistors act as pull-downs.<BR><B>Your MIDIbox will send a lot of random MIDI traffic without these pull-ups, so don't miss them!</B></TD>
183
    </TR>
184
 
185
    <TR>
186
      <TD CLASS=TABCOLOR2>C1-C4</TD>
187
      <TD CLASS=TABCOLOR2>100nF</TD>
188
      <TD CLASS=TABCOLOR2>The additional bypass caps have to be placed on the bottom side of the PCB, as close to the +5V power input of the 74HC165 as possible.</TD>
189
    </TR>
190
 
191
    <TR>
192
      <TD CLASS=TABCOLOR2>R33-R36</TD>
193
      <TD CLASS=TABCOLOR2>10k</TD>
194
      <TD CLASS=TABCOLOR2>4 additional pull-up resistors. They ensure a defined level if an IC is not plugged into the socket.<BR><B>Your MIDIbox will send a lot of random MIDI traffic without these pull-ups, so don't miss them!</B></TD>
195
    </TR>
196
 
197
    <TR>
198
      <TD CLASS=TABCOLOR2>J*</TD>
199
      <TD CLASS=TABCOLOR2>*</TD>
200
      <TD CLASS=TABCOLOR2>All connectors are optional, the cables can also be soldered directly into the board. Otherwise I suggest SIL headers (header sockets), known from PC motherboards. They are cheap and usefull.</TD>
201
    </TR>
202
 
203
    <TR>
204
      <TD CLASS=TABCOLOR2>DIL</TD>
205
      <TD CLASS=TABCOLOR2>SOCKETS</TD>
1183 tk 206
      <TD CLASS=TABCOLOR2>Don't forget to buy sockets for the shift registers. 8 * 5 pin DIL sockets are required for the old PCB layout, resp. 4 2x5 DIL sockets for the SmashTV layout.</TD>
163 tk 207
    </TR>
208
  </TABLE></DD>
209
  </DD>
210
</DL>
211
 
212
 
213
<DL>
214
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Soldering Guide </H2></DT>
215
  <DD>
1231 tk 216
  <P CLASS=DESC>This soldering guide explains how to build a DIN module based on the revised layout from <A HREF="https://modularaddict.com/manufacturer/midibox" TARGET="_blank">SmashTV</A>. If you want to build a DIN module based on the old layout (e.g. from <A HREF="http://www.mikes-elektronikseite.de" TARGET="_blank">Mike</A>) please continue at <A HREF="mbhp_din_oldpcb.html">this page</A>.</P>
1183 tk 217
 
163 tk 218
  <DD><TABLE CELLSPACING=0 CELLPADDING=0>
219
    <TR>
1183 tk 220
      <TD><IMG SRC="mbhp/mbhp_din_r5_2.jpg" WIDTH=280 HEIGHT=139 BORDER=0 ALT=""></TD>
221
      <TD CLASS=TABCOLOR2>It's always a good idea to start with the smallest components to simplify mounting.<BR>
222
So, start with the caps and resistor arrays:
223
<UL>
224
<LI>8 5x10k resistor arrays (resp. discrete 36x10k resistors if you don't use resistor arrays)
225
<LI>C1-C4: 100 nF
226
</UL>
163 tk 227
    </TR>
228
    <TR>
1183 tk 229
      <TD><IMG SRC="mbhp/mbhp_din_r5_3.jpg" WIDTH=280 HEIGHT=143 BORDER=0 ALT=""></TD>
230
      <TD CLASS=TABCOLOR2>Continue with the 4 IC sockets.</TD>
163 tk 231
    </TR>
232
    <TR>
1183 tk 233
      <TD><IMG SRC="mbhp/mbhp_din_r5_4.jpg" WIDTH=280 HEIGHT=136 BORDER=0 ALT=""></TD>
234
      <TD CLASS=TABCOLOR2>Thereafter mount the 2x5 SIL headers. As you can see, we are using "polarized" headers for J1 and J2, and DIL headers for J3-J6, so that the silkscreen (which shows the pin names) won't be hidden. It's your personal choice to use "polarized" headers for these connections as well.</TD>
163 tk 235
    </TR>
236
    <TR>
1183 tk 237
      <TD><IMG SRC="mbhp/mbhp_din_r5_5.jpg" WIDTH=280 HEIGHT=130 BORDER=0 ALT=""></TD>
238
      <TD CLASS=TABCOLOR2>Finally put the 74HC165 ICs into the sockets. Your module is now ready for use!</TD>
163 tk 239
    </TR>
240
    <TR>
1183 tk 241
      <TD COLSPAN=2 CLASS=TABCOLOR2><IMG SRC="mbhp/mbhp_din_r5_chain.jpg" WIDTH=500 HEIGHT=268 BORDER=0 ALT=""><BR>
242
      Two cascaded DINX4 modules connected to J8/9 of a <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A> module with selfmade IDC cables.</TD>
163 tk 243
    </TR>
244
    <TR>
1183 tk 245
      <TD COLSPAN=2 CLASS=TABCOLOR2><IMG SRC="mbhp/mbhp_dindout_r5_chain.jpg" WIDTH=500 HEIGHT=268 BORDER=0 ALT=""><BR>
246
      Two cascaded DINX4 and two <A HREF="mbhp_dout.html">DOUTX4</A> modules connected to J8/9 of a <A HREF="mbhp_core_stm32f4.html">MBHP_CORE_STM32F4</A> module with selfmade IDC cables.<BR>
1186 tk 247
      <A HREF="mbhp/mbhp_dindout_cable.jpg">This picture</A> gives you a more detailed view of the special (selfmade) Y cable which has one additional DIL socket at the middle so that the DIN and DOUT chain can be connected to the J8/9 connector of the core module.</TD>
163 tk 248
    </TR>
249
  </TABLE></DD>
250
  </DD>
251
</DL>
252
 
253
FOOTER