《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的通信接口模塊設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的通信接口模塊設(shè)計(jì)與實(shí)現(xiàn)
摘要: 某新型設(shè)備分為兩個(gè)相互分離的部分:射頻及信號(hào)處理部分(簡(jiǎn)稱(chēng)“前端”)、數(shù)據(jù)處理及系統(tǒng)控制部分(簡(jiǎn)稱(chēng)“后端”),兩部分之間相距較遠(yuǎn)。前端由多個(gè)模塊組成,均受后端中心機(jī)的控制,并且還需向中心機(jī)傳輸模塊狀態(tài)信
Abstract:
Key words :
</a>信號(hào)" title="信號(hào)">信號(hào)" title="信號(hào)">信號(hào)處理部分(簡(jiǎn)稱(chēng)“前端”)、數(shù)據(jù)處理及系統(tǒng)控制部分(簡(jiǎn)稱(chēng)“后端”),兩部分之間相距較遠(yuǎn)。前端由多個(gè)模塊組成,均受后端中心機(jī)的控制,并且還需向中心機(jī)傳輸模塊狀態(tài)信息。為保證兩部分之間的通信并盡量簡(jiǎn)化通信線路設(shè)計(jì),需要在前端設(shè)置通信接口模塊,負(fù)責(zé)前端各模塊與中心機(jī)之間的通信。文中設(shè)計(jì)了一個(gè)通信接口模塊,通過(guò)光纖接口與中心機(jī)連接,實(shí)現(xiàn)了對(duì)前端受控模塊的遠(yuǎn)程控制和狀態(tài)監(jiān)測(cè)。

中心機(jī)和前端受控模塊之間相距較遠(yuǎn),而且需要傳輸較大的數(shù)據(jù)量。一般的485串行接口已無(wú)法滿(mǎn)足要求,而光纖具有傳輸速度快、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)和重量輕等優(yōu)點(diǎn),在高速通信中得到了廣泛應(yīng)用。因此這里選擇光纖作為通信介質(zhì)。通信接口模塊連接的受控模塊眾多,各模塊具有不同的通信協(xié)議和接口形式,并且部分?jǐn)?shù)據(jù)對(duì)通信延時(shí)的要求很高,因此適宜采用靈活性強(qiáng)且可以并行發(fā)送數(shù)據(jù)的FPGA來(lái)實(shí)現(xiàn)該模塊功能

1 通信協(xié)議設(shè)計(jì)

1.1 傳輸數(shù)據(jù)類(lèi)型分析

通信接口模塊需要處理的數(shù)據(jù)分為3種:中心機(jī)發(fā)給前端受控模塊的控制命令(上行數(shù)據(jù));前端受控模塊發(fā)送給中心機(jī)的狀態(tài)信息(下行數(shù)據(jù));中心機(jī)控制通信接口模塊實(shí)現(xiàn)信息轉(zhuǎn)發(fā)控制的命令。通信接口模塊對(duì)前兩種數(shù)據(jù)分開(kāi)處理,兩者之間互不干擾。后一種數(shù)據(jù)則是通過(guò)設(shè)置通信接口模塊內(nèi)的參數(shù)實(shí)現(xiàn)。

控制命令分為兩種,即周期性命令和非周期性命令。周期性命令在周期性的定時(shí)信號(hào)的控制下發(fā)送到各個(gè)設(shè)備,如周期性命令由于某些原因在下一周期到來(lái)之前沒(méi)有發(fā)送,則舊命令就會(huì)被清除掉。非周期性命令任何時(shí)間都可以發(fā)送,與定時(shí)信號(hào)無(wú)關(guān)。非周期命令發(fā)送次數(shù)較少,但較重要,一般為初始化命令或重要參數(shù)的設(shè)置命令,不允許有丟失。

狀態(tài)信息也有周期性和非周期性之分,但狀態(tài)信息所要傳輸?shù)臄?shù)據(jù)較少、周期較長(zhǎng),相對(duì)于高速的光纖接口則可視為非周期數(shù)據(jù),狀態(tài)信息可以用統(tǒng)一的方式處理,并且各模塊使用固定的優(yōu)先級(jí)順序傳輸。

1.2 前端受控模塊接口協(xié)議

根據(jù)各模塊對(duì)傳輸數(shù)據(jù)量及對(duì)時(shí)間準(zhǔn)確度的要求,使用了3種接口協(xié)議:三線同步串行接口、通用異步串行接口和邏輯電平接口。

(1)三線同步串行接口。需要高速傳輸和對(duì)實(shí)時(shí)性要求較高的模塊采用三線同步串行接口。三線同步串行接口包含數(shù)據(jù)、時(shí)鐘、幀結(jié)束等3個(gè)信號(hào)線。相對(duì)于通用異步串行接口具有傳輸速度快的優(yōu)點(diǎn),相對(duì)于使用隨路時(shí)鐘方式的串行接口具有實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)。根據(jù)不同設(shè)備的控制命令字或狀態(tài)信息數(shù)據(jù)長(zhǎng)度不同,設(shè)置同步串行接口的數(shù)據(jù)發(fā)送/接收長(zhǎng)度和有效時(shí)鐘邊沿個(gè)數(shù)。為保證在較高速度下的通信傳輸質(zhì)量,三線制同步串行接口采用LVDS電平。LVDS電路是一種具有低電平電壓擺幅差分信號(hào)傳輸結(jié)構(gòu)的電路,具有工作時(shí)驅(qū)動(dòng)電流恒定、低功耗、低EMI、抗噪聲干擾等特點(diǎn),工作頻率最高可達(dá)幾GHz。

2)通用異步串行接口。對(duì)于數(shù)據(jù)率和實(shí)時(shí)性要求不高的模塊,采用通用異步串行接口。恰好大部分慢速傳輸數(shù)據(jù)的模塊都用單片機(jī)實(shí)現(xiàn)控制,而單片機(jī)都有通用異步串行接口。異步串行接口較同步串行接口使用較少的連接線。只需一對(duì)雙絞線就可以完成傳輸,并且可以進(jìn)行長(zhǎng)距離傳輸。同樣為保證信號(hào)傳輸質(zhì)量,通信電平采用RS485。RS485采用差分傳輸,具有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)的優(yōu)點(diǎn)。

(3)邏輯電平接口。部分前端模塊沒(méi)有專(zhuān)用的通信接口,其控制接口和狀態(tài)信息是按照邏輯電平信號(hào)實(shí)現(xiàn)的。對(duì)于控制命令,由于前端受控模塊的控制接口沒(méi)有鎖存功能,需要在通信接口模塊上對(duì)輸出信號(hào)進(jìn)行寄存,直到下次命令發(fā)生更改。對(duì)于邏輯電平信號(hào)輸入的狀態(tài)信息,由于信號(hào)電平變化較少,僅在檢測(cè)到有效電平變動(dòng)時(shí)通信接口模塊才回傳狀態(tài)信息。

1.3 光纖通信協(xié)議

光纖通信協(xié)議分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層。物理層定義了傳輸介質(zhì)和信號(hào)傳輸方式,物理層處理包括光電轉(zhuǎn)換、串行解串和8B/10B編解碼等。數(shù)據(jù)鏈路層定義了幀格式和數(shù)據(jù)傳輸規(guī)則,鏈路層處理包括成幀和解幀。光纖通信協(xié)議結(jié)構(gòu)如圖1所示。

2012/08/31/e7ecca93-0309-4867-be8f-e93c949a8fb8.jpg" />

協(xié)議使用8B/10B編碼保證數(shù)據(jù)通道的直流平衡,完成時(shí)鐘的恢復(fù)。同時(shí)利用8B/10B編碼的控制字符作為數(shù)據(jù)幀傳輸?shù)钠鹗肌⒔Y(jié)束標(biāo)識(shí),并作為傳輸信道的同步控制。在每一數(shù)據(jù)幀的起始位置添加幀起始控制字符,在數(shù)據(jù)幀的結(jié)束位置添加幀結(jié)束控制字符,在數(shù)據(jù)傳輸過(guò)程中有中斷或在無(wú)數(shù)據(jù)傳輸?shù)目臻e時(shí)段填充同步控制字符。

控制命令和狀態(tài)數(shù)據(jù)都以數(shù)據(jù)幀的方式在光纖上傳輸。數(shù)據(jù)幀格式如圖2所示。標(biāo)識(shí)字說(shuō)明數(shù)據(jù)幀的性質(zhì)和傳輸?shù)降脑O(shè)備,不同的應(yīng)用有不同的標(biāo)識(shí),且每個(gè)標(biāo)識(shí)有唯一對(duì)應(yīng)的設(shè)備,一個(gè)設(shè)備可能有多個(gè)標(biāo)識(shí)字。字長(zhǎng)為從標(biāo)識(shí)到校驗(yàn)的長(zhǎng)度。數(shù)據(jù)為命令或狀態(tài)信息。校驗(yàn)字為從字長(zhǎng)到數(shù)據(jù)的所有字節(jié)的循環(huán)冗余校驗(yàn)碼(CRC)。

2 通信接口模塊實(shí)現(xiàn)

通信接口模塊以FPGA為控制核心,外圍添加電平轉(zhuǎn)換芯片實(shí)現(xiàn)。通信接口模塊對(duì)上行控制命令和下行狀態(tài)信息進(jìn)行獨(dú)立處理。在FPGA內(nèi)實(shí)現(xiàn)的邏輯框圖如圖3所示。

光纖接收和光纖發(fā)送模塊實(shí)現(xiàn)光纖通信協(xié)議的物理層處理。成幀和解幀模塊實(shí)現(xiàn)光纖通信協(xié)議的鏈路層處理。控制命令處理和狀態(tài)數(shù)據(jù)處理實(shí)現(xiàn)用戶(hù)數(shù)據(jù)處理。三線同步串行接口、通用異步串行接口和邏輯電平接口實(shí)現(xiàn)針對(duì)各個(gè)前端受控模塊的數(shù)據(jù)傳輸。

2.1 光纖接口

按照光纖通信協(xié)議,光纖接口包括物理層和鏈路層處理,即圖3中的光纖發(fā)送/接收、成幀/解幀邏輯模塊,發(fā)送和接收是相反方向的處理。光纖接收/發(fā)送邏輯模塊實(shí)現(xiàn)串行解串編解碼和8B/10B編解碼。串行器將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù)發(fā)送至光纖接口;解串器將從光纖接口接收到的串行數(shù)據(jù)變?yōu)椴⑿袛?shù)據(jù)。同時(shí)通過(guò)8B/10B編碼將發(fā)送時(shí)鐘編碼到數(shù)據(jù)中一同發(fā)送,解串器則從數(shù)據(jù)流中恢復(fù)時(shí)鐘。串行器采用
SN65LV1023A器件,解串器采用SN65LV1224B器件。8B/10B編解碼則在FPGA中實(shí)現(xiàn)。成幀/解幀模塊實(shí)現(xiàn)數(shù)據(jù)長(zhǎng)度檢驗(yàn)、數(shù)據(jù)校驗(yàn)、添加幀頭和幀尾。

2.2 控制命令處理邏輯

控制命令處理邏輯首先檢測(cè)FIFO緩沖器是否有數(shù)據(jù),如有數(shù)據(jù)則開(kāi)啟一次控制命令處理。數(shù)據(jù)處理時(shí),根據(jù)標(biāo)志字將數(shù)據(jù)寫(xiě)入相應(yīng)的設(shè)備接口,一幀數(shù)據(jù)處理完成后,通過(guò)設(shè)置幀有效信號(hào),啟動(dòng)接口模塊發(fā)送。控制狀態(tài)機(jī)如圖4所示

2.3 狀態(tài)數(shù)據(jù)處理邏輯

由于各個(gè)前端受控模塊下行數(shù)據(jù)量較少、數(shù)據(jù)間時(shí)間間隔較大,而FPGA內(nèi)部數(shù)據(jù)處理速度遠(yuǎn)快于外部接口,因此不存在某一受控模塊始終占據(jù)總線的情況。這樣不需要考慮按照請(qǐng)求到來(lái)時(shí)間順序進(jìn)行處理請(qǐng)求,而是狀態(tài)數(shù)據(jù)處理邏輯接到受控模塊接口的總線請(qǐng)求后,按照固定的優(yōu)先級(jí)處理。

2.4 三線制同步串行口

三線制同步串行接口的邏輯結(jié)構(gòu)如圖6所示。三線制同步串行口接收模塊可分為數(shù)據(jù)接收和數(shù)據(jù)接收緩存兩部分。數(shù)據(jù)接收部分由移位寄存器組成。移位寄存器受接收的時(shí)鐘信號(hào)控制,實(shí)現(xiàn)串并轉(zhuǎn)換,數(shù)據(jù)接收完成后,直接輸出到數(shù)據(jù)接收緩存。數(shù)據(jù)接收緩存設(shè)置2級(jí)異步FIFO,實(shí)現(xiàn)跨時(shí)鐘域變換。當(dāng)緩存中有數(shù)據(jù)時(shí),向狀態(tài)信息處理模塊發(fā)出請(qǐng)求,等待讀出數(shù)據(jù)。

三線制同步串行口發(fā)送模塊同樣可分為兩部分:數(shù)據(jù)發(fā)送緩存和數(shù)據(jù)發(fā)送。數(shù)據(jù)發(fā)送部分主要是由移位寄存器、移位計(jì)數(shù)器組成。根據(jù)不同的數(shù)據(jù)長(zhǎng)度設(shè)置不同長(zhǎng)度的移位寄存器,實(shí)現(xiàn)數(shù)據(jù)的并行輸入和串行移出。移位計(jì)數(shù)器控制數(shù)據(jù)移出的個(gè)數(shù),同時(shí)控制時(shí)鐘信號(hào)和幀同步信號(hào)的產(chǎn)生。數(shù)據(jù)緩存部分根據(jù)傳輸數(shù)據(jù)的不同而不同。對(duì)于周期性控制命令設(shè)置一級(jí)緩存,當(dāng)新數(shù)據(jù)來(lái)時(shí)緩存被新數(shù)據(jù)覆蓋。對(duì)于非周期控制命令設(shè)置4級(jí)FIFO,由于非周期控制命令較少,4級(jí)緩存已經(jīng)足夠。數(shù)據(jù)緩存部分優(yōu)先發(fā)送非周期控制命令

2.5 通用異步串口

通用異步串行接口的邏輯結(jié)構(gòu)如圖7所示。通用異步串行接口的接收模塊可分為數(shù)據(jù)接收、幀檢驗(yàn)和數(shù)據(jù)緩存3部分。數(shù)據(jù)接收部分包括移位寄存器和接收控制邏輯。按照通用異步串行接口的時(shí)序,接收控制邏輯將移動(dòng)移位寄存器,實(shí)現(xiàn)字節(jié)數(shù)據(jù)的接收和串并轉(zhuǎn)換。幀檢驗(yàn)?zāi)K按照特定前端受控模塊的通信數(shù)據(jù)幀格式對(duì)數(shù)據(jù)進(jìn)行檢驗(yàn),對(duì)檢驗(yàn)成功的數(shù)據(jù)寫(xiě)入到數(shù)據(jù)緩沖區(qū)中。數(shù)據(jù)緩存中存儲(chǔ)數(shù)據(jù)后向狀態(tài)信息處理模塊發(fā)出請(qǐng)求,等待數(shù)據(jù)讀出。

通用異步串口的發(fā)送模塊同樣分為3部分:數(shù)據(jù)緩存、幀形成、數(shù)據(jù)發(fā)送。數(shù)據(jù)緩存接收控制命令處理模塊的數(shù)據(jù)并緩存。由于通用異步串口發(fā)送的命令都是非周期命令,使用128 Byte的FIFO作為數(shù)據(jù)緩存。在幀形成模塊中為數(shù)據(jù)添加校驗(yàn)、幀頭和幀尾。數(shù)據(jù)發(fā)送模塊針對(duì)字節(jié)數(shù)據(jù)按照通用異步通信的時(shí)序要求,將數(shù)據(jù)并串轉(zhuǎn)換發(fā)送出去。

3 仿真結(jié)果

FPGA選用Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx" title="Xilinx">Xilinx公司XC3S500E器件,該器件具有足夠的差分接口、邏輯和存儲(chǔ)器資源,能滿(mǎn)足該設(shè)計(jì)的要求。首先在ISE中利用Verilog HDL語(yǔ)言編寫(xiě)邏輯代碼并用ISim對(duì)各個(gè)模塊進(jìn)行了詳細(xì)的功能仿真。光纖通信接口的仿真結(jié)果如圖8所示。該仿真利用光纖收發(fā)模塊進(jìn)行自環(huán),檢驗(yàn)?zāi)K輸入輸出的正確性。從光纖接口接收到相應(yīng)控制命令后三線同步串行接口,通用異步串行接口的數(shù)據(jù)輸出仿真結(jié)果如圖9和圖10所示。仿真表明,程序輸出數(shù)據(jù)發(fā)送正確且數(shù)據(jù)處理時(shí)延很小。

4 結(jié)束語(yǔ)

文中以FPGA為控制核心,實(shí)現(xiàn)了中心機(jī)控制多個(gè)遠(yuǎn)程受控模塊的通信接口模塊。該設(shè)計(jì)具有電路簡(jiǎn)單、協(xié)議設(shè)計(jì)靈活,邏輯結(jié)構(gòu)擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。仿真表明,該設(shè)計(jì)能夠滿(mǎn)足通信數(shù)據(jù)傳輸?shù)墓δ芤螅壳耙褢?yīng)用到具體設(shè)備中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产三级精品三级| 欧美日产一区二区三区在线观看| 亚洲黄色影院| 午夜精品视频在线观看| 亚洲一区二区黄| 国产精品99久久久久久有的能看| 亚洲精品一区在线| 亚洲精品极品| 亚洲国产欧美在线| 亚洲国产专区| 亚洲黄色在线看| 亚洲国产影院| 亚洲国产日韩一区| 亚洲国产精品久久久久秋霞不卡| 亚洲第一页在线| 在线观看中文字幕不卡| 1204国产成人精品视频| 在线电影国产精品| 影音先锋另类| 亚洲激情网址| 亚洲麻豆av| 一片黄亚洲嫩模| 亚洲午夜未删减在线观看| 一二三四社区欧美黄| 亚洲图片欧洲图片日韩av| 一区二区高清在线| 亚洲一区二区三区四区在线观看| 亚洲深夜福利网站| 亚洲欧美日韩国产精品| 欧美亚洲一级| 最新亚洲激情| 一区二区冒白浆视频| 亚洲午夜精品17c| 午夜精品久久久久久久久久久久| 欧美一区二区三区精品| 欧美一区二区三区四区在线观看地址| 午夜在线精品偷拍| 久久国产精品99久久久久久老狼 | 亚洲第一在线综合网站| 在线欧美日韩精品| 日韩午夜电影av| 亚洲手机成人高清视频| 性欧美18~19sex高清播放| 欧美在线日韩在线| 亚洲欧洲视频在线| 亚洲一区视频| 久久视频一区| 欧美日韩免费观看一区| 国产精品毛片| 在线视频国内自拍亚洲视频| 99国产精品99久久久久久粉嫩| 亚洲一区二区三区四区视频| 久久精品官网| 一区二区三欧美| 欧美一区二区三区四区视频| 美国成人直播| 国产精品成人一区二区三区夜夜夜| 国产精品视频一二三| 一区二区三区在线高清| av成人免费在线| 欧美一区国产一区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲在线观看免费| 久久人91精品久久久久久不卡| 欧美乱大交xxxxx| 国产视频久久| 日韩视频免费大全中文字幕| 欧美亚洲视频在线观看| 夜夜精品视频| 久久久夜色精品亚洲| 欧美日韩免费在线视频| 国产一区激情| 亚洲少妇最新在线视频| 亚洲欧洲中文日韩久久av乱码| 亚洲男同1069视频| 欧美大色视频| 国产视频一区欧美| 日韩亚洲成人av在线| 亚洲国产精品传媒在线观看 | 久久男女视频| 欧美性jizz18性欧美| 一色屋精品视频免费看| 在线视频欧美精品| 亚洲人成在线观看网站高清| 欧美一区二区久久久| 欧美日韩国产一区| 在线国产亚洲欧美| 午夜激情亚洲| 亚洲综合激情| 欧美精品一区二区三区很污很色的| 国产视频久久久久久久| 一区二区三区四区五区视频| 亚洲精品乱码久久久久久日本蜜臀 | 久久都是精品| 国产精品播放| 亚洲免费激情| 亚洲精品在线免费观看视频| 久久久精品性| 国产精品免费网站| 一本色道久久综合狠狠躁的推荐| 亚洲精品国久久99热| 另类亚洲自拍| 激情懂色av一区av二区av| 亚洲欧美一区二区原创| 午夜精品久久久久| 欧美色欧美亚洲另类二区| 亚洲国产欧美国产综合一区| 亚洲综合色在线| 亚洲欧美国产另类| 欧美涩涩视频| 99精品热视频| 一区二区三区**美女毛片 | 欧美精品一区二区三区四区| 亚洲动漫精品| 亚洲欧洲日本专区| 免费不卡欧美自拍视频| 黄色在线一区| 久久精品国产亚洲aⅴ| 久久久夜精品| 激情久久久久久| 亚洲国产经典视频| 久久综合久色欧美综合狠狠| 极品尤物一区二区三区| 久久激情网站| 久久综合九色九九| 影音先锋亚洲电影| 亚洲国产日韩综合一区| 老牛国产精品一区的观看方式| 禁断一区二区三区在线| 亚洲欧洲精品天堂一级| 欧美高清视频免费观看| 最新国产乱人伦偷精品免费网站| 亚洲日本激情| 欧美另类在线播放| 9l视频自拍蝌蚪9l视频成人| 亚洲在线电影| 国产欧美日韩精品专区| 欧美一级日韩一级| 久久中文精品| 亚洲国产精品v| 日韩一级黄色av| 欧美日韩调教| 亚洲午夜精品一区二区三区他趣| 亚洲欧美日韩久久精品| 国产精品主播| 久久精品国产一区二区电影| 美女视频黄a大片欧美| 亚洲国产精品一区在线观看不卡| 日韩视频在线免费观看| 欧美日韩一区二区三区免费| 亚洲性xxxx| 久久久久久久性| 亚洲国产精品99久久久久久久久| 艳女tv在线观看国产一区| 欧美性猛交xxxx免费看久久久| 亚洲欧洲av一区二区| 美女91精品| 日韩亚洲在线| 欧美中文在线字幕| 在线观看日韩av| 亚洲图片欧美一区| 国产日韩欧美中文| 亚洲精品国产无天堂网2021| 欧美午夜视频在线观看| 午夜精品久久久久99热蜜桃导演| 鲁鲁狠狠狠7777一区二区| 日韩亚洲精品在线| 久久精品夜色噜噜亚洲aⅴ| 亚洲日本aⅴ片在线观看香蕉| 亚洲女同精品视频| 韩日精品视频一区| 一区二区三区精品视频在线观看| 国产精品一二| 亚洲日本成人在线观看| 国产精品一区二区在线观看不卡 | 影音先锋亚洲一区| 亚洲一区精品在线| 国内精品久久久久久| 一区二区国产精品| 国内外成人在线| 亚洲视频精选| 国内综合精品午夜久久资源| 99精品视频一区| 国产亚洲精品久久久久动| 日韩写真在线| 国产一区二区| 亚洲性图久久| 尤物99国产成人精品视频| 亚洲欧美福利一区二区| 亚洲国产黄色| 久久国产日韩| 99精品国产高清一区二区| 久久久人成影片一区二区三区| 亚洲伦理精品| 蜜臀av国产精品久久久久| 亚洲一区二区视频在线观看| 欧美大片在线观看一区| 性欧美大战久久久久久久免费观看| 欧美久久久久中文字幕| 久久精品成人|