• <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ī)安全性研究
    99久国产av精品国产电影| 大片电影免费在线观看免费| 又大又黄又爽视频免费| 少妇被粗大猛烈的视频| 街头女战士在线观看网站| 亚洲精品,欧美精品| 这个男人来自地球电影免费观看 | 插逼视频在线观看| 五月开心婷婷网| 亚洲欧美成人精品一区二区| 欧美人与善性xxx| 亚洲精华国产精华液的使用体验| 熟妇人妻不卡中文字幕| 欧美 日韩 精品 国产| 一级黄片播放器| 一本大道久久a久久精品| 国产亚洲欧美精品永久| 日韩精品有码人妻一区| 日韩中文字幕视频在线看片| xxx大片免费视频| 成人漫画全彩无遮挡| 一区二区三区免费毛片| 久久午夜福利片| 午夜福利视频在线观看免费| 成年女人在线观看亚洲视频| 国产一区二区三区综合在线观看 | 久久久国产欧美日韩av| 亚洲精华国产精华液的使用体验| 国产在线视频一区二区| 久热这里只有精品99| 欧美一级a爱片免费观看看| 亚洲欧美成人精品一区二区| 老司机影院毛片| 日韩av不卡免费在线播放| 中文欧美无线码| 久久热精品热| 在线天堂最新版资源| 国产成人freesex在线| 欧美激情国产日韩精品一区| 午夜视频国产福利| 国产伦理片在线播放av一区| 国产精品国产av在线观看| 日日摸夜夜添夜夜添av毛片| 欧美人与善性xxx| 大香蕉久久网| 国产精品久久久久久久电影| 日韩av在线免费看完整版不卡| 这个男人来自地球电影免费观看 | 国产精品一区二区在线不卡| 国产日韩欧美视频二区| kizo精华| 高清av免费在线| 久久99蜜桃精品久久| 国产黄频视频在线观看| 26uuu在线亚洲综合色| 国产精品人妻久久久影院| 观看美女的网站| 亚洲精品第二区| 国产不卡av网站在线观看| 天天操日日干夜夜撸| 自拍欧美九色日韩亚洲蝌蚪91| 大香蕉97超碰在线| 另类亚洲欧美激情| 欧美日韩精品成人综合77777| 综合色丁香网| 中文字幕亚洲精品专区| 亚洲成色77777| 观看av在线不卡| 午夜免费鲁丝| 久久久精品区二区三区| 91精品一卡2卡3卡4卡| 交换朋友夫妻互换小说| 欧美另类一区| 日本黄色片子视频| 久久精品人人爽人人爽视色| 成人国语在线视频| 丝袜脚勾引网站| 黄色欧美视频在线观看| 日韩av不卡免费在线播放| 99久久中文字幕三级久久日本| 亚洲精品乱久久久久久| 人妻制服诱惑在线中文字幕| 久久久久久久亚洲中文字幕| 欧美精品亚洲一区二区| 欧美变态另类bdsm刘玥| 国产精品一二三区在线看| 亚洲四区av| 国产片特级美女逼逼视频| 丰满饥渴人妻一区二区三| 亚洲图色成人| 国产亚洲精品第一综合不卡 | 午夜福利,免费看| 亚洲精品av麻豆狂野| 9色porny在线观看| 久久青草综合色| 国产高清国产精品国产三级| 亚洲欧美日韩卡通动漫| 一本久久精品| 日韩 亚洲 欧美在线| 国产精品久久久久久久久免| 欧美一级a爱片免费观看看| 久久精品国产亚洲av涩爱| 亚洲人成77777在线视频| 我的老师免费观看完整版| 男人操女人黄网站| 国产亚洲欧美精品永久| 黑人欧美特级aaaaaa片| 美女福利国产在线| 久久人人爽人人片av| 99热这里只有精品一区| 丁香六月天网| 边亲边吃奶的免费视频| 国产成人av激情在线播放 | 免费观看在线日韩| 亚洲内射少妇av| 我要看黄色一级片免费的| 国产免费又黄又爽又色| 日韩av在线免费看完整版不卡| 成人国语在线视频| 亚洲欧洲日产国产| 亚洲怡红院男人天堂| 国产综合精华液| 2021少妇久久久久久久久久久| 建设人人有责人人尽责人人享有的| av在线老鸭窝| 欧美xxⅹ黑人| 日韩不卡一区二区三区视频在线| 日日摸夜夜添夜夜爱| 国产无遮挡羞羞视频在线观看| 成年av动漫网址| 亚洲久久久国产精品| 伊人亚洲综合成人网| 亚洲国产欧美在线一区| 人妻人人澡人人爽人人| av在线app专区| 国产欧美亚洲国产| 美女大奶头黄色视频| 我的女老师完整版在线观看| 一级a做视频免费观看| 成人无遮挡网站| 成人二区视频| 人妻 亚洲 视频| 一级毛片黄色毛片免费观看视频| 亚洲欧洲国产日韩| 国产高清国产精品国产三级| 2021少妇久久久久久久久久久| 久久久久国产精品人妻一区二区| 亚洲精品中文字幕在线视频| 免费少妇av软件| 黄色一级大片看看| a级毛片在线看网站| 3wmmmm亚洲av在线观看| 国产精品免费大片| 黑人欧美特级aaaaaa片| 一本一本综合久久| 晚上一个人看的免费电影| 中文字幕久久专区| 伊人久久精品亚洲午夜| 天堂中文最新版在线下载| 国产极品粉嫩免费观看在线 | 97在线人人人人妻| 亚洲激情五月婷婷啪啪| 午夜免费鲁丝| 老熟女久久久| 大话2 男鬼变身卡| 久久影院123| 久久久久久人妻| 在线天堂最新版资源| 日本猛色少妇xxxxx猛交久久| 国产精品一二三区在线看| av有码第一页| 日本猛色少妇xxxxx猛交久久| 国产日韩欧美视频二区| 全区人妻精品视频| 国产精品女同一区二区软件| 中文字幕免费在线视频6| 熟女人妻精品中文字幕| 香蕉精品网在线| 日韩视频在线欧美| 久久精品国产亚洲av涩爱| 我的老师免费观看完整版| 日韩中字成人| 天堂8中文在线网| 亚洲欧美日韩另类电影网站| 欧美变态另类bdsm刘玥| 看十八女毛片水多多多| 精品一区二区三区视频在线| 国产精品女同一区二区软件| 最后的刺客免费高清国语| 丝袜脚勾引网站| 久久久午夜欧美精品| 色哟哟·www| 一级毛片我不卡| 久久久久久久国产电影| 日韩一区二区视频免费看| 夫妻性生交免费视频一级片| 最新的欧美精品一区二区| 中国国产av一级| 亚洲国产色片| 少妇被粗大的猛进出69影院 | 超碰97精品在线观看| 麻豆成人av视频| 欧美精品人与动牲交sv欧美| 国产精品三级大全| 精品一区二区三区视频在线| 欧美成人精品欧美一级黄| 99国产精品免费福利视频| av在线观看视频网站免费| 18禁裸乳无遮挡动漫免费视频| 久久国产亚洲av麻豆专区| 亚洲精品乱码久久久v下载方式| 国产白丝娇喘喷水9色精品| 亚洲精品日韩av片在线观看| 国产黄色免费在线视频| 久久久亚洲精品成人影院| 午夜福利,免费看| 日产精品乱码卡一卡2卡三| 亚洲内射少妇av| 欧美日韩av久久| 国产淫语在线视频| 久久99一区二区三区| 久久人人爽人人爽人人片va| 能在线免费看毛片的网站| 十八禁高潮呻吟视频| 最近中文字幕2019免费版| 日本vs欧美在线观看视频| 午夜老司机福利剧场| 免费少妇av软件| 亚洲av欧美aⅴ国产| 久久影院123| 国产视频内射| 一个人看视频在线观看www免费| 国产一区二区三区av在线| 国产精品女同一区二区软件| 国产成人aa在线观看| 亚洲精品一区蜜桃| 久久久欧美国产精品| 人妻夜夜爽99麻豆av| 成人国语在线视频| 婷婷色综合www| 老熟女久久久| 九九在线视频观看精品| 国产成人91sexporn| 欧美日韩国产mv在线观看视频| 亚洲精品国产av蜜桃| 成人免费观看视频高清| 日日撸夜夜添| 精品国产国语对白av| 精品人妻一区二区三区麻豆| 夜夜看夜夜爽夜夜摸| 一级片'在线观看视频| 中文字幕制服av| 人成视频在线观看免费观看| 午夜老司机福利剧场| 欧美+日韩+精品| 18禁裸乳无遮挡动漫免费视频| 啦啦啦啦在线视频资源| 亚洲精品aⅴ在线观看| 高清不卡的av网站| 一区二区日韩欧美中文字幕 | 亚洲激情五月婷婷啪啪| 日韩亚洲欧美综合| 成人亚洲欧美一区二区av| 男女高潮啪啪啪动态图| 夜夜爽夜夜爽视频| 精品一区二区免费观看| 婷婷成人精品国产| 蜜臀久久99精品久久宅男| 一区二区三区乱码不卡18| 蜜桃在线观看..| 视频区图区小说| 在线免费观看不下载黄p国产| 亚洲中文av在线| 一级毛片电影观看| 欧美精品高潮呻吟av久久| 成人手机av| 国产片特级美女逼逼视频| 日韩熟女老妇一区二区性免费视频| 国国产精品蜜臀av免费| 在线亚洲精品国产二区图片欧美 | 国产精品99久久99久久久不卡 | videossex国产| 亚洲性久久影院| 成人国语在线视频| 国产在线一区二区三区精| 欧美精品一区二区免费开放| 久久精品国产亚洲网站| 边亲边吃奶的免费视频| 大香蕉97超碰在线| 欧美日韩综合久久久久久| 国产日韩一区二区三区精品不卡 | 日本午夜av视频| 国产精品久久久久久精品电影小说| 色94色欧美一区二区| 欧美另类一区| av在线老鸭窝| 亚洲国产av影院在线观看| 欧美精品亚洲一区二区| 人成视频在线观看免费观看| 亚洲av免费高清在线观看| 看十八女毛片水多多多| 日日爽夜夜爽网站| 久久av网站| 国产亚洲欧美精品永久| 免费少妇av软件| 亚洲综合色惰| 亚洲人成网站在线播| 亚洲一区二区三区欧美精品| 男人爽女人下面视频在线观看| 久久久久久人妻| 精品酒店卫生间| www.色视频.com| 国产精品嫩草影院av在线观看| av视频免费观看在线观看| 美女cb高潮喷水在线观看| 99热这里只有是精品在线观看| 中国美白少妇内射xxxbb| 亚洲av欧美aⅴ国产| av又黄又爽大尺度在线免费看| 黄色视频在线播放观看不卡| 中文字幕久久专区| 国产黄色免费在线视频| 黄色怎么调成土黄色| 久久久久久久亚洲中文字幕| 亚洲精品视频女| 久久综合国产亚洲精品| 国产欧美日韩一区二区三区在线 | 国产亚洲午夜精品一区二区久久| 国产69精品久久久久777片| 色94色欧美一区二区| 又粗又硬又长又爽又黄的视频| 韩国高清视频一区二区三区| videosex国产| 国产国拍精品亚洲av在线观看| 欧美 日韩 精品 国产| 亚洲av欧美aⅴ国产| 美女福利国产在线| 亚洲人成网站在线观看播放| 国产伦精品一区二区三区视频9| av女优亚洲男人天堂| 熟女av电影| 一级a做视频免费观看| 青春草视频在线免费观看| 中国三级夫妇交换| 国产高清三级在线| 一级片'在线观看视频| 免费少妇av软件| 亚洲av男天堂| 老女人水多毛片| 一级毛片 在线播放| 十八禁高潮呻吟视频| 亚洲美女视频黄频| 高清毛片免费看| 免费播放大片免费观看视频在线观看| 性色av一级| 中文字幕人妻丝袜制服| 午夜91福利影院| 女人久久www免费人成看片| 午夜免费鲁丝| 亚洲中文av在线| 久久 成人 亚洲| 大香蕉久久网| 高清不卡的av网站| 波野结衣二区三区在线| 精品久久久精品久久久| 中文字幕人妻丝袜制服| 精品一区二区三区视频在线| 天天躁夜夜躁狠狠久久av| 老司机影院成人| 午夜福利在线观看免费完整高清在| 国语对白做爰xxxⅹ性视频网站| 久久久久久久久久人人人人人人| 亚洲精品国产av成人精品| 熟女电影av网| 老司机亚洲免费影院| 大话2 男鬼变身卡| 精品人妻熟女av久视频| 国产永久视频网站| 99热6这里只有精品| 亚洲精品日韩在线中文字幕| 亚洲av综合色区一区| 久久99精品国语久久久| 欧美亚洲日本最大视频资源| 五月伊人婷婷丁香| 久久精品国产鲁丝片午夜精品| 国产一区二区在线观看av| 久久久久久久久久久丰满| 久久久久久久久大av| 亚洲av在线观看美女高潮| 亚洲国产精品专区欧美| 丝袜喷水一区| 男女边吃奶边做爰视频| 午夜免费男女啪啪视频观看| 国产综合精华液| 日韩,欧美,国产一区二区三区| 久久99热这里只频精品6学生| 九草在线视频观看| 一边亲一边摸免费视频| 午夜视频国产福利| 免费大片18禁| 午夜视频国产福利| 一级二级三级毛片免费看| 99久久精品一区二区三区| 我的女老师完整版在线观看| 亚洲精品av麻豆狂野| 亚洲五月色婷婷综合| 色5月婷婷丁香| 国产男女内射视频| 80岁老熟妇乱子伦牲交| 2018国产大陆天天弄谢| 91精品一卡2卡3卡4卡| 日韩大片免费观看网站| 成人综合一区亚洲| www.色视频.com| 国产日韩欧美亚洲二区| 亚洲精品一二三| 精品国产乱码久久久久久小说| 18禁在线无遮挡免费观看视频| 18+在线观看网站| 亚洲国产av新网站| 国产日韩欧美亚洲二区| 日本色播在线视频| 久久久久久久大尺度免费视频| 亚洲精品美女久久av网站| 亚洲精品乱久久久久久| 黑人巨大精品欧美一区二区蜜桃 | av视频免费观看在线观看| 久久ye,这里只有精品| videos熟女内射| 中文天堂在线官网| 人妻系列 视频| 成年女人在线观看亚洲视频| 在线观看三级黄色| 黄色欧美视频在线观看| 男女边吃奶边做爰视频| 亚洲人成网站在线播| 亚洲av.av天堂| 成人无遮挡网站| 能在线免费看毛片的网站| 99视频精品全部免费 在线| 日韩中文字幕视频在线看片| 成人午夜精彩视频在线观看| 午夜激情久久久久久久| 国产午夜精品一二区理论片| 久久人人爽人人爽人人片va| 精品一区二区三卡| 亚洲伊人久久精品综合| 99热这里只有精品一区| 777米奇影视久久| 亚洲av不卡在线观看| 九九久久精品国产亚洲av麻豆| 欧美丝袜亚洲另类| 69精品国产乱码久久久| 秋霞在线观看毛片| 美女大奶头黄色视频| 一级黄片播放器| 亚洲av日韩在线播放| 久久久久网色| 制服丝袜香蕉在线| 丰满饥渴人妻一区二区三| 99re6热这里在线精品视频| 国产男女内射视频| 精品人妻一区二区三区麻豆| av免费在线看不卡| 国产欧美日韩一区二区三区在线 | 亚洲,一卡二卡三卡| 精品亚洲乱码少妇综合久久| 97超视频在线观看视频| av黄色大香蕉| 日韩三级伦理在线观看| 免费观看性生交大片5| 久久国产亚洲av麻豆专区| 精品少妇黑人巨大在线播放| 日韩欧美精品免费久久| 精品视频人人做人人爽| 男女边吃奶边做爰视频| 97超碰精品成人国产| 91久久精品国产一区二区成人| 好男人视频免费观看在线| 亚洲,一卡二卡三卡| 国产深夜福利视频在线观看| 久久精品人人爽人人爽视色| 97超视频在线观看视频| av线在线观看网站| 亚洲av国产av综合av卡| 天堂8中文在线网| 日日啪夜夜爽| 婷婷色综合大香蕉| 大片免费播放器 马上看| 日韩视频在线欧美| 欧美bdsm另类| 性色av一级| 精品国产露脸久久av麻豆| 十分钟在线观看高清视频www| 在线亚洲精品国产二区图片欧美 | xxx大片免费视频| 少妇人妻精品综合一区二区| www.av在线官网国产| 国国产精品蜜臀av免费| 成年人免费黄色播放视频| 黄色怎么调成土黄色| 观看美女的网站| 久久久久久久久久人人人人人人| 久久ye,这里只有精品| 国产成人精品福利久久| 国产亚洲最大av| 两个人免费观看高清视频| av在线播放精品| 在线精品无人区一区二区三| 国产在视频线精品| 熟女电影av网| 99热全是精品| 久久99精品国语久久久| 精品亚洲成国产av| 国产一区二区在线观看av| 久久国产精品男人的天堂亚洲 | 久久 成人 亚洲| 亚洲av日韩在线播放| 欧美 亚洲 国产 日韩一| 汤姆久久久久久久影院中文字幕| 一级黄片播放器| 只有这里有精品99| av黄色大香蕉| 亚洲精品乱久久久久久| 国产精品99久久久久久久久| 人人妻人人添人人爽欧美一区卜| 狠狠婷婷综合久久久久久88av| 最后的刺客免费高清国语| 午夜日本视频在线| 蜜桃国产av成人99| 国产精品国产三级国产av玫瑰| 91精品一卡2卡3卡4卡| 亚洲内射少妇av| 考比视频在线观看| 天堂8中文在线网| 新久久久久国产一级毛片| 男女边吃奶边做爰视频| 午夜免费男女啪啪视频观看| videossex国产| 国产精品一区二区在线观看99| 51国产日韩欧美| 美女大奶头黄色视频| 亚洲精品456在线播放app| 成人毛片60女人毛片免费| 欧美成人精品欧美一级黄| 日本wwww免费看| 18+在线观看网站| av国产精品久久久久影院| 日本-黄色视频高清免费观看| 中文字幕精品免费在线观看视频 | 女人精品久久久久毛片| 日韩精品免费视频一区二区三区 | 国产一区二区三区综合在线观看 | 晚上一个人看的免费电影| 夫妻性生交免费视频一级片| 老司机亚洲免费影院| 永久网站在线| 亚洲成人一二三区av| 搡女人真爽免费视频火全软件| 国产色爽女视频免费观看| 91aial.com中文字幕在线观看| 亚洲婷婷狠狠爱综合网| 在线免费观看不下载黄p国产| 亚洲欧美成人精品一区二区| 久久ye,这里只有精品| 久久精品熟女亚洲av麻豆精品| 亚洲av.av天堂| 夜夜爽夜夜爽视频| 日韩三级伦理在线观看| 久久久久久久大尺度免费视频| 亚洲精品日韩av片在线观看| 亚洲五月色婷婷综合| 亚洲av日韩在线播放| 久久人人爽人人片av| 国产永久视频网站| 人人妻人人添人人爽欧美一区卜| 亚洲av二区三区四区| 99久久综合免费| 五月开心婷婷网| 亚洲av福利一区| 精品亚洲乱码少妇综合久久| a级毛片在线看网站| 少妇 在线观看| freevideosex欧美| 亚洲国产欧美日韩在线播放| 婷婷色麻豆天堂久久| 下体分泌物呈黄色| 欧美日韩在线观看h| 超碰97精品在线观看| 国产一区二区三区av在线| 丝瓜视频免费看黄片| 免费人妻精品一区二区三区视频| 欧美精品亚洲一区二区| 国产午夜精品久久久久久一区二区三区| 久久人人爽人人片av| 国产熟女午夜一区二区三区 | 岛国毛片在线播放| 多毛熟女@视频| 久久久久久久久久成人| 精品一区在线观看国产| 亚洲精品一二三| 日韩三级伦理在线观看| 熟女人妻精品中文字幕| 两个人的视频大全免费| 午夜福利影视在线免费观看| 亚洲欧美精品自产自拍| av国产精品久久久久影院| 亚洲欧美成人精品一区二区| 日日爽夜夜爽网站| 亚洲久久久国产精品| 天美传媒精品一区二区| 亚洲av二区三区四区| 中文字幕av电影在线播放| 亚洲欧美成人精品一区二区| 自拍欧美九色日韩亚洲蝌蚪91|