网络时间协议客户端设计示例

author-image

作者

网络时间协议 (NTP) 客户端设计示例演示了一个用户数据报协议 (UDP) 客户端,该客户端使用行业标准套接字传输控制协议/互联网协议 (TCP/IP) 接口。这是简单网络时间协议 (SNTP) 客户端 (RFC 2030) 的最小实施。此设计示例可作为在 Nios® II 处理器上运行的轻量级 IP (LWIP) 设计的良好起点。

此设计示例在 LCD 显示屏上显示当前 UTC 时间。启动时,LCD 显示纪元时间。获取当前时间后,设置系统时间,LCD 显示当前时间。客户端会定期向 NTP 服务器发送有关当前时间的另一个请求。

使用此设计示例

确保您已安装 Nios II 开发套件。下载 NTP 客户端设计示例,并解压文件到 <Nios II kit path>/examples/software 的目录下(如 <Nios II kit path>/examples/software/ntp_client)。如果安装在此目录下,则将以 Nios II 集成开发环境 (IDE) 项目模板的形式提供此设计示例。NTP 客户端设计示例包括在受支持的目标硬件配置上运行此设计示例所需的项目设置。若要使用 NTP 客户端设计示例,只需在 IDE 中创建一个新的 C/C++ 应用程序项目,然后选择所需的项目模板。

该设计的使用受英特尔® 设计示例许可协议中条款和条件的管理和约束。

硬件要求

NTP 客户端设计示例要求目标硬件设计中存在以下设备:

  • 联合测试行动小组 (JTAG) UART
  • 计时器
  • LCD 字符显示器

您可以在以下 Nios® II 硬件设计示例上运行 NTP 客户端设计示例:

  • Stratix® 设计示例
    • 标准
    • 全功能
  • Cyclone® 设计示例
    • 标准
    • 全功能

主机机器要求

用于运行此设计的 Nios II 开发板必须能够访问 NTP 服务器。NTP 服务器可以是网络上的服务器,也可以通过交叉电缆直接连接到运行 NTP 服务器软件的主机。NTP 服务器必须位于与 Nios II 开发主板相同的子网上。如果该网络下没有 NTP 服务器,或者是直连,则可在这些地址下载免费的 NTP 软件包: http://sourceforge.net/projects/nettimehttp://www.ntp.org/links.html

NTP 客户端尝试使用 DHCP 获取 IP 地址。如果没有 DHCP 服务器,则必须在 user.h 中设置静态 IP 地址、网关和子网掩码,并进行重新编译。