(04-25-2019 01:47 AM)teenix Wrote: [ -> ]Hi all,
I've been making some more progress with the HP67 replacement CPU board.
It is really time consuming to debug software that is running other software that can also talk to a PC running more software :-).
I have been building code for the external program storage/recall plus a menu interface to access them. The menu is activated by holding the "h" key down for 1/2 second or longer. Then you can scroll through the items with the "+" and "-" keys and make a selection with "Enter".
I transferred the HP67 diagnostics "A" cards from the PC to the HP67 external program memory and loaded it from the new menu.
If anyone is interested here is a small video of the result. It shows the HP-67 PC emulator and a HP-67 with the new CPU board both running the same code.
http://www.teenix.org/HP67diag.mp4 (about 20Meg)
The PCBs arrived today with the modified design so I have to build one and try it out.
cheers
Tony
Very nice! I can't wait for one of those boards!
I think the thread title is misleading ... the journey is well and truly underway now
Congratulations Tony.
Hi all,
The journey might have come to a premature stop.
It seems the card reader chip will only work sometimes with the circuit I put together and can do weird things at other times. I have hooked two identical circuits up to the same chip. It will work on one, not the other. It works on a heavily modified PCB used for testing, not on a shiny new one. It worked with hook up leads from the main board to the card reader, but not when the card PCB is plugged into its main board socket. Even hooking up the CRO to monitor the data stream stops the reader chip dead in its tracks "sometimes", and this can happen too with the original HP67 CPU board connected.
It seems there is something about the internals of the card reader and CRC chips and how they interact electrically seems sensitive and the reason escapes me. I'm sure its just an interface problem and it is possible that the older circuits expect a different loading on their inputs and outputs that the CMOS circuitry I provided doesn't have. I have tried different pull up/down configurations to no avail. I can't play too hard for fear of damaging something that's hard to replace.
Also, I found the display will not work properly on one HP67. It looks fine until a certain display is showing then it starts flickering. The signals on the CRO look exactly as they should and I cannot find a logical reason unless its just that these particular display drivers are showing their age and don't like playing with newer chips. Again, it could be the CMOS interface.
The switch mode power supply I am using to give 3.75V battery, 6.2V and 5V supplies might be causing trouble but doesn't seem any noisier than the original.
All in all, given these circumstances, I cannot guarantee that the board will be reliable for different calculators.
Not sure where to go from here. I've been fiddling with this nearly every day for a few months and the cost of trialling PCBs is starting to be a bit of a drag on the economy.
The board looks good in its place though :-)
cheers
Tony
(04-29-2019 01:00 AM)teenix Wrote: [ -> ]Hi all,
The journey might have come to a premature stop.
It seems the card reader chip will only work sometimes with the circuit I put together and can do weird things at other times. I have hooked two identical circuits up to the same chip. It will work on one, not the other. It works on a heavily modified PCB used for testing, not on a shiny new one. It worked with hook up leads from the main board to the card reader, but not when the card PCB is plugged into its main board socket. Even hooking up the CRO to monitor the data stream stops the reader chip dead in its tracks "sometimes", and this can happen too with the original HP67 CPU board connected.
It seems there is something about the internals of the card reader and CRC chips and how they interact electrically seems sensitive and the reason escapes me. I'm sure its just an interface problem and it is possible that the older circuits expect a different loading on their inputs and outputs that the CMOS circuitry I provided doesn't have. I have tried different pull up/down configurations to no avail. I can't play too hard for fear of damaging something that's hard to replace.
Also, I found the display will not work properly on one HP67. It looks fine until a certain display is showing then it starts flickering. The signals on the CRO look exactly as they should and I cannot find a logical reason unless its just that these particular display drivers are showing their age and don't like playing with newer chips. Again, it could be the CMOS interface.
The switch mode power supply I am using to give 3.75V battery, 6.2V and 5V supplies might be causing trouble but doesn't seem any noisier than the original.
All in all, given these circumstances, I cannot guarantee that the board will be reliable for different calculators.
Not sure where to go from here. I've been fiddling with this nearly every day for a few months and the cost of trialling PCBs is starting to be a bit of a drag on the economy.
The board looks good in its place though :-)
cheers
Tony
I can see an inductor on your PCB. Presumably you are generating a voltage you need by means of a switched mode power supply. It might be a long shot, but is it possible noise from your power supply is causing the trouble? Have you tried shutting it down and supplying the circuit from a bench power supply?
Other than that, I can only think of comparing the waveforms with the ones on an original 67. Maybe you can spot a difference somewhere...
Good luck, and let me know if I can be of any assistance. I would love to see this project finished!
Cheers,
Harald
(04-29-2019 11:56 AM)Harald Wrote: [ -> ]I can see an inductor on your PCB. Presumably you are generating a voltage you need by means of a switched mode power supply. It might be a long shot, but is it possible noise from your power supply is causing the trouble? Have you tried shutting it down and supplying the circuit from a bench power supply?
Other than that, I can only think of comparing the waveforms with the ones on an original 67. Maybe you can spot a difference somewhere...
Good luck, and let me know if I can be of any assistance. I would love to see this project finished!
Cheers,
Harald
Hi Harald,
I was musing that today in my doldrums. The wave forms look good, but there might be some unseen hash, spikes or radiation that's upsetting the works. I thought that having an unshielded coil right near the data path for the card reader might be an issue. A toroid might be better although for me this is hard to quantify.
I looked into capacitive voltage boost chips which are much simpler to implement, but not deep enough as I only found ones with low mA outputs. Maxim look like they have some better ones. Most of the calculator operating power comes directly from the battery anyway.
I will breadboard a linear power supply in the coming days and see how it goes. It needs the 3 mentioned voltages to run properly. It would be good if the HP card and display chips ran on 5.0 - 5.5 volts instead of the 6.2 - perhaps they do and are only running that high to interface to the PMOS logic.
Thanks for the offer :-)
cheers
Tony
(04-29-2019 01:25 PM)teenix Wrote: [ -> ] (04-29-2019 11:56 AM)Harald Wrote: [ -> ]I can see an inductor on your PCB. Presumably you are generating a voltage you need by means of a switched mode power supply. It might be a long shot, but is it possible noise from your power supply is causing the trouble? Have you tried shutting it down and supplying the circuit from a bench power supply?
Other than that, I can only think of comparing the waveforms with the ones on an original 67. Maybe you can spot a difference somewhere...
Good luck, and let me know if I can be of any assistance. I would love to see this project finished!
Cheers,
Harald
Hi Harald,
I was musing that today in my doldrums. The wave forms look good, but there might be some unseen hash, spikes or radiation that's upsetting the works. I thought that having an unshielded coil right near the data path for the card reader might be an issue. A toroid might be better although for me this is hard to quantify.
I looked into capacitive voltage boost chips which are much simpler to implement, but not deep enough as I only found ones with low mA outputs. Maxim look like they have some better ones. Most of the calculator operating power comes directly from the battery anyway.
I will breadboard a linear power supply in the coming days and see how it goes. It needs the 3 mentioned voltages to run properly. It would be good if the HP card and display chips ran on 5.0 - 5.5 volts instead of the 6.2 - perhaps they do and are only running that high to interface to the PMOS logic.
Thanks for the offer :-)
cheers
Tony
Sorry Tony, I got distracted while reading your post (at work), and didn't read as far as you mentioning the power supply... D'oh...
On the classic replacement board I am using a voltage double IC to avoid any problems with a switched mode power supply. I am using a
MAX1683. On my design all I need is the 3.75V bat and the 7.2V for the display drivers. But that volatge is not critical, so I have simply used the volage doubler to generate it from the battery voltage.
Cheers,
Harald
(04-29-2019 03:43 PM)Harald Wrote: [ -> ]On the classic replacement board I am using a voltage double IC to avoid any problems with a switched mode power supply. I am using a MAX1682
Cheers,
Harald
Thanks Harald, I shall take a look.
Tony
Hi all,
Making slow progress.
I created a linear power supply for the CPU module for testing purposes with 3.7V, 5V and 6.2V, and the calculator runs ok. The card reader seems to write ok as well. I tested the cards with 67 and 97. The whole system seems a lot happier.
Still having read problems however, even on a HP CPU board. On reading old posts I changed the 47uF cap across the switched Vbatt on this HP CPU board but no luck. Maybe I'll try the ones on the reader board.
I could not find a reference to the cap value across the card motor. Anyone know what it is? It looks like 10-22uF tantalum or so by the size of it.
The new CPU board has Murphy's luck built in somewhere I'm sure. It was reading only on the second card pass from power up and fail all other times. I looked real closely at the data changes during a read and I made a very small code change to the read software. I didn't expect much, but to my surprise it started reading every time except for the very first after a power on. There was actually no data change on RA RB for this read so a bit confused. It will read after a card write after power on, so it may be a variable not initialised properly.
Maybe that cap across the motor needs a kick start to get going properly ??
cheers
Tony
Cap on card motor in HP97 is 3.3 microF.
Colour coded tantalum, from top to bottom orange, orange, green; green multiplier dot, black dot on top.
The digits are easy enough being 33. I can't make out the multiplier from the tables on the net. There's no value mentioned for green.
The green bottom would mean 16V.
(Top dot may be tolerance, didn't look into that.)
Someone mentioned different manufacturers used different codings
Measuring revealed value mentioned.
(05-03-2019 10:09 AM)Robert VM Wrote: [ -> ]Cap on card motor in HP97 is 3.3 microF.
Colour coded tantalum, from top to bottom orange, orange, green; green multiplier dot, black dot on top.
The digits are easy enough being 33. I can't make out the multiplier from the tables on the net. There's no value mentioned for green.
The green bottom would mean 16V.
(Top dot may be tolerance, didn't look into that.)
Someone mentioned different manufacturers used different codings
Measuring revealed value mentioned.
Green is 10^5 so it is 33*10^5pF = 3.3uF as you have already worked out.
Thanks Robert and Harald, I'll try a 3.3uF tantalum and see what happens.
cheers
Tony
Hi all,
Some more progress today, hopefully not premature.
As I thought the card read error on power up was an uninitialized variable. I fixed that and now all cards seem to read and write properly. I also tried programs requiring 2 cards and they operated correctly as well. One was the original HP67 diagnostic card which worked fine, so that verifies that full cards work. I verified the data recorded onto the cards and it fits nicely into the required card surface.
Using the new menu system, I saved the loaded diagnostic program to the external memory chip which was ok, then I reloaded the 2 cards back from the memory chip and the program ran fine. I then transferred the program to the PC via USB and saved it as 2 cards on the hard disk, after which I loaded them into the HP67 PC emulator and it ran fine there also. This means that program/data cards can now be saved to the PC hard disk for archiving, and recalled if required to reprogram faulty cards. I still have to test the write protect override flag which will allow write protected cards to be rewritten, but this should be a minor issue.
I then checked the WData function for 1 and 2 cards and they read/write ok.
I then checked the PAUSE function with a card resting in the slot, from the HP67 owners manual program example on page 295, and when the program paused, the card was read into memory and the program executed properly. This all should have worked once the card reader functioned properly as it is all controlled by the original HP67 microcode.
I guess this means the CPU board is functioning like a real HP67 now.
I ordered some EMI shielded coils for the switch mode power supply and will try one when it arrives and see if it cures the earlier noise problems.
cheers
Tony
(05-04-2019 02:48 AM)teenix Wrote: [ -> ]Hi all,
Some more progress today, hopefully not premature.
As I thought the card read error on power up was an uninitialized variable. I fixed that and now all cards seem to read and write properly. I also tried programs requiring 2 cards and they operated correctly as well. One was the original HP67 diagnostic card which worked fine, so that verifies that full cards work. I verified the data recorded onto the cards and it fits nicely into the required card surface.
Using the new menu system, I saved the loaded diagnostic program to the external memory chip which was ok, then I reloaded the 2 cards back from the memory chip and the program ran fine. I then transferred the program to the PC via USB and saved it as 2 cards on the hard disk, after which I loaded them into the HP67 PC emulator and it ran fine there also. This means that program/data cards can now be saved to the PC hard disk for archiving, and recalled if required to reprogram faulty cards. I still have to test the write protect override flag which will allow write protected cards to be rewritten, but this should be a minor issue.
I then checked the WData function for 1 and 2 cards and they read/write ok.
I then checked the PAUSE function with a card resting in the slot, from the HP67 owners manual program example on page 295, and when the program paused, the card was read into memory and the program executed properly. This all should have worked once the card reader functioned properly as it is all controlled by the original HP67 microcode.
I guess this means the CPU board is functioning like a real HP67 now.
I ordered some EMI shielded coils for the switch mode power supply and will try one when it arrives and see if it cures the earlier noise problems.
cheers
Tony
Hi Tony,
That is good news indeed!
I doubt the shielded coil will improve things a lot. It Is more likely to be a layout issue. If you like you can post the schematic and layout of the power supply section, maybe we can spot a problem.
Cheers,
Harald
(04-29-2019 01:00 AM)teenix Wrote: [ -> ]It seems there is something about the internals of the card reader and CRC chips and how they interact electrically seems sensitive and the reason escapes me. I'm sure its just an interface problem and it is possible that the older circuits expect a different loading on their inputs and outputs that the CMOS circuitry I provided doesn't have. I have tried different pull up/down configurations to no avail. I can't play too hard for fear of damaging something that's hard to replace.
Maybe just a silly remark...
Would it be useful to try series resistors at the cmos end of signal (transmission) lines?
Good luck,
Robert
(05-04-2019 10:35 AM)Robert VM Wrote: [ -> ]Maybe just a silly remark...
Would it be useful to try series resistors at the cmos end of signal (transmission) lines?
Good luck,
Robert
I'm not sure anything is silly when trying to find out how things work. Silly might just win :-)
I think I figured it out with the configuration I have. I might fiddle some more to see if it has limits though.
Thanks
Tony
(05-04-2019 09:16 AM)Harald Wrote: [ -> ]Hi Tony,
That is good news indeed!
I doubt the shielded coil will improve things a lot. It Is more likely to be a layout issue. If you like you can post the schematic and layout of the power supply section, maybe we can spot a problem.
Cheers,
Harald
Ok thanks. As the coil is paid for and on its way, I'll try anyway, you never know.
The PSU is based on the standard boost circuit for a common MC34063 chip as per the data sheet. Circuit attached. It provides 6.2V and 5V via a LDO regulator for the processor. The PCB is pretty tight for real estate but I routed all supply lines in heavy trace and is well bypassed. It is hard to have a common GND point but of course I'm no expert and a multilayer board is about 4 times the cost. I'll try to put some PCB details together tomorrow.
I thought about, and prefer, the simpler voltage doubler but not sure if the reader chip expects a more regulated supply as I don' have access to the operating specs for it and the display drivers. I'd like them to all work happily at 5.5V but again, not sure over a wide range of calculators.
cheers
Tony
(05-04-2019 09:16 AM)Harald Wrote: [ -> ]Hi Tony,
That is good news indeed!
I doubt the shielded coil will improve things a lot. It Is more likely to be a layout issue. If you like you can post the schematic and layout of the power supply section, maybe we can spot a problem.
Cheers,
Harald
Attached is the relevant part of the PCB for the PSU. Under the board is just signal paths.
GND comes in from the far left of the PCB direct to the LP2950 GND pin.
The marked 5V and GND points feed each circuit chip in a serial fashion with decoupling caps placed just prior to reaching the respective chip.
The LP2950 Vin is under the PCB from the yellow tracks.
cheers
Tony
(05-05-2019 01:03 AM)teenix Wrote: [ -> ] (05-04-2019 09:16 AM)Harald Wrote: [ -> ]Hi Tony,
That is good news indeed!
I doubt the shielded coil will improve things a lot. It Is more likely to be a layout issue. If you like you can post the schematic and layout of the power supply section, maybe we can spot a problem.
Cheers,
Harald
Attached is the relevant part of the PCB for the PSU. Under the board is just signal paths.
GND comes in from the far left of the PCB direct to the LP2950 GND pin.
The marked 5V and GND points feed each circuit chip in a serial fashion with decoupling caps placed just prior to reaching the respective chip.
The LP2950 Vin is under the PCB from the yellow tracks.
cheers
Tony
Hi Tony,
Thanks for the schematic and layout. You have kept the Cathode of D3 close to C8, that is good. But the track from U7 pin 1, which is the internal switch, to D3 is quite long. You would want to keep that as short as possible to minimize inductance in that path. You are better of moving the choke a bit further away and moveing the diode closer.
It is important to place diode and input and output capacitor close to the IC. You need to minimize path length in all the paths that carry switched currents. The inductor path is not critical.
I'll try and print the schematic and mark the relevant paths.
Regarding the voltage specs on the amplifier IC I am not sure either. I would have thought the unregulated output of the voltage doubler IC would be ok, but that is only a guess, there is just not enough information on it available.
Cheers,
Harald
(05-05-2019 09:36 AM)Harald Wrote: [ -> ]Hi Tony,
Thanks for the schematic and layout. You have kept the Cathode of D3 close to C8, that is good. But the track from U7 pin 1, which is the internal switch, to D3 is quite long. You would want to keep that as short as possible to minimize inductance in that path. You are better of moving the choke a bit further away and moveing the diode closer.
It is important to place diode and input and output capacitor close to the IC. You need to minimize path length in all the paths that carry switched currents. The inductor path is not critical.
I'll try and print the schematic and mark the relevant paths.
Regarding the voltage specs on the amplifier IC I am not sure either. I would have thought the unregulated output of the voltage doubler IC would be ok, but that is only a guess, there is just not enough information on it available.
Cheers,
Harald
Hi Harald,
Thanks for the help.
I'll try running the entire circuit at 5.5V. I measure 6V for this rail from the HP's supply. If things can work reliably then that is only 1 supply voltage to generate from the battery.
The board with the linear supply and original calculator parts use about 60mA with just a decimal point on the display.
cheers
Tony
I may have misunderstood...
Aren't the different voltages meant to keep junctions (or FET equivalents) (reverse) polarised.
Operating from the same supply may get the device into all conducting and overheating?
Robert