• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > LXI总线B类电压表的设计与实现

LXI总线B类电压表的设计与实现

录入:edatop.com    点击:

以太网本质上是一个物理层标准,作为一套完整的网络传输协议,必须具有高层控制协议,以太网使用了TCP/IP协议。以太网最典型的应用形式是Ehtemet+TCP/IP,即灵活的Ethemet底层加上几乎已成通用标准的网络传输协议TCP/IP协议,使得以太网能够非常容易地集成到以Internet和Web技术为代表的信息网络中。

嵌入式以太网的实质是在嵌入式系统的基础上实现网络化,使嵌入式系统能够实现TCP/IP网络通信协议,接入以太网。将嵌入式系统与TCP/IP协议融合到一起主要有两种方法:

1.硬件方式:使用有的TCP/IP芯片直接作为以太网,这种方法的优点是:可靠性高,执行速度快,但往往硬件电路复杂,价格昂贵,硬件成本高。

2.软件方式:将TCP/IP协议以软件方式嵌入到嵌入式系统的ROM中。一般来说,TCP/IP协议栈都比较庞大,在嵌入式系统中很难支持完整的TCP/IP协议栈,因此要根据嵌入式网络产品的特点,精简TCP/IP协议,实现与需要相关的部分,大幅度减少对于系统资源的需求。

本设计采用第二种方法。以太网技术是LXI的技术基础,LXI标准规定了对以太网的硬件要求和相关配置要求。LXI规范中规定设备必须使用合适的IEEE 802.X PHY/MAC规范实现以太网。以太网的物理连接必须使用IEEE 802.3规范。推荐使用RJ45作为LAN连接器。LXI设备应支持千兆位以太网,并能保证在10/100Base-T低速以太网中正确运行。用户通过访问显示器或粘贴在模块上的标签可以获得模块的MAC地址。模块必须包括以太网连接的监视功能。另外,LXI设备应包括Auto-MDIX(自动线序识别)功能,并支持缺省的网络速度自动协商功能。

在LAN配置方面,LXI设备必须支持TCP/IP网络,至少支持IPv4,其中包括IP、TCP、UDP等协议。同时还要求设备支持ICMP协议。规范要求设备必须支持三种IP地址配置技术:动态主机配置协议(DHCP)、动态配置本地链路地址(Auto-IP)和手动设置。其中,DHCP是在使用以太网路由器的大型网络中自动分配IP地址的方法,此时通过DHCP服务器获得设备的IP地址;Auto-IP方式适用于由以太网交换机(或集线器)组建的小型网络或特设网络,以及由交叉网络组建的两节点网络;手动方式可用于所有类型拓扑结构的网络,此时用户手动设置LXI设备的IP地址。LXI设备需提供LAN配置初始化机构(LCI),实现VXI-11发现机制,从而能容易地在网络上被识别。

仪器发现技术可以依靠VXI-11标准来实现,VXI-11标准基于TCP/IP协议模型和客户机/服务器架构,利用ONC/RPC技术提供IO通道给LXI仪器的远程控制端,建立Core、Abort、Interrupt三类信道,实现仪器间的信息传输。仪器发现的过程实际上是仪器与服务器之间进行信息交互的过程:仪器向服务器发送通信请求;服务器收到信息则知道有仪器接入网络,建立连接并发送查询消息;仪器根据查询做出相关应答;服务器收到应答信息,完成仪器发现。发送的查询消息应包括标准SCPI命令"IDN"等。

每个LXI仪器都是一个独立的网络设备,所有LXI仪器都必须提供包括产品主要信息在内的欢迎网页及LAN配置网页, B类设备还要具有同步配置网页。此外,仪器还可以提供状态/其他页面,来显示仪器的当前状态和其他信息。这些网页通过HTTP80端口连接到网络,并可以通过标准W3C网络浏览器查看。从Web接口的角度看,LXI仪器类似于一个Web服务器【10】, 通过这些Web页,用户可以配置网络参数,检测设备的连通性,以及对LXI设备进行便捷的操作。

本设计可选用适合于嵌入式应用的Boa Web服务器作为LXI设备的Web服务器,Boa服务器支持HTTP 1.0规范,具有配置简便,内存占用小等特点。Boa服务器可以通过CGI程序处理用户提交的表单数据并动态更新网页中的数据,能够满足LXI设备对Web接口的需求。

1588时间戳软件设计

通过上文对时钟偏移量和延迟量的分析来设计1588时间戳的状态机。状态机中共有S0、S1、S2、S3、S4五种状态,分别代表了时钟同步初始状态、Sync报文状态、Follow报文状态、Delay_Req报文状态和Delay_Resp状态。下面给出的是时间戳状态机的软件实现方式:

module ieee1588_time_stamp (in_data,clk,nclear,out);

input indata, clk,nclear;

output out; //端口声明

reg out;

reg[2:0] state;

reg t_slave1,t_master1,t_slave2,t_master2,t_offset,t_

delay;

.............. //变量和参数声明

parameter [2:0] s0=1,s1=2,s2=3,s3=4,s4=4;

//各状态的定义

always @(posedge clk) 

begin

  if(! nclear |主从时钟同步) state = s0; 

  case(state)

  s0: begin 

    if(indata ==同步报文) 

     state <= s1;

    else if(idata ==跟随报文)

     begin out = t_master1;state <= s2; end

    else state <= s0;

   end

  s1:state <= (indata ==传输t_slave1)? s1:s2;

  s2:state <= (indata ==延迟请求报文)? s3:s2;

  s3:state <= (indata ==延迟响应报文)? s4:s3;

  s4:state <=(indata ==同步)? s0:s3;

  endcase

end

always @ (state) //探测到状态的变化同时输出

信号

begin

case (state)

s0:out=t_master1

s1:out=t_slave1;

s2:out=t_slave2;

s3:out=t_master2;

s4:out={t_offset,t_delay};

endcase

end

read_time _model test_time(

t_master1(t_master1),

t_slave1(t_slave1),

t_master2(t_master2),

t_slave2(t_slave2));//调用时钟记录模块

……………..

Endmodule

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:载波保护通道自动检测装置的开发及实际应用
下一篇:基于互补滤波器的两轮平衡车姿态角度测量

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图