基于FPGA的便攜式邏輯分析儀設計
摘要 介紹一種16通道便攜式邏輯分析儀,通過FPGA將高速數(shù)據(jù)采樣并緩存,采用USB控制芯片和FPCA協(xié)同控制將數(shù)據(jù)通過USB接口發(fā)送到電腦的上位機上顯示,簡化了以往邏輯分析儀硬件電路部分,降低了邏輯分析儀的成本且便于攜帶。重點闡述硬件電路部分的設計。
本文引用地址:http://butianyuan.cn/article/249187.htm邏輯分析儀是數(shù)字設計驗證與調試過程中應用廣泛的工具,其能夠檢驗數(shù)字電路是否正常工作,并幫助用戶查找并排除故障。每次可捕獲并顯示多個信號,分析這些信號的時間關系和邏輯關系。根據(jù)硬件設備設計上的差異,目前邏輯分析儀大致可分為獨立式和需結合電腦的卡式虛擬邏輯分析儀。獨立式邏輯分析儀性能優(yōu)異,但價格昂貴,一般用戶較少使用。而本項目所實現(xiàn)的便攜式邏輯分析儀,以較低的成本提供了相應的性能,雖然性能有所下降,但完全可以滿足一般的邏輯信號分析,并且使成本大幅度下降,儀器體積較小,便于攜帶,適合普通用戶的使用。
1 系統(tǒng)總體設計方案
本邏輯分析儀可實現(xiàn)16通道邏輯分析,輸入信號可以是模擬信號或數(shù)字信號;可測量寬范圍輸入電平,支持1.8~5 V電平采樣;采用芯片CY7C68013A作為主控芯片,通過USB 2.0將其與電腦連接傳輸數(shù)據(jù)信息,使用FPGA實現(xiàn)高采樣速率,每通道都支持12 Mbit·s-1高速采樣;被采樣的信號按順序存儲在存儲器中。采樣信息以“先進先出”的原則組織在存儲器中,得到顯示命令后,按照先后順序逐一讀出信息,按設定的顯示方式進行被測量的顯示。這樣就可以在軟件界面觀測到所需要的數(shù)字波形,并可設置觸發(fā)方式,顯示所需要的波形。
本項目采用CY7C68013A作為USB采集主控芯片,利用XC6SLX9作為數(shù)據(jù)通道的選擇器件,選擇輸入到CY7C68013A的數(shù)據(jù)是來源于數(shù)字信號還是模擬信號經(jīng)ADC模塊之后的數(shù)字信號。由于該邏輯分析儀為USB連接,故此在USB連接端口上加入ESD芯片。并在板上增加16 kB的EEPR0M來作為CY7C68013A的程序存儲器。圖1為邏輯分析儀的基本組成框圖。
項目所采用的CY7C68013A芯片為低功耗芯片,該芯片內核為增強型51核,內部有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-金屬銅層、雙柵極氧化層工藝技術,提供了高級功耗管理技術、150 000個邏輯單元、集成式PCI Express模塊、高級存儲器支持、250 MHz DSP Slice和3.125Gbit·s-1低功耗收發(fā)器。該項目所選用的芯片為144腳封裝的芯片,所擁有的IO能夠滿足數(shù)據(jù)高速通訊的要求。
在USB連接端加入ESD芯片能夠更好的防止靜電干擾,使得該邏輯分析儀使用起來更加安全可靠。
2 硬件電路設計
系統(tǒng)硬件設計主要包括與計算機接口部分和數(shù)據(jù)采集部分。通過FPGA完成觸發(fā)設置,高速捕獲數(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的晶振。芯片中設定的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緩存或將數(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 邏輯分析儀的設計驗證
邏輯分析儀的上位機軟件采用Saleae Logic1.1.16。裝上軟件和驅動之后,還要給USB主控芯片CY7C68013A燒寫固件程序,Saleae提供了一個iic文件,用于和Saleae Logic上位機軟件進行通信。FPGA的邏輯代碼包括USB協(xié)同控制部分,SRAM緩存部分,觸發(fā)設置選擇部分,F(xiàn)IFO數(shù)據(jù)采集部分,綜合編譯后生成bit文件,用Xilinx Impact軟件燒寫進FPGA的Flash中,F(xiàn)PGA就可以自動完成上電配置過程,無需再下載。圖2為測試截圖??梢钥闯?,軟件左上端可以選擇采樣速率和深度,左端可以進行觸發(fā)設置,設置好后,點擊Start后就可以采集數(shù)據(jù),右端可以顯示詳細的測量信息。
4 結束語
設計的便攜式邏輯分析儀成本低廉,可以實現(xiàn)16通道的數(shù)據(jù)采樣,觸發(fā)設置??梢詫崿F(xiàn)3通道90 MHz最高采樣率,6通道50 MHz最高采樣率,9通道30MHz最高采樣率以及16通道12 MHz最高采樣率。軟件操作界面簡單易懂,容易上手使用,可以滿足一般的科研和教學的要求。
fpga相關文章:fpga是什么
晶振相關文章:晶振原理 上拉電阻相關文章:上拉電阻原理
評論