亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LVDS協(xié)議的可編程高速信號模擬源設(shè)計(jì)

        2015-02-10 02:49:51董曄徐大專朱秋明蔣學(xué)東許梁津
        航空兵器 2014年5期

        董曄+徐大專+朱秋明+蔣學(xué)東+許梁津

        摘 要:設(shè)計(jì)了一種基于低壓差分信號(LVDS)協(xié)議的可編程高速信號模擬源。該信號模擬源采用Xilinx公司的Spartan-3E系列現(xiàn)場可編程門陣列(FPGA)作為核心處理芯片,整個(gè)邏輯設(shè)計(jì)集成在一片F(xiàn)PGA內(nèi),包括數(shù)據(jù)生成、信號采集、緩存、并串轉(zhuǎn)換以及LVDS協(xié)議數(shù)據(jù)傳輸與通用異步收發(fā)器控制字(UART)傳輸?shù)娜p工通信等功能。本設(shè)計(jì)電路結(jié)構(gòu)簡單、采集與發(fā)送數(shù)據(jù)速率高、傳輸接口通用性強(qiáng)且收發(fā)具有靈活的可編程性。

        關(guān)鍵詞:信號模擬源;LVDS;UART;可編程邏輯器件

        中圖分類號:TN919.3 文獻(xiàn)標(biāo)識碼:A 文章編號:1673-5048(2014)05-0050-05

        0 引 言

        隨著通信技術(shù)的發(fā)展,高速數(shù)字系統(tǒng)設(shè)計(jì)中所采用的高性能微處理器的運(yùn)行速度越來越快,芯片與芯片之間、外部設(shè)備與板卡之間的傳輸速率也越來越高。低壓差分信號(LowVoltageDifferentialSignaling,LVDS)傳輸技術(shù),是一種基于ANSI/TIA/EIA-644LVDS接口標(biāo)準(zhǔn),滿足高性能數(shù)據(jù)傳輸應(yīng)用的新型傳輸技術(shù)。隨著用戶對系統(tǒng)抗干擾能力、通用性、結(jié)構(gòu)簡化等要求,使得LVDS傳輸技術(shù)的優(yōu)勢越來越明顯。LVDS擁有350mV低壓差分信號以及快速過渡時(shí)間。由于電壓信號幅度較低,且采用恒流源供電,因此產(chǎn)生的噪聲極低,且不論頻率高低,消耗的功率幾乎不變,最高傳輸速率可達(dá)3.125Gbps[1-2]。

        本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于LVDS傳輸協(xié)議的可編程高速信號模擬源,該模擬源采用現(xiàn)場可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)作為核心處理單元,進(jìn)行數(shù)據(jù)生成、邏輯控制和先入先出(FirstInputFirstOutput,F(xiàn)IFO)寄存器資源分配。用戶可通過RS-232串口進(jìn)行參數(shù)靈

        活配置,控制FPGA狀態(tài)機(jī)的跳轉(zhuǎn),實(shí)現(xiàn)各種功能。

        1 硬件總體設(shè)計(jì)

        設(shè)計(jì)框圖如圖1所示。邏輯運(yùn)算采用FPGA進(jìn)行設(shè)計(jì),因?yàn)镕PGA具有重構(gòu)性高、設(shè)計(jì)靈活、邏輯運(yùn)算速度快、邏輯資源密度高等優(yōu)點(diǎn)。設(shè)計(jì)的所有控制邏輯全部采用硬件電路實(shí)現(xiàn),邏輯運(yùn)算集成在一片F(xiàn)PGA中,減少外部電路的復(fù)雜度,同時(shí)也有利于降低功耗,提高電路工作效率[3]。

        其硬件設(shè)備組成如圖2所示。主控FPGA芯片外部電路包括電源模塊、片外存儲模塊和時(shí)鐘模塊。電源模塊主要將外部提供的5V線性電源轉(zhuǎn)換為FPGA以及各芯片所需的3.3V驅(qū)動(dòng)電壓、2.5 V輔助電壓、1.2V內(nèi)核電壓,電源模塊輸出電流為1.5mA。本設(shè)計(jì)所用FPGA是基于SRAM查找表技術(shù),掉電后其所有信息都將會丟失。因此,F(xiàn)PGA所需的配置數(shù)據(jù)應(yīng)存儲在片外的非易失性存儲介質(zhì),如Flash中。待系統(tǒng)上電后,自動(dòng)把配置數(shù)據(jù)從片外存儲器加載到FPGA,這個(gè)過程即為FPGA的加載配置過程。本設(shè)計(jì)片外Flash采用的是與SpartanXC3S1200E相匹配的XCF04S芯片。系統(tǒng)時(shí)鐘由外置30MHz晶振提供,經(jīng)過DCM分頻后,由FPGA分配到各個(gè)邏輯模塊中,保證各個(gè)邏輯運(yùn)算的時(shí)隙誤差最小化。BNC接口將待測設(shè)備通過LVDS控制協(xié)議串口傳輸進(jìn)來的信號在示波器上實(shí)時(shí)、直觀地顯示。

        通信接口技術(shù)是目前的一個(gè)重要發(fā)展方向,是基于軟件與硬件的綜合設(shè)計(jì)技術(shù)。UART串口與 LVDS協(xié)議接口控制相對簡單,不需要多余的驅(qū)動(dòng)即可實(shí)現(xiàn)數(shù)據(jù)的有效傳輸。

        系統(tǒng)工作流程如圖3所示。系統(tǒng)上電工作時(shí),頂層狀態(tài)機(jī)進(jìn)入初始狀態(tài),使能UART接收模塊,準(zhǔn)備接收PC發(fā)送過來的命令字。收到命令字后,F(xiàn)PGA使能UART發(fā)送模塊,將命令字返回,并對命令字進(jìn)行解讀,進(jìn)行狀態(tài)機(jī)的跳轉(zhuǎn)。

        可編程接口設(shè)計(jì)和LVDS協(xié)議控制設(shè)計(jì)是本設(shè)計(jì)的主要部分。可編程接口設(shè)計(jì)完成PC對FPGA的控制以及結(jié)果的采集處理;LVDS協(xié)議控制設(shè)計(jì)完成FPGA與待測設(shè)備之間數(shù)據(jù)的采集、處理、傳輸?shù)裙δ堋?/p>

        FPGA接入的時(shí)鐘由30MHz晶振產(chǎn)生。低于6 MHz的時(shí)鐘,無法通過DCM分頻獲得,一般通過計(jì)數(shù)分頻的方式,由計(jì)數(shù)器跳轉(zhuǎn)控制時(shí)鐘的翻轉(zhuǎn)。高于6MHz的時(shí)鐘通過DCM分頻所得。

        2 高速信號模擬源軟件設(shè)計(jì) 2.1 可編程接口設(shè)計(jì)

        PC經(jīng)通用異步收發(fā)器(UniversalAsynchronous ReceiveTransmitter,UART)對LVDS協(xié)議串口進(jìn)行邏輯控制。

        UART為串行通信方式。只需要2根信號傳輸線(TXD、RXD)就可以完成一組數(shù)據(jù)的全雙工通信。信號傳輸也只有2種狀態(tài),邏輯高電平(1)和邏輯低電平(0)[4]。

        由于串行數(shù)據(jù)幀與接收時(shí)鐘是異步的,接收器采樣頻率是位時(shí)鐘頻率的整數(shù)倍。倍數(shù)越高,接收數(shù)據(jù)各位的分辨率越高。接收方應(yīng)該在數(shù)據(jù)位跳變穩(wěn)定的情況下采樣,即盡可能地靠近位周期的中心處對每位采樣。要求收發(fā)雙方的時(shí)鐘誤差容限在±5%[5-7]。

        根據(jù)RS-232傳輸協(xié)議,本設(shè)計(jì)的數(shù)據(jù)位為8 bit,無奇偶校驗(yàn)位,加上起始位與停止位需10個(gè)時(shí)鐘周期。波特率設(shè)定為9600。當(dāng)FPGA檢測到起始位的下降沿后,狀態(tài)機(jī)跳轉(zhuǎn)到UART接收模塊,對字符接收。計(jì)數(shù)器同時(shí)從0計(jì)數(shù),累加到1562時(shí),對RXD線上信號進(jìn)行第一次采樣,此后每隔30000000/9600=3125次就采一次樣,一直到字符傳輸完畢。計(jì)數(shù)器頻率為30MHz。移位寄存器將傳輸?shù)腢ART串行信號轉(zhuǎn)換成8位并行信號,送入數(shù)據(jù)寄存器,便于FPGA對字符進(jìn)行解析。完成一幀數(shù)據(jù)的接收。

        UART傳輸信號主要對FPGA頂層狀態(tài)機(jī)進(jìn)行控制,控制FPGA時(shí)鐘的選擇、對外傳輸速率的改變、數(shù)據(jù)的發(fā)送接收、并串轉(zhuǎn)換等功能。LVDS協(xié)議串口共有51腳,去除電源和地,考慮收發(fā),可以同時(shí)傳輸四路數(shù)據(jù)、時(shí)鐘并行的信號。所以,UART字符的定義為:D0、D1,選擇數(shù)據(jù)與時(shí)鐘傳輸通道;D4、D5,選擇需要傳輸?shù)乃俾?;D2傳輸啟動(dòng)信號,控制外部待測設(shè)備的開關(guān);D3在自檢診斷時(shí)使用,為高時(shí),LVDS協(xié)議控制串口組成閉環(huán),F(xiàn)PGA對閉環(huán)數(shù)據(jù)進(jìn)行比對,得出診斷結(jié)果;D6、D7對待測設(shè)備返回的狀態(tài)信號進(jìn)行采集、存儲,并向PC端傳輸(如圖4所示)。

        根據(jù)串行通信協(xié)議格式,UART發(fā)送端口包括TXD控制器、數(shù)據(jù)寄存器、移位寄存器。數(shù)據(jù)寄存器寄存待發(fā)送的數(shù)據(jù),包括狀態(tài)信號、自檢診斷結(jié)果數(shù)據(jù)、“反饋校驗(yàn)”的命令字符。

        UART接收模塊接收到字符后,將字符原樣返回,做“反饋校驗(yàn)”使用。FPGA對UART傳輸過來的命令字讀取后傳輸給PC端進(jìn)行判斷,將反饋校驗(yàn)字符與發(fā)送字符逐位比較,若不同,PC提示板卡運(yùn)行錯(cuò)誤?!胺答佇r?yàn)”值為正確的時(shí)候,對命令字逐位進(jìn)行解析,每位的定義由UART接收模塊給出。不同的字符會產(chǎn)生不同的邏輯運(yùn)算。除了“反饋校驗(yàn)”通過UART發(fā)送端輸出,還有兩路數(shù)據(jù)通過此輸出,一路是自檢診斷信號,由字符定義可知,當(dāng)D3為高邏輯電平時(shí),短接診斷通道打開,通過UART發(fā)送端口將結(jié)果傳輸給PC,1字節(jié);一路是狀態(tài)信號,狀態(tài)信號是待測設(shè)備返回給FPGA的數(shù)據(jù)信號,當(dāng)D7為高邏輯電平時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到狀態(tài)輸出模塊,通過UART發(fā)送端口,將FIFO中緩存的狀態(tài)信號傳輸給PC,直觀地觀察狀態(tài)變化,狀態(tài)信號共128字節(jié)。

        UART發(fā)送時(shí),開始位首先發(fā)送出去,同時(shí)發(fā)送數(shù)據(jù)由數(shù)據(jù)寄存器裝載到移位寄存器中,將數(shù)據(jù)以9600Hz逐位發(fā)送出去,并按照線性控制寄存器的要求加上停止位(如圖5所示)。其時(shí)鐘、幀結(jié)構(gòu)配置和工作過程與接收模塊類似,因此,發(fā)送模塊也可以通過相似的狀態(tài)機(jī)實(shí)現(xiàn)。

        2.2 LVDS協(xié)議控制實(shí)現(xiàn)

        LVDS協(xié)議控制工作流程如圖6所示。LVDS為差分信號,一對線傳輸一個(gè)信號,一條線傳輸正信號,另一條線傳輸相反的電平信號,在接收端相減,這對于抑制共模噪聲十分有利。差分信號線極性相反,它們耦合得越緊密,相互抵消的磁力線就越多,泄露到外界的電磁能量也就越少。

        本設(shè)計(jì)LVDS協(xié)議控制接口的功能分為提供待測設(shè)備電源和地、提供待測設(shè)備啟動(dòng)/停止信號、向待測設(shè)備傳輸數(shù)據(jù)和時(shí)鐘信號、上傳待測設(shè)備的狀態(tài)信號以及為短接診斷提供數(shù)據(jù)通行環(huán)路。

        2.2.1 LVDS收發(fā)模塊

        FPGA與待測設(shè)備之間的通信通過LVDS協(xié)議控制端口實(shí)現(xiàn)。FPGA可同時(shí)控制4路待測設(shè)備,每一路包含啟動(dòng)/停止信號、數(shù)據(jù)和時(shí)鐘信號、待測設(shè)備返回的狀態(tài)信號。FPGA對命令字解析后,會確定以多少速率,啟動(dòng)哪一路待測設(shè)備。

        時(shí)鐘信號共有四路,分別對應(yīng)相關(guān)的數(shù)據(jù)傳輸速率,10MHz,15MHz,20MHz,30MHz。四路速率均由外部30MHz晶振經(jīng)過DCM分頻所得。當(dāng)UART傳輸不同的命令字時(shí),會激發(fā)狀態(tài)機(jī)的變化,為保證在命令字傳輸過程中,LVDS串口傳輸正常運(yùn)作,四路傳輸互不干擾,可對時(shí)鐘的觸發(fā)信號進(jìn)行鎖存。因?yàn)镈0、D1決定信號傳輸通道,D2控制待測設(shè)備的啟動(dòng)/停止,D4、D5決定信號傳輸速率,可以將這5bit控制字符聯(lián)合起來,進(jìn)行特定通道,特定速率的傳輸操作,用一個(gè)狀態(tài)機(jī)對5bit信號進(jìn)行鎖存,這樣可以分別對四路通道進(jìn)行不同的控制而不會互相干擾。

        待測設(shè)備所需的啟動(dòng)/停止信號以及返回的狀態(tài)信號不需要差分輸入輸出(如圖7所示),F(xiàn)PGA與待測設(shè)備可直接通過LVDS串口進(jìn)行通信。但出于對FPGA的保護(hù)考慮,F(xiàn)PGA與LVDS串口之間通過芯片SN74LVTN245隔離,防止LVDS串口所接的外部設(shè)備出現(xiàn)故障時(shí),對FPGA造成損傷。SN74LVTN245輸入輸出電壓保持為3.3V,通過DIR腳的高電平(發(fā)送)還是低電平(接收),可以控制信號的傳輸方向。

        LVDS協(xié)議串口接收待測設(shè)備傳輸?shù)臓顟B(tài)信號(如圖8所示),每一路狀態(tài)信號有兩個(gè)輸出方向,一路直接接BNC,連接到示波器上,可以直觀顯示狀態(tài)的變化;一路通過SN74LVTN245轉(zhuǎn)換后傳輸給FPGA進(jìn)行緩存,在有需要的時(shí)候通過RS-232傳輸給PC。

        傳輸數(shù)據(jù)采用上升沿采樣,以16進(jìn)制0xFAF320為幀同步頭,用來在讀取數(shù)據(jù)的時(shí)候提供數(shù)據(jù)開始位;接著同步頭的是由UART接收過來的字符,用來在單獨(dú)對待測設(shè)備進(jìn)行讀取時(shí)可以直觀核對是不是該命令字的輸出結(jié)果,便于校驗(yàn);后面是四字節(jié)的幀計(jì)數(shù)字節(jié),此四字節(jié)主要用來查看在傳輸過程中是否有丟幀現(xiàn)象存在;最后是120個(gè)字節(jié)的數(shù)據(jù)位,用于查看在幀數(shù)據(jù)傳輸中有沒有丟字節(jié)出現(xiàn)。一幀為128字節(jié),1024bit數(shù)據(jù)。圖10為LVDS數(shù)據(jù)和時(shí)鐘信號傳輸圖形。

        LVDS協(xié)議控制發(fā)送端數(shù)據(jù)和時(shí)鐘信號為差分信號,傳輸介質(zhì)為兩對差分信號線。時(shí)鐘信號與傳輸速率同步改變。

        2.2.2 LVDS協(xié)議自檢模塊

        待測設(shè)備接收數(shù)據(jù)后,通過USB將存儲的數(shù)據(jù)導(dǎo)入PC。依據(jù)FPGA生成數(shù)據(jù)的規(guī)律,在偵測到3字節(jié)的同步頭后,將后面第5~8字節(jié)的幀計(jì)數(shù)字節(jié)以及9~128字節(jié)分別剝離開來。幀計(jì)數(shù)字

        節(jié)從0開始累加,每傳輸一幀數(shù)據(jù)自加1,一直到16進(jìn)制的0xFFFFFF后又從0開始循環(huán)。PC將幀計(jì)數(shù)字節(jié)與具有相同變化的數(shù)組進(jìn)行比較,每缺少一幀計(jì)數(shù)1,算出丟幀率=丟幀數(shù)/總幀數(shù)。最后的120字節(jié)同為累加數(shù)值以16進(jìn)制表示,數(shù)據(jù)00~77,依次遞增。同樣將其與具有相同變化的數(shù)組比較,每丟一個(gè)字節(jié)或錯(cuò)發(fā)一個(gè)字節(jié),這一幀發(fā)送錯(cuò)誤。最后與前面的幀計(jì)數(shù)字節(jié)的丟幀數(shù)一起除以總幀數(shù)可得出誤碼率。誤碼率可直觀顯示數(shù)據(jù)傳輸?shù)男阅芎脡摹?/p>

        對待測數(shù)據(jù)通過LVDS控制協(xié)議串口接收到的數(shù)據(jù)進(jìn)行分析時(shí),有時(shí)候會發(fā)現(xiàn)誤碼率計(jì)算與預(yù)想的不一致,卻又無法確定是待測設(shè)備工作出現(xiàn)錯(cuò)誤,還是FPGA測試設(shè)備工作出現(xiàn)錯(cuò)誤。針對這一情況設(shè)計(jì)了LVDS自檢模塊。

        LVDS協(xié)議自檢流程如圖11所示。在自檢時(shí),將LVDS控制協(xié)議輸出串口與輸入串口短接,F(xiàn)PGA向LVDS協(xié)議串口發(fā)送的數(shù)據(jù)直接經(jīng)短接頭返回,F(xiàn)PGA采集返回的數(shù)據(jù),并與0xFAF320逐位比對。四路通道合用一個(gè)字節(jié),高四位為0,低四位分別對應(yīng)4~1通道的診斷結(jié)果。數(shù)值正確,則輸出串口工作正常信號值1;不正確,則不正確通道顯示0。

        自檢信號與FPGA向LVDS串口發(fā)送數(shù)據(jù)模式相反。此時(shí)LVDS主動(dòng)向FPGA發(fā)送差分的數(shù)據(jù)以及時(shí)鐘信號。差分信號轉(zhuǎn)TTL/CMOS可以通過與DS90LV047功能相反的芯片———DS90LV048,如圖12所示。

        3 結(jié) 論

        本文提出并實(shí)現(xiàn)了一種基于LVDS協(xié)議的可編程高速信號模擬源實(shí)現(xiàn)方案,該系統(tǒng)結(jié)構(gòu)簡潔、成本低、可靠性高。樣機(jī)的實(shí)測結(jié)果表明,該系統(tǒng)能夠很好地實(shí)現(xiàn)UART串口高速全雙工通信以及LVDS的信號收發(fā)工作,適合于各類LVDS協(xié)議的數(shù)據(jù)收發(fā)設(shè)備性能測試與驗(yàn)證。

        參考文獻(xiàn):

        [1]楊翠虹,文豐,姚宗.基于LVDS的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010,43(9):59-61.

        [2]侯利民,蘇淑靖.基于低壓差分信號(LVDS)總線的數(shù)字信號源設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2013,13(32):9714-9718.

        [3]王敬美,楊春玲.基于FPGA和UART的數(shù)據(jù)采集器設(shè)計(jì)[J].電子器件,2009,32(2):386-390.

        [4]楊揚(yáng),葉梵,李力.基于FPGA的UART設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2011,34(7):80-82.

        [5]李宏毅,王大明,顧雪琳,等.簡化UART功能的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2004(4):64-66.

        [6]牛濤,吳斌,焦鳳川.基于FPGA的UART電路的設(shè)計(jì)[J].電子測量技術(shù),2006,29(3):73-75.

        [7]王永成,黨源源,徐抒巖.基于CPLD實(shí)現(xiàn)DSP的UART設(shè)計(jì)研究[J].電子器件,2008,31(3):1067-1072.

        根據(jù)串行通信協(xié)議格式,UART發(fā)送端口包括TXD控制器、數(shù)據(jù)寄存器、移位寄存器。數(shù)據(jù)寄存器寄存待發(fā)送的數(shù)據(jù),包括狀態(tài)信號、自檢診斷結(jié)果數(shù)據(jù)、“反饋校驗(yàn)”的命令字符。

        UART接收模塊接收到字符后,將字符原樣返回,做“反饋校驗(yàn)”使用。FPGA對UART傳輸過來的命令字讀取后傳輸給PC端進(jìn)行判斷,將反饋校驗(yàn)字符與發(fā)送字符逐位比較,若不同,PC提示板卡運(yùn)行錯(cuò)誤?!胺答佇r?yàn)”值為正確的時(shí)候,對命令字逐位進(jìn)行解析,每位的定義由UART接收模塊給出。不同的字符會產(chǎn)生不同的邏輯運(yùn)算。除了“反饋校驗(yàn)”通過UART發(fā)送端輸出,還有兩路數(shù)據(jù)通過此輸出,一路是自檢診斷信號,由字符定義可知,當(dāng)D3為高邏輯電平時(shí),短接診斷通道打開,通過UART發(fā)送端口將結(jié)果傳輸給PC,1字節(jié);一路是狀態(tài)信號,狀態(tài)信號是待測設(shè)備返回給FPGA的數(shù)據(jù)信號,當(dāng)D7為高邏輯電平時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到狀態(tài)輸出模塊,通過UART發(fā)送端口,將FIFO中緩存的狀態(tài)信號傳輸給PC,直觀地觀察狀態(tài)變化,狀態(tài)信號共128字節(jié)。

        UART發(fā)送時(shí),開始位首先發(fā)送出去,同時(shí)發(fā)送數(shù)據(jù)由數(shù)據(jù)寄存器裝載到移位寄存器中,將數(shù)據(jù)以9600Hz逐位發(fā)送出去,并按照線性控制寄存器的要求加上停止位(如圖5所示)。其時(shí)鐘、幀結(jié)構(gòu)配置和工作過程與接收模塊類似,因此,發(fā)送模塊也可以通過相似的狀態(tài)機(jī)實(shí)現(xiàn)。

        2.2 LVDS協(xié)議控制實(shí)現(xiàn)

        LVDS協(xié)議控制工作流程如圖6所示。LVDS為差分信號,一對線傳輸一個(gè)信號,一條線傳輸正信號,另一條線傳輸相反的電平信號,在接收端相減,這對于抑制共模噪聲十分有利。差分信號線極性相反,它們耦合得越緊密,相互抵消的磁力線就越多,泄露到外界的電磁能量也就越少。

        本設(shè)計(jì)LVDS協(xié)議控制接口的功能分為提供待測設(shè)備電源和地、提供待測設(shè)備啟動(dòng)/停止信號、向待測設(shè)備傳輸數(shù)據(jù)和時(shí)鐘信號、上傳待測設(shè)備的狀態(tài)信號以及為短接診斷提供數(shù)據(jù)通行環(huán)路。

        2.2.1 LVDS收發(fā)模塊

        FPGA與待測設(shè)備之間的通信通過LVDS協(xié)議控制端口實(shí)現(xiàn)。FPGA可同時(shí)控制4路待測設(shè)備,每一路包含啟動(dòng)/停止信號、數(shù)據(jù)和時(shí)鐘信號、待測設(shè)備返回的狀態(tài)信號。FPGA對命令字解析后,會確定以多少速率,啟動(dòng)哪一路待測設(shè)備。

        時(shí)鐘信號共有四路,分別對應(yīng)相關(guān)的數(shù)據(jù)傳輸速率,10MHz,15MHz,20MHz,30MHz。四路速率均由外部30MHz晶振經(jīng)過DCM分頻所得。當(dāng)UART傳輸不同的命令字時(shí),會激發(fā)狀態(tài)機(jī)的變化,為保證在命令字傳輸過程中,LVDS串口傳輸正常運(yùn)作,四路傳輸互不干擾,可對時(shí)鐘的觸發(fā)信號進(jìn)行鎖存。因?yàn)镈0、D1決定信號傳輸通道,D2控制待測設(shè)備的啟動(dòng)/停止,D4、D5決定信號傳輸速率,可以將這5bit控制字符聯(lián)合起來,進(jìn)行特定通道,特定速率的傳輸操作,用一個(gè)狀態(tài)機(jī)對5bit信號進(jìn)行鎖存,這樣可以分別對四路通道進(jìn)行不同的控制而不會互相干擾。

        待測設(shè)備所需的啟動(dòng)/停止信號以及返回的狀態(tài)信號不需要差分輸入輸出(如圖7所示),F(xiàn)PGA與待測設(shè)備可直接通過LVDS串口進(jìn)行通信。但出于對FPGA的保護(hù)考慮,F(xiàn)PGA與LVDS串口之間通過芯片SN74LVTN245隔離,防止LVDS串口所接的外部設(shè)備出現(xiàn)故障時(shí),對FPGA造成損傷。SN74LVTN245輸入輸出電壓保持為3.3V,通過DIR腳的高電平(發(fā)送)還是低電平(接收),可以控制信號的傳輸方向。

        LVDS協(xié)議串口接收待測設(shè)備傳輸?shù)臓顟B(tài)信號(如圖8所示),每一路狀態(tài)信號有兩個(gè)輸出方向,一路直接接BNC,連接到示波器上,可以直觀顯示狀態(tài)的變化;一路通過SN74LVTN245轉(zhuǎn)換后傳輸給FPGA進(jìn)行緩存,在有需要的時(shí)候通過RS-232傳輸給PC。

        傳輸數(shù)據(jù)采用上升沿采樣,以16進(jìn)制0xFAF320為幀同步頭,用來在讀取數(shù)據(jù)的時(shí)候提供數(shù)據(jù)開始位;接著同步頭的是由UART接收過來的字符,用來在單獨(dú)對待測設(shè)備進(jìn)行讀取時(shí)可以直觀核對是不是該命令字的輸出結(jié)果,便于校驗(yàn);后面是四字節(jié)的幀計(jì)數(shù)字節(jié),此四字節(jié)主要用來查看在傳輸過程中是否有丟幀現(xiàn)象存在;最后是120個(gè)字節(jié)的數(shù)據(jù)位,用于查看在幀數(shù)據(jù)傳輸中有沒有丟字節(jié)出現(xiàn)。一幀為128字節(jié),1024bit數(shù)據(jù)。圖10為LVDS數(shù)據(jù)和時(shí)鐘信號傳輸圖形。

        LVDS協(xié)議控制發(fā)送端數(shù)據(jù)和時(shí)鐘信號為差分信號,傳輸介質(zhì)為兩對差分信號線。時(shí)鐘信號與傳輸速率同步改變。

        2.2.2 LVDS協(xié)議自檢模塊

        待測設(shè)備接收數(shù)據(jù)后,通過USB將存儲的數(shù)據(jù)導(dǎo)入PC。依據(jù)FPGA生成數(shù)據(jù)的規(guī)律,在偵測到3字節(jié)的同步頭后,將后面第5~8字節(jié)的幀計(jì)數(shù)字節(jié)以及9~128字節(jié)分別剝離開來。幀計(jì)數(shù)字

        節(jié)從0開始累加,每傳輸一幀數(shù)據(jù)自加1,一直到16進(jìn)制的0xFFFFFF后又從0開始循環(huán)。PC將幀計(jì)數(shù)字節(jié)與具有相同變化的數(shù)組進(jìn)行比較,每缺少一幀計(jì)數(shù)1,算出丟幀率=丟幀數(shù)/總幀數(shù)。最后的120字節(jié)同為累加數(shù)值以16進(jìn)制表示,數(shù)據(jù)00~77,依次遞增。同樣將其與具有相同變化的數(shù)組比較,每丟一個(gè)字節(jié)或錯(cuò)發(fā)一個(gè)字節(jié),這一幀發(fā)送錯(cuò)誤。最后與前面的幀計(jì)數(shù)字節(jié)的丟幀數(shù)一起除以總幀數(shù)可得出誤碼率。誤碼率可直觀顯示數(shù)據(jù)傳輸?shù)男阅芎脡摹?/p>

        對待測數(shù)據(jù)通過LVDS控制協(xié)議串口接收到的數(shù)據(jù)進(jìn)行分析時(shí),有時(shí)候會發(fā)現(xiàn)誤碼率計(jì)算與預(yù)想的不一致,卻又無法確定是待測設(shè)備工作出現(xiàn)錯(cuò)誤,還是FPGA測試設(shè)備工作出現(xiàn)錯(cuò)誤。針對這一情況設(shè)計(jì)了LVDS自檢模塊。

        LVDS協(xié)議自檢流程如圖11所示。在自檢時(shí),將LVDS控制協(xié)議輸出串口與輸入串口短接,F(xiàn)PGA向LVDS協(xié)議串口發(fā)送的數(shù)據(jù)直接經(jīng)短接頭返回,F(xiàn)PGA采集返回的數(shù)據(jù),并與0xFAF320逐位比對。四路通道合用一個(gè)字節(jié),高四位為0,低四位分別對應(yīng)4~1通道的診斷結(jié)果。數(shù)值正確,則輸出串口工作正常信號值1;不正確,則不正確通道顯示0。

        自檢信號與FPGA向LVDS串口發(fā)送數(shù)據(jù)模式相反。此時(shí)LVDS主動(dòng)向FPGA發(fā)送差分的數(shù)據(jù)以及時(shí)鐘信號。差分信號轉(zhuǎn)TTL/CMOS可以通過與DS90LV047功能相反的芯片———DS90LV048,如圖12所示。

        3 結(jié) 論

        本文提出并實(shí)現(xiàn)了一種基于LVDS協(xié)議的可編程高速信號模擬源實(shí)現(xiàn)方案,該系統(tǒng)結(jié)構(gòu)簡潔、成本低、可靠性高。樣機(jī)的實(shí)測結(jié)果表明,該系統(tǒng)能夠很好地實(shí)現(xiàn)UART串口高速全雙工通信以及LVDS的信號收發(fā)工作,適合于各類LVDS協(xié)議的數(shù)據(jù)收發(fā)設(shè)備性能測試與驗(yàn)證。

        參考文獻(xiàn):

        [1]楊翠虹,文豐,姚宗.基于LVDS的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010,43(9):59-61.

        [2]侯利民,蘇淑靖.基于低壓差分信號(LVDS)總線的數(shù)字信號源設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2013,13(32):9714-9718.

        [3]王敬美,楊春玲.基于FPGA和UART的數(shù)據(jù)采集器設(shè)計(jì)[J].電子器件,2009,32(2):386-390.

        [4]楊揚(yáng),葉梵,李力.基于FPGA的UART設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2011,34(7):80-82.

        [5]李宏毅,王大明,顧雪琳,等.簡化UART功能的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2004(4):64-66.

        [6]牛濤,吳斌,焦鳳川.基于FPGA的UART電路的設(shè)計(jì)[J].電子測量技術(shù),2006,29(3):73-75.

        [7]王永成,黨源源,徐抒巖.基于CPLD實(shí)現(xiàn)DSP的UART設(shè)計(jì)研究[J].電子器件,2008,31(3):1067-1072.

        根據(jù)串行通信協(xié)議格式,UART發(fā)送端口包括TXD控制器、數(shù)據(jù)寄存器、移位寄存器。數(shù)據(jù)寄存器寄存待發(fā)送的數(shù)據(jù),包括狀態(tài)信號、自檢診斷結(jié)果數(shù)據(jù)、“反饋校驗(yàn)”的命令字符。

        UART接收模塊接收到字符后,將字符原樣返回,做“反饋校驗(yàn)”使用。FPGA對UART傳輸過來的命令字讀取后傳輸給PC端進(jìn)行判斷,將反饋校驗(yàn)字符與發(fā)送字符逐位比較,若不同,PC提示板卡運(yùn)行錯(cuò)誤。“反饋校驗(yàn)”值為正確的時(shí)候,對命令字逐位進(jìn)行解析,每位的定義由UART接收模塊給出。不同的字符會產(chǎn)生不同的邏輯運(yùn)算。除了“反饋校驗(yàn)”通過UART發(fā)送端輸出,還有兩路數(shù)據(jù)通過此輸出,一路是自檢診斷信號,由字符定義可知,當(dāng)D3為高邏輯電平時(shí),短接診斷通道打開,通過UART發(fā)送端口將結(jié)果傳輸給PC,1字節(jié);一路是狀態(tài)信號,狀態(tài)信號是待測設(shè)備返回給FPGA的數(shù)據(jù)信號,當(dāng)D7為高邏輯電平時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到狀態(tài)輸出模塊,通過UART發(fā)送端口,將FIFO中緩存的狀態(tài)信號傳輸給PC,直觀地觀察狀態(tài)變化,狀態(tài)信號共128字節(jié)。

        UART發(fā)送時(shí),開始位首先發(fā)送出去,同時(shí)發(fā)送數(shù)據(jù)由數(shù)據(jù)寄存器裝載到移位寄存器中,將數(shù)據(jù)以9600Hz逐位發(fā)送出去,并按照線性控制寄存器的要求加上停止位(如圖5所示)。其時(shí)鐘、幀結(jié)構(gòu)配置和工作過程與接收模塊類似,因此,發(fā)送模塊也可以通過相似的狀態(tài)機(jī)實(shí)現(xiàn)。

        2.2 LVDS協(xié)議控制實(shí)現(xiàn)

        LVDS協(xié)議控制工作流程如圖6所示。LVDS為差分信號,一對線傳輸一個(gè)信號,一條線傳輸正信號,另一條線傳輸相反的電平信號,在接收端相減,這對于抑制共模噪聲十分有利。差分信號線極性相反,它們耦合得越緊密,相互抵消的磁力線就越多,泄露到外界的電磁能量也就越少。

        本設(shè)計(jì)LVDS協(xié)議控制接口的功能分為提供待測設(shè)備電源和地、提供待測設(shè)備啟動(dòng)/停止信號、向待測設(shè)備傳輸數(shù)據(jù)和時(shí)鐘信號、上傳待測設(shè)備的狀態(tài)信號以及為短接診斷提供數(shù)據(jù)通行環(huán)路。

        2.2.1 LVDS收發(fā)模塊

        FPGA與待測設(shè)備之間的通信通過LVDS協(xié)議控制端口實(shí)現(xiàn)。FPGA可同時(shí)控制4路待測設(shè)備,每一路包含啟動(dòng)/停止信號、數(shù)據(jù)和時(shí)鐘信號、待測設(shè)備返回的狀態(tài)信號。FPGA對命令字解析后,會確定以多少速率,啟動(dòng)哪一路待測設(shè)備。

        時(shí)鐘信號共有四路,分別對應(yīng)相關(guān)的數(shù)據(jù)傳輸速率,10MHz,15MHz,20MHz,30MHz。四路速率均由外部30MHz晶振經(jīng)過DCM分頻所得。當(dāng)UART傳輸不同的命令字時(shí),會激發(fā)狀態(tài)機(jī)的變化,為保證在命令字傳輸過程中,LVDS串口傳輸正常運(yùn)作,四路傳輸互不干擾,可對時(shí)鐘的觸發(fā)信號進(jìn)行鎖存。因?yàn)镈0、D1決定信號傳輸通道,D2控制待測設(shè)備的啟動(dòng)/停止,D4、D5決定信號傳輸速率,可以將這5bit控制字符聯(lián)合起來,進(jìn)行特定通道,特定速率的傳輸操作,用一個(gè)狀態(tài)機(jī)對5bit信號進(jìn)行鎖存,這樣可以分別對四路通道進(jìn)行不同的控制而不會互相干擾。

        待測設(shè)備所需的啟動(dòng)/停止信號以及返回的狀態(tài)信號不需要差分輸入輸出(如圖7所示),F(xiàn)PGA與待測設(shè)備可直接通過LVDS串口進(jìn)行通信。但出于對FPGA的保護(hù)考慮,F(xiàn)PGA與LVDS串口之間通過芯片SN74LVTN245隔離,防止LVDS串口所接的外部設(shè)備出現(xiàn)故障時(shí),對FPGA造成損傷。SN74LVTN245輸入輸出電壓保持為3.3V,通過DIR腳的高電平(發(fā)送)還是低電平(接收),可以控制信號的傳輸方向。

        LVDS協(xié)議串口接收待測設(shè)備傳輸?shù)臓顟B(tài)信號(如圖8所示),每一路狀態(tài)信號有兩個(gè)輸出方向,一路直接接BNC,連接到示波器上,可以直觀顯示狀態(tài)的變化;一路通過SN74LVTN245轉(zhuǎn)換后傳輸給FPGA進(jìn)行緩存,在有需要的時(shí)候通過RS-232傳輸給PC。

        傳輸數(shù)據(jù)采用上升沿采樣,以16進(jìn)制0xFAF320為幀同步頭,用來在讀取數(shù)據(jù)的時(shí)候提供數(shù)據(jù)開始位;接著同步頭的是由UART接收過來的字符,用來在單獨(dú)對待測設(shè)備進(jìn)行讀取時(shí)可以直觀核對是不是該命令字的輸出結(jié)果,便于校驗(yàn);后面是四字節(jié)的幀計(jì)數(shù)字節(jié),此四字節(jié)主要用來查看在傳輸過程中是否有丟幀現(xiàn)象存在;最后是120個(gè)字節(jié)的數(shù)據(jù)位,用于查看在幀數(shù)據(jù)傳輸中有沒有丟字節(jié)出現(xiàn)。一幀為128字節(jié),1024bit數(shù)據(jù)。圖10為LVDS數(shù)據(jù)和時(shí)鐘信號傳輸圖形。

        LVDS協(xié)議控制發(fā)送端數(shù)據(jù)和時(shí)鐘信號為差分信號,傳輸介質(zhì)為兩對差分信號線。時(shí)鐘信號與傳輸速率同步改變。

        2.2.2 LVDS協(xié)議自檢模塊

        待測設(shè)備接收數(shù)據(jù)后,通過USB將存儲的數(shù)據(jù)導(dǎo)入PC。依據(jù)FPGA生成數(shù)據(jù)的規(guī)律,在偵測到3字節(jié)的同步頭后,將后面第5~8字節(jié)的幀計(jì)數(shù)字節(jié)以及9~128字節(jié)分別剝離開來。幀計(jì)數(shù)字

        節(jié)從0開始累加,每傳輸一幀數(shù)據(jù)自加1,一直到16進(jìn)制的0xFFFFFF后又從0開始循環(huán)。PC將幀計(jì)數(shù)字節(jié)與具有相同變化的數(shù)組進(jìn)行比較,每缺少一幀計(jì)數(shù)1,算出丟幀率=丟幀數(shù)/總幀數(shù)。最后的120字節(jié)同為累加數(shù)值以16進(jìn)制表示,數(shù)據(jù)00~77,依次遞增。同樣將其與具有相同變化的數(shù)組比較,每丟一個(gè)字節(jié)或錯(cuò)發(fā)一個(gè)字節(jié),這一幀發(fā)送錯(cuò)誤。最后與前面的幀計(jì)數(shù)字節(jié)的丟幀數(shù)一起除以總幀數(shù)可得出誤碼率。誤碼率可直觀顯示數(shù)據(jù)傳輸?shù)男阅芎脡摹?/p>

        對待測數(shù)據(jù)通過LVDS控制協(xié)議串口接收到的數(shù)據(jù)進(jìn)行分析時(shí),有時(shí)候會發(fā)現(xiàn)誤碼率計(jì)算與預(yù)想的不一致,卻又無法確定是待測設(shè)備工作出現(xiàn)錯(cuò)誤,還是FPGA測試設(shè)備工作出現(xiàn)錯(cuò)誤。針對這一情況設(shè)計(jì)了LVDS自檢模塊。

        LVDS協(xié)議自檢流程如圖11所示。在自檢時(shí),將LVDS控制協(xié)議輸出串口與輸入串口短接,F(xiàn)PGA向LVDS協(xié)議串口發(fā)送的數(shù)據(jù)直接經(jīng)短接頭返回,F(xiàn)PGA采集返回的數(shù)據(jù),并與0xFAF320逐位比對。四路通道合用一個(gè)字節(jié),高四位為0,低四位分別對應(yīng)4~1通道的診斷結(jié)果。數(shù)值正確,則輸出串口工作正常信號值1;不正確,則不正確通道顯示0。

        自檢信號與FPGA向LVDS串口發(fā)送數(shù)據(jù)模式相反。此時(shí)LVDS主動(dòng)向FPGA發(fā)送差分的數(shù)據(jù)以及時(shí)鐘信號。差分信號轉(zhuǎn)TTL/CMOS可以通過與DS90LV047功能相反的芯片———DS90LV048,如圖12所示。

        3 結(jié) 論

        本文提出并實(shí)現(xiàn)了一種基于LVDS協(xié)議的可編程高速信號模擬源實(shí)現(xiàn)方案,該系統(tǒng)結(jié)構(gòu)簡潔、成本低、可靠性高。樣機(jī)的實(shí)測結(jié)果表明,該系統(tǒng)能夠很好地實(shí)現(xiàn)UART串口高速全雙工通信以及LVDS的信號收發(fā)工作,適合于各類LVDS協(xié)議的數(shù)據(jù)收發(fā)設(shè)備性能測試與驗(yàn)證。

        參考文獻(xiàn):

        [1]楊翠虹,文豐,姚宗.基于LVDS的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010,43(9):59-61.

        [2]侯利民,蘇淑靖.基于低壓差分信號(LVDS)總線的數(shù)字信號源設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2013,13(32):9714-9718.

        [3]王敬美,楊春玲.基于FPGA和UART的數(shù)據(jù)采集器設(shè)計(jì)[J].電子器件,2009,32(2):386-390.

        [4]楊揚(yáng),葉梵,李力.基于FPGA的UART設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2011,34(7):80-82.

        [5]李宏毅,王大明,顧雪琳,等.簡化UART功能的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2004(4):64-66.

        [6]牛濤,吳斌,焦鳳川.基于FPGA的UART電路的設(shè)計(jì)[J].電子測量技術(shù),2006,29(3):73-75.

        [7]王永成,黨源源,徐抒巖.基于CPLD實(shí)現(xiàn)DSP的UART設(shè)計(jì)研究[J].電子器件,2008,31(3):1067-1072.

        人妻少妇激情久久综合| 亚洲一区二区三区99| 熟女免费观看一区二区| 日本人妻伦理在线播放| 正在播放强揉爆乳女教师| 亚洲人成77777在线播放网站| 亚洲春色在线视频| 曰本女人牲交全视频免费播放| 亚洲国产精品尤物yw在线观看| 久久久久久中文字幕有精品| 亚洲精品无人区一区二区三区| 青青操视频手机在线免费观看| 手机在线亚洲精品网站| 一区二区三区乱码在线 | 欧洲| 精品久久久久久久无码| 亚洲色图在线视频免费观看| 日韩av中文字幕亚洲天| 亚洲毛片免费观看视频| 国产a级三级三级三级| 国产伦理一区二区| 极品美女扒开粉嫩小泬| 国产午夜av一区二区三区| 亚洲天堂av一区二区三区不卡| 在线观看国产视频你懂得| a级毛片免费观看在线播放| 国产激情精品一区二区三区| 真实国产网爆门事件在线观看| 蜜桃在线观看免费高清完整版| 在线视频一区二区国产| 亚洲av无码专区在线| 亚洲综合激情另类小说区| 国产激情内射在线影院| 国产成+人+综合+亚洲 欧美| 亚洲国产日韩av一区二区| 精品乱色一区二区中文字幕| 一区二区三区视频| 国模无码视频一区| 伊人不卡中文字幕在线一区二区| 国产精品熟女少妇不卡| 99re66在线观看精品免费| 最近免费mv在线观看动漫|