基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計_第1頁
基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計_第2頁
基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計_第3頁
基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計_第4頁
基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于單片機和EDA技術(shù)的邏輯分析儀設(shè)計     摘要:本設(shè)計采用單片機控制8路邏輯信號電平采集;采用EDA技術(shù)設(shè)計的CPLD芯片處理邏輯信號,控制點陣掃描和分析結(jié)果在示波器上顯示;單片機和CPLD間采用中斷方式交換數(shù)據(jù)。該設(shè)計具有1、3級觸發(fā)方式,觸發(fā)字位置和浮動時標(biāo)線顯示等功能,以及友好操作界面和波形穩(wěn)定顯示等特點,并拓寬示波器使用功能。 關(guān)鍵字:點陣掃描控制;邏輯分析;CPLD;VHDL編程 The design of the logical analysis 

2、apparatus of one-chip microcomputer and the EDA's technology baseding on  【Abstract】This design uses the one-chip microcomputer to be controlled gathering of logical signal lev

3、els of 8 tunnels, Use CPLD's chip of EDA's technical design to the logic signal processing and Control  scanning to the lattice signal and The result of 

4、;display analysis on the oscillograph , Use the interrupt mode exchange data between one-chip microcomputer and CPLD. this design has 1 and 3 grade of method of acti

5、vation , trigger word seat display and time to be marked thread display  etc. merit ability,As well as friendly operation interface and waveform stabilization what shows&

6、#160; etc. characteristic , And widen the oscillograph use merit ability . 【Key words】The lattice scanning control; The logical analysis; CPLD; VHDL's programming 1  引言

7、60; 邏輯分析儀是數(shù)字電路調(diào)試和信號分析中不可缺少的工具。本設(shè)計參照“2003年全國大學(xué)生電子設(shè)計競賽”的題目,用雙蹤信號示波器作為邏輯分析結(jié)果顯示設(shè)備;用單片機控制邏輯信號采集和邏輯分析儀的各項功能操作;用EDA(電子設(shè)計自動化)技術(shù)設(shè)計的CPLD(復(fù)雜可編程邏輯器件)芯片處理邏輯信號,控制邏輯分析結(jié)果波形的點陣掃描;達(dá)到一般邏輯分析儀應(yīng)有的功能和指標(biāo)1。本設(shè)計的邏輯分析儀特點是性能穩(wěn)定、成本低,并拓寬了示波器使用功能。 2  總體結(jié)構(gòu)及各硬件設(shè)計 邏輯信號分析的總體結(jié)構(gòu)如圖1所示;其中邏輯分析儀由8路邏輯信號檢測電路、單片機系統(tǒng)和CPLD

8、點陣掃描控制電路構(gòu)成。邏輯分析儀能接受8路邏輯信號(D7D0)和位傳送時鐘信號(B-CLK);其接受的邏輯信號形式如圖2所示。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-7831.png" width="554" height="202" /> 邏輯分析儀各部分解釋如下: 2.1  邏輯信號檢測 8路邏輯信

9、號檢測部分由8選1采樣模擬開關(guān)(CD4051)和模數(shù)轉(zhuǎn)換器ADC(MAX7820)組成,如圖3所示。為了適應(yīng)較寬范圍(0.254V)邏輯信號門限電壓(邏輯1的電壓)的輸入,對邏輯信號電平采用模擬信號采樣,當(dāng)AD轉(zhuǎn)換獲得邏輯信號電平的數(shù)字量(A/D-DATA)大于門限電壓對應(yīng)的數(shù)字量時,確定為邏輯1。由于分時檢測8路邏輯信號(D7D0),要求采樣開關(guān)速度和AD轉(zhuǎn)換速度要遠(yuǎn)遠(yuǎn)大于邏輯信號位傳送速度;當(dāng)位傳送時鐘信號到來時,才能保證8路邏輯信號每1路采樣點在靠近位的中間位置,從而得到可靠的電平數(shù)字量。 本設(shè)計的CD4051從地址選通(CH-SELECT)到數(shù)據(jù)輸出時間約500ns,MAX7

10、820轉(zhuǎn)換一路信號所需的時間約3ns,采集處理8路邏輯信號各位(1個字節(jié))所需時間約5us。若8路邏輯信號每位采樣點在位中間的三分之一區(qū),則邏輯信號的位寬約為15us,因此本設(shè)計的邏輯分析儀可對66kHz以下波特率的8路信號進(jìn)行邏輯分析。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-16949.png" width="519" height="222" />

11、 2.3  單片機系統(tǒng) 單片機系統(tǒng)2由單片機(AT89C51)、點陣液晶顯示模塊和4×4鍵盤三部分組成,其示意圖見圖1的“單片機系統(tǒng)”部分。單片機的P0口在不同的時間段分別用于顯示數(shù)據(jù)輸出,邏輯信號采樣數(shù)據(jù)輸入,采樣字節(jié)輸出的數(shù)據(jù)傳送;P1、P3口用于邏輯信號檢測(見圖3引腳標(biāo)注)、CPLD點陣掃描控制(見圖4引腳標(biāo)注)和液晶顯示模塊的操作控制;P2口用于4×4鍵盤掃描及按鍵信息接受。單片機系統(tǒng)的鍵盤和顯示部分用于完成1、3級觸發(fā)方式,1級、3級觸發(fā)字,16級門限電壓選擇,數(shù)據(jù)采集區(qū)的前、中、后顯示頁面(16字節(jié))選擇,時間線位置等參

12、數(shù)的設(shè)定和顯示,以及相關(guān)功能操作。 2.4  CPLD點陣掃描控制 CPLD點陣掃描控制部分由可編程邏輯陣列(CPLD)、數(shù)模轉(zhuǎn)換器(DAC)和X、Y、Z軸掃描信號放大電路組成,并在CPLD控制下工作;其電路如圖4所示。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-5417.png" width="549" height="280&q

13、uot; /> CPLD向通過輸出中斷CPLD-INT請求(單片機的INT0)從單片機系統(tǒng)獲得采樣字節(jié);對每個采樣字節(jié)按順序進(jìn)行8路邏輯信號位波形(或時標(biāo)線)的點陣掃描的信息處理,并控制數(shù)模轉(zhuǎn)換(DAC)、信號放大、信號掃描顯示和回掃信號消隱處理。在處理一個頁面(1/3數(shù)據(jù)區(qū))16個采樣字節(jié)后,重復(fù)處理過程。 CPLD內(nèi)部由計數(shù)器鏈(2分頻器,點、位、字節(jié)計數(shù)器)、數(shù)據(jù)接收器、X軸位邊界定位器、加法器、Y軸定位輸出器、2選1多路器、消隱控制器等部分組成,如圖5所示。CPLD外部引腳CLK(CPLD-CLK)、EN(使能)、TR(信息類型控制)、DI70 (C

14、PLD-DATA)、CP(鎖存)、-INT(CPLD-INT)分別連邏輯分析儀單片機的ALE、P1.7、P3.1、P007、P3.0、P3.2引腳(見圖4的引腳標(biāo)注);-WR、A0(通道選擇)、DO70分別連DAC的-WR、A0、D70引腳;Zout連信號放大器的Z軸輸入端。CPLD工作原理說明如下: 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-12884.png" width="438&qu

15、ot; height="246" /> 開機后,CPLD內(nèi)部復(fù)位,EN=0,CPLD處于保持狀態(tài)。 1數(shù)據(jù)傳送首先設(shè)置EN=0,CPLD處于保持;然后,CP的上升沿,將外部數(shù)據(jù)送入數(shù)據(jù)接收器;設(shè)置TR=0,傳送8路信號采樣字節(jié);TR=1,傳送觸發(fā)字或時標(biāo)線位置的4位編碼(給出16個位置信息)。傳送數(shù)據(jù)后,設(shè)置EN=1,CPLD工作。 2邏輯信號掃描在EN=1,TR=0前提下,外部時鐘CLK的上升沿驅(qū)動計數(shù)器鏈工作。字節(jié)計數(shù)器(采樣字節(jié)計數(shù))值ByteC經(jīng)過X軸位邊界定位器處理后的值X1(X1=ByteC*10H)與點計數(shù)器(位內(nèi)點計數(shù))值

16、Xc再經(jīng)過加法器處理,產(chǎn)生當(dāng)前掃描點X軸數(shù)字量X=X1+Xc=ByteC*10H+Xc。位計數(shù)器(采樣字節(jié)各位計數(shù))值BitC和數(shù)據(jù)接收器(存放采樣字節(jié))值DI70經(jīng)過軸定位輸出器處理,產(chǎn)生當(dāng)前掃描點軸數(shù)字量的Y有兩種:當(dāng)DIBitC=0,Y=0E0H-(BitC*20H)+05H;當(dāng)DIBitC=1,Y=0E0H-(BitC*20H)+15H。在A0正(A0=1)、負(fù)(A0=0)狀態(tài)對2選1多路器的驅(qū)動下,分時將Y、X送到DO70總線上;以此同時,在兩個-WR(-CLK)的上升沿(A0正、負(fù)半個周期的中間)驅(qū)動下,將送到DO70總線上的Y和X分別寫入數(shù)模轉(zhuǎn)換器DAC的兩個通道。位計數(shù)器值Bi

17、tC=7時,表示一個采樣字節(jié)處理完,CPLD發(fā)出傳送下一個字節(jié)的中斷請求-INT。邏輯分析儀單片機收到中斷請求后,進(jìn)行一次數(shù)據(jù)傳送處理。 3觸發(fā)字和時間線位置掃描在EN=1前提下,TR=1將數(shù)據(jù)接收器DI3(位置信息)送入字節(jié)計數(shù)器,并控制點計數(shù)器值Xc=0,經(jīng)過X軸位邊界定位器和加法器處理后,產(chǎn)生掃描點X軸數(shù)字量X=X1+Xc=DI3*10H+0;同時TR=1控制Y軸定位輸出器的值Y按計數(shù)方式工作,在CLK1驅(qū)動下,輸出Y=000FFH的計數(shù)值,在示波器屏上顯示豎線,表示觸發(fā)字或時間線位置。當(dāng)Y=0FFH時,表示位置信息掃描完畢,發(fā)出傳送下一個字節(jié)的中斷請求信號。 4消隱

18、處理在Xc=0FH,即開始下1路時鐘位各點掃描時,點計數(shù)器輸出Z1=1;在BitC=7,即開始8路信號下一組各時鐘位(下一個采樣字節(jié))掃描時,Y軸定位輸出器輸出Z2=1;在Y=OFFH,即觸發(fā)字和時間線位置掃描結(jié)束時,Y軸定位輸出器輸出Z2=1;在A0=1時,為了消除當(dāng)前傳送的Y軸數(shù)字量與前一次X軸數(shù)字量產(chǎn)生的干擾掃描點,2分頻器輸出的A0使Z3=1;Z1、Z2、Z3信號經(jīng)過消隱控制器(或非門電路)處理,使Zout為低電平,經(jīng)反相放大器處理后,向示波器Z軸輸出+12V電壓,以消除回掃線和干擾點。 雙蹤信號示波器調(diào)整到X-Y工作方式,探頭Y1為X軸輸入,探頭Y2為Y軸輸入,顯像管電子槍

19、控制端為Z軸輸入。CPLD輸出的X、Y軸數(shù)字量X、Y經(jīng)過數(shù)模轉(zhuǎn)換和放大處理后,產(chǎn)生示波器X、Y軸掃描的模擬信號,在示波器屏上顯示8路邏輯信號。CPLD輸出的Zout信號經(jīng)放大后,控制示波器的Z軸,以消隱回掃線和干擾點,使8路邏輯信號更清晰的顯示。 3  軟件設(shè)計 軟件設(shè)計部分有邏輯信號檢測及數(shù)據(jù)采集處理、鍵盤顯示掃描處理、采樣字節(jié)輸出處理和CPLD內(nèi)部結(jié)構(gòu)設(shè)計VHDL(硬件描述語言)編程四部分。本文主要介紹邏輯信號檢測及數(shù)據(jù)采集處理和CPLD結(jié)構(gòu)設(shè)計VHDL編程部分。 3.1  邏輯信號檢測及數(shù)據(jù)采集處理 邏輯信號

20、檢測及數(shù)據(jù)采集處理是通過單片機的INT1中斷服務(wù)程序來完成。其中1級觸發(fā)字邏輯信號檢測中斷服務(wù)程序和數(shù)據(jù)采集處理子程序流程如圖6、圖7所示。 當(dāng)各項參數(shù)設(shè)定后,按“確認(rèn)鍵”保存參數(shù),并打開邏輯信號檢測中斷(INT1),關(guān)閉采樣字節(jié)輸出中斷(INT0)。每次邏輯信號發(fā)生器的位傳送時鐘(B-CLK)觸發(fā)一次邏輯信號檢測中斷服務(wù)程序的執(zhí)行,每次服務(wù)程序執(zhí)行要進(jìn)行8次路選和8次AD轉(zhuǎn)換啟動,并分別檢測轉(zhuǎn)換結(jié)束狀態(tài)和讀取轉(zhuǎn)換結(jié)果。每次邏輯信號檢測中斷服務(wù),要調(diào)用8路邏輯信號數(shù)據(jù)采集處理子程序,將8路信號狀態(tài)轉(zhuǎn)換成1個采樣字節(jié),并存入采樣數(shù)據(jù)區(qū)。當(dāng)數(shù)據(jù)區(qū)存滿后,關(guān)閉邏輯信號檢測中斷,打開采樣字節(jié)

21、輸出中斷,等待CPLD輸出中斷請求(CLPD-INT)。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-27242.png" width="514" height="421" /> CPLD點陣掃描控制電路在每次輸出8路1位信號波形后,向單片機系統(tǒng)發(fā)出采樣字節(jié)輸出中斷;對每次采樣字節(jié)輸出中斷的服務(wù),單片機要對CPLD進(jìn)行一次采樣字節(jié)輸出及寫操作控制。

22、輸出的采樣字節(jié)有波形數(shù)據(jù)、觸發(fā)字和時標(biāo)線位置三種數(shù)據(jù)類型。 3.2  CPLD結(jié)構(gòu)設(shè)計的VHDL編程 CPLD內(nèi)部結(jié)構(gòu)各部分設(shè)計采用硬件描述語言VHDL編程來實現(xiàn)3。由于篇幅所限,僅給出部分設(shè)計的編程及解釋說明。 1點計數(shù)器設(shè)計的編程 if TR='0' then     - TR=0時,邏輯信號時鐘位的掃描點計數(shù)。   if f='0' then  &#

23、160; - f為回掃時鐘插入標(biāo)志位,f=0時,正常的點計數(shù)掃描。     Xc<=Xc+1;      - 點計數(shù)增1。   else     Xc<=Xc;        - f=1時,Xc保持1個時鐘時間。   end if;

24、60;  if Xc="1111" then     f<='1'        - 計完1個時鐘位16個點后,f置1控制插入一個回掃時鐘     BitC<=BitC+1;  - 采樣字節(jié)的位計數(shù)增1     Z1<='1&#

25、39;       - 控制下一時鐘周期不顯示   else      f<='0'        - 控制正常計數(shù)     Z1<='0'       - 控制正常

26、顯示   end if; else              - TR=1時,觸發(fā)字和時標(biāo)線位置掃描   Xc<="0000"     - 點計數(shù)器值Xc 置0 end if;     程序中的“Xc&l

27、t;=Xc+1”語句僅為點計數(shù)器增1作準(zhǔn)備,只有下一個時鐘到來后,才計數(shù)增1變化;因此,對后邊的“if Xc="1111" then”語句,判斷到Xc="1111"時,已經(jīng)為點計數(shù)器Xc變成0做好了準(zhǔn)備。程序中的“-”為注釋標(biāo)志。 2Y軸定位輸出器設(shè)計的編程 if TR='0' then        - TR='0'邏輯信號掃描,由位計數(shù)器值和數(shù)據(jù)接收器值確定Y值 

28、;if BitC="000" then   第1路邏輯信號,對應(yīng)字節(jié)內(nèi)的最高位,示波器上端 if DI(7)='0' then  Y<="11100101" - DI(7)=0,Y=E5H else  Y<="11110101"           &

29、#160;  - DI(7)=1,Y=F5H end if; elsif BitC="001" then              - 第二路 if DI(6)='0' then Y<="11000101" - DI(6)=0,Y=C5H 

30、;else  Y<="11010101"             - DI(6)=1,Y=D5H end if; elsif BitC="010" then              - 第三路

31、 if DI(5)<='0'then Y<="10100101" - DI(5)=0,Y=A5H else  Y<="10110101"             - DI(5)=1,Y=B5H end if; elsif BitC="011"&#

32、160;then              - 第四路 if DI(4)<='0'then Y<="10000101" - DI(4)=0,Y=85H else  Y<="10010101"         

33、;    - DI(4)=1,Y=95H end if; elsif BitC="100" then              - 第五路 if DI(3)='0' then Y<="01100101" - DI(3)=0,Y=

34、65H else  Y<="01110101"             - DI(3)=1,Y=75H end if; elsif BitC="101" then              -&

35、#160;第六路 if DI(2)='0' then Y<="01000101" - DI(2)=0,Y=45H else  Y<="01010101"             - DI(2)=1,Y=55H end if; elsif BitC="1

36、10" then              - 第七路 if DI(1)='0' then Y<="00100101" - DI(1)=0,Y=25H else  Y<="00110101"       

37、;       - DI(1)=1,Y=35H end if; elsif BitC="111" then              - 第八路 if DI(0)='0' then Y<="00000101"  - DI(0)=0,Y=05H else  Y<="00010101"              

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論