ตัวอย่างการออกแบบไคลเอนต์โปรโตคอลเวลาเครือข่าย (NTP) สาธิตไคลเอนต์โปรโตคอลดาต้าแกรมผู้ใช้ (UDP) โดยใช้อินเทอร์เฟซซ็อกเก็ตมาตรฐานอุตสาหกรรมกับโปรโตคอลควบคุมการส่ง/อินเทอร์เน็ตโปรโตคอล (TCP/IP) นี่เป็นการใช้งานไคลเอนต์โปรโตคอลเวลาเครือข่าย (SNTP) แบบง่าย (RFC 2030) น้อยที่สุด ตัวอย่างการออกแบบนี้ทําหน้าที่เป็นจุดเริ่มต้นที่ดีสําหรับการออกแบบ NicheStack ที่ทํางานบนโปรเซสเซอร์ Nios® II
ตัวอย่างการออกแบบแสดงเวลา UTC ปัจจุบันบนจอแสดงผล LCD เมื่อเริ่มต้น LCD จะแสดงเวลาปรกติ เมื่อได้รับเวลาปัจจุบัน เวลาของระบบจะถูกตั้งค่า และเวลาปัจจุบันจะปรากฏบน LCD ไคลเอ็นต์จะส่งคําขออื่นไปยังเซิร์ฟเวอร์ NTP เป็นระยะๆ สําหรับเวลาปัจจุบัน
การใช้ตัวอย่างการออกแบบนี้
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Nios II Embedded Design Suite (EDS) เวอร์ชัน 9.1 หรือใหม่กว่า ดาวน์โหลด ตัวอย่างการออกแบบไคลเอนต์ NTP และคลายซิปไฟล์ลงในไดเรกทอรีภายใต้ <NiosEDS>/ตัวอย่าง/ซอฟต์แวร์/ (ตัวอย่างเช่น <NiosEDS>/ตัวอย่าง/ซอฟต์แวร์/ntp_client) หากติดตั้งไว้ในไดเรกทอรีนี้ ตัวอย่างการออกแบบจะมีอยู่ในเครื่องมือสร้างซอฟต์แวร์Nios IIสําหรับเทมเพลตโครงการ Eclipse ตัวอย่างการออกแบบไคลเอนต์ NTP รวมถึงการตั้งค่าโครงการที่จําเป็นในการเรียกใช้ตัวอย่างการออกแบบนี้เกี่ยวกับการกําหนดค่าฮาร์ดแวร์เป้าหมายที่รองรับ ในการใช้ตัวอย่างการออกแบบไคลเอนต์ NTP เพียงแค่สร้างแอปพลิเคชัน Nios II และ BSP ใหม่จาก "เทมเพลต" ในเครื่องมือสร้างซอฟต์แวร์ Nios II สําหรับEclipseและเลือกเทมเพลตโครงการ NTP
การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานตัวอย่างการออกแบบของ Intel®
ข้อกําหนดด้านฮาร์ดแวร์
ตัวอย่างการออกแบบไคลเอนต์ NTP ต้องใช้อุปกรณ์ต่อไปนี้ในการออกแบบฮาร์ดแวร์เป้าหมาย:
- Ethernet MAC
- JTAG UART
- เวลา
- จอแสดงผลอักขระ LCD (ไม่บังคับ)
ข้อกําหนดของ Host Machine
บอร์ดการพัฒนาNios IIที่ใช้ในการเรียกใช้งานการออกแบบนี้ต้องมีการเข้าถึงเซิร์ฟเวอร์ NTP เซิร์ฟเวอร์ NTP สามารถเป็นเซิร์ฟเวอร์บนเครือข่าย หรือสามารถเชื่อมต่อโดยตรงกับเครื่องโฮสต์ที่ใช้ซอฟต์แวร์เซิร์ฟเวอร์ NTP ผ่านสายเคเบิลแบบ Crossover หากใช้การเชื่อมต่อโดยตรง เซิร์ฟเวอร์ NTP ต้องอยู่ในเครือข่ายย่อยเดียวกันกับบอร์ดการพัฒนาNios II หากไม่มีเซิร์ฟเวอร์ NTP แสดงว่ามีแพ็คเกจซอฟต์แวร์ NTP เวอร์ชันฟรีแวร์อยู่ที่นี่: http://sourceforge.net/projects/nettimeหรือhttp://www.ntp.org/links.html
ไคลเอ็นต์ NTP จะพยายามใช้ DHCP เพื่อขอ IP แอดเดรส หากไม่มีเซิร์ฟเวอร์ DHCP อยู่ จะต้องตั้งค่า IP แอดเดรส เกตเวย์ และซับเน็ตมาสก์แบบสแตติกใน ntp_client.h และทําการคอมไพล์ใหม่