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