labview 的数字电路虚拟演示实验的研究 · labview programming environ-ment, and two...

4
ISSN1672-4305 CN12-1352 / N LABORATORY SCIENCE 23 3 2020 6 Vol. 23 No. 3 Jun. 2020 基于 LabVIEW 的数字电路虚拟演示实验的研究 周南权 1 , 全晓莉 2 , 曾自强 1 ( 1. 重庆航天职业技术学院 电子工程系, 重庆 400021; 2. 重庆理工大学 电气与电子工程学 , 重庆 400054) : 针对数字电路技术课程教学现状和存在的问题, 运用 LabVIEW 开发平台开发出一套用于数字电路技 术教学中的虚拟演示实验系统, 并以数值比较器和 RS 触发器这两个虚拟演示实验为例加以介绍教师可以在 教学过程中动态地演示出信号参数的变化对实验现象的影响实际应用表明, LabVIEW 应用于数字电路技术 课程教学中, 既丰富了教学手段和教学方法, 又增强了学生学习的积极性和兴趣虚拟仪器设计实践应用于 理论教学中, 开拓了一个全新的教学平台, 有助于提高学生的综合素质关键词: LabVIEW; 虚拟仪器; 数字电路; 比较器; 触发器 中图分类号:TP391. 9;G434 文献标识码:A doi:10. 3969 / j. issn. 1672-4305. 2020. 03. 022 Research on virtual demonstration experiment of digital circuit based on LabVIEW ZHOU Nanquan 1 , QUAN Xiaoli 2 , ZENG Ziqiang 1 (1. Department of Electronic Engineering, Chongqing Aerospace Polytechnic, Chongqing 400021, China; 2. School of Electrical and Electronic Engineering, Chongqing University of Technology, Chongqing 400054, China) Abstract: In view of the digital circuits problems in learning and teaching, a set of virtual demonstra- tion experiment system for digital circuit teaching is designed based on LabVIEW programming environ- ment, and two virtual demonstration experiments which are value comparator and RS trigger are intro- duced. Teacher could dynamically demonstrate that the variable signal parameters had an effect on ex- periment phenomenon in these teaching programs. Practical application showed that the application of LabVIEW in the digital circuit teaching had greatly diversified the teaching methods and means, strengthened the interest and initiative of students study. Virtual instrument design is used in the course of theoretic teaching to develop a new teaching platform, which helps to improve students com- prehensive quality. Key words: LabVIEW; virtual instrument; digital circuit; comparator; trigger 收稿日期:2018-11-01 修改日期:2019-04-17 作者简介:周南权,硕士,副教授,主要研究方向为测量仪器和虚 拟仪器软件开发。 E-mail:406833479@ qq. com 基金项目:重庆市高等教育教学改革研究项目 ( 项目编号: 143171) 对于高等工科院校来讲, 实践教学是理论联系 实际提高动手能力的重要平台,是教育教学中重要 的教学环节近年来随着各大高校扩招, 学生数量 剧增,实验室设备和数量都难以做到按比例匹配,以满足教学需求 [1] , 特别是电子类的实践教学, 种电子仪器设备都必须配置多套, 并且现代电子技 术发展迅速,电子设备更新周期较短,而且有的仪器 设备价格昂贵,因此对实践教学中电子仪器设备的 资金投入巨大, 一般学校很难满足 [2] 因此, 学生 亲自动手操作实训设备仪器的机会较少,基本上是 以分小组的方式集体操作某种仪器设备, 每个学生 不能充分利用时间熟悉和掌握具体仪器的使用与特 ,这样不能激发学生学习的积极性,也不利于培养 学生的实践动手能力和创新精神, 这就迫切需求虚 拟仪器实验教学系统的设计与开发 [3] 本文通过 对传统数字电路技术实验教学方式的分析, 结合目

Upload: others

Post on 15-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LabVIEW 的数字电路虚拟演示实验的研究 · LabVIEW programming environ-ment, and two virtual demonstration experiments which are value comparator and RS trigger are intro-duced

  ISSN1672-4305

CN12-1352 N实    验    室    科    学

LABORATORY 

SCIENCE第 23 卷  第 3 期  2020 年 6 月

Vol 23  No 3

  Jun 2020

基于 LabVIEW 的数字电路虚拟演示实验的研究

周南权1 全晓莉2 曾自强1

(1

重庆航天职业技术学院

电子工程系

重庆  400021

2

重庆理工大学

电气与电子工程学

院 重庆  400054)

摘  要 针对数字电路技术课程教学现状和存在的问题 运用 LabVIEW 开发平台开发出一套用于数字电路技

术教学中的虚拟演示实验系统 并以数值比较器和 RS 触发器这两个虚拟演示实验为例加以介绍 教师可以在

教学过程中动态地演示出信号参数的变化对实验现象的影响 实际应用表明 LabVIEW 应用于数字电路技术

课程教学中 既丰富了教学手段和教学方法 又增强了学生学习的积极性和兴趣 虚拟仪器设计实践应用于

理论教学中 开拓了一个全新的教学平台 有助于提高学生的综合素质关键词 LabVIEW 虚拟仪器 数字电路 比较器 触发器

中图分类号TP391 9G434    文献标识码A    doi10 3969 j issn 1672-4305 2020 03 022

Research

on

virtual

demonstration

experiment

of

digital

circuit

based

on

LabVIEW

ZHOU

Nanquan1

QUAN

Xiaoli2

ZENG

Ziqiang1

(1

Department

of

Electronic

Engineering

Chongqing

Aerospace

Polytechnic

Chongqing

400021

China

2

School

of

Electrical

and

Electronic

Engineering

Chongqing

University

of

Technology

Chongqing

400054

China)

Abstract In

view

of

the

digital

circuit1049011s

problems

in

learning

and

teaching

a

set

of

virtual

demonstra-tion

experiment

system

for

digital

circuit

teaching

is

designed

based

on

LabVIEW

programming

environ-ment

and

two

virtual

demonstration

experiments

which

are

value

comparator

and

RS

trigger

are

intro-duced

Teacher

could

dynamically

demonstrate

that

the

variable

signal

parameters

had

an

effect

on

ex-periment

phenomenon

in

these

teaching

programs

Practical

application

showed

that

the

application

of

LabVIEW

in

the

digital

circuit

teaching

had

greatly

diversified

the

teaching

methods

and

means

strengthened

the

interest

and

initiative

of

students1049011

study

Virtual

instrument

design

is

used

in

the

course

of

theoretic

teaching

to

develop

a

new

teaching

platform

which

helps

to

improve

students1049011

com-prehensive

quality

Key

words LabVIEW

virtual

instrument

digital

circuit

comparator

trigger

                                              

  

  

                          

  

  

 

收稿日期2018-11-01  修改日期2019-04-17作者简介周南权硕士副教授主要研究方向为测量仪器和虚

拟仪器软件开发 E-mail406833479 qq com基金项目重庆市高等教育教学改革研究项目 ( 项目编号

143171)

    对于高等工科院校来讲实践教学是理论联系

实际提高动手能力的重要平台是教育教学中重要

的教学环节 近年来随着各大高校扩招学生数量

剧增实验室设备和数量都难以做到按比例匹配难以满足教学需求[1] 特别是电子类的实践教学每

种电子仪器设备都必须配置多套并且现代电子技

术发展迅速电子设备更新周期较短而且有的仪器

设备价格昂贵因此对实践教学中电子仪器设备的

资金投入巨大一般学校很难满足[2] 因此学生

亲自动手操作实训设备仪器的机会较少基本上是

以分小组的方式集体操作某种仪器设备每个学生

不能充分利用时间熟悉和掌握具体仪器的使用与特

性这样不能激发学生学习的积极性也不利于培养

学生的实践动手能力和创新精神这就迫切需求虚

拟仪器实验教学系统的设计与开发[3] 本文通过

对传统数字电路技术实验教学方式的分析结合目

前虚拟仪器技术的发展现状利用 LabVIEW 软件开

发平台开发出一套用于数字电路技术教学中的虚拟

演示实验系统

1 

LabVIEW 软件介绍

LabVIEW ( Laboratory

Virtual

Instrument

Engi-neering

Workbench)是一种程序开发环境是一种用

图标代替文本行创建应用程序的图形化编程语言用它来编程时基本上用程序流程图来取代程序代

码其框图化的界面使得编程及操作过程都异常生

动有趣[4] 与其他软件相比利用 LabVIEW 软件开

发平台进行虚拟仪器的开发可大大减少工作量降低成本[5 - 6]

2 

虚拟演示实验系统的设计

该系统主要用于教学实验的模拟仿真完全摆

脱了硬件的限制 根据实验的内容和要求在 Lab-VIEW 环境下构建了 9 个虚拟演示实验模块数据

选择器数值比较器8 线- 3 线编码器七段译码

器D 锁存器RS 触发器移位寄存器简易计数器

及数字钟的设计[7 - 8] 每一个实验项目模块为一个

独立的实验子系统以完成特定的实验内容 实验

系统的构成如图 1 所示

图 1  虚拟演示实验系统的构成

考虑到该系统主要是用于教学实验的仿真因此和硬件相关的部分都需要采用软件来进行模拟LabVIEW

中包含了大量的函数模块如信号仿真模

块信号调理模块及信号分析处理模块等利用这些

功能强大的函数模块以及不同类型的输入控件和显

示控件可以方便地实现测试过程的模拟实验数据

的分析及结果的显示等

3

  虚拟演示实验的应用实例

数字电路技术课程实验通常包括验证性实验和

综合设计性实验验证性实验是用实验验证已学过

的课堂理论知识目的在于演示和证明理论知识的

真实性可使学生更形象逼真和便捷地掌握基本逻

辑电路的功能特点及其使用方法等综合设计性实

验是学生在实验室动手实践将基于 LabVIEW 软件

开发的虚拟实验平台和传统的基于实验室的物理环

境的实验相结合不仅要让学生学会实验技术或者

设备系统的使用方法更要培养学生的电路设计能

力 本文以数值比较器和 RS 触发器为例分析虚拟

实验在数字电路教学中的应用3 1

  数值比较器

在数字系统中特别是在计算机中都具有运算

功能一种简单的运算就是比较两个数 A 和 B 的大

小 数值比较器就是对两数 AB 进行比较以判断

其大小的逻辑电路 比较结果有 AgtBAltB 以及 A= B 三种情况3 1 1  前面板设计

(1)根据数值比较器的需要在前面板的 Con-trols

Palette 中选择它的两个输入键 Horizontal

Tog-gle

Switch(AB)三个输出指示灯 Round

LED( AgtBA = BAltB) 另外选择两个 Round

Push

Button键分别作为选择器的运算键和退出键

(2)利用 Tools

Palette

和 Controls

Palette 中的相

关功能制作前面板使前面板更接近于真实的仪器制作后的前面板如图 2 所示

图 2  数值比较器虚拟演示实验的前面板图

3 1 2  程序设计

(1)首先选择一个 While 结构和事件结构(Case

Structure)将事件结构( Case

Structure) 放在 While结构之中并在事件结构中添加运算退出和 Panel

Close 三个事件(2)一位数值比较器的功能是当输入数值 A 大

于 B 时其输出指示灯 AgtB 亮A 等于 B 时输出指

示灯 A = B 亮A 小于 B 时输出指示灯 AltB 亮 从

而得出其逻辑表达式为

FA gt B = AB-

FA lt B = A-B

FA = B = A-B-+ AB

igrave

icirc

iacute

iumliumliuml

iumliumliuml

(1)

68                    

周南权等基于 LabVIEW 的数字电路虚拟演示实验的研究

(3)根据数值比较器的逻辑表达式在运算事件

结构中运用与门( And)非门( Not) 和或门( Or) 完

成组合逻辑电路(4)在退出事件结构中运用 Current

VI1049011s

PathOpen

VI

Reference Invoke

Node 和 Close

Reference写出能够在关闭前面板的同时也结束正在运行的程

序 从而完成整个虚拟仪器的设计其程序设计如

图 3 所示

图 3  数值比较器虚拟演示实验的程序框图

3 2

  RS 触发器

触发器的逻辑功能是指次态现态和输入信号

之间的逻辑关系这种关系可以用特性表特性方程

或状态图来描述3 2 1  前面板设计

(1)根据 RS 触发器的需要在前面板的 Con-trols

Palette 中选择它所需要的两个输入键(Horizon-tal

Switch)两个输出键(Square

LED)和两个控制键

(Round

Push

Button)(2)利用 Tools

Palette

和 Controls

Palette 中的相

关功能制作前面板使前面板更接近于真实的仪器制作后的前面板如图 4 所示

图 4  RS 触发器虚拟演示实验的前面板图

3 2 2  程序设计

(1)首先选择一个 While 结构一个 For 结构和

一个事件结构( Case

Structure)将事件结构( Case

Structure)放在 While 结构之中For 结构放在事件

结构中并在事件结构中添加运行退出和 Panel

Close 三个事件(2)基本 RS 触发器电路是由两个与非门作正

反馈闭环连接而构成的即由两个与非门交叉直接

耦合而成的 其真值表如表 1 所示 根据 RS 触发

器的特性表得出它的特性方程

Qn+1 = S + RQn

SR = 0 (2)

从而在运行事件结构中运用 For 结构中的移

位寄存器和或门(Or)设计出相应的程序

表 1  RS 触发器真值表

输入信号 输出状态 功能说明

R S Qn Qn+1

1 1 不变 保持不变

1 0 1 0 置 1

0 1 0 1 置 0

0 0 不定 失效

(3) 在退出事件结构中 运用 Current

VI rsquo s

PathOpen

VI

ReferenceInvoke

Node 和 Close

Refer-ence 写出能够在关闭前面板的同时也结束正在运

行的程序从而完成整个虚拟仪器的设计其程序设

计如图 5 所示

图 5  RS 触发器虚拟演示实验的程序框图

4  结语

在数字电路技术课程教学中使用基于 Lab-VIEW 开发平台开发的虚拟演示实验系统不仅可

以弥补高校实践教学中设备仪器的硬件短缺而且

丰富了课堂教学手段和教学方法可使学生很直观

动态地看到不同的信号参数具有不同的实验现象加深对所学理论知识的理解 虚拟仪器设计实践应

用于教学中可激发学生兴趣和学习积极性有助于

提高实验课的教学质量有助于提高学生的综合

素质

(下转第 91 页)

78

黄家玮等基于 P4 的软件定义网络实验教学方案设计

抓包工具分别对 s1 交换机 1 号端口和 s4 交换机 3号端口的数据包进行抓取发现由于从 h1 到 h3 的

数据包经过了四个交换机根据 action 中的每经过

一个交换机TTL 便减一的操作由抓包结果发现

TTL 值从 64 变成了 61如图 5图 6 所示

图 5  s1 交换机 1 号端口抓包结果(TTL64)

图 6  s4 交换机 3 号端口抓包结果(TTL61)

在 s1 的流表 s1 -commands txt 中将 h1h2 到

h4 的转发表项 table_add

forward

set_nhop

10 0 0 4

= gt

4 去除后此时 h1h2 无法和 h4 相连通 在

Mininet 中进行 pingall 操作所得到的结果如图 7所示

3  结语

在基于 P4 的软件定义网络的包转发实验中

图 7  去除 s1 中的部分流表项后执行 pingall 操作

学生通过创建拓扑和编写相应的 P4 程序搭建了

一个完整的虚拟化实验网络 学生通过本课程实

验不仅可以了解 P4 语言的使用规则和工作原理还可以对网络设备进行直接的操作能够很好地提

高学生的应用能力

参考文献(References)

[1]   张朝昆崔勇唐翯祎等 软件定义网络( SDN)研究进展[ J] 软件学报201526(1)62-81

[2]   McKeown

N

Anderson

T

Balakrishnan

H

et

al

OpenFlow

En-abling

innovation

in

campus

networks[J]

ACM

SIGCOMM

Com-puter

Communication

Review

2008

38(2)

69-74[3]   Bosshart

P

Daly

D

Gibb

G

et

al

P4Programming

Protocol-

Independent

Packet

Processors [ J]

ACM

SIGCOMM

Computer

Communication

Review201444(3)87-95[4]   黄家玮刘敬玲徐文茜等 软件定义网络的实验教学方案设

计[J] 计算机教育2017(3)152-154[5]   李艳郝志安李宁等 基于 mininet 的 SDN 架构仿真研究

[J] 计算机与网络2014(5)57-59[6]   Nunes

B

Mendonca

M

Nguyen

X

et

al

A

Survey

of

Software-

Defined

Networking

Past

Present

and

Future

of

Programmable

Networks[J]

Communications

Surveys

amp

Tutorials201416(3)1617-1634

[7]   Bholebawa

I

Jha

R

Dalal

U

Performance

Analysis

of

Proposed

OpenFlow-Based

Network

Architecture

Using

Mininet[ J]

Wire-less

Personal

Communications201686(2)943-958[8]   赵敏田野 P4 与 POF 协议无关可编程网络技术比较研究

[J] 网络新媒体技术2018(1)54-58[9]   刘争争毕军周禹等 基于 P4 的主动网络遥测机制[ J] 通

信学报2018(39)162-169[10]   尼克middot麦克欧文金昶勳 用 P4 对数据平面进行编程[ J] 中

国计算机学会通讯201612(7)12-20

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 87 页)参考文献(References)

[1]   吴桂峰唐鸿儒陈东雷 基于 Multisim 和 LabVIEW 的电路课

程虚拟实验平台的构架[ J] 当代教育实践与教学研究2016(1)90-91

[2]   杨絮王宇李洋等 通信工程专业创新实验虚拟平台建设与

实践[J] 科技创新导报2016(24)138-139[3]   廖柏林毛凯文刘畅等 基于 LabVIEW 的电子电路虚拟实

验平台设计与实现[J] 科技视界2017(2)29

[4]   宋铭 LabVIEW 编程详解[M]

北京电子工业出版社2017[5]   周晓东胡仁喜 LabVIEW

2015 中文版虚拟仪器从入门到精

通[M] 北京机械工业出版社2016[6]   位凯朋蒲永红刘志坚等 基于 LabVIEW 的单管放大电路

参数测试虚拟实验设计[J] 课程教育研究2017(5)48[7]   贾立新 数字电路[M] 3 版 北京电子工业出版社2017[8]   阎石 数字电子技术基础[ M] 6 版 北京高等教育出版社

2016

19

Page 2: LabVIEW 的数字电路虚拟演示实验的研究 · LabVIEW programming environ-ment, and two virtual demonstration experiments which are value comparator and RS trigger are intro-duced

前虚拟仪器技术的发展现状利用 LabVIEW 软件开

发平台开发出一套用于数字电路技术教学中的虚拟

演示实验系统

1 

LabVIEW 软件介绍

LabVIEW ( Laboratory

Virtual

Instrument

Engi-neering

Workbench)是一种程序开发环境是一种用

图标代替文本行创建应用程序的图形化编程语言用它来编程时基本上用程序流程图来取代程序代

码其框图化的界面使得编程及操作过程都异常生

动有趣[4] 与其他软件相比利用 LabVIEW 软件开

发平台进行虚拟仪器的开发可大大减少工作量降低成本[5 - 6]

2 

虚拟演示实验系统的设计

该系统主要用于教学实验的模拟仿真完全摆

脱了硬件的限制 根据实验的内容和要求在 Lab-VIEW 环境下构建了 9 个虚拟演示实验模块数据

选择器数值比较器8 线- 3 线编码器七段译码

器D 锁存器RS 触发器移位寄存器简易计数器

及数字钟的设计[7 - 8] 每一个实验项目模块为一个

独立的实验子系统以完成特定的实验内容 实验

系统的构成如图 1 所示

图 1  虚拟演示实验系统的构成

考虑到该系统主要是用于教学实验的仿真因此和硬件相关的部分都需要采用软件来进行模拟LabVIEW

中包含了大量的函数模块如信号仿真模

块信号调理模块及信号分析处理模块等利用这些

功能强大的函数模块以及不同类型的输入控件和显

示控件可以方便地实现测试过程的模拟实验数据

的分析及结果的显示等

3

  虚拟演示实验的应用实例

数字电路技术课程实验通常包括验证性实验和

综合设计性实验验证性实验是用实验验证已学过

的课堂理论知识目的在于演示和证明理论知识的

真实性可使学生更形象逼真和便捷地掌握基本逻

辑电路的功能特点及其使用方法等综合设计性实

验是学生在实验室动手实践将基于 LabVIEW 软件

开发的虚拟实验平台和传统的基于实验室的物理环

境的实验相结合不仅要让学生学会实验技术或者

设备系统的使用方法更要培养学生的电路设计能

力 本文以数值比较器和 RS 触发器为例分析虚拟

实验在数字电路教学中的应用3 1

  数值比较器

在数字系统中特别是在计算机中都具有运算

功能一种简单的运算就是比较两个数 A 和 B 的大

小 数值比较器就是对两数 AB 进行比较以判断

其大小的逻辑电路 比较结果有 AgtBAltB 以及 A= B 三种情况3 1 1  前面板设计

(1)根据数值比较器的需要在前面板的 Con-trols

Palette 中选择它的两个输入键 Horizontal

Tog-gle

Switch(AB)三个输出指示灯 Round

LED( AgtBA = BAltB) 另外选择两个 Round

Push

Button键分别作为选择器的运算键和退出键

(2)利用 Tools

Palette

和 Controls

Palette 中的相

关功能制作前面板使前面板更接近于真实的仪器制作后的前面板如图 2 所示

图 2  数值比较器虚拟演示实验的前面板图

3 1 2  程序设计

(1)首先选择一个 While 结构和事件结构(Case

Structure)将事件结构( Case

Structure) 放在 While结构之中并在事件结构中添加运算退出和 Panel

Close 三个事件(2)一位数值比较器的功能是当输入数值 A 大

于 B 时其输出指示灯 AgtB 亮A 等于 B 时输出指

示灯 A = B 亮A 小于 B 时输出指示灯 AltB 亮 从

而得出其逻辑表达式为

FA gt B = AB-

FA lt B = A-B

FA = B = A-B-+ AB

igrave

icirc

iacute

iumliumliuml

iumliumliuml

(1)

68                    

周南权等基于 LabVIEW 的数字电路虚拟演示实验的研究

(3)根据数值比较器的逻辑表达式在运算事件

结构中运用与门( And)非门( Not) 和或门( Or) 完

成组合逻辑电路(4)在退出事件结构中运用 Current

VI1049011s

PathOpen

VI

Reference Invoke

Node 和 Close

Reference写出能够在关闭前面板的同时也结束正在运行的程

序 从而完成整个虚拟仪器的设计其程序设计如

图 3 所示

图 3  数值比较器虚拟演示实验的程序框图

3 2

  RS 触发器

触发器的逻辑功能是指次态现态和输入信号

之间的逻辑关系这种关系可以用特性表特性方程

或状态图来描述3 2 1  前面板设计

(1)根据 RS 触发器的需要在前面板的 Con-trols

Palette 中选择它所需要的两个输入键(Horizon-tal

Switch)两个输出键(Square

LED)和两个控制键

(Round

Push

Button)(2)利用 Tools

Palette

和 Controls

Palette 中的相

关功能制作前面板使前面板更接近于真实的仪器制作后的前面板如图 4 所示

图 4  RS 触发器虚拟演示实验的前面板图

3 2 2  程序设计

(1)首先选择一个 While 结构一个 For 结构和

一个事件结构( Case

Structure)将事件结构( Case

Structure)放在 While 结构之中For 结构放在事件

结构中并在事件结构中添加运行退出和 Panel

Close 三个事件(2)基本 RS 触发器电路是由两个与非门作正

反馈闭环连接而构成的即由两个与非门交叉直接

耦合而成的 其真值表如表 1 所示 根据 RS 触发

器的特性表得出它的特性方程

Qn+1 = S + RQn

SR = 0 (2)

从而在运行事件结构中运用 For 结构中的移

位寄存器和或门(Or)设计出相应的程序

表 1  RS 触发器真值表

输入信号 输出状态 功能说明

R S Qn Qn+1

1 1 不变 保持不变

1 0 1 0 置 1

0 1 0 1 置 0

0 0 不定 失效

(3) 在退出事件结构中 运用 Current

VI rsquo s

PathOpen

VI

ReferenceInvoke

Node 和 Close

Refer-ence 写出能够在关闭前面板的同时也结束正在运

行的程序从而完成整个虚拟仪器的设计其程序设

计如图 5 所示

图 5  RS 触发器虚拟演示实验的程序框图

4  结语

在数字电路技术课程教学中使用基于 Lab-VIEW 开发平台开发的虚拟演示实验系统不仅可

以弥补高校实践教学中设备仪器的硬件短缺而且

丰富了课堂教学手段和教学方法可使学生很直观

动态地看到不同的信号参数具有不同的实验现象加深对所学理论知识的理解 虚拟仪器设计实践应

用于教学中可激发学生兴趣和学习积极性有助于

提高实验课的教学质量有助于提高学生的综合

素质

(下转第 91 页)

78

黄家玮等基于 P4 的软件定义网络实验教学方案设计

抓包工具分别对 s1 交换机 1 号端口和 s4 交换机 3号端口的数据包进行抓取发现由于从 h1 到 h3 的

数据包经过了四个交换机根据 action 中的每经过

一个交换机TTL 便减一的操作由抓包结果发现

TTL 值从 64 变成了 61如图 5图 6 所示

图 5  s1 交换机 1 号端口抓包结果(TTL64)

图 6  s4 交换机 3 号端口抓包结果(TTL61)

在 s1 的流表 s1 -commands txt 中将 h1h2 到

h4 的转发表项 table_add

forward

set_nhop

10 0 0 4

= gt

4 去除后此时 h1h2 无法和 h4 相连通 在

Mininet 中进行 pingall 操作所得到的结果如图 7所示

3  结语

在基于 P4 的软件定义网络的包转发实验中

图 7  去除 s1 中的部分流表项后执行 pingall 操作

学生通过创建拓扑和编写相应的 P4 程序搭建了

一个完整的虚拟化实验网络 学生通过本课程实

验不仅可以了解 P4 语言的使用规则和工作原理还可以对网络设备进行直接的操作能够很好地提

高学生的应用能力

参考文献(References)

[1]   张朝昆崔勇唐翯祎等 软件定义网络( SDN)研究进展[ J] 软件学报201526(1)62-81

[2]   McKeown

N

Anderson

T

Balakrishnan

H

et

al

OpenFlow

En-abling

innovation

in

campus

networks[J]

ACM

SIGCOMM

Com-puter

Communication

Review

2008

38(2)

69-74[3]   Bosshart

P

Daly

D

Gibb

G

et

al

P4Programming

Protocol-

Independent

Packet

Processors [ J]

ACM

SIGCOMM

Computer

Communication

Review201444(3)87-95[4]   黄家玮刘敬玲徐文茜等 软件定义网络的实验教学方案设

计[J] 计算机教育2017(3)152-154[5]   李艳郝志安李宁等 基于 mininet 的 SDN 架构仿真研究

[J] 计算机与网络2014(5)57-59[6]   Nunes

B

Mendonca

M

Nguyen

X

et

al

A

Survey

of

Software-

Defined

Networking

Past

Present

and

Future

of

Programmable

Networks[J]

Communications

Surveys

amp

Tutorials201416(3)1617-1634

[7]   Bholebawa

I

Jha

R

Dalal

U

Performance

Analysis

of

Proposed

OpenFlow-Based

Network

Architecture

Using

Mininet[ J]

Wire-less

Personal

Communications201686(2)943-958[8]   赵敏田野 P4 与 POF 协议无关可编程网络技术比较研究

[J] 网络新媒体技术2018(1)54-58[9]   刘争争毕军周禹等 基于 P4 的主动网络遥测机制[ J] 通

信学报2018(39)162-169[10]   尼克middot麦克欧文金昶勳 用 P4 对数据平面进行编程[ J] 中

国计算机学会通讯201612(7)12-20

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 87 页)参考文献(References)

[1]   吴桂峰唐鸿儒陈东雷 基于 Multisim 和 LabVIEW 的电路课

程虚拟实验平台的构架[ J] 当代教育实践与教学研究2016(1)90-91

[2]   杨絮王宇李洋等 通信工程专业创新实验虚拟平台建设与

实践[J] 科技创新导报2016(24)138-139[3]   廖柏林毛凯文刘畅等 基于 LabVIEW 的电子电路虚拟实

验平台设计与实现[J] 科技视界2017(2)29

[4]   宋铭 LabVIEW 编程详解[M]

北京电子工业出版社2017[5]   周晓东胡仁喜 LabVIEW

2015 中文版虚拟仪器从入门到精

通[M] 北京机械工业出版社2016[6]   位凯朋蒲永红刘志坚等 基于 LabVIEW 的单管放大电路

参数测试虚拟实验设计[J] 课程教育研究2017(5)48[7]   贾立新 数字电路[M] 3 版 北京电子工业出版社2017[8]   阎石 数字电子技术基础[ M] 6 版 北京高等教育出版社

2016

19

Page 3: LabVIEW 的数字电路虚拟演示实验的研究 · LabVIEW programming environ-ment, and two virtual demonstration experiments which are value comparator and RS trigger are intro-duced

周南权等基于 LabVIEW 的数字电路虚拟演示实验的研究

(3)根据数值比较器的逻辑表达式在运算事件

结构中运用与门( And)非门( Not) 和或门( Or) 完

成组合逻辑电路(4)在退出事件结构中运用 Current

VI1049011s

PathOpen

VI

Reference Invoke

Node 和 Close

Reference写出能够在关闭前面板的同时也结束正在运行的程

序 从而完成整个虚拟仪器的设计其程序设计如

图 3 所示

图 3  数值比较器虚拟演示实验的程序框图

3 2

  RS 触发器

触发器的逻辑功能是指次态现态和输入信号

之间的逻辑关系这种关系可以用特性表特性方程

或状态图来描述3 2 1  前面板设计

(1)根据 RS 触发器的需要在前面板的 Con-trols

Palette 中选择它所需要的两个输入键(Horizon-tal

Switch)两个输出键(Square

LED)和两个控制键

(Round

Push

Button)(2)利用 Tools

Palette

和 Controls

Palette 中的相

关功能制作前面板使前面板更接近于真实的仪器制作后的前面板如图 4 所示

图 4  RS 触发器虚拟演示实验的前面板图

3 2 2  程序设计

(1)首先选择一个 While 结构一个 For 结构和

一个事件结构( Case

Structure)将事件结构( Case

Structure)放在 While 结构之中For 结构放在事件

结构中并在事件结构中添加运行退出和 Panel

Close 三个事件(2)基本 RS 触发器电路是由两个与非门作正

反馈闭环连接而构成的即由两个与非门交叉直接

耦合而成的 其真值表如表 1 所示 根据 RS 触发

器的特性表得出它的特性方程

Qn+1 = S + RQn

SR = 0 (2)

从而在运行事件结构中运用 For 结构中的移

位寄存器和或门(Or)设计出相应的程序

表 1  RS 触发器真值表

输入信号 输出状态 功能说明

R S Qn Qn+1

1 1 不变 保持不变

1 0 1 0 置 1

0 1 0 1 置 0

0 0 不定 失效

(3) 在退出事件结构中 运用 Current

VI rsquo s

PathOpen

VI

ReferenceInvoke

Node 和 Close

Refer-ence 写出能够在关闭前面板的同时也结束正在运

行的程序从而完成整个虚拟仪器的设计其程序设

计如图 5 所示

图 5  RS 触发器虚拟演示实验的程序框图

4  结语

在数字电路技术课程教学中使用基于 Lab-VIEW 开发平台开发的虚拟演示实验系统不仅可

以弥补高校实践教学中设备仪器的硬件短缺而且

丰富了课堂教学手段和教学方法可使学生很直观

动态地看到不同的信号参数具有不同的实验现象加深对所学理论知识的理解 虚拟仪器设计实践应

用于教学中可激发学生兴趣和学习积极性有助于

提高实验课的教学质量有助于提高学生的综合

素质

(下转第 91 页)

78

黄家玮等基于 P4 的软件定义网络实验教学方案设计

抓包工具分别对 s1 交换机 1 号端口和 s4 交换机 3号端口的数据包进行抓取发现由于从 h1 到 h3 的

数据包经过了四个交换机根据 action 中的每经过

一个交换机TTL 便减一的操作由抓包结果发现

TTL 值从 64 变成了 61如图 5图 6 所示

图 5  s1 交换机 1 号端口抓包结果(TTL64)

图 6  s4 交换机 3 号端口抓包结果(TTL61)

在 s1 的流表 s1 -commands txt 中将 h1h2 到

h4 的转发表项 table_add

forward

set_nhop

10 0 0 4

= gt

4 去除后此时 h1h2 无法和 h4 相连通 在

Mininet 中进行 pingall 操作所得到的结果如图 7所示

3  结语

在基于 P4 的软件定义网络的包转发实验中

图 7  去除 s1 中的部分流表项后执行 pingall 操作

学生通过创建拓扑和编写相应的 P4 程序搭建了

一个完整的虚拟化实验网络 学生通过本课程实

验不仅可以了解 P4 语言的使用规则和工作原理还可以对网络设备进行直接的操作能够很好地提

高学生的应用能力

参考文献(References)

[1]   张朝昆崔勇唐翯祎等 软件定义网络( SDN)研究进展[ J] 软件学报201526(1)62-81

[2]   McKeown

N

Anderson

T

Balakrishnan

H

et

al

OpenFlow

En-abling

innovation

in

campus

networks[J]

ACM

SIGCOMM

Com-puter

Communication

Review

2008

38(2)

69-74[3]   Bosshart

P

Daly

D

Gibb

G

et

al

P4Programming

Protocol-

Independent

Packet

Processors [ J]

ACM

SIGCOMM

Computer

Communication

Review201444(3)87-95[4]   黄家玮刘敬玲徐文茜等 软件定义网络的实验教学方案设

计[J] 计算机教育2017(3)152-154[5]   李艳郝志安李宁等 基于 mininet 的 SDN 架构仿真研究

[J] 计算机与网络2014(5)57-59[6]   Nunes

B

Mendonca

M

Nguyen

X

et

al

A

Survey

of

Software-

Defined

Networking

Past

Present

and

Future

of

Programmable

Networks[J]

Communications

Surveys

amp

Tutorials201416(3)1617-1634

[7]   Bholebawa

I

Jha

R

Dalal

U

Performance

Analysis

of

Proposed

OpenFlow-Based

Network

Architecture

Using

Mininet[ J]

Wire-less

Personal

Communications201686(2)943-958[8]   赵敏田野 P4 与 POF 协议无关可编程网络技术比较研究

[J] 网络新媒体技术2018(1)54-58[9]   刘争争毕军周禹等 基于 P4 的主动网络遥测机制[ J] 通

信学报2018(39)162-169[10]   尼克middot麦克欧文金昶勳 用 P4 对数据平面进行编程[ J] 中

国计算机学会通讯201612(7)12-20

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 87 页)参考文献(References)

[1]   吴桂峰唐鸿儒陈东雷 基于 Multisim 和 LabVIEW 的电路课

程虚拟实验平台的构架[ J] 当代教育实践与教学研究2016(1)90-91

[2]   杨絮王宇李洋等 通信工程专业创新实验虚拟平台建设与

实践[J] 科技创新导报2016(24)138-139[3]   廖柏林毛凯文刘畅等 基于 LabVIEW 的电子电路虚拟实

验平台设计与实现[J] 科技视界2017(2)29

[4]   宋铭 LabVIEW 编程详解[M]

北京电子工业出版社2017[5]   周晓东胡仁喜 LabVIEW

2015 中文版虚拟仪器从入门到精

通[M] 北京机械工业出版社2016[6]   位凯朋蒲永红刘志坚等 基于 LabVIEW 的单管放大电路

参数测试虚拟实验设计[J] 课程教育研究2017(5)48[7]   贾立新 数字电路[M] 3 版 北京电子工业出版社2017[8]   阎石 数字电子技术基础[ M] 6 版 北京高等教育出版社

2016

19

Page 4: LabVIEW 的数字电路虚拟演示实验的研究 · LabVIEW programming environ-ment, and two virtual demonstration experiments which are value comparator and RS trigger are intro-duced

黄家玮等基于 P4 的软件定义网络实验教学方案设计

抓包工具分别对 s1 交换机 1 号端口和 s4 交换机 3号端口的数据包进行抓取发现由于从 h1 到 h3 的

数据包经过了四个交换机根据 action 中的每经过

一个交换机TTL 便减一的操作由抓包结果发现

TTL 值从 64 变成了 61如图 5图 6 所示

图 5  s1 交换机 1 号端口抓包结果(TTL64)

图 6  s4 交换机 3 号端口抓包结果(TTL61)

在 s1 的流表 s1 -commands txt 中将 h1h2 到

h4 的转发表项 table_add

forward

set_nhop

10 0 0 4

= gt

4 去除后此时 h1h2 无法和 h4 相连通 在

Mininet 中进行 pingall 操作所得到的结果如图 7所示

3  结语

在基于 P4 的软件定义网络的包转发实验中

图 7  去除 s1 中的部分流表项后执行 pingall 操作

学生通过创建拓扑和编写相应的 P4 程序搭建了

一个完整的虚拟化实验网络 学生通过本课程实

验不仅可以了解 P4 语言的使用规则和工作原理还可以对网络设备进行直接的操作能够很好地提

高学生的应用能力

参考文献(References)

[1]   张朝昆崔勇唐翯祎等 软件定义网络( SDN)研究进展[ J] 软件学报201526(1)62-81

[2]   McKeown

N

Anderson

T

Balakrishnan

H

et

al

OpenFlow

En-abling

innovation

in

campus

networks[J]

ACM

SIGCOMM

Com-puter

Communication

Review

2008

38(2)

69-74[3]   Bosshart

P

Daly

D

Gibb

G

et

al

P4Programming

Protocol-

Independent

Packet

Processors [ J]

ACM

SIGCOMM

Computer

Communication

Review201444(3)87-95[4]   黄家玮刘敬玲徐文茜等 软件定义网络的实验教学方案设

计[J] 计算机教育2017(3)152-154[5]   李艳郝志安李宁等 基于 mininet 的 SDN 架构仿真研究

[J] 计算机与网络2014(5)57-59[6]   Nunes

B

Mendonca

M

Nguyen

X

et

al

A

Survey

of

Software-

Defined

Networking

Past

Present

and

Future

of

Programmable

Networks[J]

Communications

Surveys

amp

Tutorials201416(3)1617-1634

[7]   Bholebawa

I

Jha

R

Dalal

U

Performance

Analysis

of

Proposed

OpenFlow-Based

Network

Architecture

Using

Mininet[ J]

Wire-less

Personal

Communications201686(2)943-958[8]   赵敏田野 P4 与 POF 协议无关可编程网络技术比较研究

[J] 网络新媒体技术2018(1)54-58[9]   刘争争毕军周禹等 基于 P4 的主动网络遥测机制[ J] 通

信学报2018(39)162-169[10]   尼克middot麦克欧文金昶勳 用 P4 对数据平面进行编程[ J] 中

国计算机学会通讯201612(7)12-20

10509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979105097910509791050979(上接第 87 页)参考文献(References)

[1]   吴桂峰唐鸿儒陈东雷 基于 Multisim 和 LabVIEW 的电路课

程虚拟实验平台的构架[ J] 当代教育实践与教学研究2016(1)90-91

[2]   杨絮王宇李洋等 通信工程专业创新实验虚拟平台建设与

实践[J] 科技创新导报2016(24)138-139[3]   廖柏林毛凯文刘畅等 基于 LabVIEW 的电子电路虚拟实

验平台设计与实现[J] 科技视界2017(2)29

[4]   宋铭 LabVIEW 编程详解[M]

北京电子工业出版社2017[5]   周晓东胡仁喜 LabVIEW

2015 中文版虚拟仪器从入门到精

通[M] 北京机械工业出版社2016[6]   位凯朋蒲永红刘志坚等 基于 LabVIEW 的单管放大电路

参数测试虚拟实验设计[J] 课程教育研究2017(5)48[7]   贾立新 数字电路[M] 3 版 北京电子工业出版社2017[8]   阎石 数字电子技术基础[ M] 6 版 北京高等教育出版社

2016

19