亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式數(shù)據(jù)庫MySQL在蘭州重離子加速器數(shù)字化電源上的應用

        2014-10-16 06:24:34吳光華閆懷海陳又新黃玉珍周忠祖高大慶
        核技術 2014年5期
        關鍵詞:重離子緩沖區(qū)加速器

        吳光華 閆懷海 陳又新 黃玉珍 周忠祖 高大慶

        1(中國科學院大學物理學院 北京 100049)

        2(中國科學院近代物理研究所 蘭州 730000)

        電源系統(tǒng)是蘭州重離子加速器冷卻存儲環(huán)(Heavy Ion Research Facility in Lanzhou - Cooler Storage Ring, HIRFL-CSR)的重要系統(tǒng)之一,其運行的穩(wěn)定性將直接影響到加速器束流的質量,進而間接影響加速器物理實驗的結果。為了得到質量更好的束流,加速器電源的性能十分重要。近年來,數(shù)字控制技術在蘭州重離子加速器電源中得到逐步應用,各種在模擬電路中難以實現(xiàn)的功能在數(shù)字電源中變得輕而易舉[1]。電源實時運行數(shù)據(jù)記錄與保存對加速器磁鐵電源故障處理和運行維護十分重要,通過對每一臺電源的實時運行數(shù)據(jù)記錄、積累和分析,可以隨時掌握了解電源性能,從而提高電源性能。本文將嵌入式數(shù)據(jù)庫MySQL應用在蘭州重離子加速器四級磁鐵數(shù)字電源中,實現(xiàn)加速器電源運行狀態(tài)采集、儲存,然后統(tǒng)計和智能分析等。

        1 數(shù)字化電源實時監(jiān)控系統(tǒng)簡介

        蘭州重離子加速器四級磁鐵數(shù)字電源由功率變換器和基于 FPGA組成的數(shù)字控制器兩部分組成[2]。本文以ARM處理器為基礎,設計了一個基于Linux+MySQL 的數(shù)據(jù)儲存方案,通過與 FPGA數(shù)字控制器的通訊,實現(xiàn)了四級磁鐵數(shù)字電源運行狀態(tài)采集,并存入MySQL數(shù)據(jù)庫中。系統(tǒng)整體結構如圖1。

        圖1 數(shù)字電源實時監(jiān)控系統(tǒng)結構圖Fig.1 Structure of the real-time monitoring system of the digital power supply.

        ARM11是目前廣泛應用的一種嵌入式處理器,其主要特點是以32位的處理成本,提供64位處理器性能的解決方案。在 ARM11處理中,內核和Cache,以及處理器之間的數(shù)據(jù)通路都是64位??梢悦恐芷谧x入兩條指令或存放兩條連續(xù)的數(shù)據(jù),大大提高數(shù)據(jù)訪問和處理的速度,和64位處理器性能相差無幾。而且擁有更多多媒體處理指令使MPEG4編碼/解碼加快一倍[3],可以方便開發(fā)出更友好、智能化的數(shù)字電源界面,基于它加速器數(shù)字電源實時監(jiān)控系統(tǒng)可以方便實現(xiàn)。

        目前,國內加速器電源運行狀態(tài)數(shù)據(jù)管理大都采用基于文件系統(tǒng)的存儲結構。由用戶直接對記錄所在的文件進行操作,I/O開銷較大,同時由于應用程序是以獨占方式打開數(shù)據(jù)文件,數(shù)據(jù)共享和應用軟件的可重用性很差[4]。同時有別于遠程PC的電源數(shù)據(jù)庫,嵌入式數(shù)據(jù)庫大大減小了互聯(lián)帶寬的要求。在本系統(tǒng)中,以ARM11處理器為核心,與FPAG建立通訊聯(lián)系,通過規(guī)模?。ㄔ贚inux下編譯完成只有約30 MB)、速度快、可移植到ARM上的功能全面的嵌入式MySQL數(shù)據(jù)庫系統(tǒng)來管理數(shù)據(jù)可以較好解決這些問題,而且支持多個用戶通過以太網對數(shù)據(jù)庫進行遠程訪問[5],使電源數(shù)據(jù)庫的訪問、管理效率大大提高,進一步提高電源運行維護效率,是現(xiàn)在加速器電源管理維護的一個創(chuàng)新。

        2 嵌入式處理器ARM的通信及數(shù)據(jù)儲存方案設計

        2.1 ARM與FPGA之間的數(shù)據(jù)通信

        嵌入式數(shù)據(jù)庫MySQL安裝在ARM處理器上,通過RS485接口與電源控制系統(tǒng)的FPGA通信。實現(xiàn)過程主要分為用戶軟件設計、底層硬件驅動開發(fā)、底層硬件接口設計。ARM上用戶層與FPGA之間數(shù)據(jù)流通如圖2。

        圖2 數(shù)據(jù)流通圖Fig.2 Data flow between user and FPGA.

        2.1.1 用戶軟件層關鍵技術

        用UART_fd(設備號)和QSocketNotifier::Read(串口可讀狀態(tài)描述)作為參數(shù)構造一個QSocketNotifier 實例,配合 Qt 的 signal/slot 機制來監(jiān)聽系統(tǒng)RS485設備文件操作,當有數(shù)據(jù)可讀時,QSocketNotifier對象 m_notifier就發(fā)射 ativated 信號,讀串口槽函數(shù)remoteDataIncoming()就被調用。

        QSocketNotifier m_notifier = new QSocket Notifier(UART_fd, QSocketNotifier::Read, this);

        connect (m_notifier, SIGNAL(activated(int)), this,SLOT(remoteDataIncoming()))。

        2.1.2 底層驅動關鍵技術

        RS485是半雙工通信,發(fā)送接收共用一個使能端[6]。在讀寫串口RS485過程中,底層驅動準確、及時切換使能電平信號非常重要,也是本文的一個難點,是否能與FPGA正常通信的關鍵點。數(shù)據(jù)要發(fā)送時,中斷處理函數(shù)s3c6410_485_tx_chars()先調用使能端 GPK(5)高電平設置函數(shù)s3c6410_485_start_tx(),將使能端 GPK(5)設成高電平;數(shù)據(jù)發(fā)送結束,中斷處理函數(shù) s3c6410_485_tx_chars()調用使能端 GPK(5)低電平設置函數(shù)s3c6410_485_stop_tx()立即將使能端 GPK(5)設成低電平等待FPAG發(fā)送數(shù)據(jù),在此期間屏蔽掉其它中斷源。

        2.2 MySQL數(shù)據(jù)庫移植

        使用arm-linux-gcc 4.3.2作為交叉編譯器,目標機ARM芯片為Samsung6410,目標機內核版本為3.0.1,MySQL包版本為Mysql-5.1.51。

        2.2.1 Ubuntu下編譯 ARM平臺 QtEmbedded的

        MySQL

        (1) 配置環(huán)境變量

        export

        PATH=/usr/local/arm/4.3.2/bin:$PATH

        export

        CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc

        export config_BUILD_CC=gcc

        export config_TARGET_CC=arm-linux-gcc

        (2) 編譯ncurses庫

        ncurses是MySQL編譯的依賴庫,因此必須對ncurses進行交叉編譯,創(chuàng)建庫文件 libncurses.a之后,才能夠對MySQL數(shù)據(jù)庫進行交叉編譯。本文使用版本為5.6的ncurses。

        首先,使用 configure腳本生成 Makefile:“./configure --prefix=/sdcard/ncurses/ncurses

        --host=arm-linux --target=arm-linux

        --with-build-cc=cc --with-build-cpp=cpp

        --with-shared --with-normal”

        然后,運行 make和 make install命令完成ncurses交叉編譯。

        (3) 交叉編譯MySQL

        首先,配置configure./configure--host=arm-linux--enable-static--with-named-curses-libs=

        /sdcard/ncurses/lib/libncurses.a

        --prefix=/sdcard/mysql --without

        -debug --without-docs --without-man--without-bench --with-charset=gb2312--with-extra-chars ets=ascii, latin1, utf8

        運行make和make install命令完成MySQL交叉編譯。

        (4) 編譯MySQL插件

        cd /opt/qt4.7.1/src/plugins/sqldrivers/mysql修改mysql.pro文件,添加如下兩行:

        INCLUDEPATH += /sdcard/mysql/include/mysql LIBS += -L/sdcard/mysql/lib/mysql -lmysqlclient_r

        然后在超級終端運行 qmake mysql.pro、make和make install命令完成MySQL插件編譯。

        2.2.2 移植相應文件到ARM平臺

        把 PC上交叉編譯的 MySQL文件及相應的MySQL插件拷到SD卡和相應的路徑,然后在ARM板上插入SD卡、配置MySQL,完成MySQL移植。

        2.3 數(shù)據(jù)儲存設計

        2.3.1 硬件設計

        電源開機后,ARM 以 1秒鐘查詢十次的頻率向FPGA發(fā)送電源運行狀態(tài)查詢指令。每一條查詢返回指令解析后轉化成電源相應的運行狀態(tài)記錄。運行一年的數(shù)據(jù)儲存空間大小約10個G。利用ARM系統(tǒng)的SD卡接口,把電源運行狀態(tài)記錄儲存在SD里。這樣一來可將數(shù)據(jù)存儲空間提升到64 G,二來降低內部儲存器的占用,提高嵌入式處理器的效率。

        2.3.2 軟件設計

        電源運行狀態(tài)信息從RS485緩沖區(qū)到MySQL數(shù)據(jù)庫處理流程包括裝入二級緩沖區(qū)、幀完整性及類型判斷、幀解析及數(shù)據(jù)儲存。二級緩沖區(qū)是一個先進先出的循環(huán)緩沖區(qū), 有一個讀指針和一個寫指針。讀指針指向環(huán)形緩沖區(qū)中可讀的數(shù)據(jù),寫指針指向環(huán)形緩沖區(qū)中可寫的緩沖區(qū)。通過移動讀指針和寫指針來實現(xiàn)緩沖區(qū)的數(shù)據(jù)讀取和寫入。當RS485緩沖區(qū)數(shù)據(jù)可讀,則調用讀 RS485函數(shù)remoteDataIncoming(),將數(shù)據(jù)裝入二級緩沖區(qū),并判斷讀的字符是不是幀尾,如果是則將二級緩沖區(qū)的可讀字符串讀取并傳遞給幀完整性及類型判斷函數(shù)。雙緩沖區(qū)結構確保了指令完整性,是應用層的一個關鍵點,也是本文的第二個難點。

        幀完整性及類型判斷處理主要功能是判斷幀是否滿足通信協(xié)議規(guī)范,如果滿足規(guī)范,則判斷其類型,是查詢返回響應幀就將其傳遞給指令解析函數(shù)。指令解析函數(shù)根據(jù)相應的電源狀態(tài)位解析出電源的運行狀態(tài)、輸出模式、電流、電壓等。解析結束調用MySQL數(shù)據(jù)庫的C++ API函數(shù),將運行記錄對應于MySQL數(shù)據(jù)庫電源運行狀態(tài)表相應的屬性保存到MySQL數(shù)據(jù)庫中。軟件流程圖如圖3。

        圖3 軟件流程圖Fig.3 Software flow chart.

        2.4 人機交互界面及數(shù)據(jù)訪問

        數(shù)據(jù)訪問主要有兩種:一種是本地訪問——即在電源查詢界面上直接訪問數(shù)據(jù)庫的電源運行狀態(tài),這種方式的特點就是直接,數(shù)據(jù)處理不方便。另一種是遠程在線訪問,通過網絡通信方式訪問電源上的MySQL數(shù)據(jù)庫。這種訪問方式適合大量數(shù)據(jù)處理,很方便電源管理員查看電源的運行情況和分析電源的性能。

        MySQL數(shù)據(jù)庫遠程訪問需要更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,把"localhost"改成相應的 IP;同時,指定授權(GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION),使用myuser/mypassword設置從主機連接到 mysql數(shù)據(jù)庫的權限。

        為了增強MySQL 數(shù)據(jù)庫系統(tǒng)的性能,MySQL數(shù)據(jù)庫為客戶端提供了許多應用程序接口,如C、C++、JAVA( JDBC)、Perl、Python、PHP 和 TCL 的API 接口,極大方便了各種用戶對數(shù)據(jù)庫的訪問[7]。

        本文把MySQL數(shù)據(jù)庫和Qt圖形界面系統(tǒng)結合起來,通過MySQL數(shù)據(jù)庫系統(tǒng)的C++ API函數(shù)調用來實現(xiàn)圖形化的方式訪問MySQL數(shù)據(jù)庫。從存放電源狀態(tài)記錄的表中查詢我們想要的結果,如開機、關機、故障等的時間、電流、電壓。管理人員可以在電源上直接通過界面了解電源的運行情況,也可以通過遠程在線訪問電源的運行情況??梢酝ㄟ^短期的數(shù)據(jù)來分析某一個時間段的運行效果,也可以通過幾年的運行數(shù)據(jù)來分析電源整體性能。同時,還實現(xiàn)了刪除檢索出來的全部記錄、清空整張表、備份數(shù)據(jù)庫和恢復數(shù)據(jù)庫的功能。MySQL數(shù)據(jù)庫系統(tǒng)從現(xiàn)在的實際運行情況看,取得了理想的效果。電源運行狀態(tài)查詢界面如圖4。

        圖4 電源運行狀態(tài)查詢界面Fig.4 Power supply operation status query interface.

        3 結語

        利用ARM11處理器系統(tǒng)和MySQL數(shù)據(jù)庫,在蘭州重離子加速器數(shù)字四級鐵電源上成功實現(xiàn)了電源狀態(tài)及相關信息的收集和存儲。實際應用表明設計的查詢界面友好、數(shù)據(jù)讀取速度較快、數(shù)據(jù)存數(shù)可靠性高,達到了設計要求。同時經過實際應用,發(fā)現(xiàn)本系統(tǒng)還有許多可改進的地方,例如優(yōu)化長時間穩(wěn)定運行時的數(shù)據(jù)儲存,下一步我們將觀察與分析電源系統(tǒng)的長期運行情況,以期完善重離子加速器數(shù)字化的電源實時監(jiān)控系統(tǒng)。

        1 王進軍. 加速器電源的數(shù)字化研究與設計[D]. 中國科學院近代物理研究所, 2009: 3–4 WANG Jinjun. Research and design of accelerator digital power[D]. Chinese Academy of Sciences Institute of Modern Physics, 2009: 3–4

        2 王榮坤. 醫(yī)用重離子加速器電源專用數(shù)字調節(jié)器的研究與設計[D]. 中國科學院近代物理研究所博士學位論文, 2013: 14–27 WANG Rongkun. Research and design of heavy ion medical accelerator power supply special digital regulator[D]. China Academy of Sciences Institute of Modern Physics, 2013: 14–27

        3 朱小遠, 謝龍漢. Linux嵌入式系統(tǒng)開發(fā)[M]. 北京: 電子工業(yè)出版社, 2012: 53–54 ZHU Xiaoyuan, XIE Longhan. Linux embedded system development[M]. Beijing: Electronics Industry Publishing House, 2012: 53–54

        4 祁繼超, 張琳娜, 鄭鵬, 等. 嵌入式磨削加工主動測量儀數(shù)據(jù)管理技術研究[J]. 電力電子應用, 2013, 39: 7–9 QI Jichao, ZHANG Linna, ZHENG Peng,et al. Research on data management technology for active measurement embedded grinding machining[J]. Application of Power Electronics, 2013, 39: 7–9

        5 張碧武, 楊豐萍. 基于嵌入式Linux MySQL數(shù)據(jù)庫的圖形化管理[J]. 華東交通大學學報, 2007, 24(5):121–124 ZHANG Biwu, YANG Fengping. An embedded Linux MySQL database based on the graphical management[J].Journal of East China Jiaotong University, 2007, 24(5):121–124

        6 鄭德華, 陶繼偉. RS485通信協(xié)議在集散控制系統(tǒng)中的應用[J]. 中國儀器儀表, 2005, 25(9): 95 ZHENG Dehua, TAO Jiwei. RS485 communication protocol in distributed control system[J]. China Instrumentation, 2005, 25(9): 95

        7 Petrovsky M. Linux數(shù)據(jù)庫寶典[M]. 北京: 電子工業(yè)出版社, 2002: 179–200 Petrovsky M. Linux database collection[M]. Beijing:Publishing House of Electronics Industry, 2002: 179–200

        猜你喜歡
        重離子緩沖區(qū)加速器
        費米能區(qū)重離子反應中對稱能系數(shù)的提取
        輪滑加速器
        化學工業(yè)的“加速器”
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設計與實現(xiàn)
        全民小康路上的“加速器”
        少先隊活動(2021年6期)2021-07-22 08:44:24
        相對論簡并量子等離子體中完全非線性重離子聲波行波解的動力學研究
        我國首臺自主研發(fā)的重離子治療裝置 有望年內開展臨床試驗
        健康管理(2017年4期)2017-05-20 21:01:06
        等待“加速器”
        關鍵鏈技術緩沖區(qū)的確定方法研究
        上海市質子重離子醫(yī)院項目管理實踐
        国产美女冒白浆视频免费| 躁躁躁日日躁| 色综合另类小说图片区| 国产欧美日韩网站| 久久精品亚洲精品毛片| 日韩在线精品视频免费| 最新日本人妻中文字幕| 久久91精品国产一区二区| 日本高清在线一区二区三区| 国产精品无码久久久久| 99精品国产丝袜在线拍国语| 中文字幕午夜精品一区二区三区| 欧美巨鞭大战丰满少妇| 99精品国产99久久久久久97 | 精品一区二区三区不老少妇| 中文字幕亚洲综合久久综合| 成人毛片av免费| 亚洲黄色电影| 一区二区三区不卡免费av| 国产一级黄色录像大片| 精品久久久久久成人av| 真人直播 免费视频| 国产黑色丝袜在线观看视频| 中文字幕日本av网站| 亚洲无线一二三四区手机| 天码av无码一区二区三区四区| 亚洲欧美v国产蜜芽tv| 亚洲一区二区国产一区| 窝窝午夜看片| 98在线视频噜噜噜国产| 免费人成网站在线观看| 久久人妻少妇嫩草av| 亚洲av无码一区二区三区网站| 丝袜 亚洲 另类 欧美| 国产免费观看久久黄av麻豆| 麻豆精品国产精华精华液好用吗| 午夜亚洲国产理论片亚洲2020| 久久2020精品免费网站| 97人伦影院a级毛片| 亚洲国产无线乱码在线观看| 一区二区久久精品66国产精品|