Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:23 03 Aug 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : 2 new MM Plus units going crazy

     Page 1 of 4    
Author Message
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 05:13am 06 Sep 2018
Copy link to clipboard 
Print this post

Just fired up one of my new MM+ Explore 100 units. Things are stupid.

Programmed each with Micromite Plus MMBasic Ver 5.04.10 Beta 9.

Smaller program with lots of graphics seemed to run fine.

Loaded up my latest large application and things go nuts.

1: This application is running on my current MM+, exactly the same unit as the new ones, all from Silicon Chip.

2: The code runs perfectly on the current unit and has been doing so for months.

3: If I power it off for a short while, the new unit will run for a short time, then I start getting stupid errors about the GUI definitions like buttons etc being invalid or to high a value.

This is usually preceded by these kind of errors.

CPU exception #7 (bus error on load or store) at address 0x9D03A2CB
Processor restarted

Micromite Plus MMBasic Ver 5.04.10 Beta 9
Copyright 2011-2018 Geoff Graham

CPU exception #5 (address error on store) at address 0x9D059127
Processor restarted

CPU exception #4 (address error on load or ifetch) at address 0x9D02A4B0
Processor restarted

Tried the second unit and both new units are basically the same.

1: All board components on the two new units are identical to the current running unit.

2: Same power supply.

3: Supply rails are 4.95 and 3.3

4: Reloaded firmware - same.

5: Tried an earlier version of MMBasic - different errors but same results.


Finally tried reducing the CPU speed to 100 instead of 120 and it appears to be running.

Anyone see anything like this before?

BTW I checked the CPU and they are the same parts. Current old unit runs at 120.

Ill health stops me from doing much more at this time.
NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 06:31am 06 Sep 2018
Copy link to clipboard 
Print this post

This is strange.

Could you reflash an older version of MMBASIC back into one of the units, and see if the problem goes away? We know you are having issues with the latest Beta-9, but I would like to know if the problems are still there if you flashed back to something like 5.04.08 stable.
Smoke makes things work. When the smoke gets out, it stops!
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 09:03am 06 Sep 2018
Copy link to clipboard 
Print this post

I had put an older version on, it made no difference.

Interesting thing is Geoffs latest version runs perfectly at 100 MHz, I grabbed the second new unit running a 5" screen (others are 7") and it also now works perfectly at 100 MHz. the original unit runs perfect;y at 120 MHz using same latest beta release.

Wondering what chip number is for 100 Mhz units, have I been supplied 100 MHz chips?

Paper work and parts sticky card labels them as 120 MHz. It's hard to read the original chip lettering.


NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 09:37am 06 Sep 2018
Copy link to clipboard 
Print this post

OK, purely out of interest, what happens if you slow the unit down to 80MHz?

'CPU 80' at the console.

EDIT: Unfortunately, Microchip have NO different marking for the 100MHz part vs the 120MHz part, so it is impossible to tell. Odd, really, that Microchip don't have SOME kind of marking to differentiate one from the other. Edited by Grogster 2018-09-07
Smoke makes things work. When the smoke gets out, it stops!
 
Azure

Guru

Joined: 09/11/2017
Location: Australia
Posts: 446
Posted: 09:37am 06 Sep 2018
Copy link to clipboard 
Print this post

You need to get the part number of the chips from the new boards and the old board.

If you have an iPhone or something similar try taking a picture as close s you can to still get focus at an angle to the chip. Try with and without flash. You can usually view the picture and zoom in to see the part number if you get the angle right.

Sounds very much like they are 100Mhz chips

Part numbers from Page 6 of the MM Plus Manual
  Quote  The recommended chips are:
PIC32MX470F512H-I/PT 64-pin TQFP package – maximum speed 100 MHz
PIC32MX470F512H-120/PT 64-pin TQFP package – maximum speed 120 MHz
PIC32MX470F512L-I/PF 100-pin TQFP package – maximum speed 100 MHz
PIC32MX470F512L-120/PF 100-pin TQFP package – maximum speed 120 MHz


Let us know how you go identifying the chips.Edited by Azure 2018-09-07
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 09:40am 06 Sep 2018
Copy link to clipboard 
Print this post

@ Azure: Yep, the PART NUMBERS are different, but the actual device markings are IDENTICAL for both the 100MHz part AND the 120MHz part. There is no difference on the marking of the device itself, which is......unfortunate.
Smoke makes things work. When the smoke gets out, it stops!
 
Azure

Guru

Joined: 09/11/2017
Location: Australia
Posts: 446
Posted: 11:32am 06 Sep 2018
Copy link to clipboard 
Print this post

@Grogster, you are so right!

I first checked the reference manual for device markings and it showed no hints. I then went and checked the last batch of chips I purchased from microchip direct which included PIC32MX470 64 and 100 pin units both 120MHz parts, and no speed marking.

I then went and checked the processor type and ID bytes and they also do not have any indication of speed.

I also checked what element14 had in stock and no help there.

I still suspect they are 100MHz parts based on the errors you are seeing. If you purchased them from SC as kits it might be worth contacting them.
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 12:09pm 06 Sep 2018
Copy link to clipboard 
Print this post

I think it would be worth checking the silicon version no.
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 11:08pm 06 Sep 2018
Copy link to clipboard 
Print this post

The problem is identifying the correct part, can it be read internally from these chip?

Below the 512 marking on the chip there is a number. Don't know what this means.

The latest two chips are both the same -> 1743QC7 - batch number?

The unit running at 120 MHz ends in ??36KT1 - the 1st two numbers are so faded they cannot be read.

The fact that they run for the 1st two seconds @ 120 MHz from a cold start and then fall over also points to 100 MHz chips being over clocked at 120 MHz.

I know the kind of response I'll get from SC, but I might shoot off an email.

Fortunately I managed to use the (basic interpreter delay) and modify the 9 KHZ clock and decode control I/O code to get the units running down to 60 MHz so 100 MHz should be ok, but it's annoying. Edited by KeepIS 2018-09-08
NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6283
Posted: 11:54pm 06 Sep 2018
Copy link to clipboard 
Print this post

The new chips were made in week 43 of 2017
The old chip was week 36 of 20??

The last 3 letters are Alphanumeric traceability code

Not a lot of help for you.
Jim

VK7JH
MMedit
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 12:42am 07 Sep 2018
Copy link to clipboard 
Print this post

Thanks for that.

FYI 1st dig was 9 or 1, 2nd was 5, so it's likely 9536KT1Edited by KeepIS 2018-09-08
NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 01:07am 07 Sep 2018
Copy link to clipboard 
Print this post

It's a bloody nuicense, actyually. Microchip has such huge long part numbers for the PIC32 series of chips, you'd think that they would have added a way to ID the speed.

It could have been as simple as something like an 'A' on the end of the part number to indicate this is the 120MHz part. No 'A' means it is the 100MHz part.

As I understand things, when MMBASIC fires up it defaults to 100MHz, so should be stable on either part. If you had a 100MHz part, and then issued the 'CPU 120' command to throttle it up to 120MHz, and THEN started seeing issues, I could beleive that you had a 100MHz part. However, from fire-up EITHER the 100Mhz or 120MHz part should be stable, as MMBASIC does not try to run faster then 100MHz from default settings at power-up.

So, this is still rather odd.
Smoke makes things work. When the smoke gets out, it stops!
 
Azure

Guru

Joined: 09/11/2017
Location: Australia
Posts: 446
Posted: 01:08am 07 Sep 2018
Copy link to clipboard 
Print this post

It is most likely 15 as that would be 2015 in the date code after the part number (they were not invented in 95 so could not have been made then).

That code is YYWWNNN where YY is the last 2 digits of the year, WW is the week of manufacture in that year and the NNNN is the traceability code, this info is at the end of the data sheet if you want to find it.

@Grogster, I think his code is running the CPU 120 command which is why he was having problems (if they are 100MHz chips).Edited by Azure 2018-09-08
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 01:14am 07 Sep 2018
Copy link to clipboard 
Print this post

Oh, OK.

Yes, in that case, throttling up to 120 would cause problems on a 100MHz part - if that is indeed the cause of the issue, we just don't know.

It would be incredibly useful to have a way of finding that out.

Peter & Geoff: Is there a way to query the part number INCLUDING it's rated speed from inside a Cfunction or something? You never know unless you ask.
Smoke makes things work. When the smoke gets out, it stops!
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 01:16am 07 Sep 2018
Copy link to clipboard 
Print this post

My code was setting the CPU to 120 MHz, that's what finally made me twig and try it at 100.

If you set CPU 120 at the command prompt you get a garbage response on screen and ctrl-c won't work.

Power off and on, it defaults back to 100 MHZ and all is good. No program loaded or running, set CPU 120 and again crap on screen and it has to be powered off and on.

I'm sending an email to SC, doubt it will do any good.





NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
Azure

Guru

Joined: 09/11/2017
Location: Australia
Posts: 446
Posted: 01:18am 07 Sep 2018
Copy link to clipboard 
Print this post

As per my earlier post

  Quote  I then went and checked the processor type and ID bytes and they also do not have any indication of speed.


There seems no published method to tell what the speed of the chip is supposed to be according to part number on the chip or published internal registers.
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 01:34am 07 Sep 2018
Copy link to clipboard 
Print this post

@ KeepIS: To me, that is reasonable proof that the device must be the 100MHz part. If you change your code so that it only runs at 100MHz, is everything fine? Ignore the fact it might not run quite as fast as you want for now.

Obviously, it is a SC board as you talk about contacting them. If you desperately NEED it to be the 120MHz part, I can help. I could send you a replacement 120MHz part if you have the abilities to replace the 100-pin chip yourself, or if you want, you could send me the board, and I could replace the 100MHz part with a 120MHz part, test and return to you - PM me if you are interested in this idea.

@ Azure: Ta. Missed you pointing that out before, sorry. Well, we're stuffed then, aren't we? (rhetorical)
Smoke makes things work. When the smoke gets out, it stops!
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 01:46am 07 Sep 2018
Copy link to clipboard 
Print this post

Hi thanks for the offer, I have a friend who specialises in SMD work so I can get her to fit them, if SC can't help I'll PM you for prices if I need them.

Yes the code works perfectly at 100 MHz. I've emailed them, kept it simple, basically as stated, nothing but inbuilt MM.Basic, command prompt perfect at default 100 MHz, issue CPU 120 and both units lock. Reset and it boots default 100 MHz and is again perfect.


NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1882
Posted: 02:07am 07 Sep 2018
Copy link to clipboard 
Print this post

One more bit of info:

If the units are fired up stone cold you can run them at 120 at the command prompt for a while until they heat up a bit.

Once at operating temperature, CPU 120 crashes both in exactly the same way.

They can run the program @ 120 stone cold for around 20 seconds, then they fall over, after that they will not work unless the CPU speed is left at 100 MHz.

NOTE: They can run the program ALL DAY at 100 MHz, and no, they are not drawing excessive current and the CPU is only slightly warm in either case.

All temperatures and voltages are exactly the same as the good unit running at 120 or 100 MHz.

Classic symptoms of over clocking a CPU.

NANO Inverter: Full download - Only Hex Ver 8.1Ks
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 02:09am 07 Sep 2018
Copy link to clipboard 
Print this post

Agreed. Over-clocked CPU's have been doing odd things like that for decades, if you push them past the officially supported speeds. Keep us updated if you have any success with SC.
Smoke makes things work. When the smoke gets out, it stops!
 
     Page 1 of 4    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025