《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于FPGA的通信接口模塊設計與實現
NI-LabVIEW 2025
基于FPGA的通信接口模塊設計與實現
摘要: 某新型設備分為兩個相互分離的部分:射頻及信號處理部分(簡稱“前端”)、數據處理及系統控制部分(簡稱“后端”),兩部分之間相距較遠。前端由多個模塊組成,均受后端中心機的控制,并且還需向中心機傳輸模塊狀態信
Abstract:
Key words :
</a>信號" title="信號">信號" title="信號">信號處理部分(簡稱“前端”)、數據處理及系統控制部分(簡稱“后端”),兩部分之間相距較遠。前端由多個模塊組成,均受后端中心機的控制,并且還需向中心機傳輸模塊狀態信息。為保證兩部分之間的通信并盡量簡化通信線路設計,需要在前端設置通信接口模塊,負責前端各模塊與中心機之間的通信。文中設計了一個通信接口模塊,通過光纖接口與中心機連接,實現了對前端受控模塊的遠程控制和狀態監測。

中心機和前端受控模塊之間相距較遠,而且需要傳輸較大的數據量。一般的485串行接口已無法滿足要求,而光纖具有傳輸速度快、傳輸距離遠、抗干擾能力強和重量輕等優點,在高速通信中得到了廣泛應用。因此這里選擇光纖作為通信介質。通信接口模塊連接的受控模塊眾多,各模塊具有不同的通信協議和接口形式,并且部分數據對通信延時的要求很高,因此適宜采用靈活性強且可以并行發送數據的FPGA來實現該模塊功能

1 通信協議設計

1.1 傳輸數據類型分析

通信接口模塊需要處理的數據分為3種:中心機發給前端受控模塊的控制命令(上行數據);前端受控模塊發送給中心機的狀態信息(下行數據);中心機控制通信接口模塊實現信息轉發控制的命令。通信接口模塊對前兩種數據分開處理,兩者之間互不干擾。后一種數據則是通過設置通信接口模塊內的參數實現。

控制命令分為兩種,即周期性命令和非周期性命令。周期性命令在周期性的定時信號的控制下發送到各個設備,如周期性命令由于某些原因在下一周期到來之前沒有發送,則舊命令就會被清除掉。非周期性命令任何時間都可以發送,與定時信號無關。非周期命令發送次數較少,但較重要,一般為初始化命令或重要參數的設置命令,不允許有丟失。

狀態信息也有周期性和非周期性之分,但狀態信息所要傳輸的數據較少、周期較長,相對于高速的光纖接口則可視為非周期數據,狀態信息可以用統一的方式處理,并且各模塊使用固定的優先級順序傳輸。

1.2 前端受控模塊接口協議

根據各模塊對傳輸數據量及對時間準確度的要求,使用了3種接口協議:三線同步串行接口、通用異步串行接口和邏輯電平接口。

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

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

(3)邏輯電平接口。部分前端模塊沒有專用的通信接口,其控制接口和狀態信息是按照邏輯電平信號實現的。對于控制命令,由于前端受控模塊的控制接口沒有鎖存功能,需要在通信接口模塊上對輸出信號進行寄存,直到下次命令發生更改。對于邏輯電平信號輸入的狀態信息,由于信號電平變化較少,僅在檢測到有效電平變動時通信接口模塊才回傳狀態信息。

1.3 光纖通信協議

光纖通信協議分為物理層、數據鏈路層和應用層。物理層定義了傳輸介質和信號傳輸方式,物理層處理包括光電轉換、串行解串和8B/10B編解碼等。數據鏈路層定義了幀格式和數據傳輸規則,鏈路層處理包括成幀和解幀。光纖通信協議結構如圖1所示。

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

協議使用8B/10B編碼保證數據通道的直流平衡,完成時鐘的恢復。同時利用8B/10B編碼的控制字符作為數據幀傳輸的起始、結束標識,并作為傳輸信道的同步控制。在每一數據幀的起始位置添加幀起始控制字符,在數據幀的結束位置添加幀結束控制字符,在數據傳輸過程中有中斷或在無數據傳輸的空閑時段填充同步控制字符。

控制命令和狀態數據都以數據幀的方式在光纖上傳輸。數據幀格式如圖2所示。標識字說明數據幀的性質和傳輸到的設備,不同的應用有不同的標識,且每個標識有唯一對應的設備,一個設備可能有多個標識字。字長為從標識到校驗的長度。數據為命令或狀態信息。校驗字為從字長到數據的所有字節的循環冗余校驗碼(CRC)。

2 通信接口模塊實現

通信接口模塊以FPGA為控制核心,外圍添加電平轉換芯片實現。通信接口模塊對上行控制命令和下行狀態信息進行獨立處理。在FPGA內實現的邏輯框圖如圖3所示。

光纖接收和光纖發送模塊實現光纖通信協議的物理層處理。成幀和解幀模塊實現光纖通信協議的鏈路層處理。控制命令處理和狀態數據處理實現用戶數據處理。三線同步串行接口、通用異步串行接口和邏輯電平接口實現針對各個前端受控模塊的數據傳輸。

2.1 光纖接口

按照光纖通信協議,光纖接口包括物理層和鏈路層處理,即圖3中的光纖發送/接收、成幀/解幀邏輯模塊,發送和接收是相反方向的處理。光纖接收/發送邏輯模塊實現串行解串編解碼和8B/10B編解碼。串行器將并行數據變為串行數據發送至光纖接口;解串器將從光纖接口接收到的串行數據變為并行數據。同時通過8B/10B編碼將發送時鐘編碼到數據中一同發送,解串器則從數據流中恢復時鐘。串行器采用
SN65LV1023A器件,解串器采用SN65LV1224B器件。8B/10B編解碼則在FPGA中實現。成幀/解幀模塊實現數據長度檢驗、數據校驗、添加幀頭和幀尾。

2.2 控制命令處理邏輯

控制命令處理邏輯首先檢測FIFO緩沖器是否有數據,如有數據則開啟一次控制命令處理。數據處理時,根據標志字將數據寫入相應的設備接口,一幀數據處理完成后,通過設置幀有效信號,啟動接口模塊發送。控制狀態機如圖4所示

2.3 狀態數據處理邏輯

由于各個前端受控模塊下行數據量較少、數據間時間間隔較大,而FPGA內部數據處理速度遠快于外部接口,因此不存在某一受控模塊始終占據總線的情況。這樣不需要考慮按照請求到來時間順序進行處理請求,而是狀態數據處理邏輯接到受控模塊接口的總線請求后,按照固定的優先級處理。

2.4 三線制同步串行口

三線制同步串行接口的邏輯結構如圖6所示。三線制同步串行口接收模塊可分為數據接收和數據接收緩存兩部分。數據接收部分由移位寄存器組成。移位寄存器受接收的時鐘信號控制,實現串并轉換,數據接收完成后,直接輸出到數據接收緩存。數據接收緩存設置2級異步FIFO,實現跨時鐘域變換。當緩存中有數據時,向狀態信息處理模塊發出請求,等待讀出數據。

三線制同步串行口發送模塊同樣可分為兩部分:數據發送緩存和數據發送。數據發送部分主要是由移位寄存器、移位計數器組成。根據不同的數據長度設置不同長度的移位寄存器,實現數據的并行輸入和串行移出。移位計數器控制數據移出的個數,同時控制時鐘信號和幀同步信號的產生。數據緩存部分根據傳輸數據的不同而不同。對于周期性控制命令設置一級緩存,當新數據來時緩存被新數據覆蓋。對于非周期控制命令設置4級FIFO,由于非周期控制命令較少,4級緩存已經足夠。數據緩存部分優先發送非周期控制命令

2.5 通用異步串口

通用異步串行接口的邏輯結構如圖7所示。通用異步串行接口的接收模塊可分為數據接收、幀檢驗和數據緩存3部分。數據接收部分包括移位寄存器和接收控制邏輯。按照通用異步串行接口的時序,接收控制邏輯將移動移位寄存器,實現字節數據的接收和串并轉換。幀檢驗模塊按照特定前端受控模塊的通信數據幀格式對數據進行檢驗,對檢驗成功的數據寫入到數據緩沖區中。數據緩存中存儲數據后向狀態信息處理模塊發出請求,等待數據讀出。

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

3 仿真結果

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器件,該器件具有足夠的差分接口、邏輯和存儲器資源,能滿足該設計的要求。首先在ISE中利用Verilog HDL語言編寫邏輯代碼并用ISim對各個模塊進行了詳細的功能仿真。光纖通信接口的仿真結果如圖8所示。該仿真利用光纖收發模塊進行自環,檢驗模塊輸入輸出的正確性。從光纖接口接收到相應控制命令后三線同步串行接口,通用異步串行接口的數據輸出仿真結果如圖9和圖10所示。仿真表明,程序輸出數據發送正確且數據處理時延很小。

4 結束語

文中以FPGA為控制核心,實現了中心機控制多個遠程受控模塊的通信接口模塊。該設計具有電路簡單、協議設計靈活,邏輯結構擴展性強等優點。仿真表明,該設計能夠滿足通信數據傳輸的功能要求,目前已應用到具體設備中。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品亚洲国产三区 | 三级不卡视频 | 在厨房被强行侵犯中文字幕 | 免费黄色小视频在线观看 | 丁香激情综合 | 亚洲黄色小视频 | 亚洲国产成a人v在线观看 | 国产成人啪精品 | 国产精品久久久久久一区二区三区 | 久草热视频在线观看 | 免费观看三级毛片 | 亚洲欧美视频网站 | 欧美性f| 一级毛片免费观看视频 | 涩涩成人网 | 亚洲午夜免费视频 | 欧美亚洲综合另类成人 | 成人网址在线观看 | 久久午夜宅男免费网站 | 夜夜操天天摸 | 一区二区三区欧美日韩 | 国产无遮挡色视频免费视频 | 成人免费大片黄在线观看com | 一级毛片ab片高清毛片 | 午夜精品福利视频 | 免费的涩涩视频 | 日韩精品久久久久影院 | 邪恶亚洲| 特级黄色片视频 | 国产精品福利影院 | 亚洲国产日韩a在线播放 | 国产亚洲一区二区精品张柏芝 | 成人在线免费 | 国产成人ay手机在线观看 | 毛片录像 | 手机日韩看片 | www.黄色网址.com| 在线黄色小视频 | 偷偷操不一样的久久 | 青青青视频免费一区二区 | 国产一区二区影院 |