当前位置:首页 > 单片机 > 单片机
[导读]1 引言在进行PCB反设计时,需要首先对电路板进行探测,得出所有元器件管脚之间的连接关系;接着再利用相应的软件对探测结果进行分析处理,最终还原出PCB的原理图。假设电路板上有 次。由于大规模PCB上器件管脚众多,

1 引言

在进行PCB反设计时,需要首先对电路板进行探测,得出所有元器件管脚之间的连接关系;接着再利用相应的软件对探测结果进行分析处理,最终还原出PCB的原理图。假设电路板上有 次。由于大规模PCB上器件管脚众多,因此完全依靠手工探测不仅效率低下,而且极易出错。为了提高PCB探测的效率和准确性,本文提出了一种基于EZ-USB 2100系列单片机的PCB探测系统的设计与实现方案。该系统有 个探测头,分别连接到电路板的 个器件管脚上。在单片机的控制下,系统自动的探测这个管脚间的连接关系;然后,系统依据探测选择算法,选取下一组 个管脚进行探测,依此循环,直到所有的 个器件管脚均探测完毕。采用EZ-USB 2100系列单片机进行开发,不仅易于实现探测设备和主机之间的高速通信,而且还为探测设备的功能扩展带来了极大的便利。下文将首先分析EZ-USB 2100系列单片机的特点和技术优势,然后给出基于该类型单片机的PCB探测系统的设计与实现方案。S3C2410 ARM9开发板800元 SOC开发平台360元 豪华单片机开发系统498元 单片机学习板138 无线nRF-9E5模块100元 51单片机试验开发板238元 Genius NSP通用编程器260元 Mini ARM Debugger330元 LABTOOL-48UXP2800元 S3C2410 ARM9开发板800

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()来完成设备的读、写等操作:
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控制码。

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

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

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

3.1

3.1硬件电路设计

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

3.2 系统功能扩充

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

4  结语

本文给出了一种基于EZ-USB 2100系列单片机的PCB探测电路的设计方案。该探测系统极大的提高了PCB反设计工作的效率。实际应用的结果表明该探测系统具有良好的探测完备性和准确性。

参考文献
[1] Cypress Semiconductor Corporation, EZ-USB Series 2100[EB], 2002.
[2] 吴从中, EZ-USB接口设备的软配置技术[M], 微控制器与嵌入式系统.2003.12
[3] 胡文静, 基于EZ-USB芯片AN2131Q的USB接口设计, 湖南理工学院学报(自然科学版)
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭