瞿安連
2003年全國大學(xué)生電子設(shè)計(jì)競(jìng)賽D題為《簡(jiǎn)易邏輯分析儀》,任務(wù)是:設(shè)計(jì)并制作一個(gè)8路數(shù)字信號(hào)發(fā)生器與簡(jiǎn)易邏輯分析儀。湖北賽區(qū)共有50個(gè)隊(duì)參加,約占賽區(qū)參賽隊(duì)總數(shù)的五分之一強(qiáng),說明該題受到參賽同學(xué)的歡迎。作品中有80%以上可正常通電測(cè)試,比例大大高于上屆《簡(jiǎn)易數(shù)字存儲(chǔ)示波器》一題(兩題有某些相似之處)。該題主要反映學(xué)生對(duì)數(shù)字電路和單片機(jī)方面的應(yīng)用和設(shè)計(jì)能力。題目要求的結(jié)構(gòu)框圖見圖1。
1.方案評(píng)述
按題目基本要求,制作分為數(shù)字信號(hào)發(fā)生器和簡(jiǎn)易邏輯分析儀兩部分。
(1)制作數(shù)字信號(hào)發(fā)生器 約90%的通電測(cè)試參賽隊(duì)都僅用一片單片機(jī)實(shí)現(xiàn)了8位數(shù)字信號(hào)發(fā)生器的功能,用開關(guān)進(jìn)行循環(huán)字的預(yù)置,以軟件實(shí)現(xiàn)循環(huán)移位。這是一個(gè)比較好的方案,因?yàn)轭}目要求序列時(shí)鐘頻率僅為100Hz,且負(fù)載能力要求不高,用價(jià)格極為低廉的8051系列單片機(jī)完成這項(xiàng)功能已綽綽有余。其余的隊(duì)則是用CPLD或中規(guī)模集成的移位寄存器實(shí)現(xiàn),但效果均不如單片機(jī)方案靈活方便,性價(jià)比較低。
(2)制作簡(jiǎn)易邏輯分析儀
微控制器系統(tǒng) 100%的通電測(cè)試參賽隊(duì)均采用單片機(jī)實(shí)現(xiàn)對(duì)系統(tǒng)的控制功能,且絕大部分采用8051系列的單片機(jī),有少數(shù)使用性能更加完善的凌陽單片機(jī)系統(tǒng)。從功能實(shí)現(xiàn)上看沒有顯著差別。
8位輸入電路 題目要求:8位輸入電路的輸入阻抗大于50kΩ,其邏輯信號(hào)門限電壓可在0.25~4V范圍內(nèi)按16級(jí)變化,以適應(yīng)各種輸入信號(hào)的邏輯電平。
絕大部分參賽隊(duì)采用8個(gè)比較器電路同時(shí)對(duì)8路輸入信號(hào)電平分別進(jìn)行比較,以確定各路輸入邏輯電平的高低。這種電路輸入電阻大于50kΩ一般不成問題。作為邏輯信號(hào)門限電壓比較的參考電壓,則方案有多種。其中半數(shù)以上使用8bit數(shù)模轉(zhuǎn)換器以程控方法進(jìn)行設(shè)定;也有用電阻16級(jí)分壓,以模擬開關(guān)程控選通或波段開關(guān)選通實(shí)現(xiàn)的。顯然使用數(shù)模轉(zhuǎn)換器電路更簡(jiǎn)單一些。有一個(gè)隊(duì)使用帶刻度的10圈電位器連續(xù)調(diào)整,與題目要求的“16級(jí)變化”有些偏差。上述方案在本質(zhì)上沒有太大的差別和特色。
參賽隊(duì)中有一種方案對(duì)于實(shí)現(xiàn)本題要求(不是真正的邏輯分析儀)是具有特色的。他們采用一個(gè)8選1模擬開關(guān)和一個(gè)8bit模數(shù)轉(zhuǎn)換器,與時(shí)鐘信號(hào)同步,分別對(duì)8路邏輯信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,將與邏輯電平成比例關(guān)系的數(shù)字量輸入單片機(jī),然后在程序中用數(shù)值比較的方法確定各路邏輯電平的高低。該方案可以使電路得到簡(jiǎn)化,并且可根據(jù)要求,分別對(duì)各個(gè)通道置入相應(yīng)的邏輯信號(hào)門限電壓值,對(duì)不同邏輯電平的各通道信號(hào)分別進(jìn)行比較,確定其邏輯值。
控制電路和RAM 由于微控制器系統(tǒng)中一般已包含RAM,根據(jù)題目要求,“每通道的存儲(chǔ)深度為20bit”,如果每個(gè)時(shí)鐘周期只采樣一組數(shù)據(jù),而不采用高速數(shù)據(jù)采集的方案,則數(shù)據(jù)存儲(chǔ)量不大,所要求的數(shù)據(jù)處理速度也不高,所以大多數(shù)參賽隊(duì)都是將8位輸入電路所確定的邏輯信號(hào)直接輸入單片機(jī)系統(tǒng),沒有另外設(shè)計(jì)結(jié)構(gòu)框圖中所要求的控制電路和RAM。
實(shí)際上,真正的邏輯分析儀經(jīng)常以遠(yuǎn)高于信號(hào)變化的頻率進(jìn)行高密度采樣,以發(fā)現(xiàn)邏輯信號(hào)中的延遲和競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象(俗稱“毛刺”),這樣就會(huì)產(chǎn)生大量的數(shù)據(jù),需要大容量的RAM及控制電路。
字觸發(fā)功能 由于題目要求“序列時(shí)鐘頻率為100Hz”,字采集的間隔時(shí)間有10ms,處理器在此時(shí)間內(nèi)至少可執(zhí)行數(shù)千條指令,大多數(shù)參賽隊(duì)的字觸發(fā)功能都是用軟件編程方法實(shí)現(xiàn)的,對(duì)實(shí)現(xiàn)本題的要求已足夠了。少數(shù)隊(duì)采用硬件邏輯比較方案,以FPGA實(shí)現(xiàn),對(duì)于本題來說似無必要,而要實(shí)現(xiàn)序列時(shí)鐘頻率更高的邏輯分析儀,硬件邏輯比較才是好方案。
波形與邏輯狀態(tài)顯示 題目的基本要求:“能利用模擬示波器清晰穩(wěn)定地顯示所采集到的8路信號(hào)波形,并顯示觸發(fā)點(diǎn)位置”,而題目發(fā)揮部分要求:“能在示波器上顯示可移動(dòng)的時(shí)間標(biāo)志線”。
有半數(shù)以上的參賽隊(duì)采用示波器的X-Y顯示模式,用單片機(jī)控制兩個(gè)數(shù)模轉(zhuǎn)換器分別產(chǎn)生模擬信號(hào)送入模擬示波器的X軸和Y軸輸入端,并在相應(yīng)時(shí)間產(chǎn)生同步的Z軸信號(hào)以控制顯示亮度,從而得到穩(wěn)定清晰的邏輯波形以及觸發(fā)點(diǎn)、時(shí)間標(biāo)志線等。應(yīng)當(dāng)說這已是最佳方案。
有部分隊(duì)采用外觸發(fā)的X軸掃描模式,可省去一路數(shù)模轉(zhuǎn)換通道,觸發(fā)信號(hào)和Z軸亮度信號(hào)則由單片機(jī)同步產(chǎn)生。該方案雖然也可以得到穩(wěn)定顯示的波形,但觸發(fā)點(diǎn)和時(shí)間標(biāo)志只能采用在波形上添加窄脈沖或亮點(diǎn)的方式實(shí)現(xiàn)顯示,有些隊(duì)則增加一條掃描線來標(biāo)志。這種方案的顯示質(zhì)量明顯比X-Y模式低。此外,沒有用Y軸方向的直線或虛線來顯示“時(shí)間標(biāo)志線”,也與題目要求略有距離。
時(shí)間標(biāo)志線所對(duì)應(yīng)時(shí)刻的8路輸入信號(hào)邏輯狀態(tài),有些采用8個(gè)發(fā)光二極管顯示,有些則用兩位16進(jìn)制數(shù)顯示,二者無本質(zhì)差別,前者似乎顯示更清楚一些。
2. 問題
(1)由于絕大多數(shù)參賽者未使用過,甚至未見過邏輯分析儀,事先對(duì)它的工作原理和性能指標(biāo)知之甚少,因此出現(xiàn)一些理解上的錯(cuò)誤。例如對(duì)“三級(jí)狀態(tài)字”、 “觸發(fā)點(diǎn)位置”、“觸發(fā)位置可調(diào)”、“時(shí)間標(biāo)志線”以及邏輯分析儀的輸入“跳接線”等,都有一些參賽隊(duì)由于理解有誤而不能做出完全正確的設(shè)計(jì)。該題的發(fā)揮也因此受到局限,例如很少有人考慮以高速采樣方式采集數(shù)據(jù)線上的邏輯狀態(tài),以測(cè)量邏輯電路的延遲特性及發(fā)現(xiàn)被測(cè)邏輯電路中的競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象和其它瞬時(shí)邏輯錯(cuò)誤。
(2)在測(cè)評(píng)中,對(duì)輸入電路的門限電壓測(cè)試有很多作品不完全成功。很多參賽隊(duì)使用LM324或TL084這樣的運(yùn)算放大器作輸入比較器,為了與邏輯電路接口,這些運(yùn)放往往使用+5V單電源供電,因?yàn)槭艿焦材P盘?hào)輸入范圍的限制,在邏輯信號(hào)門限電壓較高的情況下,電路輸出常常沒有響應(yīng),TL084對(duì)于低于1V的門限電壓也常常失去比較能力。產(chǎn)生這種問題的原因也許是現(xiàn)行教材引起的,目前大多數(shù)教材都以“運(yùn)放的非線性應(yīng)用”引出比較器,從而造成一個(gè)錯(cuò)覺,以為運(yùn)放可作為比較器使用。實(shí)際上運(yùn)放和比較器是兩種集成器件,它們的技術(shù)指標(biāo)有很大差別,用運(yùn)放作比較器是不妥的,原因如下:其一是運(yùn)放在開環(huán)狀態(tài)下帶寬很窄,輸出對(duì)輸入信號(hào)的響應(yīng)速度很慢,且輸出脈沖電壓的上升、下降沿時(shí)間很長(zhǎng),而集成比較器則相反,其技術(shù)指標(biāo)中往往列出輸出對(duì)輸入信號(hào)的響應(yīng)時(shí)間,以及輸出電壓上升、下降沿的最大時(shí)間;第二,運(yùn)放通常工作于線性閉環(huán)(深度負(fù)反饋)條件下,同相輸入端和反相輸入端之間的信號(hào)電壓極小,在集成電路設(shè)計(jì)時(shí)對(duì)輸入電路的過載能力沒有留出過多的余量,因而運(yùn)放做比較器使用時(shí),若未加輸入保護(hù)電路,極易造成輸入電路損傷,而集成比較器的輸入電路遠(yuǎn)較運(yùn)放“結(jié)實(shí)”,從而適合工作在開環(huán)和輸入電壓過驅(qū)動(dòng)狀態(tài)下;第三是運(yùn)放不易與邏輯電路接口,TL084之類的運(yùn)放尤為突出,它輸出的低電平電壓有時(shí)超過TTL電路標(biāo)準(zhǔn)所允許的低電平輸入電壓最大值,而集成比較器一般都考慮了與邏輯電路的接口問題。如果使用+5V單電源供電,正確的選擇應(yīng)當(dāng)是采用具有Rail-to-Rail輸入特性的集成比較器。如果采用LM339這樣老式的比較器,則電源電壓應(yīng)高于+5V才能使輸入共模信號(hào)電壓范圍(比較電壓范圍)高于4V,可靠達(dá)到題目所要求的指標(biāo)。這時(shí),LM339集電極開路輸出電路的上拉電阻應(yīng)接在邏輯電路電源的+5V上。
(3)在湖北賽區(qū),本題目的基本模塊設(shè)計(jì)大多雷同,缺乏能使人興奮的創(chuàng)新和特色,從而有很多參賽隊(duì)的作品測(cè)試成績(jī)相近。題目本身的特點(diǎn)決定了其測(cè)評(píng)項(xiàng)目大多是功能的有無,而不是作品達(dá)到指標(biāo)的水平,這也給測(cè)試成績(jī)的拉開造成困難。
(4)有些作品設(shè)計(jì)過于“豪華”,使用多片高檔單片機(jī)、大容量雙口RAM、大屏幕液晶顯示器、大容量FPGA等硬件構(gòu)成一個(gè)龐大系統(tǒng)。有的作品竟需要6路穩(wěn)壓電源供電,而又有些作品外加語音提示,紅外遙控等功能,而邏輯分析儀本身應(yīng)具備的特性和功能卻未見提高。更令人奇怪的是,有些作品中出現(xiàn)一些微處理機(jī)外圍器件閑置不用的現(xiàn)象。如此設(shè)計(jì)背離了工程設(shè)計(jì)的基本原則,脫離了實(shí)際??v觀歷次競(jìng)賽,作品的“豪華”程度有增無減,這也使參賽學(xué)校的競(jìng)賽成本大幅度提高,經(jīng)濟(jì)上不堪重負(fù)。希望今后競(jìng)賽中能適當(dāng)考慮作品的性能/價(jià)格比,將其作為評(píng)審的指標(biāo)之一。
上述測(cè)評(píng)分析,僅是印象較深的部分內(nèi)容,沒有相關(guān)作品原稿作參考,并且是從個(gè)人角度觀察得出的意見,難免偏頗,不妥之處敬請(qǐng)讀者提出。筆者的email地址為:alqu@mail.hust.edu,熱切期待著與同行們的交流。