I began writing programs for my newly completed Relay Trainer using the serial console and I've noticed that the board is seemingly randomly executing a jump on instructions which should not jump. I am guessing that this is the JUMP bit either turning on unexpectedly or getting stuck on.
An example of trace on output is this instruction:
Another sequence I am seeing is this:
14 e800_0007 inwait 0x07 B[07] <- 00
15 8408_2620 jsr 0x26, 0x20 A[26] <- 16 PC <- 20
20 4880_0104 inc 0x04 B[04] <- 01 PC <- 01
01 c810_ff00 halt halt
In this case I stepped through and the JUMP light was not lit when the 'inc' instruction was executed, but the trace and next instruction clearly show an unexpected jump to 01.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The software is just reporting what it sees the relays doing (so it's not a software problem).
I can see that there is a problem with bit 5 of the PC. In both your examples, PC=2x changed to PC=0x. You should try changing PC between FF and 00 (with the keypad) a bunch of times. Most likely the bit 5 relay needs to be swapped with some other relay- it's holding current is probably a little different.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The PC 0x00 vs 0xff worked properly after initial construction, but now it seems that bits 5 and 7 are not setting properly (as you suspected). Is there a drawing which helps locate the offending relays or do I need to find them in the schematic?
Thanks much!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Think its these relays. I had problem with K70, but I kind of heard it sounded different and the demo program didn't finish. It ran and ran. But just swapping K70 with K65 besided solved that. :)
After my coffee, my brain kicked in better and I realized that the silkscreen on the board might indicate which relays could be the problem. I swapped a couple a couple of times and it seems better now, but bit 5 still seems on the edge. I guess I'll keep fiddling with them if it contues to flake out, at least until I run through the few extra relays I purchased.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I began writing programs for my newly completed Relay Trainer using the serial console and I've noticed that the board is seemingly randomly executing a jump on instructions which should not jump. I am guessing that this is the JUMP bit either turning on unexpectedly or getting stuck on.
An example of trace on output is this instruction:
22 48e0_3c06 rsbto #0x3c, 0x06 B[06] <- c5 PC <- 03
Any suggestions as to how to diagnose this are welcome.
--tnx
--tom
Another sequence I am seeing is this:
14 e800_0007 inwait 0x07 B[07] <- 00
15 8408_2620 jsr 0x26, 0x20 A[26] <- 16 PC <- 20
20 4880_0104 inc 0x04 B[04] <- 01 PC <- 01
01 c810_ff00 halt halt
In this case I stepped through and the JUMP light was not lit when the 'inc' instruction was executed, but the trace and next instruction clearly show an unexpected jump to 01.
The software is just reporting what it sees the relays doing (so it's not a software problem).
I can see that there is a problem with bit 5 of the PC. In both your examples, PC=2x changed to PC=0x. You should try changing PC between FF and 00 (with the keypad) a bunch of times. Most likely the bit 5 relay needs to be swapped with some other relay- it's holding current is probably a little different.
The PC 0x00 vs 0xff worked properly after initial construction, but now it seems that bits 5 and 7 are not setting properly (as you suspected). Is there a drawing which helps locate the offending relays or do I need to find them in the schematic?
Thanks much!
Think its these relays. I had problem with K70, but I kind of heard it sounded different and the demo program didn't finish. It ran and ran. But just swapping K70 with K65 besided solved that. :)
After my coffee, my brain kicked in better and I realized that the silkscreen on the board might indicate which relays could be the problem. I swapped a couple a couple of times and it seems better now, but bit 5 still seems on the edge. I guess I'll keep fiddling with them if it contues to flake out, at least until I run through the few extra relays I purchased.
Changing R204 to 1.8K has made the PC much more stable.