PIC32MZ Errata

Status
Not open for further replies.

Gobbledok

Active Member
This is a bit of a rant thread I suppose. I was having a look at what's around when it comes to microcontrollers (as I do) and was attracted to the PIC32MZ due to it's high speed (200MHz) and loads of internal RAM (512kB).

I thought I'd have a look at the errata to see what was in there and to my surprise it was a pretty full document.

The main ones which would concern me:

If you cannot use open-drain outputs for anything other than a normal IO port then you cannot use external pullups to 5v when using the (for example) SPI. You can only interface with other 3.3v devices unless you bit-bang.

10. Module: Oscillator
The Ceramic Resonator cannot be used as an
input to the Oscillator module (OSC1/OSC2 pins).
Work around
Instead, use either a crystal oscillator or the
external clock.
Cannot use a ceramic resonator as the main oscillator.

11. Module: Secondary Oscillator
A crystal oscillator cannot be used as the input to
the Secondary Oscillator (SOSCI/SOSCO pins).
Work around
Instead, use the external clock.
Can only use an external clock for the 32.768KHz RTC input.

If using the USB, you cannot disable the USB PHY and enter sleep mode at the same time.

19. Module: USB
The USB module requires a start-up delay.
Work around
When enabling the USB PLL, add a three second
delay before turning on the USB module.
3 Seconds!

22. Module: Watchdog Timer
When the Watchdog Timer is used in Window
mode, the module may issue a Reset even if the
user tries to clear the module within the allowed
window.
Work around
None.
You cannot use the Watchdog Timer in Window mode.

23. Module: Watchdog Timer
When the Watchdog Timer expires during Sleep
mode, it causes a Reset rather than a Nonmaskable
Interrupt (NMI).
Work around
None.
Will reset instead of interrupt.

So if I were to use the Parallel Port for an LCD, I cannot use any of the unused address pins (basically all of them) as an I/O port?

25. Module: I2C
Setting the PEN bit to send a Stop does not
release the SDA line.
Work around
The I2C module must be turned ON before every
transaction, and turned OFF after the transaction
completes.
You must enable and disable the I2C port for each and every transaction.

27. Module: Random Number Generator
True RNG mode does not function.
Work around
Instead, use Pseudo-Random Number Generator
(PRNG) mode.
The RNG does not work.

34. Module: SQI
Clock speed for read operations does not meet the
maximum specification (SQ10) of 50 MHz. For
read operations the maximum clock is 25 MHz.
Work around
None.


37. Module: Comparator
The Input Offset Voltage parameter (D300) is not
within the published data sheet specification. The
typical value is ±30 mV.
Work around
None.
The datasheet says ±10 mV.

So I cannot use a crystal as the secondary oscillator, and I cannot use the (now unused) SOSCO pin as a general Purpose IO?

There are internal pullups on 5v tolerant IO pins but it is recommended not to use them.

Only 1 out of 5 sample and holds works.

To switch to the PLL you need to lower the speed of all of the peripheral busses before switching and then raise the speed once done or it will reset.

Will reset instead of interrupting.


I don't mean to hate on microchip because I learnt using PIC's but some of these are some pretty serious problems and makes me think that it wasn't even ready for release yet.

Does anybody know how the errata process works? As in are these problems found before releasing it to the public or are these problems found via feedback from users? Do they even test their design before selling them?

I bet they aren't selling many of these and needless to say I stopped looking at them after looking at the errata.
 
And there are hundrends more which Microchip haven't found yet. The 32MZ series is very new, so it's nothing unusual. I'm sure it'll be better in few years from now. Meanwhile, use 16F instead
 
Haha there's a bit of a difference between a 16f and a 32MZ but I see your point. The 16f is a lot more mature.

TBH I can't say that I have looked at a products errata at the start of the lifecycle so I had no idea if this is common or not.

I just thought that there would be a better process I guess. For example how hard would it be to test the primary and secondary oscillators with a crystal before production? (the primary oscillator only works with a crystal with the latest silicon revision and the secondary oscillator doesn't support a crystal at all).

A quick glance at the PIC32MX errata shows that there is still almost 50 silicon issues still with that chip. That was released in 2008 (I think). What is considered a mature product?

The LPC176x (released 2009 I think) errata shows only 14 issues.

The STM32 (released 2011 I think) errata shows no silicon issues, only an update to a legal notice.

Once again I don't mean to hate on microchip but is there something I'm missing?
 
Last edited:
A quick gland at the STM32 errata shows no silicon issues, only an update to a legal notice.

Once again I don't mean to hate on microchip but is there something I'm missing?

The MZ still really in a pre-production state IMO. True A versions will be available maybe in March 2015.
**broken link removed**
https://www.st.com/st-web-ui/static...echnical/document/errata_sheet/DM00037591.pdf

For complex chips this is fairly normal, nothing on either is/was a complete show-stopper for most people developing new products.
 
Last edited:
Sorry nsaspook I did make a couple of changes to that post after you quoted it.

That would explain it but I see no mention of anything to that effect on the PIC32MZ product page.

I guess I am a bit surprised and have not some across this before, not to say it is not common.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…