DS1307 Secondary User Buffers

Status
Not open for further replies.

Suraj143

Active Member
Hi guys I need to confirm this from the datasheet.

It says when reading or writing the time & data registers, secondary user buffers are used to prevent errors when internal registers update.

What does it means?Where is these secondary user buffers? I like to read the secondary user buffers instead of the original registers.

If I want to read the seconds that is 00h location do I need to read 08h location?will it give seconds?
 

Attachments

  • RTC Read Buffer.PNG
    52.2 KB · Views: 184
You can read any register you like as long as you don't send an I2C start during the read. So, the answer is yes, you can just read the seconds.

Mike.
 
Thanks mike.

That means the datasheet shows the secondary buffers.I was wondering where they were...)
 
You can't access them... they are used automatically.. It'll be a 8 byte buffer used like a fifo on the serial ports.
The device can update the actual registers internally... It will be completely transparent too the user...
 
Thanks Ian.

Here is my actual scenario.I'm accessing DS1307 with a PIC16F628A (software I2C).The code works nicely.The problem is my clock is slow down by 8 seconds for every 12 Hours.

I have read maxims AN58 app note but still no luck.I have done those modifications but still no luck.

*I have redrawn my PCB with a GND plane.
*Match the crystal 12.5pF & 20ppm.
*Even turn OFF the clock & read the time after 12 hours.

Still no luck.

The new PCB is with the ground plane (maxims notes).It has 8 seconds slow time.

I have designed two PCBs.One with maxims notes & other is just forgetting every technic...

The old PCB without maxims note works nicely with 2 seconds error (slow down) per 24Hours.

How to overcome my problem with my new PCB?
 

Attachments

  • CLock gnd plane.PNG
    12.4 KB · Views: 179
  • clock no gnd plane.PNG
    9.9 KB · Views: 174
Normally the DS1307s are very accurate. I bought the mini board from Futurelec and that was extremely accurate. Maybe your ground plane is too big, the datasheet shows a ground plane that only covers the crystal.

Mike.
 
I tried to build different oscillators with Citizen watch crystalls rated at 5 ppm. I built my own circuits with BJTs, I attached them to PIC, I did PCBs, breadboards. I tested them for weeks for time stability. Everything that I had built had great accuracy with errors less than a second a day. Therefore, I wouldn't expect such thing as PCB layout to have such a huge influence. May be the crystal is bad? Did you try the crystal from the previous PCB?

How about the temperature? Are they around 25C? They may be very sensitive. Here's the accuracy vs. temperature graph for Citizen crystalls.

 
Normally the DS1307s are very accurate. I bought the mini board from Futurelec and that was extremely accurate. Maybe your ground plane is too big, the datasheet shows a ground plane that only covers the crystal.

Mike.
Very good point reg ground plane.I'll remove it & check after doing a new PCB.

Mike does your futurelec board has a ground plane below crystal?Bottom side of your boards?I mean around the xtal pins? From the shadows I cannot see a gnd plane bottom of your boards.

Does the 1 & 2 is connecting on ur board?
 

Attachments

  • ET-MINI_DS1307_600.jpg
    93.1 KB · Views: 160
Last edited:

Nice to hear that.I didn't try my earlier board crystal yet. Because I'm afraid while de-soldering that will be damaged
Here temperature varies from 26'C to 30'C.
 
On the Futurelec board the plain under the crystal and the plane surrounding it are connected but only at the ground pin.

Mike.
 
Thanks friends.

After changing the crystal the problem solved.Now I understood the PCB cannot influence such an error
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…