在线客服
首页 > 技术文章 >
技术文章
技术文章

USB总线逻辑份析仪/图形发生器成为可能

在进行相关阅读之前,读者务必了解一些名词的定义。如逻辑份析仪(Logic Analyzer)为可测量随着时间而变化电压的仪器。相较于传统示波器显示连续性电压值变化,逻辑份析仪分别显示「高」与「低」两值的电压,且它的输入通道数比示波器多,一般最少有8个通道,多者超过100个通道。在一般情况下,一个通道相当于1位元。图形发生器(Pattern Generator)则属于信号产生仪的一种,它可以产生数位信号且输出通道数也非常多,能以一定周期改变相对通道的图案,同时一边进行输出动作。 

逻辑份析仪/图形发生器结构复杂 

 

由USB逻辑份析仪与图形发生器电路基板(图1)的实际外观可知,电路的导线与扁平封装元件较多,因此较为复杂。 

 

PIC/CPLD提升逻辑份析仪执行能力 

 

?被测对象(DUT)高速采集8位元的信号转送至静态随机存取记忆体。 

 

?静态随机存取记忆体将8位元的信号转送、下载至个人电脑。 

 

?上述采集与下载指令来自电脑,因此必须作指令解读作业。 

 

?通知电脑发现触发模式(Trigger Mode)。 

 

不过,在这些主要功能中,由于从被测对象中采集信号需要较强大的需求,因而委托复杂可程式逻辑装置(CPLD)进行处理;至于转送从静态随机存取记忆体(SRAM)下载来的信号、以及下载至个人电脑所需的指令解读作业,则由个人网际网路通讯器(PIC)以较低速进行处理;至于发现触发模式的工作,则由PIC与CPLD共同处理。 

 

图形发生器须置USB平行转换晶片 

 

图形发生器的主要功能为高速产生8位元的信号、解读个人电脑传来的指令,以变更图案产生方法。份别由CPLD与PIC进行处理。由于PIC16F877A并无USB通讯功能,因此其与个人电脑间须设置USB平行转换晶片FT245BM当作介面。 

 

从主要元件结构来看,图1的外形尺寸为150毫米×100毫米双面电路板,上方并设有CPLD电路板;至于CPLD介面则使用EPM240T100C5晶片,组装在CPLD电路板上;PIC使用PIC16F877A,并利用晶片插座的插拔方式进行PIC程式的输入程式化作业;而USB的介面则使用FT245BM。 

 

值得一提的是,USB与电脑的通讯都利用图1左侧的USB连接器进行,在其她元件部份,静态随机存取记忆体使用CY7C1021BV33-10ZI;比较器(Regulator)使用TA48M033S,其属于低降下类型(Drop Type)3.3伏特输出,可供给CPLD电源。时脉器使用FXO-37F,属于表面封装型50MHz石英振荡器,CPLD根据此时脉器动作,因此逻辑份析仪的时序速度与图形发生器的图案产生速度同样是50MHz。 

 

保险丝使用可复原式保险丝REX025,该保险丝即使在高温融断时,待温度降低就能够恢复原状,因此不需任何更换作业。尤其是使用USB电源驱动电路时,建议尽量使用可复原式保险丝,避免实际应用电流超过500毫安培。 

 

逻辑份析仪与图形发生器的输入端同样都设有8个探针,CPLD基板设有25接脚的母连接器,其可利用公-公直线平行缆线(Straight Parallel Cable)进行CPLD程式作业,此外,CPLD基板还设有10接脚座,可利用下载缆线ByteBlaster进行CPLD程式作业。图2是硬体方块图,图3~图8是各单元的电路图。 

 

CPLD周边电路的连接 

 

从CPLD EPM240T100C5(MAXⅡ)的周边电路图(图3)可知,图中50MHz石英振荡器与3.3伏特比较器须以焊接方式固定在电路基板上,CPLD的程式化作业则利用D sub 25接脚母连接器或10接脚的座进行。 

 

若无CPLD电路基板时,必须将CPLD电路基板焊接于本周边电路基板上,此时无D sub 25接脚连接器,就只能利用ByteBlaster进行程式化作业。 

 

PIC周边电路的连接 

 

微处理器PIC16F877A的周边电路利用本电路控制硬体系统(图4)。图4的USB汇流排连接至FT245BM,可与电脑进行资料相互传输,若连接至复杂可程式逻辑装置,则能与复杂可程式逻辑装置进行资料相互传输。在时脉方面则使用20MHz陶瓷振荡器与5伏特电源。 

 

USB介面周边电路的连接 

 

图5是USB介面FT245BM周边电路图,利用该电路的连接进行USB平行转换。该晶片会将USB连接器的端子输入资料当作平行资料(Parallel Data)输出至RD0~RD7;反之,则可将输入至RD0~RD7的平行资料当做序号,输出至USB连接器的D,D-端子。 

 

FT245BM的时脉器使用20MHz陶瓷振荡器,电源为5伏特。USB连接器使用基板组装用B型母连接器,其中端子被当作本电路板5伏特电源使用。 

 

静态随机存取记忆体周边电路的连接 

 

图6则是静态随机存取记忆体CY7C1021B V33-10Z1的周边电路图,静态随机存取记忆体的位元宽度为16位元,位址空间为64K。 

 

由于此周边电路并未完全使用静态随机存取记忆体的位址空间,仅使用8位元的位元宽度与4K的位址空间,因此8位元的资料与12位元的位址空间连接至CPLD时,DUT的8位元资料会透过CPLD将4096个资料写入静态随机存取记忆体,反之,则从静态随机存取记忆体读取的资料,再透过CPLD转送至PIC。静态随机存取记忆体多余端子包括8位元的资料与4位元的位址空间未来可作扩充用,同时可对13接脚连接器进行资料输出。 

 

静态随机存取记忆体的读、写、晶片设定、输出设定皆透过CPLD控制。此静态随机存取记忆体的读、写只需10奈秒,因此可达最高频率100MHz的资料读取、写入。此外,该电路的写入频率为50MHz、读取频率为100MHz、以及使用3.3伏特电源。 

 

探针用连接器的连接方法 

 

连接逻辑份析仪探针的连接器与连接图形发生器的连接器的连接方法(图7),事实上直接用焊接方式将探针、端子固定,或是使用连接器都可以达到预期效果。 

 

CPLD电路基板连接器的连接方法 

 

图9是CPLD电路基板连接器的连接方法,须配合CPLD电路基板(图8)的连接器孔穴尺寸、位置,进行布线与元件设置(Layout)。 

 

CPLD具高速处理能力 

 

CPLD的主要功能有三项份别为从DUT高速采集8位元的信号转送至静态随机存取记忆体、高速产生8位元的信号并输入、发现触发模式。 

 

亦即由复杂可程式逻辑装置并联高速进行以上工作,若这些工作全部委托类似PIC微处理器处理显然不妥,因此皆交由CPLD进行处理。 

 

图9是CPLD内部电路的时脉结構,图中的静态随机存取记忆体控制器主要功能是控制静态随机存取记忆体的读写动作,DUT的8位元资料与50MHz同步写入静态随机存取记忆体,由于时脉的一个行程须写入8位元,因此逻辑份析仪的通道数为8个通道,时序速度变成50MHz。 

 

静态随机存取记忆体的写入由CPLD进行主导,读取则由PIC进行,PIC一边监控从CPLD的「备妥读取」,在一旦变成可读取状态时,输出频闪观测器(Strobe),便立即读取静态随机存取记忆体的资料;换言之,读取速度与从PIC的读取Strobe频率相同时,会转变为比较低速的状态,大约在100kHz左右。 

 

触发控制器会不断与DUT资料、触发模式进行比较,并将一致的资讯传给静态随机存取记忆体控制器。 

 

产生仪(Generator)控制器会产生8位元的图案输出,产生仪控制器的通道数为8个,图案更新速度变成50MHz。 

 

电阻控制器内部有8位元的电阻可利用PIC改写,此外,电阻值会传送到其她模组。 

 

复杂可程式逻辑装置的内部电路呈现双层结構状,CPLD顶端为上层结構,该模组的输出、入同时也是CPLD的输出、入。 

 

PIC为电路基板控制功臣 

 

控制用的微电脑使用PIC16F877A晶片,为PIC16F877的改良版,两者主要差异是基准电压值与比较仪(Comparator)。 

 

虽然PIC可直接进行基板程式化(On Keyboard Programming),不过此电路基板设有晶片插座,程式化作业时须先将PIC从晶片插座拔除,PIC写入器才可写入程式。 

 

PIC16F877A的额定电源电压为4.0~5.5伏特,可直接使用USB的加5伏特端子,该端子的最大容许电流为500毫安培,基于安全考量,可使用上述介绍的可复原式保险丝。 

 

USB逻辑份析仪与图形发生器的主要構成份别是电脑、PIC与CPLD,其中电脑与CPLD的相容性不佳,无法直接传输资料,因此PIC成为电脑与CPLD两者介面,此外,PIC还兼具整体电路基板的控制。 

 

在执行具体作业步骤前,首先解读电脑指令控制CPLD的模式,最初,将CPLD传来的资料与电脑作同步传输,换言之,CPLD主要工作就是「大量、简易、高速」,PIC主要工作是「复杂、少量、低速」。 

 

由于PIC16F877A无通讯模组无法直接与USB的连接器连接,因此必须透过FT245BM与电脑进行通讯,FT245BM具备384位元先进先出(First-In First-Out, FIFO)缓冲器,不过无法保存超过该容量的资料,因此特别设定所谓的「口袋(Pocket)」单位,每个口袋定义为256位元组。 

 

目标是将一个口袋的资料置留在先进先出缓冲器内,接着主机读取一个口袋的资料,立即清空先进先出缓冲器,上述作业反覆16次将16×256=4,096位元组的资料从目标转送至主机,最后结束一连串的下载作业。 

 

图10是4096位元组资料从DUT下载至电脑的流动路径,具体作业步骤如下: 

 

.硬体初期状态变成「采集模式(Ccapture Mode)」,CPLD将DUT传来的资料写入静态随机存取记忆体。 

 

.使用者按下「应用运转(Run)」按钮,驱动负载诊断(DLD)指令从电脑通过USB介面流至PIC。 

 

.PIC接收上述指令将目标设定成「下载模式」。 

 

.CPLD停止静态随机存取记忆体的写入。 

 

.接着电脑将数据需求(REQPK)指令传送至PIC。 

 

.PIC反覆256次「从CPLD接收1位元,立即对USB作1位元转送」,再将一个封包的资料从CPLD转送到USB介面内部的FIFO。 

 

.PC从USB介面内部的FIFO读取资料,同时收取一个封包的资料。 

 

.电脑反覆接收REQPK至读取FIFO资料16次,收取16×256=4,096位元组,之后立即送出采集(CAP)指令,使目标折返采集模式。 

 视窗的应用操作技巧 

 逻辑份析仪与图形发生器的USB介面使用FT245BM,使用前须作模组驱动器的安装(Device Driver Install)作业,具体方法使用USB监控(UsbLogMon)的EXE檔案与Visual C  Project进行逻辑安装作业。 

 由于本USB逻辑份析仪具备图形发生器功能,因此可以将它当作DUT使用。如图1所示逻辑份析仪的8通道探针连接于图形发生器。 

 上述安装作业完成后,利用USB连接器将硬体与个人电脑连接,在EXE Director有UsbLogMon.exe,只要点选两下就能够启动图13的视窗的应用。 

 接着压下「运转(Run)」键,原始设定为256进位输出的8通道图形发生器,可以用逻辑份析仪监控(图14)。不过由于此处该状态并未施加触发,因此压下「Run」键时波形的位置会朝左右移动,这意味着该状态并不是「触发模式」而是「内同步模式(Free Run Mode)」。 

 

图14画面右下方出现「触发模式」确认盒(Check Box),因此在确认后再度按下「Run」按键,此时波形左侧的8个通道始终变成「0」,数次按下「Run」按键结果一样,即以00000000施加触发。 

 

写着「触发(7:0)」的编辑盒内部有00000000,它是指触发图案(Trigger Patten),接着将它当作00000000按下「Run」按键就变成图15的画面。 

 

由图15可知波形是从该值产生,事实上8位元是CPLD的阻抗值,它从电脑通过USB介面传送到PIC,PIC再将CPLD的阻抗值触发(7:0)改成此值获得的结果。

北京迪阳世纪科技有限责任公司 版权所有 © 2008 - 2018 著作权声明
010-62156134 62169728 13301007825 节假日:13901042484 微信号:sun62169728
地址:北京市西城阜外百万庄扣钟北里7号公寓
E_mail:sales@pc17.com.cn 传真: 010-68328400
京ICP备05038211号 公备110108007750