Changes

2,763 bytes added ,  19:29, 5 March 2021
no edit summary
Line 111: Line 111:     
==The Raspberry Pi==
 
==The Raspberry Pi==
[[File:Raspberry-Pi-j8header-2b.png|thumb|right|Raspberry PI 2/3/4 40 pins header]]
+
 
 
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 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.
   Line 124: Line 124:     
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:
 
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"
 
{| class="wikitable"
Line 174: Line 176:  
==The display==
 
==The display==
   −
==Controls: Rotary encoders and the switches==
+
===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==
    
==The audio side==
 
==The audio side==
17

edits