Design of Fiber Channel Interface Adapter Using Host Computer and FPGA Development Board

Publisher:advancement3Latest update time:2012-07-13 Source: 21ic Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

With the rapid development of storage technology, storage capacity has grown rapidly, and the data transmission speed of storage systems has become a major bottleneck. Fiber optic transmission has its speed advantage, however, fiber optic transmission is limited by the fiber channel interface. Therefore, a key technical issue in the application of fiber channel in high-speed data transmission is the interface design problem. This article has practical significance for effectively solving the bottleneck of high data transmission at the interface.

1 Solution Design

The complete implementation includes PC software programming and the underlying link implementation of the Virtex-5 development board. The PC software programming mainly implements link creation and deregistration control, data framing, data transmission control, and display during transmission; the VirteX-5 development board mainly implements data link penetration and supports the transmission process of the frame structure defined by the host computer.

As shown in Figure 1, the interface adapter function implementation process mainly includes the correct understanding of the protocol, the organization of the protocol frame structure and data structure, the design and writing of specific implementation modules, and the realization of the fiber optic communication interface adapter function in combination with the connection of the VirteX-5 underlying link.

2 Specific implementation of the design

2.1 Analysis and tailoring of the protocol

The FC protocol should be tailored appropriately for different application environments, and the protocol standard should be used as effectively as possible. The FC protocol is a five-layer protocol system, including: FC-0 layer, FC-1 layer, FC-2 layer, FC-3 layer, and FC-4 layer.

The functions of each layer are:

(1): FC-O: Mainly specifies the physical interface, including transmission media, transceivers and interfaces.

(2) FC-1: 8 B/10 B encoding; deserialization; bit and word synchronization.

(3) FC-2 specifies the transmission mechanism of Fibre Channel:

Detection and identification of ordered sets; FC port state machine; sending and receiving frames, and validity check when receiving frames; flow control; frame management; switching and sequence management; data frames and responses; multicast and broadcast; segmentation and reassembly; error detection and response.

(4)FC-3: Basic link service; Extended link service; Query group.

(5) FC-4: Mapping the upper layer protocol. This article mainly maps the MILstd-1553B protocol.

2.2 Design of the code for each module in software programming

The design part of software implementation: GUI module design, device abstraction layer design, task processing module design, FC protocol and physical function module design.

(1) The GUI part is mainly used for display, and can set the relevant parameters of the interface adapter and display the interface. The GUI module design content includes: overall interface, link parameter area, link establishment area, and information display area.

(2) Design of the device abstraction layer. This part is to shield the differences between different physical devices in the lower layer and provide a simpler way for the upper layer module to communicate with the logic. This layer needs to provide the device operation interface supported by the upper layer and the functional interface provided by the WinDriver driver by encapsulating it internally to achieve functional support for the upper layer.

(3) Design of the task processing module. It mainly implements different task operations for links and data. The link data area and the file data area need to save their respective task data and status. In addition, it is the basis for the GUI module to change the LIST, so it is also necessary to save the status and data of the lower layer protocol.

(4) Design of FC protocol and physical function module. This section mainly describes the task sending protocol and link establishment protocol. [page]

① Registration process for link establishment: Before data transmission, a link between the sender and the receiver needs to be established through registration. First, the sender embeds the address ID and other information to be registered into the frame information and sends the frame information to the receiver. Then, after receiving the frame information, the receiver interprets the relevant information. If it meets the frame integrity check, the two ends establish a link. If it does not meet the relevant check,

If the error is found, the registration process will be terminated.

② Link deregistration process: When a link needs to be deregistered, first, the sender embeds the address ID and other information to be deregistered into the frame information and sends the frame information to the receiver. Then, after receiving the frame information, the receiver interprets the relevant information. If it meets the frame integrity and other checks, both ends deregister the link. If it does not meet the relevant checks, the deregistration process is terminated.

③Data transmission process: Data transmission is the fundamental purpose of link establishment. The simplified data transmission process is shown in Figure 2.

[page]

2.3 Virtex-5 Development Board's Bottom-Line Guarantee

(1) The system construction logic design mainly completes the following functions:

Control the PCIE hard core to interact with the upper-layer software; add CRC check to the upper-layer transmission data; complete the FC link initialization process; complete the FC flow control function; complete FC-2 error handling; control ROCKET I/O to send the upper-layer software data through ROCKET I/O; control ROCKET and I/O to transmit the received and recovered data to the upper-layer software.

(2) Module composition of logic design: The underlying logic control module mainly completes the FC physical layer communication. It mainly includes three parts: the sending module, the receiving module and the PCIE control module. Each module is divided into multiple sub-modules according to different functions. In the PCIE control module, there are some caches to store the data transmitted by the receiving module and the corresponding data information. The sending module also reads data from the cache of the PCIE control module and transmits it. Its principle block diagram is shown in Figure 3.

Data transmission module This module sends different information by reading the status information of the host computer. When ACK is enabled, the module sends ACK. When data is enabled, the module sends data with a fixed number of frames. The data sent is read from the cache, and CRC is added by the module. When idle, it sends IDLE code.

The data receiving module includes a receiving control module, a CRC module and a temporary buffer module. It mainly completes the reception of data and link control frames and preparation signals, and implements CRC verification. It determines different types of data frames or control frames based on the frame header and stores them in the buffer, and also stores the relevant information of the frame in the corresponding buffer.

PCIE interface control module This module mainly decodes the value of the register corresponding to the address on the PCIE bus into the corresponding enable, writes the data on the PCIE bus into the corresponding data sending buf-f, and ACK sends buff. Conversely, according to the enable of the logic input, it is decoded into the value of the corresponding register of the corresponding address on the corresponding PCIE bus, and writes the data receiving buffACK receiving buff data to the corresponding PCIE address.

2.4 Final Implementation

By combining the host computer with the FPGA development board, the high speed of the Fibre Channel interface adapter is achieved. The transmission effect diagram is shown in Figure 4.

3 Conclusion

Through the combination of the host computer and the FPGA development board, the design of the interface of the fiber channel in the high-speed data transmission process is simulated and realized. Although the design is realized in the form of a host computer and FPGA, it has certain reference significance for the actual development of the fiber channel interface adapter in terms of design ideas.

Reference address:Design of Fiber Channel Interface Adapter Using Host Computer and FPGA Development Board

Previous article:Embedded System Design of Mobile Phone Vending Machine
Next article:FPGA Programmable Embedded System Using Java's Good Portability

Recommended ReadingLatest update time:2024-11-16 23:53

FPGA Implementation of Multi-channel Frequency Detection Technology
Abstract: Multi-channel frequency detection is a common frequency measurement scheme for current digital receivers. This method can better solve the contradiction between frequency intercept probability and frequency resolution, and has the ability to process multiple simultaneously arriving signals in a complex e
[Embedded]
FPGA Implementation of Multi-channel Frequency Detection Technology
The two giants have been acquired one after another. What is the future of FPGA?
In 2015, Intel acquired Altera for $16.7 billion. And just this year, AMD officially acquired Xilinx, which is an important milestone for the FPGA field, because Xilinx and Altera are the main suppliers of FPGA. After the two major acquisitions, the industry began to have great concerns about the future of FPGA.   AM
[Embedded]
The two giants have been acquired one after another. What is the future of FPGA?
Design and implementation of robot voice control system based on DSP and FPGA
1 Introduction The robot hearing system mainly recognizes and judges human voices, and then outputs corresponding action commands to control the movements of the head and arms. The traditional robot hearing system generally uses a PC as a platform to control the robot. Its characteristic is that a computer
[Embedded]
The difference between ARM, DSP and FPGA
ARM: ARM (Advanced RISC Machines) is a well-known company in the microprocessor industry. It has designed a large number of high-performance, low-cost, low-energy RISC processors, related technologies and software. The ARM architecture is the first RISC microprocessor designed for the low-budget market. It is basica
[Microcontroller]
Design of LCoS drive and image processing system based on FPGA
Computer-generated holographic 3D display technology based on spatial light modulators currently often uses transmissive LCD and reflective LCoS as spatial light modulators to change the spatial phase and amplitude distribution of light after passing through the spatial light modulator (SLM) to achieve the modulation o
[Embedded]
Design of LCoS drive and image processing system based on FPGA
GDDR6 brings large bandwidth storage advantages and performance testing to FPGA
1. Overview With the advent of the Internet era, the data generated by humans has experienced unprecedented and explosive growth. IDC predicts that the total amount of global data will increase from 45ZB in 2019 to 175ZB in 2025 . At the same time, nearly 30% of the global data will need to be process
[Embedded]
GDDR6 brings large bandwidth storage advantages and performance testing to FPGA
A design of PXA270 peripheral timing conversion interface based on FPGA
1 Introduction When the ARCNET protocol is applied to the communication network of high-speed EMU trains, the timing mismatch problem between the central control unit processor PXA270 and the dedicated protocol control device COM20020 occurs. If the general digital circuit module is used for timing conversion, P
[Microcontroller]
Power Management Solutions Based on Mixed-Signal FPGA
Overview Actel Fusion mixed-signal FPGAs can implement power management, including power-on sequencing, run-time power monitoring, and shutdown control. In addition, Actel provides a mixed-signal power management tool (Mixed-Signal POWER Manager, MPM) reference design that can demonstrate various configurable p
[Embedded]
Power Management Solutions Based on Mixed-Signal FPGA
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号