英创工控主板扩展高精度时钟方案(WinCE)--技术天地

技术天地

英创工控主板扩展高精度时钟方案(WinCE)作者:杨阳、朱贤武    发布时间:2019-7-19 16:50:09    被阅览数:次

  在实际应用中,有时候英创工控主板自带的时钟精度不能满足项目需求,客户需要自行扩展更高精度的时钟,本文举例介绍一种在英创工控主板(WinCE)上扩展高精度时钟的一个方案。


硬件参考


  高精度实时钟扩展方案,采用RX8025T,它是一颗内部集成了高精度32768Hz晶体,且带温度补偿的时实钟芯片,最高精度相当于1个月误差5秒。


  RX8025T的应用电路图非常简单,采用I2C总线与ESMARC工控主板连接,GPIO26是I2C_SDA,GPIO27是I2C_SCL, 基本应用电路图如下所示:


英创工控主板扩展高精度时钟方案(WINCE).png


  RX8025T时钟芯片没有独立的后备电池供电端口,因此,在供电端,采用双二极管对它供电:当系统供电正常,3。3V电压高于3V电池电压,由系统电源供电;当系统断电后,无3。3V电压,3V电池电压高于3。3V供电端,转为3V电池供电。


  根据RX8025T的电流消耗参数:3uA/DC3V,如果使用CR2032钮扣电池,其电能容量约为220mAH,再按照0。7的耗电率(电池自放电及电能利用效率),理论上可以使用5万小时左右。


  为了方便客户高效地将RX8025T集成到应用系统中,英创公司基于EM928x平台,提供了对RX8025T的参考程序,主要有几个函数以供用户使用:


  RTC初始化程序:

  首先初始化I2C引脚,再判断时针是否起振。

  输入:

    Force 为1,则强制设置初始化时间

  返回:

    如时钟已经起振,则返回0

    如时钟没有起振,则设置起振位并初始化时间为:2009-12-21 15:20:30  星期一,再返回1

    BOOL RTC_Init( BOOL Force );


  RTC 时间读取:

  输出:

    SYSTEMTIME 数据

  返回:

    设置成功 1

    设置失败 0

    BOOL GetRTCTime ( SYSTEMTIME *RTCTime );


  RTC时间设置:

  输出:

    SYSTEMTIME 数据

  返回:

    设置成功 1

    设置失败 0

    BOOL SetRTCTime ( SYSTEMTIME *RTCTime );


读取高精度时钟时间到系统中



  SYSTEMTIME RTCTime;


  RTC_Init(1);

  GetRTCTime (&RTCTime);

  SetLocalTime(&RTCTime);


设置系统时间后如何同步设置到高精度时钟中


  扩展高精度时钟后,通常希望在系统中设置时间时,或是使用SetLocalTime等API函数设置时间时能同步的将时间设置到高精度时钟中。可以利用API函数CeRunAppAtEvent侦听设置时间的消息,然后在消息响应函数中进行高精度时钟的时间设置。


  通过CeRunAppAtEvent绑定启动相应exe

  #include "Notify.h"

  #define EXE_PATH     L"\\FlashDisk\\test.exe"


  CeRunAppAtEvent(EXE_PATH, NOTIFICATION_EVENT_TIME_CHANGE);


  通过CeRunAppAtEvent绑定触发相应的消息

  以”MyEvent”命名事件为例。

  #include "Notify.h"

  

       m_hEvent = CreateEvent(NULL, FALSE, FALSE, L"MyEvent"); 

       CeRunAppAtEvent(L"\\\\。\\Notifications\\NamedEvents\\MyEvent", NOTIFICATION_EVENT_TIME_CHANGE); 


  //在线程中等待MyEvent事件

  DWORD dwRet;

  dwRet = WaitForSingleObject(m_hEvent, 500);

  if (dwRet == 0)

  {

    //处理消息,将系统时间写入高精度时钟中");

  }


读取系统时间,同时设置高精度时钟


  SYSTEMTIME systime;


  GetLocalTime(&systime);

  SetRTCTime (&systime);


  文中提到的例程,可以通过联系英创工程师获得。

Go Top
快乐赛车 极速快乐8 福建快3 极速快3 北京11选5走势图 极速快乐十分 江苏快3平台 PK10牛牛 德国时时彩 吉林快3代理