33905 / SBC Issue: CAN RXD Pin will never assert low, stuck at 3.3V whenever SBC powered

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

33905 / SBC Issue: CAN RXD Pin will never assert low, stuck at 3.3V whenever SBC powered

719 Views
slowrobotahead
Contributor I

I'm not using the development kit. Jumped right in to using my own board. MCZ33905S, 3.3V version, hooked up as the main power supply to my board. I have the external PNP, SPI, and all other functions seem to be working. Watchdog, CAN Mode, various settings, 5V VReg, all appear to work as expected.

 

Issue WAS - The CAN RXD line between the SBC and Micro will never go low. It's "stuck" at 3.3V exactly. I can watch the scope and on the CAN+/- lines I can see differential behavior as expected, but this is never "passed" on to the RXD line, it just sits at a solid 3.3V. CAN TX line is also at 3.3V resting but the micro can assert this low as should be the case.

 

-SOLVED- ... Well... I was having two issues in regards to the title. One is that the cap for my split termination was 50nF not 5nF, this was bad. And also some jerk (me) had the wrong pinout for my CAN diagnostic cable, so + and - were switched which I had checked multiple times, but not before fixing the first error. So... I feel dumb. However.... I am still having a fairly troubling issue with the SAFE pin/line that I discovered while diagnosing this CAN error . If anyone can reply on that, now in bold below, I'd appreciate it. Otherwise, I'll make a new post and mark this as answered. Embarrassed.

 

Tried:

- turning 5VReg off - no effect

- took away the SPLIT Biasing and am just using two 60ohm resistors between +/- - no effect

- Tried CAN Modes 0, 1, 2, and 3 - no effect

- Changed micro from internal CAN RX Pullup to just regular input - no effect

- Change CAN RX Pin from input to output and asserted low (not a good idea, I know) - effect is almost exactly .5V on the line

- Various settings via SPI - no effect

- Setting micro's RX pin to low has no effect on other line's voltages like 3.3V, CAN TX, or etc.

 

 

 

The only other bits of information that might be relevant is that after initialization of the SBC:

 

- SBC during RUN is reporting no recurring errors.

- I do get a VREG/0 device flag error just after my init routine, it's 0x10 on VREG0 which is 5VReg Undervoltage, but once cleared, it's does not come back even when tx/rx of CAN messages.

- Also that using the READ MODE command 0xDD80 always reports (return data 0x1A) that the SAFE driver is set. The SAFE pin is not hooked up in my circuit. Using this command is supposed to clear the bit (LEAVE SAFE) doesn't seem to. I am seeing no indication that I am in SAFE mode. The SBC will suffer multiple resets during any breakpoints because I am also not using DEBUG mode, so WD expires. Using Debug resistor of 2k or so to keep VDD on so that on release of the micro from reset, it can re-initialize via SPI

 

Any information that anyone has as to why I may be "stuck" in SAFE would be exceptionally helpful!

Labels (1)
0 Kudos
3 Replies

528 Views
reyes
NXP TechSupport
NXP TechSupport

Hi slowrobotahead,

The MC33905 have a SAFE active-low output that is triggered in the event of a microcontroller failure, which could be indicated by multiple resets, RST pin shorted to GND, low VDD, or missed watchdog/s. The intention for this output signal is to drive electrical safe circuitry isolated from both the microcontroller and the SBC to put the module in a known state.

How is the DBG pin connected in your application?

I ask this because the DBG (debug) pin has dual functionality. It can be used to run the SBC in debug mode (no need to monitor the watchdog) by placing 8.0 V - 10 V on pin or a resistor can be placed to GND. When the resistance to GND is implemented on this pin, the SBC will then react to a module fault in four different safe modes of the SBC depending on the DBG resistor value.

And in case DBG pin is open, the device will go into SAFE mode B3.

Check section 4.6, pages 33 and 34 of the application note AN4770 for more details about this.


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

528 Views
slowrobotahead
Contributor I

Debug is currently hooked with a 22ohm to ground, so selecting SAFE MODE A when in safe mode. The only way for me to work on the micro was to have some safe mode with VDD ON because multiple resets would happen right at powerup with an unprogrammed micro. Tried supplying 3.3V with my programmer, but it was going to cause too many issues.

Would have tried debug mode while developing intially. It's too late to be useful now, but it really have have helped initially while figuring out the watchdog and SPI settings. The upside is my production code has a really robust SBC handler that ensures regardless of faults or resets, that I'm in the correct mode and settings all the time.

When I'm done with development I'll go to a 15K resistor to ground on debug. But that isn't my issue here...

My issue is, when asking the SBC what the current mode is, it always reports safe mode on bit1 with a DD80 command.

0 Kudos

528 Views
reyes
NXP TechSupport
NXP TechSupport

Hi slowrobotahead,

Try using the following configuration:

1) Power on (debug mode) => normal mode => init mode (by SPE mode register)

2) Read random code

3) Write 0101 0010 01 R5 R4 Ri3 Ri2 Ri1 Ri0

4) Check SAFE pin (low => OK).

5) Write 0x1D80 (=> safe pin release)

You should use one line command mode because 33905 control panel doesn’t work correctly after sending 4) command.


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos