便攜式邏輯分析儀的設(shè)計(jì)與實(shí)現(xiàn)
摘要 介紹一種16通道便攜式邏輯分析儀,通過(guò)FPGA將高速數(shù)據(jù)采樣并緩存,采用USB控制芯片和FPCA協(xié)同控制將數(shù)據(jù)通過(guò)USB接口發(fā)送到電腦的上位機(jī)上顯示,簡(jiǎn)化了以往邏輯分析儀硬件電路部分,降低了邏輯分析儀的成本且便于攜帶。重點(diǎn)闡述硬件電路部分的設(shè)計(jì)。
關(guān)鍵詞 邏輯分析儀;USB接口;FPGA;FIFO傳輸
邏輯分析儀是數(shù)字設(shè)計(jì)驗(yàn)證與調(diào)試過(guò)程中應(yīng)用廣泛的工具,其能夠檢驗(yàn)數(shù)字電路是否正常工作,并幫助用戶查找并排除故障。每次可捕獲并顯示多個(gè)信號(hào),分析這些信號(hào)的時(shí)間關(guān)系和邏輯關(guān)系。根據(jù)硬件設(shè)備設(shè)計(jì)上的差異,目前邏輯分析儀大致可分為獨(dú)立式和需結(jié)合電腦的卡式虛擬邏輯分析儀。獨(dú)立式邏輯分析儀性能優(yōu)異,但價(jià)格昂貴,一般用戶較少使用。而本項(xiàng)目所實(shí)現(xiàn)的便攜式邏輯分析儀,以較低的成本提供了相應(yīng)的性能,雖然性能有所下降,但完全可以滿足一般的邏輯信號(hào)分析,并且使成本大幅度下降,儀器體積較小,便于攜帶,適合普通用戶的使用。
1 系統(tǒng)總體設(shè)計(jì)方案
本邏輯分析儀可實(shí)現(xiàn)16通道邏輯分析,輸入信號(hào)可以是模擬信號(hào)或數(shù)字信號(hào);可測(cè)量寬范圍輸入電平,支持1.8~5 V電平采樣;采用芯片CY7C68013A作為主控芯片,通過(guò)USB 2.0將其與電腦連接傳輸數(shù)據(jù)信息,使用FPGA實(shí)現(xiàn)高采樣速率,每通道都支持12 Mbit·s-1高速采樣;被采樣的信號(hào)按順序存儲(chǔ)在存儲(chǔ)器中。采樣信息以“先進(jìn)先出”的原則組織在存儲(chǔ)器中,得到顯示命令后,按照先后順序逐一讀出信息,按設(shè)定的顯示方式進(jìn)行被測(cè)量的顯示。這樣就可以在軟件界面觀測(cè)到所需要的數(shù)字波形,并可設(shè)置觸發(fā)方式,顯示所需要的波形。
本項(xiàng)目采用CY7C68013A作為USB采集主控芯片,利用XC6SLX9作為數(shù)據(jù)通道的選擇器件,選擇輸入到CY7C68013A的數(shù)據(jù)是來(lái)源于數(shù)字信號(hào)還是模擬信號(hào)經(jīng)ADC模塊之后的數(shù)字信號(hào)。由于該邏輯分析儀為USB連接,故此在USB連接端口上加入ESD芯片。并在板上增加16 kB的EEPR0M來(lái)作為CY7C68013A的程序存儲(chǔ)器。圖1為邏輯分析儀的基本組成框圖。
項(xiàng)目所采用的CY7C68013A芯片為低功耗芯片,該芯片內(nèi)核為增強(qiáng)型51核,內(nèi)部有16 kB程序數(shù)據(jù)區(qū),該芯片的主頻為48 MHz,并且滿足480 Mbit·s-1高速傳輸協(xié)議標(biāo)準(zhǔn),符合USB2.0規(guī)范,并向下兼容USB1.1規(guī)范,基本能滿足該項(xiàng)目的數(shù)據(jù)要求。
XC6SLX9為Xilinx公司生產(chǎn)的Spartan6系列的FPGA,具有9 152個(gè)邏輯單元。Spartan6系列產(chǎn)品基于公認(rèn)的低功耗45 nm、9-金屬銅層、雙柵極氧化層工藝技術(shù),提供了高級(jí)功耗管理技術(shù)、150 000個(gè)邏輯單元、集成式PCI Express模塊、高級(jí)存儲(chǔ)器支持、250 MHz DSP Slice和3.125Gbit·s-1低功耗收發(fā)器。該項(xiàng)目所選用的芯片為144腳封裝的芯片,所擁有的IO能夠滿足數(shù)據(jù)高速通訊的要求。
在USB連接端加入ESD芯片能夠更好的防止靜電干擾,使得該邏輯分析儀使用起來(lái)更加安全可靠。
2 硬件電路設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)主要包括與計(jì)算機(jī)接口部分和數(shù)據(jù)采集部分。通過(guò)FPGA完成觸發(fā)設(shè)置,高速捕獲數(shù)據(jù)和緩存的控制,使用CY7C68013A作為USB主控芯片完成與上位機(jī)的通信,將數(shù)據(jù)發(fā)送到計(jì)算機(jī)上位機(jī)上,并且接收上位機(jī)發(fā)送回的觸發(fā)控制字及其他控制信息,與FPGA協(xié)同工作。電路分為USB主控模塊,F(xiàn)PGA從控模塊,數(shù)據(jù)采集模塊,數(shù)據(jù)緩存模塊,電源供電模塊這5大模塊。
2.1 USB主控模塊
USB主控芯片選擇的型號(hào)是CY7C68013A-56PVXC,該芯片集成USB 2.0收發(fā)器、增強(qiáng)型8051微處理器,適用性、外觀和功能均與FX2兼容。具有16 kB片上代碼/數(shù)據(jù)RAM,4個(gè)可編程的BULK/INTERRUPT/ISOCHRONOUS端點(diǎn),8位或16位外部數(shù)據(jù)接口,且它的可編程接口可與大多數(shù)并行接口直接連接、由可編程波形描述符和配置寄存器定義波形、支持多個(gè)RDY和CTL輸出,該芯片的工作電壓為3.3 V,容限電壓為5 V,集成I2C控制器。
USB主控芯片接24 MHz晶振,PB口接收來(lái)自于FPGA的FIFO數(shù)據(jù),15腳和16腳接USB_B型接口的D+和D-,用于向上位機(jī)發(fā)送數(shù)據(jù),同時(shí)接收上位機(jī)控制信息。I2C總線上接一AT24C64(EEPROM)用做USB程序存儲(chǔ)器。其余的引腳用于讀取FPGA的當(dāng)前狀態(tài)和發(fā)送觸發(fā)等信息給FPGA,以確定何時(shí)進(jìn)行讀取數(shù)據(jù)。
2.2 FPGA從控模塊
FPGA選用Xilinx Spartan-6系列的XC6SLX9-4TQ144C,接100 MHz的晶振。芯片中設(shè)定的16個(gè)IO引腳接收來(lái)自于74ALVC164245的16位三態(tài)總線收發(fā)器的數(shù)據(jù),F(xiàn)PGA.VS[2:0]三引腳全部拉高,配置為快速讀寫模式,可以提高采樣速率。Spartan-6系列FPGA中,配置模式引腳為M[1:0],不像Spartan-3系列有3個(gè)配置引腳M[2:0],這里配置為“10”,即主串模式。此時(shí)INIT_B引腳需要拉高,防止芯片配置完成后又進(jìn)入芯片初始化,DONE引腳也要拉高。配置JTAG接口用于下載程序。其余引腳用于連接兩片4 MB的RAM,用于將采集到的數(shù)據(jù)先緩存進(jìn)RAM中。
2.3 數(shù)據(jù)采集模塊
數(shù)據(jù)采集芯片采用SN74LVC16245ADGGR,是一個(gè)16位三態(tài)總線收發(fā)器。當(dāng)OE引腳接高電平時(shí),輸出為高阻態(tài)。當(dāng)OE為低時(shí),如果DIR引腳為低電平,則數(shù)據(jù)從B口傳向A口,DIR為高電平時(shí),數(shù)據(jù)從A口傳向B口。圖中用B口采集外部數(shù)據(jù),并且外接1MΩ電阻以提高輸入阻抗。因此DIR和OE引腳接上拉電阻,默認(rèn)上電從A到B輸出無(wú)效。
2.4 數(shù)據(jù)緩存模塊
擴(kuò)展RAM芯片采用的是256×16 kbit高速異步CMOS靜態(tài)RAM芯片IS61LV25616。直接將nCE,nLB,nUB這3個(gè)引腳接CND,可以方便讀寫數(shù)據(jù)。讀寫控制信號(hào)nOE和nWE與FPGA相連,用于控制將外部采集數(shù)據(jù)讀入RAM緩存或?qū)?shù)據(jù)讀出通過(guò)USB控制芯片傳送到上位機(jī)中。其控制邏輯為:nWE為高,nOE為低時(shí),從RAM中讀出數(shù)據(jù);nWE為低時(shí),寫入數(shù)據(jù)到RAM中。
2.5 電源供電模塊
供電芯片選擇的是LM1117系列穩(wěn)壓芯片,有3.3 V和1.2 V。電源輸入采用的是耳機(jī)式插孔電源,輸入為5 V,1 A。如果用USB供電,由于USB最大輸出電流為500 mA,因此在高速采樣時(shí)可能電流不夠,因此選用外接電源。
3 邏輯分析儀的設(shè)計(jì)驗(yàn)證
邏輯分析儀的上位機(jī)軟件采用Saleae Logic1.1.16。裝上軟件和驅(qū)動(dòng)之后,還要給USB主控芯片CY7C68013A燒寫固件程序,Saleae提供了一個(gè)iic文件,用于和Saleae Logic上位機(jī)軟件進(jìn)行通信。FPGA的邏輯代碼包括USB協(xié)同控制部分,SRAM緩存部分,觸發(fā)設(shè)置選擇部分,F(xiàn)IFO數(shù)據(jù)采集部分,綜合編譯后生成bit文件,用Xilinx Impact軟件燒寫進(jìn)FPGA的Flash中,F(xiàn)PGA就可以自動(dòng)完成上電配置過(guò)程,無(wú)需再下載。圖2為測(cè)試截圖??梢钥闯?,軟件左上端可以選擇采樣速率和深度,左端可以進(jìn)行觸發(fā)設(shè)置,設(shè)置好后,點(diǎn)擊Start后就可以采集數(shù)據(jù),右端可以顯示詳細(xì)的測(cè)量信息。
4 結(jié)束語(yǔ)
設(shè)計(jì)的便攜式邏輯分析儀成本低廉,可以實(shí)現(xiàn)16通道的數(shù)據(jù)采樣,觸發(fā)設(shè)置??梢詫?shí)現(xiàn)3通道90 MHz最高采樣率,6通道50 MHz最高采樣率,9通道30MHz最高采樣率以及16通道12 MHz最高采樣率。軟件操作界面簡(jiǎn)單易懂,容易上手使用,可以滿足一般的科研和教學(xué)的要求。