APP下载

基于以太网控制的外部时钟系统设计

2016-09-13王子鹏黄连生

电子设计工程 2016年5期
关键词:寄存器以太网时钟

王子鹏,高 格,黄连生

(中国科学院 等离子体物理研究所,安徽 合肥 230031)

基于以太网控制的外部时钟系统设计

王子鹏,高 格,黄连生

(中国科学院 等离子体物理研究所,安徽 合肥230031)

EAST电源数据采集系统的多道信号之间存在采集不同步的问题。这是由于每个采集单元的采集卡在各自的时钟下工作造成的。使用统一的外部源可以同步采集卡的时钟以达到同步采集的目的,同时外部时钟系统需要能被控制网通过以太网控制和配置。基于ATmega16单片机和ENC28J60以太网芯片的电路可以实现以太网控制的外部时钟系统。此方案包含系统的电源电路的选型与设计、网络接口的选型与电路设计、ENC28J60驱动程序的编写、时钟信号输出程序的设计与时钟信号的调理。最终通过实验调试采集到的波形,表明此方案可以通过以太网更改配置并输出不同频率的时钟信号,达到了预期的设计目标,为EAST电源数据采集系统提供统一的外部时钟。

ATmega16;ENC28J60;以太网;时钟信号

EAST电源系统是托卡马克装置的核心子系统之一。为了对实验进行运行分析和故障诊断,需要采集该系统包括主回路、变流器、变压器、母线等电流和电压在内的200多道信号。目前数据采集系统具有多台采集计算机,通过以太网远程控制来采集数据[1]。由于采集板卡上的晶振存在容许误差,当使用采集板卡的内时钟功能时会造成多张采集卡采集到的数据不同步的问题[2]。采集板卡提供了外部时钟输入的功能。现在需要设计一个外部时钟系统,提供统一的源来同步数据采集。

基于单片机和以太网芯片的系统可以实现此功能并且价格低廉可扩展性高。ATmega16单片机的比较输出模式(CTC)可以实现通过I/O口对工作频率的分频输出。所以本文的关键在于实现嵌入式系统的以太网功能。

嵌入式系统中加入以太网连接目前有很多种实现方式,传统的方案是一种多器件方案,它需要单片机与外部以太网控制器相结合,必要时可能还需要一些外部组件比如RAM、ROM等。这种方案虽然并不复杂,但是涉及的元器件数量众多,增加了更多的不稳定因素,同时驱动全部器件需要较大的系统开销。另一种常用的方案是使用集成了以太网功能的单片机MC9S12NE64实现单个器件的以太网连接,也有人使用RTL8019,AX88796L,DM9008等以太网控制器来实现以太网的连接[3]。第二种方案与多器件方案相比,外部元器件数量大减少,节省了系统资源,具有较高的稳定性。但上述以太网控制器结构复杂、体积庞大,封装甚至超过80引脚,而且价格比较昂贵,从易用性和成本方面考虑不符合本文的设计需求。

本文最终采用的Atmega16单片机与ENC28J6以太网芯片为实现以太网控制的采集触发和时钟信号同步提供了良好的解决方案。

1 系统硬件设计

本方案中ATmega16单片机通过ENC28J60实现与控制系统的以太网通讯。在需要开始采集时,控制系统会发送SET命令设置本次采集所需要的采集频率。单片机收到控制命令后通过算法计算出CTC功能寄存器的值并赋值使单片机PD5/OC1A引脚输出所需频率的时钟。

1.1ENC28J60简介

ENC28J60是一款微型以太网控制芯片,由Microchip Techno logy(美国微芯科技公司)在2005年推出。只有28个引脚的ENC28J60不仅具备了早期器件的相应功能,满足设计需求,而且可靠性也大幅提高。同时,采用ENC28J60实现的嵌入式以太网应用系统具有成本低、占位小、高效易用精简的优势[4]。

1.2电源设计

ATmega16需要稳定低纹波的外部直流电源供电来保证输出精确的时钟信号。本文中电源部分首先用变压器将220 V交流电变为6 V交流电,然后选用整流桥芯片整流,接着通过LM2576-5的稳压电路为电路提供5 V直流电。其中LM2576-5具有3 A的负载驱动能力,在规定的输入电压和输出负载的条件下,LM2576-5输出电压的误差范围为±4%;振荡器的振荡频率误差范围为±10%,满足ATmega16的输入要求。

电源部分原理图如图1所示。C1为输入端滤波电容,C2、C3为输出端滤波电容。C1、C2的选择原则可按Iom×1 000 μF/A经验公式进行估算,即每输出1 A电流就对应1 000 μF的电容量,耐压为63 V即可。续流二极管D1的选择,正向额定电流必须大于负载电流,耐压值必须大于输入电压[6]。

图1 电源部分原理图Fig.1 Schematic of power supply circuit

输出端滤波电容C3的计算,按公式计算。其中ΔVo为输出电压纹波分量。

TVS1和TVS2稳压管是为了吸收浪涌,保护单片机和其他的芯片。

1.3信号调理电路设计

ATmega16单片机的I/O口驱动能力为40 mA。时钟信号如果需要发送给多个负载,可能会存在驱动能力不足的问题。同时时钟信号在输出之前需要进行整形,保证输出标准的波形和电压值。TTL和CMOS反相器都具有整形和提高信号负载的能力。CMOS器件具有低功耗,工作电压范围宽和抗干扰能力强的优点。但是它的延迟时间为25~50 ns,比TTL器件的5~10 ns高出很多。TTL反相器还具有更高的负载能力和更好的传输特性[7]。本文最后选用TTL器件由于所要传输的时钟信号要求器件具有快速的响应特性。

本文选用的74ls04芯片集成了6个TTL反相器。如图2所示,采用反相器串联的方式可以实现波形整形和提高负载能力的目的同时保证输出跟输入的波形保持一致。

1.4网络接口设计

网络变压器在网络接口中起到很重要的作用。从理论上来说,不需要网络变压器RJ45也可以正常工作,但是传输距离会受到限制而且外部对芯片会产生很大的干扰。网络变压器一方面可以实现增强信号,使传输距离更远,另一方面可以起到隔离作用,大大提高电路的抗干扰能力。

本文中网络接口选用了HR911105A模块,内部原理图如图3所示,集成了RJ45的网络插座、网络隔离变压器和LED指示灯,集成度高,外围电路成熟,同时具有信号耦合、电气隔离、阻抗匹配、抑制干扰等作用。

图2 反相器串联电路Fig.2 Phase inverter in series

2 系统软件设计

2.1系统的初始化与ENC28J60驱动程序的编写

该部分程序主要对单片机和ENC28J60进行初始化配置。程序的核心是通过发送指令来初始化ENC28J60和配置它的寄存器以实现需要的功能,表1列出ENC28J60的SPI指令命令代码及格式。AVR单片机通过 SPI缓冲器向ENC28J60写入相应格式的命令代码,就可以实现相应的读写以及其他的操作,其中PHY寄存器不能通过SPI接口直接配置,需要通过特殊功能寄存器MII完成读写操作[5]。

图3 HR911105A模块内部原理图Fig.3 Schematic of HR911105A

表1 ENC28J60的SPI指令代码及格式Tab.1 SPI instruction set for the ENC28J60

读写寄存器的分为两步,第一步为选定寄存器的BANK编号,第二步使用写命令或读命令,操作指定地址的寄存器。在ENC28J60中,由ECON1中的低两位保存BANK编号,ECON1是比较特殊的控制寄存器,4个BANK均具有该寄存器且该寄存器的地址相同[12]。

读控制寄存器实际上就是严格遵守数据手册的操作要求。由于读MAC和MII寄存器时,第一个接收到的字节为无效字节,第二个字节才为有效字节。程序通过寄存器地址的最高位来判断是否为MAC或MII寄存器。写寄存器函数较为简单,第一次字节包括操作码和寄存器地址,第二个字节为数据。在这两个函数中参数op为ENC28J60的指令,或称之为操作码,该指令占据SPI首字节的前3位,参数address为寄存器地址,参数data为寄存器的具体值[8]。

其他对ENC28J60寄存器的读写操作与此类似,由于篇幅限制,不再详细描述。

2.2时钟信号输出程序的编写

图4 CTC模式时序图Fig.4 CTC mode timing diagram

3 实验结果

通过使用以太网调试助手进行调试。ATmega16单片机配置为主机模式,IP设置为192.168.1.81,端口号为1200。在数据发送窗口输入指令“SETXXXXX”,XXXXX为所需频率,单位为100Hz。若单片机收到指令且指令正确会返回收到“配置成功”字样。此时单片机引脚会输出设置的频率的高质量时钟信号。如需停止则发送“STOP”指令,即可暂停信号的发送。图5调试界面,图6为输出的时钟信号。

图5 以太网调试助手调试Fig.5 Debug with net assist

图6 50 kHZ时钟信号Fig.6 50 kHZ clock signal

4 结 论

本文采用AVR单片机和ENC28J60组建了嵌入式以太网系统,实现了单片机系统的以太网的通信。同时利用ATmega16单片机内置的CTC功能实现了不同频率时钟信号的输出,从而使控制系统可以通过以太网控制单片机输出不同频率的时钟信号。给EAST电源数据采集系统多台采集计算机的采集卡提供了统一的外部时钟,同步了200多道采集通道的采集起始时刻和采集频率,为对East实验进行准确的运行分析和故障诊断提供了保障。本文的局限在于由于ATmega16单片机CTC内部分频寄存器为整数寄存器,无法通过单片机输出任意频率的信号,下一步工作拟选用更高级的单片机解决此问题。

[1]夏登超,沈彪,杨育.基于RIA的EAST数据采集远程控制系统的设计[J].计算机测量与控制,2010,18(6):1346-1348.

[2]戴敏敏,王华忠,杨飞,等.EAST电源数据采集控制系统的设计与实现[J].测控技术,2015,34(3):44-47.

[3]祁树胜.SPI接口以太网控制器ENC28J60及其应用[J].微计算机信息,2006,8-2:266-268.

[4]张瑞瑞,马晨普.一种精简可靠的低成本嵌入式以太网接口设计[J].电子产品世界,2006(12):66-68.

[5]于海波,付江波,李金涛.AVR单片机实现以太网通信的研究[J].电子工业专用设备,2012(205):54-56.

[6]杨智敏,候传教,刘霞.单片式开关稳压器LM2576-ADJ及其应用[J].移动电源与车辆,2004(1):33-34.

[7]王琳,李毅.PSpice9.2在TTL和CMOS反相器中的应用[J].湖北工业大学学报,2007,22(5):8-11.

[8]张永涛,黄丹丹,李欧.uIP协议分析及应用[J].信息工程大学学报,2006,7(2):148-149.

Design of external clock system based on ethernet control

WANG Zi-peng,GAO Ge,HUANG Lian-sheng
(Institute of Plasma Physics,Chinese Academy of Sciences,Hefei 230031,China)

The asynchronous sampling of EAST power supply data acquisition system could be caused by the data acquisition cards working ontheir own clock.The unified external clock signal canbe used to make the sampling synchronous.Meanwhile the signal should be controlled and configured via Ethernet.Through the research found that circuit based on AVR microcontroller and ENC28J60 Ethernet chip can meet the requirement.The scheme includes the components selection and circuit design of power supply and network jack,ENC28J60 driver writing,the program design of external clock signal outputting and the waveform shaping.According to the test,every DAQ card of EAST power supply data acquisition system can work on unified clock signal which controlled by upper-computer via Ethernet with this method.

ATmega16;ENC28J60;ethernet;clock

TN79+1

A

1674-6236(2016)05-0162-04

2015-05-04稿件编号:201505020

国家“九五”重大科学工程资助项目--EAST超导托卡马克核聚变实验装置(计投资(1998)1303号);国家重点基础研究发展计划(973计划)项目(2008GB104000)

王子鹏(1990—),男,安徽宿州人,硕士研究生。研究方向:数据采集及数据库研究。

猜你喜欢

寄存器以太网时钟
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
古代的时钟
Lite寄存器模型的设计与实现
移位寄存器及算术运算应用
有趣的时钟
谈实时以太网EtherCAT技术在变电站自动化中的应用
时钟会开“花”
浅谈EPON与工业以太网在贵遵高速公路中的应用