Main Site Documentation

Cerberus RTC won’t initialize


#1

Hi,
I hate sounding dumber than a monkey… but has anyone gotten the REAL TIME CLOCK on the Cerberus working? Im building data loggers for the plants water meters and the RTC is critical (someone somewhere is always tripping a breaker)!

Ive already installed the Sept. 14th Ethernet Firmware, added a CR 1220 on VBAT and a 32.768 crystal on PC14 & PC15… but the system hangs at RTC.Initialize – (WARN: Total initialization time exceeds ten seconds. : ProgramStarted is blocking execution… wonk wonk wonk). If I comment out RTC.Initialize the program runs but RTC.GetTime equals 01/01/1980 00:00:00 no matter what I set it to.

I know there is a problem with the Cerb40 C21 & C22 capcitors. Does that problem apply to the Cerberus C1 and C10 capcitors as well? Does EWR issue foul up the RTC? What gives?

Has anyone gotten the RTC on the Cerberus Working? Any help would be greatly appreciated.

Thanks.


#2

Start here:
http://www.tinyclr.com/forum/topic?id=7986
http://www.tinyclr.com/forum/topic?id=8739
http://www.tinyclr.com/forum/topic?id=8447
http://www.tinyclr.com/forum/topic?id=7930


#3

@ godefroi - I am not sure these links will be very helpful.


#4

@ globe engineering - you are using Cerberus? Do you have a 32.768khz crystal to add?


#5

OK, how about this one: http://wiki.tinyclr.com/index.php?title=FEZ_Cerb40_Developer#Real_Time_Clock

Note that while the links to Mouser and DigiKey are still there, GHI no longer officially recommends any specific value for the crystal or load capacitors: http://www.tinyclr.com/forum/topic?id=8739&page=2#msg86999


#6

He is not even using cerb40. No need to recreate noise around this topic again. This will only confuse newcomers and harm GHI. You made your points clear in previous posts already. Thanks for understanding.


#7

He may not be using Cerb40, but the issue is the same on all the Cerberus-family boards. Also it’s not assured at all that you could even get the RTC crystal to start or run correctly when connected through the sockets on the non-Cerb40 boards. The crystal is supposed to be as close to the MCU as possible, and the load caps are supposed to be close to the crystal.

Gus, I’m not going to “understand” or stop creating “noise” until someone from GHI comes out and explains clearly what the problem is, what products it affects, what could be done to mitigate the issue for those who have already purchased hardware, and what will be done to ensure that future purchasers don’t get bitten.

If you’re worried about harm coming to GHI, then dodging the questions and disappointing customers AFTER they’ve made their purchase will result in much more harm that making it clear from the outset what’s going on.


#8

I’ve hooked up an Abracon AB38T-32.768KHZ to PC14 & PC15… do I need to get a different crystal?


#9

It might work, it might not. There has been MUCH discussion on the topic (see the threads I linked in my first reply). The only real answer I can give you is, it might, or it might not, you’ll have to try it. If it doesn’t, then you might play around with different load capacitors to see if you can make it work.


#10

@ godefroi - honestly, after the “much” discussion you are talking about I am still not sure why you think it may or may not work!

Even more confusing, the cap and crystal selection has nothing to do with the GHI software and we made it clear the 2 caps found on cerb40 need to be removed.

I hope this is the last thread from you about this topic so please tell exactly what you like to see done!


#11

Community is welcome to comment as well. GHI’s goal is to always keep things as perfect as possible.


#12

Can you confidently say that it will work? Even though there has been much discussion, it has all (to my knowledge) involved the Cerb40. I haven’t seen anyone try it on a Cerberus, so I can’t say whether it will work.

No, but it has everything to do with the GHI hardware. I don’t see the difference.

Come out and explain clearly what the problem is, what products it affects, what could be done to mitigate the issue for those who have already purchased hardware, and what will be done to ensure that future purchasers don’t get bitten.

The last time this came up, your response was essentially to throw up your hands and say, “we don’t know what will make it work, so you’re on your own to figure it out.”

My goal here is certainly not to harm GHI.


#13

Come out and explain? Isn’t this what I did in reply to your previous reply to previous RTC threadt?! Even joe replied with values we used in our test but you were still not happy, which is why I removed values from wiki thinking this is what you wanted.

Do you even own any of these products and have used RTC?


#14

By the way, I have requested from our team to put pictures/instructions on how to run RTC on each one of the Cerb-family boards and to include the values used in the test.

While this can be simply done, this is not FEZ if we do not make it all really super easy :slight_smile:


#15

[quote=“globe engineering”]
… but the system hangs at RTC.Initialize – (WARN: Total initialization time exceeds ten seconds. : ProgramStarted is blocking execution… wonk wonk wonk). If I comment out RTC.Initialize the program runs but RTC.GetTime equals 01/01/1980 00:00:00 no matter what I set it to.

I know there is a problem with the Cerb40 C21 & C22 capcitors. Does that problem apply to the Cerberus C1 and C10 capcitors as well? [/quote]

Yeah, if you don’t call Initialize, the Crystal is never turned on, so it is not a surprise that it doesn’t keep time.

I have been using the RTC on the Cerb40 and it keeps time quite well. So I just took a look at the drawings for the FEZ Cerberus and it is exactly the same as the Cerb40 (other than the length of the traces, which are longer on the Cerberus, adding more capacitance). It has two capacitors C10 and C11 that are 27pF (too big). So, I would get a 6pF crystal and remove one or both of the capacitors (C10, C11).

Typically, when the clock initialization times out, it is because the crystal will not stabilize. This crystal should stabilize in 1 second or less (preferrably <0.1s). If you want to know for sure what is happening, I suggest that you download the spec sheet for the ST chip and lookup the LSE Ready bit. This bit will change to 1 when the crystal is stable. You can use the GHI Register classes to read this bit. Alternatively, you can go to the GHI codeplex.com site for the fiirmware and download the RTC.cs file. This contains the RTC class. Add this to your project, change the class name and instantiate that class instead (will require some modifications to work). Then you can step through the code and see exactly where the problem is.

Or you can buy an ENC28 module, and just hit the NTP servers on the internet to get the time everytime you boot!

Or you could just get a Uninterruptible Power Supply for the whole device.

Either way, GHI has given us the source code and all the docs needed here. Good Luck.


#16

If you do that, plus a note and a link on the appropriate product pages, I would consider it good faith, and I would be satisfied.

Gus, I don’t know ANYONE who would consider removing or replacing 0402 capacitors on these boards “really super easy”. Maybe noone else in the community agrees with me, or maybe I’m blowing it way out of proportion, but consider this; given two new customers, one of whom purchased a shiny new board and found out it didn’t work, and one who knew going in that there was an errata for the board, which one will feel the most negatively toward your company?

And yes, I do own affected hardware.


#17

ahem…relatively new to these forums, but if i may chime in(since you asked)…i think the normal practice in these cases is to recall and fix or replace. i know i’m not comfortable w/ removing and soldering stuff…if i’m forced to do that and fry my board, does warranty cover that type of damage?
i really don’t want to be fiddling much w/ the hardware except to ‘click-em-together’ and do what i do best, write software.

that said, i don’t think i have one of these boards, so prob not affected. i ordered the Spider and Cerbuino and hopefully will be here tomorrow.


#18

Thanks Gus… any info your team can provide will be a big help!

Valkyrie-MT – THANK YOU!!! Hitting the NTP servers on bootup is an excellent idea! Ive already got the ENC28s I will incorporate the time check it into my design.
I still, however, need the data loggers to be as close to bullet proof as possible and would like to get the RTC running (…just incase the network goes down with the power).

Consequently, I followed your advice and was able to remove C10 & C11 (soldering iron, wick, tweezers…) without out mutilating the board or burning myself. Ive ordered a handfull of the the Epson C-002RX 6pf Crystals from Mouser and will install one Monday.

Thanks for your help!

Wish me luck.


#19

OK, I’m gonna stick up for GHI a bit here. Look at it from their perspective. It’s really a chicken and egg problem. They could hold back the hardware until the firmware was done, then everything could be tested. Or they could give us the hardware early and we all figure it out together. I GREATLY prefer the later approach. I would NOT have wanted to wait before getting my hands on the hardware. We are all early adopters. Deal with it. And to be honest, removing a capacitor is not that bad. Heck, it requires similar skills just to get the crystal on, right? I think the right thing to do is to increment the version number in future boards and on the list of specs on the web page, just put an * next to the RTC feature and explain that v1.1 boards need a capacitor removed and a crystal soldered on, v.1.2 just needs a crystal. OR, GHI could just put an SMT crystal on future boards – I would love to see that!


#20

So the guys were telling me this is very clear in the datasheet, use 6pF crystal with 8pF caps!

By the way, I have a board on my desk now with 12.5pF crystal and no loading capacitors and it works just fine. Of course this is good as a prototype but if you are in production then you should follow what the datasheet says.

A snippet from datasheet was added to wiki http://wiki.tinyclr.com/index.php?title=FEZ_Cerb40_Developer#Real_Time_Clock

We are also adding some images and updating Cerbuino and Cerberus pages soon