单片机实现PCB探测系统

发布者:熙风细雨最新更新时间:2014-01-27 来源: dqjsw 关键字:单片机  PCB  探测系统 手机看文章 扫描二维码
随时随地手机看文章

1 引言

在进行PCB反设计时,需要首先对电路板进行探测,得出所有元器件管脚之间的连接关系;接着再利用相应的软件对探测结果进行分析处理,最终还原出PCB的原理图。假设电路板上有

1.jpg

次。由于大规模PCB上器件管脚众多,因此完全依靠手工探测不仅效率低下,而且极易出错。

为了提高PCB探测的效率和准确性,本文提出了一种基于EZ-USB 2100系列单片机的PCB探测系统的设计与实现方案。该系统有 个探测头,分别连接到电路板的 个器件管脚上。在单片机的控制下,系统自动的探测这个管脚间的连接关系;然后,系统依据探测选择算法,选取下一组 个管脚进行探测,依此循环,直到所有的 个器件管脚均探测完毕。采用EZ-USB 2100系列单片机进行开发,不仅易于实现探测设备和主机之间的高速通信,而且还为探测设备的功能扩展带来了极大的便利。下文将首先分析EZ-USB 2100系列单片机的特点和技术优势,然后给出基于该类型单片机的PCB探测系统的设计与实现方案。

2 EZ-USB 2100系列单片机的特点

EZ-USB 2100系列单片机由Cypress公司开发,片内集成了符合USB 1.1版规范的USB控制器和一个增强的8051内核。增强的8051内核运行速度为24MHz,并且一个总线周期中包含有4个时钟周期,而标准8051 则包含12个时钟周期。除了增强的8051内核,与传统的8051单片机相比,EZ-USB 2100系列单片机还具有两大优势技术:1)通过USB总线实现与主机的高速数据传输;2)固件重配置功能。这两项技术为应用开发提供了极大的方便性和灵活性,下面将具体分析在实际的开发过程中如何使用这两项技术。

2.1 EZ-USB 2100系列单片机与主机的通信

EZ-USB 2100系列单片机内集成的USB控制器符合USB1.1版规范,可支持12Mbps高速数据传输。主机上的应用程序通过EZ-USB设备驱动程序和 EZ-USB单片机进行通信。Cypress提供了一个通用的设备驱动程序,用户可以直接利用该通用设备驱动程序与EZ-USB单片机进行通信。

首先,主机需要装载该通用设备驱动程序。第一次使用某USB设备时可能需要手工安装其驱动程序;此后,Windows会保存在注册表中的相关信息,自动定位设备驱动程序。

在装载了通用设备驱动程序之后,应用程序首先通过调用Win32 API函数CreateFile()来取得访问设备驱动程序的句柄:

HANDLE DeviceHandle;

DeviceHandle = CreateFile (“\\.ezusb-0”, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL );

然后,应用程序为CreateFile()函数返回的设备句柄设置I/O缓冲区,并通过调用Win32 API函数DeviceIoControl()来完成设备的读、写等操作:

LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">PVOID pvBuffer = NULL;

DWORD nBytes = 0;

PvBuffer = malloc (sizeof (Usb_Device_Descriptor ));

BResult = DeviceIoControl ( DeviceHandle, //已经打开的设备句柄

IOCTL_EZUSB_GET_DEVICE_DESCRIPTOR, //IO控制码

NULL, 0, pvBuffer, sizeof (Usb_Device_Descriptor),

&nBytes, NULL);

对EZ-USB外设的操作是通过向DeviceIoControl函数传递相应的控制码实现的。例如,要完成数据的块读(bulk read)和块写(bulk write)操作,可以分别向该函数传递IOCTL_EZUSB_BULK_READ 和IOCTL_EZUSB_BULK_WRITE控制码。[page]

2.2 EZ-USB 2100系列单片机的固件重配置功能

一个单片机系统的硬件电路设计完成之后,该单片机系统的特性和功能还可以通过更改单片机的软件程序(即:固件)来加以改变。利用ROM来存储固件则无法更改;而利用EPROM来存储固件则会受到擦写次数和成本的限制。而EZ-USB系列单片机片内集成的外部RAM可用于装载固件,当设备与主机连接时,固件从主机装载到RAM里执行,装载不同的固件设备就呈现出不同的特性,从而达到软配置目的。

3 EZ-USB 2100系列单片机在开发PCB探测系统中的应用

2.jpg

3.1硬件电路设计

系统的硬件电路结构图如图1所示。k 个探测头连接到由多个模拟开关组成的模拟开关

3.2 系统功能扩充

正如本文2.2节说明的,可以利用EZ-USB的重配置功能,对固件程序进行修改,以使得系统获得新的功能。在开发PCB探测系统的过程中,我们发现需要对电路板上的电阻、电容和电感这些双脚器件的取值进行测量。由于大规模电路板上这类器件数量庞大,手工采用万用表或逻辑分析仪进行测量是一件非常繁琐的工作。而利用EZ-USB的重配置功能则可以解决这一问题。采用与3.1节同样的硬件电路,笔者另外设计了一套固件程序,用于电路板上电阻、电容和电感的类型判别及取值测定。

4 结语

该探测系统极大的提高了PCB反设计工作的效率。实际应用的结果表明该探测系统具有良好的探测完备性和准确性。

关键字:单片机  PCB  探测系统 引用地址:单片机实现PCB探测系统

上一篇:学习单片机的捷径是什么?
下一篇:单片机矩阵键盘扫描的两种方式

推荐阅读最新更新时间:2024-03-16 13:34

智能收费系统软件源代码
采用mcs-51单片机时钟频率为6MHZ采用T0工作方式2 OUTBIT EQU 08002h ; 位控制口 OUTSEG EQU 08004h ; 段控制口 IN EQU 08001h ; 键盘读入口 LEDBuf EQU 60h ;显示缓冲 Hour EQU 40h ;存放时信息计数单元 Minute EQU 41h ;存放分信息计数单元 Second EQU 42h ; 存放秒信息计数单元 C100us EQU 43h Tick EQU 10000 T100us EQU 256-50 LGMP StArt ;跳转到程序入口 org 000Bh T0In
[单片机]
通过单片机来控制蜂鸣器
开发板原理图上面蜂鸣器的电路图是这样的,根据视频知道它是一个无源蜂鸣器。 可以看到蜂鸣器的一端和电阻相连,另一端和引脚BZ相连,注意这个BZ并不是元气名称,有图可知,元气名称都是蓝色的,而这个BZ是红色的。我们在开发板原理图上找一个 BZ引脚,发现在ULN2003D这个芯片上有BZ引脚,所以我们就把蜂鸣器的图和ULN2003D的图放在一张图上,而且把他们该连的引脚连起来了。 有图可知BZ1蜂鸣器的BZ引脚和ULN2003引脚的12引脚相连的,这是一个输出引脚,对应的输入引脚是5引脚,有图可知STC89C52单片机的P15引脚是和ULN2003的5引脚相连的。 所以可以通过单片机来控制蜂鸣器,是这么个道道。 ULN2003
[单片机]
通过<font color='red'>单片机</font>来控制蜂鸣器
由可编程逻辑器件与单片机构成的双控制器
    摘要: 介绍一种利用可编程逻辑器件CPLD与单片机AT89C51串行双向通信而构成的双控制器。     关键词: CPLD AT89C51 串行通信 在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目、内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片。这无疑对系统的设计带来诸多不便。 现在有很多系统采用可编程逻辑器件CPLD作为控制核心。它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。但可编程逻辑器件的D触发器资源非常有限,而且可编程逻辑器件在控制时序方面不如单片机那样方便,很多
[半导体设计/制造]
C51单片机串口通讯注意点
今天在利用C51单片机发数据给PC时,出现了一个小小的问题:如果我要用一个按键来触单片发送5个数据到PC,当单片机复位后,第一次发送的数据总是只有一个数据,而不是5个,当第二次后又正常了。原因是在程序中开了串口中断(ES = 1);大概程序如下: ES = 1; TOMD = 0x20; TR1 = 1; main() {P1.0 = 1; while(P1.0); send(0x00); send(0x01); send(0x02); send(0x03); send(0x04); } 。。。。。。 如果是以上程序,当单片每复位后,按第一次P1.0将只发送00,第二次后会是00,01,02,03,04;
[单片机]
基于51单片机设计的电话遥控器
前言 进十年来,中国的固定电话业务呈现出举世瞩目的快速增长。1997年8月局用电话交换机总容量突破1亿门,网络规模跃居世界第二位,1999年7月固定电话用户总数突破1亿户。 现代电话网络是由交换机和电话传输线共同组成,它的性能已经有了很大的进展,而且可靠性非常高。 遥控技术是通过一定的手段对被控物体实施一定距离的控制,常用的方式有无线电遥控、有线遥控、红外线和超声波遥控等。无线电遥控既是利用无线电信号对被控物体实施远距离控制。无线电遥控不可避免的须占用一定的无线电频率资源,造成电磁污染;常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥
[单片机]
单片机基础:LED接口原理详解
常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。 1. 数码管简介 1) 数码管结构 数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 ~9、字符A ~ F、H、L、P、R、U、Y、符号“-”及小数点“.”。数码管的外形结构如下图所示。数码管又分为共阴极和共阳极两种结构。 2) 数码管工作原理 共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的
[单片机]
<font color='red'>单片机</font>基础:LED接口原理详解
单片机做简易计算器源码(矩阵键盘输入+1602显示)
需要准备的元器件: 1.stc89c52rc (本源码使用的mcu) 2.1602液晶模块 3.4*4矩阵键盘 单片机最小系统就可以,然后需要16个微动开关做成4*4矩阵键盘 。 我用的lcd io定义为sbit rw=P3^6; sbit rs=P3^5; sbit e=P3^4;觉得接线不方便的可以改 。 4*4矩阵键盘的定义 S16 S12 S8 S4分别是1 2 3 + S15 S11 S7 S3分别是4 5 6 - - S14 S10 S6 S2分别是7 8 9 *
[单片机]
<font color='red'>单片机</font>做简易计算器源码(矩阵键盘输入+1602显示)
基于EMP78P156单片机的RC测温的实现
以前做一个电熨斗的项目,其中要使用到温度的测量,但是为了节省成本,要用不带AD的单片机来控制。测温部分是利用RC来测温,就是利用热敏电阻结合RC电路来实现温度的测量,可以精确到1℃。本电路采用了台湾义隆单片机EM78P156来实现温度的测量和控制。 一、总体控制电路: 图 1 二、 RC测温原理: 利用单片机I/O口来实现RC测温,电路很简单,而且也不难实现,最主要的是要有个概念,如何实RC测温,也就是RC测温的原理。这里具体的介绍一下,可以在这个原理基础上进行修改很扩展为多路的测温。如下图(2) 图中: P1.0、P1.1和P1.2是单片机的3个I/O口; RK为
[单片机]
基于EMP78P156<font color='red'>单片机</font>的RC测温的实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved