• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    FPGA狀態(tài)機(jī)在多路異步串口通信處理的實(shí)時優(yōu)勢

    2017-11-01 07:18:33張建軍安海佳譚可仕韓懷宇
    計算機(jī)測量與控制 2017年8期
    關(guān)鍵詞:雙口狀態(tài)機(jī)緩沖區(qū)

    張建軍,安海佳,譚可仕,王 鋒,韓懷宇

    (中國空間技術(shù)研究院,北京 100094)

    FPGA狀態(tài)機(jī)在多路異步串口通信處理的實(shí)時優(yōu)勢

    張建軍,安海佳,譚可仕,王 鋒,韓懷宇

    (中國空間技術(shù)研究院,北京 100094)

    首先簡要介紹了異步串口板的通常設(shè)計方法,并且提出了這些方法的不足之處,重點(diǎn)闡述了基于FPGA狀態(tài)機(jī)和片上總線的新設(shè)計方案,以及該方案的技術(shù)優(yōu)勢,隨后公布了基于該方案的異步串口板達(dá)到的性能指標(biāo);通過比較有關(guān)應(yīng)答延遲的試驗(yàn)數(shù)據(jù),提出了基于FPGA狀態(tài)機(jī)和基于DSP處理器的異步串口板卡存在明顯的處理速度差異問題,并基于兩種設(shè)計方案,解釋了形成差異的原因;最后提出了FPGA狀態(tài)機(jī)對外部總線存儲器或端口的訪問管理性能大幅超越了任何一款DSP處理器的觀點(diǎn),并對同行提出了類似研發(fā)項(xiàng)目的設(shè)計建議。

    FPGA;狀態(tài)機(jī);異步串口;實(shí)時

    0 引言

    某設(shè)備的測試平臺必須達(dá)到36路通道、11種通訊協(xié)議、波特率4/19.2/38.4/57.6/115.2(Kbps)、小于協(xié)議分析和數(shù)據(jù)處理時間小于1 μs、通訊模式可配置等技術(shù)要求,因此測試平臺內(nèi)異步串口板的設(shè)計方案要面向上述技術(shù)要求而制定。目前異步串口板通常采用嵌入式處理器或者基于FPGA的,非總線式的,異步串口收發(fā)和處理邏輯。前者易于管理總線,分析協(xié)議和處理數(shù)據(jù),但處理速度過慢,后者處理速度快,但無法在線配置通訊模式,不能利用總線進(jìn)行全局管理,故需要一種新的多路異步串口板設(shè)計方案,即能夠?qū)崿F(xiàn)管理總線,分析協(xié)議和處理數(shù)據(jù),又具有強(qiáng)實(shí)時性能,以達(dá)到測試平臺的技術(shù)要求。

    1 背景技術(shù)

    目前異步串口板一般采用以下兩類方法實(shí)現(xiàn)。

    采用獨(dú)立的嵌入式處理器作為數(shù)據(jù)處理單元。異步串口單元要么使用嵌入式處理器自身的2到3個異步串口,要么使用連接到FPGA片內(nèi)總線的通用異步收發(fā)器或異步收發(fā)邏輯,從而建立起一主多從式總線結(jié)構(gòu)。

    采用FPGA芯片集成了若干獨(dú)立的異步串口通路,每個通路均有一對處理邏輯和收發(fā)邏輯,其中收發(fā)邏輯實(shí)現(xiàn)了一路串行數(shù)據(jù)的接受、發(fā)送和并串轉(zhuǎn)換,處理邏輯實(shí)現(xiàn)了一路串行數(shù)據(jù)的讀取、處理和存儲。

    上述兩類方法存在不足之處。傳統(tǒng)的異步串口板,都是采用單片機(jī)或嵌入式處理器作為處理單元,通過訪問通用異步收發(fā)器來讀取或者發(fā)送數(shù)據(jù),數(shù)據(jù)存儲器為一片雙口SDRAM,通過信號燈控制協(xié)議,總線上位機(jī)和板卡處理單元輪換來訪問數(shù)據(jù),板卡處理單元直接接受和應(yīng)答數(shù)據(jù)。通常情況下,串口應(yīng)答有響應(yīng)時間的要求,這使處理單元底層軟件的開發(fā)難度加大,任何操作都需要處理單元的軟件來控制。用嵌入式處理器讀取、處理和存儲數(shù)據(jù),速度慢,特別是無法滿足高速、多路、實(shí)時接收和應(yīng)答的要求。高速嵌入式處理器從串口數(shù)據(jù)幀接收完畢開始,到串行數(shù)據(jù)幀開始發(fā)送為止,即處理延遲至少10 μs級。如果高波特率、多串口通道、獨(dú)立通訊時,就可能出現(xiàn)串口應(yīng)答滯后或數(shù)據(jù)幀不完整的問題。

    使用FPGA芯片集成串口收發(fā)和處理邏輯的技術(shù)手段,解決了多通路、高通訊速率和高頻率下通訊可靠性問題,可以保證各串行通路發(fā)送數(shù)據(jù)幀的完整。但依然存在不足,一是收發(fā)邏輯對處理邏輯是一一對應(yīng)的,而不是基于片內(nèi)總線實(shí)現(xiàn)一主對多從的模式,造成FPGA資源的浪費(fèi),異步串口板可擴(kuò)展性差。二是在目前應(yīng)用中,串口收發(fā)邏輯僅實(shí)現(xiàn)了串并轉(zhuǎn)換,與通用異步串行收發(fā)器相比,功能不足,不具有通用性,如不支持總線的通訊模式設(shè)置、工作狀態(tài)查詢、通訊錯誤類型查詢、處理器中斷報警和波特率設(shè)置等,使得兼容通用異步串行收發(fā)器的異步串口板驅(qū)動程序不兼容FPGA芯片集成串并轉(zhuǎn)換電路的板卡。

    2 設(shè)計方案

    2.1 設(shè)計思路

    為便于性能比較,分別用TMS320C6416 DSP處理器和FPGA狀態(tài)機(jī)作處理單元,進(jìn)行多路通用異步串口管理,協(xié)議分析和數(shù)據(jù)處理,最終實(shí)現(xiàn)兩塊功能相同的異步串口板(兩者系統(tǒng)結(jié)構(gòu)、程序流程、通訊協(xié)議和軟硬件接口均相同),以便性能比較。每塊均有1個FPGA芯片XC3S2000-4 FG456,1個PCI總線控制器PCI9052,1個雙口SDRAM IDT7132。只是前者采用通常的方法,在板卡上多了TMS320C6416 DSP處理器,而后者沒有DSP處理器,在FPGA芯片上多了WB總線處理邏輯。兩者在FPGA上均集成了WB片上總線,36個通用異步串行收發(fā)器軟核、1個雙口SDRAM接口邏輯、地址譯碼器、配置狀態(tài)寄存器區(qū),以及串口接收濾波邏輯等。下文重點(diǎn)介紹FPGA狀態(tài)機(jī)作處理單元的實(shí)現(xiàn)方法,性能指標(biāo),并對兩者的處理速度進(jìn)行了比較和分析。

    2.2 硬件板卡設(shè)計

    基于FPGA狀態(tài)機(jī)和WISHBONE片上總線(下文簡稱為WB總線)的36通路異步串口板系統(tǒng)架構(gòu)如圖1所示。

    圖1 基于FPGA狀態(tài)機(jī)和WB片上總線的異步串口板系統(tǒng)架構(gòu)

    2.2.1 PCI9052總線控制器

    實(shí)現(xiàn)了總線到9052 LOCAL總線協(xié)議適配,LOCAL總線配置為8位數(shù)據(jù)線,1個2K字節(jié)的RAM空間,1個IO空間,1個高電平有效的中斷源。

    2.2.2 雙口SDRAM

    采用IDT7132芯片作為數(shù)據(jù)緩沖區(qū),容量2 k*8 bit,讀寫周期均為20 ns。為了避免上位機(jī)正在更新某數(shù)據(jù)區(qū),而與該數(shù)據(jù)區(qū)對應(yīng)的異步串口要求發(fā)送該數(shù)據(jù)區(qū)的情況,在設(shè)計中將雙口SDRAM的存儲空間分為兩部分,即上位機(jī)可寫訪問的一級緩沖區(qū)和WB總線處理邏輯可寫訪問的二級緩沖區(qū)。對應(yīng)36通路,一級和二級緩沖區(qū)均分成了72個子區(qū),每路異步串口對應(yīng)著一級緩沖區(qū)內(nèi)的一對發(fā)送子區(qū)和接收子區(qū),以及二級緩沖區(qū)內(nèi)的一對發(fā)送子區(qū)和接收子區(qū)。上位機(jī)可讀寫一級發(fā)送子區(qū),但只能讀一級接收子區(qū);WB總線處理邏輯只能讀一級發(fā)送子區(qū),可讀寫一級接收子區(qū)和二級所有子區(qū)。

    2.2.3 FPGA芯片

    FPGA芯片為串口板核心器件,選用XC3S2000-4 FG456芯片,支持200 MHz時鐘,IO口上升和下降速度均達(dá)到5 ns。

    1)WB片內(nèi)總線:即WB片內(nèi)總線,是一種應(yīng)用普遍的、具有靈活性的IP核互聯(lián)接口。

    2)異步收發(fā)器:異步收發(fā)器為IP軟核,來源于opencores開源組織,支持WB接口,與通用異步收發(fā)器兼容,每個可實(shí)現(xiàn)一路全雙工異步串口通訊。

    3)雙口SDRAM總線接口邏輯:片內(nèi)有兩個獨(dú)立的雙口SDRAM總線接口邏輯,分別實(shí)現(xiàn)了雙口SDRAM與WB總線和LOCAL總線的邏輯連接。

    4)LOCAL總線寄存器區(qū):為了方便上位機(jī)對各異步串口獨(dú)立靈活配置、全面監(jiān)控工作狀態(tài),必須設(shè)置可供上位機(jī)訪問的若干配置寄存器和狀態(tài)寄存器, 而且LOCAL總線寄存器區(qū)邏輯是上位機(jī)與片內(nèi)WB總線處理邏輯之間的通訊橋梁。

    5)地址譯碼邏輯:片內(nèi)有兩個獨(dú)立的地址譯碼邏輯,分別根據(jù)LOCAL總線地址和WB總線地址,片選總線從邏輯。

    6)串口接收濾波邏輯:片內(nèi)36個獨(dú)立的串口接收濾波邏輯,每個對應(yīng)一路異步收發(fā)器的接收端,可濾除正負(fù)跳變寬度小于1 μs的毛刺,但會造成1 μs的信號延遲。

    7)WB總線處理邏輯:實(shí)質(zhì)是WB總線狀態(tài)機(jī),實(shí)現(xiàn)了訪問WB總線、數(shù)據(jù)處理、數(shù)據(jù)存儲和各串口通訊協(xié)議的功能。主要任務(wù)是根據(jù)上位機(jī)設(shè)置的LOCAL總線配置寄存器區(qū),設(shè)置各異步收發(fā)器的工作模式,接收串口數(shù)據(jù),遵循通訊協(xié)議,發(fā)送串口數(shù)據(jù),完成一級、二級緩沖區(qū)數(shù)據(jù)更新或復(fù)制,并將各串口通道的工作狀態(tài)標(biāo)識到LOCAL總線狀態(tài)寄存器區(qū),供上位機(jī)查詢。

    2.2.4 FPGA資源占用情況

    布局布線后,F(xiàn)PGA資源占用情況如下。

    Target Device : xc3s2000

    Target Speed : -4

    Target Package : fg456

    -------------Design Summary----

    Slice Flip Flops: 13117 out of 40,960 32%

    4 input LUTs : 26679 out of 40,960 65%

    Occupied Slices : 17264 out of 20,480 84%

    Bonded IOBs : 211 out of 333 63%

    Total equivalent gate count for design: 373677

    2.3 FPGA程序設(shè)計

    FPGA程序主要模塊包括,WB總線處理邏輯、PCI9052總線控制器與雙口SDRAM的接口邏輯、WB片內(nèi)總線與雙口SDRAM的接口邏輯、串口接收濾波邏輯、地址譯碼器和配置狀態(tài)寄存器區(qū)等,其中WB總線處理邏輯實(shí)現(xiàn)了多路通用異步串口管理、協(xié)議分析和數(shù)據(jù)處理,重點(diǎn)介紹WB總線處理邏輯(狀態(tài)機(jī))的實(shí)現(xiàn)方法。因?yàn)榇诎逋ǖ罃?shù)量多,通信協(xié)議繁雜,版面所限,僅介紹其中1路通道的編程方法,其它35路通道的編程方法相同,也由此邏輯統(tǒng)一管理。

    該路通信協(xié)議,波特率115.2 k,每個字包括1個起始位,8個數(shù)據(jù)位,1個效驗(yàn)位和1個停止位。通信幀包括命令段、數(shù)據(jù)段和效驗(yàn)段,結(jié)構(gòu)如下表:

    通信幀命令段數(shù)據(jù)段效驗(yàn)段接收幀(從串口到上位機(jī))1個字8個字1個字發(fā)送幀(從上位機(jī)到串口)1個字10個字1個字

    WB總線處理邏輯狀態(tài)機(jī)的處理流程簡述如下。如果上位機(jī)請求更新一級緩沖區(qū)的某子區(qū),上位機(jī)查詢“FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”,若為真,則等待;否則置位“上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”,設(shè)置“更新發(fā)送區(qū)ID寄存器”和“發(fā)送幀長度寄存器”,更新一級緩沖區(qū)的發(fā)送子區(qū),完畢后復(fù)位“上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”,產(chǎn)生“更新二級緩沖區(qū)的中斷請求”。WB總線處理邏輯響應(yīng)該中斷,查詢“上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”,若為真,則等待;否則置位“FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”,依據(jù)“更新發(fā)送區(qū)ID寄存器”內(nèi)容,讀訪問一級緩沖區(qū)的相應(yīng)發(fā)送子區(qū),并存入二級緩沖區(qū)的相應(yīng)發(fā)送子區(qū),完畢后復(fù)位“FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志”。在WB總線處理邏輯更新二級緩沖區(qū)期間,暫不響應(yīng)異步串口交易中斷。每次FPGA讀寫訪問IDT7132,需20 ns。在處理任務(wù)最重條件下,即WB總線處理邏輯在更新二級緩存時,串口恰好要求傳送12個字節(jié)上限的數(shù)據(jù),發(fā)送只延遲20*12*2=480 ns,仍滿足小于1 μs的試驗(yàn)要求。

    如果某異步收發(fā)器存在接收或發(fā)送任務(wù),即串口通信中斷請求存在,WB總線處理邏輯讀訪問該異步收發(fā)器的中斷狀態(tài)寄存器,如果是發(fā)送中斷請求,WB總線處理邏輯從二級緩沖區(qū)某發(fā)送子區(qū)讀取發(fā)送數(shù)據(jù),寫入該異步收發(fā)器的“發(fā)送數(shù)據(jù)寄存器”中,每發(fā)送一個字節(jié),異步收發(fā)器均會再請求中斷,WB總線處理邏輯循環(huán)響應(yīng),直至發(fā)送的字節(jié)數(shù)等于對應(yīng)的“發(fā)送幀長度寄存器”預(yù)設(shè)值,發(fā)送完畢,清相應(yīng)中斷;如果是接收中斷請求,讀訪問接收數(shù)據(jù)寄存器,并將數(shù)據(jù)存入二級緩沖區(qū)對應(yīng)接收子區(qū)。每接收一個字節(jié)后,在“接收幀超時結(jié)束門限寄存器”設(shè)置的時間內(nèi)未出現(xiàn)新的接收數(shù)據(jù)中斷,則認(rèn)為已收到完整數(shù)據(jù)幀。隨后根據(jù)接收數(shù)據(jù)幀的內(nèi)容,判斷是否存在錯誤,以及何種錯誤,并標(biāo)識在對應(yīng)的“接收幀診斷結(jié)果寄存器”和“接收幀長度寄存器”,并設(shè)置“二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)”的中斷請求。如果上位機(jī)未訪問一級緩沖區(qū),則WB總線處理邏輯響應(yīng)上述中斷,執(zhí)行二級至一級的某接收子區(qū)“數(shù)據(jù)復(fù)制”后,清相應(yīng)中斷,置位LOCAL總線接收中斷請求,請求上位機(jī)從一級緩沖區(qū)讀取數(shù)據(jù);如果上位機(jī)正在訪問一級緩沖區(qū),則等待時機(jī)再復(fù)制數(shù)據(jù)。

    WB總線處理邏輯狀態(tài)機(jī)的實(shí)現(xiàn)方法如下。

    module wb_master

    (

    輸入輸出端口聲明

    );

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘)

    begin

    if (WB總線復(fù)位)

    復(fù)位"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    else if(接收幀超時結(jié)束門限寄存器設(shè)置的時間內(nèi)未出現(xiàn)新的接收數(shù)據(jù)中斷請求)

    認(rèn)為已收到一個數(shù)據(jù)幀,設(shè)置"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    else if(二級緩沖區(qū)覆蓋一級相應(yīng)子區(qū)完畢)

    復(fù)位"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    end

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘)

    begin

    if (WB總線復(fù)位)

    接收幀診斷結(jié)果寄存器和接收幀長度寄存器復(fù)位;

    else if(接收幀超時結(jié)束門限寄存器設(shè)置的時間內(nèi)未出現(xiàn)新的接收數(shù)據(jù)中斷請求)

    begin

    隨后根據(jù)接收數(shù)據(jù)幀的內(nèi)容,判斷是否存在錯誤,以及何種錯誤,并標(biāo)識在對應(yīng)的

    "接收幀診斷結(jié)果寄存器"和"接收幀長度寄存器";

    end

    end

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘) //WB總線處理邏輯狀態(tài)機(jī)

    begin

    if (WB總線復(fù)位)

    寄存器初始化;

    else

    begin

    case(WB總線處理邏輯工作狀態(tài))

    清UART中斷寄存器 :

    啟動WB讀時序,讀UART中斷寄存器;

    等待狀態(tài) :

    begin

    if(UART通信中斷請求)

    WB總線處理邏輯工作狀態(tài) = 讀中斷狀態(tài)寄存器;

    else if(延遲發(fā)送定時器溢出)

    begin

    復(fù)位延遲發(fā)送定時器、延遲發(fā)送定時器溢出信號;

    if(發(fā)送幀長度為0)

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    else

    begin

    if(如果接收幀完整正確)

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)發(fā)送子區(qū);

    else

    WB總線處理邏輯工作狀態(tài) = 發(fā)送錯誤提示碼;

    end

    end

    else if(更新二級緩沖區(qū)中斷請求 & ~上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志 & 相應(yīng)串口不正在發(fā)送數(shù)據(jù))

    begin

    WB總線處理邏輯工作狀態(tài) = 讀一級緩沖區(qū)的延遲發(fā)送時間寄存器;

    置位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    else if(二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)中斷請求 & ~上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志 & 相應(yīng)串口不正在接收數(shù)據(jù))

    begin

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)接收子區(qū)數(shù)據(jù);

    置位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    else

    begin

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    復(fù)位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    end

    讀一級緩沖區(qū)的延遲發(fā)送時間寄存器 :

    begin

    啟動WB總線讀時序,讀一級緩沖區(qū)的延遲發(fā)送時間寄存器;

    WB總線處理邏輯工作狀態(tài) = 寫二級緩沖區(qū)的延遲發(fā)送時間寄存器;

    end

    寫二級緩沖區(qū)的延遲發(fā)送時間寄存器 :

    begin

    啟動WB總線寫時序,寫二級緩沖區(qū)的延遲發(fā)送時間寄存器;

    WB總線處理邏輯工作狀態(tài) = 讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    end

    讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器 :

    begin

    啟動WB總線讀時序,讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    根據(jù)一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器,確定更新長度寄存器;

    WB總線處理邏輯工作狀態(tài) = 寫二級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    End

    module wb_master

    (

    輸入輸出端口聲明

    );

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘)

    begin

    if (WB總線復(fù)位)

    復(fù)位"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    else if(接收幀超時結(jié)束門限寄存器設(shè)置的時間內(nèi)未出現(xiàn)新的接收數(shù)據(jù)中斷請求)

    認(rèn)為已收到一個數(shù)據(jù)幀,設(shè)置"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    else if(二級緩沖區(qū)覆蓋一級相應(yīng)子區(qū)完畢)

    復(fù)位"二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)"中斷請求;

    end

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘)

    begin

    if (WB總線復(fù)位)

    接收幀診斷結(jié)果寄存器和接收幀長度寄存器復(fù)位;

    else if(接收幀超時結(jié)束門限寄存器設(shè)置的時間內(nèi)未出現(xiàn)新的接收數(shù)據(jù)中斷請求)

    begin

    隨后根據(jù)接收數(shù)據(jù)幀的內(nèi)容,判斷是否存在錯誤,以及何種錯誤,并標(biāo)識在對應(yīng)的

    "接收幀診斷結(jié)果寄存器"和"接收幀長度寄存器";

    end

    end

    always@(posedge WB總線復(fù)位 or posedge WB總線時鐘) //WB總線處理邏輯狀態(tài)機(jī)

    begin

    if (WB總線復(fù)位)

    寄存器初始化;

    else

    begin

    case(WB總線處理邏輯工作狀態(tài))

    清UART中斷寄存器 :

    啟動WB讀時序,讀UART中斷寄存器;

    等待狀態(tài) :

    begin

    if(UART通信中斷請求)

    WB總線處理邏輯工作狀態(tài) = 讀中斷狀態(tài)寄存器;

    else if(延遲發(fā)送定時器溢出)

    begin

    復(fù)位延遲發(fā)送定時器、延遲發(fā)送定時器溢出信號;

    if(發(fā)送幀長度為0)

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    else

    begin

    if(如果接收幀完整正確)

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)發(fā)送子區(qū);

    else

    WB總線處理邏輯工作狀態(tài) = 發(fā)送錯誤提示碼;

    end

    end

    else if(更新二級緩沖區(qū)中斷請求 & ~上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志 & 相應(yīng)串口不正在發(fā)送數(shù)據(jù))

    begin

    WB總線處理邏輯工作狀態(tài) = 讀一級緩沖區(qū)的延遲發(fā)送時間寄存器;

    置位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    else if(二級緩沖區(qū)接收子區(qū)覆蓋一級緩沖區(qū)接收子區(qū)中斷請求 & ~上位機(jī)訪問雙口SDRAM一級緩沖區(qū)標(biāo)志 & 相應(yīng)串口不正在接收數(shù)據(jù))

    begin

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)接收子區(qū)數(shù)據(jù);

    置位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    else

    begin

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    復(fù)位FPGA訪問雙口SDRAM一級緩沖區(qū)標(biāo)志;

    end

    end

    讀一級緩沖區(qū)的延遲發(fā)送時間寄存器 :

    begin

    啟動WB總線讀時序,讀一級緩沖區(qū)的延遲發(fā)送時間寄存器;

    WB總線處理邏輯工作狀態(tài) = 寫二級緩沖區(qū)的延遲發(fā)送時間寄存器;

    end

    寫二級緩沖區(qū)的延遲發(fā)送時間寄存器 :

    begin

    啟動WB總線寫時序,寫二級緩沖區(qū)的延遲發(fā)送時間寄存器;

    WB總線處理邏輯工作狀態(tài) = 讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    end

    讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器 :

    begin

    啟動WB總線讀時序,讀一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    根據(jù)一級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器,確定更新長度寄存器;

    WB總線處理邏輯工作狀態(tài) = 寫二級緩沖區(qū)的更新發(fā)送區(qū)ID寄存器;

    end

    else if(接收字節(jié)計數(shù)器 < 接收幀長度寄存器)

    WB總線處理邏輯工作狀態(tài) = 寫二級緩沖區(qū)接收子區(qū);

    else

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    if(接收字節(jié)計數(shù)器 < 接收幀長度寄存器 - 1)

    效驗(yàn)碼累加寄存器 = 效驗(yàn)碼累加寄存器 + 接收數(shù)據(jù)寄存器;

    else if(接收字節(jié)計數(shù)器 == 接收幀長度寄存器 - 1)

    begin

    效驗(yàn)碼累加寄存器 = 效驗(yàn)碼累加寄存器 ^ 接收數(shù)據(jù)寄存器;

    if(效驗(yàn)碼累加寄存器 == 0)

    復(fù)位效驗(yàn)碼錯誤標(biāo)識;

    else

    置位效驗(yàn)碼錯誤標(biāo)識;

    end

    end

    寫二級緩沖區(qū)接收子區(qū) :

    begin

    啟動WB總線寫時序,將接收數(shù)據(jù)寫入二級緩沖區(qū)接收子區(qū);

    if(接收字節(jié)計數(shù)器 < 接收幀長度寄存器)

    接收字節(jié)計數(shù)器 = 接收字節(jié)計數(shù)器 + 1;

    if(接收字節(jié)計數(shù)器 < 接收幀長度寄存器)

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    else if(接收字節(jié)計數(shù)器 == 接收幀長度寄存器)

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)的發(fā)送延遲時間寄存器;

    end

    讀二級緩沖區(qū)的發(fā)送延遲時間寄存器 : //讀二級緩沖區(qū)的延遲發(fā)送時間寄存器,打開延遲發(fā)送計時器

    begin

    啟動WB總線讀時序,讀二級緩沖區(qū)的延遲發(fā)送時間寄存器;

    設(shè)置延遲發(fā)送時間寄存器;

    啟動延遲發(fā)送定時器;

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    end

    讀二級緩沖區(qū)發(fā)送子區(qū) :

    begin

    根據(jù)命令碼寄存器和發(fā)送字節(jié)計數(shù)器,確定發(fā)送數(shù)據(jù)在二級緩沖區(qū)發(fā)送子區(qū)的地址;

    啟動WB總線讀時序,讀二級緩沖區(qū)發(fā)送子區(qū)數(shù)據(jù);

    WB總線處理邏輯工作狀態(tài) = 發(fā)送二級緩沖區(qū)發(fā)送子區(qū)數(shù)據(jù);

    end

    發(fā)送二級緩沖區(qū)發(fā)送子區(qū)數(shù)據(jù) :

    begin

    啟動WB總線寫時序,將二級緩沖區(qū)發(fā)送子區(qū)數(shù)據(jù)寫入發(fā)送數(shù)據(jù)寄存器;

    發(fā)送字節(jié)計數(shù)器 = 發(fā)送字節(jié)計數(shù)器 + 1;

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    end

    發(fā)送錯誤提示碼 : //當(dāng)接收幀錯誤時,發(fā)送錯誤提示碼

    begin

    啟動WB總線寫時序,將錯誤提示碼寫入發(fā)送數(shù)據(jù)寄存器;

    發(fā)送字節(jié)計數(shù)器 = 發(fā)送字節(jié)計數(shù)器 + 1;

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    end

    讀二級緩沖區(qū)接收子區(qū)數(shù)據(jù) :

    begin

    根據(jù)UART地址和更新字節(jié)計數(shù)器,確定新數(shù)據(jù)在二級緩沖區(qū)接收子區(qū)的地址;

    啟動WB總線讀時序,讀二級緩沖區(qū)接收子區(qū)新數(shù)據(jù);

    WB總線處理邏輯工作狀態(tài) = 寫一級緩沖區(qū)接收子區(qū)數(shù)據(jù);

    end

    寫一級緩沖區(qū)接收子區(qū)數(shù)據(jù) :

    begin

    根據(jù)UART地址和更新字節(jié)計數(shù)器,確定一級緩沖區(qū)接收子區(qū)的地址;

    啟動WB總線寫時序,將新數(shù)據(jù)寫入一級緩沖區(qū)接收子區(qū);

    更新字節(jié)計數(shù)器 = 更新字節(jié)計數(shù)器 + 1;

    if(更新字節(jié)計數(shù)器 == 接收幀長度寄存器)

    begin

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    更新字節(jié)計數(shù)器 = 8'h0;

    end

    else if(更新字節(jié)計數(shù)器 < 接收幀長度寄存器)

    WB總線處理邏輯工作狀態(tài) = 讀二級緩沖區(qū)接收子區(qū)數(shù)據(jù);

    end

    default :

    表2 應(yīng)答延遲時間統(tǒng)計

    WB總線處理邏輯工作狀態(tài) = 等待狀態(tài);

    endcase

    end

    end

    endmodule

    2.5 性能指標(biāo)

    3U的異步串口板實(shí)現(xiàn)了36通道的全雙工通用異步收發(fā)器,11種通訊協(xié)議,每種通訊協(xié)議對應(yīng)1種波特率、1種數(shù)據(jù)格式和若干通道。通訊周期200 ms,每通道通訊間隔5 ms;每路串口通訊最高速率不低于2 Mbps;每路串口通道12個字節(jié)的發(fā)送緩沖區(qū)和12個字節(jié)的接收緩沖區(qū);處理時間小于1 μs。上位機(jī)可分別配置各通道波特率、數(shù)據(jù)格式、通訊協(xié)議,并查詢工作狀態(tài),完全滿足某重要設(shè)備測試平臺的試驗(yàn)要求。

    3 試驗(yàn)數(shù)據(jù)分析

    在聯(lián)機(jī)試驗(yàn)中,測試平臺先后使用了由TMS320C6416 DSP處理器和XC3S2000 FPGA狀態(tài)機(jī)作處理單元的異步串口板,分組測試了相同波特率的所有通道,及全部通道。試驗(yàn)重點(diǎn)考察數(shù)據(jù)之一是應(yīng)答延遲時間,即接收幀停止位和發(fā)送幀起始位之間的延遲,其由兩部分組成,分別是固有延遲和處理延遲。其中固有延遲由為濾波而設(shè)置的1 μs濾波延遲和為判斷接收幀結(jié)束而設(shè)置的半位延遲組成,半位延遲與波特率成反比。處理延遲由處理單元訪問總線端口、數(shù)據(jù)處理和實(shí)現(xiàn)通訊協(xié)議所耗時間組成,DSP處理器和FPGA狀態(tài)機(jī)作處理單元時,處理延遲有明顯差別,實(shí)測應(yīng)答延遲時間統(tǒng)計如表2所示。

    從統(tǒng)計表得出如下結(jié)論:

    1)無論采用何種處理單元,處理延遲與波特率和通訊數(shù)據(jù)量無關(guān)。因?yàn)樯衔粰C(jī)已將數(shù)據(jù)寫入各通道的數(shù)據(jù)發(fā)送子區(qū),依據(jù)接收幀命令參數(shù),DSP處理器和FPGA狀態(tài)機(jī)只需進(jìn)行簡單邏輯和算法運(yùn)算即可獲得發(fā)送數(shù)據(jù)幀,對于4―115.2 kbps之間的波特率和12字節(jié)的數(shù)據(jù)量,有充分時間裕量,不會出現(xiàn)處理瓶頸。

    2)TMS320C6416 DSP處理器作處理單元時,處理延遲及其變化范圍較大,而且通道數(shù)越多,處理延遲及其變化范圍越大,反之則越小。因?yàn)镈SP處理器IO端口數(shù)量有限,當(dāng)串口通道數(shù)量較多時,部分重要信號只能通過輸入輸出端口成組傳送,所以DSP處理器不僅要通過片上總線訪問異步收發(fā)器和SDRAM,還要通過片上總線訪問相當(dāng)數(shù)量的輸入輸出端口,以便和上位機(jī)、FPGA交換信號。為了及時傳輸這些信號,DSP處理器還需要以一定的頻率巡檢這些信號。另外DSP處理器所有處理過程都是順序執(zhí)行的,處理時間與程序語句數(shù)量成正比關(guān)系。

    3)XC3S2000 FPGA狀態(tài)機(jī)作處理單元時,處理延遲及其變化范圍很小,而且與通道數(shù)量無關(guān)。因?yàn)镕PGA集成片上系統(tǒng)后,其狀態(tài)機(jī)與其它片上邏輯之間的信號傳輸通過片內(nèi)布線完成,而布線資源幾乎不受限,不僅簡化了處理單元的處理任務(wù),而且保證了信號的實(shí)時傳輸,不必巡檢端口。另外FPGA狀態(tài)機(jī)不僅能夠通過狀態(tài)轉(zhuǎn)移完成時序功能,而且能夠通過并行處理完成算法功能,所以全部處理時間基本由訪問總線端口的程序語句數(shù)量決定,與算法和通道數(shù)量幾乎無關(guān)。

    4)FPGA狀態(tài)機(jī)對外部總線或端口的訪問管理性能大幅超越了TMS320C6416 DSP處理器,片上邏輯之間的信號實(shí)時傳輸能力也大幅超越了后者。

    4 結(jié)論和建議

    基于FPGA狀態(tài)機(jī)和片上總線的多通道異步串口板,性能大幅超越了基于DSP處理器的串口板。這表明在算法相對簡單、功能單一的條件下,F(xiàn)PGA狀態(tài)機(jī)對外部總線存儲器或端口的訪問管理性能大幅超越了任何一款DSP處理器,另外FPGA狀態(tài)機(jī)的信號實(shí)時傳輸能力也大幅超越了DSP處理器。雖然開發(fā)周期相對較長,但一旦定型,性能突出,可靠性高。而高性能DSP處理器僅在內(nèi)存中運(yùn)行程序時速度快,但在管理外部總線存儲器或端口時,其優(yōu)勢無法發(fā)揮。

    建議同行在研制“具有高時序性能的、多外設(shè)接口的、功能單一的設(shè)備”時,參考上述基于FPGA狀態(tài)機(jī)和片上總線的設(shè)計方案。

    [1] Xilinx, Inc. Spartan-3 FPGA Family: Complete Datasheet[M].2004.

    [2] Opencores.WISHBONE System-on-Chip (SoC) Interconnection Architecture for Portable IP Cores[M]. Revision: B.3, September 7, 2002.

    [3] Jacob Gorban. UART IP Core[M]. Revision: 0.6 August 11, 2002.

    [4] 孫進(jìn)平,王 俊,李 偉,等. DSP/FPGA嵌入式實(shí)時處理技術(shù)及應(yīng)用[M]. 北京:航空航天大學(xué)出版社,2011.

    FPGA State-machine’s Realtime Advantage at Multiple UART Communication Processing

    Zhang Jianjun, An Haijia,Tan Keshi,Wang Feng,Han Huaiyu

    (China Academy of Space Technology, Beijing 100094,China)

    Firstly, usual design methods of asynchronous serial interface board are introduced briefly, and defects of the methods are put forwarded, then the original design method and it’s technical superiorities based on FPGA state-machine and bus-on-chip are expounded emphatically, then the performances of asynchronous serial interface board based on above design method are clarified. By comparing test data about time of response delay, obvious difference on processing rate between asynchronous serial interface boards based on FPGA state-machine and DSP processor are presented, and by comparing above two design methods, cause for the difference on processing rate are paraphrased. In the end, the opinion that FPGA state-machine is superior over any DSP processor evidently in performance to manage memorizer and port on exterior bus, and a suggestion of design method for similar equipment or system are put forward.

    FPGA;state-machine;asynchronous serial interface;realtime

    2017-03-01;

    2017-04-24。

    張建軍(1973-),男,河南省人,碩士,高級工程師,主要從事企業(yè)管理方面的工作。

    1671-4598(2017)08-0255-06

    10.16526/j.cnki.11-4762/tp.2017.08.066

    TN91

    A

    猜你喜歡
    雙口狀態(tài)機(jī)緩沖區(qū)
    嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實(shí)現(xiàn)
    雙口形式的戴維寧定理在電路分析中的應(yīng)用
    基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
    雙口RAM在機(jī)載嵌入式系統(tǒng)中的應(yīng)用
    電子測試(2018年4期)2018-05-09 07:28:10
    關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
    雙口RAM讀寫正確性自動測試的有限狀態(tài)機(jī)控制器設(shè)計方法
    雙口RAM在無人機(jī)三余度飛控計算機(jī)數(shù)據(jù)交換中的應(yīng)用
    地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計與實(shí)現(xiàn)
    電視技術(shù)(2012年1期)2012-06-06 08:13:58
    FPGA設(shè)計中狀態(tài)機(jī)安全性研究
    亚洲五月婷婷丁香| 人人妻,人人澡人人爽秒播| 男女午夜视频在线观看| 50天的宝宝边吃奶边哭怎么回事| 少妇精品久久久久久久| a在线观看视频网站| 午夜福利,免费看| 国产一级毛片在线| 亚洲欧美日韩高清在线视频 | 中文字幕制服av| 亚洲精品国产色婷婷电影| 一区二区三区精品91| 国产成人精品在线电影| 亚洲成人国产一区在线观看| 12—13女人毛片做爰片一| 久久99热这里只频精品6学生| 丝袜人妻中文字幕| 国产精品久久久av美女十八| 首页视频小说图片口味搜索| 中文字幕人妻丝袜一区二区| 国产精品久久久久久精品古装| 亚洲午夜精品一区,二区,三区| 亚洲午夜精品一区,二区,三区| 欧美人与性动交α欧美软件| 久久久久网色| 9热在线视频观看99| 91九色精品人成在线观看| 一区二区三区四区激情视频| 91精品国产国语对白视频| 高清av免费在线| 人妻久久中文字幕网| 女人久久www免费人成看片| 亚洲少妇的诱惑av| 伊人久久大香线蕉亚洲五| 老司机靠b影院| 免费在线观看影片大全网站| 久久久精品区二区三区| 秋霞在线观看毛片| 水蜜桃什么品种好| 美女国产高潮福利片在线看| 女性被躁到高潮视频| 欧美性长视频在线观看| 精品久久久精品久久久| 99国产精品99久久久久| 精品国内亚洲2022精品成人 | 热re99久久精品国产66热6| 一区二区三区激情视频| 少妇 在线观看| 亚洲熟女毛片儿| 色老头精品视频在线观看| 丁香六月欧美| 久久国产亚洲av麻豆专区| 丁香六月欧美| 精品卡一卡二卡四卡免费| 一区二区三区四区激情视频| 一级毛片精品| 免费在线观看日本一区| 亚洲情色 制服丝袜| 亚洲成人免费电影在线观看| 在线十欧美十亚洲十日本专区| 亚洲av成人一区二区三| 99久久99久久久精品蜜桃| 午夜91福利影院| 国产精品一区二区精品视频观看| 国产精品久久久久久精品古装| 国产精品影院久久| 久久天堂一区二区三区四区| 免费高清在线观看日韩| 中文欧美无线码| 久久久久久久精品精品| 国产亚洲欧美精品永久| 色综合欧美亚洲国产小说| 美女扒开内裤让男人捅视频| 欧美精品av麻豆av| 中文字幕av电影在线播放| 日日夜夜操网爽| 9191精品国产免费久久| 欧美日韩国产mv在线观看视频| 国产成+人综合+亚洲专区| 女性被躁到高潮视频| 一级a爱视频在线免费观看| 亚洲国产精品成人久久小说| 在线 av 中文字幕| 国产精品一区二区精品视频观看| 国产精品一二三区在线看| 亚洲成人免费电影在线观看| 每晚都被弄得嗷嗷叫到高潮| 97在线人人人人妻| 午夜免费观看性视频| 99香蕉大伊视频| 久久国产精品大桥未久av| 久久亚洲精品不卡| 午夜免费成人在线视频| 欧美精品亚洲一区二区| 老司机午夜福利在线观看视频 | a 毛片基地| 99国产精品一区二区三区| 99国产精品一区二区三区| 男人爽女人下面视频在线观看| 狂野欧美激情性bbbbbb| 亚洲精品在线美女| 每晚都被弄得嗷嗷叫到高潮| 精品亚洲成国产av| 日本91视频免费播放| 国产亚洲av片在线观看秒播厂| 国产又爽黄色视频| 欧美老熟妇乱子伦牲交| 亚洲成av片中文字幕在线观看| 欧美黄色片欧美黄色片| 亚洲av日韩精品久久久久久密| 亚洲性夜色夜夜综合| 69av精品久久久久久 | 免费看十八禁软件| 久久精品久久久久久噜噜老黄| 亚洲国产av影院在线观看| 国产男人的电影天堂91| av天堂久久9| 99久久综合免费| a级毛片黄视频| 国产成人欧美| 久久狼人影院| 在线天堂中文资源库| 国产三级黄色录像| 色94色欧美一区二区| 国产伦人伦偷精品视频| 视频在线观看一区二区三区| 美女主播在线视频| 成人国产av品久久久| 亚洲国产欧美一区二区综合| 亚洲五月婷婷丁香| 两人在一起打扑克的视频| √禁漫天堂资源中文www| 一区二区三区四区激情视频| 亚洲自偷自拍图片 自拍| 亚洲专区国产一区二区| 99久久人妻综合| 国产精品香港三级国产av潘金莲| 18禁国产床啪视频网站| 国产一区二区激情短视频 | 亚洲国产av新网站| 成人国语在线视频| 欧美另类一区| 亚洲国产欧美网| 岛国在线观看网站| 国产精品国产三级国产专区5o| av线在线观看网站| 久久狼人影院| 十八禁网站免费在线| 91成年电影在线观看| 色精品久久人妻99蜜桃| 黄色片一级片一级黄色片| 亚洲国产av影院在线观看| 国产区一区二久久| www.熟女人妻精品国产| 丁香六月欧美| 老司机影院成人| 天天躁夜夜躁狠狠躁躁| avwww免费| 亚洲中文av在线| 在线看a的网站| 日韩有码中文字幕| 国产精品免费大片| xxxhd国产人妻xxx| 久久久精品区二区三区| 欧美黑人精品巨大| 叶爱在线成人免费视频播放| 嫁个100分男人电影在线观看| av又黄又爽大尺度在线免费看| 国产av国产精品国产| 亚洲精品成人av观看孕妇| 国产野战对白在线观看| 美女高潮喷水抽搐中文字幕| av网站免费在线观看视频| 精品一区二区三区四区五区乱码| 丰满迷人的少妇在线观看| 丝袜脚勾引网站| 在线观看人妻少妇| 99精品欧美一区二区三区四区| 欧美在线一区亚洲| 亚洲伊人久久精品综合| 国产99久久九九免费精品| 国产精品一区二区精品视频观看| 亚洲伊人色综图| 国产一区二区激情短视频 | 亚洲国产精品成人久久小说| 国产一区有黄有色的免费视频| 91成年电影在线观看| 国产熟女午夜一区二区三区| 欧美精品av麻豆av| 亚洲欧美精品综合一区二区三区| 欧美在线黄色| 成年美女黄网站色视频大全免费| 精品国产一区二区久久| av国产精品久久久久影院| 国产精品一二三区在线看| 欧美激情 高清一区二区三区| 69av精品久久久久久 | √禁漫天堂资源中文www| 女性被躁到高潮视频| tube8黄色片| 性高湖久久久久久久久免费观看| 国产av又大| 伦理电影免费视频| 国产av国产精品国产| 韩国高清视频一区二区三区| 午夜免费观看性视频| 性色av乱码一区二区三区2| 18禁黄网站禁片午夜丰满| 青春草亚洲视频在线观看| 97精品久久久久久久久久精品| 国产又爽黄色视频| 亚洲中文av在线| 69精品国产乱码久久久| 国产极品粉嫩免费观看在线| 午夜成年电影在线免费观看| 搡老熟女国产l中国老女人| 国产无遮挡羞羞视频在线观看| 色婷婷久久久亚洲欧美| 亚洲中文字幕日韩| 欧美激情久久久久久爽电影 | 国产一区二区在线观看av| 亚洲精品久久午夜乱码| 久久久精品区二区三区| 1024香蕉在线观看| 中亚洲国语对白在线视频| 成人三级做爰电影| 国产亚洲精品一区二区www | 国产精品秋霞免费鲁丝片| 一级毛片精品| 国产精品99久久99久久久不卡| 男人添女人高潮全过程视频| 国产福利在线免费观看视频| 少妇的丰满在线观看| 人妻人人澡人人爽人人| 韩国精品一区二区三区| 亚洲av日韩精品久久久久久密| 99久久国产精品久久久| 国产成人a∨麻豆精品| 亚洲全国av大片| 性高湖久久久久久久久免费观看| 精品国产乱码久久久久久小说| 91精品国产国语对白视频| 成人av一区二区三区在线看 | 精品国产乱子伦一区二区三区 | 波多野结衣一区麻豆| 精品国内亚洲2022精品成人 | 国产福利在线免费观看视频| 老司机福利观看| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲av电影在线观看一区二区三区| 精品福利观看| 欧美在线黄色| 欧美在线一区亚洲| 国产亚洲欧美精品永久| 手机成人av网站| 两个人免费观看高清视频| 最新的欧美精品一区二区| 国产成人av激情在线播放| 亚洲精品国产区一区二| 国产精品二区激情视频| 亚洲美女黄色视频免费看| 精品一区二区三区av网在线观看 | 亚洲欧美一区二区三区久久| 乱人伦中国视频| 成在线人永久免费视频| 在线av久久热| 超碰成人久久| 成年动漫av网址| 久久天躁狠狠躁夜夜2o2o| 91大片在线观看| 999久久久国产精品视频| 免费观看av网站的网址| 亚洲精品国产一区二区精华液| 国产日韩欧美视频二区| 深夜精品福利| 亚洲国产av影院在线观看| 在线观看舔阴道视频| 国产日韩欧美亚洲二区| 人成视频在线观看免费观看| 午夜成年电影在线免费观看| 日韩 亚洲 欧美在线| 亚洲精品一二三| 美女主播在线视频| 精品高清国产在线一区| 亚洲少妇的诱惑av| 肉色欧美久久久久久久蜜桃| 久久久国产一区二区| 国产精品一区二区精品视频观看| 精品人妻熟女毛片av久久网站| 热99re8久久精品国产| 女性被躁到高潮视频| 一二三四社区在线视频社区8| 国产成人免费观看mmmm| 国产精品1区2区在线观看. | 成年女人毛片免费观看观看9 | 超碰97精品在线观看| 18禁国产床啪视频网站| 亚洲欧美精品自产自拍| 国产精品免费大片| 又紧又爽又黄一区二区| 黄片小视频在线播放| 操出白浆在线播放| 9191精品国产免费久久| 美女午夜性视频免费| 亚洲精华国产精华精| 国产一区二区 视频在线| 不卡一级毛片| 人人妻人人澡人人爽人人夜夜| 中文字幕色久视频| 亚洲五月色婷婷综合| 啦啦啦 在线观看视频| 在线av久久热| 亚洲va日本ⅴa欧美va伊人久久 | 最近中文字幕2019免费版| 国产区一区二久久| 水蜜桃什么品种好| 日本欧美视频一区| 亚洲欧美一区二区三区黑人| 一本色道久久久久久精品综合| 一区二区三区四区激情视频| 我要看黄色一级片免费的| 国产野战对白在线观看| 久久精品国产亚洲av高清一级| 中国国产av一级| 久久久久久久大尺度免费视频| 大香蕉久久网| 三级毛片av免费| 女性被躁到高潮视频| 少妇被粗大的猛进出69影院| 国产黄频视频在线观看| 91精品国产国语对白视频| 国产日韩欧美亚洲二区| 国产精品久久久久久人妻精品电影 | 国产精品av久久久久免费| 老司机午夜福利在线观看视频 | 高潮久久久久久久久久久不卡| 好男人电影高清在线观看| 亚洲九九香蕉| 国产亚洲午夜精品一区二区久久| 韩国高清视频一区二区三区| 五月开心婷婷网| 中文字幕色久视频| 成年人午夜在线观看视频| 男女床上黄色一级片免费看| 国产一区二区在线观看av| 亚洲午夜精品一区,二区,三区| 热99久久久久精品小说推荐| 国产一区二区三区av在线| 亚洲欧美一区二区三区久久| 国产淫语在线视频| 国产av又大| 99九九在线精品视频| 日韩精品免费视频一区二区三区| 欧美日韩一级在线毛片| 欧美性长视频在线观看| 亚洲精品久久成人aⅴ小说| 午夜福利在线观看吧| 久久综合国产亚洲精品| 99国产极品粉嫩在线观看| 最近最新免费中文字幕在线| 淫妇啪啪啪对白视频 | 午夜福利免费观看在线| 亚洲综合色网址| 老熟妇仑乱视频hdxx| av超薄肉色丝袜交足视频| 亚洲精品久久午夜乱码| 国产日韩欧美亚洲二区| 最近最新免费中文字幕在线| av在线播放精品| 欧美97在线视频| 日本av免费视频播放| 黑人操中国人逼视频| 欧美黑人精品巨大| 国产一区二区三区av在线| 亚洲欧美一区二区三区久久| 精品人妻在线不人妻| 99热国产这里只有精品6| 老熟妇乱子伦视频在线观看 | 好男人电影高清在线观看| 狠狠婷婷综合久久久久久88av| 久久影院123| av在线app专区| 久久久久国内视频| 国产成人免费无遮挡视频| 人妻 亚洲 视频| 国产一区二区在线观看av| 国产精品99久久99久久久不卡| 国产在线免费精品| 色综合欧美亚洲国产小说| 啦啦啦啦在线视频资源| 天天添夜夜摸| 国产激情久久老熟女| 国产高清视频在线播放一区 | 91精品伊人久久大香线蕉| 91成人精品电影| 精品国产乱码久久久久久男人| 欧美国产精品一级二级三级| 老司机靠b影院| 久久精品国产亚洲av高清一级| 欧美精品av麻豆av| 精品亚洲乱码少妇综合久久| 久久久久国内视频| 国产精品久久久久成人av| 精品人妻熟女毛片av久久网站| 亚洲国产欧美在线一区| 久久久久久人人人人人| 久久天躁狠狠躁夜夜2o2o| 欧美日韩国产mv在线观看视频| 欧美激情 高清一区二区三区| 亚洲免费av在线视频| 啦啦啦啦在线视频资源| 大型av网站在线播放| 国产日韩一区二区三区精品不卡| 无遮挡黄片免费观看| 免费在线观看黄色视频的| 亚洲专区国产一区二区| 美女高潮到喷水免费观看| 伦理电影免费视频| www.自偷自拍.com| 精品福利永久在线观看| 99久久综合免费| 国产av一区二区精品久久| 亚洲免费av在线视频| 久久久久久免费高清国产稀缺| 满18在线观看网站| 91老司机精品| 在线观看一区二区三区激情| 91国产中文字幕| 超碰成人久久| 国产欧美日韩精品亚洲av| 欧美中文综合在线视频| 成人国产一区最新在线观看| 1024视频免费在线观看| 亚洲欧美清纯卡通| 亚洲av美国av| 91麻豆av在线| 97在线人人人人妻| 久久香蕉激情| 亚洲欧美日韩另类电影网站| 交换朋友夫妻互换小说| 亚洲成人手机| 99精品欧美一区二区三区四区| 高清在线国产一区| videos熟女内射| 国产成人精品无人区| 国产成人av激情在线播放| 亚洲国产看品久久| 国产精品秋霞免费鲁丝片| 妹子高潮喷水视频| 色精品久久人妻99蜜桃| 美国免费a级毛片| 久久久水蜜桃国产精品网| 午夜成年电影在线免费观看| 国产精品久久久av美女十八| 精品熟女少妇八av免费久了| 一级黄色大片毛片| 久久人妻熟女aⅴ| 亚洲av成人一区二区三| 99re6热这里在线精品视频| 欧美av亚洲av综合av国产av| 国产福利在线免费观看视频| 中文字幕av电影在线播放| 日本黄色日本黄色录像| 久久ye,这里只有精品| 男女无遮挡免费网站观看| 国产成人免费观看mmmm| 女人被躁到高潮嗷嗷叫费观| 亚洲色图 男人天堂 中文字幕| 亚洲三区欧美一区| 亚洲国产欧美一区二区综合| av电影中文网址| 国产精品一区二区在线观看99| 我的亚洲天堂| 亚洲视频免费观看视频| 18禁裸乳无遮挡动漫免费视频| 久久久久久人人人人人| 国产一区二区三区av在线| 老司机在亚洲福利影院| 亚洲欧美一区二区三区黑人| 精品国产国语对白av| 久久久水蜜桃国产精品网| 丰满迷人的少妇在线观看| 久久毛片免费看一区二区三区| av又黄又爽大尺度在线免费看| 日本五十路高清| 欧美日韩一级在线毛片| 在线观看www视频免费| 久久久久国内视频| 九色亚洲精品在线播放| 一级片免费观看大全| 9热在线视频观看99| 中文字幕人妻丝袜制服| 高潮久久久久久久久久久不卡| 美女高潮喷水抽搐中文字幕| 丰满人妻熟妇乱又伦精品不卡| 日韩欧美一区视频在线观看| 老司机午夜福利在线观看视频 | 亚洲 欧美一区二区三区| 日韩欧美一区二区三区在线观看 | 国产成人欧美| 国产色视频综合| 精品国产超薄肉色丝袜足j| 亚洲一区二区三区欧美精品| 久久精品亚洲熟妇少妇任你| 久久中文字幕一级| netflix在线观看网站| 性高湖久久久久久久久免费观看| 人人妻人人添人人爽欧美一区卜| 亚洲,欧美精品.| 夫妻午夜视频| 久久精品熟女亚洲av麻豆精品| 18禁裸乳无遮挡动漫免费视频| 欧美+亚洲+日韩+国产| 日本一区二区免费在线视频| 三上悠亚av全集在线观看| 久久性视频一级片| 动漫黄色视频在线观看| 在线观看免费日韩欧美大片| 久热爱精品视频在线9| 亚洲精品自拍成人| 亚洲欧美精品综合一区二区三区| cao死你这个sao货| 水蜜桃什么品种好| 美女大奶头黄色视频| 一级a爱视频在线免费观看| 亚洲av欧美aⅴ国产| 色婷婷久久久亚洲欧美| 天天操日日干夜夜撸| 老熟妇乱子伦视频在线观看 | a级片在线免费高清观看视频| 亚洲欧洲精品一区二区精品久久久| 热99久久久久精品小说推荐| 亚洲欧洲精品一区二区精品久久久| 亚洲精品久久成人aⅴ小说| 午夜成年电影在线免费观看| 亚洲视频免费观看视频| 中国国产av一级| 亚洲,欧美精品.| 黄色a级毛片大全视频| 啦啦啦 在线观看视频| 中文字幕av电影在线播放| 女人久久www免费人成看片| 精品高清国产在线一区| 91成年电影在线观看| 亚洲欧美一区二区三区久久| 精品国产一区二区三区久久久樱花| 99九九在线精品视频| 少妇裸体淫交视频免费看高清 | 国产黄色免费在线视频| 国产亚洲av高清不卡| 最新的欧美精品一区二区| 建设人人有责人人尽责人人享有的| 国产成人影院久久av| 另类精品久久| bbb黄色大片| 午夜免费成人在线视频| 国产97色在线日韩免费| 免费黄频网站在线观看国产| 亚洲综合色网址| 亚洲精品久久成人aⅴ小说| 免费av中文字幕在线| 国产欧美日韩一区二区三 | 亚洲五月色婷婷综合| 在线观看免费日韩欧美大片| 12—13女人毛片做爰片一| 国产极品粉嫩免费观看在线| 99国产极品粉嫩在线观看| 操美女的视频在线观看| 日本五十路高清| 18禁裸乳无遮挡动漫免费视频| 日韩视频在线欧美| 国产精品 欧美亚洲| 黄片小视频在线播放| 50天的宝宝边吃奶边哭怎么回事| 捣出白浆h1v1| 国产免费视频播放在线视频| 日韩视频一区二区在线观看| 欧美 亚洲 国产 日韩一| 交换朋友夫妻互换小说| 欧美成人午夜精品| 香蕉国产在线看| 午夜精品国产一区二区电影| 人人妻人人澡人人看| av天堂在线播放| 一本—道久久a久久精品蜜桃钙片| 久久国产精品男人的天堂亚洲| 国产成人啪精品午夜网站| 黄片小视频在线播放| 国产av国产精品国产| 人人妻人人澡人人爽人人夜夜| 一本大道久久a久久精品| av超薄肉色丝袜交足视频| 另类精品久久| 一进一出抽搐动态| av在线app专区| 美女扒开内裤让男人捅视频| 欧美老熟妇乱子伦牲交| 少妇猛男粗大的猛烈进出视频| 日韩视频一区二区在线观看| 欧美国产精品va在线观看不卡| 一级片免费观看大全| 97精品久久久久久久久久精品| 如日韩欧美国产精品一区二区三区| 久久人人97超碰香蕉20202| 久久久久久亚洲精品国产蜜桃av| 日韩 欧美 亚洲 中文字幕| 欧美另类一区| 99国产精品免费福利视频| 男男h啪啪无遮挡| 91av网站免费观看| 欧美日韩精品网址| 久久九九热精品免费| 韩国精品一区二区三区| 中文字幕色久视频| 1024香蕉在线观看|