|
本帖最后由 sacq12 于 2015-1-28 17:35 编辑 4 u5 M7 O& {4 N' f1 \9 b 有一个简单的平台,用于验证测试小规模的逻辑电路。比如:拿到一片数字IC,不能确认其好坏,或准备进一步对其逻辑功能进行确定。 很早就有这个想法,一直没动手,拿到STM32F072NUCLEO板,觉得是动手的时候了。 Arduino插座与mbed开发环境有可能办到:简单的事情简单做;; D: g; @9 O" A 利用NUCLEO板现成的VCP便于与上位机通讯。' d' O N" b% t( z0 C; k3 B1 g 简单地看做: 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
(这个图只是为了指明几个感兴趣的插座与定义) NUCLEO板,利用mbed开发平台,硬件接口重点集中在Arduino部分的CN5和CN9,或利用CN10。 待测试的逻辑电路的输入、输出脚,都连接到D0~D15,并把逻辑电路的地、供电合适连接(3.3V)。% c1 B/ _$ M6 I) `, e" v3 y 上位机用LabVIEW编程环境,利用串口与NUCLEO板进行数据交换。 原理:在面板设置输入端电平,通过串口把数据送到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 测试插座与Aduino插座间的连接图:- \" O5 L/ S) N* R
实物:9 o/ n4 ]) K' J 2 Q6 B) {+ @8 z6 }" D: Y ^. i7 p3 P
! r3 K% q0 C- B : w6 G! u* [% K* Q5 e) X 串口通讯的约定: 波特率9600,数据8位,1停止位,等等没什么特别的; 约定Nucleo接受的命令: 4 |) ]& b d& B. n! @8 Y F1 (脚号) (脚号)... [ 对应的引脚置1 ] F0 (脚号) (脚号)... [ 对应的引脚置0 ] 8X [ 查询引脚X的电平,答复格式:单字节 X0 或 X1 ] (X: 1...7,9...F) Z! }/ U2 l) `% n, O+ A$ x 88 [ 查询4个引脚的电平,答复格式:单字节 (80...8F) ] ' X; K# K- v0 j7 t1 K3 D, g& w 软件# d$ `+ e7 C' {# } 现在以4000系列的几种逻辑门电路(4001,4011,4071,4077,4081,都是4个2输入)为例子,编写相应的软件。( i. @0 j" L; w s 在mbed里,编写NUCLEO板的代码,根据这几种IC的特点,确定引脚的输入或输出的配置。 (对NUCLEO板而言,输入输出的概念与待测试IC的输入输出是相反的)
(mbed里的语句不过100行,简短) LabVIEW程序局部截图:
! C& a" q7 d: U0 s( l (LabVIEW程序,“画”着庞大,原理简单) & s: g+ z. B l LabVIEW程序界面截图:
(开关设置输入端的高低电平,红灯指示高,绿灯代表低) 对照下4001(或非门),逻辑正确吗?
2 x6 J& F! m D7 c7 e 再看看4011(与非门): 3 `; ^5 H% B9 ?6 J( h$ c9 w5 K
+ `- z1 h6 [ I9 ]0 V" l1 c 4077的:
/ d; } D5 `# g* y1 b M 还有4071,4081。。。 先整理这么多。3 R& S5 A- S3 y! k 有关文件存在这里: bin文件(可直接“拷贝”到STM32F072-NUCLEO板)
Nucleo_itest_2_NUCLEO_F072RB (11).rar
(10.83 KB, 下载次数: 2)
|
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
小白也能明白的STM32的低功耗与唤醒机制
STM32系统中2种数据掉电保护的方法
分享STM32F051中文参考手册(重制书签版)
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
STM32固件库分享,超全系列整理
STM32小白入门指南:从基础到OTA实现方案
STM32超详细学习笔记
新手必看!STM32单片机应该怎么学?
如果你解决了这些问题,就可以直接学STM32
微信公众号
手机版
来点有意思的吧。
把上位机(LabVIEW的)程序改进一下,在原有的界面右侧加点指示灯,示意在的测试的逻辑门的类型(与非,或,异或......共6种),当所有输入端的开关,按图中设置时,右侧可直接给出待测的门的类型指示,直接上图:" Q6 J+ ^0 Z& N
9 i. r# ^% T7 @; D6 d+ h. F
来几张实拍的吧:
(4071 或门 OR)
! i: v; p% A3 d) Y7 X$ ?
(4077 异或非 NXOR)* T0 H8 a& u9 i+ W
- p, @& [; R! F; H; q4 _ A: J
(4011 与非门 NAND)
LabVIEW程序,只改动了一点点,保存在下面。. r) [ X( ^8 a* f) Z u6 o) ]
, W( g* y* }1 s1 F0 |
BIN文件,不变哦,在顶楼。
) {: Y d; U( w9 V- l0 V$ `( S