時(shí)域反射儀的硬件設(shè)計(jì)與實(shí)現(xiàn)----關(guān)鍵電路設(shè)計(jì)(三)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
3.3采樣與存儲(chǔ)設(shè)計(jì)
要將模擬的脈沖信號(hào)顯示到液晶屏上,必須通過(guò)數(shù)據(jù)采集系統(tǒng)來(lái)實(shí)現(xiàn)。首先通過(guò)模數(shù)轉(zhuǎn)換器,將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再將數(shù)字信號(hào)做相應(yīng)的處理后,通過(guò)ARM將數(shù)字信號(hào)送到顯示屏。
3.3.1模數(shù)轉(zhuǎn)換器
在已知的早期的手持式數(shù)字示波器中,模數(shù)轉(zhuǎn)換器常采用的是AD9288[26」,其采樣率只有100MSPS,即使在拼合的情況下也只有200MSPS.本系統(tǒng)要求的最高采樣率為250MSPS,采樣精度為8位。ADI公司有兩款這樣的模數(shù)轉(zhuǎn)換器滿足上述要求,分別為AD9480和AD9481,這兩款A(yù)DC器件外觀基本上一樣,而只是在數(shù)字信號(hào)輸出方式上完全不同,分別具有以下特點(diǎn):
AD9480:
◢單通道模數(shù)轉(zhuǎn)換通道,250MSPS
◢模擬通道帶寬:750MHZ
◢最大功耗590mV(250MSPS)
◢數(shù)據(jù)輸出為L(zhǎng)VDS(低壓差分信號(hào))形式,頻率與采樣頻率相同
◢帶同步輸出時(shí)鐘
優(yōu)點(diǎn):LVDS輸出,抗噪聲和干擾強(qiáng),且對(duì)系統(tǒng)干擾小。
缺點(diǎn):功耗高,輸出必須與對(duì)應(yīng)的LVDS接口相連,通用性不強(qiáng)。
AD9481:
◢單通道模數(shù)轉(zhuǎn)換通道,250MSPS
◢模擬通道帶寬:750MHz
◢最大功耗439mW(250MSPS)
◢數(shù)據(jù)輸出為COMS電平形式,交替輸出,頻率為采樣頻率二分之一
◢帶同步輸出時(shí)鐘,有數(shù)據(jù)同步控制端
優(yōu)點(diǎn):功耗低,輸出端頻率低,輸出與TTUCMOS兼容;可實(shí)現(xiàn)數(shù)據(jù)拼和。
缺點(diǎn):CMOS輸出抗干擾性不強(qiáng),同時(shí)也容易產(chǎn)生電磁干擾經(jīng)過(guò)對(duì)功耗、接口方式、可實(shí)現(xiàn)性的考慮,
本設(shè)計(jì)采用了AD9481作為模數(shù)轉(zhuǎn)換器,來(lái)完成對(duì)脈沖信號(hào)的高速采樣。AD9481的具體時(shí)序圖如圖4-23所示。
AD9481數(shù)字部分的輸出采用的是交替輸出,即輸出分為八位并行的A口和B口。模數(shù)轉(zhuǎn)換器在每一次時(shí)鐘的上升沿進(jìn)行采樣,當(dāng)?shù)贜個(gè)采樣時(shí)鐘到來(lái)時(shí),A口輸出一個(gè)新的八位并行數(shù)據(jù),B口保持上一次輸出數(shù)據(jù)不變;當(dāng)N+l次采樣時(shí)鐘到來(lái)時(shí),B口輸出一個(gè)新的八位并行數(shù)據(jù),A口八位數(shù)據(jù)保持不變。則通過(guò)上述方式,實(shí)際上A、B口的輸出頻率最高也只有125MHz(25OMsPS),信號(hào)輸出頻率降低了一半,減緩了高速數(shù)據(jù)存取對(duì)讀寫控制的要求,減小了數(shù)據(jù)在存儲(chǔ)過(guò)程當(dāng)中產(chǎn)生錯(cuò)誤的可能性。
ADC采樣的時(shí)鐘信號(hào)由FPGA提供,ADC的采樣時(shí)鐘分為三種情況:250MHz、200MHz、100MHz.系統(tǒng)所用的時(shí)鐘則由50MHz的有源石英晶體提供,50MHz的時(shí)鐘送給FPGA以后,通過(guò)FPGA內(nèi)部的一個(gè)PLL(鎖相環(huán)),即可產(chǎn)生以上三種高速時(shí)鐘信號(hào)。
3.3.2峰值檢測(cè)
峰值檢測(cè)是數(shù)據(jù)采集系統(tǒng)中比較常用的方式,對(duì)于捕獲毛刺信號(hào)具有很大的幫助。它不像正常取樣方式那樣,通過(guò)采集大量與信號(hào)有關(guān)的數(shù)據(jù),存儲(chǔ)在大型存儲(chǔ)器中(兆量級(jí)),而是僅僅存儲(chǔ)了少量能夠反應(yīng)信號(hào)真實(shí)形狀的有效數(shù)據(jù),占用了極少的存儲(chǔ)空間,在不增加存儲(chǔ)深度的情況下,準(zhǔn)確的捕獲到毛刺和偶發(fā)事件,同時(shí)峰值檢測(cè)采樣形式還能防止顯示出現(xiàn)差拍效應(yīng)和具有包絡(luò)顯示功能[切。
峰值采樣的基本原理就是以盡可能高的采樣率對(duì)信號(hào)進(jìn)行采集,在單位時(shí)間內(nèi)對(duì)采集到的數(shù)據(jù)進(jìn)行高速比較,從中找出最大值和最小值并保持下來(lái),而將其它值忽略掉,在顯示方面依靠采集到的最大值和最小值可以比較真實(shí)的還原出原始信號(hào)的一些特性。如圖4-24所示,在周期時(shí)間T內(nèi)(對(duì)應(yīng)屏幕上一個(gè)像素點(diǎn)的時(shí)間),信號(hào)被高速采樣,采樣點(diǎn)數(shù)大于等于2,所有被采集到的數(shù)據(jù)都被直接送到FPGA內(nèi)部進(jìn)行高數(shù)比較,找到最大值和最小值(如左圖中黑點(diǎn)部分)。在周期時(shí)間T結(jié)束之前,將比較出的最大值和最小值保存在FPGA內(nèi)部的RAM中,當(dāng)ARM讀到這兩個(gè)數(shù)值時(shí),通過(guò)軟件處理,很容易就在屏幕上恢復(fù)出與原信號(hào)相似的波形。右圖中黑色像素點(diǎn)對(duì)應(yīng)ARM讀到的最大值或最小值,灰點(diǎn)由硬件產(chǎn)生。
圖4-25顯示了利用峰值檢側(cè)來(lái)捕獲毛刺信號(hào)的優(yōu)點(diǎn)。在沒(méi)有峰值檢測(cè)情況下,當(dāng)信號(hào)上出現(xiàn)較窄的毛刺信號(hào)的時(shí)候,由于采樣點(diǎn)間隔大于毛刺信號(hào)的寬度,因此恢復(fù)出的信號(hào)上并不能顯示出毛刺信號(hào);而在使用峰值檢測(cè)采樣以后,由于采樣間隔小于毛刺信號(hào)的寬度,則必然會(huì)捕獲到毛刺信號(hào),其捕獲毛刺信號(hào)的能力取決于采樣間隔,一般寬度大于采樣間隔的毛刺信號(hào)都可以捕獲到。這種捕獲毛刺和偶發(fā)事件的能力在檢測(cè)維修當(dāng)中十分有用。
差拍現(xiàn)象(混盛)是由于采樣沒(méi)有遵循Nyquist采樣定律導(dǎo)致的結(jié)果,當(dāng)示波器工作在慢速時(shí)基檔位(此時(shí)采樣速率較低),而輸入信號(hào)頻率較高的情況下就可能發(fā)生差拍。當(dāng)發(fā)生差拍時(shí),顯示波形頻率將低于實(shí)際信號(hào)頻率,一般兩者成倍數(shù)關(guān)系,同時(shí)示波器在己觸發(fā)的情況下也不能穩(wěn)定,在采樣周期性波形情況下,屏幕上可能顯示出與原信號(hào)形狀相同但頻率不正確的信號(hào)。檢查是否發(fā)生差拍的方法之一是改變時(shí)基,當(dāng)時(shí)基在相鄰檔位變化時(shí),若波形發(fā)生很大變化,則表示己經(jīng)產(chǎn)生了差拍,另一種方法是采用峰值檢測(cè)方式,由于峰值檢測(cè)即使在慢速時(shí)基檔位下也始終采用最高的采樣率捕獲信號(hào),所以當(dāng)輸入信號(hào)的頻率在可測(cè)范圍內(nèi)時(shí),就可以避免差拍出現(xiàn)。如圖4-26所示,在低速采樣下產(chǎn)生差拍信號(hào)的現(xiàn)象。
在時(shí)域反射測(cè)量中,在高速時(shí)基情況下,如100ns/div--5ns/div之間,屏幕上的一列對(duì)應(yīng)了ADC單次采樣采集到的數(shù)據(jù),即點(diǎn)對(duì)點(diǎn)形式,此時(shí)ADC也處于最高速采樣狀態(tài)下(250MSPS),當(dāng)時(shí)基為20ns/div時(shí),采樣率仍保持在250MSPS,此時(shí)屏幕上的單個(gè)像素點(diǎn)對(duì)應(yīng)的時(shí)間間隔為5ns,對(duì)應(yīng)了兩次采樣時(shí)鐘,即兩個(gè)數(shù)據(jù)確定了屏幕上的一列圖形,如果這兩個(gè)數(shù)據(jù)相同,則對(duì)應(yīng)屏幕上的一點(diǎn),如果不同,則對(duì)應(yīng)屏幕上同一列的上下兩個(gè)或是連成一小段的像素點(diǎn)。當(dāng)時(shí)基為500ns/div,如果采樣率仍為250MSPS,則單個(gè)像素點(diǎn)的時(shí)間(20ns)對(duì)應(yīng)5次采樣的數(shù)據(jù),如果采樣率為200MSPS,則單個(gè)像素點(diǎn)的時(shí)間(20ns)對(duì)應(yīng)4次采樣的數(shù)據(jù)。又因?yàn)闉榱私档凸牡哪康?,?us/div以后都采用了100MSPS,單個(gè)像素點(diǎn)的時(shí)間(20ns)對(duì)應(yīng)了以4為倍數(shù)的采樣數(shù)據(jù)。為此在500ns/div時(shí)也采用200MsPs,這樣在進(jìn)行峰值檢測(cè)的時(shí)候可以一次將4個(gè)數(shù)據(jù)送到高速比較模塊做流水線比較,并在規(guī)定時(shí)間周期內(nèi)找到最大值和最小值。4個(gè)高速數(shù)據(jù)的峰值比較電路設(shè)計(jì)流程如圖4-27所示。
在FPGA內(nèi)部,峰值檢測(cè)模塊電路由于采用了流水線的模式,因此用了較多的8位并行D觸發(fā)器、8位比較器和8位兩路選擇器來(lái)實(shí)現(xiàn)。雖然占用了一定的FPGA的內(nèi)部邏輯單元(LB),但卻保證了大量數(shù)據(jù)的高速連續(xù)處理,且不丟失有用的數(shù)據(jù),唯一的缺點(diǎn)就是實(shí)時(shí)性不強(qiáng),即4個(gè)數(shù)據(jù)的比較需要經(jīng)過(guò)好幾次時(shí)鐘(每個(gè)時(shí)鐘為周期為4*4ns)以后才能找到最大值和最小值,即有一定的延時(shí)性,但并不影響波形的正常顯示。因此這種流水線的操作方式實(shí)際上是一種利用空間換取時(shí)間的方式。整體設(shè)計(jì)模塊如圖4-28所示。
在峰值檢測(cè)模塊當(dāng)中,輸入端有兩個(gè)控制輸入,CLK_NUM和OVER_4.OVER_4表示峰值檢測(cè)在單位時(shí)間內(nèi)總共多少個(gè)數(shù)據(jù)進(jìn)行比較,因?yàn)樵跁r(shí)基為500ns/div和1us/div下,一次只進(jìn)行4個(gè)數(shù)據(jù)的比較,就要輸出最大和最小值,而在Zu叮div以后都是要進(jìn)行大于4個(gè),且以4為倍數(shù)的數(shù)據(jù)的比較,而模塊單次只能比較4個(gè)數(shù)據(jù),因此用OVER4來(lái)控制總共比較的數(shù)據(jù)是否大于4,大于4則OVER_4為1,反之為O。CLK_NUM用來(lái)控制單位時(shí)間間隔內(nèi)到底有多少個(gè)數(shù)據(jù)進(jìn)行比較,如果CLK-少舊M的周期為16ns,則只有4個(gè)數(shù)據(jù)比較,此時(shí)OVER_4也為0,當(dāng)CLK_NUM的周期為16ns的倍數(shù)后,則會(huì)有4的倍數(shù)個(gè)數(shù)據(jù)進(jìn)行比較。[!--empirenews.page--]
實(shí)際上CLK-少舊M的周期與時(shí)基是相聯(lián)系的,如時(shí)基為500ns/div,則CLK_NUM的周期為20ns,又因?yàn)榇藭r(shí)的采樣率為20OMSPS,所以只有4個(gè)數(shù)據(jù)比較,當(dāng)時(shí)基為1us/div,CLK_NUM的周期為40ns,采樣率為100MSPS,所以同樣只有4個(gè)數(shù)據(jù)比較,而當(dāng)時(shí)基為2us/div,CLK_NUM的周期為80ns,采樣率為100MSPs,就會(huì)有8個(gè)數(shù)據(jù)進(jìn)行比較,而在比較的過(guò)程當(dāng)中,先進(jìn)去的4個(gè)數(shù)據(jù)會(huì)比較出一個(gè)大值和小值,這兩個(gè)數(shù)據(jù)被默認(rèn)為最大值和最小值暫時(shí)保留下來(lái),直到與后進(jìn)來(lái)的4的數(shù)據(jù)比較出的大值和小值繼續(xù)做比較,最終確定最大值和最小值。表4-3給出了在不同時(shí)基情況下起用峰值檢測(cè)模塊控制信息相關(guān)對(duì)照表
從表中可以看到,在一般情況下,CLK_NUM的周期都可以直接通過(guò)分頻來(lái)獲得,而在時(shí)基比較大時(shí),如100ms/div情況下,由于本設(shè)計(jì)的存儲(chǔ)深度在3K左右,對(duì)應(yīng)了10屏(每屏300個(gè)點(diǎn))的圖形,如果一次連續(xù)的將存儲(chǔ)器填滿,則需要的時(shí)間大概為12s,信號(hào)刷新率太低,不適合波形顯示,因此在100ms/div時(shí)基以后,都采用了軟件采樣的方式,且此時(shí)沒(méi)有存儲(chǔ)深度的概念。波形顯示采用了掃描的方式,CLK_NUM的周期由ARM內(nèi)部的定時(shí)中斷器開(kāi)控制。此時(shí)屏幕上的信號(hào)不是一次刷新,而是從屏幕左方向右方依次更新,當(dāng)更新完最后一列信號(hào)后,又重新回到屏幕波形顯示區(qū)域的最左側(cè),依次顯示新的波形。
圖4-29和圖4-30是峰值檢測(cè)電路時(shí)序仿真圖,其中MAX和M取輸出作為觀察峰值檢測(cè)模塊內(nèi)部單次比較結(jié)果,MAX_OUT和MIN_OUT是最終比較出的最大值和最小值,WR_CLK可以作為將比較出的數(shù)據(jù)寫入FPGA內(nèi)部RAM的寫時(shí)鐘信號(hào)。圖4-29顯示的是在CLK_NUM周期內(nèi)只有4個(gè)數(shù)據(jù)進(jìn)行比較的輸出結(jié)果,而圖4-30表示的在CLK_NUM周期內(nèi)有8個(gè)數(shù)據(jù)進(jìn)行比較的輸出結(jié)果。從兩張圖都可以看到,從數(shù)據(jù)輸入到數(shù)據(jù)輸出都有一定的時(shí)間延時(shí)。雖然數(shù)據(jù)有延時(shí),但通過(guò)這種流水線的方式將模塊的工作速度降了下來(lái),使模塊工作更加穩(wěn)定,同時(shí)也不影響波形的正常顯示。
本峰值檢測(cè)模塊在示波器模式和時(shí)域測(cè)量模式下,經(jīng)過(guò)實(shí)驗(yàn)證明,完全可以捕獲到寬度超過(guò)10ns的毛刺信號(hào),而在200MSPS下,可捕獲的毛刺寬度將更窄。
3.3.3時(shí)域測(cè)量下的觸發(fā)
與一般的時(shí)域反射儀相比,本設(shè)計(jì)具有其它產(chǎn)品所沒(méi)有的觸發(fā)功能,該觸發(fā)功能的設(shè)計(jì)與示波器測(cè)量模式下的觸發(fā)完好的銜接在一起。脈沖時(shí)域測(cè)量的觸發(fā)不像示波器模式下的觸發(fā)那樣,還需要外部觸發(fā)模擬電路支持,由于脈沖信號(hào)是由數(shù)字電路來(lái)產(chǎn)生,所以可以直接利用FPGA內(nèi)部的數(shù)字邏輯單元來(lái)完成觸發(fā)設(shè)計(jì),類似于示波器模式下的上升沿觸發(fā),同時(shí)為了有效觀察脈沖信號(hào)的反射,脈沖信號(hào)需要在屏幕上可以左右的移動(dòng),在觸發(fā)電路設(shè)計(jì)上也具有預(yù)觸發(fā)的能力。
預(yù)觸發(fā)是在數(shù)字示波器取代模擬示波器后產(chǎn)生的一種新的觸發(fā)方式。這是因?yàn)槟M示波器不具備數(shù)據(jù)存儲(chǔ)的功能,而數(shù)字示波器利用它的大量數(shù)據(jù)存儲(chǔ)能力和軟件處理能力,實(shí)現(xiàn)了預(yù)觸發(fā)功能。有時(shí)在某些特定測(cè)試情況下,人們感興趣的波形部分并不是緊跟在引起穩(wěn)定觸發(fā)信號(hào)的后面,而是在觸發(fā)以后一段時(shí)間,或者是在觸發(fā)之前。這就需要采集系統(tǒng)能夠?qū)⒂|發(fā)事件前后一段時(shí)間內(nèi)發(fā)生的信號(hào)都存儲(chǔ)下來(lái),以供處理器處理并顯示出來(lái)。在實(shí)際操作過(guò)程中,可以通過(guò)左右移動(dòng)觸發(fā)點(diǎn),將觸發(fā)之前或者之后的信號(hào)移到屏幕中供用戶觀察。
本系統(tǒng)的存儲(chǔ)深度為3K,對(duì)應(yīng)了10個(gè)波形顯示區(qū),即實(shí)際波形顯示范圍只占到總共采集到的波形的十分之一。圖4-31為預(yù)觸發(fā)設(shè)計(jì)結(jié)構(gòu)圖。
從預(yù)觸發(fā)電路結(jié)構(gòu)圖中可以看出,整個(gè)電路主要包括四個(gè)部分:觸發(fā)信號(hào)輸入、RAM地址計(jì)數(shù)、預(yù)觸發(fā)計(jì)數(shù)、后觸發(fā)計(jì)數(shù)。在觸發(fā)源選擇由一個(gè)二選一選擇器,可以選擇內(nèi)部脈沖信號(hào)觸發(fā)。當(dāng)用內(nèi)部產(chǎn)生的脈沖信號(hào)作為觸發(fā)信號(hào)時(shí),在FPGA內(nèi)部己經(jīng)啟動(dòng)了脈沖時(shí)域測(cè)量信號(hào)產(chǎn)生模塊,因此選擇了直接用脈沖信號(hào)上升沿作為觸發(fā)信息。在這里并沒(méi)有采用從通道進(jìn)來(lái)的脈沖信號(hào),是因?yàn)閺耐ǖ肋M(jìn)來(lái)的脈沖信號(hào)并不是周期信號(hào),同時(shí)在通道上還有反射回的脈沖信號(hào),如果前一次觸發(fā)是發(fā)射脈沖,下一次觸發(fā)有可能不是發(fā)射脈沖,而有可能是反射脈沖,則顯示出來(lái)的信號(hào)就有可能不正確,無(wú)法正常觀察脈沖信號(hào),因此只有采用內(nèi)部觸發(fā),且在此狀態(tài)下只有一種觸發(fā)信號(hào),即發(fā)射脈沖信號(hào),不會(huì)出現(xiàn)觸發(fā)不正確的情況。當(dāng)然采用觸發(fā)釋抑的方式也可以解決上述問(wèn)題,這樣的話就可以選擇通道脈沖信號(hào)來(lái)觸發(fā),但是需要設(shè)計(jì)額外的數(shù)字電路,因此在這里沒(méi)有采用。
預(yù)觸發(fā)電路的工作順序大體上分為四個(gè)步驟,首先由ARM對(duì)模塊進(jìn)行初始化,則所有的計(jì)數(shù)器清零。預(yù)觸發(fā)計(jì)數(shù)器和RAM地址計(jì)數(shù)器同時(shí)開(kāi)始計(jì)數(shù),計(jì)數(shù)時(shí)鐘與時(shí)基相對(duì)應(yīng)。當(dāng)預(yù)觸發(fā)計(jì)數(shù)器達(dá)到設(shè)定值(1K)以后,產(chǎn)生一個(gè)高電平信號(hào),該高電平信號(hào)作為觸發(fā)使能信號(hào),而在此之前觸發(fā)信號(hào)被屏蔽掉的。如果觸發(fā)使能以后還沒(méi)有來(lái)觸發(fā)脈沖信號(hào),RAM地址計(jì)數(shù)器仍然保持計(jì)數(shù)狀態(tài)。直到有觸發(fā)脈沖到來(lái),后觸發(fā)計(jì)數(shù)器開(kāi)始計(jì)數(shù),而RAM地址計(jì)數(shù)器仍然保持計(jì)數(shù)狀態(tài),后觸發(fā)計(jì)數(shù)器的計(jì)數(shù)值大小(2K)等于存儲(chǔ)深度(3K)減去預(yù)觸發(fā)計(jì)數(shù)值大小,當(dāng)后觸發(fā)計(jì)數(shù)器計(jì)數(shù)達(dá)到設(shè)定計(jì)數(shù)值(2K)以后,就會(huì)產(chǎn)生一個(gè)高電平,將計(jì)數(shù)時(shí)鐘改為由ARM來(lái)提供,當(dāng)ARM檢測(cè)到該高電平以后,就會(huì)通過(guò)軟件來(lái)發(fā)時(shí)鐘,使RAM地址計(jì)數(shù)器重復(fù)計(jì)數(shù),每發(fā)送一個(gè)時(shí)鐘,ARM就會(huì)從RAM中讀取一個(gè)數(shù)據(jù),直到發(fā)送3K個(gè)時(shí)鐘后,將RAM中的所有數(shù)據(jù)讀出。預(yù)觸發(fā)電路的工作流程圖如圖4-32所示。
在觸發(fā)電路工作中有一個(gè)關(guān)鍵地方?jīng)Q定了預(yù)觸發(fā)的實(shí)現(xiàn),那就是一直處于工作狀態(tài)下的RAM地址計(jì)數(shù)器,從模塊初始化以后,RAM地址計(jì)數(shù)器一直都處于計(jì)數(shù)狀態(tài),當(dāng)觸發(fā)使能后,而又沒(méi)有觸發(fā)脈沖到來(lái)的時(shí)候,RAM地址計(jì)數(shù)器也保持計(jì)數(shù)狀態(tài);當(dāng)后觸發(fā)計(jì)數(shù)結(jié)束以后,RAM計(jì)數(shù)才暫時(shí)停止,而整個(gè)模塊從開(kāi)始計(jì)數(shù)到后觸發(fā)計(jì)數(shù)結(jié)束,RAM計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘次數(shù)大于預(yù)觸發(fā)計(jì)數(shù)器和后觸發(fā)計(jì)數(shù)器之和(3K),也就是說(shuō),在后觸發(fā)計(jì)數(shù)器停止之前,RAM計(jì)數(shù)器已經(jīng)計(jì)數(shù)滿,并又從0開(kāi)始重新計(jì)數(shù),直到后觸發(fā)計(jì)數(shù)器停止時(shí)它才停止。在這里RAM就類似于一個(gè)環(huán)狀的存儲(chǔ)器,其工作方式如圖4-33所示。
在上圖的a圖中表示的是預(yù)觸發(fā)初始化以后,RAM從1號(hào)地址開(kāi)始將采集到的數(shù)據(jù)寫入RAM即從A點(diǎn)開(kāi)始寫數(shù)據(jù),寫滿IK數(shù)據(jù)以后,觸發(fā)使能打開(kāi),RAM到達(dá)B點(diǎn)。B圖表示觸發(fā)使能以后,仍觸發(fā)信號(hào),則繼續(xù)將數(shù)據(jù)寫入RAM內(nèi),直到C點(diǎn),此時(shí)觸發(fā)信號(hào)到來(lái)。c圖表示觸發(fā)信號(hào)到來(lái)以后,RAM被繼續(xù)寫入數(shù)據(jù),當(dāng)RAM計(jì)數(shù)器計(jì)到3K點(diǎn)后,回到了A點(diǎn),而此時(shí)后觸發(fā)計(jì)數(shù)器還沒(méi)有停止,因此RAM計(jì)數(shù)器從0開(kāi)始繼續(xù)計(jì)數(shù),直到到達(dá)D點(diǎn),此時(shí)后觸發(fā)器計(jì)數(shù)停止,RAM計(jì)數(shù)器也停止。也就是說(shuō)RAM從最開(kāi)始工作,到地址到D點(diǎn)所存儲(chǔ)的舊數(shù)據(jù),被最后存儲(chǔ)進(jìn)來(lái)的新數(shù)據(jù)覆蓋掉,即。圖中A點(diǎn)到D點(diǎn)這一段黑色區(qū)域,在預(yù)觸發(fā)存儲(chǔ)數(shù)據(jù)階段,被先后兩次寫入數(shù)據(jù),最終存儲(chǔ)的數(shù)據(jù)為后一次寫入的數(shù)據(jù)。
在ARM讀取RAM內(nèi)部的數(shù)據(jù)時(shí),此時(shí)RAM計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘已經(jīng)換成由ARM來(lái)提供,即ARM通過(guò)I/O口產(chǎn)生一個(gè)上升沿信號(hào),送給地址計(jì)數(shù)器。在讀取數(shù)據(jù)的時(shí)候,RAM地址計(jì)數(shù)器并不是從零開(kāi)始從新計(jì)數(shù),而是繼續(xù)從D點(diǎn)所在的地址繼續(xù)計(jì)數(shù),則D+1號(hào)地址所對(duì)應(yīng)的數(shù)據(jù)應(yīng)該是被認(rèn)為在整個(gè)儲(chǔ)存深度(3K)中的第一個(gè)數(shù)據(jù),從D+l到C點(diǎn)則為1K的預(yù)觸發(fā)數(shù)據(jù),從C到D則為后觸發(fā)數(shù)據(jù)。因此根據(jù)觸發(fā)信號(hào)到來(lái)的偶然性,每一次從RAM中讀取數(shù)據(jù)時(shí),C點(diǎn)和D點(diǎn)所對(duì)應(yīng)的RAM的地址不一定都相同,但是ARM從RAM中讀回的數(shù)據(jù),經(jīng)過(guò)從新排列,保證每次采集到的數(shù)據(jù)的前1K點(diǎn)就是預(yù)觸發(fā)數(shù)據(jù)。這樣經(jīng)過(guò)軟件處理顯示到屏幕上以后,波形不僅可以前后移動(dòng),同時(shí)也保證了觸發(fā)的穩(wěn)定。