====== MBHP Core8 Module ====== ===== Introduction ===== The **MBHP Core8 Module is the Original heart and brain of every MIDIbox**. It holds the //PIC microcontroller// which runs [[MIOS]] and your MIDIbox application. It handles //MIDI communication, it drives an [[LCD]] (or two), and it connects to all the other modules//. \\ \\ The PIC is a **“System On Chip” (SoC)**, this means, it contains not only a CPU, but also an **//integrated 32k flash program memory, 1536 bytes data memory, 256 bytes data EEPROM, and a lot of usefull peripherals like AD-converter and UART (for MIDI)//**. The low prices and worldwide availability for hobbyists makes it a good choice. \\ \\ {{ ::neonking:mbhp_core_pic.jpg?600 |}} \\ \\ Main part of this module is the PIC, a microcontroller manufactured by Microchip. It is clocked at 40 MHz (externaly with a 10 MHz crystal) and offers enough performance to handle analog and digital modules with latencies below 1ms. \\ \\ In distance to other (more modern) microcontrollers, the **PIC is easy to program, requires no external memories, is almost non-destroyable and comes in a handy DIP package**, so that also electronic beginners can work with this chip without the danger of damaging small SMD pins within some seconds with their soldering iron. \\ \\ If you are planning to program your own application, it's recommended to use a PIC18F452 for highest compatibility with existing MIDIboxes, a **PIC18F4620 for RAM intensive projects** (64k flash, 1k EEPROM, 3968 bytes RAM), or a **PIC18F4685 for code intensive projects** (96k flash, 1k EEPROM, but only 3328 bytes RAM - provides CAN interface ===== Parts / Schematic ===== * [[Core Board Parts List]] * {{http://ucapps.de/mbhp/mbhp_core_v3.pdf|Schematic}} UCapps ===== Inputs/Outputs Ports Table ===== ^ Port ^ Pins # ^ Description ^ | J1 | 2 | **Connection to PSU**. 7V-10VAC transformer, or a wall adapter. At least 500 mA is recommended, AC or DC doesn't matter, since the rectifier behind J1 converts to DC anyhow. Also the polarity has not to be taken into account. | | J2 | 2 | **+5V output**: to supply other core modules in a multiprocessor environment, so that you only have to mount the parts for the power supply (X1, IC3, C5, C6) on one core module. **Restriction:** the 7805 gets very hot when it delivers currents above 500 mA, so only core modules without backlit display.**+5V input**: for supplying from J2 of another core module, or from an external stabilized Power Supply Unit (PSU). In both cases the voltage regulator (IC3) should not be connected, also the rest of the voltage stabilization circuit between J1 and J2 (X1, C5, C6) can be left out. If the core module (and all connected modules to this branch) drains more than 100 mA, it's recommended to mount C5 directly to J2 (a small cable between the outer soldering pads of the left-out 7805 will do this). | | J4 | 4 | **Interface to the BankStick**, to MBHP_IIC_* modules like MBHP_IIC_MIDI, and to the second MIDI IN port for MIDImerger. | | J5 | 10 | **Analog sources** (like pots) can be connected to this port (8 pots maximum). If multiplexed via AIN module, up to 64 pots can be scanned. Remember that All unused analog inputs must be conncted to ground. There are also some application which use this pin as digital in- or output | | J6 | 5 | **Interface to the AIN module** | | J7 | 5 | **Interface to the MF module**, sometimes also used for the **MBHP_AOUT or MBHP_AOUT_LC** module.| | J8 | 5 | **Interface to the DOUT module chain.** | | J9 | 5 | **Interface to the DIN module chain.** | | J10 | 8 | **Interface to application specific module extensions** like the SID module.| | J11 | 4 | **MIDI IO at TTL level**, interface to the LED/Thru/COM module. Can also be used to cascade multiple core modules in a MIDI chain | | J12 | 3 | **MIDI OUT port** | | J13 | 3 | **MIDI IN port** | | J14 | 1 | used by MIOS as touch sensor strobe line. Sometimes also used for debugging purposes | | J15 | 16 | **LCD Interface** | ===== PIC Microcontrollers ===== The Core Module can be equipped with following microcontrollers: * [[MIOS_PIC18F4620|PIC18F4620]] //required for MIDIbox SEQ V3, possible future default// * [[mios pic18f4685|PIC18F4685]] //required for MIDIbox SID V2 due to the CAN peripheral// ===== Multiple Cores ===== There are different possibilities to have multiple Cores. * [[http://www.ucapps.de/midibox_link.html|MIDIbox Link]] uCApps //Linking multiple Cores via MIDI (a special configured MIDI forwarding pipe)// * [[http://www.ucapps.de/midibox_network.html|MBNet]] uCApps //The new MIDIbox Network utilizing the [[CAN]] (Controller Area Network) Interface on the brandnew [[mios_pic18f4685|PIC18F4685]] microcontrollers \\