基于单片机的B类电压表的设计与实现

发布者:忙中取乐最新更新时间:2015-01-21 来源: eefocus关键字:单片机  电压表  PIC32 手机看文章 扫描二维码
随时随地手机看文章

一. 设计过程

前言

早期的GPIB、VXI等技术,由于采用了专用的仪器接口标准进行设计,从而使得从底层的接插件、接口卡、机箱,到完成仪器控制功能的协议软件都是测试领域专有的、定制的,这极大的提高了测试系统的成本,并严重阻碍的测试技术的发展。随后出现的PXI技术,充分利用了现有的计算机总线技术,降低了测试系统的成本,但是,随着PC产业的高速发展,基于计算机接口的测试设备生命周期往往较短。这对于大多需要持续服务数十年的测试系统来说显然是无法接受的。

 

测试工程师和系统集成者需要长期、稳定、一致的接口标准以便维持测试系统长期的使用寿命。LXI联盟基于以上的考虑,确定采用以太网作为新的测试接口标准。以太网接口以其高性能,低成本在工业领域中得到广泛应用,并已持续使用几十年,目前它的性能仍在不断提升。

 

LXI(LAN eXtensions for Instrumentation),即基于局域网的仪器扩展,它是以太网技术在测试自动化领域应用的拓展,其总线规范融合了仪器的高性能、插卡式仪器的紧凑灵活和以太网的高速吞吐率,而且其性能比以往测试系统的解决方案更紧凑、更快速、更廉价、更持久。

 

LXI标准围绕4个主要方面——物理要求、Ethernet协议、LXI接口和LXI触发。标准是这些要求项目的组合。符合LXI标准的仪器被称为LXI设备,LXI设备分为3种类型:C类、B类和A类。C类LXI设备是基本类型,它必须符合物理要求、Ethernet协议和LXI接口标准;B类LXI设备除要满足C类设备的要求之外,还要加上基于LAN的触发和IEEE1588定时同步协议;A类LXI设备除C类和B类的要求外,再加上硬件触发总线。

 

本设计的目的是通过PIC32单片机实现LXI总线B类电压表,为提高LXI总线仪表的研究及应用作出贡献。

 

国内外的研究现状及分析

2004年9月安捷伦科技公司和VXI科技公司联合成立国际LXI联盟,推出了基于LAN的仪器总线标准——LXI。2005年9月底,LXI联盟正式发布LXI规范1.0版本。2006年8月,LXI联盟又推出LXI规范1.1版本。主要是对1.0版本中混合系统的构建方法进行了补充。2007年10月新推出的LXI 1.2版本改进了原规范中的发现和验证机制。

 

LXI总线刚一推出便引起了业界的广泛关注。目前,LXI联盟已有包括绝大多数国际著名测试测量公司在内的51家公司成为其成员。在LXI联盟的主持下已举办了多次PlugFest活动。安捷伦科技的第一台基于LXI的仪器出现在2003年,是20MHZ的函数发生器33220A,也是世界上第一台同时具备GPIB、USB和LAN接口的仪器。目前安捷伦科技已推出以34410A数字多用表为代表的30多种符合LXI的T&M产品。其中大部分是A级仪器,C级仪器模块不到10种。

 

VXI科技有两种A级的数据采集产品,并且应用在波音公司新开发的787宽体远程客机的应力测量系统中。目前所有主要测试公司都支持LXI,已有300多种产品。对于LXI总线的推出国内测试界也积极响应。目前,陕西海泰电子有限责任公司、北京无线电计量测试研究所、北京航天测控技术开发公司等单位已加入了LXI联盟。2006年9月国内成功的召开了中国LXI联合体成立大会暨2006年总线技术与LXI学术会议。2007年6月又成功举办了LXI联盟会员大会暨高级技术论坛。但国内目前还没有符合LXI总线规范的仪器产品面世,关键技术尚在攻克。

总的来说,LXI总线规范融合了GPIB仪器的高性能、VXI/PXI插卡式仪器的紧凑灵活和以太网的高速吞吐率,并考虑定时、触发、冷却、电磁兼容等仪器要求。相对于以往的总线标准,LXI不受带宽、软件和计算机背板总线的限制,其覆盖范围更广、继承性能更好、生命周期更长,成本也更低,并依托以太网日益提高的吞吐能力和性能优势,必将成为下一代自动测试系统的理想解决方案。

 

设计思路及内容

本设计主要是PIC32 Ethernet Starter Kit实验板完成LXI总线C类电压表的设计。并在此基础上探究LXI总线B类电压表的实现。实验板如图1所示:

 

图1 PIC32 Ethernet Starter Kit实验板

图1 PIC32 Ethernet Starter Kit实验板

 

PIC32 Ethernet Starter Kit实验板的顶部组件包括:

  1. PIC32MX795F512L 32位微控制器。
  2. PIC32MX440F512H的USB微控制器板上调试。
  3. 绿色电源指示灯。
  4. 板晶体的精密微控制器时钟(8兆赫)。
  5. USB连接的板上调试器通信。
  6. 橙色调试指示灯。
  7. 三个为用户定义的输入按钮开关。
  8. 三个用户定义的LED指示灯。
  9. PIC32 USB A型主机为基础的应用插座连接。
  10. 主机模式电源线。
  11. RJ - 45以太网端口。
  12. 10/100以太网总线速度指示灯。
  13. 50兆赫以太网PHY振荡器。
  14. 32 kHz振荡器(可选)。
  15. USB主机和OTG PIC32的USB应用的供电电源。

 

PIC32 Ethernet Starter Kit实验板的底部组件包括:

  1. +3.3 V的稳压电源,通过USB或扩展板入门工具包电源。
  2. 连接各种扩展板。
  3. USB OTG和PIC32系列的USB OTG公司/设备为基础的应用设备连接微型AB插座。
  4. 外部以太网PHY。

 

PIC32单片机本身具有网络接口和USB等设计LXI的C类仪器的基本要求,LXI标准规定,C类接口功能需要提供LAN和Web浏览器接口,其LAN接口应支持千兆位以太网,向下兼容100Base-T,推荐使用Auto-MDIX功能,必须显示LXI仪器的MAC地址。网络协议上至少支持Ipv4的IP、TCP、UDP、ICMP、SNMP。必须支持三种LAN配置技术,即动态主机配置协议(DHCP)、动态配置本地链路选址(Auto-IP)和手动设置。必须提供HTML Web网页,这些Web网页可以在和W3C兼容的浏览器上正确工作。Web服务器必须符合HTTP1.1规范,且所提供的HTML网页必须符合版本4.01。[page]

 

LXI测试模块使用IVI-COM驱动程序(使用COM API的IVI驱动程序)对仪器进行控制。IVI驱动程序是基于VISA并被集成在NI提供的应用开发环境中。主控程序通过调用VISA I/O库函数,控制LXI模块完成电压、电流、频率等信号的测试采样。

 

因此本设计主要完成的内容如下所示:

  1. 熟悉计算机网络通信原理;
  2. 熟悉TCP/IP协议;
  3. 熟悉嵌入式的Internet技术;
  4. 完成模块内部常用接口的调试工作;
  5. 完成TCP/IP网络协议的实现;
  6. 实现Web Sever服务功能;
  7. 完成电压数据的读取;
  8. 探究B类电压表的实现方案。

 

基于PIC32单片机,关键在于网络协议的实现,结构框图如图2所示:

 

图2结构框图

图2结构框图

 

注:模块上的网络PHY为DP83848C,不具备IEEE1588帧检测能力,需要更换成DP83640。DP83640芯片内置高精度IEEE1588时钟,并设有由硬件执行的时间标记功能,可为接收及发送信息包打上时钟标记,以实现IEEE1588功能。

以太网本质上是一个物理层标准,作为一套完整的网络传输协议,必须具有高层控制协议,以太网使用了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接口的需求。[page]

 

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

该状态机利用两个always语句分别实现状态的转换以及输出。在ieee1588_time_stamp时间戳模块中还调用了read_time_model时钟读取模块为时间戳模块实时的读取时钟。由于模块上的网络PHY为DP83848C,不具备IEEE1588帧检测能力,需要更换成DP83640。DP83640芯片内置高精度IEEE1588时钟,并设有由硬件执行的时间标记功能,可为接收及发送信息包打上时钟标记,以实现IEEE1588功能。

 

二. 测试

LXI仪器是测试仪器的网络化应用,其利用IEEE1588协议解决了以太网的延迟不确定性,并可以帮助仪器实精确的时钟同步,势必成为分布式、网络化测试平台的主流。LXI的小型网络测试仪如图3所示:

 

图3   LXI的小型网络测试仪

图3   LXI的小型网络测试仪

 

    基于试验条件所限,本设计只能针对一个LXI仪器进行测试,测试的流程如图4所示:

 

图4     测试流程

图4     测试流程

关键字:单片机  电压表  PIC32 引用地址:基于单片机的B类电压表的设计与实现

上一篇:PIC 8位单片机的分类和特点二
下一篇:基于PIC32实现的智能球类回收车,软硬件协同

推荐阅读最新更新时间:2024-03-16 13:51

通过PIC单片机设计让电风扇送出仿自然风
硬件电路及原理 要使电风扇送出仿自然风,就需要改变电风扇送风的强弱,即需要改变风扇电机的电压和电流,从而改变其转速。如图1所示,风扇插座与晶闸管TREAC相串联,改变晶闸管控制角α,即控制晶闸管导通的时间,就能使风扇电机的电压、电流发生变化。图2展示了α角和电机负载电压的关系。 Α角的变化又可通过电容C1的充放电时间的改变来实现。PIC16F84 单片机按一定规律选择电阻Rx,即可改变电容C1的充放电时间,从而改变2N2646的导通时间。改变了TREAC的导通角,达到改变电风扇送风强弱的目的。控制角α和强弱风的关系如图3所示 市电频率f=50Hz,则可得下式 α/360°=t/0.02……………(1) 根据图1所示RxC1充
[单片机]
通过PIC<font color='red'>单片机</font>设计让电风扇送出仿自然风
MSP430单片机的软件IIC通信控制OLED
#include msp430g2553.h #include LQ12864.h void BCSplus_init(void) { BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0; if (CALBC1_1MHZ != 0xFF) { DCOCTL = 0x00; DCOCTL = CALDCO_12MHZ; BCSCTL1 = CALBC1_12MHZ; /* Set DCO to 1MHz */ } BCSCTL1 |= XT2OFF +DIVA_0; BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1; } voi
[单片机]
单片机驱动电磁式继电器的方法
在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执行元件,如电动机、电磁铁、电灯等;另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全,电磁式继电器便能完成这一桥梁作用。 电磁继电器是在在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。 它包括直流电磁继电器、交流电磁继电器、磁保持继电器、极化继电器、舌簧继电器,节能功率继电器。 (1)直流电磁继电器:输入电路中的控制电流为直流的电磁继电器。 (2)交流电磁继电器:输入电路中的控制电流为交流的电磁继电器。 (3)磁保持继电器:将磁钢引入磁回路,继电器
[单片机]
用<font color='red'>单片机</font>驱动电磁式继电器的方法
基于PID算法和51单片机的温度控制系统
0 引 言 温控技术无论是在工业生产,还是日常生活中都起着非常重要的作用。在冶金、石油、化工、电力和现代农业等行业,温度是极为重要而又普遍的热工参数之一,在普通家庭里热水器、电饭煲、电烤箱等依赖于温控技术的家电设备也是必不可少。可以说温度控制技术无处不在。 常规的温度控制方法以设定温度为临界点,超出设定允许范围即进行温度调控:低于设定值就加热,反之就停止或降温。这种方法实现简单、成本低,但控制效果不理想,控制温度精度不高、容易引起震荡,达到稳定点的时间也长,因此,只能用在精度要求不高的场合。 而采用PID算法进行温度控制,它具有控制精度高,能够克服容量滞后的特点,特别适用于负荷变化大、容量滞后较大、控制品质要求又很高的
[单片机]
基于PID算法和51<font color='red'>单片机</font>的温度控制系统
MSP432单片机学习记录(Code Composer Studio)
1、Code Composer Studio上手 官网地址如下,可自行下载安装,这个是免费的 https://www.ti.com.cn/tool/cn/CCSTUDIO 下面打开之后是下面这样的页面,下面是红色标志是一个图形化配置的页面,但是今天我要用的P401R这个板卡的图形化工具好像被下架了,因此这里只是展示下,打开就能看到的。 打开如下,输入432就可以看到一些相关的资源,然后就可以下载库了 也可以去官网下载SDK,位置如下 https://www.ti.com/tool/SIMPLELINK-MSP432-SDK 下面是新建工程,这里可以直接新建一个工程(在上面说的图形化配置里面找不到432P系列
[单片机]
MSP432<font color='red'>单片机</font>学习记录(Code Composer Studio)
一种用Atmel89c2051仿真PLC控制的方法
1 引言   用Atmel89c2051来仿真PLC的控制,能集单片机控制和PLC控制的优点。单片机控制作为嵌入式系统的核心技术,具有高可靠性和高性价比,而且小巧灵珑、成本低廉;PLC控制中的梯形图编程与继电接触控制电原理图相似,简单易学,深受电气技术人员的欢迎。笔者设计了以89C2051单片机为主控芯片的硬件线路,以此仿真板为硬件平台,允许用户先按梯形图对控制对象编程,这对继电接触控制技术较为熟悉的电气技术人员来说提供了方便。由于仿真板本身是一个不带编译程序的仿真PLC的单片机应用系统,所以,先要将梯形图转化为MCS51汇编指令程序。然后,用51系列仿真器,对转化后的汇编源程序进行编辑、编译,直至输出Intel HEX文件,
[工业控制]
微控制器时钟 — 选择晶振、谐振槽路、RC振荡器还是硅振荡器?
   概述   微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;基于相移电路的时钟源,如:RC (电阻、电容)振荡器。硅振荡器通常是完全集成的RC振荡器,为了提高稳定性,包含有时钟源、匹配电阻和电容、温度补偿等。图1给出了两种时钟源。图1给出了两个分立的振荡器电路,其中图1a为皮尔斯振荡器配置,用于机械式谐振器件,如晶振和陶瓷谐振槽路。图1b为简单的RC反馈振荡器。     ?图1. 简单时钟源:(a) 皮尔斯振荡器 (b) RC反馈振荡器   机械式谐振器与RC振荡器的主要区别   基于晶振与陶瓷谐振槽路(机械式)的振荡器通常能提供非常高的初始精度和较低的温度系数。相对而言,RC振荡器能够快
[工业控制]
STM32单片机中断详解
中断,在单片机中占有非常重要的地位。代码默认地从上向下执行,遇到条件或者其他语句,会按照指定的地方跳转。而在单片机执行代码的过程中,难免会有一些突发的情况需要处理,这样就会打断当前的代码,待处理完突发情况之后,程序会回到被打断的地方继续执行。 1 EXTI控制器 外部中断/事件控制器(EXTI)管理了控制器的 23 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 外部信号进入经过1的边沿检测电路,检测是否符合(有2和3的上升沿和下降沿选择寄存器决定),产生信号,然后和4软件
[单片机]
STM32<font color='red'>单片机</font>中断详解
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved