
圖3 V/F轉(zhuǎn)換器原理圖
2.5 通信接口硬件設(shè)計
由于PIC單片機輸入、輸出電平為TTL電平,而IBM-PC機配置的是RS-232C標(biāo)準(zhǔn)串行接口,兩者的電氣規(guī)范不一致,單片機中的信號電平是TTL型的,即≥2.4V表示“1”,≤0.4V表示“0”,但如果DTE和DCE之間仍采用這個電平傳送數(shù)據(jù),那么在兩者距離增大時,很可能會使信號源點的邏輯“1"電平在到達目的點時衰減到0.4V以下,從而使通信失敗,所以為了提高數(shù)據(jù)通信的可靠性和抗擊線路上各種噪聲影響,以及完成與 RS-232C通信總線數(shù)據(jù)通信的功能,必須進行電平轉(zhuǎn)換。
兩種電平轉(zhuǎn)換電路通常是由專用電平轉(zhuǎn)換芯片來實現(xiàn)的,常見的有MC1488,75188等芯片,可實現(xiàn)TTL電平與RS-232C的電平轉(zhuǎn)換;MC1489, 75189等芯片,可實現(xiàn)RS-232C與TTL電平的轉(zhuǎn)換,實際應(yīng)用中兩種芯片配合使用,但是采用這兩種芯片需要+12V、-12V和+5V電源,系統(tǒng)硬件較為復(fù)雜。存本設(shè)計中我采用了MAXIM公司的MAX202電平轉(zhuǎn)換芯片完成通信接口電路設(shè)計。
2.6 PIC16C63芯片特點介紹
由MICROCHIP推出的PIC8位微控制器系列率先采用精簡指令集計算機(RISC-Reduced Instruction Set Computer)結(jié)構(gòu)的高性能價格比的嵌入式控制器。其高速度、低工作電壓、低功耗、較人的輸入輸出直接驅(qū)動能力、一次性編程芯片的低價位、小體積等,都體現(xiàn)出微控制器工業(yè)發(fā)展的新趨勢。MICROCHIP公司開發(fā)了三個不同層次系列多種型號的產(chǎn)品,以滿足不同的產(chǎn)品設(shè)計要求。我所選擇的PIC16C63A為中檔16CXX系列產(chǎn)品中的一種。
MICROCHIP公司的PIC16C6X系列微控制器包括以下一些型號PIC16C61, PIC16C62, PIC16C63, PIC16C64, PIC16C64A, PIC16C65, PIC16C65A。這是一類低價格高性能的8位全靜態(tài)基于EPROM的微控制器。根據(jù)不同的應(yīng)用和生產(chǎn)需求,可以提供不同配置、不同頻率范圍、不同封裝形式的芯片。
3 智能交流電壓表軟件設(shè)計
軟件主要包括上位PC機的電壓監(jiān)控程序、下位單片機的電壓數(shù)據(jù)采集程序的程序。
PC機的電壓監(jiān)控程序利用Visual Basic 6.0編寫監(jiān)控界面,可獲取系統(tǒng)最近24小時的電壓值,并形成柱狀圖型,對系統(tǒng)測量電壓值予以直觀顯示。還可通過PC機修改時鐘芯片的設(shè)置使系統(tǒng)時間等于當(dāng)前時間或設(shè)定時間。其中PC機的通訊功能由Visual Basic 6.0的串行通訊組件MSComm控件完成。下位單片機通過在固定周期內(nèi)對LM331輸出的脈沖信號進行計數(shù),獲取電壓值,利用時鐘芯片RTC8025產(chǎn)生的一小時中斷,記錄當(dāng)時的電壓數(shù)值并存儲最近24小時的電壓值供上位PC機進行查詢。并接收PC機的指令修改時鐘芯片的設(shè)置。
整個軟件系統(tǒng)可以完成電壓數(shù)值采集、存儲、顯示,并由上位PC對電壓數(shù)值進行簡單的監(jiān)控。使儀表不僅可以計量電壓,還可將測量值反饋給上位機。也為儀表系統(tǒng)的總線化、網(wǎng)絡(luò)化提供了可能。其軟件模塊框圖如圖4所示。

圖4 智能電壓表的軟件模塊圖
3.1 下位機整體程序設(shè)計
程序開始后,先進行初始化。包括I/O的初始化,把單片機的I/O引腳設(shè)置成相應(yīng)的輸入輸出狀態(tài),還包括存儲單元的清零,和時鐘日歷的初始化。
初始化過后,程序進入主循環(huán)。在主循環(huán)中,單片機串口首先被置為接受狀態(tài),并打開外部中斷允許,允許時鐘日歷芯片向單片機申請中斷。然后進行脈沖的采集和計算,得到電壓數(shù)值送顯示緩存區(qū)顯示。開始進入通訊模塊,在主循環(huán)中,單片機串口處于接收狀態(tài),以查詢的方式接收由上位機發(fā)送的指令和數(shù)據(jù)。
上位機發(fā)送的指令有“改寫時鐘命令-01”和“要求發(fā)送電壓值-02”兩條,數(shù)據(jù)只有“日歷/時鐘數(shù)值”。單片機接收的命令、數(shù)據(jù)字節(jié)數(shù)較少。所以可以采用查詢的方式予以接受,同時避免了頻繁中斷,對計量脈沖個數(shù)的影響。
當(dāng)單片機查詢到20H=1時,進行時鐘日歷的改寫,改寫為由上位PC機最新置入的新值。
當(dāng)單片機查詢到20H=2時,置為發(fā)送狀態(tài),開始向上位PC機發(fā)送最近24小時的電壓數(shù)值。
每一個程序模塊返回時,均應(yīng)重新置為接收狀態(tài),保證以查詢方式進行的通訊程序收發(fā)的正確。
上位PC發(fā)送握手信號時,單片機接收正確,握手成功,接收不正確,掛鉤次數(shù)減一,由PC機重發(fā),設(shè)置掛鉤次數(shù)為的是在通訊無法連接時下位機程序不會陷入死循環(huán)中。下位機發(fā)送握手信號時,情況相同。
3.2 上位機軟件設(shè)計
新一代面向?qū)ο蟮某绦蛟O(shè)計語言Visual Basic(VB)是將WINDOWS圖形工作環(huán)境與Basic語言編程簡便性的美妙結(jié)合。它簡明易用,實用性強。因而得到了廣泛的應(yīng)用。Visual Basic 6.0提供了一個名為mscomm32. ocx通信控件,它具備基本的應(yīng)用程序提供串行通訊功能。該控件可以從VB的TOOLBOX中加入到窗體FORM。本電壓監(jiān)控程序主要完成兩個功能。第一是讀取電壓值,并形成連線圖予以直觀顯示:第二為設(shè)定、調(diào)整實時時鐘芯片RTC8025。PC機利用BIOS塊INT14中斷采用查詢的方式完成異步串行中斷,由串型通信控件MSComm完成數(shù)據(jù)的接收和發(fā)送。
本文作者創(chuàng)新點:
該智能化儀表不僅具有傳統(tǒng)儀表的顯示功能,還應(yīng)具有通信功能。把測量到的數(shù)據(jù)信息發(fā)送給上位計算機或遠程計算機,接收并執(zhí)行計算機或其他控制單元發(fā)出的指令。我們可以認為智能儀表將作為工廠底層網(wǎng)絡(luò)的主體,在工業(yè)生產(chǎn)的自動化、總線化、網(wǎng)絡(luò)化方面發(fā)揮主導(dǎo)作用。為適應(yīng)測量儀表的智能化和網(wǎng)絡(luò)化的要求,采用Visual Basic 6.0按照RS232C標(biāo)準(zhǔn)總線協(xié)議編寫了智能交流電壓表與上位PC機通信的電壓監(jiān)控程序。
參考文獻
[1] 陳佩江,周洪玉.串行通信在遠程監(jiān)控系統(tǒng)中的應(yīng)用.《哈爾濱理工大學(xué)學(xué)報》,2002年第2期:42-45
[2] Jan Axelson(著),精英科技(譯). Serial Port Complete(串行端口大全).北京:中國電力出版社,2001:117-129, 183-189
[3] 肖韻,汪道輝,石銀安. 低壓電力線載波集中抄表系統(tǒng)集中器設(shè)計[J]. 微計算機信息, 2007, 5-1: 168-170
作者簡介: 胡紅博(1964.1- ),男, 漢族, 重慶市人, 物理系副教授, 研究生學(xué)歷, 主要從事無線電技術(shù)方面的研究。
通信地址: 貴州省遵義市上海路830號遵義師范學(xué)院物理系 563002
[1]





