|
本帖最后由 sacq12 于 2015-1-28 17:35 编辑 有一个简单的平台,用于验证测试小规模的逻辑电路。比如:拿到一片数字IC,不能确认其好坏,或准备进一步对其逻辑功能进行确定。 很早就有这个想法,一直没动手,拿到STM32F072NUCLEO板,觉得是动手的时候了。 Arduino插座与mbed开发环境有可能办到:简单的事情简单做; 利用NUCLEO板现成的VCP便于与上位机通讯。 简单地看做: IC 测试座 <---> NUCLEO板 <----> PC 利用NUCLEO板的数字端口(D0~D15等),在LabVIEW环境下搭建“虚拟”平台,对外接的数字逻辑电路进行“真实”的测试。 虚拟的是:界面里的开关、指示灯等; 真实的是:逻辑器件上的电平。
(这个图只是为了指明几个感兴趣的插座与定义) NUCLEO板,利用mbed开发平台,硬件接口重点集中在Arduino部分的CN5和CN9,或利用CN10。 待测试的逻辑电路的输入、输出脚,都连接到D0~D15,并把逻辑电路的地、供电合适连接(3.3V)。 上位机用LabVIEW编程环境,利用串口与NUCLEO板进行数据交换。 原理:在面板设置输入端电平,通过串口把数据送到NUCLEO板,NUCLEO板负责把对应的逻辑电路引脚置1或置0,并把逻辑输出状态通过串口送到 上位机,在LabVIEW界面即观测到输出端电平。 测试插座与Aduino插座间的连接图:
实物:
串口通讯的约定: 波特率9600,数据8位,1停止位,等等没什么特别的; 约定Nucleo接受的命令: F1 (脚号) (脚号)... [ 对应的引脚置1 ] F0 (脚号) (脚号)... [ 对应的引脚置0 ] 8X [ 查询引脚X的电平,答复格式:单字节 X0 或 X1 ] (X: 1...7,9...F) 88 [ 查询4个引脚的电平,答复格式:单字节 (80...8F) ] 软件 现在以4000系列的几种逻辑门电路(4001,4011,4071,4077,4081,都是4个2输入)为例子,编写相应的软件。 在mbed里,编写NUCLEO板的代码,根据这几种IC的特点,确定引脚的输入或输出的配置。 (对NUCLEO板而言,输入输出的概念与待测试IC的输入输出是相反的)
(mbed里的语句不过100行,简短) LabVIEW程序局部截图:
(LabVIEW程序,“画”着庞大,原理简单) LabVIEW程序界面截图:
(开关设置输入端的高低电平,红灯指示高,绿灯代表低) 对照下4001(或非门),逻辑正确吗?
再看看4011(与非门):
4077的:
还有4071,4081。。。 先整理这么多。 有关文件存在这里: bin文件(可直接“拷贝”到STM32F072-NUCLEO板)
Nucleo_itest_2_NUCLEO_F072RB (11).rar
(10.83 KB, 下载次数: 2)
|
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
来点有意思的吧。
把上位机(LabVIEW的)程序改进一下,在原有的界面右侧加点指示灯,示意在的测试的逻辑门的类型(与非,或,异或......共6种),当所有输入端的开关,按图中设置时,右侧可直接给出待测的门的类型指示,直接上图:
来几张实拍的吧:
(4071 或门 OR)
(4077 异或非 NXOR)
(4011 与非门 NAND)
LabVIEW程序,只改动了一点点,保存在下面。
BIN文件,不变哦,在顶楼。