色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于并口通訊的雙路高速可編程數字及模擬信號源設計

          基于并口通訊的雙路高速可編程數字及模擬信號源設計

          作者: 時間:2006-05-07 來源:網絡 收藏

          摘要:應用EPP模式的并口通訊實現了一種可同時輸出數字和模擬信號的雙路可編程信號源;使用一片CPLD實現所有的接口邏輯和控制邏輯,并給出了相應的PCB布線技巧??蓮V播應用于各種DSP系統的調試。

          本文引用地址:http://cafeforensic.com/article/226433.htm

          關鍵詞:EPP 數字信號處理(DSP) 信號源 可編程 虛擬儀器

          大多數DSP應用系統都包括一個前端的模/數轉換電路(ADC)。在測試高速數字信號處理(DSP)系統時,通常是做一個專用的模擬信號源(如雷達中頻模擬信號源等),加上一個為實際應用特制的模/數轉換電路(ADC),以獲取與實際應用相當的專用信號數據來調試該DSP系統。通常,模擬信號源、ADC及DSP系統是由不同的開發(fā)人員設計制作的。為了調試DSP系統,需要各方人員協作,調試任務相當繁雜。且不同的DSP系統調試需要不同的信號源和ADC,也是系統研發(fā)階段的難點。

          在多種調試DSP系統之后,設計并制作了一種高速雙路可編程信號源。它的輸出具有數字和模擬兩種形式;信號的內容、輸出速率、數據托度等都可以通過PC機并口來進行設置和控制;數據輸出速率可高達75M字/s,相應的模擬輸出信號最大頻率為37.5MHz,數據重復長度最大為128K字;可廣泛應用于各類DSP系統的調試。由于該信號源運用計算機產生所需的數據和控制信息,因此它也屬于通常所稱的虛擬儀器范疇。其應用形式有兩種:①利用輸出的模擬信號替代專用的模擬信號源;②利用直接輸出的數字信號替代模擬信號源和ADC。兩種應用分別如圖1和圖2所示。

          1 可編程信號源電路原理

          該信號源的基本設計思路是,由計算機編程產生所需的兩路信號數據(包括加噪數據)。通過計算機并口(EPP模式)將數據分別傳到信號源的兩個高速數據緩沖區(qū)(兩個128K×8的SRAM),在信號源的內部時鐘推動下將數據高速輸出;同時將相應數據經過兩路高速數/模轉換器(DAC)電路轉換成模擬信號同步輸出。其中數據輸出的長度以及輸出速率是可以設置的。

          信號源的所有邏輯及時序功能由一片CPLD(MACH4-128/64)完成,包括EPP模式并口的接口控制、數據存儲器的地址及讀寫信號產生、數據緩沖隔離控制、DAC控制、內部時鐘控制、數據時鐘同步的產生。整個電路的原理結構如圖3所示。

          1.1 EPP模式并口邏輯設計

          EPP模式的并口I/O空間除了標準接口(SPP)用到的3個端口以外,還增設了兩個雙向的8位端口,即地址端口和數據端口,它們分別占用基地址(通常為378H)的偏移量3和4處。正是這兩個新增的雙向端口使得并口EPP模式被廣泛開發(fā)應用。這兩個端口從時序上是一樣的,由各自的選通脈沖信號來區(qū)分。在本信號源設計中,采用地址端口鎖存數據作為控制命令,數據端口用于傳送數據,包括數據內容、長度和輸出數率選擇。在EPP并口通訊協議中,地址寫周期時序如圖4所示。

          為正確完成一個EPP地址或數字的讀寫周期,需要正確產生一個等待信號(Waite#)。在EPP協議時序圖上,它比地址選通信號要推遲一些(如圖4)。如何產生這個等待信號是經常困惑設計人員的問題。通過仔細研究協議規(guī)則,發(fā)現一個正常的讀寫周期是由等待信號來推動的。比如當計算機向地址端口寫數據時,計算機的EPP接口邏輯首先使寫信號有效,然后監(jiān)視等待信號,如果為低,才施加選通信號(AddrStrobe#),之后繼續(xù)監(jiān)視等待信號,如果等待信號為高表明終端設備已取得數據,從而撤消選通信號并結束寫周期。數據周期與地址周期類似。了解這一點之后,在讀寫數據或地址端口時,等待信號可以直接用選通信號取反來產生,只要速度上能保證在選通信號結束時可以正確讀出或者保存數據;由于存在地址和數據兩個選通信號(Addr Strobe#和Data Strobe#),用它們的與非來產生該等待信號即可。

          1.2 地址產生

          本信號源的地址產生邏輯實際上是一個同步加計數器,用以產生順序加1的地址,只是它的同步時鐘有兩個來源。當計算機通過并口寫數據時,它的計數時鐘由數據選通信號(Data Strobe#)來驅動,保證計算機每寫一個數據使得高速緩存器的地址加1;而當信號源高速輸出數據時,計數時鐘由信號源的內部時鐘驅動。它們的切換是由CPLD內的控制寄存器來控制的。每次在計算機寫數據時,應當由計算機通過控制寄存器給計數器清零;而在信號源輸出數據時,清零信號由數據長度寄存器和當前地址值的比較結果來確定,一旦地址值與數據長度寄存器相等,立即產生一個清零信號,以使數據從零地址處周期性重復輸出。該地址產生器的邏輯原理如圖5所示。

          1.3 內部時鐘控制

          對內部時鐘的控制決定了最終輸出的數據的速率?;緯r鐘由一個有源晶振產生,可以通過更換晶振來取得特定的輸出時鐘速率。同時提供對該時鐘的分頻選擇。該分頻器實際上是一個7位同步2進制計數器,輸出晶振時鐘的2/4/8...128分頻量,由此提供一種有限但卻簡單的時鐘選擇。對時鐘的選擇可以用簡單的AHDL語言來完成設計。假設分頻器的輸出為Q6~Q0,時鐘為JTCLK,分頻選擇控制位為F2~F0,輸出時鐘為OUTCLK,相應AHDL語言的Equations段如下:

          [Q6..Q0]:=[Q6..Q0]+1; 設計7位的二進制計數器

          [Q6..Q0].clk=JTCLK; 計數器時鐘為晶振輸出

          WHEN[F2..F0]=^b 000) THEN OUTCLK=JTCLK;不分頻

          WHEN([F2..F0]=^b001) THEN OUTCLK=Q0;1/2分頻

          WHEN([F2..F0]=^b010) THEN OUTCLK=Q1;1/4分頻

          WHEN ([F2..F0]=^b011) THEN OUTCLK=Q2;1/8分頻

          WHEN ([F2..F0]=^b100) THEN OUTCLK=Q3;1/16分頻

          WHEN ([F2..F0]=^b101) THEN OUTCLK=Q4;1/32分頻

          WHEN ([F2..F0]=^b110) THEN OUTCLK=Q5;1/64分頻

          WHEN ([F2..F0]=^b111) THEN OUTCLK=Q6;1/128分頻

          輸出時鐘OUTCLK分別用于地址計數器的計數時鐘驅動、DAC的轉換時鐘驅動以及產生輸出數據同步時鐘(包括正、反兩種相位)。

          2 信號源PCB板設計

          由于該信號源PCB板含有數字及模擬兩種電路,使得PCB板的設計非常關鍵。如PCB設計不當,將使DAC電路輸出的模擬信號噪聲增大,從而影響信號源的性能。

          在該PCB設計中,主要考慮兩個因素,一是電源濾波,另一個是接地。

          在電源入口處,應當接入一個幾十微法的鉭電解電容和一個0.1μF的獨石電容。數字電路部分的電源濾波一般只需在數字IC的電源端用一只0.1μF或0.01μF的獨石電容進行旁路濾波。該電容必須盡量靠近數字IC的電源引腳處,并且接地端要直接接入大面積的地線,否則收效甚微(見圖6)。模擬電路的5V電源應當和數字電路的5V電源分開走線,中間用磁珠加以隔離,以消除數字電路引起電源波動對模擬電路的影響。DAC電路的運放要同時進行高頻低頻濾波,即在各運放在正負電源端同時采用數微法的鉭電解和0.1μF的獨石電容進行旁路。如果使用開關電源,則運放的正負12V電源都要用磁珠串聯以減輕開關噪聲對輸出信號的影響。

          相對于電源濾波,接地問題尤為重要。接地問題的關鍵是采用單點共地技術,即數字電路和模擬電路兩部分的地線在PCB板上嚴格分開,只在一點進行共地連接,該點稱為星點(STAR POINT)。該技術能抑制大部分模數混合電路中特有的數字噪聲對模擬電路的影響。而且根據理論和實際經驗,模擬部分應當置于靠近電源入口的一端。

          3 軟件設計

          軟件采用專為虛擬儀器設計的LabWindows/CVI來完成程序的主體及界面設計,使得該信號源的軟件界面具有真實儀器的面板風格。由于計算機并口只使用I/O空間,并且多數操作系統(如WINDOWS9X)都沒有對I/O端口進行屏蔽,軟件的控制和數據傳輸部分就非常簡單,直接使用I/O函數即可(LabWindows/CVI提供相應函數支持)。軟件的主要工作是產生所需特定信號的數據。根據需要,可以產生兩路8位或單路16位的信號數據,其中16位的數據信號要分為高低8位兩部分數據分別傳送。需要注意的是,如果信號數據是16位,則DAC電路輸出的兩路模擬信號與輸出數據是不一致的,只有其中一路可以粗略地觀察到該信號波形(數據高8位的波形)。為了使用多種工具(如Matlab等)產生的信號數據,軟件在產生常用信號的基礎上,可選擇讀取數據文件的方式,從而可以更快更靈活地得到各種特定信號的輸出。



          評論


          相關推薦

          技術專區(qū)

          關閉