Upgrade OSBDM to support RS08

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Upgrade OSBDM to support RS08

17,169 Views
joerg
Contributor II
Hi Rocky
If you want i could do the layout for the RS08 support. If you send me the schematics i will enhance the EAGLE layout (for the light version) and the community could use it.

Saluti Joerg

PS:
The layout for the recent version can be found at Systech J.Schnyder GmbH -> HC(S)-System -> programmer (description with schematics and files for EAGLE (schematics and board), also the files for the LPKF milling machine)

Message Edited by Alban on 2006-12-12 09:53 PM

Tags (2)
0 Kudos
Reply
49 Replies

2,667 Views
RockyRoad
Contributor III
Joerg -
 
Sorry for the delay, it was just one of those days yesterday.
 
Here's the schematic.
 
The jumper at JP5 interrupts power to the target for parts like the QG8 where you need to force them into active BDM when the flash is blank or the BDM pin is disabled by the application code. We've talked about making this a switch (the EValue8 board does this). What do you think?
 
Another point is that the original design for this board (and the EValue8) uses a BSS84 FET for the Vpp switch. This is a tiny SOT-23 part. I've tried to find a similar TO-92 package device and found the BS250 shown on the schematic. I've built many of the version with the BSS84, but I've not breadboarded the new FET. It looks to be a fit -- just a caution.
 
I have a BOM for the board also, but I haven't checked it in months. A quick scan show the power switch above and another push button that we've dropped for sure. So I need to validate it. I'll have to put that off until after work tonight.
 
- Mike

Message Edited by Alban on 2006-12-12 09:53 PM

 

RS08_OSBDM_v1_2_board.pdf

Message Edited by t.dowe on 2009-10-26 05:25 PM
0 Kudos
Reply

2,667 Views
joerg
Contributor II
Hi Mike
I will check the schematics like i did it for the original one. Since i like to have sometimes the power form the USB connector as option (to run the MPU module only) i will also add the 5V to 3.3V regulator. The design will fit the EAGLE light version (this is free).

If i am ready or having questions i will place a message here.


Saluti (Grüsse)
Joerg (Georg)

Message Edited by Alban on 2006-12-12 09:54 PM

0 Kudos
Reply

2,667 Views
joerg
Contributor II

Hi Mike
As i have had a look on the schematics, here some questions:
- the JP5 you mentioned above is named JP6 in the schematics?
- does this version of BDM also work with non RC devices?
- if NO does it make sense to add the JP6 (JP5)?
- would it be possible to create a firmware covering ALL the possibilities?
- if NO i think we could create at least a PCB covering all we need. Assuming some
success we (who ever that is) could produce some PCB at lower costs.
- do you see a possibility to switch the power for some devices via the JB16 to force
the MPU in the monitor mode (i.e. on RESET)?
- if YES we could integrate a PFET to switch the target power ON/OFF and adding a
simple push switch to the PFET could eliminate the uncomfortable jumper for power
ON/OFF.(see the schematics of my SPGM; www.systech-gmbh.ch -> HC(S) System)

general question:
- does it really make sense to use THT resistors an other THT components. Since the MPU
and the level shifter are SMD components i think a layout with all SMD components would
make more sense (the connectors and jumpers excluded). If the layout is single sided
(or better a double sided layout with the possibility to substitute the missing tracks
with straight cooper wire) users can make the PCB by himself. We have to design the
PCB so the components can be placed in a easy manner to solder and there are no big
problems.

Saluti Joerg

Message Edited by Alban on 2006-12-12 09:54 PM

0 Kudos
Reply

2,666 Views
RockyRoad
Contributor III

Joerg -

 

Yes, JP6 is the power jumper I was talking about. (I didn't zoom in on the schematic and it looked like '5').

 

This version of the hardware works with all S08's and RS08's.

 

The recently released firmware works with this board. The person that has worked on the firmware is not available to do any changes like adding MCU target power switching (though it was in a previous prototype). Also any functional changes like that would need to get supported in CodeWarrior and that's a pretty long leadtime task. So I think that the power switching needs to be left as a manual operation. You can support this with the jumper, a switch, or a switch + PFET as you suggest. The EValue8 board has a slide switch.

 

Through hole vs surface mount, that's a good question. When we started the OSBDM project, we were following the lead of Daniel Malik's TBDML. The idea was to create a single sided board (which I failed at) that could be hand made by a hobbyist. I liked your original OSBDM layout that had the option to use a few jumpers to recreate the second side of the board. Again, we tried to stick with through hole components to make it so a hobbyist could easily assemble the board. We knew at the start that the MCU would have to be surface mount, but the SOIC package didn't seem to be too hard to hand assemble. (I've not had a problem with it in building several OSBDM's here.) The level shifter was always a bad sticking point to the ease of assembly theory. It has been the only part that we can find that performs the function of 1.8V to 5.5V by spec. So we stayed with it even though it can be a real pain to get on the board (speaking from personal experience). At least this last version of the OSBDM is down to only one level shifter. The original design called for 3 for an RS08 version.

 

I still think that it needs to be THT as much as possible, but I'm willing to listen to other input. If other people think that it is ok to hand assemble surface mount, then I could be persuaded.

 

- Mike

Message Edited by Alban on 2006-12-12 09:55 PM

0 Kudos
Reply

2,667 Views
eckhard
Contributor V
Hello,

I now have it working with Codewarrior 5.1. Seems that I had some strange problems wih the windows drivers. Thhe interface has been recognized after plugging it on before but at first the debugger said no BDM hardware found. Now after deleting and reinstalling the windows drivers a few times it works. I looks like windows tries to load an old OSBDM driver under some circumstances.

Eckhard

Message Edited by Alban on 2006-12-12 09:55 PM

0 Kudos
Reply

2,667 Views
joerg
Contributor II
Hi Mike
OK the things are clearer now. I will start to draw the schematics with a slide switch for the power, since it does not make sense to put a PFET on the board without a MCU control of it. The schematics (the libraries to be exact) will include the SMD AND the THT components.
For the start i will do the SMD PCB (like the actual one) and then a more THT based one trying the single sided board with almost no narrow tracks on it.

Here a tip for soldering SMD (the level shifter are not that difficult to do, try once a GB60 wit 0.5mm spacing!): simply buy a pair of glasses for reading (2.0 or above) and you will see the stuff much better.

Saluti Joerg

Message Edited by Alban on 2006-12-12 09:55 PM

0 Kudos
Reply

2,667 Views
joerg
Contributor II
OK here you can find the schematics: http://www.systech-gmbh.ch/pdfHCS/hcs08-osbdm+.pdf
Mike could you trow a eye in it. Please figure out the value of the R9 (old schematic)
and the type of RV2 (NTC/PTC)?

Thanks Joerg

PS. I am not very happy with the boost circuit, because it will runn all the time in discontinous mode. But i have no alternative at the moment, so i have left it like it was!

Message Edited by Alban on 2006-12-12 09:56 PM

0 Kudos
Reply

2,666 Views
RockyRoad
Contributor III
Joerg -
 
R9 on my schematic (your R402) is the resistor on pin 8 of the 34063. Is that what you're looking for? It is a 604 ohm 1% resistor.
 
RV2 is just a common pc mount potentiometer. I used a Cermet 306HC203B from DigiKey on my prototypes. It's just a single turn +/- 20% pot. I don't think the TC is critical. The total resistance of the R403/RT401 combo needs to be 86K.
 
From your schematics:
 
1. Did you drop the ICP jumpers (JP3, 4, & 5 on mine)? You need a method to ground PD3 (JP5) on POR with a programmed part to upgrade the firmware. The EValue8 left this off and it makes it difficult to reprogram the flash via ICP. You definitely need to disconnect the 1.5K to VREG (R20 on mine) for ICP. I'm not sure about leaving the 470K's to GND during normal operation. That's why I jumpered them out.
 
2. Does VCC_SHIFT on page 3 become BDC_P_SHIFT on page 2? (It should).
 
3. What is R406 (4.7K from VPP to GND) on page 4? I don't see the corresponding resistor on the old schematic.
 
4. You can drop R212 (47 ohm to BDC_R). We only need the 100 ohm (R213). So the 1nF C203/100 ohm R213 node connects directly to the reset pin of the BDM connector. (This RC is critical to shaping the waveform to VPP on the KA2. You'll damage the KA2 circuitry if you don't.)
 
Also, your BDC_P is the MCU_VDD on that capacitor/diode/resistor network that sent you. You've probably already caught that, but I just wanted to be sure. Yes, I don't like RC's to solve problems on digital circuits either. (We call them 'springs' here and they have a tendency to break.) But that is the solution that has been tested with this hardware/firmware.
 
- Mike

Message Edited by Alban on 2006-12-12 09:56 PM

0 Kudos
Reply

2,666 Views
peg
Senior Contributor IV
Hi Mike,

When built my first OSBDM, I decided that a similar configuration to what Joerg has here was the best method. I went one step further and removed the 1k5 pullup altogether.
So what I have is a double jumper to disconnect USB (but leave USB power connected) a permanent 470k pulldown on D- and 27R series resistors. Then I enable the internal D- pullup.

Hi Joerg,

There is a problem with hard wiring the 1k5 D- pullup and that is that in USBICP mode the internal one is enabled so you get two in parallel (this is out of spec). My recommendation is leave it out and change firmware to enable internal one.

Regards
Peg

Message Edited by Alban on 2007-01-13 06:08 PM

0 Kudos
Reply

2,666 Views
RockyRoad
Contributor III
Peg -
 
I was told when I started on the hardware design of the OSBDM that the internal resistor could not be guaranteed to meet the USB spec for the full speed sense. That's why I've stuck with the external 1% resistor.
 
- Mike

Message Edited by Alban on 2006-12-12 09:57 PM

0 Kudos
Reply

2,666 Views
peg
Senior Contributor IV
Hi Rocky,
 
Fair enough! I suspect that there is a fair margin between what the spec says and what is actually required for it to work. For instance having an internal one and an external one as well (750ohm) still works. Daniel Malik ran the HC125 out of spec but it still worked.
I also remember that when I was having the ICP entry problems I measured the internal one by fitting an external pulldown and measuring for half rail and it was very close.
 
Regards
Peg
 

Message Edited by Alban on 2006-12-12 09:58 PM

0 Kudos
Reply

2,666 Views
joerg
Contributor II
Mike and Mac welcome to the Old Mens Club (i was born 1958!)
Thanks Peg for the comments.
First i have pdf'd the new schematic with the target reset stuff.

Here the answers to Mike.

1. JP3 and JP4 are substituted with J302 on my schematics disconnecting the whole USB
interface. I did not note that JP5 is important, even the data sheet does not show it.
And my OSBDM works just fine without it.

2. This have i already corrected (issue due to multi sheets -> HI Mac!)

3. The R406 is used to draw a small amount of current because the step up controller
with a 1mH inductance is running in discontinuous mode. If there is no current flowing
there could be high noise from the converter.

4. Done. Since i only copy (mostly) i left this resistor.

I added a jumper for disabling the VPP converter AND i have added a diode from VCC_CPU to VPP. Reason: if the converter is not running (or neither PORT_12V or PORT_6V7 is low) VPP
will be 0V (or 1.25V) and the body diode of the PFET will conduct. The diode D402 simply
keeps the VPP on about 5V and the story will work.

To Peg:
Leaving the external Rs for the USB interface do no harm, we can simply leave them off if we do not need them.

Saluti Joerg

Here the schematics:

http://www.systech-gmbh.ch/pdfHCS/hcs08-osbdm+.pdf

PS: Is there no easy way to make HTML tags!

and sorry about my poor english!

Message Edited by Alban on 2006-12-12 09:58 PM

0 Kudos
Reply

2,666 Views
peg
Senior Contributor IV
Hi Joerg,
 


joerg wrote:
To Peg:
Leaving the external Rs for the USB interface do no harm, we can simply leave them off if we do not need them.



Not sure that you fully understand this,
If you are going to support USBICP, which you are by applying the 470k to ground  and making it disconnectable. And we are going to leave the firmware for the OSBDM to require an external D- pullup then you should make this pullup temporarily disconnectable for when you go into USBICP mode. It is hard coded into the ROM that the internal D- pullup is enabled in this mode!
 
Regards
Peg
 
P.S.  When placing a link into a post I always do this:
Start another browser then goto the link, then copy it from the address bar into my post. This of course also means no mistakes or typos etc AND produces a clickable link.

Message Edited by peg on 2006-12-0908:47 AM

Message Edited by Alban on 2006-12-12 09:59 PM

0 Kudos
Reply

2,666 Views
joerg
Contributor II

Message Edited by Alban on 2006-12-12 09:59 PM

0 Kudos
Reply

2,666 Views
joerg
Contributor II

OK the schematics is updated -> http://www.systech-gmbh.ch/pdfHCS/hcs08-osbdm+.pdf

The layout WAS also ready but ..... (it will follow soon)!

Saluti Joerg

PS: i think the copy past does not really work! (as can be seen above) (IE and Netscape 7.2)

(Alban highlihted link)

Message Edited by Alban on 2006-12-12 10:00 PM

0 Kudos
Reply

2,666 Views
joerg
Contributor II
Ciao amici

OK the layout is done! I will receive the first prototype next week (thanks to the scool where is was teacher until recent, where they can mill it). The work for the "easy" (THT board is also going on. For more infos see:

www.systech-gmbh.ch -> HC(S) System OSBDM+ (Schematic, EAGLE files, DOC)

EAGLE (light) can be downloaded at: www.cadsoft.de

The layout files are for the proffessional version, but the light version allows to open those files also (including generatin Gerber files etc.)

Saluti Joerg

Message Edited by Alban on 2006-12-12 10:00 PM

0 Kudos
Reply

2,667 Views
bigmac
Specialist III

Message Edited by Alban on 2006-12-12 10:01 PM

0 Kudos
Reply

2,667 Views
peg
Senior Contributor IV
Hi Mac,
 


bigmac wrote:
Hello Mike and Joerg,
 
Firstly a gripe!
 
Perhaps I show my age, but the schematics of today ain't what they used to be.  Little unconnected clusters of circuit fragments surrounded by labels seems to be the order of the day.   While they provide a "netlist" - if one can only find all the other instances of each label, maybe on the same sheet or some other sheet - this does not assist readability and understanding of the overall functionality of the circuit by us humans - IMHO.  This seems to be an artifact of the computer generated "schematic", it might appear.
 

I have to agree here, although I am guilty of doing the same myself. The computer has no problem joining it all up, its just us mere mortals that have the trouble.
 


bigmac wrote:
.
  1. I notice that the signal label BDM_IN is associated with both PTA6 and PTE1 of the MCU.  Why might this be necessary?  These pins are also directly paralleled with BDM_OUT (PTA7).  So three different MCU pins are connected together.
  2. The signal label BDM_DRV is also associated with two MCU pins, PTA4 and PTC0.


You need to look at the code to understand this and remember that this design is basically a hacked Daniel Malik TBDML. I don't remember exactly but its to do with the bidirectional nature of the interface and the SYNC timing (one of the pins is the timer capture I think) and there are spare pins available.



3. I could not find any matching labels for the signals RST_OUT (PTA1), RST_IN (PTA5) and RST_DRV (PTC1) - perhaps I did not look hard enough.
This is to keep the firmware standard I think, as you have pointed out it doesn't control target reset.
 

4. There does not seem to be any provision to activate a reset signal to the BDC connector.  If not required for the RS08 devices, should it be present for HCS08 compatibility?


Think this is just reduced parts count, if you are going to use POR with some devices may as well do it for all.
 


7. For the programming of the JB16 MCU via MON08 connector, an alternative could have been to wire the PTA1, PTA2 and PTA3 pins directly to the 16-pin header, and let the Multilink determine their state during programming.  I notice that the pre-wired combination, according to Table 9-1 of the data sheet, gives 38400 baud rate intended for "factory use only"

Yes, I don't get this either! Either provide a full header and let the pod control it or provide a custom reduced pin connector and force the others. I forced them in the 19200baud config and only make minimum connection. Another reason not to provide a full MON08 interface is the fact that you can programme it via USBICP.



If this project is intended for the "home constructor", the LCT1T45 device would seem rather exotic, and not available in small quantity.  How would this be resolved?


Its available 1 off from Farnell.

You will probably get better answers from Mike or Joerg but here is something to ponder in the mean time.
 
Regards
Peg
 

Message Edited by Alban on 2006-12-12 10:02 PM

0 Kudos
Reply

2,667 Views
joerg
Contributor II
Hi there
here a fast answer:
- the MON08 Header on my design HAS the direct connections! And my signals have only one name as it is not possible to connect to signals with different names in the Protel way.
I personally like to group the different function blocks on different sheets, so they can be used later on other projects without big modifications. For the EAGLE light version i
have to put all the blocks on one sheet.

Saluti Joerg

Message Edited by Alban on 2006-12-12 10:02 PM

0 Kudos
Reply

2,667 Views
RockyRoad
Contributor III
Hi Joerg,
 
One more thing...
 
After my discussions this week with Peg about S08QG blank part problems, I went back to see how we handled it in OSBDM. The EValue8 board solved it at the last minute by putting a capacitor on the BKGD pin to hold it low during a power up. This rev of OSBDM was meant to be essentially an open source release of the BDM section of the EValue8, but I had not revised my schematics with the late revision and I didn't remember it until after the issue came up again.
 
The Evalue8 solution is attached. What do think about adding this?
 
- Rocky

Message Edited by Alban on 2006-12-12 10:04 PM

 

BKGD_Circuit.pdf

Message Edited by t.dowe on 2009-10-26 05:24 PM
0 Kudos
Reply