tceic.com
學霸學習網 這下你爽了
當前位置:首頁 >> >>

基于DSP的手持式數字示波表的設計和實現_圖文

電子科技大學 碩士學位論文 基于DSP的手持式數字示波表的設計和實現 姓名:楊新川 申請學位級別:碩士 專業:通信與信息系統 指導教師:林水生
20030613

摘要
手持式數字示波表是示波器技術的一個新的發展方向。通過使用太規模集成 電路和液晶顯示器,它把數字存儲示波器、數字頻率計、數字萬用表組合在一個 手持式儀表體內。本文對數字示波表系統的設計和實現進行了詳細論述,提出了 一種新的設計思路,并充分體現了示波表體積小、功能強的設計要求。
本文中設計的數字示波表系統采用非常簡潔的設計結構DsP+FPGA+RAM, 使用LCD顯示器,并為用戶提供友好的菜單界面。MOTOROLA公司的嵌入式 處理器DSP56805作為系統的核心,它調控整個系統的正常運行,同時完成對數 據的處理。XILINX公司的FPGA(現場可編程門陣列)作為系統的外圍控制器, 實現系統妁其娃很多功能模塊,包括’LCD(液晶顯示)控制器、測頻和測周模 塊、FIFO(先進現出存儲器)、采樣時鐘控制器,等等。
本文的重點放在DSP軟件的底層驅動控制部分,包括DSP對片內資源的配 置和使用,DSP對系統中其他功能模塊的控制,DSP對數據的處理,以及DSP 為系統上層軟件一一用戶界面提供的程序接口。在詳細論述了數字示波表的設計 和實現之后,本文較細致地介紹了系統的調試過程以及測試結果。
關鍵詞:數字存儲示波器,先進先出存儲器,液晶顯示,數字信號處理器, 現場可編程門陣列

Abst ract
As a new曲velopment in也e field of electronic oscilloscopes a
hand-held digital oscilloscope is a la-uly integrated test tool,with digital
storage oscilloscope(Dso),multimeter and digital ondometer in one
easy—to—LIse instrument.111e design and implementation of a kind of hand.held digital oscilloscope system was discussed in detailed in the
dissertation,which featured small size and powerful functions.
The system discussed in the dissertation has the compact
architecture built with DSP(digital signal processor).FPGA(field programmable gate array),and RAM.By using LCD(1iquid crystal display)it provides the friendly menu interface for user’S convenient operation.The embedded processor DSP56805 of Motorola Inc.controls
the whole system,and at the same time it functions data processing.The FPGA of Xilinx Inc.works as a important part,with which many
functional modules,including a controller of LCD display,a FIFO(first in first out)memow,a controller of sampling clock,and SO on,were
implemented.
The dissertation emphasized on the driver part of the software of the
system、Following the discussion of the design and implementation of the
software,the debug methods and test results of the whole system were provided,with which some basic functions of the system were verified.
Key words:DSO(digital storage oscilloscope),FIFO(first in first out),DSP(digital signal processor), FPGA(field programmable gate array),LCD(1iquid crysml display)

獨創性聲明
本人聲明所呈交的學位論文是本人在導師指導下進行的研究工 作及取得的研究成果。據我所知,除了文中特別加以標注和致謝的地 方外,論文中不包含其他人已經發表或撰寫過的研究成果,也不包含 為獲得電子科技大學或其它教育機構的學位或證書而使用過的材料。 與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明 確的說明并表示謝意。

牽蚴 簽名:

日期:孫;年‘月,婦

關于論文使用授權的說明

本學位論文作者完全了解電子科技大學有關保留、使用學位論文 的規定,有權保留并向國家有關部門或機構送交論文的復印件和磁 盤,允許論文被查閱和借閱。本人授權電子科技大學可以將學位論文 的全部或部分內容編入有關數據庫進行檢索,可以采用影印、縮印或 掃描等復制手段保存、匯編學位論文。
(保密的學位論文在解密后應遵守此規定)

簽名:

導師簽名:礎:暨

日期:伽三年‘月,占日

電子科投太學碩士學位論文
第一章引言
1.1電子測量和示波器
從廣義來說,凡是利用電子技術來進行的測量都可以說是電子測量。隨著 電子科學技術的發展,由于電子測量的一系列優點,許多物理量都設法通過一 定的傳感器變換成電信號,然后利用一整套比較成熟的電子學方法來進行測量。 在某種意義上講,電子技術的發展,是建立在檢測手段的提高的基礎上的【l】。
隨著大規模集成電路技術、信號分析與處理技術、計算機技術、軟件技術 和網絡技術的迅速發展及其在電子測量技術與儀器上的應用,新的測試理論、 方法、領域以及新的儀器結構不斷出現,在許多方面已經沖破傳統儀器的概念, 電子測量儀器的功能積作用發生了質的變化。由于科學技術的迅速發展對測試 技術與設備提出了越來越高的要求,如測試速度、效率、精度、可靠性、牢固 性,測試數據的可交換性、靈活性,測試系統的智能化、小型化等等,而新的 測試技術的發展則為電子測量提供了越來越強有力的技術手段和越來越寬廣的 應用前景。
現代電子測量儀器發展的最重要的特點是微處理器或微型計算機的廣泛應 用。它們以微型計算機的軟件和硬件為核心,對傳統儀器進行重新設計,儀器 測量部分和微型計算機部分相互融合,實現智能化控制,向多功能發展。示波 器就是該領域中最常見、應用最廣泛的幾種測量儀器之一。
電子示波器簡稱“示波器”,它可以將人們無法直接看到的電信號的變化 過程轉換成肉眼可直接觀察的波形,顯示在示波器的顯示屏上,供人們觀察分 析。利用示波器除了能對電信號進行定性的觀察外,還可以用它來進行一些定 量的測量。例如:可以舟它進行電壓、電流、頻率、周期、相位差、調幅度、 脈沖寬度、上升及下降時間等的測量;若配上傳感器,還可以對溫度、壓力、 聲、光、熱、振動、密度及磁效應等非電量進行測量。因此,示波器又是一種 用途極廣的電子測量儀器,被廣泛地應用于機械工業、農業、醫學、物理、通 信、國防科學及宇航等各種科學技術領域【21。
隨著數字電子技術的應用和發展,目前,己有將示波器簡單的劃分為模擬 示波器和數字示波器兩大類的趨勢。隨著半導體制造工藝以及各種大規模和專 用的集成電路的影響,示波器在內部電路結構上由晶體管發展到數字電路,功

電子科技大學碩士學位論文
能上已從時域分析發展到數據域分析和頻域分析。根據其用途及特點,示波器 已經發展出了很多的種類和型號,一般,大致分為下面幾類:
1)通用示波器 它是利用單束示波管的示波器,運用了基本的顯示原理,可對電信號進行 定性、定量的測量。 2)多束示波器 它是采用多束示波管的示波器。屏幕上的每個波形均由獨立的電子束產生, 能同時觀察和比較多個波形。 3)取樣示波器 通常采用取樣技術把高頻信號轉換為低頻信號,再運用通用示波器的基本 原理觀測信號。一般用于觀測頻率高、速度快的脈沖信號。 4)記憶、存儲示波器 是具有存儲信息功能的示波器。雖然兩種示波器存儲元件不同,但它們都 能對單次瞬變過程、非周期現象、低重復頻率的信號進行觀測。 5)特種示波器 指滿足特殊用途或有特殊裝置的示波器,如電視示波器、矢量示波器等。
1.2數字存儲示波器
1.2.1數字存儲示波器的基本原理
傳統的模擬示波器把需觀測的兩個電信號加至示波管的x、Y通道以控制 電子束的偏移,從而獲得熒光屏上關于這兩個電信號關系的顯示波形。顯然, 這種模擬示波器體積大、重量重、成本高、價格貴,并且不太適合用于對非周 期的、單次信號的測量。
數字存儲示波器(DSO)基于取樣原理,利用A/D轉換技術和數字存儲技術, 能迅速捕捉瞬變信號并長期保存f2l。它首先對模擬信號進行高速采樣獲得相應 的數字數據并存儲,存儲器中貯存的數據用來在示波器的屏幕上重建信號波形; 它然后利用數字信號處理技術對采樣得到的數字信號進行相關處理與運算,從 而獲得所需的各種信號參數(包括可能需要使用萬用表測試的一些元器件電氣 參數):最后,它根據得到的信號參數繪制信號波形,并可對被測信號進行實 時的、瞬態的分析,以方便用戶了解信號質量,快速準確地進彳亍故障的診斷。

電子科技大學碩士學位論文
數字存儲示波器有實時取樣和非實時取樣兩種。這里介紹屬于實時取樣的 數字存儲示波器,以下是它的組成原理圖:
圖l一1 數字存儲示波器原理圖
圖】一1是數字存儲示波器的主要組成,包括取樣通道、X通道、Y通道、 CRT、微型計算機、GPlB等部分。在微型計算機的控靠4下完成取樣、存儲、讀 出、顯示和程控等任務。
控制部分由CPU、ROM、RAM等組成。CPU控制所有的I/o口、RAM的 讀,寫操作,以及地址總線和數據總線的使用。在ROM內固化(寫入)有儀器 的監控程序。GPIB是通用接口總線,通過它可以程控數字存儲示波器的工作 狀態,實現內部存儲器與外部設備交換數據的功能。圖中觸發電路、控制電路 等部分決定了模擬信號的取樣、存儲和讀出。
輸入信號u.經取樣和A/D轉換后寫入RAM中,在顯示時,從存儲器(RAM) 中讀出數據,經D/A轉換器恢復成模擬信號(階梯波),并送到CRT的垂直 偏轉板;同時對存儲器進行地址掃描,經D/A變換成上升的掃描電壓,以便供 顯示波形時使用,這個波形是由連續光點合成豹。其中,x通道在寫入階段用 于控制取樣脈沖的形成。它也可以只用于在顯示階段提供x通道掃描電壓,由 微計算機直接提供取樣的控制信號。為了同步并顯示穩定的信號,每次時基掃 描都是由一個觸發事件啟動的。 1.2.2數字存儲示波器的主要技術指標
以下介紹數字存儲示波器的主要技術指標。

電子科技大學硬士學位論文

1)取樣速率和寫入速度

取樣速率用每秒完成的完整的A/D轉換次數來衡量,它表示每砂對被測信

號的取樣次數。寫入速度是完成一次A/D轉換所需要的時問,即對信號取樣,

并將取樣值必數字量的形式寫入存儲器共需要的時間,它決定了存儲波形的水

平分辨率。數字存儲示波器在測量時刻的實時取樣速率可根據被測信號所設定

的掃描時間(t/div)來推算。

r:旦



f/dlv

(卜I)

式中:N~~每格使用的取樣點數;
f~一實時采樣速率; t/div-一.掃描時間因數,即掃描一格所占用的時間。 2)存儲信號帶寬 存儲帶寬與最高取樣速率密切相關。根據取樣定理,如果取樣速率大于或 等于信號頻率的2倍,便可重現原信號波形。實際上,為保證顯示波形的分辨 率,往往要求增加更多的取樣點,一般。础欤媳痘蚋。 3)分辨率 分辨率是反跌存儲信號波形細節的綜合特性,它包括垂直分辨率(電壓分 辨率)和水平分辨率(時間分辨率)。垂直分辨率與AⅢ轉換器的分辨率相對 應,常以屏幕每格的分級數(級/div)、或百分數來表示。垂直分辮率越高, 則示波器上的波形中可以看到的信號細節越小。水平分辨率由存儲器的容量來 決定,常以屏幕每格包含多少個取樣點或百分數表示。 4)通道數 波形測量得輸入通道數。 5)存儲容量 存儲容量又稱記錄長度,它由采集存儲器(主存儲器)的最大可以貯存的 采樣點數來表示。
6)預觸發能力
即由一個信號來觸發示波器,而示波器顯示觸動發時刻之前的信號的能力。 通過調節觸發延遲可以控制觸發位置在羼幕上或者在采集記錄中的移動,從麗



電子科技大學碩士學位論文
可以方便的顯示觸發點以前不同時刻的波形,克服了普通示波器只能觀測觸發 點以后的波形的缺點,特別有利于分析故障產生的原因。還有其他的一些指標, 這里就不贅述了。 1.2.3數字存儲示波器主要特點
現在市場上性能較好的示波器應屬數字存儲示波器DSO(D適itaj Storage Oscilloscope)。數字存儲示波器克服了傳統模擬示波器無法完成對單次信號和低 重復頻率信號進行測試的缺點,同時,它還具有如下的特點:
1)可以顯示大量的預觸發信息 2)可以長期貯存波形
3)波形信息可用數學進行處理 如平均、迭加、信號的相關處理、頻譜分析、FFT分析等。
4)可以進行全自動的參數測量 在使用模擬示波器的時候,用戶只能進行手動測量,例如對屏幕上顯示的 波形曲線進行解釋分析、在屏幕上計算格數以求出波形幅度和時間間隔。而使 用DSO時,只要示波器已經采集了信號波形,就獲得了所有的波形信息數據, 根據這些數據就能自動計算出要測量的參數,得到更mⅡ準確,可靠的結果,整 個過程極為迅速,簡便。 5)可以采用多種觸發方式
DSO的存貯功能使它成為捕捉十分罕見、甚至于只發生一次的信號,側如 單次事件的極為有用的工具。為捕捉這些信號就要求示波器具有各種各樣的觸 發方式去探測這些特殊的條件,以便啟動波形采集。這實現這一目的,只有邊 緣觸發方式往往是不夠的,為此又開發了若干附加的觸發能力,如狀態觸發、 毛刺觸發、時間限定觸發等等。 1.3數字存儲示波器的新發展
隨著微電子集成技術、微計算機技術、數字技術的飛速發展,現代數字化 存儲示波器的研究與開發也有了更快的發展,是近年發展最快的儀器。各大公 司(如}口、TEK等)相繼投入巨資研究、開發該類儀器,以圖率先占領此技 術領域。

電子科技大學碩士學位論文
90年代以來,基于實時取樣/量化技術的高速存儲示波器的研制與生產得 到了飛速的發展。這類儀器既適用于單次信號,又能用于重復信號的檢測,所 以,其測試功能更加強大。各大公司不斷推出采樣率更高、帶寬更寬的產品。 例如:TEK公司的TDS680B/684B數字示波器,數字化率達5GSMS,帶寬1GHz, 量化分辨率8 bit,lip公司的FIPS4722A數字示波器數字化速率高達8GS“S, 帶寬2GHz,量化分辨率8 bit。
同時,便攜式測試儀器也取得了飛速發展。其中,萬用示波表獲得了示波 器技術的一個突破。通過大規模集成電路技術和使用液晶顯示器,FLUKE公司 的FLUCKE 190萬用示波表把一個全功能的2通道50MHz數字存儲示波器和 一個數字萬用表組合在一個重量只有t.Skg的手持式體內。它是適合真正需要 便攜式示波器的維修工程師使用的儀器。
近十年來,國內數字存儲示波器技術研究及發展也取得了相當的成果。但 在實時數字化采集速率離國外的水平還有相當大的距離。找們要單純去和國外 這些大公司競爭這種技術指標是不現實的,只有立足于國內現有的條件和設備 在測量儀器領域作一些努力,逐步縮小這種差距。
1.4本課題來源和所要解決的問題

目前國內還大量使用模擬示波器,特別是學校一般仍在大量使用20M左右 的模擬示波器。而數字存儲示波器的研究開發在國內崩屬于起步階段,數字存 儲示波器的市場幾乎全部由國外占領。作為數字存儲示波器家族的一員,便攜 式數字示波表具有~般數字存儲示波器的功能,但是,在性能指標方西的要求 較常規示波器為低,系統設計偏重于系統的多功能、小體積和低功耗。

本課題,即手持式數字示波表,來源于同企業合作的開發項目。目的是通

過對國外主要公司產品工作原理的研究,來發展具有自主知識產權的便攜式數

字示波表。同時,為開發高性能數字存儲示波器積累理論和實踐經驗,逐步縮

小與國外的差距。



本文設計的手持式數字示波表集數字存儲示波器、數字萬用表、數字頻率 計三者功能于一體,采用液晶顯示、功能齊全、體積小、重量輕、使用攜帶操 作部十分方便、是電子測量領域里~類新型、實用型儀器。它具有極高的技術 含量、很強的實用性和巨大的市場潛力,也代表了當代電子測量儀器的一種發 展趨勢,即向功能多、體積小、重量輕、使用方便的掌上型儀器的方向發展。

本文設計的手持式數字示波表的技術指標如下:



電子科技大學碗士學位論文
1)模擬帶寬10MHz;單次帶寬5MI-lz。 2)最高取樣率40MS]s。 3)記錄長度2KB。 4)單通道。 5)水平掃描時基50ns/div~lOs/div,按l~2~5分級。 6)垂直掃描幅基5mV/diw5V/div,按l~2~5分級。 7)測量信號參數:周期、頻率、平均、有效、峰峰值。 8)頻率計:10MHz士5%。 9)LCD:320x240點陣92mmx72mm,有背景光。


電子科技太學碩士學位論文
第二章數字示波表基本原理
數字示波表具有數字存儲示波器、數字萬用表、數字頻率計三者功能,采 用液晶顯示,是個功能強大的便攜式測試儀器。本章將對這三個功能部分的相 關原理進行講述。
2.1數字存儲示波器
數字存儲示波器的系統工作原理在1.2節已有講述,本節重點講述它的取 樣原理、時基設置、觸發機制、波形插值處理、工作模式等。 2.1.1取樣原理
當信號進入數字存儲示波器阱后,在信號送去顯示之前,示波器將按一定 的時間間隔對信號電壓進行采樣。然后用一個模/數變換器(ADC)對這些瞬時 值或采樣值進行變換從而生成代表每一個采樣電壓的二進制字。這個過程稱為 數字化。獲得的二進審0數值貯存在存儲器中。我們在示波器屏幕上看到的波形 總是由所采集到的數據重建的波形,而不是輸入連接端上所加信號的立即的、 連接的波形顯示。
對輸入信號進行采樣的速度稱為采樣速率。采樣速率由采樣時鐘控制 根據香農采樣定理,為了恢復原來的信號,在進行信號數字化的時候要求 采樣時鐘的頻率至少應為信號本身所包含的最高頻率的兩倍。 根據經驗通常認為每周期最小要有十個采樣點才能給出足夠的信號細節。 在有些情況下,對信號的細節要求低一些,這時每周期取五個樣點可能就足以 給出有關信號的特性。比如,對于一個最大采樣率為200MSa/s的示波器來說, 能夠準確采集的最大信號頻率即為20Mt-lz到40MI-Iz。在這種情況下,還可以 使用特殊的顯示系統來提高顯示波形的保真度。其方法是通過各個采樣點畫出 最佳擬合的曲線。這種方法稱為波形數據的內插處理。 數字存儲示波器的取樣方式有:實時取樣和等效取樣。 1)實時采樣 這時所有的采樣點都是按照一個固定的次序來采集的。這個波形采樣的次 序和采樣點在示波器屏幕上出現的次序是相同的。只要一個觸發事件就可以啟 動全部的采集動作。實時采樣如圖2一l所示。采用實時采樣的示波器測量重復

電子科技大學碩士學位論文
和測量單次信號具有相同的帶寬,也稱實時帶寬(Real.Time BW)。為了提高 信號帶寬,必須提高采樣速率。
轄^甜蛩
1 2 3萱5囂7 8 8’ja
榮辟時辮
圖2—1實時采樣
2)等效時間采樣 如果要觀察的信號常常是重復性的,即相同的信號波形按有規則的時間間隔 重復地出現,示波器可以從若干連續的信號周期中采集到的多組采樣點來構成波 形,第一組新的采樣點都是由一個新的觸發事件來啟動采集的。這種采樣方式稱 為等效時間采樣,在這種模式下,一個觸發事件到來以后,示波器就采集信號波 形的一部分,例如采集五個采樣點并將它們存入存儲器。另一個觸發事件則用來 采集另外的五個采樣點,并將其存貯在同~存儲器的不同位置,如此進行下去經 過若干次觸發事件以后,存儲器內存貯的足夠的采樣點,就可以在屏幕上重建一 個完整的波形。等效時間采樣使得示波器在高時基設置值之下給出很高的時間分 辨率,這樣~來,就好象示波器具有了比實際采樣速率要高得多的一個虛擬采樣 速率或稱等效時間采樣速率。 等效時間采樣的方法采用從重復性信號的不同的周期取得采樣點來重建這 個重復性信號的波形,這樣就提高了示波器的時間分辨率?梢圆捎脙煞N不同的 技術來實現等效時間采樣,即順序采樣和隨機采樣。由于本文設計的示波表采用 實時采樣,這里對順序采樣和隨機采樣就不再講述。 2.1.3時基設置 本節主要討論時基設置、水平分辨率和采樣速率三者的關系。

電子科技丈學頸士學位論文
數字示波表中的可變時基,亦稱掃描時基或顯示時基,它是波形顯示區中 的時間分度,即每格所代表的時間是多少。本文所研制的數字示波表的時間分 度是以250為滿刻度,共分十格,每格25個點距?勺償底謺r基按1,2,5 分級變化。
在數字存儲示波器中,水平系統的作用是確保對輸入信號采集足夠數量的 采樣值,并且每個采樣值取自正確的時刻,和模擬示波器一樣,水平偏轉的速 度取決于時基的設置(s/div)。
本文中數字示波表的記錄長度是2K。示波表采用LCD顯示波形,在測量 時刻的信號實時采樣速率可根據測試儀器所設定的水平掃描時基來推算。由式
(1—1),由于示波器一屏和每格可以顯示的采樣點數是固定的,所以時基設 置的改變是通過改變采樣速率來實現的,一臺特定的示波器所給出的采樣速率 只有在某一特定的時基設置之下才是有效的。在較低的時基設置之下,示波器 使用的采樣速率也比較低。
在本系統中,使用記錄中的2K個點顯示一屏波形,一屏波形分為10格, 每格對應記錄中的200點,即~格對應的采樣點數N是200。由于本系統的最 高采樣速率是40MSa/s,所以,由式(1—1)可以計算出使用這一采樣速率的 時基設置值:
t/div=200樣點/采樣速率=200/(40×106)=5us/div 了解這一時基設置值是非常重要的,因為這個值是示波器采集非重復性信 號時的最快的時基設置,使用這個時基設置時示波器能給出其可能的最好的時 間分辨率。此時基設置值稱為“最大單次掃描時基設置值”,在這個設置值之 下示波器使用“最大實時采樣速率”進行工作。這個采樣速率也就是在示波器 的技術指標中所繪出的采樣速率。
如果進一步提高時基設置,那么采集的數據不足以顯示信號波形,此時需 要對數據進行插值處理。
2 1.4波形插值原理
一、插值的基本原理
插值是確定某個函數在兩個采樣值之間的數值時采用的運算過程e插值方 法就是尋求函數的近似表達式的方法。用計算機顯示圖形時,如果一個圖形比 較粗糙,或者一個圖象的分辨率太低,都可以用插值的方法使圖形精美,或使 得圖象的分辨率得到提高。插值通常是利用晦線擬合的方法,通過離散的輸入

電子科技大學碩士學位論文
采樣點建立一個連續函數,用這個重建的函數便可阻求出任意位置處的函數值。 這樣便可以不受僅在采樣點處抽取輸入信號值的限制。我們知道,對有限帶寬 的信號采樣會產生無限帶寬信號,插值過程正好相反,它通過對離散信號作低 通濾波處理,減少了信號的帶寬。插值函數對采樣數值的平滑作用,恢復了在 采樣過程中丟失的信息。因而插值可阻看作是采樣的逆過程。
對于等間隔采樣數據,插值可以表示為:

/∽=∑N.一-I q搬一壇)


(2一1)

其中h為插值核,Ck為權系數,卷積對K個數據作處理。上面的方程將 插值用卷積操作來表示,在實際應用中,h總是對稱的,即有h(x)=h(.x),Ck 即為采樣值。
插值核的性質可以通過其在頻率域的特性來評估。理想的插值核在帶通區 具有單位增益,在帶阻區具有0增益。因而可以有效地通過和抑镥4不同頻率的
信號成分。

根據采樣定理,當采樣頻率Fs不低于兩倍的信號的最高頻率時,信號能從 采樣信號中完全恢復。即從理論上說,只要Fs>,2Fro(信號最高頻率),信號 就能完全恢復。在實際應用中,由于系統存在噪聲,常。疲螅剑玻担矗疲颍,甚至
x咿。羔x(nTs)廁sin[,r(t-nTs)/Ts一](2- 2) 更大。在本系統中。疲螅剑矗疲。依采樣定理可得恢復波形的方法:

式中Ts=1/Fs。
這是理想的取樣函數(即sine函數)內插方法,實際應用中由于有限項的
坪)=n蘭=-N咖瑚篙紫∽(2-3) 近似,常采用帶有加權窗口函數的取樣函數來實現。方法如下:
式中Ts=1/Fs,w(n)是加權窗函數。
二、拉格朗日插值多項式

電子科技大學碩士學位論文
己知函數fix)的數值托=m0,(k=O,l,2,.,圳,構造一個多項式P∽,使
得P(xk)=M,那么貝砷稱為被插函數,P∞稱為插值多項式,鯫稱為插值節點。 插值誤差R∞專舡)一只∞。
由于多項式函數具有結構簡單,便于計算,而且能逼近任意連續函數等特 點,我們選用滿足某種條件的代數多項式作函數的近似表達式。
用胛次多項式

p。(x)=∑幾‘(x)=ydo(x)+兒‘(x)+…+J‘厶(x)
k=O

(2—4)

近似函數Ax),UOfix)*只∞,且滿足P。㈨=鼽(腳,l,2,砷。其中,基

函數



t(砷 豎:昱2竺二苧!∑竺 毛一.)(x一薯。)...(x—h)
(墨一‰X墨一而)…(薯 t_)(一一蔫+1)...(墨一矗)

(2—5)

式中i=0,1,2,…,.r/。該P!薹Q為拉格朗日n次插值多項式。

當n=2時,得到二次多項式,就是二次插值。

拉格朗日插值多項式的余項為:

馳足】(州。)=∽/(。州)一x只)(。-)勰2靠者叫∞一z()z)

(‘22—_66’)

其中,舌∈(口,6),∞¨(x)=0一X0)0~Xt)0一X2)-一0一z。.
注意:1)過n+1個互異節點,所得插值多項式應該是次數不超過13.的多
項式。
2)利用拉格朗日多項式插值,多項式的次數越高,插值精度并不是 越好,如著名的龍格(Runge)現象。
3)利用一階拉格朗日函數進行插值方法簡單,內插速度快,但在采
樣信號點數少時,重建信號差。
4)為了解決龍格(Runge)現象,可以采用分段低次插值。即將整 個插值區間分成小區間,然后在每個小區間上利用低次多項式進 行插值。當插值節點逐漸加密時,重建信號明顯改善。因為本系

電子科技大學碩士學位論文
統采用等間隔采樣,數據非常易于劃分小區間,而且插值后依然 需要獲得等間隔的數據,所以這種插值方法特別適合于本系統。
此外還有牛頓插值、分段線性插值、三次樣條插值、曲線擬合型插值、取 樣函數(即sine函數插值)等插值算法,這里就不再一一介紹了。
由于時間有限,沒有逐個對各種插值方法在本系統中進行插值比較,系統 選用易于實現、插值速度較快的二次拉格朗日插值。
2.1.5示波器工作模式
一、釋抑時間的概念
在模擬示波器中“釋抑時間”是從掃描進入回程起算,直到允許下一次掃 描開始的這一段時間,在這期間禁止任何觸發產生。在數字示波表中,“釋抑 時間”是指從產生觸發并采集完LCD一屏的當前掃描時間開始起算,直到允許 下一次觸發的這段時間!搬屢謺r間”的作用是改變掃描周期,以同步復雜的 被測信號(如脈沖串等)。在實時數字示波器中,由于數字采集系統連續不斷 地采集,在釋抑期間內采集并不停止,釋抑時間計滿后,其后的第一個觸發脈 沖產生下一次有效觸發。在示波表中,釋抑時間的數值可設為固定值,并且用
戶不可訪問(如500u s)。
二、示波器工作模式
示波器工作模式有三種選擇:自動(AUTO)、觸發(TRIG)和單次

(SINGLE)。
1)自動(AUTO)
在模擬示波器中,“自動”方式是:當無觸發信號輸入時,電路工作在連 續掃描狀態,屏幕上顯示一條掃描基線,一旦有觸發信號時,則掃描立即被信 號觸發同步。在數字示波器中,“自動”方式與模擬示波器原理相同,實現的 措施是:如果進入“AUTO”方式,但經過50ms的延時仍無觸發信號,則視為 無觸發信號輸入,此時可將該時刻視為觸發點,依據“抽取規則”讀取數據, 周而復始。如果原來有觸發信號,在釋抑時間結束后若仍未有觸發信號到來, 則將該時刻對應的單元作為觸發點的單元處理,處理方法同上。如果有信號到 來,則系統自動進入觸發狀態,參見“TRIG”方式。
當掃描檔級慢于20ms/div時,不管有無信號,都將轉為“ROLL”方式。 在滾動方式,將當前采集的數據根據抽取規則每抽取一個顯示一個,并且從左

電子科技大學碩士學位論文
到右,當抽取滿250個點時,每增加一個點(從左邊進入),則最右邊的一個 點被剔除,依次類推。此外,在“ROLL”方式,不再顯示觸發標記。
2、觸發(耶ⅪG)
在“觸發”方式:當無觸發信號輸入時,電路工作在等待狀態,屏幕上顯 示此前的波形并且不再刷新,但~旦有觸發信號時,CPU應立即檢測到這個信 號,并找出與該信號對應的被采集的信號數據單元地址,然后根據數據抽取規 則抽取相關單元的數據進行顯示,從這個有效觸發信號開始,在10div的當前 掃描時間內,.不允許再次被觸發,但經過這段時間后,CPU要隨時檢測有無觸 發信號的到來,一旦來時則重復上一次過程。
則立即產生連續掃描,并與信號同步;屏幕上顯示掃描基線或波形,在未 選擇“STOP”時,波形數據被不斷刷新。在這個菜單下,當觸發置于“AUTO” 時為自動方式,“TRIG”時為“觸發”方式。
對于第一單元既可以指定也可以隨機產生,于是屏幕上可顯示一條掃描直 流電平基線:當有觸發信號時,則根據觸發脈沖產生的時刻,計算出對應于觸 發信號的數據地址單元,然后按抽取規則抽取,屏幕上即可顯示穩定的波形。
在“觸發”方式:當無觸發信號輸入時,處于“READY”狀態,屏幕上保 持原有顯示,一旦有觸發信號時,工作方式與有觸發信號的自動方式相同(參 見后頁的預觸發)。
3)單次(S惝,E)
在模擬示波器中,“單次”方式是:當無觸發信號輸入時,電路工作在等 待狀態,屏幕上無掃描基線顯示,一旦有觸發信號時,則立即產生一次掃描, 屏幕上顯示被測波形,以后不管有無觸發信號,其觸發均無效。
在數字示波器中,在“單次”狀態,采集系統始終按當前掃描檔級連續不 斷地進行數據采集。當無信號輸入時,與無觸發信號的“觸發”方式相同,一 旦有觸發信號時,首先找到對應于觸發脈沖的數據單元,并根據觸發延遲量計 算出第一單元的地址。當數據采集覆蓋到作為第一單元數據的前一個單元時, 則數據按抽取規則全部讀取并在屏幕上顯示,且不再刷新。 2.1.6關于觸發的幾個概念
一、觸發方式的劃分
14

電子科技大學碩士學位論文
在數字存儲示波器和邏輯分析儀系統中,都需要觸發功能,用于指示系統 自動地采集和捕獲信號,以便獲得穩定的或者特定的信號波形。歸納起來,觸 發方式大致可以分為以下三大類:根據觸發信號的來源不同,可分為“內觸發” 和“外觸發”;根據觸發邊沿的不同,可分為“上升斜率觸發”和“下降斜率 觸發”;根據觸發機制的不同,可分為“同步觸發”、“預觸發”和“后觸發”; 根據啟動觸發的事件不同,又有很多的觸發方式,如“圖形觸發”、“毛刺觸 發”、“狀態觸發”、“時間限定觸發”,等等c9I【恬】。
本論文設計的數字示波器采用電平內觸發,即觸發來源于輸入信號本身, 當信號達到系統設定的觸發電平時就產生觸發,如圖2--2所示。

l、
DI":DS-善霸疆耐I齠瞎f1 DH*D§啼蘆鼉婦麓酸逝

0、
D洳l》D基玲呻s哼-罩蘆糾燃睜韶舞鼗盤捐靛各r1熬

圖2—2觸發產生條件
在圖2—2中,第一種情況設置上升斜率觸發,第二種情況設置為下降斜率 觸發,觸發點是DS點,觸發電平是DS點的幅值。
二、預觸發和后觸發 示波器每次時基掃描都是由~個觸發事件啟動的,這樣~來我們通常就只 是研究觀察觸發時刻以后的信號變化情況。在很多應用場合,我們感興趣的波 形部分并不緊跟在引起穩定觸發的信號部位的后面,而是在觸發以后~段時間,
或者甚至可能在觸發之前。
預觸發是指在觸發之前,信號的波形數據已經開始采集。那么具有預觸發 觀察能力的示波器可以顯示觸發時刻之前的信號。
后觸發是指在觸發以后一段規定的時間才開始采集信號的波形。具有后觸 發觀察能力的示波器可以觀測觸發以后一段規定時間后的信號波形。

電子科技大學碩士學位論文
具有預觸發或后觸發延遲能力的示波器必須具有某種方法來控制延遲時間 的大小,這可以用觸發位置控制機構來完成。這個控制機構可以使得觸發位置 在屏幕上或者在采集記錄中移動。如果示波器具有很寬的觸發位置控制范圍, 使用起來將會是很方便的。
本文設計的數字示波器允許用戶將觸發時刻設置在整個采集記錄中10 %~90%這個范圍內,并且觸發位置還是連續可變的。由于整個采集記錄用于 顯示一屏波形,因此,觸發時刻在波形顯示屏幕上的可變范圍也是10%~90%。
三、觸發延遲量和觸發提前量 在本文中采用觸發延遲量來描述觸發時刻的位置。 觸發延遲量Td定義為觸發點前波形部分在LCD波形顯示區內整個波形中 所占的比例。即反映了LCD波形顯示區中觸發點前后波形時寬的比例關系。用 戶可以通過調節觸發延遲量來靈活的調節觸發點前和后波形的范圍,本系統觸 發延遲量的調節范圍是lo%~90%。 觸發提前量Tb是觸發延遲量在主存儲器中的反映。LCD波形顯示中有觸 發點前的波形,那么,主存儲器中就必須采集到相應量的觸發點前信號的波形 數據。主存儲器中從觸發點數據單元到顯示波形的起始點數據單元間的數據量 就稱為觸發提前量。 2.2數字頻率計
2.2.1時頻測量的特點
時間和頻率是電子技術中兩個重要的基本參量。工業控制,信息傳輸和處 理,現代數字化技術和計算機都離不開時頻技術和時頻測量【2】。
對于一般的周期信號而言,頻率/周期包含了該信號最基本的信息。所以, 頻率/周期測量模塊向整個系統提供信號測量基本判據。
時間和頻率測量與長度,質量,溫度等物理量的測量不同,時間和頻率測 量具有動態性質,即時間和頻率信號總在改變。用標準尺校準普通尺時,可以 把它們靠在一起作任意多次測量,從而得到較高的測量準確度。但在時刻和時 間間隔的測量中,時刻是始終在變化的,上一次和下一次所比較的時間問隔已 經是不同時刻的時間間隔‘1引。頻率信號的測量,也有類似的情況。所以在時頻 測量中,人們必須依靠時鐘信號源的穩定性,期望后一個周期是前一個周期的
16

電子科技大學碩士學位論文
準確復現。在時頻攫4量中,特別要重視穩定度及其他一些反映頻率和相位隨時簡 變化的技術指標。 2.2.2測量頻率的方法
作為對常用數據的測量,頻率測量的方法有很多種。
圖2—2頻率測量方法分類 根據圖2—2可知,頻率測量主要分為模擬法測頻和計數法測頻。模擬法又 包括直讀法和比較法。直讀法又稱利用無源網絡頻率特性測頻法,包含有電橋法
和諧振法㈣。
比較法是將被測頻率信號與已知頻率信號相比較,通過觀測比較結果獲得頻 率。
電容充放電法是~種綜合模擬和數字技術的方法,它利用電子電路控制電容 器充放電的次數,再用碰電式儀表測量充放電電流的大小,從而指示被測信號頻 率值。
電子計數法利用純數字技術來測量信號頻率,它根據頻率的定義進行測量。 它是用電子計數器顯示單位時間內通過被測信號的周期個數來實現頻率的測量。
以上方法中,諧振法,電橋法,差頻法,示波法等都是模擬式頻率測量的方 法,這些方法精度不高,再加上其所具有的一些特點,決定和其不可能應用于本 手持式示波表中。由于本設計中的示波表所有的數據處理單元均由數字電路來實 現,比較之下,電子計數法成為最理想的實現方案。
由于示波表信號測量的頻率范圍覆蓋10MHz'--O.1Hz,如果采用單一的測量 方案,必然導致對某一個頻率范圍內的信號測量具有很大的誤差。系統i911【量高頻 信號時直接用一個標準信號作為閘門對被測信號脈沖計數測頻率,測量低頻信號 時用被測信號作閘門信號測量另一標準脈沖信號的計數,這樣可以提高測量的準 確性。
17

電子科技大學碩士學位論文
2.2.3電子計數法測頻測周原理

電子計數法是一種簡單而易于實現的測量方法。它是在給定的閘門信號中 對被測信號進行計數,得到計數脈沖的個數,從而計算出待測信號的頻率或周 期12]。圖2—3所示為電子計數法的原理示意圖。

由于示波表信號測量的頻率范圍覆蓋10lVlHz.--O IHz,如果采用單一的測量 方案,必然導致對某一個頻率范圍內的信號測量具有很大的誤差。系統測量高 頻信號時直接用一個標準信號作為閘門對被測信號脈沖計數測頻率,測量低頻 信號時用被測信號作閘門信號測量另一標準脈沖信號的計數,這樣可以提高測 量的準確性。

溉鼙f搬.i巨===:=冪==;;:=:=;霉 枝滿健薅 i霾霞瓣門l孔弱曩.門

?==:==夏;i墨≮L
,撾門。n霸.蟊丌贍霸r|廣

圖2--3電子計數法原理示意圖

如圖所示,假設測量門限(閘門)時間為T,在此時間內計數器記得的被 測脈沖個數為n,則信號的頻率可由(2-7)式得出【2】:

正=手(2--7)

按照同樣的原理,將測量門限和被測信號對調一下位置就得到了周期的測

量方法了。假設被測信號的時間寬度為T。,用于測量的計數脈沖頻率為f'在

L通過的計數脈沖個數n,則信號的周期可由式(2--8)得出:
I 2號

‘2q’

從(2--7)、(2--8)式可以看出計數法測量信號頻率時信號頻率越高或

者測量門限時間越長,測量精度就越高。而在周期的測量中確正好相反,頻率

越低或者測量計數脈沖頻率越高,測量精度就越高。如果把兩者結合起來分別

對高頻和低頻信號使用的話,我們就可以在基本不變化測試基準的情況下r獲

得較高精度的測量結果。

從簡化設計的角度考慮,本設計采用固定的測量門限(用島=lOOHz信號 作為測量門限信號)和固定頻率的計數脈沖(f;t=10KHz)。我們選擇兩種方法 誤差相等點£=1I<I-Iz作為中介頻率。當輸入信號的頻率大于島時,采用測頻的 方法,當輸入信號的頻率小于島時,采用測周的方法。

電子科技大學碩士學位論文
2.3數字萬用表工作原理
模擬萬用表通過電阻分壓網絡實現電參數的測量。目前有許多數字萬用表 的專用芯片,這些芯片內部一般集成有A/D轉換器、LCD液晶顯示驅動器和測 量模式選擇開關等模塊。其外圍電路較簡單,常常由測量輸入電路、AC/DC變 換電路、電壓基準電路和蜂鳴器等組成。電壓、電容、電阻測量分別有一個外 部基準電壓,這個電壓經過一個齊納二極管穩壓后再經微調電阻調節到各自所 需的電壓值。芯片的電壓/電阻,電容/頻率端口可分別測量交流/直流電壓、電阻、 電容、頻率。
2.4液晶顯示基本原理
顯示器作為系統的輸出,在示波器中顯示器主要用來顯示待測信號的波形、 波形參數、測試系統設定的系統參數,以及用戶操作菜單,等等。
本文設計的示波表采用圖形點陣式液晶顯示器。采用“l”和…0’來代表
液晶上每一像點的亮和滅,那么液晶上每一點的亮和滅可以和數據存儲器RAM 中每個bit對應起來。液晶顯示器每8個像點占據RAM的一個字節,對于我們 所使用的320×240點陣的液晶來說,需要320×240/8=9600字節的存儲器來 存儲一屏的信息。圖形顯示首先要確定液晶屏上每像點的位置,然后根據像點 的位置尋找它對應的存儲單元的數據位,由于二者的一一對應關系,因此只要 改寫液晶屏映射的數據緩存區中相應單元數據位就可以控制液晶屏上某點的亮
和滅。
首先在液晶屏上建立坐標,將液晶左上角坐標定為(0,0),右下角定為 (319,239),那么可以根據坐標確定像點的位置,同時可以根據坐標計算該 像點對應的液晶顯示映射緩沖區中的數據單元和數據位。

電子科技大學碩士學位論文
第三章數字示波表系統設計
本設計采用嵌入式設計技術,把微控制器、A/D轉換器、LCD控制器等核 ,g,N件嵌入該系統。它是利用FPGA設計技術、LCD圖形顯示技術及數字信號 處理技術等綜合設計的嵌入式實時儀器系統。
本系統是實時信號處理系統,對于采集到的信號必須作出實時的處理和分
析。
3.1 DSP+ASIc結構
作為實時信號處理系統的應用,示波表系統的設計要求必須具有處理大數 據量的能力,以保證系統的實時性;其次對系統的體積、功耗、穩定性等也有 較嚴格的要求。實時信號處理系統是對運算速度要求高、運算種類多的綜合性 信息處理系統。系統設計在研究了常用的實時信號處理系統構成方案的特性后, 選用了DSP+FPGA處理機制,并在具體的應用中顯示出了其優越性。
隨著大規?删幊唐骷陌l展,采用DSP+ASIC結構的信號處理系統顯示 出了其優越性,正逐步得到重視。與通用集成電路相比,ASIC芯片具有體積 小、重量輕、功耗低、可靠性高等幾個方面的優勢,而且在大批量應用時,可 降低成本。
現場可編程門陣列(FPGA)是在專用ASIC的基礎上發展出來的,它克服 了專用ASIC不夠靈活的缺點。與其他中小規模集成電路相比,其優點主要在 于它有很強的靈活性,即其內部的具體邏輯功能可以根據需要配置,對電路的 修改和維護很方便。目前,FPGA的容量已經跨過了百萬門級,使得FPGA成 為解決系統級設計的重要選擇方案之一。
DSP+FPGA結構最大的特點是結構靈活,有較強的通用性,適于模塊化設 計,從而能夠提高算法效率;同時其開發周期較短,系統易于維護和擴展,適 合于實時信號處理。
實時信號處理系統中,低層的信號預處理算法處理的數據量大,對處理速 度的要求高,但運算結構相對比較簡單,適于用FPGA進行硬件實現,這樣能 同時兼顧速度及靈活性。高層處理算法的特點是所處理的數據量較低層算法少, 但算法的控制結構復雜,適于用運算速度高、尋址方式靈活、通信機制強大的 DSP芯片來實現。

電子科技大學碩士學位論文
3.2數字示波表的系統結構
1)信號處理流程 示波表的任務主要是接收通道采集的波形數據,經預處理、參數測量、編 碼和波形處理后,輸出結果到LCD顯示。根據示波表的功能要求,可以設計如 圖3—1所示的信號處理流程:
圖3—1信號處理流程
2)示坡表系統結構 我們利用DSP+FPGA結構來實現示波表系統,如圖3—2所示。這樣大大 簡化了系統,并且充分利用DsP與YPGA,可使數字示波表的功能得到充分的 體現。 整個系統包括信號輸入通道、數據采樣、數據處理及存儲、顯示控制、電 源供給等各部分。其中,數據采集和存儲、信號頻率測量以及LCD顯示控制等 部分,由于數據流量大、數據規則,采用FPGA進行純硬件實現:而數據處理、 波形顯示及人機界面等部分,由于數據處理復雜,要用到多種數據結構,其控 制也較復雜,我們用DSP編程來實現:而模擬通道控制則要求DSP和FPGA 協同實現。當然,示波表是個完整的智能化測量系統,它的功能必須要求軟硬 件的協同工作才能得以實現。 現場可編程門陣列邏輯器件FPGA具有現成的母片,可實現現場編程。使 用FPGA可使設計方便,利用它靈活、校驗快以及設計可隨意改變的特點,可 大大縮短研制時間。 MOTOROLA DSP56805芯片具有很強的微控制功能,擁有豐富的片內資 源、輸入輸出端口,并有很強的數字信號處理能力。利用它作為中央處理單元, 控制整個系統的運作,它同時完成數據處理的功能。

電子科技大學碩士學位論文
被珊信號.
圖3—2示渡表系統結構
電源模塊負責提供系統所需要的5V、3.3V、2 5V、22 5V電壓。 模擬通道主要完成被測信號的程控放大和衰減、交/直流耦合、信號平移等 預處理。使輸入信號適合A/D轉換的電氣性能。被測信號的放大/衰減倍數、交 /直流耦合方式由DSP根據系統要求進行數字控制。而被測信號平移和觸發電 平則由DSP控制DIA轉換器完成。 被測元件(電阻、二極管等元件)經過信號調理電路處理后,其信號送DSP 片內的A/D轉換器。根據A/D轉換的結果,分析被測元件的參數值。 被測信號經預處理后分兩路,一路送高速AfD轉換器,轉換后的數字量暫 存在FPGA內部塊RAM設計的FIFO中,供DSP讀取并處理。另一路經過整 形電路處理后,得到標準的矩形脈沖信號,并送FPGA中的測頻/測周電路構成 的頻率計,從而測量出輸入信號的頻率。 利用DSP56805的GPIO通用I/O端口作為鍵盤接El,實現掃描鍵盤,充分 利用了DSP內部系統資源。 微處理器DSP56805從FPGA的FIFO中取得數據并進行處理,獲得用戶 需要的顯示信息。同時,微處理器接收和正確分析用戶從鍵盤輸入的信息,并 由此控制其它部分協調工作。 可編程邏輯芯片XC2S50內部有4KB的雙口塊RAM,其中2KB的內部塊 RAM設計成顯示緩沖器,另外2KB的內部塊RAM設計為FIFO,作為A/D的 高速緩沖器。

電子科技大學硬士學位論文
由FPGA設計實現的液晶控審4器能夠直接驅動320×240點陣的單色圖形 液晶顯示屏。頻率計和系統的其他邏輯控制也由XC2S50實現。
DSP的顯示控制軟件負責將微處理器處理后的顯示數據映射到LCD顯示 緩沖區中,并在LCD上顯示出來,從而完成一次測量。 3.3系統選用的主要器件介紹
3.3.1處理器DSP56805
通常作為一個系統的中央處理器(CPU)可以采用單片機擔當,由單片機 來完成顯示控制、采集控劃和數據處理功能。但是單片機存在一些缺點,如工 作頻率低,指令執行速度慢、數字信號處理功能差等。
相比之下,DSP即數字信號微處理器,具有數據總線和程序總線分離的哈 佛結構及改進的哈佛結構,將程序空間與數據空間分開編址,這樣在DSP處理 數據空聞運算與數據傳輸的同時可以并行地從程序空間讀取下一條指令,這樣 讀程序和讀/寫數據可同時進行,大大提高指令的執行速度。
DSP在內核設計方面還有~個特點,是采用多重流水線結構。流水線結構 的層次深度可以從3級到6級。程序的執行過程大致可以分為讀指令、指令譯 碼、指令執行等幾個階段。DSP在第一個時鐘周期讀第一條指令;在第二個時 鐘中期內在譯碼第一條指令的同時讀入第二天指令;在第三個時鐘周期從阿執 行第一條指令,譯碼第二天指令,同時讀入第三條指令。這樣,雖然執行一臺 指令需要3個周期,可是由于采用了并行的流水線處理,看起來好像每條指令 都是在~個周期內完成的,這就是流水線技術。針對數字信號處理(Digkal Signal Processing)中需要太量乘法累加運算的特點,DSP大多配有獨立的乘法 器和加法器,大大加快了FFT的蝶形運算速度。DSP芯片專門用于完成各種實 時數字信息處理,它是在數字信號處理的各種理論和算法基礎上發展起來的。 當今世界上主要DSP芯片提供廠家有美國的德州儀器公司(Texas Instruments) 和Motorola公司等。
本系統采用Motorola公司的16位具有DSP內核的單片機DSP56805作為 核心處理器。它是Motorola公司生產的低端16位56800系列DSP產品之一。 說它是DSP,是因為它的內核的確是DSP;而說它是單片機是因為它具有單片 機的所有優點,片內集成了相當容量的ROM(Flash)、RAM以及豐富的//0模

電子科技大學碩士學位論文
塊,單芯片就能運行,加上應用程序就是一片片上系統(system on chip)f3】。 它的功能塊結構如圖3--1所示,它具有豐富的//O端口和片上資源:
圖3--3 DSP56805功能塊簡化圖
31.5KW程序Flash、0.5KW程序RAM;4KW數據Flash、2KW數據RAM; 2KWBoot Flash。兩個4通道12位的A/D;兩個6通道的PWM模塊;兩個4 相譯碼模塊;4個通用TIMER、2個SCI、1個SPI、兩個中斷輸入引腳、16個 通用I/O、CAN 2.0 AfB模塊、COP模塊、可編程PLL[4I。
Motorola對DSP56805提供了很好的開發資料:而DSP本身利用JTAG接 口,接受后臺的調試方式,即BDM(Back_groud Debug Model,可以通過PC機 的并行口與DSP的)'TAG接口相連。這種連接,幾乎不需要硬件支持,僅僅需 要1片75HC244完成對3V供電的DSP系統與5V供電的PC系統之間的電平 轉換,然后接到PC機的并口上,這就構成了~個最簡單的EVM(Evaluation
Module)pJ。
Motorola提供了基于C語言的開發工具CodeWarrior以及嵌入式軟件開發 包SDK等先進的開發工具。CodeWarrior是專門為Motorola的MCU與DSP產 品設計的交叉C編譯器。CodeWarrior還包括集成開發環境IDE、工程管理器 和匯編、鏈接軟件、全部基于軟件的DSP仿真工具、源碼級的調試工具Debug 等。SDK是Motorola為用戶提供的API(Application Program Interface).包括 lJO模塊的設備驅動程序庫、標準的DSP算法程序庫、DSP硬件支持包(board

電子科技大學砸士學位論文
support package),提供中斷管理、存儲管理等服務,可以做到軟硬件分離、 應用與驅動程序復用[311“】。
用戶在不太熟悉Motorola DSP時就可阻較快地上手,開發自己的應用程
序。
綜上所述,選用Motorola DSP來擔當示波表系統的中央處理器,采用 Codewarrior作為系統軟件的開發工具。
3.3.2 FPGA一一XC2S50
3.3.2.1可編程邏輯器件概述
當今社會是數字化的社會,是數字集成電路廣泛應用的社會。數字集成電 路本身在不斷地進行更新換代。它由早期的電子管、晶體管、小中規模集成電 路、發展到超大規模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的 專用集成電路。但是,隨著微電子技術的發展,設計與制造集成電路的任務己 不完全由半導體廠商來獨立承擔。系統設計師們更愿意自己設計專用集成電路 (AS/C)芯片,而且希望AsIc的設計周期盡可能短,最好是在實驗室里就能設 計出合適的ASIC芯片,并且立即投入實際應用之中,因而出現了現場可編程 邏輯器件(FPLD),其中應用最廣泛的當屬現場可編程門陣列(FPGA)和復雜可編 程邏輯器件(CPLD)。
FPGA(現場可編程門陣列)與CPLO(復雜可編程邏輯器件)都是可編程邏輯 器件,它們是在PAL、GALL等邏輯器件的基礎之上發展起來的。同以往的 PAL.GAL等相比較,FPGA/CPLD的規模比較大,它可以替代幾十甚至幾千 塊通用IC芯片。這樣的FPGA/CPLD實際上就是一個子系統部件。這種芯片 受到世界范圍內電子工程設計人員的廣泛關注和普遍歡迎。經過了十幾年的發 展,許多公司都開發出了多種可編程邏輯器件。比較典型的就是Xilinx公司的 FPGA器件系列和Altera公司的CPLD器件系列,它們開發較早,占用了較大 的PLD市場。通常來說,在歐洲舟Xilinx的人多,在B本和亞太地區甩ALTERA 的人多,在美國則是平分秋色。全球PLD/FPGA產品60%咀上是由Altera和 Xilinx提供的?梢灾vAltera和Xilinx共同決定了PLD技術的發展方向。當然 還有許多其它類型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等p J。
盡管FPG氣CPLD和其它類型PLD的結構各有其特點和長處,但概括起來, 它們是由三大部分組成的:
1)一個二維的邏輯塊陣列,構成了PLD器件的邏輯組成核心。

電子科技大學碩士學位論文
2)輸入/輸出塊。
3)連接邏輯塊的互連資源。連線資源:由各種長度的連線線段組成,其中 也有一些可編程的連接開關,它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之
間的連接n
對用戶而言,CPLD與FPGA的內部結構稍有不同,但用法一樣,所以多
數情況下,不加以區分。
FPGA/CPLD芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點之 外,還具有以下幾個優點:
1)隨著VLSI(Very Large Scale IC,超大規模集成電路)工藝的不斷提高 單一芯片內部可以容納上百萬個晶體管,FPGA/CPLD芯片的規模也越來越 大,其單片邏輯門數已達到上百萬門,它所能實現的功能也越來越強,同時也 可以實現系統集成。
2)FPGA/CPLD芯片在出廠之前都做過百分之百的測試,不需要設計人 員承擔投片風險和費用,設計人員只需在自己的實驗室里就可以通過相關的軟 硬件環境來完成芯片的最終功能設計。所以, FPGA/CPLD的資金投入小, 節省了許多潛在的花費。
3)用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同 軟件就可實現不同的功能。所以,用FPGA/PLD試制樣片,能以最快的速度 占領市場。FPGA/CPLD軟件包中有各種輸入工具和仿真工具,及版圖設計 工具和編程器等全線產品,電路設計人員在很短的時間內就可完成電路的輸入、 編譯、優化、仿真,直至最后芯片的制作。當電路有少量改動時,更能顯示出 FPGA/CPLD的優勢。電路設計人員使用FPGA/CPLD進行電路設計時,不 需要具備專門的tc(集成電路)深層次的知識, FPGA/CPLD軟件易學易用, 可以使設計人員更能集中精力進行電路設計,快速將產品推向市場。
3.3.2.2 XC2S50器件特性及配置方式
Xilinx的SPARTAN II系列器件是2 5V SRAM工藝FPGA,屬于SPARTAN
的升級產品。SPARTANII系列是高性能的FPGA,系統邏輯門從15,000到 200,000不等,系統的工作頻率可高達200MHz。SPARTANII系列是采用的基于 VIRTEX的流線結構。值得一提的是,這種系列FPGA具有片上塊RAM和分 散RAM,16種可以選擇的I/O電平標準和4個全數字時鐘延時環DLLs。另外,

電子科蕷太學碩士學位論文
它具有無限次的重復可編程的特點和特別低的功耗。以上特點給用戶電路設計 帶來很大的靈活性【6Jo
XC2S50器件具有50000典型門、768Slices、8個獨立的RAM塊(每塊 RAM的容量是4K bits)。本設計使用采用PQ208貼片封裝的XC2S50器件, 具有147條可用I/O引腳f6]。
xilinx公司的FPGA器件配置方式主要由主動方式和被動方式兩類。主動 方式下由FPGA器件引導配置操作,控制外部存儲器件和初始化過程,配置時 鐘由FPGA內部振蕩器提供,頻率一般為2-10MHz;被動配置方式下FPGA器 件作為從部件工作,由外部控制器弓i導其配置[6l。按照配置數據的串行和共行 狀態,配置方式還可以分為串行配置和并彳亍配置。另外,還可以根據JTAG標 準利用邊界掃描電路對FPGA進行配置。主動配置方式主要使用串行或并行 EPROM‘作為配置數據的存儲介質,FPGA為EPROM提供控制信號,讀取 EPRoM數據,但由于EPROM為只讀設備要FPGA的編程內容就需要EPROM, 對于系統功能的重構來說,此種配置方式顯得不夠靈活。被動配置方式可以通 過智能主機對FPGA進行配置,配置數據可以來源于海量存儲設備,甚至可來 源于磁盤文件。用戶可隨時通過軟件改變FPGA的配置內容,從而重構電路功 能。這對于系統的調試階段尤其有用,另外,在系統重構技術也正是采用FPGA 的被動配置方式來實現數字電路系統功能的改變,從而實現多種功能硬件設備
的一體化。
3.3.3 A/D器件TL05540
作為模擬系統與數字系統之間的橋梁,模擬/數字轉換器件A/D轉換器是示 波器系統的關鍵部件。在系統設計過程中必須根據系統實現目標來選擇合適的 A/D器件參數,從而確定具體使用的器件。一般而言,在A/D器件的選擇過程 中主要需要考慮以下參數:
分辨率:它相應于最低二進制位(LSB)的模擬量。它規定了AD轉換器 能夠區分的模擬量的最小變化值。因為能夠滿足分辨率的模擬量的值取決于二 進制位數,所以通常采用AD轉換位數表示分辨率,比如:4位、8位、12位
等。
量化誤差:AD轉換器是將連續的模擬量轉換成離散的數字量。對一定范 圍內的連續變化的模擬量只能反映成同一個數字量。所以存在±1/2LSB的量化 誤差。這個誤差是量化過程中不可避免的。
27

電子科技大學碩士學位論文
精度:除了量化誤差,還有其他的因素,如非線性引起的誤差。在手冊中, 對這種附加誤差的總和,成為不可調誤差,實際上就是AD轉換器調整到最精 確的時候還存在的誤差。精度指的是量化誤差和附加誤差之和。
轉換時間:AD轉換時間是指從發出轉換啟動命令開始到轉換結束獲得整 個數字信號的過程所需要的時間。
前文已經提到,本設計示波表主要測量10MI-Iz以下模擬信號,由于最終 結果送到320*240象素點的LCD液晶顯示器,有8位數據的精度以足阻滿足要 求。根據這些要求,設計選擇TI公司8位40MSPS高速AID轉換器TLC5540 為系統提供模擬/數字轉換。TLC5540主要性能指標如下[71:
1)精度:8 bits
2)最高采樣速率:40MsPS 3)低功耗:典型值85row
4)輸入模擬信號帶寬:典型值>75MHz 5)5v單電源供電
9)最小轉換速率:10KHz 可以看出,TCL5540可以有效的滿足系統的要求。 3.3.4 LCD顯示器
根據顯示區大小的要求,本設計選用Microtips Technology Inc.公司 MTG.F32240IffFWNSEB.01型LCD液晶顯示器。它是FSTN Positive類、320 X240像素、圖形顯示方式的液晶顯示器件。它帶有行列驅動電路以及EL背光 電路。表3—1給出了液晶顯示器的引腳和功能說明。
該類液晶顯示器的接口時序主要反映在驅動信號CLI、CL2、FRM和數據 DO。D3之間如下圖所示的時序配合上。各驅動信號參考工作頻率:CL2為 1.28MHz,CLl為16KHz,FRM為66Hz。其詳細的驅動時序為發出80個段移 位脈沖CL2后(即掃描一行結束),發出~個行頻脈沖CLl,當發出240個 CLl脈沖后發出幀開始信號FRM,標志整屏顯示結束I”。以上過程不斷重復, 即可完成液晶顯示器的動態顯示。

電子科技大學碩士學位論文

表3~l LCD;f腳和功能說明

N0

名稱

功能描述



CL2

段移位時鐘



CLl

行頻信號



FRM

幀起始信號



NC



D3

空腳 數據位



D2



D1

數據位 數據鉭



D0

數據位





液晶驅動電壓,+ISV-+24V

113

VDD

工作電厙,彤.3V

1l

VSS

接地端

12

EL

背光使能端

13

VELG

背光電源地

1.4

礦量£+

背光電源電壓。+3.3v

豳3—4 LCD時序

電子科技大學碩士學位論文
3.4 DSP和FpGA間的通信機制
在本系統中,DSP是控制中心,它負責接收系統其他功能模塊送來的信息, 經過分析處理后對其他模塊發出相應的控制命令或數據,進而達到協調控制整 個系統的目的。同時,DSP又是數據處理中心,它負責處理系統采集到的數據, 然后根據要求輸出相應的信息。而在本系統中很多功能模塊都在FPGA中實現, 比如A/D采樣頻率控制、采樣數據緩存(采用FWO存儲器)、信號頻率/周期 測量、LCD顯示器驅動、顯示數據緩存等,還有一些其他的控制功能。所以, DSP和FPGA之間的通信會很頻繁。
為了確保DSP和FPGA中不同功能單元間的通信過程正確進行,為了使系 統正確且穩定的工作,必須在它們之間定義詳細的通信協議,從而確保數據及 控制信號在兩者之間正常傳遞。
本系統給FPGA中不同的功能單元分配不同的擴展端口,即給FPGA中各 個功能單元分配不同的數據端口,而這些端口映射到DSP的外部數據存儲器空 間。DSP和FPGA之間定義好通信協議,把數據或控制信息統一定義為數據格 式,那么,DSP通過對數據存儲空間的訪問就基本實現了對FPGA中各功能單 元的控制。FPGA根據DSP地址總線和讀寫信號為DSP選擇訪問或控制的功能 單元,從而完成通信過程。而后,FPGA各功能單元根據通信數據的內容自行 譯碼產生相應的控制信號。
為了FPGA內部的各個功能模塊能夠正常的工作,FPGA內部需要具備時 鐘產生單元來為各個模塊提供所需的工作時鐘。另外,FPGA設計中還設置總 線仲裁單元來為各功能單元提供外部接口。
本系統把DSP數據空間的0xFFOO~OxFF7F這128個數據單元分配給外部 擴展端口使用,分別用于FPGA中各個功能單元。DSP擴展端口定義如表3—2
所示。
另外,由于液晶控制器在FPGA中實現,同時考慮到FPGA中豐富的雙口 塊RAM資源,系統將2KB的LCD顯示緩存在FPAG中實現。這2KB(即1KW) 數據空間映射到DSP的F400H~F700H這1KW空間。

電子科技大學碩士學位論文
表3--2 DSP56805端口擴展定義

端口地址 讀/寫操作

端口功能定義

FPGA/P["部器件

FF00H



由觸發延遲決定的FIFO數據鎖 FPGA內部數據寄存器

存提前量(低8位)

FF01H



FF02H



觸發邊沿選擇(低l位) LCD背光控制(低1位)

FPGA內部譯碼信號 輸出到外部器件

FF03H F1珊4H
FF20H FF21H FF30H FF40H



觸發中斷使能(低1位)



采樣時鐘選擇(低6位)

FPGA內部數據選擇

高2位:A/D采樣時鐘選擇

器地址

低4位:FIFO存數時鐘選擇



頻率侗期低16位



頻率,周期低8位

FPGA內部結果由數 據線送DSP



讀FIFO數據(高三位為標志位,

低8位數據)



讀顯示緩沖區幀標志位(低3位)

3.5 DSP56805主要資源分配

3.5.1 DSP56805存儲空閶分配
MOTOROLADSP56805芯片作為系統控制中心及數據處理中心。整個系統 的運轉受到它的控制。DSP56805的尋址空間分為程序空間和數據空間,各有 64KW,字長16位【4】。這些存儲空間又分為片外存儲器和可擴展的片外存儲空
間。
程序空間又分為Flash和RAM以及2KB Boot(啟動)Flash。128個中斷 向量占據程序空間的低端,從¥o到¥7F[4l。其他Flash空間可以用來存放用戶程 序。Boot Flash可以用于加電復位時的系統初始化和系統復位,本系統采用此 種用法。
數據空間分為數據Flash和數據RAM。在本系統中,數據Flash用來存放 漢字和字符的字模點陣數據,系統設定的測試條件,以及用戶存儲的波形或者

電子科教大學碩士學位論文
測試參數值。本系統擴展片外的數據存儲空間,采用片外數據空間和片內數據 空間同時使用的模式。下面重點介紹數據空間的分配,如表3—3所示。
表3--3 DSP56805數據存儲空間劃分

起始地址
0000H

結束地址 容量

07FFH

2KW

用途
DSP內部刪

0800H

0BFFH

lKW

保留

0C00H

OFFF7H

lKW

DSP片內外設端口映射

1000H

1FFFH

4KW

DSP內部FLASH,一部分用來存放漢字字模信息

2000H

27FF

2K、V

采樣結果存儲區,存放從FIFO讀入的數據

2800H

2F1下H

2l(W

波形數據處理緩存區

3000H

30FFH

250W

重建波形存儲區,存放應顯示的250點波形數據

3100H

DFFFH 約43KW

DSP數據RAM存儲區

E000H F400H

F3FFH
F7嘲

5KW 1KW

LCD顯示映射緩沖區 LCD顯示緩存(FPGA實現)

F800H

FEFFH

l 75KW

用戶保留

FF00H

FF7FH

128W

外部端口擴展

FF80H

Fn下H

128W

保留

其中外部端口擴展的定義可參見3.4節的表3—2。 3.5.2 DSP56805外部中斷的分配

DSP56805有兩個外部中斷,外部中斷A和B,這兩個中斷都是可以屏蔽 的,他們也允許中斷嵌套,使用起來非常方便。
由于示波表每次觸發都將啟動一次數據采集的更新,要求DSP必須立即對 觸發作出啊應,并對數據采集進行控制。在本系統中,把外部中斷A用于響應 觸發信號,在本文中稱為觸發中斷。
另外,由于FPGA中顯示緩存區的容量不足以存放滿屏顯示數據,滿屏的 數據必須分時傳送。本系統中把LCD滿屏數據分為5幀,DSP按5次分別傳

電子科技太學碩士學位論文
送5幀數據給FPGA中的顯示緩存區。FPGA在顯示緩存區即將被LCD控制器 讀空之前必須通知DSP對顯示緩存進行刷新。由于LCD控制器按照固定的時 序讀取顯示緩存區的數據,那么就要求DSP按固定的周期來傳送下一幀數據來 更新顯示緩存區,并且需要DSP立即響應FPGA的送數通知。采用中斷來實現 這類通信最為恰當,所以,本系統把DSP的外部中斷B分配給FPGA的顯示 刷新信號。中斷B在本文中常稱為顯示中斷,它是一個定時中斷。

電子科技大學碩士學位論文
第四章示波表各模塊的實現
本章將按示波表信號處理流程和系統結構中各功能模塊的劃分方法,依次 論述輸入通道、數據采集和存儲、數據處理和波形顯示、人機接口一鍵盤和LCD 顯示、頻率和周期測量等各個部分。在論述各個部分時,重點講述各模塊的實 現方案,處理器DSP56805對各模塊的控制,盼及DSP和各模塊的通信機制。
4.1輸^通道
4.1.1輸入通道的控制 由于示波表允許的輸入信號幅度和頻率范圍都很廣,必須經過輸入通道對
信號進行適當的變換后才能送給A/D采樣。輸入通道由信號通道與測量通道兩 部分組成。信號通道由輸入偶合電路、衰減器、輸入保護、跟隨器、及控制電 路組成,完成對輸入信號的輸入偶合方式、信號程控衰減、程控放大、輸入信 號電平移位、保護控制及阻抗變換等功能。測量通道由測量驅動電路和標準參 考電路及測量保護電路構成,完成對電阻、二極管等元件參數的測量。這里主 要介紹信號通道,如圖4—1所示。

圖4—1輸入通道原理圖
圖4-1中除了輸入通道控制部分,還包括觸發調節控制部分和Y移位調節 控制部分。其中觸發調節控制部分括觸發耦合方式控制和觸發電平調節控制a 處理器通過通道控制字寄存器來程控輸入耦合方式、信號放大倍數、信號衰減 倍數、觸發耦合方式,它通過兩路串行D/A分別程控調節觸發電平和Y移位電
平。

電子科技丈學碩士學位論文
本設計利用通用的觸發器74HC574作為通道控制寄存器,巧妙的實現了通 道控制部分電路。74HC574有8個同步D觸發器,設計中將每個D觸發器的 輸出與下級D觸發器的輸入級連。如此,將8個D觸發器擴展成為一個8b磚 的移位積存器了。DSP通過兩個GPIO端口為移位寄存器提供時鐘和數據,發 送8bits的控制字并由D觸發器鎖存下來。然后,通過通道控制字控制衰減控 制電路、放大控制電路以及耦合方式控制電路中的各個模擬開關或繼電器,從 而達到對輸入信號的通道控制。
4.1.2示波表幅基的調整
本系統幅基的范圍從5mV/div~5V/div,按l一2—5分級方式~共有lO個 等級。對幅基的調節提供了手動和自動兩種方式。系統鍵盤上專門分配兩個按 鍵給幅基調節,~個增加幅基,一個減少幅基。用戶可以根據需要手動的調節 這兩個幅基按鍵,阻便在LCD上顯示合適幅度的信號波形。用戶也可通過按下 AUTOSET按鍵讓系統自動的搜索臺適的顯示幅基,以便信號波形在LCD波形 顯示區里幅度方向顯示2~6格。系統對幅基調節的同時,根據當前幅基需要相 應地調節信號的衰減放大倍數。幅基和衰減放大倍數是~一對應的,最大幅基 時輸入通道具有最大衰減,最小幅基對通道具有最大放大。處理器根據二者的 關系來調整通道控制寄存器值,由此程控的調整衰減放大倍數,以滿足系統的
要求。
上述系統自動搜索幅基的過程稱之為自適應幅度控制。它的作用主要體現 在兩個方面:
1)在用示波表進行信號測試時,不論進入測試表筆的信號幅度和頻率如何, 只要是在測試指標允許范圍內,示波表都應在LCD屏上以最佳的顯示范圍,清 楚地顯示所測信號的波形。
2)A/D轉換器對輸入信號的幅度和頻率也是有要求的,當信號幅度很小, 接近其最小量化刻度時(LSB),轉換誤差會很大,甚至無法轉換:當信號幅度 很大時,超過A/D轉換器允許的最大輸入幅度時,會因為限幅而失真,甚至于 燒毀器件。因此,在將信號送入A/D轉換器前,必須對信號進行處理,將信號 幅度調節到適于A,D轉換的最佳幅度。
在本系統中它的自動調節幅基的實現過程如下:
由于輸入信號的幅度范圍可以很大,因此,為了防止對電路中器件造成毀 壞,幅基由5Wdiv開始,這樣輸入通道可以最大倍數的衰減信號。根據A/D

電子科技大學碩士學位論文
采集到的數據判定波形幅度,如果波形顯示的幅度位于2~6格內,那么系統就 選定當前幅基,否則把幅基逐次調低,然后判斷,直到找到合適的幅基為止。 如果找不到合適的,系統最后把幅基停在最小幅基5mWdiv處。
4.2數據采集和存儲

4.2.1 時基調整和采樣速率

由2 1 3節可知,數字示波表時基的調節是通過采樣速率的變化來實現的。 那么,由式(1一1),根據示波表的技術指標中時基的變化范圍50nsddiv~ 10s/div,可以推算出示波器時基和采樣速率的關系如表4—1所示。

本系統LCD屏上波形顯示區為250X200點陣,水平方向分為10大格,每 格顯示25個采樣點。由于本系統中存儲深度為2KJ3,用于顯示一屏的波形, 那么N設定為200,LCD屏上水平方向每大格對應的取樣點數是200,此時FIFO 中數據每隔8點取一點用于顯示。這樣如下好處:可以充分利用存儲器的2KB 深度。比如,當鎖住波形,即示波表處于STOP狀態時,進一步調高時基來展 開波形時,可以利用存儲的數據,在存儲的數據中每隔4點取一個,或進一步 每隔2點取出一個,直到需要插值處理為止。

水平掃描時基(/div) 50ns(插值) 01 u s(插值) 0 2 p s(插值) 0 5#s(插值) 1 p s(插值) 2 u s(插值)
5“8 10Ⅱs 20 u s 50p s 0 1mg 0 20tts 0.5 ras

表4—1水平掃描時基與采樣速率

系統的采樣率(S/s) 40M(20點)

水平掃描時基(肺v)
1ms

40M(40點) 40M(80點) 40M(2,30點> 40M(400點) 40M(800點)
40M 20M 10M 4M 2M 1M

2ms 5ms lOms 20ms 50ms 0 1s 0.2s 0 5s
ls 2s 5s

nOOk

10s

系統的采樣率(s,s)
200k 100k 40k 20k 10k
4k 2k 1k 400 200 100 40 20

電子科技大學碩士學位論文
上表中“插值”是指系統設定在當前時基以及由當前時基決定的系統采樣 率時,如果要恢復信號波形,并顯示在LCD上,就需要在采集獲得的數據基礎 上進行插值。表中的系統采樣速率是示波表在測量時,根據當前狀態下示波表 設定的水平掃描時基來程控調節的。上表中系統采樣速率等于FIFO的寫入速 率,它不同與AfD采樣率,它是通過處理器改變FIFO存儲器的寫入時鐘來實 現的。在這里有兩種情況需要說明:
1)自動設定(AUTOSET)功能
系統通過對采集到的輸入信號進行分析,然后自動調節示波表水平掃描時 基、垂直掃描幅基等等系統測量參數,以便系統更好的捕獲信號參數,更好的 恢復和顯示信號波形。處理器先從測頻測周模塊獲得輸入信號的頻率信息,通 過輸入信號的頻率計算出當前信號頻率下示波表適當的掃描時基,設定示波表 在該時基下測量,然后系統再根據設定的水平掃描時基自動調節FIFO存儲速 率(即寫入速率)和A/D采樣速率,此后系統就工作在新的時基下了。根據輸 入信號頻率來自動調節示波表的掃描時基遵循的原則是:存儲器中采集到并用 于顯示的信號波形數據要便于用戶完整的觀測。在本系統中為了滿足這個原則, 要求在LCD屏上顯示的周期信號的波形達到2~6個周期。下表是輸入信號頻 率和系統水平掃描時基之間的關系列表。
表4—2輸入信號頻率和時基關系

輸^信號頻率(}k) 4M-10M 2M叫M lM一2M 400k-1M
200k_400k 100k一200k
40k.10啦
20k-40k 10k-20k

水平掃描時基(/div’ 50ns(插值) 0l u s(插值) 0,2p s(插值) 0.5“s(插值) 1 u s(插值) 2u s(插值)
5u s 10 9-s 20 u s

輸入信號頻率(№)
4k,10k 2k_4k lk-2k 400—1000 200-400 100-200
4肛100
20"40
10枷

水平掃描時基(靦v)
50 u s 0 l吣 0.20ms
0 5毗

1毗
2ms 5=s toms
20ms

從表中可以看出,用AUTOSET自動對系統的水平掃描時基的調節范圍是 50ns/div~20ms/div,信號頻率從10Hz~10MHz。當時基設定在50ms/div阱上 時。示波表進入ROLL滾動顯示模式。

電子科技大學頊士學位論文
2)用戶手動調節時基
LCD屏上會顯示當前的掃描時基,用戶操作鍵盤中分配了兩個專門用于對 時基實行增減操作的按鍵,用戶通過這兩個鍵可以任意的調節系統的水平掃描 時基。當然,系統在重新設定系統的水平掃描時基的同時會對FⅢo的存儲速 率(即寫入速率)和A/D采樣速率作相應的調整。
4.2.2采樣速率控制的實現
模擬輸入信號經過信號調理以后送給AD進行AdD變換,A/D轉換后的數 據送給FIFO存儲,系統根據需要讀。疲桑疲现械臄祿M行處理。對系統采樣速 率的控制可以通過控制AdD采樣時鐘或者FIFO存儲速率來實現。
4.2.2.1 A/D采樣時鐘的控制
由表4一l可見,采樣速率的控制檔級多達18級,最低低于IKHz,而本 系統采用的AdD器件TLC5540最小轉換速率是10KHz,所以通過控制它的采 樣時鐘來控制系統的采樣速率是不可能實現的。
但是,經過分析TLC5540在不同采樣時鐘下的信噪比特性,可以發現 TLC5540在相對較低的采樣時鐘頻率時具有較高的信噪比和較多的有效數據 位,所以采用分級時鐘控制能獲得較好的信噪比。所以,可以在TLC5540的典 型工作時鐘5MHz~40MI-Iz范圍內程控地調節AfD的工作時鐘,以充分發揮 AdD器件的工作特性,使其盡可能的為后繼模塊提供具有較高信號,噪音比的數 據。AdD采樣時鐘共分四級:40MHz、20MI-Iz、10MHz、5Mt'Iz,通過FPGA
中的AD采樣頻率控制模塊調節AdD采樣時鐘頻率,如圖4—2所示。
處理器DSP56805給AD采樣頻率控制模塊分配了控制端口0xFF04,它鎖 存DSP根據系統設定的時基而發來的AdD采樣時鐘控制字,采樣頻率控制模 塊根據控制字選擇輸出AdD的采樣時鐘頻率,如表4—3所示。

電子科技太學碩士學位論文

A,I)CLK

圖4—2 A/D采樣時鐘控制

表4—3時基、A/D采樣頻率、頻率選擇控制字


l水平掃描時基范圍 A/D采樣頻率 頻率選擇控制端口0xFF04值



l 50as~Stts
l 10us

f 20us~0lnls



>0 lms

40MHz 20MHZ lOM}王z 5MHZ

00

;

01



10



lI



4.2.2.2 FtF0寫入速率的控制

多達20級的系統采樣速率控制難以通過調節A/D采樣時鐘來實現。本系 統中把采樣速率的調控交給FIFO采樣控制器來實現。FIFO采樣控制器在FPGA 中實現。

FIFO采樣控制器控制FIFO存儲器的數據寫入速率,從而對來自A/D轉換 后的數據進行二次采集。由于用于數據處理的數據來源于FIFO存儲器,所以 FIFO存儲速率最終決定了輸入信號的采樣速率。由于FIFO的寫入速率幾乎不 受限制,那么系統的采樣速率通過FIFO寫入頻率來實現,這樣就可以達到不 同時基對它的要求,從而在FIFO中采集到當前時基設置下的有效數據。

FIFO采樣控制器由時鐘發生器,控制字鎖存器以及輸出時鐘選擇器構成, 實現框圖如圖4—3所示。為了處理器能更有效的利用數據,FIFO的存儲時鐘 設計必須滿足示波器時基變換的規范,即時鐘級間滿足l、2、5的分頻關系, 需要產生多達20個時鐘輸出。

電子科技太學碩士學位論文

圉4—3 FIFO采樣控制器
DSP根據示波表設定的水平掃描時基,選擇當前所需要的FIFO存儲速率, 將相應的控制字寫入采樣控制字鎖存器(被分配為內存映射端口OxFFl0),輸 出時鐘選擇器根據輸入的控制字輸出相應的時鐘信號到FIFO的寫入時鐘端, 實現對FrFO存儲速率的控制。時基、控制字值、存儲速率三者關系如表4—4
所示。

表4—4時基、FIFO采樣控制端口值、FIFO存儲時鐘關系

水平掃描時基
(,div)

FIFO采樣控 制寄存囂 0r,Ffl0值

FIFO存儲時鐘
(}k)

水平掃描 時基(tdiv)

FIFO采樣控制 寄存器OxFFIO 值

FIFO存 儲時鐘
(I-k)

50ns(插值) 0 lus(插值)

ox00 40M(20點)

lms

0x00 40M(40點)

2ms

Ox07 0x08

200k 100l(

O 2 gt s(插值)

0x00 40M(80點)

5ms

Ox09

40k

0.5 u s(插值) 1 H s(插值)

0x00 0x00

40M(200點) 40M(400點)

10m
20ms

0xoa Oxob

20k 10k

2 u s(插值)

0x00 40M(800點)

50ms

0xoc

4k

5”s

Ox00

40M

0.Is

Oxod

2k

10p S

0xol

20M

0 2s

0xoe

lk

2011 s

Ox02

10M

0 5s

0xof

400

50扯s

0x03

4M

ls

OxlO

200

O 1ms

0x04

2M

28

Oxll

100

0 20ms

0x05

lM

5s

0x12

40

0 5ms

0x06

400k

los

Oxl3

20

40

電子科技大學碩士學位論文
4.2.3 FIF0存儲器的設計實現
FIFO存儲器是~個有兩個端口(輸入口和輸出口),并按先進先出的順序 來存放數據的存儲器,也就是寫入到FIFO輸入口的第一個字將是可以在輸出 口被讀出的第一個字,接著便是第二個字等等。輸入口和輸出口的工作彼此是 獨立的。FIFO存儲器常用在高速數據采集和低速的數據處理之間,起數據緩沖
器的作用。
4.2,3.1 Fl FO存儲器的設計實現 在本系統中F砰O用來存放高速AiD采集的輸入模擬信號的波形數據,系
統根據需要選。疲桑疲现械臄祿M行處理,以便更有效地恢復波形和計算波形 參數。
FIFO存儲器~般有如下三種實現方案:
1)通用FIFO集成電路 這種方案實現的FIFO使用不靈活,不能滿足示波表對FIFO的特殊要求。 而且增加器件數量,會增大系統布線難度,會增大系統體積。
2)采用通用的存儲器件RAM擴展成FIFO使用
由于通用RAM多數都是單端口器件,實現雙端口異步讀寫FIFO難度 較大。 3)采用FPGA內部雙端口塊RAM資源設計FIFO
、
由于系統選用的FPGA XC2S50內部有4KB的雙口RAM以及其他大量的 可編程資源,可以靈活的設計FIFO,以便達到示波表的特殊要求。此外,FPGA 設計靈活,易于修改,將系統許多功能集成在單片以內,可以降低系統的體積、 功耗、布線難度以及器件成本。所以,本系統采用FPGA來實現FIFO。
但是,該方案受到目標芯片資源的限制,為系統升級成為深存儲數字示波 器設置了瓶頸。不過,由于本設計側重于示波表的便攜性能,對存儲深度要求 不高,所以這種方案適合本系統的設計。
為了數字示波表采集到的波形數據始終是最新的,這就要求FIFO存儲器 既能工作在觸發模式下,又能工作在循環采樣模式下。當系統沒有檢測到觸發 信號時,FIFO工作在循環采樣模式下,它不停地循環采樣,數據從FIFO第一 單元開始寫入,直到寫到最后單元,下一個數據又從第~單元開始,循環往返 地執行寫操作,如圖4—4中環形FIFO所示。當系統檢測到觸發信號時,TIFO
4l

電子科技太學碩士學位論文
工作在觸發模式下,它將觸發時刻采集到的數據點作為觸發點,根據觸發延遲量 鎖定讀FIFO的起始單元,將HFO讀指針移動到讀起始單元,FIFO寫指針不變, 數據繼續寫入FIFO中,直到FIFO寫滿,FIFO寫滿后就不能再往里寫入,直到 FIFO中數據被讀空后才再次啟動寫操作,此后FIFO進入循環寫模式,直到下一 次觸發被檢測到。
這樣的要求就使得本設計中的FIFO需要同時具有常見的兩種FIFO結構, 即桶型FIFO結構和環型FIFO結構。這兩種FIFO結構的工作模式如圖4—4所 示。

鬻糟豺
國一贛撞針 ÷專 黼

拜薏瞬rF0孵梅

圖4—4 FIFO的工作模式
桶型HFO的讀寫指針受到FIFO存儲深度的限制,當FIFO寫滿時,FIFO 停止寫數據的操作,直到讀指針指到FIFO底部即將把FIFO讀空時,讀寫指針 復位到FIFO頂部開始新的一輪數據采集。環型FIFO的讀寫操作不受FIFO存儲 深度的影響,寫端口循環的將數據寫入存儲區的各個單元,同樣讀端口也只是循 環的將連續單元的數據讀出,FIFO的空、滿標志位由讀寫指針的相對位置來產 生。不難看出,FIFO工作在觸發模式時,以桶型結構工作,而工作在循環采樣 模式下時,以環型FIFO結構工作。
考慮到循環采樣模式讀寫端口的控制相對簡單,而每次觸發模式的開始和結 束均需要有較復雜的邏輯控制,系統將環型結構設計為FIFO工作的常態,每次 觸發模式的數據采集由DSP發起,FIFO控制器判斷出一次數據采集結束后自動 將FIFO回復到環型結構下工作。在此,FIFO控制器通過對雙端口塊RAM讀或 寫端口的開關來控制FIFO的工作進程。FIFO控制器對FIFO讀寫端口控制的狀 態機如圖4—5所示。表4—5、4—6描述了FIFO控制器狀態機各狀態的含義。

42

電子科技大學碩士學位論文

r伊匹霹齲口被器執
圖4—5 F西O讀寫控制狀態機

表4—5 FIFO寫端口狀態描述

狀態名稱

狀態描述

循環寫數

FIFO默認的工作狀態,在該狀態下FIFO寫端口使能信號WEN常開, 采樣數據連續寫入FIFO連續的存儲單元。當DSP響應觸發中斷后退出該 狀態(DsP向FF00單元寫入觸發提前量)。

鎖存當前 寫指針

DSP地址總線FF00有效后,系統立即進入該狀態,寫端口控制器鎖存 當前寫指針并根據觸發提前量計算寫指針的停止位置,其后,系統進入連 續寫數狀態。

連續寫入

此狀態中FIFO連續的將A/D采樣數據寫入FIFO存儲單元,直到寫指

數據

針到達前一狀態計算所得的寫指針停止位置,系統進入下一狀態。

等待

當FIFO中寫滿2KB數據后,寫指針停留在結束位置,寫使能WEN關 閉,直到讀端口將FIFO讀空,系統自動進入循環寫數狀態。

電子科技大學碩士學位論文

表4—6 FIFO讀端口狀態描述

狀態名稱

狀態描述

循環寫數

F匹O默認的工作狀態,與寫端口循環寫數狀態相對應,在該狀態下 FIFO寫端口使能信號WEN常開,讀端口也常開。DSP可隨時從FIFO 中讀取數據。當DSP響應觸發中斷后退出該狀態(DSP向OxFF00單元 寫入觸發提前量)。

計算讀數

該狀態下,控制器根據DSP送來的觸發提前量和當前寫指針計算讀

起始點

數起始點。

等待

為了保證控制器得到正確且穩定的指針,并避免前一次結束指針對 本次操作的影響,系統等待4個系統時鐘。

鑰始化讀指針

當系統計算的讀指針起始點穩定后,系統初始化讀指針。

DSP讀數

系統等待FIFO寫滿后,就可以連續的從FIFO取走1K*16bits數據,



直到DSP將FIFO讀空后,系統自動回復到循環寫數狀態。

4.2.3.2 DSP對FI FO讀寫操作的控制
在系統沒有檢測到觸發信號時,FIFO工作在循環模式,采集的數據循環寫 入FIFO中。一旦,系統有觸發信號產生,系統就產生觸發中斷信號并送到 DSP56805的外部中斷B引腳,DSP響應該中斷,在中斷服務程序里,根據系 統當前設定的水平掃描時基和觸發延遲量可以計算出觸發提前量,DSP向 0xFF00端口單元寫入觸發提前量。在觸發事件發生時FIFO采集到的數據單元 被設定為觸發點數據單元。FIFO控制器接收到觸發提前量后就鎖定該次觸發下 應該讀。疲桑疲现袛祿钠鹗键c,FIFO寫操作繼續,直到寫到之前鎖定的起始 點處時FIFO寫操作停止,參看圖4—6。在這期間,觸發中斷被屏蔽掉。等到 FIFO中數據被讀空后,FIFO重新進入循環寫模式,循環寫操作到達前次觸發 的觸發點數據單元時,允許系統打開被屏蔽的觸發中斷,可以響應下一次觸發。
通過如上的控制過程,系統保證了每次觸發時獲得的數據都是最新采集的 數據。同時,系統可以得到觸發點前后的數據,以便恢復和分析觸發點前后信 號的波形,這一點是模擬示波器不能做到得。
示波表通過以上的機制來實現預觸發的功能,讓用戶可以得到觸發點前和
后的波形。
用戶可以通過調節觸發延遲量來靈活的調節觸發點前和后顯示的波形比 例,本系統觸發延遲量的調節范圍是10%~90%。觸發提前量與觸發延遲量直

電子科技大學碩士學位論文

接相關,成近似的比例關系。觸發提前量是觸發延遲量在FIFO存儲器中的反映。 觸發提前量Tb定義為觸發延遲量Td對應的LCD波形時間寬度內FIFO采集到 的數據量。參看4.3.3節,系統在設定時基為不需插值的情況時,由于FIFO采 集的數據按照每8點抽取一點的規則用于LCD波形顯示,那么

"Fb=Td X8

(4—1)

當然計算觸發提前量時還需要考慮觸發中斷響應延遲。即,從產生觸發信號 到DSP響應觸發中斷并送出觸發提前量,FIFO在這期間采集到的數據點數應該 增加進觸發提前量的計算結果中去。

1用W—嗣啊『I●‘’



j8

!

’督睡翻跨蝗縫盤


:擻

圖4—6觸發與FIFO的讀寫
4.3數據處理和波形顯示
4.3.1波形恢復一抽取和插值
將采集的波形數據讀出并顯示,由于存儲器一般深度遠大于顯示屏所需的數 據個數,因此所采集的數據并不全部送去顯示,而是采取等間隔抽取方式。
等間隔抽取數=里墨25莖0塞(4--2)
對于本系統,有如下幾點說明: 1) 記錄長度在本系統中等于FIFO存儲容量2KB。 2) 本系統波形顯示區為250*200點陣區,顯示一屏波形需要250個數據
點。
3) 當在LCD一屏時間內采集到的數據不能存滿FIFO存儲器時,按實 際采集的點數計算抽取間隔。

電子科技太學碩士學位論文
在抽取前還需根據觸發脈沖信號對應的數據單元,以及設定的觸發延遲量 (即“預觸發”點),計算出所需抽取數據的第一個單元地址,然后等間隔抽 取。在抽取期間,應確保未被抽取的存儲器單元的數據不被J;64新。
當示波表工作在RUN狀態(即波形要求不斷刷新)時,波形數據不斷被 采集更新,這時調節水平掃描,那么數據采集速率也會相應調整。對于大多數 系統設定的時基,LCD一屏的掃描時間里FIFO存儲器都能采滿2K,此時每隔 8點抽取一點。在其他較小時基時,LCD一屏的掃描時間里FIFO存儲器不能 采滿2K,這時就需要在采集的數據里進行插值,插值后的總點數超過250點的 再按抽取規則抽取,然后再送去顯示。插值方案如表4—7所示。
表4—7系統時基與插值方案

水平掃描時基(/div) 50ns(插值) 01 u s(插值) O 2u s(插值) 0.5 p s(插值) l u s(插值) 2 u s(插值)
5Us 10u s

插值方案 由20點插出250點 由40點插出500點 由80點插出1000點 由200點插出2000點 由400點插出2000點 由800點插宙2000點 不需插值,隔8點。秉c 不需插值,隔8點。秉c

系統的采樣率(Sa/s)
40M(20點) 40M(40點) 40M(80點) 40M(200點) 40M(400點) 40M(800點)
40M 20M

當系統工作在STOP狀態(屏幕波形不再刷新,處于鎖定狀態)時,數據 采集停止,此時如果掃描時基被減小,等間隔抽取數貝q應根據水平掃描時基被 減小的倍數來重新計算,當掃描時基減小到一定檔級時,將會出現無間隔抽取
(以下將這一抽取方式簡稱“抽取規則”),進一步減小水平掃描時基,就需 要進行插值了。如果此時增大掃描時基,那么很明顯,一屏LCD波形的時間寬 度加倍了,那么原有的數據不夠顯示當前時寬,此時根據時基調整比例把原有 波形往波形顯示區中央壓縮。

電子科技大學碩士學位論文

、

可變數字時基按l,2,5分級變化,在不同的數字時基和采樣速率下,一 屏波形時間內的采樣點數不同,可能少于250點,這時需要將其點數插足至每
屏250點。

本系統采用如下的插值方法:

首先根據采樣得到的數據點劃分等間隔小區間,每個小區間使用三個采樣 數據作為插值節點數據,然后利用二次拉格朗日函數進行插值。

雖然在采樣信號點數少時,重建信號波形不是太理想,但是插值結果完全 可以達到設計樣機的要求。

4.3.2用數據點顯示信號波形

在LCD屏顯示一屏波形時使用250個數據點。但是,如果只是在LCD 上的相應位置打出點來,那么波形看起來不是連續的.而是一個個的離散點, 況且波形看起來會很淡,不太清晰?梢圆捎煤芏喾椒ǜ鶕䲠祿c在LCD屏上 描出連續的信號波形來。下面列舉三種方法:

1.

根據每個數據點及其在250個點中的位置,可以先在LCD屏上打

出摺應的點。即通過各點的(x,y)坐標可以讓LCD屏上該點對

應的數據單元bh置為l。其中x表示LCD屏上菜點的橫坐標,Y

表示縱坐標。然后,在兩相鄰點間畫出一條豎線。畫豎線時以當前

點之后~點的位置為豎線起始點,即采用后一點的橫坐標為豎線的

位置,后一點和當前點的縱坐標之差為豎線的長度。把250個數據

點在LCD屏上打出來,并且畫好兩點間的連線后,此時LCD屏上

顯示出清晰的信號波形。

2.

在兩點間描線時采用兩點各描一半的方法。即,分別以當前點和其

后一點為起始點畫出兩條豎線,豎線的長度為兩點縱坐標之差的一

半。

3.

前兩種方法顯示的信號波形都比較細,如果要顯示較粗的波形,可

以在第2法的基礎上進行改進。即,分別以當前點和其后一點為起

始點畫出兩條豎線,豎線的長度為兩點縱坐標之差。
本系統中一般采用j一疑/期’方法1來顯示連續的波形,因為方法2顯示的連續

波形看起來不太光滑。當需要顯示較粗的波形時采用方法3。

47

電子科技大學碩士學位論文
4.3.3 LCD顯示緩沖區的設計
本系統采用分辨率為320*240無灰度的單色圖形點陣LCD顯示器,LCD 顯示占用的存儲區的大小可由此計算得出為:320'240/8-。)600B(9.375KB)。
通常的系統中都會采用通用RAM芯片作為顯示數據緩存。參看3.3.4節,
由LCD接口時序可以看出LCD需要持續不斷的數據供給,而LCD顯示數據又 需要處理器不斷刷新,系統必須引入兩片單口RAM,還需要設計復雜的RAM 控制器來實現兩片RAM的PING.PANG切換。這樣不僅沒有充分的利用FPGA 大量的可編程資源,兩片RAM的定義和時序控制都非常復雜。
本系統采用FPGA內部雙口塊RAM來設計實現LCD顯示緩存。XCS50 芯片內置8個雙口塊RAM(DUELPORTBLOCKRAM)單元,每個單元包含 4KB存儲單元和兩套完全獨立的尋址端口。系統設計中將其中2KB存儲單元 作為顯示數據緩存區,它映射到DSP數據存儲區的F400H~F7FFH部分。另外 2KB分給FIFO存儲器。
采用FPGA內部雙口塊RAM來設計LCD顯示緩存區后,由于緩存區兩個 端口完全獨立,系統就可以利用它來完成數據的異步讀寫,方便地實現顯示數 據刷新和不問斷地往LCD送數同時進行,保證了顯示數據的不斷刷新以及LCD
顯示在時間上的連續性。
另一方面,顯示緩存區各個端口可根據需要靈活地配置成讀、寫或讀寫端 口,數據寬度也可根據需要自行定義。通過將寫端口數據寬度定義為16bits而 將讀端口數據寬度定義4bits,自動的完成了16bits DSP數據總線到4bffs LCD 顯示器數據總線之間數據格式的轉換。
但是,LCD顯示一整屏需要9,375KB的數據,2KB的顯示緩存并不能完 全滿足要求。系統分配了數據存儲空間0xE000~O心3FF這5KW,即10KB的 空間用來存放LCD顯示所需的9 375KB的數據,DSP處理完采集到的數據后, 根據LCD顯示的需要先更新該數據存儲區。這10KB的數據區配合FPGA中設 計的2KB顯示緩存區,系統可以讓LCD穩定地顯示。系統將9 375KB數據分 為5幀來處理,FPGA以中斷方式向DSP提交送數申請,DSP響應申請后一次 性從10KB的數據區傳送1/5屏的顯示數據給2KB顯示緩存區,LCD控制器反 復地傳送數據給LCD,同時DSP根據需要不斷的刷新10KB顯示數據區的內容。 由于該實現方案對系統中每個模塊的功能和時序都有清晰的定義,使得系統的 設計變得簡單而穩定。
48

4.3.4 LCD驅動器

電子科技大學碩士學位論文

根據LCD驅動的時序要求,LCD驅動器首先需要為LCD提供FRM、CLl 以及CL2這三個基本控制信號。由于這三個信號都是標準的頻率信號,系統只 需由系統工作時鐘分頻得到相應的頻率信號,然后調整三者之間的相位關系即
可。
如圖4—7所示,COUNTI、COUNt2、COUNT3以系統提供的5MHz的 工作時鐘為基準四分頻得到CL2,CL2經80分頻得到CLl,CLl再經過240 分頻得到FRM。
LCD控制器對于顯示數據的控制集中在對2KB顯示緩存的控制。它根據 驅動信號CL2來確定顯示緩存區讀端口的地址,當2KB送給LCD的顯示數據 將要送完之前,它向DSP提交顯示送敷中斷,告之DSP該發送下一幀的數據。 DSP響應顯示中斷后,先獲取顯示幀信息,然后將對應的顯示數據連續寫入2KB 顯示緩存映射的F400H-F7FFI-I數據存儲區。

圖4—7 LCD驅動器結構圖
4.3.5顯示方案的評析 由于定時顯示中斷的引入,DSP定時地響應顯示中斷,這必定會定時地打
斷DSP原有的數據處理流程,引入資源占用律Poe來表征定時顯示中斷對DSP 工作時間的占用率。Poe由一次顯示中斷響應內1KW顯示數據的傳送時間t, 與兩次中斷的間隔時間ti。的比例來計算:
49

電子科技大學碩士學位論文

P。。:i:!些絲±生!

(4—2)

t.。

i。

當DSP內部工作頻率為80MHz時,DSP外部總線寫周期tw一56ns,讀周期

tr-≈42 6ns.中斷間隔時間為32ms,Poc<5%。[141考慮到此操作并未增加DSP其

他負擔,這樣的安排基本上是合理的。同時,由于定時中斷的存在為DSP提供

了時間基準,從而取代了DSP對內部定時器的需求,該方案從另一個角度節省

了系統資源。

4.4人機接口

4.4.1鍵盤

大量的嵌入式產品,比如微波爐、傳真機、復印機,等等,依賴鍵盤或者 小鍵盤接口用于用戶的輸入。鍵盤可以用來輸入數字型數據或者選擇控制設備 的操作模式。常用的鍵盤從接口原理上可分為編碼鍵盤與非編碼鍵盤。通用微 機系統中使用編碼鍵盤,單片機及專用微機系統中使用非編碼鍵盤。這兩種鍵 盤的主要區別是識別鍵符及給出相應鍵碼的方法。編碼鍵盤主要是用硬件來實 現對鍵的識別,非編碼鍵盤主要由用戶軟件來實現鍵盤的定義和識別。本系統 采用非編碼鍵盤,這樣可以減少系統體積,同時降低系統成本I”J。

本系統提供友好的用戶界面,提供多達20個操作按鍵,操作十分方便,用 戶可以靈活地操作系統,系統自動地根據用戶的操作進行測試和顯示。

本系統采用4×5矩陣鍵盤,把20個按鍵按4列5行結構排列布線,每一

行由一個輸出端口的一位驅動,而每一列由一個上拉電阻供給輸入端口一位。

K11

K】2

Ⅺ3

KH

—3V—-C==H
。t霜 ’P“ H .C.I.-.11.JL
廣o

3 3V
。廠.o...¨ .L

3 3V
。 ’l廣 —舌.o..孟 .“ ..jL H



3 34'

。亙1


_K(

’產“ 廣.r.旬o..左.“.L

.r.旬..右..JL
。

嚴* -廣吣“ E—NJT二ER

..F..1..JL -K(

。p“ 廣』oL“

.,F.3...JL


p蛔 -p¨ ...F.4...L

V., ..D.I.VJL+





H ’p“ V.,.D.I.V.一JL
廣o

S., ...D..I.V.】十L


一¨ -P“ S., ...D.I..V.一1L

RUN..塢 ....T.LoP





’廣^ 廠o“ -廠。一 -f_o¨ AU.T.o..S.EJL T SAVEIPI≈-IlqT

.......L

......JL





圖4—8示波表鍵盤原理圖

電子科:撓大學碩士學位論文
圖4—8中,K11~K14作為掃描輸入端,K01~K05作為掃描輸出端,他們 都直接接到MOTOROLA DSP56805的GPIO端口線上。分配DSP56805的GPIO PD0~PD3與K11~K14相連,GPIO PB3~PB7與K01~K05相連。
本系統中對按鍵的判斷采用軟件來避開抖動的影響。DSP對鍵盤使用定時 查詢方式,即按有規律的時間間隔查看鍵盤矩陣,以確定是否有鍵按下。一旦 處理器判定有一個鍵按下,鍵盤掃描軟件將避開觸點抖動并且判定哪個鍵被按 下。每個鍵被分配~個稱為掃描碼的唯一標識符。應用程序利用該標識符,根 據按下的鍵來判定應該采取什么行動。在圖4—8中,“S/DIV+”鍵是時基調 慢鍵,每按下一次,時基就調慢一級!埃樱蘑粢弧笔菚r基調快鍵,每按下一 次時基就調快一級!埃郑模桑郑焙汀埃郑模桑忠弧笔欠{節鍵,用于調太幅基 和調小幅基。 “AuT0sET”鍵用于根據輸入信號的幅度和頻率自動地調整示 波表的時基和幅基。按鍵F1-F4是菜單操作時的功能選擇鍵,“ENTER”鍵是 確認鍵。對于其他按鍵本文不再贅述。
在初始化階段,所有的行(輸出端口K01~K05)被強行設置為低電平。 在沒有任何鍵按下時,所有的列(輸入端口K11~K14)將讀到高電平。任何鍵 的閉合將造成其中的一列變為低電平。為了查看是否有~個鍵已經被按下,微 處理器僅僅查看任何一列的值是否變成低電平。一旦微處理器檢測到有鍵按下, 就需要找出是哪~個鍵。該過程相當簡單。微處理器僅僅在其中一行上輸出一 個低電平。如果它在輸入端口上發現了一個0值,該微處理器就知道在所選擇 的行上產生了鍵的閉合。相反,如果輸入端口全是高電平,則被按下的鍵就不 在那一行,微處理器將選擇下一行,并重復該過程直到它發現了該行為止。一 旦該行被識別出來,則被按下鍵的具體的列可以通過鎖定輸入端口上唯一的低 電位柬確定。微處理器執行這些步驟所需要的時間與最小的狀態閉合時間相比 較而言是非常短的,因此它假設該鍵在這個時間間隔中將維持按下的狀態。
為了避開觸點抖動的影響,在采用定時的顯示中斷作為定時信號掃描時, 如果有鍵按下,那么只有當6次掃摧的結果一樣時才認定該鍵被按下有效。顯 示中斷信號是周期為3,3ms的周期信號,利用它作為掃描定時信號非常合適, 同時也節約了DSP56805的定時器資源。根據大約10ms的觸點抖動時間,那么 在6次定時掃描,即大約20ms的時間里.如果掃描結果一致,那么當然就避 開了觸點抖動的干擾。同理,按鍵釋放時的抖動也采取同樣的處理方法。圖4 —9是按鍵識別處理模塊的軟件流程圖。

電子科技大學碩士學位論文
圖4—9按鍵識別軟件流程圖
本系統不支持兩個鍵被同時按下。當有兩個鍵同時按下時,只有編號較小 的一個按鍵會被檢測到,并且,只有當按下的鍵都被釋放以后才允許掃描程序 判別新的按鍵。本系統鍵盤軟件模塊支持對被按下鍵的閉合狀態的持續時間的 計時。當你打算遞增或遞減一個參數(也就是一個變量)值時,該功能是非常

電子科技大學碩士學位論文
有用的,此時不必重復按下或者釋放該鍵。當某個鍵的閉合狀態持續時問超過 某限定值時,可以啟動相關參數或變量的遞增和遞減過程,實現連續按鍵的控 制,而不必反復按下和釋放該鍵。
4.4.2 LCD顯示的菜單界面 菜單界面突出了簡潔、實用、便于操作的特性。
圖4一10菜單界面
如圖4一lo所示,本系統把nox240的液晶屏分為四個部分。最上端是示 波表系統設定的系統參數,包括時基和幅基。中間為波形顯示區,采用櫥格顯 示,占用250×200點陣空間。波形顯示區除了顯示波形外還會顯示觸發標志和 零電平標志。屏幕右邊是信號的測試參數,包括峰峰值、頻率和周期。在屏幕 最下角顯示操作菜單,菜單采用最大兩級菜單,即主菜單可以包含一級子菜單。
4.5觸發的設計和實現 4.5.1觸發信號的產生
觸發硬件模塊可程控選取觸發輸入耦合方式和觸發斜率,還可以調節觸發 電平,以便提供有效的觸發信號。
觸發信號來源于信號本身(內觸發)或外觸發輸入端,由于這些信號不一 定是規則的方波或脈沖,所以,在將這些信號輸入FPGA之前,需要通過比較

電子科技大學碩士學位論文
電平對他們進行整形。整形之后的信號即可FPGA內部形成各種觸發形式的信 號并進行選擇,然后送往DSP以等待回應。
DSP根據自動設置或用戶選擇的觸發電平值產生對應的控制字,控制字送 往串行D/A轉換器(14461)產生對應的比較電平,即觸發電平。輸入信號通 過與觸發電平進行比較,達到觸發條件時就產生觸發信號。產生的上升斜率觸 發信號和下降斜率觸發信號經由FPGA中的二選一電路送給DSP。由于DSP 通過中斷來響應觸發信號,為了防止頻繁的觸發產生頻繁的中斷,DSP就對 觸發信號進行開關控制。即,在本設計中,DSP通過向FPGA發送觸發使能控 制字(分配0xFF03端口)來決定FPGA是否發送觸發中斷。 4.5.2觸發的響應
每一次觸發就會對數據的存取產生影響,進而產生一個新的存儲記錄,信 號的波形就會刷新~次。
DSP響應觸發信號產生的觸發中斷,根據系統設定的觸發延遲量計算出觸 發提前量,然后送出觸發提前量給FIFO控制器。FIFO控制器在收到觸發提前 量以后,根據當前寫指針的位置,利用觸發提前量設置該次數據采集寫指針的 結束位置,以及記錄中讀指針的起始位置。通過對FIFO讀寫指針的控制,系 統實現了對該次觸發的響應,即對數據的存取進行了更新。
4 6頻率和周期的測量
4.6.1 頻率/周期測量模塊的FPGA實現
本系統采用電子計數法測量信號的頻率和周期。
頻率,周期測量模塊在FPGA中實現,該模塊大體上由四個模塊組成。其中, 分頻器單元負責利用40Ml-lz系統工作時鐘得到2.2節中提到的100Hz測量門限 和IOKHz計數脈沖:頻率測量單元負責測試信號頻率;周期測量單元負責測試 信號周期;數據選擇單元根據測量所得的結果自動選擇將頻率或者是周期測量 結果存儲到相應存儲單元供DSP訪問。頻率/周期測量模塊系統框圖如下:

電子科技大學碩士學位論文
圖4—1 1頻率/周期測量模塊系統框圖
測頻單元以一個由24位D觸發器組成的加法計數器為核心單元。測頻單 元和測周單元的原理基本相同。mode—select為高電平時,意味著當前信號頻率
低于1Ⅺ{z,測周單元輸出結果有效。反之,mode.select為低電平時,意味著
當前信號頻率高于IKHz,測頻單元輸出結果有效。 4.6.2測頻測周數據的處理
示波表的測頻測周模塊是在XILINX FPGA中實現的,它對信號的頻率和 周期作測量,結果放在DSP外部數據端口單元中。由于測量結果共24位,系 統分配兩個端口單元OxFF20和OxFF21給測頻測周模塊用于存放結果數據。其 中,OxFF20端口放24位結果的低16位,OxFF21端口低8位放24位結果的高 8位。另外,0xFF21端口的最高位定義為頻率或周期判斷位,1表示當前為測頻 結果,0表示當前為測周結果,必便DSP正確處理測頻或測周結果。
翌啪鎏虱剮i黧舅 DSP對測量數據的處理過程如下圖所示:
從數據端口讀 出;受I重結梟
圖4一12測頻和測周數據的處理流程
數據處理時保證最少三位有效數字,處理誤差限定在有效數字最低位±1, 確保了數據處理過程帶來的誤差≤%1。
通過輸入不同頻率信號,觀察和分析LCD頻率顯示結果,驗證了測頻測周 部分達到設計要求。

電子科技大學碩士學位論文
第五章DSP軟件的設計jfI:1實現
5.1軟件系統框架
軟件設計是本機的核心,要提供良好的人機界面,組織協調完成眾多的測 量任務,其工作量比較大,所以在設計時我們將軟件層次化,按模塊化設計, 細化為各功能單元。
示波表軟件設計為三個層次:用戶界面層、內核層、硬件接口層。如圖5
一l所示。
用戶界面層提供良好的人機界面,有效組織示波表龐雜的測量功能,完成 人機對話,便于操作。內核層接收用戶界面層傳輸的用戶指令,并進行分析, 然后按照任務選擇相應的功能模塊,并將測量任務分解成一系列測量電路控制 指令,送硬件接口層處理。硬件接1:3層接受內核層傳來的任務,直接控制硬件 電路完成測量功能,或者和硬件電路交換數據。
用戶界面層
內 核 層

硬件接口層

圖5一l軟件層次結構圖

電子科技大學碩士學位論文
另外,內核層接收和響應外部中斷,執行中斷服務子程序,并通過硬件接 口層和相應的硬件電路進行對話。
本系統采用MOTOROLA公司的16嵌入式處理器DSP56805作為核心處理 器,由于該處理器集成了豐富的資源,強調片上系統SOC,可以把它看成運算 速度特別快的單片機[41。在單片機的開發中推薦使用嵌入式實時操作系統 RTOS,所以可以考慮在DSP56805上運行RTOS,那么層次化設計軟件結構就 顯j導尤為必要。遺憾的是,由于時間有限,本系統沒有實現在DSP56805上運
行RTOS。
5.2軟件的實現
本系統采用前后臺系統的設計方法進行程序設計。在前后臺系統中,后臺 行為是一個無限循環,循環中調用相應的函數完成相應的操作;前臺行為是用 中斷來處理隨機事件。后臺也可以叫做任務級,前臺叫做中斷級。后臺程序逐 個檢查每個任務是否具備了運行條件,逐個完成相應的操作【”。時間要求苛刻 的操作肯定采用是靠中斷完成的。在中斷服務程序中置位一個事件發生了的標 志,然后退出中斷,待后臺程序運葺亍到檢查這個標志的時候,才能完成事件處 理,再將事件發生標志復位。如果把事件處理也放在中斷服務中,中斷復位程 序就會變得特別長,影響后來得中斷或其他中斷。與前后臺系統對應是使用 RTOS的系統,這種系統的實時性很好。但是,由于前后臺系統實現較簡單, 也沒有額外的RAM/ROM開銷,考慮到時間原因本系統沒有采用RTOS實現方
案。
5.2.1后臺行為
本系統軟件的主函數流程如圖5—2所示。 本程序循環檢測按鍵,根據按鍵信息控制程序的執行方向。其中,初始化 模塊執行DSP片內寄存器初始化、程序中全局消息變量初始化、DSP片外外圍 器件初始化、示波表測試條件初始化等等。鍵值散轉模塊根據提取出的按鍵鍵 值轉向相應的處理模塊。當某次鍵盤掃描到無鍵按下時程序轉向DefauR函數模 塊執行。
57

電子科技大學碩士學位論文
圖5—2主函數流程
初始化模塊涉及到DSP正常工作所需的寄存器的設置、軟件中控制用全局 變量的設置、測試系統的初始化設置等三大方面,具體流程見圖5—3所示。其 中DSP操作模式寄存器主要決定DSP數據存儲空間和程序存儲空間的配置情 況。清零HWS(硬件堆棧)用于DO循環,設置PLL模塊咀使DSP工作在60MHz 內部時鐘。配置總線控制寄存器以控制DSP總線時序,已經使地址線三態。配 置系統控制寄存器以使地址線、數據線、控制線上拉使能。初始化時基時需要 調整系統的采樣速率,初始化幅基為最大幅基5V/div,即信號通道為最大衰減。
主函數流程中的鍵值散轉模塊包含各個按鍵的處理函數,本文在這里重點 介紹“AUTOSET”鍵和時基調整鍵(“S/DIV+”和“S/DIv一”)、幅基調 整鍵(“v/DIV+”和“、朋)IV一”)的實現流程。
時基和幅基調節鍵的處理流程如圖5—4所示,圖中只是描述了“時基”和 “幅基”增加鍵的處理流程。由于“時基”和“幅基”減小鍵的處理流程和增 加鍵類似,在這里就不再贅述了!埃粒眨裕希樱牛浴辨I用于根據信號的幅度和頻 率自動地調整示波表的時基和幅基,其實現流程如圖5—5所示。

★列黼
配置Dsp操作 模式寄存器

清瓣0 群


l 設置SP(堆棧}目針)



屏蔽所有可屏蔽中斷



配置P乙【,寄存器





配置總線控制 。 寄存器(B一 CR一, )


配置系統控制 寄存器(SC鼢

電子科技大學碩士學位論文

l使能coP看門猗I
._
初嫡化c。P模塊

配首GPIO端口A為
地址緩Ag ̄Ai5

配置oPlo揣,口B中PB3
。拢方o毽盤作為掃描
輸入,另外p助 ̄PB艏
通道控制用

配置GPIO端口D中P D0~PD3}旮鍵盤作為 掃描輸出。PD6一PD7
作為串口通信

配置aPIo端口E中FF_2- PE3為地址線A6uA7


I示渡表時基輻j l 基設置 l

I肅渡表觸發電平和
I移位電平胡抬設置

示浚表觸發樞關設 置.如=觸發斜率-
觸發延遲量

示渡表菜單控制狀 態標志變量設置

LcD背光設置

】其他全局變量設置
I●

I耐黔斷A
).
初始化結柬

圖5—3初始化流程圖

圖5—4時基和幅基調節鍵處理流程
59

電子科技大學碩士學位論文
圖5--5 “AUTOSET”鍵處理流程
Default函數模塊的處理流程如圖5—6所示。在該流程圖中,trig標志變量 起著重要作用。當觸發標志變量trig為1,說明此時已經響應了觸發中斷,觸 發提前量已經送出,并且觸發中斷已經被屏蔽。那么,當FIFO采滿時,其中 的數據已經按照觸發延遲進行了更新,用這些數據刷新波形可以滿足觸發條件, 以顯示穩定的波形。經過釋抑時間延遲后,把trig清為0,并重新開啟觸發中 斷,允許響應觸發中斷,以捕獲新的信號波形。
60

電子科技大學碩士學位論文
圖5—6主函數中Default函數模塊的流程
5.2.2前臺行為 前臺行為就是程序的中斷處理部分。這里介紹DSP56805的外部中斷A和
B,在本系統中又稱為觸發中斷和顯示中斷。兩個外部中斷的流程如圖5—7所
示。
61

電子科技大學碩士學位論文

中斷A瞻務程序 人口

保護現場

.關閹自拔門I

屏蔽兩個外餐 中斷

送出觸發提前 量給FⅡ叫空制


觸發標志乜ig=1

著零c∞nt zefresh ,重新啟動計數

,
I恢復現場I ★
使能顯示中斷

退出觸發中斷

響應顯示中斯
中斷B服務程序 八口
_.
1保護現塌I

憷能觸發中斷嵌套

讀取顯示幀控制字

送中顯不緩存區

中斷計數器
emm·t-refresh{}煎
加l

潔零coP計數器
t l掃描鍵毒l

屏蔽所有外部中斷

恢復現場

l使能顯示中斷1

退出顯示中斷

圖5—7觸發中斷和顯示中斷流程
由于DSP56805是個相當復雜的DSP,它的算術邏輯單元ALu中有9個寄 存器,地址產生單元有7個寄存器,程序控制單元中有各類寄存器6個。另外, 在Codewardor的DSP568xx的C編譯中,編譯器把Ox30到0x3F這16個RAM 字(word)當作寄存器來用,任務切換時總共入棧和出棧的寄存器的數目相當 于各有38個。DSP56805的中斷機制在中斷響應時只保護當前程序計數器PC

電子科技大學碩士學位論文
和狀態寄存器SR,不保護其他任何的寄存器。這就要求用戶在中斷服務子程序 中用到哪些寄存器就得保護哪些寄存器,以求最快的運算速度。
在觸發中斷中,程序用觸發標志變量tirg標識觸發中斷響應與否,以提示 主函數知道采集的波形數據是否已經按照觸發進行了更新。
在顯示中斷中,程序用count refresh全局變量作為計數器對顯示中斷進行 計數,每響應1次顯示中斷計數就加l。由于顯示中斷信號是個周期信號,在 本系統中每3 2ms發出1次,所以,本設計中把count refresh作為定時器使用, 主函數中的釋抑時問延遲就是通過它來實現的。
另外,在該顯示中斷服務子程序中通過清零COP(Computer Operating Properly,看門狗1計數器來防止計數器溢出。程序中加入看門狗能夠在軟件跑 飛以后幫助系統自動復位。DSP56805的看門狗模塊和其他單片機、微處理器 的看門狗模塊一樣,實際上是一個自由運行的計數器。當這個計數器被允許以 后,它會在每次溢出的時候產生一個復值信號,使得DSP復位。DSP程序必須 定時的去清除看門狗模塊的計數器值,否則計數器溢出就會使系統復位一

電子科技太學碩士學位論文
第六章系統的調試和測試
系統要運行正常,硬件和軟件都必須正常工作,而且二者要正確配合。本 章重點講述本系統的測試方案、遇到的問題、調試方法,以及最后的解決辦法。
嚴格地說,測試和調試是系統實現中兩個不同的過程。測試是為了發現錯 誤而執行程序和運行系統的過程,它的目的是要暴露系統中隱含的錯誤或問題。 而調試則是根據測試時發現的錯誤來查找錯誤在軟件或硬件中的位置和錯誤的 具體原因,并且加以改正。測試和調試二者是密不可分,交叉進行的。本系統 正是通過不斷的測試和調試,讓系統逐漸完善起來。
本系統采用的調試和測試儀器如下:
1 Agilent公司的80MHz任意信號發生器 2 Agilent公司的I OOMI-F__z混臺信號示波器 3.Fluck公司的20MHz工業用萬用示波表
本系統采用的測試和調試硬件平臺就是本文設計的數字示波表系統,而軟 件平臺是專門用于開發DSP56800系列DSP的集成開發環境Codewarrior 4.0。 另外,在測試FIFO采集存儲的數據時,利用MATLAB仿真LCD屏來顯示信 號的波形。
本系統主要功能體現在測試信號的波形和頻率等,由于硬件平臺己經搭建, 所以大部分測試都直接在硬件系統上進行。通過信號發生器輸入不同的信號來 觀察輸出結果,然后查找問題所在,硬件系統通過DSP56805的JTAG接口和 PC帆相連,在Codewm'dor環境下進行在系統調試。
系統的核心處理器DSP56805控制著整個系統的運作,必須首先保證它的 軟件工作正確。DSP56805的開發工具CodeWarrior有非常強的debug調試能力, 它不僅支持軟件仿真,而且還可以在系統debug跟蹤調試,極大的方便了軟件 的調試工作。在調試本系統軟件的過程中,發現了和遇到了很多的問題,最嚴 重的就是程序跑飛或者跑亂,經過反復的調試和排查,解決了這個問題。下面 以下幾個在程序開發中遇到的及其重要的問題,以及它們的解決辦法:
1.DSP的程序是嵌入式的,必須把它保存在ROM中,由于DSP56805 片內有31 5KW的程序FLASH,這個空間足以用于放置本系統的 程序。為了程序可以自舉運行,必須在程序中設置復位向量,通過

電子科技大學碩士學位論文

CodeWarrior建立的工程中的Linker、emd文件可以實現。Linker,cmd 文件用于用戶指定程序或數據的存放位置。本系統使用了 DSP56805的全部三個復位源:系統上電復位、外部復位引腳引起 的復位以及系統看門狗的復位,前兩個復位源使用同一個復位向 量。

2,DSP56805可以支持64個中斷,分為7個級別,所有中斷確定級 別后都有自己的中斷向量地址。在軟件設計時,中斷的管理顯得尤 為重要。本系統中除了兩個復位中斷外,還使用了兩個外部中斷。 為了避免中斷出錯,除了在Linkercmd中設定兩個外部中斷的服 務程序入口之外,還充分考慮了DSP56805的中斷機制對多個寄存 器進行了中斷現場保護。另外,為了提高系統的軟件抗干擾能力, 在沒有使用的那些中斷的向量表里,也寫入了中斷服務子程序的入 口,不過,這些中斷服務子程序都是一條NOP指令,這樣做可以 避免由于干擾讓中斷判決出錯而進入這些中斷時程序跑飛。

3.

本系統程序量較大,由于程序的模塊化設計,需要較多的堆?臻g,

因此系統的堆?諉柕姆峙滹@得相當重要。為了加快入棧和出棧操

作,本系統把足夠大的?臻g?臻g分配到DSP56805的片內RAM

中。

4.DSP的初始化部分必須非常完備,包括堆棧指針、操作模式寄存 器、總線控制寄存器、時鐘控制寄存器、片內I/O端口寄存器、中 斷相關寄存器、系統外圍端口、全局標志、系統測試環境參數等等 的初始化。

由于功能的調整或者設計方案修正的原因,本系統已經前后四次改版,花 費了大量的時間在系統的調試上。在系統測試時發現了大量的問題,通過調試 發現了問題的所在,并且基本上都得到了解決。下面列舉一些問題如下



DSP對片外SRAM的讀寫出錯。經過對程序檢查發現沒有問題

后,認為是DSP的總線時序和SRAM的時序不匹配,查對器

件資料發現不是這個原因。查找了很久沒有發現原因。最后,

對照PCB圖發現DSP的讀、寫信號和SRAM的連接接反了。

改正后,問題得到解決。



上電后DSP不能自舉運行,在Codewarrior的軟件工程里

Linker cmd文件中添加了復位向量地址項,問題得到解決。同

電子科技大學碩士學位論文

樣的問題也發生在兩個外部中斷上。程序不能響應中斷服務程 序,于是在Linker.cmd文件中加入中斷向量地址項,問題得到 解決。



通過DSP56805的三個GPIO端口對串行12bits D/A LTCl446

送數,用來控制觸發電平和波形上下移位電平。三路GPIO端

口中,一路接D/A的Din,一路接CLK,一路接/CS/LD,而串

行D/A為兩路輸出。送數后,輸出端電壓不對。改正了初始化

程序中對GPIO的配置后,發現一路輸出數據正確,另外一路

輸出錯誤。查找原因,發現另外一路輸出和地問有接觸。切斷

和地的接觸后,兩路D/A輸出都正確了。



為了節。牵校桑隙丝谫Y源,以便用于通道控制。最初把鍵盤連

接在DSP56805的四路片內A仍上,每路A/D連接五個按鍵,

各按鍵之間通過電阻分壓來加以區別。DSP通過每路A/D的采

樣結果來判斷識別按鍵操作。但是,由于每級分壓之間的壓差

較小,所以比較容易出現誤判,故而現在采用GPIO端口作掃

描鍵盤。同時,對多數外圍器件的控制采用擴展端口,通過

FPGA內部譯碼邏輯實現端口尋址。



由于顯示中斷信號是個周期大約3 3ms的周期信號,即DSP每

隔3.3ms就會響應一次顯示中斷。每次顯示中斷服務程序都會

傳送1KW的數據。系統上電后,開啟顯示中斷,發現DSP程

序跑亂,按鍵沒有反應。屏蔽掉顯示中斷后,程序正常運行,

按鍵正常響應。推測是顯示中斷的影響,難道1KW的數據傳

送超出了3.3ms,那么程序反復地響應中斷,沒有時間執行其

他部分程序。編寫~個小程序,對片內RAM讀一千次,然后

在某個GPIO端El上輸出高電平;再對另一單元寫~干次,然 后在同一GPIO端口上輸出低電平。程序反復執行上述過程,

然后使用示波器測量GP]O端口輸出的方波信號。通過測試發

現方波信號周期是6 504ms,大得不可思議。因為DSP56805

在外接8MHz晶振時內核可以達到40MIPS,每條指令周期為

25ns,一千條讀和寫不可能消耗這么長的時間。推測DSP沒有 正常運行。用示波器測量DSP的clko引腳,測得8MHz。難道

DSP內部沒有倍頻上去?查看DSP56805器件資料,發現對DSP

電子科技大學碩士學位論文

片內PLL單元沒有初始化。改寫初始化模塊,對PLL模塊的寄 存器合理賦值,結果clko引腳的信號測得為80MHz,~切0K。



DSP程序中對A/D采樣頻率和FIFO寫入頻率按照和FPGA中

定義的協議進行了控制,卻發現對頻率的控制有時奏效,有時

沒有起作用。DSP只是對定義的控制端口賦值,程序很簡單應 該沒有問題,難道是FPGA中的擴展端口的譯碼問題?查驗

FPGA源程序沒有發現問題。最后發現是DSP外部總線時序和

FPGA中擴展端口操作時序配合上出了問題。修改了FPGA中 的設計,輔之以DSP對同一端口連續操作兩次,這樣基本解決

了問題。



DSP程序不能下載到程序flash中去。查資料發現DSP的高速

運行要求電源電壓高于2 8V,如果用戶要對flash編程,就需

要2.5V的編程電壓,DSP56800通過在片內集成電壓調節單元,

只需要用戶提供單一+3 3V工作電壓,便可以在片內產生出+ 2.5V的編程電壓。電路板上電源輸入要求+5V,但是只給了+

4 4V,那么經過TPS7133電壓轉換模塊阱后,輸出電壓用示波

器測得平均值是3 lv,而紋波峰峰值達到380mV,判定可能是

電壓問題。把電路板輸入調到4.8V以上后,TPS7133輸出平均

值是3.3V,紋波峰峰值380mV,此時下載程序成功。

8.

系統上電后,用信號發生器輸入信號,LCD屏上顯示混亂的波

形,況且波形不刷新。讀出FIFO數據,發現全是OxFF,測試

A/D TLC5540發現參考電壓不對。TLC5540使用內部參考電壓, 高端和低端的壓差應該是2 28V,但是測量得到1 05V。經過分

析判斷TLC5540損壞。換上一片新的,參考電壓正常了,波形

顯示也正常了。

DSP軟件調試時還遇到其他很多的問題,在充分利用Codewarrior強大的 調試功能后,問題基本得到了解決。

電子科技大學碩士學位論文
圖6—1數字示波表系統主板 圖6—2系統整體

電子科技太學碩士學位論文
圖6—3系統測試環境
圖6--4輸入鋸齒波的測試結果 圖6—4中顯示的是用信號發生器輸出32KHz鋸齒波信號時示波表測量的結 果。輸入鋸齒波的高電平是I.IV,低電平為100mV。在示波表的設定的lOus/div 時基下,屏幕上顯示3個多周期的鋸齒渡信號,并顯示出準確的信號頻率值,測 試出的峰峰值也較準確。

電子科拄大學碩士學位論文
圖6—5輸八方波的測試結果
圖6—5顯示出測試180KHz方波信號時的結果。信號發生器輸出高電平 1.1V,低電平為100mV的180KHz方波信號。由圖中可見,在2us/div的時基情 況下,屏幕顯示3個多周期的方波。顯示的頻率測試結果十分準確,峰峰值也較 準確。
圖6—6輸入正弦波的測試結果 圖6—6中顯示出對1 80KHz正弦波信號的測試結果。信號發生器輸出高電 平1 2V,低電平為100my的180KHz正弦波。由屏幕上可見,在2us/div的時基 情況下,一屏顯示3個多周期的正弦波信號。頻率測試結果十分準確,峰峰值測 量結果也較準確。
70

電子科技大學碩士學位論文
圖6—7測試結果對比1 為了對信號發生器的輸出信號和示波表測試結果作個直接的對比,在圖6—
7中同時拍下了信號發生器的輸出和示波表顯示屏的測試結果。圖中顯示出了信 號發生器輸出137.8372KItz的方波信號時的測試對比情況。圖中顯示出對頻率 的準確的測試結果。
圖6—8測試結果對比2 圖6--8中顯示出信號發生器輸出365.50KHz的正弦波信號時的測試比對情 況。圖中顯示出對頻率的準確的測試結果。
7l

電子科技大學碩士學位論文
第七章結論
本文采用DSPH巾GA+RAM這種目前在實時信號處理系統中流行的設計 結構,運用嵌入式設計方法,設計并且實現了一個嵌入式測量系統一一便攜式 數字示波表,為國產數字示波表的進一步研制和開發作出了有效的嘗試。
在系統中選用MOTOROLA公司16位的DSP內核的處理器DSP56805作 為核心,選用XILINX SPARTANII系列FPGA作為協處理器,大大簡化了系 統的結構,充分體現了便攜式、多功能的設計思路。在本系統研制期間也遇到 了很多問題,通過不斷的完善和改進,系統已經具有基本的雛形,基本達到研 制樣機的要求。
本系統的輸入通道控制、采集和存儲、數據處理和顯示。等模塊都經過了 軟硬件的調試,雖然都還有一些不夠理想的地方,但是可以說整個系統的實現 方案基本完成。但是,還有不少的工作需要繼續。系統已有的性能還需要進一 步改善,同時有些功能還需要添加和測試。
從硬件來說,示波表可以從以下幾個方面進一步完善和改進: 1)提高A/D采樣速率,提高系統帶寬 2)增加存儲容量 3)增加測量通道數 4)減少干擾 從軟件方面,可以考慮如下幾個方面: 1)采用RTOS設計系統,即在DSP56805中嵌入一個實時內核。這樣系統
的實時性會得到大大改善,同時系統的工作會更穩定。 2)增加波形的頻譜分析功能 3)在多通道系統中增加波形運算功能 4)進一步完善程序

電子科技大學碩士學位論文
參考文獻
1.蔣煥文.孫續.電子測量(第二版).中國計量出版社,1988 2.宋啟峰電子測量技術。重慶大學出版社,P78-94,P225-229,2000 3.邵貝貝,龔光華,薛濤,等.MotorolaDSP型16位單片機原理與實踐.北京航空
航天大學出版社,2003
4.5680x USer’S Manual MOTOROLA INC.,2000
5.李廣軍.盂憲元.可編程ASIc設計及應用電子科技大學出版社,2000 6.DATA BOOK YdLINX INC.,2000
7.TLC5540 Designer’S Reference Manual,TEXAS INSTRUMENTS INC一1999 8.MTG.F32240HFWNSEB.0l LCD MODULE SPECIFICATl0N。Microlips
Technology Inc,2002
9.Fluke 123 Industrial ScopeMeter User’s Manual Fluke Corparation,1999
10.李廣軍,王厚軍實用接口技術電子科技大學出版社。1998 11.(美)Jean J.Labrosse著袁勤勇,黃紹金,等譯.嵌入式系統構件(第2版).機
械工業出版社,2002 12電子科技大學應用數學系實用數值計算方法.高等教育出版社,2001 13.陳立周.電氣測量<第2版)機械工業出版社,1999 14.DSP56FS05 Technical Data.MOTOROLAINC.,2000 I 5.DSP56800FaIIatyManual.MOTOROLAINC.,2000 16.TDSl000和TDS2000系列數字存儲示波器用戶手冊.TEKTRONIX INC.,2002

電子科技太學碩士學位論文
致謝
在本論文完成之際,我首先要衷心感謝我的導師林水生老師。從論文選題 到課題進行、完成,幾乎每個環節,林教授都傾注了他的心血,正是在他的耐 心指導下,論文才得以順利進行。林教授敏銳的洞察力和嚴謹的治學態度給我 留下了深刻的印象給予我深深的教誨,激勵著我努力認真的去完成課題。他的 淵博的學識蚪及認真的工作態度更使我受益非淺。
感謝李廣軍老師對我工作的無私的幫助和指導,使我在面臨困難的時候能 夠堅強度過。他給予我克服困難的勇氣,幫助我確立解決問題的正確態度,幫 助我找到解決問題的方法,我在此表示由衷的謝意。
感謝謝芹芬老師、閻波老師、周英乙老師、周亮老師、甘露老師對我的幫 助和關懷。
感謝同課題組的汪一和荊研同學,感謝他們在生活、學習、工作上對我的 無私幫助和關心。
感謝教研室所有其他老師和同學對我的幫助和關懷! 感謝所有給予我支持和幫助的親戚和朋友! 再一次深表謝意1
74

電子科技大學碩士學位論文
個人簡歷、在學期間的研究成果及發表的學術論文
個人簡歷
本人于1976年5月24日出生。于1994年9月至1998年7月在四川 大學理學院攻讀理學學士學位,于2000年9月至今在電子科技大學攻讀 工學碩士學位。
在學期間的研究成果
“手持式數字示波表”項目:參加第四屆“MOTOROLA杯”嵌入 式處理器大獎賽,獲得優秀獎。

基于DSP的手持式數字示波表的設計和實現

作者: 學位授予單位: 被引用次數:

楊新川 電子科技大學 5次

引證文獻(5條) 1.鄭德銀 高速信號采集與顯示系統的設計與實現研究[學位論文]碩士 2006 2.周永宏 基于ARM和CPLD的便攜式數字存儲示波器硬件平臺設計[學位論文]碩士 2005 3.唐路 基于SOPC技術的手持數字示波表軟件設計與實現[學位論文]碩士 2005 4.廖曉鵬 手持式數字存儲示波表系統設計及底層驅動實現[學位論文]碩士 2005 5.郭志勇 基于SOPC技術的手持式數字存儲示波表硬件設計[學位論文]碩士 2004

本文鏈接:http://d.g.wanfangdata.com.cn/Thesis_Y533319.aspx


網站首頁 | 網站地圖 | 學霸百科 | 新詞新語
All rights reserved Powered by 學霸學習網 www.962919.tw
copyright ©right 2010-2021。
文檔資料庫內容來自網絡,如有侵犯請聯系客服。[email protected]
广西快乐十分有何技巧