EPPO Manual

Functional description.

Although this site is as up-to-date as possible, we can not be held accountable for possible damages as a result of use of information and/or software obtained from this site.
Manuals Download EPPO Hardware Led Bar Demo Board Buy EPPO Scripts Pool Home

General.
This manual describes the functionality of the hardwarecomponents of EPPO, and the architecture behind it. The current firmware determines some prefab functionality, when nescessary I will comment on that. For a complete scheme of EPPO look for it in the DIY- kit, or check it out here.

The powersupply.
Eppo Scheme PsuThe powersupply for EPPO is quite simple. You can use any DC supply from 15V through 20V. Most mains adapters of the 12VDC type already have an output of 15V. D3 prevents you from blowing up EPPO when you accidentally reverse the polarity on TP8 and TP9. C9, C10 and C11 will do some basic suppression and equalisation on the voltage going into IC4 and IC5, our voltage regulators. The LM317 can be set to a specific output voltage using a combination of two resistrorvalues. For the formula check the powersupply section of the Led Bar Demo Board Functionality Manual. The output of IC4 is set to 13V, and the voltage on the output of IC5 is 5V. C12- C14 do some suppression decoupling and additional stabilisation. The 13V, which is critical, will be used as a programming voltage for the target microcontroller. Therefore the supply must be at least 15V, since D3 and IC4 will drop some additional voltage. The 5V output will be used to supply the RS232 driver, EPPO's microcontroller, the power led and the target microcontroller. Since both supply- voltages are dimensioned to draw a maximum of 100mA out of the (mains adapter) supply, any supply which is capable of doing 200mA is sufficient. If you use a different kind of supply, please make sure that in no circumstances it is possible to create a ground loop between EPPO and the PC. This wil heavilly disturb datatransfer, and proper functionality can not be guarranteed. A mains adapter is always "floating", so this is the ideal supply, I think. Beware of so called switching mains adapters. They have the tendency to a) give off the 12V it promised, and b) possibly radiate some high- frequency (well...) which can influence data along wires.

The RS232 factory.
Eppo Scheme RS232EPPO's microcontroller with it's firmware has an asynchronous communications ability. However, the input and output levels on this microcontroller are 0V or 5V. The RS232 standard defines the datalines to be between -5V / +5V and -15V / +15V. A RS232 driverchip converts our single 5V supply to RS232 voltages, using a very ingenious internal voltage-doubler design. C16, C17, C20 and C21 will hold the charge- pumping levels for IC6. IC6 has two RS232 receivers (RS232 voltages in, TTL voltages out), and two RS232 drivers (TTL voltages in, RS232 voltages out), where the unused receiver is held stable by grounding pin13. Pins 9 and 11 are connected to the microcontroller, pins 8 and 14 to the dB9 connector. You have a male connector on your PC, and EPPO has a female connector. Technically you could connect them right away, but we will connect both with a 1:1 cable, that comes with the kit. If you are unsure if the PC sends characters, startup a terminal program on the right settings (COMport, baudrate etc.) and check with a logic probe, oscilloscope or a mutimeter on 10VAC range at pin 9 of IC6. It is possible to use a more popular driver, the MAX232, but then you have to change the four capacitors to elco's of 10u. The firmware in EPPO's microcontroller determines the baudrate at which EPPO communicates with the PC. I will not publish EPPO's firmware, and is is neither available upon request. You are however free to design and program your own EPPO firmware, and use it in EPPO's PCB.
 
Voltage switching.
Eppo Scheme Voltage
Voltage switching, in this case, has nothing to do with a switching powersupply. It simply means that we have to switch programming voltages to the target controller. And we have to do that in a particular order to get the target microcontroller in programming mode. Some of the order and timing is built in the firmware. Other specifics are generated by the EppoManager, so the EPPO architecture stays scalable. In the picture on the left you see GP3 and GP4 going off to somewhere else. Forget about them for now. GP0 and GP1 are used to transfer data between EPPO and the target microcontroller. No fancy stuff there. R12 makes a current of about 4 mA flow through LED13, so illuminating it. T1 will become conducting if a basis- current is drawn, so by making GP5 low. It's collector pulls up to about 4.9V and thus powering the target microcontroller. In the powersupply section of this manual, we have already seen that we use a programming voltage of 13V, called the VPP. This VPP must be switched to the target microcontroller too at certain times. To do that we have to make T2 conducting. If we would connect T2 the same way as T1, the transistor would be conducting constantly, since a potential voltage of 0V or 5V still draws current out of a 13V supplied transistor. We have to make sure that if GP2 goes to a 0V output, the current is drawn, and if it goes to 5V, the current stops. We do that by connecting a zenerdiode Z1 and a led (LED14) in series with R19. The treshold level of both diodes is enough to do the trick. Warning! If you use a different kind of led, you may have to change Z1 too. EppoManager has soom simple tool- scripts which let you play around with switching the VPP, so you can measure without risking faulty target microcontrollers. EPPO has a designed microcontroller of the type PIC12C672, which are becoming obsolete / extinct. In the future you will probably find a PIC12F675 in its place. Note. When designing software for microcontrollers, you will see that there are some microcontrollers that can use the so called low- voltage- programming- mode (LVP). EPPO is not compattible with LVP, however EPPO can program them the regular way.

The ICSP part.
eppo Scheme ICSPOn the right you can see the programming- bay, on where to put your target microcontroller. Needless to say that you can only program one at a time, although you have muliple sockets. We have already seen where the programming signals come from, so we don't need to talk about them furthermore. It might be interresting to see that all of the signals going to the target microcontroller are completely switched off, so no power is present. The ICSP connector's pin 2 is fixed to +5V, which is wrong. This should be connected to PWRPIC. There is a modification on the EPPO hardware page for it. The J3 socket is the trickiest one on the PCB. We had to fit the right pins to the right signals for different sized microcontrollers. I did not have the time yet to check if maybe 20 pin microcontrollers might be programmed in the 18 pin socket too. It probably will. The sequence and timing of switching the programming signals is highly dependent on the microcontroller's specifications. For every microcontroller (or -range) there is a separate pdf file which describes exactly how to program, read and erase that particular microcontroller. If you purchased the EPPO DIY- kt, you also have received a CDROM with all datasheets nescessary. You can also visit Microchip's website and download the latest ones. Extra attention is needed when looking at the capacitors across PWRPIC and ground. The higher the total capacity, the longer it takes to deplete its charges. So you have to take a slow trailing edge on the PWRPIC line into consideration, by maybe increasing delays between say programming program memory and programming configuration memory. Placing a resistor of 1k across C19 would do the trick I think.

WARNING! This site is constantly under construction.
Any information presented via this site can be updated any time. If you experience problems or inconsistancies due to the integrity of this information, please visit regularly to check for updates.