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

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

[复制链接]
sacq12 发布时间:2015-1-26 22:37
本帖最后由 sacq12 于 2015-1-28 17:35 编辑
- Y8 |- `# }7 M9 U/ ?4 L' b5 p9 W4 u5 M7 O& {4 N' f1 \9 b
有一个简单的平台,用于验证测试小规模的逻辑电路。比如:拿到一片数字IC,不能确认其好坏,或准备进一步对其逻辑功能进行确定。
. D- r+ X/ \; h8 y) Y" t
, m: r+ R! H2 g很早就有这个想法,一直没动手,拿到STM32F072NUCLEO板,觉得是动手的时候了。
5 u  ^1 j) Q; V3 L4 ^* MArduino插座与mbed开发环境有可能办到:简单的事情简单做;; D: g; @9 O" A
利用NUCLEO板现成的VCP便于与上位机通讯。' d' O  N" b% t( z0 C; k3 B1 g
简单地看做:
" {: J, Y$ V2 |7 ?IC 测试座 <---> NUCLEO板 <---->  PC    G2 Y  t$ a7 l0 g4 S' X( C
8 v, a% b; k4 V: x) a. q
利用NUCLEO板的数字端口(D0~D15等),在LabVIEW环境下搭建“虚拟”平台,对外接的数字逻辑电路进行“真实”的测试。3 N4 l. ]' M, p
虚拟的是:界面里的开关、指示灯等;% P3 H1 V4 t5 d6 ^
真实的是:逻辑器件上的电平。5 D" S' e8 q5 l& J* F/ o0 I

0 f4 C! a8 ?$ Y5 h1 S3 M( { 360截图20150126215357006.jpg
2 s% ^  T8 y( d/ U" A(这个图只是为了指明几个感兴趣的插座与定义)
. O9 X+ {& d( ?4 I9 ]
! P% r* z$ s+ b7 W, Z* iNUCLEO板,利用mbed开发平台,硬件接口重点集中在Arduino部分的CN5和CN9,或利用CN10。
- m0 l. K& f; l待测试的逻辑电路的输入、输出脚,都连接到D0~D15,并把逻辑电路的地、供电合适连接(3.3V)。% c1 B/ _$ M6 I) `, e" v3 y
上位机用LabVIEW编程环境,利用串口与NUCLEO板进行数据交换。
& f* b5 Y) G' K8 |& ~! W
4 a( [8 B4 d; h, N原理:在面板设置输入端电平,通过串口把数据送到NUCLEO板,NUCLEO板负责把对应的逻辑电路引脚置1或置0,并把逻辑输出状态通过串口送到( O8 D( I" J- p0 w3 Y$ \. c1 w0 }
上位机,在LabVIEW界面即观测到输出端电平。: U) Z0 j8 r( A9 F
% c* x% V' q% E& g! B3 b0 S% g

$ x1 S! W- E4 F1 y, c, e7 H  t, }- Q测试插座与Aduino插座间的连接图:- \" O5 L/ S) N* R
ic-test-arduino-.jpg % I0 G" h2 L/ v: ~6 u, d1 R0 L8 r

# n, }# S8 u: Z4 Q1 @5 N$ j4 O实物:9 o/ n4 ]) K' J
2 Q6 B) {+ @8 z6 }" D: Y  ^. i7 p3 P
DSC00777.JPG ' B9 q- U, B4 {. J# U
! r3 K% q0 C- B
: w6 G! u* [% K* Q5 e) X
串口通讯的约定:
$ L8 V2 V) i* E% E  T波特率9600,数据8位,1停止位,等等没什么特别的;
  x3 x+ R! q! y% h6 a* v约定Nucleo接受的命令: 4 |) ]& b  d& B. n! @8 Y
F1 (脚号) (脚号)...  [ 对应的引脚置1 ]
, L# g8 l, K/ e- Y; A/ Y- kF0 (脚号) (脚号)...  [ 对应的引脚置0 ]
, F" r( \/ Q' V& g* Y8X                     [ 查询引脚X的电平,答复格式:单字节 X0 或 X1 ] (X: 1...7,9...F)  Z! }/ U2 l) `% n, O+ A$ x
88                     [ 查询4个引脚的电平,答复格式:单字节 (80...8F) ]     
& K! i( B8 J* _" f' X; K# K- v0 j7 t1 K3 D, g& w

, d" R' M' l' C" B- b, s软件# d$ `+ e7 C' {# }
现在以4000系列的几种逻辑门电路(4001,4011,4071,4077,4081,都是4个2输入)为例子,编写相应的软件。( i. @0 j" L; w  s
在mbed里,编写NUCLEO板的代码,根据这几种IC的特点,确定引脚的输入或输出的配置。
6 }4 I: E% L# {) F, e(对NUCLEO板而言,输入输出的概念与待测试IC的输入输出是相反的)
& ]' U" W0 F) `; c: G
- k, J2 x) U; Z- o- w8 E3 X mbed-.jpg
1 V1 O2 O5 I4 F. A
+ \  V( T; g% R* `8 @* u" t5 X(mbed里的语句不过100行,简短)
. w2 x6 S+ r2 y: e7 [( X
5 z2 e0 Q( E, B# Q" G. U* CLabVIEW程序局部截图:
! I/ _3 y. w) {' S4 p
- T5 i8 n, w, P& w8 t9 ]2 j$ R labview-.jpg - ~3 d# g' U; J, H- _1 P, e+ }
! C& a" q7 d: U0 s( l
(LabVIEW程序,“画”着庞大,原理简单)
5 O! |- e6 d7 P& x& s: g+ z. B  l
LabVIEW程序界面截图:
9 D, U2 c) D; \. s8 B3 L 4001-00.jpg . E9 Y& D1 b) L' J; |* o6 W- A+ {
(开关设置输入端的高低电平,红灯指示高,绿灯代表低)
" `; d% D) n: F6 W7 U! E
: z% u  E6 a( K7 z对照下4001(或非门),逻辑正确吗?
7 ?! H$ z4 s* m9 s* Y1 M1 g
* B1 }2 [  T$ q 4001-0.jpg
& [/ W/ F# p/ M1 S2 x6 J& F! m  D7 c7 e
再看看4011(与非门):
3 M: M* C0 r* }- V3 `; ^5 H% B9 ?6 J( h$ c9 w5 K
4011-00.jpg 1 |0 Y9 P0 A+ h6 q/ J# h+ {

! b/ Y9 f- D2 _ 4011-0.jpg / o4 i7 v$ m8 x/ H* o
+ `- z1 h6 [  I9 ]0 V" l1 c
4077的:
6 S+ }' R8 O1 w; P/ m- ^$ W) w 4077-00.jpg
. t: P( I1 s2 x$ D8 D/ d; }  D5 `# g* y1 b  M
还有4071,4081。。。
$ I% Q0 x9 X" \3 J8 k
3 U2 B6 Z+ V1 W先整理这么多。3 R& S5 A- S3 y! k

2 T5 Q7 l2 P2 b0 L有关文件存在这里:
4 n5 T3 K$ C, b# ?: @bin文件(可直接“拷贝”到STM32F072-NUCLEO板)
( E& ^/ [" p8 |- V 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 编辑 ! [9 i; @, O3 `! l" \$ W

$ P0 D& D5 P; @( ^, \3 G3 x来点有意思的吧。
# s7 v4 L8 B4 Q把上位机(LabVIEW的)程序改进一下,在原有的界面右侧加点指示灯,示意在的测试的逻辑门的类型(与非,或,异或......共6种),当所有输入端的开关,按图中设置时,右侧可直接给出待测的门的类型指示,直接上图:" Q6 J+ ^0 Z& N
9 i. r# ^% T7 @; D6 d+ h. F
1-20150129153337890.jpg
& k( S6 H9 U5 J  \  N. @
" l1 a* z$ X6 O' S8 L来几张实拍的吧:
- Z6 A' j5 h* Q! G8 F( C  f7 m
( `. l- T# v1 \9 ^, c) N. @ DSC00784-4071OR.JPG , |! G6 h) r6 T( V
(4071 或门 OR)
1 z$ m* _" V$ M* q& `. ~( t: p" r! i: v; p% A3 d) Y7 X$ ?
DSC00787-4077NXOR.JPG
2 a) Q( Z+ N4 M% i/ ?0 [( f- z(4077 异或非 NXOR)* T0 H8 a& u9 i+ W
- p, @& [; R! F; H; q4 _  A: J
DSC00780.JPG
6 J- j! ^+ d4 L' A; p(4011 与非门 NAND)
9 S; ^8 r, h# \3 z* W
4 G" _, x1 Q8 w5 o+ [: ?LabVIEW程序,只改动了一点点,保存在下面。. r) [  X( ^8 a* f) Z  u6 o) ]
, W( g* y* }1 s1 F0 |
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 手机版