温度补偿实时时钟参考设计套件使用指南

电子说

1.4w人已加入

描述

温度补偿实时时钟参考设计套件使用指南

一、套件内容

温度补偿实时时钟参考设计套件包含以下物品:

文件下载:TEMPCOMPRTC-RD.pdf

  1. 温度补偿RTC评估板:核心部件,搭载Silicon Laboratories C8051F300混合信号微控制器。
  2. AC - DC电源适配器:为评估板提供电源。
  3. 直DB9串行电缆(公 - 母):用于RS - 232串行连接。
  4. 直DB25并行电缆(公 - 公):用于可选的并行连接,支持SMBus接口。
  5. 快速入门指南:帮助用户快速上手。
  6. 参考设计套件CD - ROM:包含温度补偿实时时钟参考设计程序员指南(AN293)及相关软件(AN293SW.zip),还有Keil Software 8051开发工具(评估汇编器、2 kB有限编译器和链接器)。

二、使用要求

评估设计要求

该套件是一个完全独立的评估平台,预装有固件。若要评估此参考设计且不修改固件,需要一台具备以下特征的PC:

  • 操作系统:Windows 2000/XP/Server2003。
  • 可用端口:一个可用的串行端口;若要评估可选的SMBus/I2C接口,还需要一个可用的并行端口。

虽然本指南针对运行Windows操作系统的PC编写,但只要有串行端口和终端程序,其他操作系统的PC也可用于评估此设计。

修改代码要求

若要修改、重建并将代码下载到评估板上的C8051F300 MCU中,还需要以下额外物品(套件中未包含):

  • 调试适配器:USB调试适配器和USB电缆,或串行适配器和RS - 232串行电缆。
  • 开发工具:Keil Software C51汇编器、编译器和链接器的完整版本。C8051F300DK开发套件包含USB调试适配器、USB电缆和C8051F300TB目标板。

需要注意的是,由于参考设计提供的代码大小超过评估工具链的代码大小限制,因此修改和重新编译代码需要Keil工具链的完整版本。或者,也可以将源代码移植到Silicon Labs IDE支持的其他8051工具链。

三、套件概述

温度补偿实时时钟(TC - RTC)参考设计套件的评估板采用了Silicon Laboratories C8051F300混合信号微控制器,具有以下特点:

  1. 低成本温度补偿实时时钟和日历:能提供准确的时间和日期信息。
  2. 56字节通用非易失性RAM:可用于存储重要数据。
  3. RS - 232串行接口:方便与其他设备进行串行通信。
  4. 可选SMBus/I2C接口:增加了通信的灵活性。
  5. 完整的TC - RTC固件源代码:便于开发者进行二次开发。

评估板上的MCU预装有带UART接口的TC - RTC固件,CD - ROM包含固件源代码。更多关于此参考设计的信息可在“AN293:温度补偿实时时钟参考设计程序员指南”中找到。

四、TC - RTC评估板

评估板上主要组件的功能如下:

  1. C8051F300 MCU(U3):带有执行TC - RTC功能的固件的微控制器。
  2. 32.768 kHz晶体(Y1):用于计时的低成本手表晶体。
  3. DB9连接器(J5):用于RS - 232串行连接。
  4. DB25连接器(J6):用于可选的带SMBus接口的并行连接。

此外,还分别使用了RS - 232收发器和缓冲器用于串行和SMBus接口。评估板的原理图和物料清单分别在第7节和第8节展示。

五、TC - RTC固件

基于谐振石英晶体的计时系统的时钟精度主要受晶体频率随温度变化的影响。从晶体频率与温度的变化曲线可以看出,当温度从室温(25°C)升高或降低时,RTC会出现时间损失,且温度变化不会导致RTC出现正误差(即增加时间),因为最大频率在室温下。

运行在C8051F300 MCU上的TC - RTC固件可消除因温度变化导致的时间损失。它使用片上ADC和温度传感器每分钟测量一次温度,并在一天结束时通过将累积误差添加到RTC报告的时间来补偿损失的时间。具体细节可在“AN293:温度补偿实时时钟参考设计程序员指南”中查看。

TC - RTC维护的时间可通过两个接口访问:通过DB9连接器的RS - 232串行接口和通过DB25连接器的SMBus接口。预加载的固件是为RS - 232串行接口构建的。AN293SW.zip包中还包含一个预构建的OMF文件,将其加载到设备中可启用RTC的SMBus接口,该包也包含完整的源代码。

六、TC - RTC演示

UART接口演示

1. PC软件设置

在PC上设置HyperTerminal,使用COM端口,波特率为9600,数据格式为8 - N - 1,无流控制。具体步骤如下:

  • 从开始菜单启动HyperTerminal:开始菜单→程序→附件→通信→HyperTerminal。
  • 为新连接输入任意名称,然后点击“确定”。
  • 在“连接使用:”下拉列表中,选择“COM1”,若有多个COM端口,可选择要使用的端口。
  • 设置COM1属性对话框,然后点击“确定”。
  • 选择“文件→属性→设置→ASCII设置”,勾选“本地回显输入字符”框,然后点击“确定”。

2. 硬件设置

  • 使用提供的DB9串行电缆将PC的串行端口与TC - RTC评估板的连接器J5连接。
  • 使用提供的直流电源适配器为评估板供电。

3. 与TC - RTC交互

  • 评估板首次通电后,板载固件将执行温度传感器/ADC偏移校准。校准前需要一段浸泡时间,等待15秒校准完成。校准结束后,板上的绿色LED将以1 Hz的速率开始闪烁。
  • HyperTerminal应显示评估板的初始日期、时间和温度信息。可以将当前日期和时间数据编程到评估板中,数据应转换为设备固件期望的格式。具体数据格式可参考第12页的“附录B—TC - RTC:实现细节”。注意,AM/PM信息与小时编码在同一字节中。
  • 输入“s”命令可切换关闭每秒显示一次时间的自动显示模式,命令必须为小写。
  • 输入“w”命令(写入)可为设备编程新的时间和日期,命令格式可参考第11页的“附录A—TCRTC:支持的命令”。
  • 输入“r”命令(读取)可从设备获取当前时间和日期信息。
  • 输入“s”命令可切换开启自动显示模式。

SMBus接口演示

1. 固件下载

评估板预装有启用UART接口的固件,若要启用SMBus接口,需加载替代固件。具体步骤如下:

  • 从参考设计套件CD安装Silicon Laboratories IDE,通过选择“开始菜单→所有程序→Silicon Laboratories→Silicon Laboratories IDE”启动IDE。如需更多关于安装和使用IDE的信息,可参考C8051F300DK开发套件用户指南。
  • 根据所使用的调试适配器类型,按照相应的硬件设置图进行设置。若需要详细说明,可参考C8051F300DK用户指南。
  • 在连接目标设备之前,可能需要设置一些连接选项。在IDE菜单中选择“选项→连接选项...”打开“连接选项”窗口,先在“串行适配器”部分选择使用的适配器,然后选择正确的“调试接口”,C8051F30x系列设备使用Silicon Labs 2线(C2)调试接口,选择完成后点击“确定”关闭窗口。
  • 点击工具栏中的“连接”按钮或从菜单中选择“调试→连接”连接到设备,若连接成功,IDE状态栏将显示“目标:C8051F300”。
  • 选择“项目→下载目标文件...”选项,显示“下载”对话框,点击“浏览”按钮,选择TC - RTC固件预链接的OMF文件。
  • 点击“下载”按钮将固件下载到‘F300设备,若固件下载成功,构建窗口将显示“下载成功”。
  • 断开目标板的直流电源适配器和带状电缆。

2. 硬件设置

  • 使用套件提供的DB25并行电缆将PC的并行端口(打印机端口)与TC - RTC评估板的25针连接器(J6)连接。
  • 连接直流电源适配器为评估板供电。

3. 与Windows SMBus测试软件交互

带有SMBus固件的TC - RTC评估板为RTC启用了SMBus/I2C接口。为测试此接口,提供了PC软件,可通过PC的并行端口模拟SMBus主设备。具体操作如下:

  • 作为TC - RTC RD安装的一部分,从参考设计套件CD安装PC软件,通过选择“开始菜单→所有程序→Silicon Laboratories→TC - RTC SMBus测试”启动该软件。
  • 确保评估板上的绿色LED闪烁,然后点击“全部刷新”按钮,更新显示的所有值。
  • 修改想要修改的值,然后点击相应的“写入”、“写入NVRAM”或“写入选定项”按钮,将值写入评估板。
  • 点击“读取”按钮可从评估板读取当前值。
  • 勾选“自动刷新时间/日期”复选框可每秒自动更新值,勾选时,其他读写按钮将禁用。

此PC软件仅用于测试和演示目的,在实际应用中,带有TC - RTC固件的‘F300设备旨在连接到具有SMBus接口的其他微控制器。更多关于SMBus接口实现的细节可参考“AN293:温度补偿实时时钟参考设计程序员指南”。

七、原理图

评估板的原理图展示了各组件之间的连接关系。需要注意的是,除非原理图上另有标记,所有电阻均为0.125W,采用0805封装;所有陶瓷电容为X7R类型,采用0805封装。

八、物料清单

物料清单详细列出了评估板上使用的各种组件的信息,包括数量、参考编号、值、类型、制造商、产品编号和封装等。例如,电容C1 - C19为0.1uF的X7R电容,制造商为AVX,封装为0805;MCU U3为C8051F300,制造商为Silicon Labs,封装为QFN - 11等。

九、附录

附录A—TC - RTC:支持的命令

UART接口固件命令

  • s:切换每秒显示一次时间的自动显示模式。
  • r xx yy:从地址xx开始读取yy字节。
  • w xx yy data:从地址xx开始写入yy字节的数据。

命令区分大小写,仅接受小写字母,地址应采用十进制格式。具体RTC寄存器数据格式可参考“附录B—TC - RTC:实现细节”。

SMBus接口固件命令

TC - RTC固件的SMBus接口实现了一个从地址为0xD0的SMBus从设备,设备工作在从接收器模式或从发送器模式。在从接收器模式下,它从主设备接收地址和数据,并将其写入RTC或NVRAM寄存器;在从发送器模式下,它将RTC或NVRAM寄存器的数据发送到主设备。更多关于SMBus接口实现的细节可参考“AN293:温度补偿实时时钟参考设计程序员指南”。

附录B—TC - RTC:实现细节

UART通信参数

  • 波特率:9600 bps。
  • 数据格式:8位数据位,1位停止位,无校验位。
  • 流控制:无。

RTC和NVRAM寄存器数据格式

寄存器数据采用二进制编码十进制(BCD)格式,时钟停止(CH)位设置为0时将禁用RTC,12/24位设置为1时选择12小时模式,在12小时模式下,AM/PM位设置为1时选择“PM”,在24小时模式下,该位为第二个10小时位(20 - 23小时)。

大家在使用这个套件的过程中,有没有遇到什么特别的问题或者有一些独特的使用技巧呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分