Font Size: a A A

Software Design For High Speed Data Transfer Card In Eb Exposure System

Posted on:2011-06-17Degree:MasterType:Thesis
Country:ChinaCandidate:Q L SunFull Text:PDF
GTID:2178360308450265Subject:Software engineering
Abstract/Summary:PDF Full Text Request
The performance requirement of data process in EB Exposure System is above 300MB/s. To match the performance requirement, the data process unit is implemented by high speed FPGA (Field Programmable Gate Array). So the data process unit can match the performance requirement. Next problem to be solved is the data transfer process, the process to transfer data from data server to data process unit. To transfer data at a high speed, a high speed data transfer card is developed. The device communicates with host system by PCI Express (Peripheral Component Interconnect Express) interface and communicates with data process unit by optical fiber.PCI Express is adapted because of the high performance PCI Express bus. In PCI Express bus, a lane can offer a speed of 2.5Gbps, so the device adapts the x4 model, that is to say the device can achieve the speed of 1GB/s at theory. And the device can achieve 400MB/s with the efficiency of 40%. The efficiency of 40% can be guaranteed and the device can match the performance requirement.To make use of the performance of the high speed transfer card, a high performance driver should be developed. The data server is a x8664 architecture, and is equipped with a 64bit Linux. So the driver should be developed under Linux system.The high speed data transfer card implements high speed data transferring by DMA (Direct Memory Access) controller. The driver should allocate memory for DMA transferring, and the memory should be in continuous physical address and cache coherency. Applications run in application space and can not access the kernel address space. Applications access hardware by indirect mode called Double Copy mode. Drivers should copy data between application address space and kernel address space and copy data between kernel address space and hardware. Though the copy between memories is fast, for high speed device, the copy process can affect the performance of the system. So when developed the driver, mmap is adapted. The mmap model is to map the physical address that has been mapped to kernel virtual address to user application space. The application can access DMA buffer directly and reduce a copy process between user space buffer and kernel space buffer. By test, the average speed by Double Copy model is 224.26MB/s, and the average speed by mmap model is 358.88MB/s. By mmap model, performance is improved by 60% and match the performance requirement of EB Exposure System.
Keywords/Search Tags:PCIe Bus, Char Driver, DMA, interrupt process, mmap
PDF Full Text Request
Related items