白 華, 溫美思, 張 誠(chéng), 趙軍發(fā), 李現(xiàn)國(guó)
(天津工業(yè)大學(xué) 電子與信息工程學(xué)院 天津市光電檢測(cè)技術(shù)與系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,天津 300387)
基于以太網(wǎng)的多通道時(shí)序控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*
白 華, 溫美思, 張 誠(chéng), 趙軍發(fā), 李現(xiàn)國(guó)
(天津工業(yè)大學(xué)電子與信息工程學(xué)院天津市光電檢測(cè)技術(shù)與系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,天津300387)
針對(duì)光電檢測(cè)系統(tǒng)對(duì)時(shí)序控制的多樣化需求,設(shè)計(jì)了基于以太網(wǎng)的多通道時(shí)序控制器。采用ARM+FPGA架構(gòu)設(shè)計(jì)系統(tǒng)控制核心,提高時(shí)序信號(hào)精度的同時(shí)保證了系統(tǒng)的靈活性。利用可編程控制液晶顯示器設(shè)計(jì)用戶界面,使人機(jī)交互更加方便快捷?;贚abVIEW開(kāi)發(fā)系統(tǒng)上位機(jī)軟件,上位機(jī)通過(guò)串口轉(zhuǎn)以太網(wǎng)模塊與下位機(jī)通信。實(shí)驗(yàn)結(jié)果表明:控制器時(shí)間精度達(dá)到1 μs,時(shí)序信號(hào)運(yùn)行周期可達(dá)24 h,并具有外部觸發(fā)功能和以太網(wǎng)遠(yuǎn)程控制功能,可應(yīng)用于有毒有害等危險(xiǎn)環(huán)境,具有很高的實(shí)用價(jià)值。
多通道時(shí)序控制器; 以太網(wǎng); 液晶顯示器; 上位機(jī)
光電檢測(cè)技術(shù)在軍事設(shè)備、航空航天、生物醫(yī)藥和環(huán)境保護(hù)等方面都有廣泛的應(yīng)用。光電檢測(cè)系統(tǒng)[1]由光電傳感器、信號(hào)調(diào)理器、時(shí)序控制器和輸出環(huán)節(jié)四部分組成,其中時(shí)序控制是整個(gè)系統(tǒng)能夠協(xié)調(diào)工作的關(guān)鍵。在電路設(shè)計(jì)上,通常針對(duì)不同的實(shí)驗(yàn)要求設(shè)計(jì)不同的時(shí)序控制電路[2~4],通用性差,設(shè)計(jì)和調(diào)試工作量大。目前,市場(chǎng)上開(kāi)發(fā)了一些通用型的時(shí)序控制器,但是通道數(shù)量少、時(shí)間精度低(大多在毫秒級(jí)),并且缺少針對(duì)有毒有害危險(xiǎn)環(huán)境的遠(yuǎn)程控制功能。
針對(duì)以上問(wèn)題,本文開(kāi)發(fā)了基于以太網(wǎng)的多通道時(shí)序控制器,共有8個(gè)時(shí)序輸出通道,可以并行輸出8路時(shí)序控制信號(hào),時(shí)間精度達(dá)到1 μs,時(shí)序周期可達(dá)24 h??赏ㄟ^(guò)觸摸屏輸入各通道時(shí)間參數(shù),操作更加方便快捷,且?guī)в型獠坑|發(fā)功能和上位機(jī)遠(yuǎn)程控制功能[5]。該控制器自成系統(tǒng),可作為器件應(yīng)用,能提供光電檢測(cè)系統(tǒng)所需的各種時(shí)序信號(hào),為搭建光電檢測(cè)系統(tǒng)以及相關(guān)實(shí)驗(yàn)帶來(lái)方便。
1.1 硬件系統(tǒng)的組成
多通道時(shí)序控制器由電源、液晶顯示器、上位機(jī)和多通道時(shí)序輸出終端4部分組成。其中多通道時(shí)序輸出終端硬件設(shè)計(jì)主要包括ARM+FPGA電路、復(fù)位電路、時(shí)鐘電路、串口電路、以太網(wǎng)電路、配置電路和時(shí)序輸出電路等。硬件系統(tǒng)組成如圖1所示。
1.2 電源電路設(shè)計(jì)
電源電路提供工作電壓為1.2,2.5,3.3,5 V。因此,設(shè)計(jì)將電源適配器輸入的12 V電壓通過(guò)MP2359電源芯片轉(zhuǎn)化為5 V,再分別通過(guò)AMS1117—3.3,AMS1117—2.5和AMS1117—1.2穩(wěn)壓器將5 V電壓轉(zhuǎn)換為3.3,2.5,1.2 V。并通過(guò)瞬態(tài)抑制二極管為電源電路提供保護(hù)。
圖1 硬件系統(tǒng)組成
1.3 ARM+FPGA電路設(shè)計(jì)
多通道時(shí)序輸出終端設(shè)計(jì)主要采用ARM+FPGA架構(gòu)[6~8]。ARM負(fù)責(zé)分析、處理用戶通過(guò)觸摸屏或者上位機(jī)輸入的時(shí)間參數(shù),F(xiàn)PGA負(fù)責(zé)并行輸出多路時(shí)序信號(hào)和檢測(cè)外部觸發(fā)信號(hào)。ARM與FPGA之間通過(guò)數(shù)據(jù)總線相連,實(shí)現(xiàn)信息的傳遞功能。電路如圖2所示。
圖2 ARM與FPGA連接電路
ARM+FPGA電路設(shè)計(jì)選用了STM32F103ZET6型ARM芯片和EP3C16Q240C8N型FPGA芯片。STM32F103ZET6為基于ARM Cortex—M3核心的32 位微控制器,工作頻率高達(dá)72 MHz,滿足系統(tǒng)實(shí)時(shí)性要求。EP3C16Q240C8N芯片具有豐富的邏輯資源,系統(tǒng)頻率高達(dá)50 MHz,且穩(wěn)定性高,符合多通道時(shí)序控制器的設(shè)計(jì)要求。
本文,由于用戶設(shè)置時(shí)間參數(shù)最大值為24 h,最小時(shí)間單位為1 s,故ARM最多需要將8個(gè)通道的時(shí)序參數(shù)轉(zhuǎn)換為17組40位二進(jìn)制數(shù)據(jù)發(fā)送至FPGA?;谛酒_個(gè)數(shù)限制,采用分址輸入的方法。ARM通過(guò)8位數(shù)據(jù)線(PC0~PC7)將40位二進(jìn)制數(shù)分成5組8位二進(jìn)制數(shù)并行發(fā)送給 FPGA,F(xiàn)PGA通過(guò)識(shí)別7位地址線(PB8~PB14)上的數(shù)據(jù)將5組8位二進(jìn)制數(shù)排序組成一個(gè)40位二進(jìn)制數(shù)。為實(shí)現(xiàn)ARM與FPGA同步通信,通過(guò)使能線EN控制FPGA對(duì)ARM數(shù)據(jù)的讀取,僅當(dāng)使能信號(hào)EN為高電平時(shí),F(xiàn)PGA讀取數(shù)據(jù)線與地址線上收到的數(shù)據(jù)。ARM通過(guò)啟??刂凭€START,STOP和RST控制輸出信號(hào)的啟動(dòng)和停止,通過(guò)觸發(fā)選擇線TRIC1和TRIC2控制兩個(gè)觸發(fā)信號(hào)的選通。
1.4 液晶顯示器
液晶顯示器選用一種包含LCD顯示屏、LCD控制器、觸摸屏、人機(jī)界面處理系統(tǒng)和通信接口于一體的智能顯示模組??梢酝ㄟ^(guò)串口與外部控制單元連接,實(shí)現(xiàn)系統(tǒng)的人機(jī)交互界面。觸摸屏搭載了專用圖形操作系統(tǒng)GoUI,通過(guò)PC的可視化組態(tài)編輯軟件,無(wú)需專業(yè)圖形編程知識(shí)即可設(shè)計(jì)顯示界面,降低了開(kāi)發(fā)難度。同時(shí),在沒(méi)有硬件的情況下,通過(guò)PS—LCD軟件模擬器在PC上可以模擬實(shí)際界面運(yùn)行效果,有效縮短了開(kāi)發(fā)周期。
2.1 ARM軟件設(shè)計(jì)
ARM程序在Keil軟件平臺(tái)下采用C語(yǔ)言編程設(shè)計(jì)??梢宰詣?dòng)配置以太網(wǎng)連接上位機(jī),分析觸摸屏和上位機(jī)輸入的時(shí)間參數(shù),將時(shí)間參數(shù)轉(zhuǎn)換為8位二進(jìn)制數(shù)據(jù)分址發(fā)送至FPGA。程序流程如圖3所示。
圖3 ARM軟件流程
設(shè)計(jì)中多通道時(shí)序控制器有2種工作模式:觸摸屏單獨(dú)操作模式;基于以太網(wǎng)的上位機(jī)遠(yuǎn)距離操作模式。系統(tǒng)上電后默認(rèn)進(jìn)入觸摸屏單獨(dú)操作模式,用戶進(jìn)入開(kāi)機(jī)界面后可以通過(guò)觸摸屏選擇是否開(kāi)啟上位機(jī)遠(yuǎn)程控制功能。當(dāng)用戶開(kāi)啟上位機(jī)遠(yuǎn)程控制功能后, ARM接收到觸摸屏發(fā)送的“開(kāi)啟以太網(wǎng)傳輸”命令,并調(diào)用以太網(wǎng)配置程序?qū)σ蕴W(wǎng)電路進(jìn)行數(shù)據(jù)配置。配置成功后ARM會(huì)自動(dòng)嘗試與上位機(jī)的連接,并檢測(cè)與上位機(jī)連接是否成功。若連接成功,ARM進(jìn)入等待以太網(wǎng)數(shù)據(jù)輸入狀態(tài),否則,ARM自動(dòng)將失敗信息反饋到觸摸屏進(jìn)行顯示,并再次進(jìn)行連接。
2.2 FPGA[9]軟件設(shè)計(jì)
時(shí)鐘模塊將FPGA內(nèi)部的50 MHz系統(tǒng)時(shí)鐘分頻為1 MHz的單位時(shí)鐘,使時(shí)間單位變?yōu)? s,作為多通道時(shí)序控制器脈沖輸出的最小時(shí)間單位。當(dāng)FPGA接收到“開(kāi)始”信號(hào)后,開(kāi)始接收ARM發(fā)送的時(shí)間參數(shù)。數(shù)據(jù)處理模塊將分址輸入的8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為17組40位二進(jìn)制數(shù)據(jù)并存儲(chǔ)。同時(shí),分析處理ARM指令中的啟動(dòng)、停止信號(hào)、觸發(fā)模式選擇信號(hào)和外部觸發(fā)信號(hào),使能比較輸出模塊。比較輸出模塊將17組40位二進(jìn)制數(shù)據(jù)分配為8個(gè)通道時(shí)序信號(hào)的上升沿時(shí)間、下降沿時(shí)間、循環(huán)周期和循環(huán)次數(shù),并開(kāi)始循環(huán)計(jì)時(shí)。計(jì)時(shí)同時(shí),比較輸出模塊將計(jì)時(shí)時(shí)間與上升沿和下降沿時(shí)間進(jìn)行比較,準(zhǔn)確無(wú)誤地按照時(shí)間參數(shù)并行輸出時(shí)序信號(hào)。程序流程如圖4所示。
圖4 FPGA程序流程
2.3 觸摸屏軟件設(shè)計(jì)
在Designer軟件平臺(tái)下采用JavaScript語(yǔ)言編程設(shè)計(jì)實(shí)現(xiàn)??梢宰詣?dòng)顯示、分析用戶數(shù)據(jù)并通過(guò)串口與下位機(jī)通信。觸摸屏工作流程如下:系統(tǒng)上電后默認(rèn)8個(gè)通道全部禁止輸出,選擇禁止的通道會(huì)禁止數(shù)據(jù)輸入功能,參數(shù)輸入框變?yōu)榛疑?。用戶選擇啟用后,恢復(fù)參數(shù)輸入功能。用戶點(diǎn)擊“運(yùn)行”按鈕,觸摸屏自動(dòng)將所有數(shù)據(jù)處理成字符串的形式由串口發(fā)送至多通道時(shí)序輸出終端。
2.4 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件在LabVIEW軟件平臺(tái)下采用G語(yǔ)言編程設(shè)計(jì)。上位機(jī)與多通道時(shí)序輸出終端之間通過(guò)以太網(wǎng)線連接,采用TCP/IP通信協(xié)議通信。
上位機(jī)軟件的以太網(wǎng)通信流程如下:上位機(jī)開(kāi)始運(yùn)行后,調(diào)用“打開(kāi)TCP連接”節(jié)點(diǎn)打開(kāi)TCP服務(wù),建立與下位機(jī)的連接。無(wú)限循環(huán)使用“讀取TCP數(shù)據(jù)”節(jié)點(diǎn),實(shí)時(shí)檢測(cè)由下位機(jī)發(fā)送的有效TCP數(shù)據(jù),用于后期處理。當(dāng)用戶通過(guò)上位機(jī)點(diǎn)擊發(fā)送按鈕后,調(diào)用“寫入TCP數(shù)據(jù)”節(jié)點(diǎn),向下位機(jī)發(fā)送用戶指令。用戶選擇暫停使用上位機(jī)時(shí),使用“關(guān)閉TCP連接”節(jié)點(diǎn),斷開(kāi)TCP連接。
3.1 以太網(wǎng)通信測(cè)試
在LabVIEW軟件平臺(tái)下編寫的上位機(jī)程序可以實(shí)時(shí)顯示上位機(jī)發(fā)送和接收的數(shù)據(jù)。為了使測(cè)試結(jié)果更加直觀,本文使用串口助手代替觸摸屏作為多通道時(shí)序輸出終端的數(shù)據(jù)輸入端口進(jìn)行通信測(cè)試。
首先采用交叉網(wǎng)線連接多通道時(shí)序控制器與上位機(jī)。在上位機(jī)設(shè)置相應(yīng)參數(shù),使用Ping指令測(cè)試網(wǎng)絡(luò)連接。確認(rèn)網(wǎng)絡(luò)連接無(wú)誤后,使用串口助手發(fā)送任意字符串,上位機(jī)接收到相同的字符串,反之亦然。測(cè)試結(jié)果如圖5所示,可以看出,上位機(jī)和多通道時(shí)序輸出終端均可以準(zhǔn)確接收彼此發(fā)送的數(shù)據(jù)。說(shuō)明多通道時(shí)序輸出終端與上位機(jī)之間的以太網(wǎng)通信有效。
圖5 上位機(jī)通信有效性測(cè)試
3.2 時(shí)序輸出測(cè)試
為了檢驗(yàn)多通道時(shí)序控制器的實(shí)際輸出精度和輸出穩(wěn)定性,本文將實(shí)驗(yàn)分為三組進(jìn)行測(cè)試,每組設(shè)置不同的時(shí)間參數(shù)、循環(huán)次數(shù)以及觸發(fā)方式等。測(cè)試輸出波形如圖6所示。圖5實(shí)驗(yàn)結(jié)果顯示:多通道時(shí)序控制器輸出時(shí)序的精度可達(dá)到1 s,8個(gè)通道可以并行輸出,且時(shí)序波形輸出準(zhǔn)確無(wú)誤,可實(shí)現(xiàn)無(wú)限循環(huán)和1~100次可選循環(huán),具有外部觸發(fā)功能,觸發(fā)響應(yīng)延遲時(shí)間小于1 s。
圖6 不同時(shí)間參數(shù)設(shè)置及輸出波形
研制了一種基于以太網(wǎng)的多通道時(shí)序控制器。采用ARM+FPGA架構(gòu)設(shè)計(jì)系統(tǒng)控制核心,實(shí)現(xiàn)多通道時(shí)序控制器的數(shù)據(jù)處理和時(shí)序輸出功能。采用PS—LCD設(shè)計(jì)控制界面,實(shí)現(xiàn)系統(tǒng)人機(jī)交互功能?;贚abVIEW開(kāi)發(fā)上位機(jī)軟件,利用TCP/IP通信協(xié)議實(shí)現(xiàn)上位機(jī)與下位機(jī)的以太網(wǎng)通信,具有遠(yuǎn)程控制功能。與傳統(tǒng)時(shí)序控制器相比,該控制器具有輸出信號(hào)時(shí)序靈活可調(diào)、時(shí)間精度高、時(shí)間范圍廣、通道數(shù)量多、觸發(fā)響應(yīng)速度快、能夠遠(yuǎn)程控制等優(yōu)點(diǎn),能夠提供光電檢測(cè)系統(tǒng)所需的各種時(shí)序信號(hào),從而給光電檢測(cè)相關(guān)的實(shí)驗(yàn)工作帶來(lái)方便。控制器可應(yīng)用于有毒有害等危險(xiǎn)環(huán)境中,具有很高實(shí)用價(jià)值。
[1] 孫曉捷.一種生物超弱發(fā)光探測(cè)系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].天津師范大學(xué)學(xué)報(bào):自然科學(xué)版,2010,30(3):41-44.
[2] 林曉剛,郭永彩,王文志,等.生物細(xì)胞與組織超弱發(fā)光探測(cè)系統(tǒng)研制[J].傳感器與微系統(tǒng),2009,28(3):83-85.
[3] 樊琳琳,張建民,劉 鍇,等.生物超弱發(fā)光采集系統(tǒng)及控制電路設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(21):108-111.
[4] 孔德鴻,程明霄,張 亮,等.基于工業(yè)以太網(wǎng)的多組分智能測(cè)控平臺(tái)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2015(3):60-65.
[5] 苗長(zhǎng)云,羅統(tǒng)榮,白 華.基于以太網(wǎng)的多路超聲波自動(dòng)檢測(cè)系統(tǒng)[J].天津工業(yè)大學(xué)學(xué)報(bào),2016(2):43-49.
[6] 孫鑫明,苗長(zhǎng)云,白 華.基于ARM和FPGA的高擴(kuò)展性超聲檢測(cè)模塊設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(10):26-29.
[7] 王 鵬,呂志剛,杜衛(wèi)東.基于FPGA和ARM的多路時(shí)序控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2012(6):1540-1543.
[8] 王 飛.基于FPGA的多通道高分辨率時(shí)間轉(zhuǎn)換系統(tǒng)設(shè)計(jì)[J].電子測(cè)量與儀器學(xué)報(bào),2014,28(6):664-669.
[9] 何素梅,博錦良,吳海彬.LED隧道照明自動(dòng)調(diào)光系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量與儀器學(xué)報(bào),2015,29(4):622-628.
Designandimplementationofmulti-channeltimingcontrolsystembasedonEthernet*
BAI Hua, WEN Mei-si, ZHANG Cheng, ZHAO Jun-fa, LI Xian-guo
(TianjinKeyLaboratoryofOptoelectronicDetectionTechnologyandSystem,SchoolofElectronicsandInformationEngineering,TianjinPolytechnicUniversity,Tianjin300387,China)
A multi-channel timing controller is designed to meet diverse needs of photoelectric detection systems for timing control.ARM and FPGA frame are used to design control core,which is beneficial to improve timing precision and at the same time assure flexibility of the system.A programmable smart LCD is used to design the user interface,making the human-system interactions more convenient and efficient.In addition,upper PC software can be used to communicate with the controller through a serial to Ethernet module,and the PC software is developed based on LabVIEW.Experimental results show that the controller has a good performance in timing precision of 1 μs,long operating cycle of 24 h,response to external triggers,and remote control based on Ethernet.Thus,the controller has a high application value,especially in the poisonous and harmful environments.
multi-channel timing controller; Ethernet; LCD; upper PC
10.13873/J.1000—9787(2017)11—0083—03
TP 786
A
1000—9787(2017)11—0083—03
2016—10—08
國(guó)家自然科學(xué)基金資助項(xiàng)目(61201106,61307094); 天津市應(yīng)用基礎(chǔ)與前沿技術(shù)研究計(jì)劃項(xiàng)目(14JCQNJC01800)
白 華(1980-),男,通訊作者,博士,副教授,從事光電檢測(cè)技術(shù)與信息系統(tǒng)的研究工作,E—mail:baihua2000@hotmail.com。
溫美思(1992-),女,蒙族,碩士研究生,主要研究方向?yàn)楣怆姍z測(cè)技術(shù)與信息系統(tǒng),E—mail:806227787@qq.com。