李正東+周志強+袁學文+劉章文
摘 要: 為了實現(xiàn)多通道變形鏡驅(qū)動和控制,設計由6組模塊組成的變形鏡驅(qū)動器。其中每塊模塊包括硬件部分和軟件部分,硬件部分設計包含電源設計、接口設計、D/A轉(zhuǎn)換及放大設計和FPGA設計,其旨在接收驅(qū)動電壓組成的矢量數(shù)據(jù),并把這些數(shù)字信號經(jīng)D/A芯片轉(zhuǎn)換成模擬電壓,隨后經(jīng)射隨和高壓放大電路輸出,作為變形鏡陶瓷單元的驅(qū)動電壓。軟件部分設計包含F(xiàn)PGA設計和NIOS設計,其中FPGA從矢量驅(qū)動數(shù)據(jù)中提取屬于該驅(qū)動模塊16個通道的驅(qū)動電壓,并把每個通道的驅(qū)動電壓,按D/A轉(zhuǎn)換芯片的時序要求,以串行方式把數(shù)據(jù)發(fā)送給對應的D/A芯片,完成對變形鏡陶瓷單元驅(qū)動電壓的輸出。NIOS程序旨在實現(xiàn)對上位機指令的處理和反饋,完成對驅(qū)動模塊參數(shù)的配置、調(diào)試和保存以及數(shù)據(jù)源切換、通道電壓設置等功能。實驗表明,變形鏡驅(qū)動器不僅能以200 f/s的速率對96單元變形的鏡波前校正功能進行控制,而且能夠正確完成與上位機的信息交互。
關(guān)鍵詞: 變形鏡; 驅(qū)動電路; 硬件設計; 軟件設計; FPGA; NIOS系統(tǒng)
中圖分類號: TN79+2?34; TN247 文獻標識碼: A 文章編號: 1004?373X(2017)24?0169?06
Abstract: In order to drive and control the multi?channel deformable mirror, a deformable mirror driver composed of six?group modules was designed. The each module is composed of hardware and software. The hardware design includes the power supply design, interface design, D/A conversion and amplification design, and FPGA design, which is aimed at receiving the vector data composed of drive voltage, and converting the digital signals into the analog voltage through D/A chip. And then the analog voltage output by the emitter follower and high?voltage amplifying circuit is taken as the drive voltage of the deformable mirror ceramic unit. The software design includes the FPGA design and NIOS design. The 16?channel drive voltage of the drive module is extracted in the vector drive data through FPGA, and sent to the corresponding D/A chip in the serial mode according to the time serial requirement, so as to output the drive voltage of the deformable mirror ceramic unit. The NIOS program is aimed to process and feed the command from the upper computer; and realize the configuration, debugging and saving of the drive module parameters, data source switchover and channel voltage setting. The experimental results show that the deformable mirror driver can control the wavefront correction function of the 96?unit deformable mirror with the frequency of 200 f/s, and realize the information interaction with the upper computer correctly.
Keywords: deformable mirror; driver circuit; hardware design; software design; FPGA; NIOS system
0 引 言
主動光學系統(tǒng)的關(guān)鍵器件是由壓電陶瓷單元組成的變形鏡,而變形鏡的工作原理是通過改變加在壓電陶瓷單元上的電壓,從而改變壓電陶瓷單元的形變,最終達到改善光束測量的目的。變形鏡驅(qū)動器[1?2]是負責將一組電壓值構(gòu)成的矢量數(shù)據(jù)施加到變形鏡上,其中每一路電壓負責驅(qū)動變形鏡的一個陶瓷單元??紤]到陶瓷單元驅(qū)動電壓較高以及電路板的散熱要求,變形鏡驅(qū)動器集成了六塊驅(qū)動模塊,其中每塊驅(qū)動模塊實現(xiàn)16通道驅(qū)動電壓的輸出,這些模塊通過CPCI物理總線集成在一個機箱內(nèi),并通過一個控制模塊實現(xiàn)整個變形鏡驅(qū)動器與上位機、圖像處理板卡等之間的通信。在系統(tǒng)工作時,控制模塊首先接收來自于上位機或圖像處理板卡的驅(qū)動數(shù)據(jù)矢量,并發(fā)往所有掛在CPCI總線上的驅(qū)動模塊,每個驅(qū)動模塊根據(jù)各自的地址,提取屬于自己的驅(qū)動數(shù)據(jù),經(jīng)過D/A轉(zhuǎn)換和放大,實現(xiàn)驅(qū)動電壓的輸出,協(xié)同完成對96單元變形鏡的驅(qū)動。
具體來說,其中的總線電路板相當于整個變形鏡驅(qū)動器的主板,其提供了整個變形鏡驅(qū)動器基本的CPCI總線,電源模塊正是通過CPCI物理總線為變形鏡驅(qū)動器的控制模塊、圖像處理模塊和六塊驅(qū)動模塊供電,控制模塊、圖像處理模塊和六塊驅(qū)動模塊之間的控制信號、數(shù)據(jù)信號以及反饋信號也是通過該CPCI總線實現(xiàn)互聯(lián)。其中的電源模塊采用一款成熟的商業(yè)化電源模塊來實現(xiàn),其有四組輸出端子,分別輸出150 V,-50 V,15 V,-15 V四種電壓,其中150 V和-50 V為六塊驅(qū)動模塊內(nèi)部的末級高壓放大器提供正、負電源,15 V電源通過CPCI物理總線為控制模塊、圖像處理模塊和六塊驅(qū)動模塊提供工作電源,-15 V結(jié)合15 V為驅(qū)動模塊內(nèi)含的前級放大器提供負、正電源;其中的圖像處理模塊對圖像數(shù)據(jù)處理完成后,得出一組驅(qū)動變形鏡所需的電壓驅(qū)動矢量數(shù)據(jù),并通過CPCI總線發(fā)送到控制模塊,再經(jīng)過控制模塊的處理,發(fā)送到驅(qū)動模塊,最終通過驅(qū)動模塊的輸出電壓控制變形鏡的形變,實現(xiàn)光束質(zhì)量的控制。變形鏡驅(qū)動器原理框圖如圖1所示。
1 變形鏡驅(qū)動器驅(qū)動模塊的硬件設計
一套變形鏡驅(qū)動器內(nèi)含6塊驅(qū)動模塊,每塊驅(qū)動模塊都掛在CPCI總線上,其設計電路及運行程序完全一致,不同之處,在于系統(tǒng)上電后,每塊驅(qū)動模塊讀取CPCI底板上靠近本模塊的拔碼開關(guān),用此作為自己的ID號來標識自己。所有驅(qū)動模塊的硬件框架如圖2所示,其主要框架包括4個部分,分別為電源部分、接口部分、D/A轉(zhuǎn)換及放大部分和FPGA部分,其中電源部分包括來自CPCI總線的4組電源,其中15 V,-15 V兩組電源作為驅(qū)動模塊D/A轉(zhuǎn)換芯片的工作電壓,150 V,-50 V兩組電源作為末級放大器的供電電源。15 V電源經(jīng)過不同的電壓轉(zhuǎn)換芯片給FPGA及其他接口芯片供電,接口部分包括接收來自CPCI物理總線的輸入接口以及發(fā)往CPCI物理總線的輸出接口,A/D轉(zhuǎn)換及放大部分主要實現(xiàn)對來自對驅(qū)動矢量或者單通道指令的數(shù)字信號進行D/A轉(zhuǎn)換及放大,F(xiàn)PGA部分實現(xiàn)對整個模塊工作流程的控制,完成驅(qū)動模塊經(jīng)由控制模塊與上位機的通信,以及控制各通道的輸出電壓對變形鏡進行驅(qū)動。對于電源部分,15 V,-15 V,150 V,-50 V經(jīng)過濾波以及瞬態(tài)過沖抑制保護電路后,分別作為D/A轉(zhuǎn)換芯片、隔離電路和末級模擬信號放大器的工作電源,15 V電源再經(jīng)過兩片LMZ14201電壓轉(zhuǎn)換芯片,分別輸出5.0 V 和3.3 V電壓,5.0 V電壓作為通過CPCI物理總線負責與控制模塊通信的RS 485接口芯片的工作電壓,3.3 V電壓作為模塊中FPGA的I/O電壓和NIOS所需的SDRAM等其他接口芯片的工作電壓,其經(jīng)過NCP5661?1.2芯片輸出1.2 V的電壓用來作為FPGA的內(nèi)核電壓,圖3給出了3.3 V電壓的設計原理圖。
接口部分的設計分為三個部分,即來自CPCI總線的輸入接口、發(fā)往CPCI總線的輸出接口和面板接口,其中輸入接口是指并行總線設計,它是采用全硬件方式,以差分信號方式接收經(jīng)由CPCI總線,來自控制模塊發(fā)送過來的驅(qū)動矢量數(shù)據(jù),并把這些驅(qū)動矢量數(shù)據(jù)發(fā)往FPGA,此功能主要由DS91M040芯片來實現(xiàn),電路設計上,與RS 485總線設計一致,即DS91M040的單端信號,包括數(shù)據(jù)信號和控制信號接入FPGA,其4對差分信號均接到CPCI總線上,從而提高總線數(shù)據(jù)傳輸?shù)乃俣群涂煽啃?,?shù)據(jù)傳輸協(xié)議自行制定,圖4僅給出總線電路的設計。輸出接口是把驅(qū)動模塊的16個高壓模擬放大器輸出端,連接到CPCI物理總線作為輸出端子,其輸出電壓在-20~150 V之間,每個端子對應變形鏡的一個陶瓷單元。CPCI物理總線上還包含RS 485總線的I/O設計,它主要用來實現(xiàn)驅(qū)動模塊和控制模塊在調(diào)試工作模式下的信息交互,即接收經(jīng)由控制模塊來自上位機的指令,或?qū)⒈掘?qū)動模塊的狀態(tài)信息經(jīng)由控制模塊回傳給上位機,尤其在末級放大器輸出通道的參數(shù)進行標定,上位機通道切換、通道電壓設置等功能的實現(xiàn)均是通過RS 485接口發(fā)往驅(qū)動模塊的,此功能由SP485EL芯片來實現(xiàn),控制模塊為RS 485總線的主設備,驅(qū)動模塊為RS 485總線的從設備,其中SP485EL的一對差分信號,連接至CPCI總線上,其他單端信號連接到FPGA。面板接口設計則相對比較簡單,它主要用于顯示驅(qū)動模塊的工作狀態(tài),包含驅(qū)動模塊的3.3 V電源狀態(tài)顯示、通信狀態(tài)顯示、故障顯示以及蜂鳴器報警設計。
A/D轉(zhuǎn)換及放大部分用來實現(xiàn)驅(qū)動電壓的數(shù)字信號的D/A轉(zhuǎn)換和放大,此功能主要由AD5360,ADG5434和PA343三類芯片來實現(xiàn),其中AD5360為串行工作方式的16通道D/A轉(zhuǎn)換芯片,數(shù)據(jù)輸入為16 b的數(shù)字信號,輸出為-10~10 V的模擬電壓。D/A轉(zhuǎn)換時,F(xiàn)PGA程序?qū)⑿酒? b模式標識,6 b通道地址,以及16 b電壓數(shù)據(jù)組成一個數(shù)據(jù)包,按照AD5360芯片要求的時序串行寫入,由此實現(xiàn)通道的電壓輸出,其中通道地址的改變可以實現(xiàn)通道的切換;ADG5434芯片相當于集成了4個通道的射隨器芯片,它主要用來實現(xiàn)前后電路的隔離功能,防止后級高壓放大電路對前級電路造成干擾,由于每塊芯片含有4個通道,所以每塊驅(qū)動模塊設計了4塊ADG5434芯片;另外,驅(qū)動模塊還設計了16塊PA343芯片,每塊PA343芯片的輸出端通過CPCI端子直接接入變形鏡的陶瓷單元,它是一款高精度、高電壓的模擬信號放大器,其容許的最大輸出電壓可到300 V以上,這里將PA343的放大倍數(shù)設置為12倍,由于D/A轉(zhuǎn)換芯片輸出的最高模擬電壓為10 V,所以PA343輸出的最大電壓為120 V,其放大電路如圖5所示。
FPGA是整個控制模塊的核心部件,用于實現(xiàn)對驅(qū)動模塊所有指令和數(shù)據(jù)的控制和交互,F(xiàn)PGA部分的設計主要包含F(xiàn)PGA電源設計、時鐘設計、JTAG口設計、配置芯片設計和存儲器設計,其中存儲器包含一片SDRAM芯片和一片EPCS16,而這里的EPCS16作為EPROM不同于FPGA的配置芯片,它主要存儲本驅(qū)動模塊所有末級高壓放大器的配置參數(shù)等。上電后,NIOS系統(tǒng)先要從該EPROM中讀取參數(shù),并利用這些參數(shù)進行系統(tǒng)的初始化,這些工作完成后,矢量數(shù)據(jù)通道都切換正常后,系統(tǒng)才進入工作模式。
2 變形鏡驅(qū)動器驅(qū)動模塊的軟件設計
驅(qū)動模塊的軟件設計包含兩個部分:一部分是FPGA程序的設計;另一部分是NIOS程序設計。FPGA程序的主要目的是當變形鏡驅(qū)動器工作在運行模式時,接收經(jīng)由CPCI總線來自驅(qū)動模塊的驅(qū)動矢量數(shù)據(jù),一幀驅(qū)動矢量接收完畢后,并根據(jù)本模塊的地址,從96個驅(qū)動矢量數(shù)據(jù)中提取屬于本模塊的16個輸出通道的電壓數(shù)據(jù),再根據(jù)AD5360芯片的時序要求,依次把不同通道的數(shù)據(jù)包串行輸出到AD5360芯片,實現(xiàn)16通道模擬電壓的輸出,以供后續(xù)放大電路放大使用。NIOS程序的主要目的是當變形鏡驅(qū)動器工作在調(diào)試模式時,通過RS 485總線,接收并解析來自控制模塊的指令或數(shù)據(jù),實現(xiàn)對驅(qū)動模塊相關(guān)硬件的切換,或者單個通道輸出電壓的設置,以及放大器通道參數(shù)的保存等,同時還根據(jù)上位機的指令,收集本驅(qū)動模塊的狀態(tài)信息并回傳,下面分別介紹FPGA和NIOS程序的設計。
2.1 FPGA的程序設計
驅(qū)動模塊利用NIOS程序接收來自RS 485接口的上位機指令,而通過FPGA的高速并行接口接收來自控制模塊的驅(qū)動矢量數(shù)據(jù),F(xiàn)PGA程序的邏輯框圖如圖6所示。
CPCI總線上驅(qū)動矢量數(shù)據(jù)的傳輸,利用高速并行接口的四對差分線來實現(xiàn),其中一對差分線作為時鐘信號,另外三對差分線作為數(shù)據(jù)信號,傳輸過程以字節(jié)為單位進行傳輸,即在每個字節(jié)的最高位前填一個0,組成9 b數(shù)據(jù),依據(jù)高位先傳,低位后傳的原則實現(xiàn)傳輸,這樣一個字節(jié)的數(shù)據(jù)需要3個時鐘周期完成傳輸。在1幀數(shù)據(jù)傳輸時,首先在最先的6個時鐘周期傳輸兩組同步信號,即“111_111_111”和“111_010_101”,然后再開始以字節(jié)為單位傳輸1幀的驅(qū)動矢量數(shù)據(jù),其中每幀驅(qū)動矢量數(shù)據(jù)包含96個字,每個字包含2 B,其數(shù)值大小代表變形鏡對應陶瓷單元的驅(qū)動電壓值,其傳輸過程采用小端方式傳輸。
驅(qū)動矢量數(shù)據(jù)的來源有兩個:一個來源為矢量數(shù)據(jù)接收和傳輸模塊發(fā)送過來的;另一個來源為NIOS系統(tǒng)發(fā)出的16個字組成的驅(qū)動矢量。在系統(tǒng)工作于調(diào)試模式時,驅(qū)動矢量數(shù)據(jù)由NIOS系統(tǒng)給出,此時NIOS系統(tǒng)只給出16個字的數(shù)據(jù),由NIOS系統(tǒng)直接寫入存儲容量為16個字的DPRAM2。當系統(tǒng)工作于運行模式時,驅(qū)動矢量數(shù)據(jù)由驅(qū)動矢量接收和存儲模塊提供,這種情況下,為了提高系統(tǒng)的帶寬,圖6中的DPRAM1設計為512 B的雙口RAM,即256個字,劃分為A,B兩個半?yún)^(qū),分別為128個字,讀寫操作均采用乒乓操作。當系統(tǒng)開始工作時,驅(qū)動矢量接收和存儲模塊首先檢查是否存在幀同步信號,如果幀同步信號正確,則連續(xù)接收隨后的96個驅(qū)動矢量數(shù)據(jù),并把這些數(shù)據(jù)寫入A區(qū)。當A區(qū)數(shù)據(jù)寫操作完成時,驅(qū)動矢量接收和存儲模塊通知后續(xù)相關(guān)模塊A區(qū)寫操作完成,同時等待并準備將下一幀的驅(qū)動矢量數(shù)據(jù)寫入B區(qū),后續(xù)相關(guān)模塊收到驅(qū)動矢量接收和存儲模塊A區(qū)寫完成信號后,從A區(qū)讀取驅(qū)動矢量數(shù)據(jù),再進行后續(xù)操作,其FPGA接口設計如圖7所示。
圖6中的數(shù)據(jù)源切換模塊,是依據(jù)NIOS系統(tǒng)發(fā)出的指令,在兩種驅(qū)動矢量數(shù)據(jù)源之間進行切換,從而實現(xiàn)數(shù)據(jù)通道選擇,并把本模塊需要的16字驅(qū)動數(shù)據(jù)寫入DPRAM5中,尤其當選擇來自高速并行接口的驅(qū)動矢量時,數(shù)據(jù)源切換模塊還要根據(jù)本模塊的地址映射,從96個字的驅(qū)動矢量中,選擇屬于本驅(qū)動模塊的16個字的驅(qū)動矢量。當然NIOS系統(tǒng)發(fā)出什么指令又依賴于經(jīng)由控制模塊、RS 485接口來自上位機的指令,缺省情況下,系統(tǒng)工作于運行模式。D/A轉(zhuǎn)換控制模塊接收到數(shù)據(jù)源切換模塊發(fā)出的寫完成信號后,每次從DPRAM5中讀出驅(qū)動矢量,并按照芯片AD5360的時序要求,寫入本芯片,依次對本模塊的每個通道實現(xiàn)D/A轉(zhuǎn)換,其程序設計使用狀態(tài)機實現(xiàn),具體的流程圖如圖8所示。
圖6中的DPRAM3用來存儲需要監(jiān)視的通道,通過NIOS系統(tǒng),可以利用DPRAM3存儲數(shù)據(jù)的數(shù)值,將相關(guān)通道的電壓信號輸出,供示波器顯示。DPRAM4用來存儲本驅(qū)動模塊的地址映射數(shù)據(jù),即用來定位并提取本驅(qū)動模塊16個通道的電壓數(shù)據(jù)在96個驅(qū)動矢量中的具體位置。
2.2 NIOS的設計
NIOS的設計包括QSYS組件定制和程序設計[3?4],QSYS組件定制如圖9所示。其中除了一些必要的JTAG、定時器、配置存儲器等內(nèi)核外,還包含其他一些內(nèi)核,具體介紹如下。
在NIOS系統(tǒng)中,clk_0為處理器內(nèi)核,onchip_ram_descriptor為片內(nèi)存儲器內(nèi)核,用于存儲程序代碼,在系統(tǒng)中設置其為復位地址,sdram_0為SDRAM控制器內(nèi)核,它用于實現(xiàn)和外部SDRAM的通信,從而為應用程序提供運行空間,po_0為32位的并行輸入/輸出類型內(nèi)核,它用于實現(xiàn)對輸入、輸出I/O的電平控制,它不僅通過FPGA,在面板顯示系統(tǒng)通信、報警等工作狀態(tài),而且還通過FPGA,實現(xiàn)對驅(qū)動矢量數(shù)據(jù)源的選通切換、中斷禁止等功能。epcs_flash_controller_0為EPCS內(nèi)核,在系統(tǒng)中作為EPROM使用,用于存儲程序的配置參數(shù),如通道映射等,dpram_ChMap,dpram_DavMonitor和dpram_DAV均為雙口RAM內(nèi)核,其中dpram_ChMap實現(xiàn)與FPGA中DPRAM4的通信,NIOS系統(tǒng)借此將本驅(qū)動模塊的通道映射數(shù)據(jù)寫入到DPRAM4中,F(xiàn)PGA程序再據(jù)此從幀驅(qū)動矢量數(shù)據(jù)中讀取對應本模塊的16通道的驅(qū)動電壓數(shù)據(jù)。dpram_DavMonitor實現(xiàn)與FPGA中DPRAM3的通信,NIOS系統(tǒng)借此把本驅(qū)動模塊中所要監(jiān)控的通道寫入到DPRAM3中,F(xiàn)PGA程序以此把相關(guān)通道的狀態(tài)和數(shù)據(jù)控制輸出給外界示波器監(jiān)視。dpram_DAV實現(xiàn)與FPGA中DPRAM2的通信,在調(diào)試狀態(tài)下,NIOS系統(tǒng)借此將本驅(qū)動模塊的16個通道電壓值,寫入到DPRAM2中,F(xiàn)PGA程序從DPRAM2中讀出這些數(shù)據(jù),并驅(qū)動本驅(qū)動模塊的16個輸出通道,uart_0為串口內(nèi)核。NIOS系統(tǒng)借此實現(xiàn)和RS 485接口芯片的通信,并經(jīng)由CPCI物理總線,實現(xiàn)與控制模塊的通信,并將本驅(qū)動模塊的狀態(tài)參數(shù)返回給上位機,以上構(gòu)成了NIOS系統(tǒng)的內(nèi)核設計。NIOS程序首先利用HardwareInit()函數(shù)進行硬件初始化,其中包括對po_0的初始化,將部分連接到FPGA中的PIO引腳電平設置成禁止外部中斷的狀態(tài),對uart_0的初始化、定時器的初始化以及dpram_ChMap,dpram_DavMonitor和dpram_DAV三個雙口RAM的初始化等,再利用SoftwareInit()函數(shù)進行系統(tǒng)的軟件初始化,讀取EPROM中存儲各個末級高壓放大器參數(shù)進行配置,并從CPCI主板讀取本驅(qū)動模塊的板卡號。然后生成地址映射,且寫入DPRAM4中,供FPGA程序使用,使能外部中斷,程序進入主循環(huán)。由于NIOS系統(tǒng)主要用于調(diào)試模式,所以程序主循環(huán)體內(nèi),主要是檢查是否新的有來自串口uart_0的字符串指令,若有新的字符串指令,則調(diào)用procNetCommand()對新的字符串指令進行處理。
字符串指令大體分為三類:一類為set類命令,包括配置參數(shù)中電壓極值設置、通道映射設置、單通道電壓設置與驅(qū)動矢量數(shù)據(jù)切換等;一類為get類指令,這類指令主要是為了確認set類命令執(zhí)行結(jié)果是否正確而設置的,基本對應著set指令;最后一類指令為其他指令,如save指令,這個指令的主要目的是因為驅(qū)動模塊每個通道的末級電壓放大器含有兩個參數(shù),這些參數(shù)需在單通道電壓調(diào)試模式下通過調(diào)試獲得,并最終通過控制模塊的save命令將這些參數(shù)固化到相應驅(qū)動模塊的EPROM中。例如<0.0/set_vec_source:0>指令,其中:“<>”為字符串指令的首尾標志;“0.0”表示指令接收方為所有驅(qū)動模塊;“set_vec_source”表示本指令是設置驅(qū)動矢量數(shù)據(jù)的來源;“0”表示驅(qū)動矢量源來自圖像處理模塊;“1”表示驅(qū)動矢量源來自NIOS系統(tǒng)的DPRAM3。又如<0.2/set_DA:12=43 525>,其中:“0.2”表示操作的對象為第1個機箱的第2個驅(qū)動模塊;“set_DA”表示本指令是設置單通道的電壓值;“12=43 525”表示將本驅(qū)動模塊的12通道的電壓設置為43 525(65 535對應電壓最大值),這個通道映射為驅(qū)動器系統(tǒng)的第28號通道,即(2-1)×16+12=28。相反<0.0/get_ vec _source>表示獲取驅(qū)動矢量的數(shù)據(jù)源,<0.2/get_DA:12>表示獲取第28號通道的設置電壓值。這些指令執(zhí)行完成后,再將相關(guān)的反饋信息打包,再利用sendCommandUpper()函數(shù),通過RS 485接口反饋給控制模塊,NIOS系統(tǒng)的主函數(shù)流程圖如圖10所示。
3 驅(qū)動器驅(qū)動模塊的實驗
根據(jù)上述設計原理,研制了6塊變形鏡驅(qū)動器驅(qū)動模塊,并結(jié)合控制模塊,完成了系統(tǒng)集成,并進行了帶陶瓷負載的集成實驗,軟件功能如與上位機的通信功能、通道切換等均達到設計目的,通道輸出電壓的實驗結(jié)果如圖11所示。由圖11可知,驅(qū)動模塊在滿程驅(qū)動陶瓷單元,即加載電壓峰峰值接近150 V(-30~120 V)的情況下,陶瓷單元的往復形變頻率接近200 Hz,上升沿時間僅2.94 ms,滿足了系統(tǒng)的要求。
4 結(jié) 論
根據(jù)上述設計原理,研制了集成在96通道變形鏡驅(qū)動器內(nèi)的控制電路板。該電路板不僅能夠以200 f/s的速率正確接收并發(fā)送來自SPI的驅(qū)動矢量數(shù)據(jù),而且能夠正確收發(fā)來自上位機網(wǎng)口或者串口的控制指令,實現(xiàn)單通道與驅(qū)動矢量的切換、驅(qū)動矢量數(shù)據(jù)源的切換、單通道電壓設置、放大器參數(shù)調(diào)試和保存以及通道數(shù)據(jù)讀取、回傳等功能,達到了預定的設計目標。當然,相對變形鏡的響應速度而言,如何在后續(xù)工作中進一步提高系統(tǒng)帶寬,提高數(shù)據(jù)頻率仍有許多工作要做。
參考文獻
[1] 李正東,袁學文,周志強,等.變形鏡驅(qū)動器參數(shù)自動標定系統(tǒng)的設計[J].計算機測量與控制,2016,24(10):150?153.
[2] 劉章文,李正東,周志強,等.基于模糊控制的自適應光學校正技術(shù)[J].物理學報,2016,65(1):131?138.
[3] 盧毅,賴杰.VHDL與數(shù)字電路設計[M].北京:北京航空航天大學出版社,2001.
[4] 李蘭英.NIOS嵌入式SOPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.
[5] 朱曉錦,曹浩,陸美玉,等.基于PA95功放芯片的壓電功率放大器開發(fā)[J].壓電與聲光,2008,30(5):561?563.
[6] 王慧,宮赤坤,王宏峰.基于PA95的新型壓電陶瓷驅(qū)動電源[J].微計算機信息,2011,27(12):58?59.
[7] LABROSSE J J.嵌入式實時操作系統(tǒng)μC/OS[M].邵貝貝,宮輝,譯.北京:北京航空航天大學出版社,2012.
[8] 鄭宇軍,石海鵬,王衛(wèi)紅,等.C#語言程序設計基礎(chǔ)[M].3版.北京:清華大學出版社,2014.