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

        ?

        基于SCPI的可編程線性直流電源的程序設(shè)計(jì)與研究

        2016-10-14 00:18:20邵娟王振華
        科學(xué)與財(cái)富 2016年28期

        邵娟+王振華

        摘 要:本文是在基于SCPI之上對(duì)可編程線性直流電源進(jìn)行了程序設(shè)計(jì)和研究。該線性直流電源以電壓和電流為核心,要求有4 位0.4”LED電壓顯示和3 位0.4”LED電流顯示,并且精確度做到電壓±(0.03%的讀數(shù)+10位)和電流±(0.3%的讀數(shù)+10位)的輸出。數(shù)字面板控制和數(shù)據(jù)保存調(diào)取功能,通過(guò)USB接口實(shí)現(xiàn)了SCPI命令的輸入和執(zhí)行,提高了SCPI的數(shù)據(jù)采集的通用性、可移植性和可擴(kuò)展性。

        關(guān)鍵詞:線性直流電源;SCPI;二叉樹(shù)鏈?zhǔn)?;三段分析?/p>

        一、引言

        任何的科學(xué)實(shí)驗(yàn)都離不開(kāi)電源,在某些實(shí)驗(yàn)中經(jīng)常會(huì)對(duì)電壓高低、電流大小以及穩(wěn)定度等都有著特殊的要求,但是目前實(shí)驗(yàn)室所用的直流穩(wěn)壓電源多數(shù)存在著電壓或電流的精度不夠,穩(wěn)定度不高的問(wèn)題。傳統(tǒng)的直流電源一般采用指針式來(lái)顯示電壓值或者電流值,使用電位器來(lái)調(diào)整電壓或電流的輸出值,而電位器的阻值特性一般都是非線性的,在調(diào)整和使用時(shí)是非常不方便的,并伴隨著漂移。所設(shè)定的電壓值或電流值和輸出值之前存在的誤差,而且輸出值精度不高,因此造成所接電路的損壞也經(jīng)常性的發(fā)生。當(dāng)長(zhǎng)時(shí)間使用直流電源時(shí),甚至?xí)斐呻娫吹乃罊C(jī)。因此,針對(duì)以上的這些問(wèn)題,專(zhuān)門(mén)作為一個(gè)課題進(jìn)行研究,保證直流穩(wěn)壓電源良好的性能,可視化的數(shù)碼管顯示,可以調(diào)取和存儲(chǔ)數(shù)據(jù),精度達(dá)到小數(shù)點(diǎn)后3位,而且要求抗干擾能力強(qiáng),力求實(shí)現(xiàn)智能化、多功能化和美觀化。

        SCPI即程控儀器標(biāo)準(zhǔn)命令( standard command for program instrument),它是一種用來(lái)控制儀器的命令語(yǔ)言,規(guī)定了消息的構(gòu)造和內(nèi)容,帶有多種標(biāo)準(zhǔn)接口。它以ASCII字符組成的標(biāo)準(zhǔn)儀器命令語(yǔ)言,對(duì)于測(cè)量?jī)x器的每一個(gè)功能,SCPI均定義了特定的命令字符。它最大的優(yōu)點(diǎn)就是在對(duì)儀器編程時(shí)僅考慮所需要完成的功能,而不用考慮儀器本身具體的操作過(guò)程。以一種標(biāo)準(zhǔn)化的方式解決了軟件的兼容性問(wèn)題,而且簡(jiǎn)單和方便。

        基于SCPI和可編程線性直流電源儀器的特點(diǎn),將兩者有機(jī)的結(jié)合起來(lái),通過(guò)軟硬件結(jié)合能夠?qū)崿F(xiàn)直流電源的遠(yuǎn)程控制,并且和其他測(cè)試儀器想兼容,保證直流電源的穩(wěn)定性、智能性、多功能性、兼容性等。

        二、基于SCPI的可編程線性直流電源的程序設(shè)計(jì)

        2.1 可編程線性直流電源的總體結(jié)構(gòu)

        此電源含有數(shù)字面板輸入控制模塊,顯示模塊,AD轉(zhuǎn)換模塊,DA轉(zhuǎn)換模塊,電流電壓值輸出模塊,數(shù)據(jù)存儲(chǔ)模塊,遠(yuǎn)程控制模塊和智能型溫控風(fēng)扇等。

        數(shù)字面板輸入控制模塊通過(guò)帶指示燈的硅膠按鍵和旋轉(zhuǎn)編碼開(kāi)關(guān)進(jìn)行數(shù)據(jù)的輸入,顯示模塊擁有十八個(gè)高亮度的LED屏顯示,DA轉(zhuǎn)換模塊將數(shù)字面板所輸入的數(shù)字值轉(zhuǎn)換為相應(yīng)的模擬量信號(hào),AD轉(zhuǎn)換模塊負(fù)責(zé)將模擬電路輸出的電壓或電流信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),一些狀態(tài)標(biāo)志也相應(yīng)顯示在面板上。

        2.2可編程線性直流電源的關(guān)鍵流程圖

        有圖1可以看出“電流電壓采樣值”是整個(gè)系統(tǒng)的關(guān)鍵變量:

        (1)通過(guò)硅膠按鍵和旋轉(zhuǎn)編碼開(kāi)關(guān)輸入電流電壓設(shè)定值,當(dāng)打開(kāi)output后經(jīng)過(guò)AD、DA轉(zhuǎn)換得到采樣值。

        (2)通過(guò)CPU輸出設(shè)定的電流電壓采樣值。

        (3)通過(guò)LED顯示讀取電流電壓設(shè)定值和電流電壓的采樣值。

        因此本論文將以電流電壓采樣值為中心進(jìn)行展開(kāi),在Keil開(kāi)發(fā)環(huán)境下采用C51語(yǔ)言設(shè)計(jì)數(shù)據(jù)語(yǔ)言進(jìn)行軟件的編寫(xiě)和調(diào)試。

        2.3控制模塊

        CPU采用Microchip公司的PIC18F85J10,其內(nèi)部集成了程序存儲(chǔ)器和數(shù)據(jù)RAM,因此可以對(duì)程序存儲(chǔ)器空間進(jìn)行尋址,寫(xiě)閃存存儲(chǔ)器的程序,實(shí)現(xiàn)bootloader功能。Bootloader代碼是芯片復(fù)位后進(jìn)入操作系統(tǒng)之前執(zhí)行的一段代碼,主要是完成由硬件啟動(dòng)到操作系統(tǒng)啟動(dòng)的過(guò)渡,從而為操作系統(tǒng)提供基本的運(yùn)行環(huán)境。

        PIC18F85J10芯片還集成了5個(gè)CCP模塊和2個(gè)MSSP模塊,每個(gè)模塊都可以獨(dú)立的工作。在電路中17個(gè)數(shù)碼管的顯示和93C66外部存儲(chǔ)器的DIN和SCLK信號(hào)是共用RC4和RC3,RC5作為93C66的輸出信號(hào),因此他們可以采用MSSP1模式進(jìn)行同步發(fā)送和接收8位數(shù)據(jù)。達(dá)到數(shù)碼管的快速顯示功能,簡(jiǎn)化了電子電路的設(shè)計(jì)。

        因?yàn)榫幊毯惋@示的精度要求到達(dá)±(0.03%的讀數(shù)+10位),所以就必須采用高精度的AD和DA模塊變換,AD模塊采用了AD7792芯片,AD7792是將模擬信號(hào)轉(zhuǎn)變成16位的數(shù)字信號(hào),刷新速率達(dá)到65dB。在電路中AD芯片、DA芯片的DIN和SCLK信號(hào)是共用同一個(gè)RD4和RD6,即MSSP2,在AD轉(zhuǎn)換中當(dāng)SCKx出現(xiàn)外部時(shí)鐘脈沖時(shí)發(fā)送和接收數(shù)據(jù),當(dāng)最后一位數(shù)據(jù)被鎖存后,中斷標(biāo)志位會(huì)置1。這樣就可以在中斷中進(jìn)行達(dá)到快速轉(zhuǎn)換和數(shù)碼管顯示。

        總體結(jié)構(gòu)圖

        從2圖可以看出CPU需要控制的資源有19組LED顯示器、12個(gè)LED燈、2片AD5545、2片AD7792、4*3鍵盤(pán)矩陣、2顆Ecode S/W、1個(gè)蜂鳴器、一片93C66、4個(gè)繼電器、2個(gè)CC/CV燈、一片F(xiàn)T232RL。

        該線性直流電源基于SCPI命令標(biāo)準(zhǔn),實(shí)現(xiàn)對(duì)輸入模擬信號(hào)的數(shù)據(jù)采集,以及輸出數(shù)字信號(hào)的傳輸、處理和顯示。本電源中通信接口采用EUSART串行通信接口,它是單片機(jī)系統(tǒng)中常用的串行接口標(biāo)準(zhǔn),適用于計(jì)算機(jī)、儀器設(shè)備之間的近程連接,其傳輸距離不大于15米,最大傳輸速率是20KB/s,可以滿足本電源的設(shè)計(jì)需要。增強(qiáng)型通用同步/異步收發(fā)器(Enhanced Universal Synchronous Asychronous Receivers Transmitter,EUSATRT )是兩個(gè)串行I/O模塊之一,一般也將EUSART稱(chēng)為串行通信接口或SCI。配置EUSART使得CPU與個(gè)人計(jì)算機(jī)之間實(shí)現(xiàn)全雙工異步系統(tǒng),在設(shè)計(jì)中通過(guò)FT232RL芯片連接。

        命令樹(shù)圖用于定義SCPI的命令集,它描述了命令、命令之間的層次關(guān)系、相關(guān)的參數(shù)以及必要的注釋

        命令樹(shù)圖通常由三部分構(gòu)成:關(guān)鍵字(KEYWORD)、參數(shù)形式(PARAMETER FORM)和注釋?zhuān)∟OTES)

        根據(jù)SCPI的樹(shù)狀層次結(jié)構(gòu)特點(diǎn),本課題采用樹(shù)型結(jié)構(gòu)來(lái)保存命令信息。語(yǔ)法分析過(guò)程可以分為創(chuàng)建樹(shù)和遍歷樹(shù)的過(guò)程。創(chuàng)建樹(shù)過(guò)程就是把特定儀器的命令集,按照一定的結(jié)構(gòu)創(chuàng)建成供查詢使用的命令樹(shù);遍歷樹(shù)過(guò)程就是根據(jù)得到的命令,通過(guò)遍歷命令樹(shù),得到命令的相關(guān)信息。

        命令樹(shù)的創(chuàng)建:樹(shù)中的每個(gè)節(jié)點(diǎn)不是保存關(guān)鍵字信息,而是采用編碼的方式,將該SCPI命令多叉樹(shù)中各個(gè)子系統(tǒng)分支視為一棵獨(dú)立的樹(shù),通過(guò)先轉(zhuǎn)換各個(gè)子系統(tǒng)這樣的一棵獨(dú)立的樹(shù)為二叉樹(shù)的結(jié)構(gòu),再將所有的子系統(tǒng)二叉樹(shù)組合為一棵完整的二叉樹(shù)。

        該程序采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)利用指針來(lái)表達(dá)邏輯關(guān)系。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)又分為二叉鏈表和三叉鏈表,其特點(diǎn)是程序員不需要擔(dān)心存儲(chǔ)空間大小的問(wèn)題,但是鏈?zhǔn)酱鎯?chǔ)的讀寫(xiě)速度相對(duì)要慢些,并且所需要的存儲(chǔ)空間也較順序存儲(chǔ)大;邏輯位置相鄰的數(shù)據(jù)元素物理位置上不必相鄰;插入、刪除等操作靈活;每個(gè)結(jié)點(diǎn)都是由數(shù)據(jù)域和指針域組成的。鏈?zhǔn)酱鎯?chǔ)適用于任何二叉樹(shù),是目前最常用的二叉樹(shù)存儲(chǔ)結(jié)構(gòu)。二叉鏈表的每一個(gè)結(jié)點(diǎn)除了數(shù)據(jù)域(存放結(jié)點(diǎn)的數(shù)據(jù)信息)外,還需要有兩個(gè)指針域指向它的左、右孩子結(jié)點(diǎn)。通過(guò)左右兩個(gè)指針,二叉鏈表可以很方便的查找已知結(jié)點(diǎn)的孩子結(jié)點(diǎn)。

        因此該程序中關(guān)鍵字節(jié)點(diǎn)結(jié)構(gòu)如下:

        typedef struct _node{

        nodes parantPtr; 指向父節(jié)點(diǎn)

        const nodes *SonPtr; 指向子節(jié)點(diǎn)

        const char *MyName; 當(dāng)前節(jié)點(diǎn)的名字

        char Length; 節(jié)點(diǎn)的長(zhǎng)度

        int ID; 標(biāo)記號(hào)

        }node;

        遍歷樹(shù)的過(guò)程是采用自上而下的方法,從根出發(fā),自上而下的對(duì)輸入串中的關(guān)鍵字進(jìn)行匹配直至樹(shù)的末端或沒(méi)有匹配為止。因?yàn)橄到y(tǒng)的輸入比較穩(wěn)定,因此采用自上而下的分析法,其過(guò)程可以分為兩個(gè)步驟,一是根據(jù)輸入的命令得到每個(gè)關(guān)鍵字的編碼和參數(shù)等信息,然后根據(jù)編碼查找命令樹(shù)當(dāng)前層(或根)與之匹配的信息,有匹配信息時(shí)記錄當(dāng)前位置,無(wú)匹配信息時(shí)需要查詢其兄弟節(jié)點(diǎn)或回溯到父級(jí)繼續(xù)查詢,若符合條件的節(jié)點(diǎn)查詢完畢也沒(méi)有找到匹配的信息則給出出錯(cuò)信息。最后得到一個(gè)儀器可以識(shí)別并能夠執(zhí)行的命令碼和參數(shù),同時(shí)提交命令碼供系統(tǒng)執(zhí)行相應(yīng)的功能。

        三、總結(jié)

        本論文對(duì)可編程線性直流電源進(jìn)行了總體上的設(shè)計(jì)。首先對(duì)控制部分進(jìn)行了設(shè)計(jì),包括LED顯示部分和鍵盤(pán)輸入部分,進(jìn)行了硬件和軟件上的實(shí)現(xiàn),另外還對(duì)隔離電路進(jìn)行了設(shè)計(jì)。將CPU周?chē)腟PI、AD轉(zhuǎn)換、DA轉(zhuǎn)換、ECCP、bootloader模塊和數(shù)據(jù)精確度的控制進(jìn)行詳細(xì)的設(shè)計(jì)描述。最后對(duì)SCPI數(shù)據(jù)通信進(jìn)行了設(shè)計(jì)說(shuō)明,并有超級(jí)終端進(jìn)行顯示并控制直流電源。

        基于SCPI命令標(biāo)準(zhǔn)的研究和實(shí)現(xiàn),可以提高SCPI的數(shù)據(jù)采集的通用性、可移植性和可擴(kuò)展性,對(duì)于以后開(kāi)發(fā)完整的標(biāo)準(zhǔn)化程控命令有一定的參考作用,能有效縮短其他具有SCPI命令的儀器開(kāi)發(fā)時(shí)間。

        參考文獻(xiàn)

        [1] 李含光,鄭光勝.C語(yǔ)言程序設(shè)計(jì)教程,清華大學(xué)出版社,2011.

        [2] 周芝田,靳越.單片機(jī)原理與應(yīng)用,國(guó)防工業(yè)出版社,2010.

        [3] SCPI Consortium.Standard Commands for Programmable Instruments(SCPI).1999,7-8.

        亚洲an日韩专区在线| 三男一女吃奶添下面| 少妇爽到高潮免费视频| 日本免费一区二区在线视频播放| 中文字幕一区二区三区久久网 | 中文字幕乱码亚洲无限码| 色偷偷av一区二区三区| 天天爽天天爽夜夜爽毛片| 天天弄天天模| 亚洲av无码一区二区三区性色| 国产av一区二区三区日韩| 精品欧美久久99久久久另类专区| 精品国产1区2区3区AV| 强d乱码中文字幕熟女1000部| 久久精品一区二区三区夜夜| 日本亚洲视频免费在线看| 91精品国产一区国产二区久久| 午夜人妻久久久久久久久| 国产乱妇无码大片在线观看 | 亚洲中文欧美日韩在线人| 国产真实乱XXXⅩ视频| 久久迷青品着产亚洲av网站| 午夜国产精品一区二区三区| 少妇下面好紧好多水真爽| 一本一道久久精品综合| 亚洲成a∨人片在线观看不卡| 麻豆久久久9性大片| 中国亚洲女人69内射少妇| 九九在线精品视频xxx| 日本国主产一区二区三区在线观看 | 亚洲精品在线观看自拍| 中文字幕成人乱码熟女精品国50| 亚洲妇女自偷自偷图片| 思思久久96热在精品国产| 亚洲ⅤA中文字幕无码| 亚洲女同精品久久女同| 91九色视频在线国产| 欧美疯狂性受xxxxx喷水| 久久精品国产亚洲7777| 国产人妻久久精品二区三区特黄| 婷婷综合久久中文字幕蜜桃三电影 |