Joseph King

PortD[3] on the MC1321x

Discussion created by Joseph King on Jul 10, 2006
Latest reply on Jul 13, 2006 by Joseph King
I am developing using the MC1321x series of 8-bit microcontrollers, specifically the MC13213 at this time. I have encountered a problem with this new System in Package, in that I have been unable to successfully reset the modem from the MCU. One of the most puzzling things is my inability to program PortD[3], tied to ~M_RST (or ~M_RSTB) on the modem, as an output. To quote from data sheet MC1321xRM, section

"From a reset condition, the MCU initiates PTD3 as a high-impedance input with the internal pull-up disabled. As a result, the modem reset input will be floating and the modem will not be held to reset. As part of the MCU initialization PTD3 must be programmed as an output and then driven low to reset the modem. The ~M_RST input is asynchronous and needs to be held low for only a short period."

Programming PTD3, a pin that is not output from the package but is merely an inner connection between the modem and HC(S)08 series MCU, as an output resets the microcontroller while running in debug and displays ILLEGAL_BP. The problem does seem to be with this specific pin, as I have used other pins to blink LEDs, and have even programmed another internal pin, PortD[1] (RXTXEN), as output with no problems. Other pins on PortD are functional.

Because it seems odd to me that this GPIO pin would be useful for anything other than resetting the modem, as access to the output is impossible, I thought that perhaps initialization of this particular pin of the port wouldn't need initialization, and was simply an output after reset, and forevermore after that. Even though this doesn't agree with the documentation that I have seen, I tried pulling ~M_RST low for a second, and then released it. Then, I waited for the IRQ interrupt that should arrive from the modem within 25 ms of reset (section 9.1.1 of MC1321xRM), but nothing. I didn't really expect anything, but it was worth a try.

Any ideas?