100MHz 數字存儲示波表樣機的研究與試制----顯示數據傳輸電路
5.2顯示數據傳輸電路
本文引用地址:http://dyxdggzs.com/article/201706/348239.htm顯示數據在整個(gè)系統的流向如圖4-6.模擬信號經(jīng)AD采樣進(jìn)來(lái)后通過(guò)FIFO進(jìn)入DSP處理,處理完的數據隨后存入SRAM3.SRAM3中的數據經(jīng)FIFO2送入SRAM1和SRAM2.當要顯示波形時(shí),SRAM1、SRAM2分時(shí)復用,將顯示數據再經(jīng)過(guò)FIFO2送至液晶顯示。系統中,SRAM1、SRAM2、SRAM3都為單口RAM,所以主要存在以下兩個(gè)問(wèn)題:1.合理分配SRAM3的地址總線(xiàn)、數據總線(xiàn)分時(shí)被DSP和FPGA2占用的問(wèn)題;2.正確協(xié)調SRAM1和SRAM2分時(shí)復用送顯示數據的問(wèn)題。
5.2.1 SRAM3的總線(xiàn)占用
解決SRAM3總線(xiàn)占用問(wèn)題的關(guān)鍵是由DSP發(fā)出的XF信號(如圖4-7)。當XF為低電平時(shí),SRAM3的讀寫(xiě)、片選信號ram3_rws[2..0]由DSP發(fā)出的讀寫(xiě)和片選信號DSP_RWS[2..0]控制,同時(shí)DSP的數據、地址線(xiàn)通過(guò)74244和SRAM3的數據、地址線(xiàn)連接起來(lái),并利用XF作為選通信號。當XF為高電平時(shí),SRAM3固定為讀信號和片選信號有效,此時(shí)SRAM3中的數據通過(guò)FIFO2進(jìn)入SRAM1和SRAM2.DMA_A[17..0]是FPGA里地址計數器產(chǎn)生的往SRAM1和SRAM2中寫(xiě)數據時(shí)的地址。這樣,我們就可以通過(guò)控制XF的高低來(lái)選擇是誰(shuí)占用SRAM3的總線(xiàn)。
5.2.2 SRAM1和SRAM2的分時(shí)復用
所謂分時(shí)復用就是指兩片顯示存儲器SRAM1和SRAM2依次向液晶提供顯示數據。它的工作原理如圖4-8所示。其中,View_S由XF反相后二分頻得到。
圖中各部分的工作狀態(tài)如下:
1. RAM3經(jīng)FPGA2向RAM2里寫(xiě)數據。同時(shí),RAM1的數據送LCD顯示。
2. DSP向RAM3里寫(xiě)數據。同時(shí),RAM2的數據送LCD顯示。
3. RAM3經(jīng)FPGA2向RAM1里寫(xiě)數據。同時(shí),RAM2的數據送LCD顯示。
4. DSP向RAM3里寫(xiě)數據。同時(shí),RAM1的數據送LCD顯示。
它的具體工作電路如圖4-9.
圖中,DMA_RWS[2..0]為固定的讀信號和片選信號有效。VIEW_A[15..0]為顯示時(shí)讀顯示RAM的地址。DMA_A[15..0]為寫(xiě)顯示RAM時(shí)的地址。這兩個(gè)地址都由FPGA中的地址計數器產(chǎn)生。
數字存儲示波器的顯示基本包括兩部分,一部分是界面顯示部分,包括菜單的顯示,光標的顯示等,另一部分是波形顯示部分,波形顯示部分是隨時(shí)在更新的,而菜單顯示部分更新的次數是很少,一般在不按鍵操作的情況下是很少改變的。所以我們采用分頁(yè)顯示,即將顯示存儲空間分成兩個(gè)區間,每個(gè)區間都是一屏顯示所需的空間即為240×320×2÷8=19200Bytes.一個(gè)區間用來(lái)顯示菜單,光標等不常刷新的界面,一個(gè)區間用來(lái)顯示波形,LCD顯示時(shí)將兩個(gè)存儲區間里的對應地址的數據通過(guò)硬件電路相或以后再送LCD顯示。這樣在軟件處理是節省了重復刷屏的時(shí)間,也簡(jiǎn)化了軟件的編寫(xiě)。圖4-10為由顯示RAM中兩個(gè)的數據區間相或后送到LCD顯示的電路。其中SHIFT和SHIT1分別兩個(gè)區間的地址計數器的計數時(shí)鐘,它們的時(shí)鐘脈沖要求在一個(gè)CP周期內完成,即兩個(gè)區間的數據讀取必須在一個(gè)CP時(shí)鐘周期內才能保證正確的數據顯示。
第六章串行接口通訊
在很多現場(chǎng)測試場(chǎng)合,工程技術(shù)人員都需要獲得某種形式的測量結果的硬拷貝,以便以后作為參考資料使用,或者設備報告發(fā)生錯誤動(dòng)作時(shí)需要查看以往的資料。另外,在很多情況下我們需要把示波表中的信號傳往PC機,同時(shí)在某些情況下,我們也可能希望用PC機來(lái)對示波表進(jìn)行控制,以上這些情況都要求示波表具有通訊能力。也就是說(shuō),示波表必須裝有通訊硬件以及其支持的軟件。我們稱(chēng)此通訊用軟硬件為“接口”。常用的接口有兩種,RS-232接口和通用接口總線(xiàn)(GPIB),后者又稱(chēng)為IEEE-488總線(xiàn)。與并行接口相比,串行接口的最大特點(diǎn)是減少了器件引腳數目,降低了接口設計復雜性。
串行通信是指數據按位依次傳輸,串行通信中要求發(fā)送和接受雙方必須遵守統一的規定,這樣才能保證正常進(jìn)行,這些對數據傳送方式的規定就是通信協(xié)議,通信協(xié)議包括數據格式和時(shí)間限制等方面的定義和要求等,通信協(xié)議可由用戶(hù)自己制定,也可采用標準通信協(xié)議。
串行數據傳輸可分為同步和異步兩種模式。通用PC機的RS-232接口為通用異步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA公司的串行外圍設備接口SPI、隊列SPI(QSPI)、PHILIPS公司的內部IC總線(xiàn)(I2C),National公司的微總線(xiàn)(MICROWIRE)均為同步串行協(xié)議。目前幾乎所有的數字信號處理器都提供了一個(gè)或多個(gè)串行接口,然而,多數DSP芯片提供的是同步串口。在實(shí)際的應用中,也需要DSP能夠與外設進(jìn)行異步串行通信,如與PC機進(jìn)行串行數據傳輸就要求DSP系統具UART串行接口。針對這種情況,本文研究并實(shí)現了一種簡(jiǎn)單、可靠的異步串口擴展方法。
實(shí)際設計中,我們采用美國MAXIM公司的MAX3111串行異步收發(fā)器,與DSP的McBSP口直接連接,將同步數據變換為UART異步數據格式進(jìn)行傳輸。硬件上無(wú)需任何其它外圍器件,同時(shí)由于異步數據的發(fā)送和接收由MAX3111以硬件方案實(shí)現,所以軟件編程需要考慮的也只是DSP與MAX3111之間的同步數據通信。這樣,用最簡(jiǎn)單的硬件連接和軟件編程就能實(shí)現同步到異步的串行數據格式轉換。
6.1 McBSP的功能與特點(diǎn)
TMS320VC5416具有3個(gè)高速、全雙工、多通道緩沖串行接口(McBSP),其方便的數據流控制可使其與大多數同步串行外圍設備接口。McBSP是在標準串行接口的基礎上對功能進(jìn)行擴展的,除具有標準串口的功能特點(diǎn)外,其靈活性體現在如下幾個(gè)方面:
◆雙緩沖區發(fā)送,三緩沖區接收,允許連續數據流傳輸;
◆可與SPI、IOM-2、AC97等兼容設備直接接口;
◆可編程幀同步、數據時(shí)鐘極性,支持外部移位時(shí)鐘或內部頻率可編程移位時(shí)鐘;
◆擁有相互獨立的數據發(fā)送和接收幀同步脈沖和時(shí)鐘信號;
◆多通道發(fā)送和接收,最多可達128個(gè)通道,速度可為100Mbit/s.
6.2 MAX3111通用異步收發(fā)器
MAX3111通用異步收發(fā)器是MAXIM公司專(zhuān)門(mén)為小型微處理系統進(jìn)行最優(yōu)化設計的UART,它包括一個(gè)振蕩器和一個(gè)可編程波特率發(fā)生器;具有一個(gè)可屏蔽的中斷源;另具有一個(gè)8字節的接收FIFO(先入先出)緩沖器。它應用SPI/MICROWIRE接口技術(shù)直接與主控制器進(jìn)行通信,線(xiàn)路簡(jiǎn)單、體積小,通信速率可達30kbit/s.另外其內部除具有UART之外,還包括兩個(gè)RS-232電平轉換器,這樣無(wú)需再接入普通的MAX232進(jìn)行電平轉換,即可應用一個(gè)芯片實(shí)現微控器(具有PI/MICROWIRE接口)與PC機或其它設備之間的異步數據傳輸。
MAX3111通過(guò)SPI接口與主設備進(jìn)行16位數據的全雙工同步通信,即主設備傳送16位數據給MAX3111的同時(shí),也可接收到MAX3111發(fā)送的16位數據。主設備在MOSI線(xiàn)上向MAX3111發(fā)送的16位串行數據序列中包括傳輸格式控制字,如波特率設備、中斷屏蔽、奇偶校驗位等,同時(shí)還有發(fā)送的數據字。MAX3111在MISO線(xiàn)上向主設備發(fā)送的16位數據序列中除了接收到的數據外,還包括中斷標志等狀態(tài)位。所以通過(guò)16位的實(shí)時(shí)數據傳輸,主設備可獲得MAX3111工作狀態(tài)信息,同時(shí)對其具有完全控制權利。這樣,兩個(gè)設備的控制、狀態(tài)、數據信息的實(shí)時(shí)通信就保證了數據傳輸的可靠性和穩定性。
6.3 TMS320VC5416與MAX3111的接口設計
TMS320VC5416的McBSP串行接口工作于時(shí)鐘停止模式時(shí)與SPI協(xié)議兼容,可直接與MAX3111進(jìn)行連接,從而實(shí)現與RS-232設備進(jìn)行異步數據傳輸。此時(shí)DSP作為SPI協(xié)議中的主設備,其接口電路如圖6-1所示。
TMS320VC5416發(fā)送時(shí)鐘信號(BCLKX)作為MAX3111的串行輸入時(shí)鐘,發(fā)送幀同步脈沖信號(BFSX)作為MAX3111的片選信號(CS)。在這種方式下對接收時(shí)鐘信號(BCLKR)和接收幀同步信號(BFSR)將不進(jìn)行連接,因為它們在內部與BCLKX和BFSX相連接。BDX與DIN連接作為發(fā)送數據線(xiàn),BDR與DOUT連接作為接收數據線(xiàn)。MAX3111的TX與T1IN連接,RX與R1OUT連接,以便利用其片內的轉換器實(shí)現UART到RS-232電平的轉換。MAX3111的中斷信號(IRQ)與DSP的外部中斷相連。
在SPI串行協(xié)議中,主設備提供時(shí)鐘信號并控制數據傳輸過(guò)程。由MAX3111接口電路時(shí)序圖6-2可知,必須設置DSP的McBSP于適當的方式才能保證與MAX3111的時(shí)序相配合。
MAX3111要求在數據傳輸過(guò)程中CS信號必須為低電平,在傳輸完畢后必須為高電平。此信號由McBSP的BFSX引腳提供,因此必須正確設置DSP的幀脈沖發(fā)生器,使之在每個(gè)數據包傳輸期間產(chǎn)生幀同步脈沖,即在數據包傳輸的第一位變?yōu)橛行顟B(tài),然后保持此狀態(tài)直到數據包傳輸結束。
McBSP的采樣率發(fā)生器產(chǎn)生適當頻率的時(shí)鐘信號,由BCLKX引腳輸出,保證主從設備間的同步數據傳輸。因此必須正確設置DSP的采樣率發(fā)生器時(shí)鐘源(CLKSM)和時(shí)鐘降頻因子(CLKGDV)。根據SPI傳輸協(xié)議,必須正確設置數據發(fā)送延遲時(shí)間(XDATDLY)。由圖6-2可知MAX3111要求在SCLK變高之間的半個(gè)周期開(kāi)始傳輸數據。
所以必須為McBSP選擇合適的時(shí)鐘方案,即設置McBSP的時(shí)鐘停止模式。在本應用中采用McBSP的時(shí)鐘停止模式2(CLKSTP=11b,CLKXP=0),這樣即可保證與MAX3111的時(shí)序相配合。
結論
經(jīng)過(guò)一年多的項目分析、論證、設計、制作及調試,現已完成本課題的設計任務(wù),完成了樣機的制作。本課題是“100MHz數字存儲示波表”項目中數字系統部分。它是該項目的重要設計部分,通過(guò)本課題的研究,本文主要完成了以下幾點(diǎn):
1.數據采集系統的研究與設計。數據采集系統是數字存儲示波器與模擬示波器的主要不同之處,它完成模擬信號數字化,通過(guò)實(shí)時(shí)取樣和隨機取樣兩種取樣技術(shù)將模擬信號數字化。這里主要難點(diǎn)在于A(yíng)D在高速采樣率下怎樣避免采樣時(shí)鐘的干擾和AD數據與FIFO的時(shí)序配合問(wèn)題。
2.顯示控制電路實(shí)現。主要設計精髓在于在沒(méi)有專(zhuān)用控制芯片下,采用FPGA設計LCD顯示時(shí)序電路,完全由硬件電路實(shí)現LCD數據顯示流程以及多頁(yè)面數據顯示控制技術(shù)。
3.DSP與外部接口電路的設計。主要是通過(guò)MAX3111完成同步到異步的串行數據格式的轉換。
同時(shí)在設計和調試過(guò)程中遇到了以下幾點(diǎn)問(wèn)題:
1.在調試LCD顯示時(shí),顯示屏上某些點(diǎn)出現閃爍現象。經(jīng)研究發(fā)現是LCD的顯示控制時(shí)序配合不好的緣故。重新調整時(shí)序后,閃爍現象消失。
2.在隨機取樣時(shí),設計的展寬脈沖電路時(shí),發(fā)現隨著(zhù)MAXPLUSⅡ每次編譯的不同,波形恢復出現效果不一樣,有時(shí)能正?;謴?,有時(shí)出現飛點(diǎn),后來(lái)在選用FPGA時(shí)采用了工業(yè)級,效果非常好。
通過(guò)以上工作,示波表的硬件軟件調試工作已初步完成,考慮到項目設計和調試過(guò)程中碰到的問(wèn)題以及與國外同類(lèi)產(chǎn)品的比較,特提出了以下優(yōu)化建議:由于本課題采用了隨機取樣技術(shù),它只能測出單一頻率的周期信號。對于非周期信號不能再現完整波形。故建議在經(jīng)后工作中提高實(shí)時(shí)取樣時(shí)鐘。全部采用實(shí)時(shí)取樣技術(shù)。這樣也簡(jiǎn)化了軟件的設計。
評論