Hi I am having issues with voltage levels on pins p1.4-p1.7 on a seehau emulator with c51 pod. My target is NXP 8051 based CMOS microcontroller with 32 I/O Lines, 3 Timers/Counters, 6 Interrupts/4 Priority Levels, ROMless, 128 Bytes On-chip RAM.
Without the emulator, when I plug in the NXP microcontroller, and flashed eeprom, I get about 2.1-2.3V on those pins, and the target functions correclty. when I use the emulator those voltages are at 1.8V not wnough for target to function correclty. Im using the scope to measure them. Pod is setup for external crystal and internal power. Vcc is at 5.1v in both cases with emulator and with microcontroller/eeprom. Any ideas on where to start troubleshooting? I guess it might have something to do with jumper settings on that pod but the user guise is not that detailed.
Do you have any external pull-up resistors?
.
I just saw that it is 5V and then you should have far more on your pins than you state with the chip.
Is the chip ports configurable - why on earth can nobody figure out to state which chip they actually use? - then configure the outputs to push-pull, otherwise you may need pullups. My guess is that you use quasi-bidirectional ports and have too much load for the pullup in the emulator (which LEGALLY can be far less than the actual chip. Try with a scope and see what the breief hard pullup does.
Erik
Hi guys thanks for the comments/recommendation. I don't have the schematic with me at the moment. But I think we definitely have the pull-up resitors since in normal operation the voltage is at 2.1 - 2.3 v or so on those pins. Those pins are inputs to FETs which are driving the stepper motor. without the emulator, the stepper motor is spinning ok. With the emulator the motor sounds like it wants to spin but it isn't. I traced it to low voltage levels like 1.8v at the FETs at pins p1.4 - p1.7.
We had an older pod-31 which was driving the motor ok, but had some issues with another port. p3.6 and p3.7 were being block for I/O by that emulator. So then we got a new pod board pod-c51b which does not block i/o on those pins but then this problem came up. I think its got to be something with the jumper settings on the new pod board. Any chance there is some issue with options for target in my compiler? I didn't change any of the settings and I think the new pod is 12Mhz as opposed to 33 which was the old.
But 2.1V is also quite lousy. With a 3.3V part, the pins should try to reach 3.3V if having push-pull drive or internal or external pull-up.
A 5V part should try to reach 5V.
If the pins do not manage to reach close to VCC, then you have too much load in relation to the pin drive capability or the strength of the pull-up.
Your figures really do sound like you have a quite high external load (even without the pod) and only a very weak internal pull-up in the processor.
Hi everyone just wanna update you. It was the pull down resistor. We changed it from 10k to 100k. Now we get 4.1V which is plenty for the FETs input voltage to drive the stepper motor. So the emulator is running and we're considering putting 100k pull down into production as well. But we'll see after the debugging is finished on an emulator Thanks again! Petar
It was the pull down resistor pulldown resistors on a '51 port ???????????????????
Maybe pull-down resistors near the FET transistors. Not uncommon to have pull-up or pull-down resistors if the transistors are on the other side of a removable wire - maybe close to the actual load.
I've made great experince on this matter during last weeks ;-((( Read the intel application note "designing with 80C51BH" The output stage is a three-values/current-limited/pull-up-circuit. It seems not to work the same on all product suppliers but, in any case it depends also upon your inizialsation phase sequence for the ports.
Basically you have up to a maximum (but it is typically lower) the 0.75mA if your output voltage is above 2V and max 0.075mA if the pin voltage is below around 1.4 V. The application Note describes the circuit operation. Swithcing is controlled by the output pin voltage. This feature is used to reduce pull-up current when externally you pull down the pin but also acts as a limitation on driving capability when you are driving external loads like a transistor instead of a mosfet.
Therefore you must be very carefull in designing circuits attached to the P1 port. Mainly if you are designing professional devices that must work reliably over a wide temperatur range. (my design is safety critical and over -55 to 125 degC so imagine the spread of values...;-))
If required could provide some more data in a future.
the belief that a 'high' from a standard '51 has any oomph has been the bane of many design attempts.