NTP网络授时系统设计与实现——NTP网络授时系统服务器硬件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章NTP网络授时系统服务器硬件设计
3.1 服务器端硬件系统结构图
NTP服务器的硬件设计,按照最小设计的原则,以保证整个硬件的尺寸符合要求,只提供系统所必须的功能,如串口、以太网口等。
系统结构如图3-1所示:
图3-1 NTP服务器硬件实现框图
3.2 系统硬件选型
3.2.1 芯片选型
根据前面的需求分析和硬件总体设计,结合实际应用和实现的需要,选择以下硬件芯片,如表3-1所示。
表3-1 NTP服务器芯片选型
3.2.2 S3C4510B简介
本系统选择了ARM架构的Samsung的S3C4510B处理器作为整个服务器硬件的核心。
ARM(Advanced RISC Machines)架构是面向低预算市场设计的第一款RISC 微处理器,除了RISC的一些特点外,ARM体系结构还采用了一些特别的技术,在保证提高性能的前提下尽量缩小芯片的面积,并降低功耗。
ARM微处理器具有体积小、低功耗、低成本、高性能的特点,支持Thumb(16位)/ARM(32位)双指令集,大量使用存储器而使指令执行速度更快,寻址方式灵活简单,执行效率高,指令长度固定等优点,主要应用在工业控制、无线通讯、网络应用、消费电子、成像产品、安全产品、存储产品、汽车行业等领域[10]。
S3C4510B是Samsung公司生产的基于以太网应用的高性价比16/32位RISC 微控制器,内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核[11]。
另外,S3C4510B的片内外围功能模块主要包括:
——2个带缓冲描述符(Buffer Descriptor)的HDLC通道
——2个UART通道
——2个GDMA通道
——2个32位定时器
——18个可编程的I/O口
S3C4510B的片内逻辑电路包括:
——中断控制器
——DRAM/SDRAM控制器
——系统管理器
——ROM/SRAM和FLASH控制器
——一个内部32位系统总线仲裁器
——一个外部存储器控制器
S3C4510B的结构框图如下图所示。
图3-2 S3C4510B结构框图[11] S3C4510B的引脚分布如下图所示:
图3-3 S3C4510B引脚分布图[11]
S3C4510B共有208只引脚,采用QFP封装,其主要控制信号如下:
LITTLE(pin49):大小端模式选择。
1=小端模式,0=大端模式。
该引脚片内下拉默认大端模式,在实际系统中常用小端模式,因此该引脚应该上拉或接电源。
FILTER(Pin55):若使用PLL倍频电路,应在该引脚和地之间接820pF的陶瓷电容。
实际应用中一般使用PLL电路,因此应该用该电容连接。
TCK/TMS/TDI/TDO/nTRST(Pin58~62):JTAG接口引脚。
根据IEEE标准,TCK应该下拉,TMS、TDI、nTRST应上拉,S3C4510B已经按此标准在片内连接,只需与JTAG插座直接相连即可。
TMODE(pin63):测试模式。
1=芯片测试模式,0=正常工作模式。
用户
一般不使用测试模式,该引脚一般下拉或接地。
nEWAIT(pin71):外部等待请求信号,该引脚应上拉。
B0SIZE[1:0](pin74,73):BANK0数据宽度选择。
01=8位,10=16位,11=32位,00=系统保留
CLKOEN(pin76):时钟输出允许、禁止,1=允许,0=禁止。
一些外围器件入SDRAM需要CPU的时钟输出作为自身的时钟源,该引脚一般接高电平使得时钟输出为允许。
XCLK(pin80):系统时钟源,接有源晶振的输出。
nRESET(pin82):系统复位引脚,低电平复位,系统正常工作时该引脚处于高电平。
CLKSEL(pin83):时钟选择。
1=XCLK直接作为系统的工作时钟,0=XCLK经过PLL电路倍频后作为系统的工作时钟。
ExtMREQ(pin108):外部主机总线请求信号,该引脚应该下拉。
S3C4510B其余引脚为电源线、地线、数据总线、地址总线及其他功能模块的输入输出线,对CPU自身的运行影响相对较小,其连接方式也比较简单。
3.3 部分硬件单元设计
基于嵌入式的NTP服务器硬件设计主要包括以下几部分:串口电路设计、存储器接口设计、复位电路设计、网络接口设计、IIC接口、JTAG接口电路设计等。
3.3.1 复位电路
在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
复位电路可由简单的RC电路构成,也可使用其他的相对较复杂,但功能更完善的电路。
本系统复位电路设计较为简单,其实现原理图如图3-4 所示。
当上电初始化时,按RESET 处于断开状态,电容C13 通过电阻R3 充电,此时第一个驱动门IC11A 输出高复位电平,第二个驱动门IC11B 输出低复位电平,复位时间由电阻和电容的时间常数确定。
待电容充电完成,IC11A 输出低电平而IC11B 输出高电平。
当按键闭合时,电容开始放电,两个驱动门回到复位状态。
74HC14 门电路在于提高复位电平的负载能力和增强按键的去抖动能力,使复位操作能够
正确无误地执行。
图3-4 复位电路
3.3.2 10/100M以太网接口电路
S3C4510B内嵌一个以太网控制器,支持媒体独立接口(Media Independent Interface,MII)和带缓冲DMA接口(Buffered DMA Interface,BDI)。
可在半双工或全双工模式下提供10M/100Mbps的以太网接入。
在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下支持IEEE802.3 MAC控制层协议。
因此,S3C4510B内部实际上已包含了以太网MAC控制,但并未提供物理层接口,需外接一片物理层芯片以提供以太网的接入通道。
常用的单10M/100Mbps高速以太网物理层接口器件主要有RTL8201、DM9161等,均提供MII接口和传统7线制网络接口,可方便的与S3C4510B接口。
以太网物理层接口器件主要功能一般包括:物理编码子层、物理媒体附件、双绞线物理媒体子层、10/100BASE-TX编码/解码器和双绞线媒体访问单元等。
在该系统中,使用RTL8201[12]作为以太网的物理层接口。
以下分别为RTL8201的引脚分布图和相关引脚功能描述,表中仅列出芯片在100Mbps MII 接口方式下的引脚定义,当工作于7线制网络接口方式,部分引脚定义不同。
更具体的内容和使用方法可参考RTL8201的用户手册。
图3-5 RTL8201引脚分布图[12]表3-2 RTL8201引脚功能描述
表3-2 RTL8201引脚功能描述(续表)
由于S3C4510B片内已有带MII接口的MAC控制器,而RTL8201也提供了MII接口,各种信号的定义也很明确,因此RTL8201与S3C4510B地连接比较简单。
实际应用电路图见下图。
图3-6 10/100M以太网接口电路
S3C4510B 的MAC控制器可通过MDC/MDIO管理接口控制多达31个RTL8201,每个RTL8201应有不同的PHY地址(可从00001B到11111B)。
当
系统复位时,RTL8201锁存引脚9,10,12,13,15的初始状态作为与S3C4510B 管理接口通信的PHY地址,但该地址不能设为00000B,否则RTL8201进入掉电模式。
信号的发送和接收端应通过网络隔离变压器和RJ45接口接入传输媒体,其实际应用电路见下图。
图3-7 RTL8201与网络隔离变压器及RJ45的连接图
3.3.3 存储器接口设计
ARM 处理芯片大多不具有存储功能,它所需要的ROM 和RAM 都要扩展外部存储器而得到,ARM 芯片提供专门的数据接口与存储器的连接。
为了完成最小系统的设计,本课题的ROM 存储器采用HYUNDAI 公司生产的HY29LV160 FLASH 存储器,而RAM 采用该公司生产的HY57V641620 SDRAM 存储器,以此构建2MB 的代码存储系统和16MB 的随机存取系统。
HY29LV160[13]是一款单片容量为16Mb(2MB),工作电压为2.7V-3.6V,采用TSOP管脚封装,16 位数据宽度。
该芯片仅需3V电压即可完成在系统编程操作。
考虑到容量问题和成本问题,本课题采用该芯片构建16 位的FLASH 存储器,其管脚连接接口电路如图3-8所示。
图3-8 FLASH接口电路
其中S3C4510B 芯片的20 位地址线与FLASH 的地址线相对应连接,前16位数据线与flash 的数据线相连接,再加上读写控制信号构成16位数据存储方式。
57V641620[14]是一款性价比较高的SDRAM存储器,其存储容量为4组×16Mb(8MB),工作电压3.3V,54脚TSOP封装。
它可支持自动刷新和自刷新,具有16位数据宽度,从速度和容量方面考虑,本课题采用两片57V641620构造32位RAM存储系统,具体接口电路如图3-9 所示。
图3-9 SDRAM存储器接口电路
3.3.4 IIC接口电路设计
IIC 总线是一种用于IC 器件之间连接的二进制总线。
他通过SDA(串行数据线)及SCL(串行时钟线)两线在连接到总线上的器件之间传递信息,并跟据地址来识别器件。
通常,这种接口的器件结构紧凑,修改和可宽展性好,广泛地使用在板级器件间的信息交换上。
S3C4510B内含一个IIC总线主控器,可方便地与各种带有IIC接口的器件相连。
本系统采用带有IIC 接口电路的EEPROM 存储器A T24C01[15]与S3C4510B 相连接作为IIC存储器。
AT24C01提供128 字节的存储空间用于存放网络接口的物理地址等需要掉电保护的数据。
图3-10 为A T24C01的接口电路。
图3-10 A T24C01接口电路图
3.3.5 JTAG接口电路设计
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,JTAG电路主要用于芯片内部测试及对系统进行仿真、调试,为软件的开发和测试提供了一种简便的方法。
JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问接口),通过专用的JTAG测试工具对内部节点进行测试。
通常,可以通过JTAG 口外加仿真器对开发的程序的有效性进行简单仿真,也可用于系统编程。
JTAG 接口一般有两种标准即双列14 针和20 针,本系统采用20 针的JTAG 标准,其管脚定义和接口如表3-2 所示
表3-3 20针JTAG接口定义
3.3.6 RS232串行接口电路
几乎所有的微控制器、PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。
早期它被应用于计算机和终端通过电话线和MODEM进行远距离的数据传输,随着微型计算机和微控制器的发展,不仅远距离,近距离也采用该通信方式。
在近距离通信系统中,不再使用电话线和MODEM,而直接进行端到端的连接。
RS-232-C标准采用的接口是9芯或25芯的D型插头,以常用的9芯D型
插头为例,各引脚定义如下所示:
表3-4 9芯D型插头引脚信号描述
要完成最基本的串行通信功能,实际上只需要RXD、TXD和GND即可,但由于RS-232-C标准所定义的高、低电平信号与S3C4510B系统的LVTTL电路所定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2V~3.3V电平,标准逻辑“0”对应0V~0.4V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V~-15V电平,标准逻辑“0”对应+5V~+15V电平,显然,两者间要进行通信必须经过信号电平的转换,目前常使用的电平转换电路为MAX232[16],其引脚分布如下图所示。
图3-11 MAX232引脚分布[16]
在系统开发、调试阶段,为了方便,设备开发和用户的设置都可以通过串口来完成,此时,串口主要完成的工作包括程序固化、人机交互等。
当设备正常工作时,处理器要通过串口接收来自时间源的时间信息。
这两种功能的转化可以通
过切换开关来完成,但这两种功能可以共用一套串口设备,工作在不同的状态而互不影响。
串行口具体接口电路如图3-12所示。
图3-12 串口接口电路
系统只设计了一个9芯的D型插头,器件S1用于设置串行口工作于下载状态或正常工作状态,JP3 用于选择S3C4510B 的两个串口之中的哪一个处于工作状态。
MAX232用于为串口输入输出提供RS232 电平,两个LED指示灯指示串口工作在输出还是输入状态。