Changes

Jump to navigation Jump to search
5,273 bytes added ,  19:29, 5 March 2021
no edit summary
Line 49: Line 49:  
* Sainsmart 1.8 GPIO-only
 
* Sainsmart 1.8 GPIO-only
 
* MHS35 480x320 GPIO-only
 
* MHS35 480x320 GPIO-only
* MPI5008 800x480 GPIO-only
+
* MPI5008 800x480 HDMI+GPIO
 
* Pi 7 Touchscreen Display 800x480 DSI+GPIO
 
* Pi 7 Touchscreen Display 800x480 DSI+GPIO
 
* 5 inch DSI Display 800x480 DSI-only
 
* 5 inch DSI Display 800x480 DSI-only
Line 108: Line 108:  
The following is based on the kit v4.1 schematics but keep in mind that most of it is optionnal !  
 
The following is based on the kit v4.1 schematics but keep in mind that most of it is optionnal !  
 
One may choose to run an headless Zynthian, or with just a HDMI display and an USB and/or keyboard. Zynthian is modular enough to fits many needs a from pocket sized gear to a customized midi keyboard that will embed your build.
 
One may choose to run an headless Zynthian, or with just a HDMI display and an USB and/or keyboard. Zynthian is modular enough to fits many needs a from pocket sized gear to a customized midi keyboard that will embed your build.
==The audio side==
+
All schematics below are from the [[Building_a_Zynthian_Box_using_an_official_Kit_v4.1#Technical_Reference|V4.1 Kit Building Tutorial]] and can also be found on Github.
 +
 
 +
==The Raspberry Pi==
 +
 
 +
The Raspberry Pi is the heart of Zynthian, it runs the all the software and can be used "as is" in a headless setup. But it also communicates with all the hardware add ons that makes a Zynthian Box.
 +
 
 +
The V4.1 setup use the following pins of your Raspberry Pi:
 +
 
 +
* Pins numbers 3 and 5: for the I2C protocol. I2C is used by the MCP23017 port expander and for controlling the Audio sound card.
 +
* Pins numbers 8 and 10: for the serial interface (UART). This is for MIDI IN and OUT
 +
* Pins numbers 12, 35, 38 40: for the I2S (or PCM as on the image) digital audio interface. Where pin 40 is for the output signal to the DAC (Digital to Analog Converter) and pin 38 is for the input signal drom the ADC (Analog to Digital Converter) wich are both provided by the Hifiberry ADC+DAC stage soundcard.
 +
* Pins 19, 21, 23, 26, 26 (SPI interface) and pins 11, 15, 18, 22  for the display and its touch interface.
 +
* Pins 7 and 13: these are used for providing interrupts to the MCP23017 port expander.
 +
* Power pins, 5V, 3.3V and GND are also used for powering the different components
 +
 
 +
Pin numbers given above are the Raspberry pins numbers and as noticed on picture and because Zynthian software makes the use of the WiringPi library, they have also a specific WiringPi number wich does not correspond to the Broadcom chip pin number. So one may find usefull to have this table:
 +
 
 +
[[File:Raspberry-Pi-j8header-2b.png|thumb|right|Raspberry PI 2/3/4 40 pins header]]
 +
 
 +
{| class="wikitable"
 +
|+ Pins numbers
 +
|-
 +
! WiringPi GPIO !! BCM pin !! RBPI pin !! RBPI pin !! BCM pin !! WiringPi GPIO
 +
|-
 +
|  || 3.3V || 1 || 2 || 5V ||
 +
|-
 +
| 8 || 2 || 3 || 4 || 5V ||
 +
|-
 +
| 9 || 3 || 5 || 6 || GND ||
 +
|-
 +
| 7 || 4 || 7 || 8 || 14 || 15
 +
|-
 +
|  || GND || 9 || 10 || 15 || 16
 +
|-
 +
| 0 || 17 || 11 || 12 || 18 || 1
 +
|-
 +
| 2 || 27 || 13 || 14 || GND ||
 +
|-
 +
| 3 || 22 || 15 || 16 || 23 || 4
 +
|-
 +
|  || 3.3V || 17 || 18 || 24 || 5
 +
|-
 +
| 12 || 10 || 19 || 20 || GND ||
 +
|-
 +
| 13 || 9 || 21 || 22 || 25 || 6
 +
|-
 +
| 14 || 11 || 23 || 24 || 8 || 10
 +
|-
 +
|  || GND || 25 || 26 || 7 || 11
 +
|-
 +
| 30 || ID_SD || 27 || 28 || ID_SC || 31
 +
|-
 +
| 21 || 5 || 29 || 30 || GND ||
 +
|-
 +
| 22 || 6 || 31 || 32 || 12 || 26
 +
|-
 +
| 23 || 13 || 33 || 34 || GND ||
 +
|-
 +
| 24 || 19 || 35 || 36 || 16 || 27
 +
|-
 +
| 25 || 26 || 37 || 38 || 20 || 28
 +
|-
 +
|  || GND || 39 || 40 || 21 || 29
 +
|}
 +
 
 +
 +
==The display==
 +
 
 +
===Zynscreen v1.5===
 +
[[File:ZynScreen_v15_sch.svg|800px]]
 +
 
 +
It's a Zynthian dedicated piece of hardware. The schematics above shows the PCB wiring.
 +
 
 +
* On the top right, the TFT1 connector to the LCD panel itself. RS, RESET and BACKLIGHT are directly connected to the RBPI. From DB00 to DB15 lines labels are connected to the IC1A chip while XL, YD, XR, YU labels are for the touch capability managed by the U1 IC.
 +
* IC1A: Intel's EPM3032A Complex Programmable Logic Device (CPLD) wich converts data coming from the SPI Bus to something understandable by the LCD panel. Don't ask, the manufacturer of the Zynscreen doesn't share the code for programming the chip by your own. Each LCD display will require its self microcode ... MOSI, CLK, CE0 are the SPI lines coming from the Rbpi while TCK, TDO, TMS, TDI goes to pads that are used by the manufacturer for programming the CPLD.
 +
* U1 the "famous" XPT2046 touch interface IC. That one is very common. It use the Rbpi SPI interface, MOSI, MISO, CLK, CE1 plus a touch point interrupt TP_INT that is wired to Rbpi GPIO17 (pin number 11).
 +
* U2, the MCP23017 port expander. It communicates to the Rbpi through the I2C protocol, using SDA and SCL pins (number 3 and 5) and creates two bank of eight GPIOs (GPA0-7 and GPB0-7). Each bank needs an interrupt INTA and INTB. These 16 GPIOs are used for for the 4 rotary encoders via Ctrl1-4 JST connectors and 4 push buttons CSW1-4 that are already on the PCB.
 +
* RBPi1 male 26 pins header: for wiring the Zynscreen to the RBPi using a flat ribbon cable.
 +
* JP1: a 2x4 male pins header for selecting, using jumpers, the interrupts for the Zynscreen's MCP23017 port expander and the Zynaptick's MCP23017 port expander.
 +
* some 100nF power decoupling capacitors.
 +
 
 +
===Alternate hardware===
 +
 
 +
* Above, a list of displays that should be supported by ZynthianOs is given, there are also a plenty of "no name" chinese displays. If this is the you're planning to use, be carefull when using a SPI display that pin number 12 (GPIO18) isn't used by your display for "backlight" or "led" control as this pin is needed by any DAC board on market. Of course, using an HDMI or DSI display or an USB sound card or the internal headphone will makes this remark useless ...
 +
* The MCP23017 port expander isn't really mandatory. You can choose to go with just the touch interface and there's nothing more to talk about or you can use an HDMI or DSI display. In that case, you will free up enough Rbpi GPIOs to wire the encoders directly to the Pi GPIOs (3 GPIOs per encoder). This setup could be configured through the webconf tool and is explained here.
 +
* When using a self made MCP23017 setup, you can use any free GPIO you wand for INTA and INTB interrupts as they are configurable through the webconf tool.
 +
 
 +
==Controls: Rotary encoders==
    
==The MIDI interface==
 
==The MIDI interface==
   −
==Controls: Rotary encoders and the switches==
+
==The audio side==
17

edits

Navigation menu