• <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ī)安全性研究
    免费看a级黄色片| 97人妻天天添夜夜摸| 亚洲欧洲精品一区二区精品久久久| 免费在线观看黄色视频的| 操出白浆在线播放| x7x7x7水蜜桃| 国产欧美日韩综合在线一区二区| 午夜免费激情av| 国产精品 国内视频| 亚洲国产欧美一区二区综合| 一边摸一边抽搐一进一小说| 又大又爽又粗| 久久草成人影院| 国产片内射在线| 国产成人精品久久二区二区免费| 黄色a级毛片大全视频| 国产亚洲精品av在线| 欧美国产精品va在线观看不卡| 国产熟女xx| 在线十欧美十亚洲十日本专区| 色哟哟哟哟哟哟| 国产精品香港三级国产av潘金莲| 亚洲性夜色夜夜综合| 国产成人精品久久二区二区91| 黄色视频,在线免费观看| 久久久久国内视频| av片东京热男人的天堂| 日本撒尿小便嘘嘘汇集6| 高清在线国产一区| 久久久久久久久中文| 亚洲精品在线美女| 黄色女人牲交| 日韩视频一区二区在线观看| 男女下面插进去视频免费观看| 亚洲成av人片免费观看| 亚洲avbb在线观看| 精品一区二区三区av网在线观看| 国产精品电影一区二区三区| 99国产精品一区二区三区| 亚洲专区中文字幕在线| 亚洲,欧美精品.| 男女下面插进去视频免费观看| bbb黄色大片| 一边摸一边抽搐一进一小说| 久久久久国产一级毛片高清牌| 国产aⅴ精品一区二区三区波| 欧美绝顶高潮抽搐喷水| 欧美成人午夜精品| 纯流量卡能插随身wifi吗| 国产一区在线观看成人免费| 亚洲精品粉嫩美女一区| 国产精品自产拍在线观看55亚洲| 欧美色视频一区免费| 日本三级黄在线观看| 欧美 亚洲 国产 日韩一| 午夜精品国产一区二区电影| 日韩欧美三级三区| 大陆偷拍与自拍| 91麻豆精品激情在线观看国产| 国产在线观看jvid| 美女免费视频网站| 波多野结衣av一区二区av| 国产免费av片在线观看野外av| 国产黄a三级三级三级人| 亚洲av第一区精品v没综合| 一本久久中文字幕| 夜夜夜夜夜久久久久| 天堂影院成人在线观看| 亚洲国产欧美网| 亚洲欧美激情在线| 国产av在哪里看| 精品乱码久久久久久99久播| 香蕉丝袜av| 国产色视频综合| 欧美一级a爱片免费观看看 | 国产亚洲精品av在线| 人人妻人人澡欧美一区二区 | 亚洲精品一卡2卡三卡4卡5卡| 少妇被粗大的猛进出69影院| 久久午夜亚洲精品久久| 国产1区2区3区精品| 精品电影一区二区在线| 亚洲精品国产精品久久久不卡| 女警被强在线播放| 久久久久国产精品人妻aⅴ院| av在线播放免费不卡| 亚洲国产精品成人综合色| 多毛熟女@视频| 少妇 在线观看| 宅男免费午夜| 波多野结衣一区麻豆| 一级毛片精品| 国产又爽黄色视频| 高清毛片免费观看视频网站| 50天的宝宝边吃奶边哭怎么回事| 婷婷精品国产亚洲av在线| 视频区欧美日本亚洲| 国产麻豆成人av免费视频| 9191精品国产免费久久| 免费少妇av软件| 一个人观看的视频www高清免费观看 | 成人18禁高潮啪啪吃奶动态图| 国产99白浆流出| 免费高清视频大片| 国产区一区二久久| 成年版毛片免费区| 亚洲第一青青草原| 久久久精品国产亚洲av高清涩受| 日韩精品中文字幕看吧| 国产欧美日韩一区二区三| 国产精华一区二区三区| 亚洲欧美日韩高清在线视频| 亚洲一区二区三区不卡视频| 啪啪无遮挡十八禁网站| av片东京热男人的天堂| 波多野结衣巨乳人妻| 999久久久国产精品视频| 十八禁网站免费在线| 在线观看午夜福利视频| 成人三级做爰电影| 一本综合久久免费| 神马国产精品三级电影在线观看 | 曰老女人黄片| www.自偷自拍.com| 变态另类丝袜制服| 麻豆国产av国片精品| 中文字幕久久专区| 亚洲一区二区三区色噜噜| 黄片小视频在线播放| 亚洲黑人精品在线| 极品人妻少妇av视频| 午夜福利影视在线免费观看| 日韩欧美三级三区| 首页视频小说图片口味搜索| 动漫黄色视频在线观看| 嫩草影院精品99| 色综合欧美亚洲国产小说| 久热爱精品视频在线9| 深夜精品福利| 女人被狂操c到高潮| av免费在线观看网站| 亚洲成av片中文字幕在线观看| 一进一出抽搐动态| 欧美日韩精品网址| 黄片小视频在线播放| 日本一区二区免费在线视频| 欧美精品啪啪一区二区三区| 啦啦啦 在线观看视频| 97超级碰碰碰精品色视频在线观看| 又黄又爽又免费观看的视频| 91精品三级在线观看| 极品人妻少妇av视频| 熟妇人妻久久中文字幕3abv| 日韩精品青青久久久久久| 久久人人97超碰香蕉20202| 大型黄色视频在线免费观看| 色综合站精品国产| 精品无人区乱码1区二区| 99久久99久久久精品蜜桃| 丝袜在线中文字幕| 亚洲精品美女久久av网站| 成年人黄色毛片网站| 九色国产91popny在线| 九色亚洲精品在线播放| 丰满的人妻完整版| 高清毛片免费观看视频网站| 久久国产精品人妻蜜桃| 亚洲 欧美 日韩 在线 免费| 国产精品久久久久久精品电影 | 免费在线观看完整版高清| 国产亚洲av嫩草精品影院| 人人澡人人妻人| 纯流量卡能插随身wifi吗| 啦啦啦 在线观看视频| 给我免费播放毛片高清在线观看| 久久午夜综合久久蜜桃| 久久香蕉精品热| 午夜免费观看网址| 亚洲七黄色美女视频| 久久久国产成人精品二区| 午夜a级毛片| 久久久水蜜桃国产精品网| 欧美成狂野欧美在线观看| 日韩大尺度精品在线看网址 | 18禁黄网站禁片午夜丰满| 9191精品国产免费久久| 97人妻精品一区二区三区麻豆 | av在线天堂中文字幕| 好男人在线观看高清免费视频 | 成人精品一区二区免费| 日本黄色视频三级网站网址| 88av欧美| 给我免费播放毛片高清在线观看| 中文字幕最新亚洲高清| 亚洲va日本ⅴa欧美va伊人久久| 涩涩av久久男人的天堂| 国产成人精品在线电影| 精品国产一区二区久久| 黄色毛片三级朝国网站| 丝袜在线中文字幕| 中文字幕人妻丝袜一区二区| 亚洲人成电影观看| 黄片播放在线免费| 精品一区二区三区视频在线观看免费| 亚洲激情在线av| 色精品久久人妻99蜜桃| 国产av一区在线观看免费| 777久久人妻少妇嫩草av网站| 男女做爰动态图高潮gif福利片 | 又紧又爽又黄一区二区| 天天添夜夜摸| 午夜久久久久精精品| 亚洲av成人不卡在线观看播放网| 一本久久中文字幕| 精品久久久精品久久久| 亚洲精品美女久久av网站| 午夜福利成人在线免费观看| 国产av在哪里看| 18禁裸乳无遮挡免费网站照片 | 亚洲自偷自拍图片 自拍| 1024香蕉在线观看| 国产亚洲欧美98| 久久精品91蜜桃| 男女之事视频高清在线观看| 精品卡一卡二卡四卡免费| 亚洲激情在线av| 欧美黄色淫秽网站| 欧美一区二区精品小视频在线| 啪啪无遮挡十八禁网站| 亚洲国产日韩欧美精品在线观看 | 久久午夜亚洲精品久久| 久久国产精品影院| 免费女性裸体啪啪无遮挡网站| 国产在线精品亚洲第一网站| 天天躁夜夜躁狠狠躁躁| 最近最新免费中文字幕在线| 99国产精品一区二区三区| 亚洲久久久国产精品| 91麻豆av在线| 最好的美女福利视频网| 久99久视频精品免费| 手机成人av网站| 成人免费观看视频高清| 91老司机精品| 他把我摸到了高潮在线观看| 亚洲男人的天堂狠狠| 日韩精品青青久久久久久| 十八禁人妻一区二区| 无限看片的www在线观看| 亚洲熟妇中文字幕五十中出| 国产av一区在线观看免费| 亚洲自拍偷在线| 香蕉国产在线看| 欧美日韩瑟瑟在线播放| 久久人妻福利社区极品人妻图片| 热re99久久国产66热| 亚洲视频免费观看视频| 精品久久蜜臀av无| 最好的美女福利视频网| 三级毛片av免费| 亚洲国产高清在线一区二区三 | 亚洲色图 男人天堂 中文字幕| 亚洲午夜精品一区,二区,三区| 国产一区二区激情短视频| 欧美国产日韩亚洲一区| 在线观看一区二区三区| 可以免费在线观看a视频的电影网站| 精品一区二区三区视频在线观看免费| 夜夜爽天天搞| 激情在线观看视频在线高清| 国产亚洲精品久久久久5区| 丁香六月欧美| 国产精品,欧美在线| 久久久久国产一级毛片高清牌| 自线自在国产av| 久久性视频一级片| 久久国产精品影院| 日本 欧美在线| 国产亚洲精品一区二区www| 亚洲精品美女久久av网站| 国产片内射在线| 巨乳人妻的诱惑在线观看| 国产极品粉嫩免费观看在线| 免费在线观看影片大全网站| 青草久久国产| 97人妻天天添夜夜摸| 91av网站免费观看| 国产亚洲精品一区二区www| 国产午夜精品久久久久久| 亚洲精品国产色婷婷电影| 国产xxxxx性猛交| 精品无人区乱码1区二区| 老汉色∧v一级毛片| 午夜福利在线观看吧| 亚洲最大成人中文| 免费观看人在逋| 精品久久久久久久人妻蜜臀av | 法律面前人人平等表现在哪些方面| 黑人巨大精品欧美一区二区蜜桃| 国产极品粉嫩免费观看在线| 国产欧美日韩一区二区三区在线| 99精品久久久久人妻精品| 日韩中文字幕欧美一区二区| 亚洲精品中文字幕一二三四区| 伦理电影免费视频| 男人舔女人的私密视频| 久久久久久国产a免费观看| 91精品三级在线观看| aaaaa片日本免费| 老司机深夜福利视频在线观看| 丰满的人妻完整版| 亚洲人成电影观看| 精品高清国产在线一区| 97人妻精品一区二区三区麻豆 | 久久久久亚洲av毛片大全| 日本a在线网址| 国产日韩一区二区三区精品不卡| www.自偷自拍.com| 99国产精品一区二区蜜桃av| 国产人伦9x9x在线观看| 人人妻,人人澡人人爽秒播| 1024视频免费在线观看| 久久青草综合色| 国产精品久久久av美女十八| 狠狠狠狠99中文字幕| 亚洲av日韩精品久久久久久密| www.精华液| 午夜视频精品福利| 国产亚洲精品久久久久5区| 亚洲精品av麻豆狂野| 国产精品一区二区三区四区久久 | 黑人操中国人逼视频| 亚洲精品美女久久av网站| 制服人妻中文乱码| 欧美黑人欧美精品刺激| √禁漫天堂资源中文www| 美女免费视频网站| 国产亚洲欧美精品永久| 国产又色又爽无遮挡免费看| 欧美中文综合在线视频| 色综合亚洲欧美另类图片| 法律面前人人平等表现在哪些方面| 精品国产一区二区三区四区第35| 成人亚洲精品av一区二区| 无遮挡黄片免费观看| 国产亚洲欧美98| 国产av在哪里看| 精品一区二区三区四区五区乱码| 国产精品影院久久| 日本vs欧美在线观看视频| 亚洲专区中文字幕在线| 极品人妻少妇av视频| 91字幕亚洲| 欧美日韩福利视频一区二区| 日韩精品青青久久久久久| 黄色片一级片一级黄色片| 亚洲专区中文字幕在线| 日本撒尿小便嘘嘘汇集6| 亚洲精品在线观看二区| 一本久久中文字幕| 国产免费男女视频| 国产男靠女视频免费网站| 久久精品aⅴ一区二区三区四区| 久久性视频一级片| 天天一区二区日本电影三级 | 国产麻豆69| 成年版毛片免费区| 亚洲av日韩精品久久久久久密| 亚洲欧美精品综合久久99| 老司机靠b影院| 男女下面插进去视频免费观看| 欧美最黄视频在线播放免费| 精品国产一区二区三区四区第35| 欧美人与性动交α欧美精品济南到| 日韩精品中文字幕看吧| 亚洲精品久久成人aⅴ小说| 热99re8久久精品国产| 亚洲欧美日韩另类电影网站| 国产成人精品在线电影| 亚洲天堂国产精品一区在线| 久久欧美精品欧美久久欧美| 母亲3免费完整高清在线观看| 一级毛片精品| 亚洲片人在线观看| 人人妻人人澡人人看| 黑人巨大精品欧美一区二区mp4| 黄频高清免费视频| 手机成人av网站| 日本 欧美在线| 侵犯人妻中文字幕一二三四区| 午夜福利在线观看吧| 黑人巨大精品欧美一区二区mp4| 久久久久九九精品影院| 国产高清视频在线播放一区| 老司机午夜十八禁免费视频| 久久国产乱子伦精品免费另类| 狂野欧美激情性xxxx| 美女免费视频网站| 高清在线国产一区| 亚洲av成人av| 一区二区三区国产精品乱码| 俄罗斯特黄特色一大片| 亚洲国产精品合色在线| 99riav亚洲国产免费| 999久久久精品免费观看国产| 69精品国产乱码久久久| av天堂在线播放| 欧美丝袜亚洲另类 | 色尼玛亚洲综合影院| 久久精品国产清高在天天线| 免费在线观看日本一区| 久久久精品欧美日韩精品| 国产成+人综合+亚洲专区| 日日干狠狠操夜夜爽| 亚洲色图av天堂| 丝袜人妻中文字幕| 久久久久久人人人人人| 国产97色在线日韩免费| 美女午夜性视频免费| 一卡2卡三卡四卡精品乱码亚洲| 午夜a级毛片| 亚洲天堂国产精品一区在线| 国产午夜精品久久久久久| 91精品国产国语对白视频| 亚洲av美国av| 中文字幕色久视频| 亚洲专区中文字幕在线| 一本久久中文字幕| 久久精品91蜜桃| 精品熟女少妇八av免费久了| 村上凉子中文字幕在线| svipshipincom国产片| 99热只有精品国产| 看免费av毛片| 亚洲性夜色夜夜综合| 在线十欧美十亚洲十日本专区| 99国产精品一区二区蜜桃av| 日本黄色视频三级网站网址| 久久天躁狠狠躁夜夜2o2o| 97超级碰碰碰精品色视频在线观看| 国产精品久久久久久亚洲av鲁大| 18美女黄网站色大片免费观看| 国产亚洲精品综合一区在线观看 | 久久青草综合色| 国产高清激情床上av| 亚洲免费av在线视频| 动漫黄色视频在线观看| av网站免费在线观看视频| 好看av亚洲va欧美ⅴa在| 国产一区二区在线av高清观看| 制服人妻中文乱码| av在线播放免费不卡| 久久久久久亚洲精品国产蜜桃av| 亚洲精品国产区一区二| 色精品久久人妻99蜜桃| 麻豆成人av在线观看| 一区在线观看完整版| 婷婷精品国产亚洲av在线| 色av中文字幕| 岛国视频午夜一区免费看| 国产1区2区3区精品| 午夜亚洲福利在线播放| 亚洲欧美激情在线| 国产精品秋霞免费鲁丝片| 免费少妇av软件| 最新美女视频免费是黄的| 琪琪午夜伦伦电影理论片6080| 亚洲专区字幕在线| 这个男人来自地球电影免费观看| 亚洲专区中文字幕在线| 色av中文字幕| www.999成人在线观看| 在线观看舔阴道视频| 色播亚洲综合网| 亚洲精品在线美女| e午夜精品久久久久久久| 久久精品aⅴ一区二区三区四区| 淫妇啪啪啪对白视频| 精品久久久久久久毛片微露脸| 又黄又爽又免费观看的视频| 真人一进一出gif抽搐免费| 此物有八面人人有两片| 日韩欧美在线二视频| 国产一区二区三区综合在线观看| 又黄又粗又硬又大视频| 午夜免费激情av| 波多野结衣高清无吗| 亚洲精品国产一区二区精华液| 日本精品一区二区三区蜜桃| 精品久久久精品久久久| 日韩高清综合在线| 久久久久亚洲av毛片大全| 亚洲男人的天堂狠狠| 亚洲精品美女久久久久99蜜臀| 女人爽到高潮嗷嗷叫在线视频| av网站免费在线观看视频| 妹子高潮喷水视频| 亚洲精品美女久久久久99蜜臀| 咕卡用的链子| 国产成人影院久久av| 亚洲av成人不卡在线观看播放网| 国产成人啪精品午夜网站| 久久久水蜜桃国产精品网| 熟妇人妻久久中文字幕3abv| 午夜福利视频1000在线观看 | 欧美另类亚洲清纯唯美| 亚洲精品美女久久av网站| 欧美 亚洲 国产 日韩一| 黄片大片在线免费观看| 女人高潮潮喷娇喘18禁视频| 国产高清videossex| 久久久久久大精品| 国产乱人伦免费视频| 欧美日韩福利视频一区二区| 久久狼人影院| 脱女人内裤的视频| 亚洲av熟女| 国产成人欧美| 欧美成人免费av一区二区三区| 天堂动漫精品| 色婷婷久久久亚洲欧美| 真人一进一出gif抽搐免费| 在线视频色国产色| 久久热在线av| 久久人妻熟女aⅴ| 黄网站色视频无遮挡免费观看| 亚洲欧美激情综合另类| 日韩欧美一区二区三区在线观看| 精品国产国语对白av| 又大又爽又粗| 久久人人精品亚洲av| 国产日韩一区二区三区精品不卡| 日韩欧美免费精品| 精品国产亚洲在线| 成年女人毛片免费观看观看9| 亚洲av美国av| 欧美性长视频在线观看| tocl精华| 国产又色又爽无遮挡免费看| 国产成人免费无遮挡视频| 电影成人av| 国产高清视频在线播放一区| 熟女少妇亚洲综合色aaa.| 长腿黑丝高跟| 欧美日韩瑟瑟在线播放| 免费在线观看黄色视频的| 久热这里只有精品99| 色播在线永久视频| 十八禁人妻一区二区| 男女午夜视频在线观看| 91老司机精品| 国产成人精品久久二区二区91| 12—13女人毛片做爰片一| 欧美另类亚洲清纯唯美| 久久久国产精品麻豆| 麻豆成人av在线观看| e午夜精品久久久久久久| 岛国视频午夜一区免费看| 不卡av一区二区三区| 亚洲色图 男人天堂 中文字幕| 美女午夜性视频免费| 久久 成人 亚洲| 午夜福利在线观看吧| 免费看a级黄色片| 久久久久久久久免费视频了| 满18在线观看网站| 成人国产一区最新在线观看| 欧美大码av| 久久人妻熟女aⅴ| 一区二区三区高清视频在线| 亚洲国产精品久久男人天堂| 国产精品自产拍在线观看55亚洲| 动漫黄色视频在线观看| 成熟少妇高潮喷水视频| 亚洲无线在线观看| 亚洲中文字幕日韩| 欧美一级毛片孕妇| 亚洲中文av在线| 国产精品亚洲一级av第二区| 十分钟在线观看高清视频www| 欧美黑人欧美精品刺激| 亚洲午夜精品一区,二区,三区| 美女 人体艺术 gogo| 在线免费观看的www视频| 搞女人的毛片| 一进一出抽搐动态| 久久中文看片网| 女性被躁到高潮视频| 无人区码免费观看不卡| 欧美激情 高清一区二区三区| 色婷婷久久久亚洲欧美| 热99re8久久精品国产| 精品乱码久久久久久99久播| 757午夜福利合集在线观看| 无人区码免费观看不卡| 免费在线观看完整版高清| 岛国在线观看网站| x7x7x7水蜜桃| 午夜福利,免费看| 一边摸一边抽搐一进一出视频| 热99re8久久精品国产| 亚洲男人天堂网一区| 成人国产综合亚洲| 性少妇av在线| 欧美日本中文国产一区发布| 侵犯人妻中文字幕一二三四区| 久久精品国产99精品国产亚洲性色 | 最近最新免费中文字幕在线| 午夜福利18| 久久 成人 亚洲| 一区二区三区精品91| 男女下面进入的视频免费午夜 | 亚洲专区国产一区二区| 久久精品国产99精品国产亚洲性色 | 99香蕉大伊视频|