在進(jìn)行相關(guān)閱讀之前,,讀者務(wù)必了解一些名詞的定義。如邏輯份析儀(Logic Analyzer)為可測(cè)量隨著時(shí)間而變化電壓的儀器,。相較于傳統(tǒng)示波器顯示連續(xù)性電壓值變化,,邏輯份析儀分別顯示「高」與「低」兩值的電壓,,且它的輸入通道數(shù)比示波器多,,一般最少有8個(gè)通道,多者超過100個(gè)通道,。在一般情況下,,一個(gè)通道相當(dāng)于1位元。圖形發(fā)生器(Pattern Generator)則屬于信號(hào)產(chǎn)生儀的一種,,它可以產(chǎn)生數(shù)位信號(hào)且輸出通道數(shù)也非常多,,能以一定周期改變相對(duì)通道的圖案,同時(shí)一邊進(jìn)行輸出動(dòng)作,。
邏輯份析儀/圖形發(fā)生器結(jié)構(gòu)復(fù)雜
由USB邏輯份析儀與圖形發(fā)生器電路基板(圖1)的實(shí)際外觀可知,,電路的導(dǎo)線與扁平封裝元件較多,因此較為復(fù)雜,。
PIC/CPLD提升邏輯份析儀執(zhí)行能力
?被測(cè)對(duì)象(DUT)高速采集8位元的信號(hào)轉(zhuǎn)送至靜態(tài)隨機(jī)存取記憶體,。
?靜態(tài)隨機(jī)存取記憶體將8位元的信號(hào)轉(zhuǎn)送、下載至個(gè)人電腦,。
?上述采集與下載指令來自電腦,,因此必須作指令解讀作業(yè)。
?通知電腦發(fā)現(xiàn)觸發(fā)模式(Trigger Mode),。
不過,,在這些主要功能中,由于從被測(cè)對(duì)象中采集信號(hào)需要較強(qiáng)大的需求,,因而委托復(fù)雜可程式邏輯裝置(CPLD)進(jìn)行處理,;至于轉(zhuǎn)送從靜態(tài)隨機(jī)存取記憶體(SRAM)下載來的信號(hào)、以及下載至個(gè)人電腦所需的指令解讀作業(yè),,則由個(gè)人網(wǎng)際網(wǎng)路通訊器(PIC)以較低速進(jìn)行處理,;至于發(fā)現(xiàn)觸發(fā)模式的工作,則由PIC與CPLD共同處理,。
圖形發(fā)生器須置USB平行轉(zhuǎn)換晶片
圖形發(fā)生器的主要功能為高速產(chǎn)生8位元的信號(hào),、解讀個(gè)人電腦傳來的指令,以變更圖案產(chǎn)生方法,。份別由CPLD與PIC進(jìn)行處理,。由于PIC16F877A并無USB通訊功能,因此其與個(gè)人電腦間須設(shè)置USB平行轉(zhuǎn)換晶片F(xiàn)T245BM當(dāng)作介面。
從主要元件結(jié)構(gòu)來看,,圖1的外形尺寸為150毫米×100毫米雙面電路板,,上方并設(shè)有CPLD電路板;至于CPLD介面則使用EPM240T100C5晶片,,組裝在CPLD電路板上,;PIC使用PIC16F877A,并利用晶片插座的插拔方式進(jìn)行PIC程式的輸入程式化作業(yè),;而USB的介面則使用FT245BM,。
值得一提的是,USB與電腦的通訊都利用圖1左側(cè)的USB連接器進(jìn)行,,在其她元件部份,,靜態(tài)隨機(jī)存取記憶體使用CY7C1021BV33-10ZI;比較器(Regulator)使用TA48M033S,,其屬于低降下類型(Drop Type)3.3伏特輸出,,可供給CPLD電源。時(shí)脈器使用FXO-37F,,屬于表面封裝型50MHz石英振蕩器,,CPLD根據(jù)此時(shí)脈器動(dòng)作,因此邏輯份析儀的時(shí)序速度與圖形發(fā)生器的圖案產(chǎn)生速度同樣是50MHz,。
保險(xiǎn)絲使用可復(fù)原式保險(xiǎn)絲REX025,,該保險(xiǎn)絲即使在高溫融斷時(shí),待溫度降低就能夠恢復(fù)原狀,,因此不需任何更換作業(yè),。尤其是使用USB電源驅(qū)動(dòng)電路時(shí),建議盡量使用可復(fù)原式保險(xiǎn)絲,,避免實(shí)際應(yīng)用電流超過500毫安培,。
邏輯份析儀與圖形發(fā)生器的輸入端同樣都設(shè)有8個(gè)探針,CPLD基板設(shè)有25接腳的母連接器,,其可利用公-公直線平行纜線(Straight Parallel Cable)進(jìn)行CPLD程式作業(yè),,此外,CPLD基板還設(shè)有10接腳座,,可利用下載纜線ByteBlaster進(jìn)行CPLD程式作業(yè),。圖2是硬體方塊圖,圖3~圖8是各單元的電路圖,。
CPLD周邊電路的連接
從CPLD EPM240T100C5(MAXⅡ)的周邊電路圖(圖3)可知,,圖中50MHz石英振蕩器與3.3伏特比較器須以焊接方式固定在電路基板上,CPLD的程式化作業(yè)則利用D sub 25接腳母連接器或10接腳的座進(jìn)行,。
若無CPLD電路基板時(shí),,必須將CPLD電路基板焊接于本周邊電路基板上,,此時(shí)無D sub 25接腳連接器,就只能利用ByteBlaster進(jìn)行程式化作業(yè),。
PIC周邊電路的連接
微處理器PIC16F877A的周邊電路利用本電路控制硬體系統(tǒng)(圖4),。圖4的USB匯流排連接至FT245BM,可與電腦進(jìn)行資料相互傳輸,,若連接至復(fù)雜可程式邏輯裝置,,則能與復(fù)雜可程式邏輯裝置進(jìn)行資料相互傳輸。在時(shí)脈方面則使用20MHz陶瓷振蕩器與5伏特電源,。
USB介面周邊電路的連接
圖5是USB介面FT245BM周邊電路圖,,利用該電路的連接進(jìn)行USB平行轉(zhuǎn)換。該晶片會(huì)將USB連接器的端子輸入資料當(dāng)作平行資料(Parallel Data)輸出至RD0~RD7,;反之,,則可將輸入至RD0~RD7的平行資料當(dāng)做序號(hào),,輸出至USB連接器的D,,D-端子。
FT245BM的時(shí)脈器使用20MHz陶瓷振蕩器,,電源為5伏特,。USB連接器使用基板組裝用B型母連接器,其中端子被當(dāng)作本電路板5伏特電源使用,。
靜態(tài)隨機(jī)存取記憶體周邊電路的連接
圖6則是靜態(tài)隨機(jī)存取記憶體CY7C1021B V33-10Z1的周邊電路圖,,靜態(tài)隨機(jī)存取記憶體的位元寬度為16位元,位址空間為64K,。
由于此周邊電路并未完全使用靜態(tài)隨機(jī)存取記憶體的位址空間,,僅使用8位元的位元寬度與4K的位址空間,因此8位元的資料與12位元的位址空間連接至CPLD時(shí),,DUT的8位元資料會(huì)透過CPLD將4096個(gè)資料寫入靜態(tài)隨機(jī)存取記憶體,,反之,則從靜態(tài)隨機(jī)存取記憶體讀取的資料,,再透過CPLD轉(zhuǎn)送至PIC,。靜態(tài)隨機(jī)存取記憶體多余端子包括8位元的資料與4位元的位址空間未來可作擴(kuò)充用,同時(shí)可對(duì)13接腳連接器進(jìn)行資料輸出,。
靜態(tài)隨機(jī)存取記憶體的讀,、寫、晶片設(shè)定,、輸出設(shè)定皆透過CPLD控制,。此靜態(tài)隨機(jī)存取記憶體的讀、寫只需10奈秒,,因此可達(dá)最高頻率100MHz的資料讀取,、寫入。此外,該電路的寫入頻率為50MHz,、讀取頻率為100MHz,、以及使用3.3伏特電源。
探針用連接器的連接方法
連接邏輯份析儀探針的連接器與連接圖形發(fā)生器的連接器的連接方法(圖7),,事實(shí)上直接用焊接方式將探針,、端子固定,或是使用連接器都可以達(dá)到預(yù)期效果,。
CPLD電路基板連接器的連接方法
圖9是CPLD電路基板連接器的連接方法,,須配合CPLD電路基板(圖8)的連接器孔穴尺寸、位置,,進(jìn)行布線與元件設(shè)置(Layout),。
CPLD具高速處理能力
CPLD的主要功能有三項(xiàng)份別為從DUT高速采集8位元的信號(hào)轉(zhuǎn)送至靜態(tài)隨機(jī)存取記憶體、高速產(chǎn)生8位元的信號(hào)并輸入,、發(fā)現(xiàn)觸發(fā)模式,。
亦即由復(fù)雜可程式邏輯裝置并聯(lián)高速進(jìn)行以上工作,若這些工作全部委托類似PIC微處理器處理顯然不妥,,因此皆交由CPLD進(jìn)行處理,。
圖9是CPLD內(nèi)部電路的時(shí)脈結(jié)構(gòu),圖中的靜態(tài)隨機(jī)存取記憶體控制器主要功能是控制靜態(tài)隨機(jī)存取記憶體的讀寫動(dòng)作,,DUT的8位元資料與50MHz同步寫入靜態(tài)隨機(jī)存取記憶體,,由于時(shí)脈的一個(gè)行程須寫入8位元,因此邏輯份析儀的通道數(shù)為8個(gè)通道,,時(shí)序速度變成50MHz,。
靜態(tài)隨機(jī)存取記憶體的寫入由CPLD進(jìn)行主導(dǎo),讀取則由PIC進(jìn)行,,PIC一邊監(jiān)控從CPLD的「?jìng)渫鬃x取」,,在一旦變成可讀取狀態(tài)時(shí),輸出頻閃觀測(cè)器(Strobe),,便立即讀取靜態(tài)隨機(jī)存取記憶體的資料,;換言之,讀取速度與從PIC的讀取Strobe頻率相同時(shí),,會(huì)轉(zhuǎn)變?yōu)楸容^低速的狀態(tài),,大約在100kHz左右。
觸發(fā)控制器會(huì)不斷與DUT資料,、觸發(fā)模式進(jìn)行比較,,并將一致的資訊傳給靜態(tài)隨機(jī)存取記憶體控制器。
產(chǎn)生儀(Generator)控制器會(huì)產(chǎn)生8位元的圖案輸出,,產(chǎn)生儀控制器的通道數(shù)為8個(gè),,圖案更新速度變成50MHz,。
電阻控制器內(nèi)部有8位元的電阻可利用PIC改寫,此外,,電阻值會(huì)傳送到其她模組,。
復(fù)雜可程式邏輯裝置的內(nèi)部電路呈現(xiàn)雙層結(jié)構(gòu)狀,CPLD頂端為上層結(jié)構(gòu),,該模組的輸出,、入同時(shí)也是CPLD的輸出、入,。
PIC為電路基板控制功臣
控制用的微電腦使用PIC16F877A晶片,,為PIC16F877的改良版,兩者主要差異是基準(zhǔn)電壓值與比較儀(Comparator),。
雖然PIC可直接進(jìn)行基板程式化(On Keyboard Programming),,不過此電路基板設(shè)有晶片插座,程式化作業(yè)時(shí)須先將PIC從晶片插座拔除,,PIC寫入器才可寫入程式,。
PIC16F877A的額定電源電壓為4.0~5.5伏特,可直接使用USB的加5伏特端子,,該端子的最大容許電流為500毫安培,,基于安全考量,,可使用上述介紹的可復(fù)原式保險(xiǎn)絲,。
USB邏輯份析儀與圖形發(fā)生器的主要構(gòu)成份別是電腦、PIC與CPLD,,其中電腦與CPLD的相容性不佳,,無法直接傳輸資料,因此PIC成為電腦與CPLD兩者介面,,此外,,PIC還兼具整體電路基板的控制。
在執(zhí)行具體作業(yè)步驟前,,首先解讀電腦指令控制CPLD的模式,,最初,將CPLD傳來的資料與電腦作同步傳輸,,換言之,,CPLD主要工作就是「大量、簡(jiǎn)易,、高速」,,PIC主要工作是「復(fù)雜、少量,、低速」,。
由于PIC16F877A無通訊模組無法直接與USB的連接器連接,,因此必須透過FT245BM與電腦進(jìn)行通訊,F(xiàn)T245BM具備384位元先進(jìn)先出(First-In First-Out, FIFO)緩沖器,,不過無法保存超過該容量的資料,,因此特別設(shè)定所謂的「口袋(Pocket)」單位,每個(gè)口袋定義為256位元組,。
目標(biāo)是將一個(gè)口袋的資料置留在先進(jìn)先出緩沖器內(nèi),,接著主機(jī)讀取一個(gè)口袋的資料,立即清空先進(jìn)先出緩沖器,,上述作業(yè)反覆16次將16×256=4,096位元組的資料從目標(biāo)轉(zhuǎn)送至主機(jī),,最后結(jié)束一連串的下載作業(yè)。
圖10是4096位元組資料從DUT下載至電腦的流動(dòng)路徑,,具體作業(yè)步驟如下:
.硬體初期狀態(tài)變成「采集模式(Ccapture Mode)」,,CPLD將DUT傳來的資料寫入靜態(tài)隨機(jī)存取記憶體。
.使用者按下「應(yīng)用運(yùn)轉(zhuǎn)(Run)」按鈕,,驅(qū)動(dòng)負(fù)載診斷(DLD)指令從電腦通過USB介面流至PIC,。
.PIC接收上述指令將目標(biāo)設(shè)定成「下載模式」。
.CPLD停止靜態(tài)隨機(jī)存取記憶體的寫入,。
.接著電腦將數(shù)據(jù)需求(REQPK)指令傳送至PIC,。
.PIC反覆256次「從CPLD接收1位元,立即對(duì)USB作1位元轉(zhuǎn)送」,,再將一個(gè)封包的資料從CPLD轉(zhuǎn)送到USB介面內(nèi)部的FIFO,。
.PC從USB介面內(nèi)部的FIFO讀取資料,同時(shí)收取一個(gè)封包的資料,。
.電腦反覆接收REQPK至讀取FIFO資料16次,,收取16×256=4,096位元組,之后立即送出采集(CAP)指令,,使目標(biāo)折返采集模式,。
視窗的應(yīng)用操作技巧
邏輯份析儀與圖形發(fā)生器的USB介面使用FT245BM,使用前須作模組驅(qū)動(dòng)器的安裝(Device Driver Install)作業(yè),,具體方法使用USB監(jiān)控(UsbLogMon)的EXE檔案與Visual C Project進(jìn)行邏輯安裝作業(yè),。
由于本USB邏輯份析儀具備圖形發(fā)生器功能,因此可以將它當(dāng)作DUT使用,。如圖1所示邏輯份析儀的8通道探針連接于圖形發(fā)生器,。
上述安裝作業(yè)完成后,利用USB連接器將硬體與個(gè)人電腦連接,,在EXE Director有UsbLogMon.exe,,只要點(diǎn)選兩下就能夠啟動(dòng)圖13的視窗的應(yīng)用。
接著壓下「運(yùn)轉(zhuǎn)(Run)」鍵,,原始設(shè)定為256進(jìn)位輸出的8通道圖形發(fā)生器,,可以用邏輯份析儀監(jiān)控(圖14),。不過由于此處該狀態(tài)并未施加觸發(fā),因此壓下「Run」鍵時(shí)波形的位置會(huì)朝左右移動(dòng),,這意味著該狀態(tài)并不是「觸發(fā)模式」而是「內(nèi)同步模式(Free Run Mode)」,。
圖14畫面右下方出現(xiàn)「觸發(fā)模式」確認(rèn)盒(Check Box),因此在確認(rèn)后再度按下「Run」按鍵,,此時(shí)波形左側(cè)的8個(gè)通道始終變成「0」,,數(shù)次按下「Run」按鍵結(jié)果一樣,即以00000000施加觸發(fā),。
寫著「觸發(fā)(7:0)」的編輯盒內(nèi)部有00000000,,它是指觸發(fā)圖案(Trigger Patten),接著將它當(dāng)作00000000按下「Run」按鍵就變成圖15的畫面,。
由圖15可知波形是從該值產(chǎn)生,,事實(shí)上8位元是CPLD的阻抗值,它從電腦通過USB介面?zhèn)魉偷絇IC,,PIC再將CPLD的阻抗值觸發(fā)(7:0)改成此值獲得的結(jié)果,。