你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F072NUCLEO板与LabVIEW的逻辑测试平台  

[复制链接]
sacq12 发布时间:2015-1-26 22:37
本帖最后由 sacq12 于 2015-1-28 17:35 编辑
- K. _5 A( r3 D
2 B9 d$ D  s: X1 O9 e. H有一个简单的平台,用于验证测试小规模的逻辑电路。比如:拿到一片数字IC,不能确认其好坏,或准备进一步对其逻辑功能进行确定。# l, Y* x9 N2 E
! y' b' q2 l$ X9 p
很早就有这个想法,一直没动手,拿到STM32F072NUCLEO板,觉得是动手的时候了。- }8 k3 D1 \2 E
Arduino插座与mbed开发环境有可能办到:简单的事情简单做;
, x0 ^0 V2 f. w3 j3 {利用NUCLEO板现成的VCP便于与上位机通讯。7 C9 Z/ Y! V& _; n1 \
简单地看做:8 i* ]  |# \7 L* g
IC 测试座 <---> NUCLEO板 <---->  PC  
/ I0 s* S% _, j+ O6 H/ b/ H, O& M1 V2 H; A+ \& j. o; D
利用NUCLEO板的数字端口(D0~D15等),在LabVIEW环境下搭建“虚拟”平台,对外接的数字逻辑电路进行“真实”的测试。* J* Z( c- _8 \3 S0 V
虚拟的是:界面里的开关、指示灯等;, s0 h2 G% Z3 a1 i7 \* i$ v% e
真实的是:逻辑器件上的电平。, l. a2 m( O7 G5 E
; D5 A0 B, v# d* B2 I/ O5 F* [
360截图20150126215357006.jpg
- Q/ p/ j# U5 w2 g5 R* f$ a/ _% [; m(这个图只是为了指明几个感兴趣的插座与定义)
5 J  }6 s# n  w, g
# B/ u4 H7 @; c6 k* r- K' ]5 iNUCLEO板,利用mbed开发平台,硬件接口重点集中在Arduino部分的CN5和CN9,或利用CN10。
/ v" ?$ L* Y: l* ?+ o# c: ?待测试的逻辑电路的输入、输出脚,都连接到D0~D15,并把逻辑电路的地、供电合适连接(3.3V)。5 @* _  i8 G" q, O
上位机用LabVIEW编程环境,利用串口与NUCLEO板进行数据交换。0 R: Z; ]% u+ ]- w6 V8 M

- \0 [8 j/ Q8 T$ J/ H( \原理:在面板设置输入端电平,通过串口把数据送到NUCLEO板,NUCLEO板负责把对应的逻辑电路引脚置1或置0,并把逻辑输出状态通过串口送到
, z, I5 I7 b5 I% H( a6 `0 A6 Y% z2 b上位机,在LabVIEW界面即观测到输出端电平。
7 }2 Q! M9 K3 g4 H8 ^" |
6 z- l( H& A+ s: c: L4 p
: P- h" V0 t6 B1 o/ l. W1 a6 J) q测试插座与Aduino插座间的连接图:
9 Q6 \: d+ V- \8 ` ic-test-arduino-.jpg & _( C2 S+ T1 o

/ j- k% T. v2 e2 b- L实物:) E2 c- @4 H: r/ V2 F; R5 _

+ r" P5 V; e9 @3 e. f2 H4 e" h2 L DSC00777.JPG   l3 c% g0 t6 s5 J, L3 B6 E( a) H# \
$ H' I- c; j  e0 {) B

0 k4 N, X  Z! \' j) W  ?串口通讯的约定:
) W0 \7 U8 u% q3 }5 O+ L8 ^: \波特率9600,数据8位,1停止位,等等没什么特别的;$ t% I+ N& m! L$ @; g4 d+ `
约定Nucleo接受的命令: + O- W/ \- @6 I0 A# G9 ]: e
F1 (脚号) (脚号)...  [ 对应的引脚置1 ]. S' k4 J2 h+ O: G+ G6 Z% l
F0 (脚号) (脚号)...  [ 对应的引脚置0 ]1 U. X4 n7 h+ ], W3 X; G/ C
8X                     [ 查询引脚X的电平,答复格式:单字节 X0 或 X1 ] (X: 1...7,9...F)
" e  j* U7 j+ v  J: E: K88                     [ 查询4个引脚的电平,答复格式:单字节 (80...8F) ]     + i6 c2 k3 L" U5 [. u' B7 m+ e
. _& t8 V" L( k% ^' `
: [$ C9 }; Z  V+ C  Y: d
软件/ H8 E; ^3 R* j( }  v! V: y
现在以4000系列的几种逻辑门电路(4001,4011,4071,4077,4081,都是4个2输入)为例子,编写相应的软件。
  Y( p% z/ J8 W) x! J% I% Z2 d在mbed里,编写NUCLEO板的代码,根据这几种IC的特点,确定引脚的输入或输出的配置。
2 r2 m, b; f: h8 V, o$ Y7 F% A8 o(对NUCLEO板而言,输入输出的概念与待测试IC的输入输出是相反的)3 v! {: X( m+ o7 s% y% p- m# f
+ `9 {: s) v- Y5 L3 \! @
mbed-.jpg 0 x" O, k: Q. O4 K

- O( s. |4 h$ s3 _2 h(mbed里的语句不过100行,简短)
% e; L; m# D' ^! F8 k, I  d; v3 R5 u
LabVIEW程序局部截图:
: @5 A% V5 e# _, [; o: A$ E' L. u
' ~! r4 M4 h5 A2 K$ K labview-.jpg
1 }2 h2 D$ Y3 }. {" d
. O! l" E+ J, i& r2 j( x4 K- X3 B0 ?(LabVIEW程序,“画”着庞大,原理简单)5 R& \; C" S* [. i/ h1 b, `& P1 C
6 U; @1 i' V  Z* l7 m7 |! ~: w
LabVIEW程序界面截图:
4 O; l- K  z" A+ a: b8 N 4001-00.jpg 0 \  j0 A. T  H1 m
(开关设置输入端的高低电平,红灯指示高,绿灯代表低)& h% g; [- E) m+ W4 b5 S6 b( p+ p
3 O& y# X8 T+ a
对照下4001(或非门),逻辑正确吗?
: C" Y( I& |6 i3 z2 v4 _
) Y  D9 @# j! ?* s2 h- |3 } 4001-0.jpg
' \! e/ R* }. ^( D) ]0 R
8 ]. K4 m' T5 x# L& \( c, s! Q再看看4011(与非门):6 D0 k5 j2 p' L  |) f6 }! N
9 C9 W! T8 @" A+ u+ G
4011-00.jpg " J9 \: c! E8 }3 y3 E" E

+ U0 I6 `4 k( e- h& ] 4011-0.jpg $ {2 w8 ?- {! r- i

2 D3 {5 \6 G* g5 T4077的:6 [3 g% l8 u6 Q5 h+ r, S
4077-00.jpg
! F$ q6 ]& N2 q3 K* P! H
! t1 ?( x1 z! |& L还有4071,4081。。。
, c2 S4 U# `% x" v
0 \+ q: x0 B- P( E先整理这么多。# t; k9 x: Q: k5 r" Z, T

! n1 v6 I5 ]7 W% _7 u. q0 G有关文件存在这里:
' A8 \: z  j' Y, jbin文件(可直接“拷贝”到STM32F072-NUCLEO板)
8 g( b" e* @' ~ Nucleo_itest_2_NUCLEO_F072RB (11).rar (10.83 KB, 下载次数: 2)
赞 收藏 1 评论28 发布时间:2015-1-26 22:37

举报

28个回答
sacq12 回答时间:2015-1-26 22:38:00
本帖最后由 sacq12 于 2015-1-29 16:02 编辑 7 e: Y  u! _$ T0 `
# b! `1 k3 ^0 S4 K# f3 W& [
来点有意思的吧。
% t$ |/ B$ w5 }, m' k8 U把上位机(LabVIEW的)程序改进一下,在原有的界面右侧加点指示灯,示意在的测试的逻辑门的类型(与非,或,异或......共6种),当所有输入端的开关,按图中设置时,右侧可直接给出待测的门的类型指示,直接上图:* b/ f( U' ?2 C  s( ~' K& Y8 b

3 v7 H% G0 F* b, j6 w/ P 1-20150129153337890.jpg
3 |0 w( N) X3 n5 ~$ \# D% E1 O* N( C) }8 \6 @! C% k
来几张实拍的吧:# T) M$ L/ ?: y2 h$ Z7 r

1 E7 l/ z" I" i+ F6 l& m7 Y/ q3 i DSC00784-4071OR.JPG
6 n* P9 w( q3 g& a# H  a(4071 或门 OR)( @+ g$ q, {" i- f/ U. N  U

7 R7 f$ a$ l# r* \( {" B DSC00787-4077NXOR.JPG 2 B+ s9 F7 K/ x5 [6 g. }
(4077 异或非 NXOR)  }% G* _7 ]0 w0 z
$ B( J1 f2 \* f( v6 W
DSC00780.JPG ' z6 n, Y) |7 _2 _, t
(4011 与非门 NAND)# V: ?% @+ D0 b
7 l! [0 V& k: }
LabVIEW程序,只改动了一点点,保存在下面。8 \: [+ B( H, E$ k6 U9 I

" V6 `; [8 j' @1 _  a SerialDigitLogicTest-21.rar (23.59 KB, 下载次数: 2)
kqh1120 回答时间:2015-1-27 11:03:45
谢谢分享 1.png 1.png
wu1169668869 回答时间:2015-1-27 12:35:00
感觉labview写上位机会很简单。。寒假看看
sacq12 回答时间:2015-1-26 22:38:22
板凳占座~~~~~~~~
lkl0305 回答时间:2015-1-26 23:16:00
很不错啊
holts1 回答时间:2015-1-27 08:02:16
学习了…………
沐紫 回答时间:2015-1-27 08:43:18
谢谢!
星辰一方 回答时间:2015-1-27 08:46:34
不错的想法!
caizhiwei 回答时间:2015-1-27 08:51:06
非常不错哟
逍遥李 回答时间:2015-1-27 10:30:31
好主意!
埃斯提爱慕 回答时间:2015-1-27 12:53:43
提示: 作者被禁止或删除 内容自动屏蔽
我是酱油哥 回答时间:2015-1-27 12:57:23
犀利啊   
天天晓宇 回答时间:2015-1-27 13:13:20
支持支持
qianfan 回答时间:2015-1-27 13:18:41
LABVIEW貌似是个神器,不过没有用过
12下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版