(蘇州大學(xué) 機(jī)電工程學(xué)院,蘇州215021)
離子阱[1]質(zhì)譜儀是一種現(xiàn)代高端分析儀器,由于它具有定性能力強(qiáng)、定量準(zhǔn)確性高、靈敏度高和檢測(cè)限低等優(yōu)點(diǎn),因此被廣泛應(yīng)用于食品安全、生命科學(xué)、醫(yī)學(xué)制藥、環(huán)境監(jiān)測(cè)和公共安全等領(lǐng)域。一臺(tái)完整的離子阱質(zhì)譜儀主要包含真空系統(tǒng)、進(jìn)樣系統(tǒng)、離子源、離子傳輸系統(tǒng)、質(zhì)量分析器、檢測(cè)器和測(cè)控系統(tǒng)[2]。其中測(cè)控系統(tǒng)是儀器的關(guān)鍵部件之一,主要功能是與計(jì)算機(jī)進(jìn)行通信,接收計(jì)算機(jī)的控制命令完成系統(tǒng)控制,并將讀取到的質(zhì)譜數(shù)據(jù)傳送到計(jì)算機(jī)進(jìn)行分析和顯示。質(zhì)譜儀測(cè)控系統(tǒng)中需要實(shí)時(shí)對(duì)質(zhì)譜數(shù)據(jù)進(jìn)行AD采集,采樣上傳至上位機(jī),要求采樣的實(shí)時(shí)性強(qiáng),采集的數(shù)據(jù)量大,同時(shí)需要下發(fā)控制參數(shù),數(shù)據(jù)量較大,因此設(shè)計(jì)高速實(shí)時(shí)數(shù)據(jù)交互系統(tǒng)尤為重要。
本交互系統(tǒng)中PC機(jī)與控制系統(tǒng)之間的通信方式采用以太網(wǎng)連接方式,使用TCP/IP協(xié)議進(jìn)行Socket通信,以太網(wǎng)接口具有不易掉線、傳輸速度快、開發(fā)周期短、通用性好等優(yōu)點(diǎn),因此被廣泛應(yīng)用于質(zhì)譜儀測(cè)控系統(tǒng)中。傳統(tǒng)的以太網(wǎng)接入方式,往往采用主控制器連接物理層接口芯片 (如DM9000A),在主控CPU中嵌入以太網(wǎng)通信協(xié)議。這種方式需要編寫繁瑣的網(wǎng)絡(luò)協(xié)議程序并且耗費(fèi)大量的時(shí)間進(jìn)行調(diào)試,難以實(shí)現(xiàn)系統(tǒng)的快速開發(fā)和穩(wěn)定運(yùn)行,更不利于系統(tǒng)的更新升級(jí)[3]。本文設(shè)計(jì)的數(shù)據(jù)交互系統(tǒng)采用W5500以太網(wǎng)芯片,該芯片是WIZnet公司研發(fā)的一款超高性價(jià)比的芯片,是新一代全硬件協(xié)議棧的專用芯片,不需要植入軟件協(xié)議棧,所以在實(shí)際使用中,具有開發(fā)周期短、使用方便等優(yōu)點(diǎn)。
離子阱質(zhì)譜儀測(cè)控系統(tǒng)在儀器工作過(guò)程中,數(shù)據(jù)交互的需求:(1)從上位機(jī)實(shí)時(shí)下發(fā)時(shí)序控制參數(shù),其中包含一段DAC[4]信號(hào),數(shù)據(jù)量較大,不小于32 KB,需要高速下發(fā)至控制系統(tǒng);(2)下位機(jī)進(jìn)行數(shù)據(jù)采樣并實(shí)時(shí)傳輸至上位機(jī),采樣的速率要求較高,數(shù)據(jù)量較大?;谏鲜鲂枨?,本數(shù)據(jù)交互系統(tǒng)的設(shè)計(jì)采用高速以太網(wǎng)接口,以克服其他通信接口(如串口通信等)的數(shù)據(jù)傳輸速率慢和穩(wěn)定性低等缺點(diǎn)。
整個(gè)系統(tǒng)包含5個(gè)部分,分別為上位機(jī)、電源模塊、以太網(wǎng)接口、主處理器和數(shù)據(jù)采集模塊。電源模塊用于提供各模塊工作時(shí)需要的電壓;上位機(jī)為PC機(jī),用于人機(jī)交互,上位機(jī)軟件使用C#語(yǔ)言編寫;以太網(wǎng)接口部分使用W5500為通信芯片;系統(tǒng)主處理器使用一款型號(hào)為STM32F103ZET6的ARM芯片,該芯片配置強(qiáng)大,擁有豐富的資源,在嵌入式系統(tǒng)方面的應(yīng)用極為廣泛;數(shù)據(jù)采集模塊由可編程邏輯器件FPGA和AD采樣芯片兩部分組成,AD采樣芯片將質(zhì)譜數(shù)據(jù)采集送入FPGA中,然后由FPGA控制存儲(chǔ)至SRAM中,不斷進(jìn)行乒乓操作;FPGA和ARM處理器之間通過(guò)FSMC(靈活的靜態(tài)存儲(chǔ)控制)總線進(jìn)行通信。交互系統(tǒng)的總體設(shè)計(jì)如圖1所示。
圖1 數(shù)據(jù)交互系統(tǒng)總體結(jié)構(gòu)Fig.1 Data interaction system overall structure
W5500是一款全硬件TCP/IP嵌入式以太網(wǎng)控制器,為嵌入式系統(tǒng)提供了更加簡(jiǎn)易的互聯(lián)網(wǎng)連接方案。W5500集成了TCP/IP協(xié)議棧,10/100 M以太網(wǎng)數(shù)據(jù)鏈路層(MAC及物理層(PHY),使得用戶使用單芯片就能夠在應(yīng)用中拓展網(wǎng)絡(luò)鏈。使用W5500,只需要一些簡(jiǎn)單的Socket編程就能實(shí)現(xiàn)以太網(wǎng)應(yīng)用。這將會(huì)比其他嵌入式以太網(wǎng)方案更加快捷、簡(jiǎn)便。
圖2所示為W5500的電路接口圖,主處理器與W5500之間采用SPI串行接口方式,SPI是一種高速、全雙工、同步的通信總線[5],又是一種特殊的串行口通信協(xié)議,它定義了一種主從通信方式,其接口由4根信號(hào)線組成:主數(shù)據(jù)輸入-從數(shù)據(jù)輸出(MISO)、主數(shù)據(jù)輸出-從數(shù)據(jù)輸入(MOSI)、移位時(shí)鐘(SCLK)、從設(shè)備使能(SCSn)。 在整個(gè) SPI通信協(xié)議中,由主設(shè)備提供移位時(shí)鐘和從設(shè)備使能信號(hào),其中SCSn是可選的且低電平有效。SPI因其硬件功能很強(qiáng),所以與SPI相關(guān)的軟件就相對(duì)簡(jiǎn)單,因此通過(guò)此接口能夠更加容易地與主處理器交互。
圖2 W5500接口框圖Fig.2 W5500 interface block diagram
主處理器與數(shù)據(jù)采集模塊之間是通過(guò)ARM與FPGA之間的FSMC(靈活的靜態(tài)存儲(chǔ)控制器)總線連接的。該交互系統(tǒng)中采用型號(hào)為STM32F103ZET6的ARM芯片作為主處理器,該處理器擁有的資源包括 64 KB SRAM、512 KB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、3個(gè)SPI、2個(gè)I2C、5個(gè)串口、1個(gè) USB、1個(gè) CAN、3個(gè) 12位 ADC、1個(gè)12位DAC、一個(gè)SDIO接口、1個(gè)FSMC接口以及112個(gè)通用I/O口。該處理器所帶有FSMC的總線可以用來(lái)外擴(kuò)SRAM和連接LCD,在本交互系統(tǒng)中用來(lái)與FPGA進(jìn)行數(shù)據(jù)通信。主處理器與FPGA之間的電路接口圖如圖3所示。圖中所示FSMC_A[18:0]為 19 位地址總線,F(xiàn)SMC_D[15:0]為 16 位數(shù) 據(jù) 總 線 ,F(xiàn)SMC_NBL1、FSMC_NBL0、FSMC_OE、FSMC_WE、FSMC_NE3為控制信號(hào)。
圖3 主處理器接口Fig.3 Main controller interface block diagram
W5500芯片集成了TCP/IP協(xié)議棧,即芯片本身就集成了網(wǎng)絡(luò)層和傳輸層的相關(guān)協(xié)議,因此只需要對(duì)芯片進(jìn)行協(xié)議所必需的參數(shù)初始化配置就可以實(shí)現(xiàn)以太網(wǎng)的數(shù)據(jù)收發(fā)。
具體初始化過(guò)程如下:
(1)首先主處理器配置與W5500相連接的IO端口,配置IO端口的輸入輸出方式;
(2)主處理器與W5500之間采用SPI串行接口方式,因此需要編寫與SPI通信相關(guān)的API函數(shù),即在通信過(guò)程中用到的讀寫數(shù)據(jù)函數(shù)。
(3)然后通過(guò)SPI接口配置W5500的各寄存器值,具體有W5500網(wǎng)關(guān)地址寄存器、子網(wǎng)掩碼寄存器、模塊物理地址寄存器和IP地址寄存器
(4)最后需要配置W5500為TCP服務(wù)器端模式,同時(shí)還需要設(shè)置發(fā)送緩存區(qū)和接收緩沖區(qū)的大小,進(jìn)行好所有的初始化配置后即可對(duì)網(wǎng)關(guān)服務(wù)器進(jìn)行Socket設(shè)置,最后監(jiān)聽連接。W5500初始化流程如圖4所示。
圖4 W5500初始化流程Fig.4 W5500 initialization flow chart
該交互系統(tǒng)采用的是TCP/IP通信,在使用TCP/IP協(xié)議進(jìn)行網(wǎng)絡(luò)通信時(shí),采用了客戶/服務(wù)器模型[6]。下位機(jī)工作在服務(wù)器模式,上位機(jī)工作在客戶端模式。工作過(guò)程中首先服務(wù)器等待客戶端發(fā)起連接要求,服務(wù)器接收到客戶端請(qǐng)求連接要求后,兩者建立連接,然后進(jìn)行數(shù)據(jù)傳輸。服務(wù)器固定IP地址和端口號(hào)后,客戶端連接到相應(yīng)IP地址及端口號(hào),即可找到匹配的服務(wù)器。
具體質(zhì)譜儀測(cè)控系統(tǒng)數(shù)據(jù)通信流程如下:
(1)客戶端發(fā)送準(zhǔn)備命令,服務(wù)器接收到準(zhǔn)備命令并向客戶端發(fā)送確認(rèn)命令,然后服務(wù)器等待接收數(shù)據(jù);
(2)客戶端向服務(wù)器發(fā)送控制參數(shù),具體是質(zhì)譜儀進(jìn)行精密控制的一系列復(fù)雜信號(hào)的參數(shù)值,包括精確的時(shí)序控制、直流電壓控制和射頻電壓控制等[7];
(3)配置參數(shù)完成后,客戶端發(fā)送開始掃描命令,服務(wù)器接收到開始掃描命令后控制各子模塊運(yùn)行,每掃描一次,時(shí)序信號(hào)循環(huán)運(yùn)行一次,并且向客戶端發(fā)送一次質(zhì)譜數(shù)據(jù),客戶端將質(zhì)譜數(shù)據(jù)顯示在上位機(jī)中;
(4)如此反復(fù)不斷發(fā)送開始時(shí)序掃描命令,則上位機(jī)不斷接受到質(zhì)譜數(shù)據(jù)。如若要停止掃描,在上位機(jī)界面中控制發(fā)送停止掃描命令即可。具體通信流程如圖5所示。
圖5 TCP/IP通信流程Fig.5 TCP/IP communication flow chart
該系統(tǒng)已經(jīng)成功應(yīng)用在某小型化離子阱質(zhì)譜儀中,整個(gè)系統(tǒng)運(yùn)行良好,功能穩(wěn)定。該交互系統(tǒng)的上位機(jī)軟件使用C#語(yǔ)言編寫。質(zhì)譜儀工作時(shí),首先需在上位機(jī)中設(shè)置好控制時(shí)序、每個(gè)時(shí)序段所需要的電壓信號(hào)控制參數(shù)、射頻電源所需頻率值、各電極所需電壓值以及系統(tǒng)中所需要的開關(guān)信號(hào),然后點(diǎn)擊下發(fā)參數(shù)控件發(fā)送各種控制參數(shù)值,最后下發(fā)開始掃描信號(hào),緊接著就會(huì)不斷接收質(zhì)譜數(shù)據(jù)。
圖6為使用上位機(jī)下發(fā)各種不同參數(shù)值的人機(jī)交互界面,圖7所示為質(zhì)譜儀工作時(shí)上位機(jī)接收質(zhì)譜數(shù)據(jù)的界面,圖示中為檢測(cè)丙酮樣品的質(zhì)譜圖。試驗(yàn)流程是上位機(jī)首先下發(fā)所有控制參數(shù),等待數(shù)據(jù)發(fā)送完畢命令,然后發(fā)送時(shí)序掃描命令,上位機(jī)就會(huì)不斷接收采樣回來(lái)的質(zhì)譜數(shù)據(jù),最終質(zhì)譜數(shù)據(jù)在上位機(jī)中顯示出來(lái)。
試驗(yàn)結(jié)果表明,整個(gè)交互系統(tǒng)功能穩(wěn)定,能夠準(zhǔn)確地下發(fā)各種控制參數(shù),并且能準(zhǔn)確接收到質(zhì)譜數(shù)據(jù)然后顯示質(zhì)譜峰圖。
圖6 上位機(jī)人機(jī)交互界面Fig.6 PC man-machine interaction interface
圖7 離子阱質(zhì)譜儀中丙酮樣品的質(zhì)譜圖Fig.7 Mass spectra of acetone in ion trap mass spectrometer
本文研究設(shè)計(jì)了一種基于W5500芯片的質(zhì)譜儀實(shí)時(shí)數(shù)據(jù)交互系統(tǒng),系統(tǒng)主處理器采用STM32F103ZET6,數(shù)據(jù)采樣模塊采用可編程邏輯器件FPGA和AD采樣芯片,通過(guò)上位機(jī)將各參數(shù)值下發(fā)至控制系統(tǒng),然后由控制系統(tǒng)傳輸質(zhì)譜數(shù)據(jù)到上位機(jī)界面進(jìn)行顯示。通過(guò)對(duì)系統(tǒng)實(shí)測(cè)數(shù)據(jù)和質(zhì)譜峰圖的分析結(jié)果顯示,系統(tǒng)能準(zhǔn)確通過(guò)以太網(wǎng)接口接收上位機(jī)發(fā)送的命令,并控制各功能模塊產(chǎn)生所需的信號(hào),同時(shí)上位機(jī)能夠穩(wěn)定接收系統(tǒng)上發(fā)的質(zhì)譜數(shù)據(jù),該系統(tǒng)已成功用于某小型化離子阱質(zhì)譜儀中。
[1]March RE.An Introduction to quadrupole ion trap mass spectrometry[J].Journal of Mass Spectrometry,1997,32:351-369.
[2]李曉旭.基于印刷線路板(PCB)的矩形離子阱及陣列離子阱質(zhì)譜儀的研發(fā)[D].上海:復(fù)旦大學(xué),2009.
[3]徐元軍.W3100在DSP系統(tǒng)以太網(wǎng)接口中的應(yīng)用[J].微型機(jī)與應(yīng)用,2002,21(9):17-19.
[4]江游,方向,穰瑜,等.四級(jí)離子阱數(shù)字式共振激發(fā)控制技術(shù)的研發(fā)與應(yīng)用[J].分析化學(xué),2008,36(5):715-718.
[5]嚴(yán)宇,黃建國(guó),曾浩.基于SPI協(xié)議的新型高速ADC芯片配置[J].信息與電子工程,2009,7(5)453-458.
[6]潘海寧,趙春宇.多通道數(shù)字化離子阱質(zhì)譜儀測(cè)控系統(tǒng)研制[J].儀表技術(shù)與傳感器,2015(5):31-33.
[7]費(fèi)強(qiáng),姜杰,周健光,等.基于LabVIEW的離子阱質(zhì)譜儀研發(fā)軟件[J].中國(guó)儀器儀表,2008(5):82-84.