Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Hacking RTC on PC Motherboard

Status
Not open for further replies.

VictorPS

Member
I need a solution which can keep the RTC (real time clock) on PC Motherboard running accurately, or let the software acquire accurate time. I am thinking to sync the time & date of RTC with GPS receiver.

I want it to be OS independent, so I don't want software solution.

I know there is such product, an add-in card (ISA/PCI) , which it redirects the vector call from the BIOS clock to the clock on the ISA/PCI card.
But the ISA/PCI card will not automatic sync with GPS without software/driver intension, this is the limitation.


I would like to design such card as above mention, and add automatic GPS sync.

How to redirect the vector call for Bios clock to my clock card?
Or where can I get the related information on the low level motherboard function?

Thank you, :)
 
I don't see how you can possibly have a purely hardware solution?, nor do I see why having the required software would render the system OS specific?.

You need something that works at the BIOS level, this is totally independent of the OS - simply part of the motherboard. You could create a plug-in card with a GPS or atomic clock radio link (for the accurate time) with an EPROM on board which intercepts the BIOS (just like a video card does). During power-up the program in the EPROM could read the time from the accurate clock system, and write the details to the motherboard clock. If you want it to be constantly updated you could have it do so by regular interrupts - possibly at the BIOS level (I'm not that familiar with PC BIOS).

Obviously for any solution to be OS independent it's got to run at a lower level than the OS, so you will need to brush up on your assembly writing skills :lol:
 
Thanks for reply. :D
zevon8 said:
http://www.beaglesoft.com/index.htm
Yes, this is what I look at initially, but to sync with GPS, it need to run software in windows OS. :(

Nigel Goodwin said:
I don't see how you can possibly have a purely hardware solution?, nor do I see why having the required software would render the system OS specific?.
I am thinking interface the RTC DS12887 on board with PIC micro, let the PIC update the time on DS12887 and release back to BIOS, but not every motherboard using DS12887 or equivalent, so this is not a good choice.

You need something that works at the BIOS level, this is totally independent of the OS - simply part of the motherboard. You could create a plug-in card with a GPS or atomic clock radio link (for the accurate time) with an EPROM on board which intercepts the BIOS (just like a video card does). During power-up the program in the EPROM could read the time from the accurate clock system, and write the details to the motherboard clock. If you want it to be constantly updated you could have it do so by regular interrupts - possibly at the BIOS level (I'm not that familiar with PC BIOS).
Yes, yes, yes, this is exactly what I want! :D

From :http://www.connectotel.com/netware/timesg.html
"An RTC chip can be addressed by placing a command in I/O port 70h, then reading back the result from I/O port 71h." :idea:

Do you think I have chance for a PIC micro calling that BIOS function?
Anybody know a good site describe PC BIOS function?
 
As Nigel stated, there will need to be software of some sort involved, either at a "high" level, such as the operating system, or "low" level, as in microcode or firmware running in a loop. The BIOS can keep its own records, but there will need to be intelligence in the form of software/code to fetch the time and write it to the bios at some predetermined interval.

Maybe one of the simple datalogger cards that has a micro that you can program embeded on it would be a good starting point? Many of them have facility for custom code to be loaded so that you can control the I/O

Here are some more links to get you started:

**broken link removed**

http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte1at0.htm

**broken link removed**

http://en.wikipedia.org/wiki/BIOS_Interrupt_Calls

An online text of assembly language with sample and data on BIOS, interupts, etc:

**broken link removed**
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top