Abstract:In order to facilitate the development of GPIB instruments based on LINUX operating system, in recent years, the LINUX kernel has also integrated a GPIB bus driver specially used in the field of testing and measurement. However, after being directly used, it is found that the transmission performance of this driver is not very ideal when sending commands to instruments with relatively high frequency, occasionally there will be drive hanging off, to cause kernel crash. In view of the above problems, the GPIB-driven optimization design scheme under the LINUX architecture is given. The LINUX character device driver model is analyzed; In the bottom half of the interrupt service program, a non-atomic operating work queue combined is introduced to improve the driving operation efficiency; The use of FIFO half full instead of the traditional full flag bit as the data transmission standard is proposed to improve the data transfer rate; Introducing mutually exclusive signal for read and write operations, eliminating drive-running anomalies caused by read and write race; Tests on the optimized GPIB driver, result shows that the above problem have been improved to some extent.