崔金委,陳機林
(南京理工大學機械工程學院,江蘇南京 210094)
隨著以太網技術的日益發(fā)展,以太網已經成為最常用的網絡標準之一,而通過以太網通信技術來共享以單片機為中心的嵌入式系統(tǒng)的信息,已然成為當今單片機領域的熱門話題。美國微芯公司(Microchip)推出了全球首枚28引腳獨立以太網控制器,可以為嵌入式應用提供低引腳數(shù)、低成本且高效易用的遠程通訊解決方案。在此之前嵌入式系統(tǒng)開發(fā)可選的獨立以太網控制器都是為個人計算機系統(tǒng)設計的,它們不僅結構復雜、體積龐大,而且較為昂貴。本文以微芯公司的16位單片機PIC24HJ64GP506和以太網控制器ENC28J60為基礎,設計了一套工業(yè)監(jiān)控系統(tǒng)。
由于工業(yè)現(xiàn)場中的工作環(huán)境較為惡劣,為了保證各種工業(yè)設備能夠正常工作,系統(tǒng)針對工業(yè)現(xiàn)場中的壓力、三相電壓和溫度設計了一套工業(yè)監(jiān)控系統(tǒng)來監(jiān)控設備的工作參數(shù)。系統(tǒng)的原理圖如圖1所示。
首先采用鉑制溫度傳感器、三相電壓光隔器和壓力傳感器來測量溫度、三相電壓和壓力信號,信號經過濾波、放大等預處理之后傳給單片機A/D,單片機將收集到的各路信號與預先存儲在內部的預警值和報警值進行比較,當信號發(fā)生異常時,系統(tǒng)進行判斷:若信號超過報警值,系統(tǒng)輸出相應的控制信號進行聲光報警;如果超過預警值而未到達報警值,系統(tǒng)會驅動執(zhí)行機構執(zhí)行調節(jié)措施,將異常信號調節(jié)回到正常范圍內。
圖1 工業(yè)監(jiān)控系統(tǒng)原理圖
監(jiān)控系統(tǒng)與上位機之間的通信由以太網模塊來完成,當需要通信時,會通過中斷來觸發(fā)相應的通信機制。系統(tǒng)的主控芯片為美國微芯公司的新型16位單片機產品PIC24HJ64GP506,在系統(tǒng)運行中可以用按鍵重設監(jiān)控系統(tǒng)的一些重要參數(shù),這些參數(shù)不能存儲在RAM中,否則掉電參數(shù)會消失,本系統(tǒng)采用了基于I2C總線的EPPROM電路,把重要參數(shù)存儲在EEPROM中;報警模塊電路包括報警器和報警燈兩部分;以太網通信模塊由以太網控制器ENC28J60和以太網接頭HR911105A完成;而為了節(jié)約I/O口,LCD模塊采用了基于串行外設接口SPI的接口模式;由于單片機內部集成了18路的A/D轉換電路,所以傳感器信號經過調理電路后直接輸入到單片機內部進行A/D轉換;按鍵電路是基于單片機I/O口的新型功能—電平變化通知(chang notification,CN)完成的,電平變化通知引腳使PIC24H器件系列能夠向處理器發(fā)出中斷請求,以響應所選擇的輸入引腳上的狀態(tài)變化。每個CN引腳內部都連接有一個弱上拉電阻,該上拉電阻作為連接到引腳的電流源,并且當有鍵或者鍵盤連接時減少對外部電阻的要求[2]。
系統(tǒng)主要以單片機PIC24HJ64GP506和以太網控制器ENC28J60為核心來實現(xiàn)硬件電路的設計,主要包括信息號采集部分、信號存儲部分、以太網通信部分、報警部分、控制信號輸出部分以及信號修改部分,由于篇幅有限,這里僅對部分系統(tǒng)重要模塊做一說明。
微芯公司的新型16位單片機PIC24HJ64GP506,與傳統(tǒng)的8位51單片機不同,它采用改進型的哈佛結構,具有高性能的CPU,內部集成了豐富的外設,包括用戶可選擇的18路10位/12位的A/D轉換器,用于通信的 CAN,UART,SPI,I2C等多個通信模塊,以及增強型定時器功能等。外設與雙端口RAM之間的集成式直接存儲器存?。―MA),提供了零開銷的數(shù)據傳輸,優(yōu)化了CPU吞吐量。相比于8位51單片機和8位PIC單片機,PIC24 16位單片機在性能、存儲器、外設及封裝方面,為用戶提供了更多的選擇。
采用微芯公司的以太網控制器ENC28J60和漢仁公司的以太網接口HR911105A來完成以太網通信。目前市場上大部分以太網控制器采用的封裝均超過80引腳,并且大部分是為個人計算機系統(tǒng)設計的,微芯公司推出符合IEEE802.3協(xié)議的ENC28J60只有28引腳,既提供了相應的通信功能,又大大簡化相關的設計,減小了占板空間,只需4條連線即可與主控單片機連接。ENC28J60使用SPI連接接口方式,使得小型單片機也能具有網絡連接功能,內部由于集成媒體接入控制器(MAC)和物理接口收發(fā)器(PHY)而無需其他外設,并且具有可編程過濾功能,可自動評價、接收或拒收多種信息包,減輕了主控單片機的處理負擔,內部繼承可編程的8KB雙端口SRAM緩沖器,操作靈活方便。以太網通信接口電路原理圖如圖2所示。
圖2 以太網通信接口電路原理圖
在實際應用中,ENC28J60的物理端口與隔離變壓器HR9011105A連接時必須符合IEEE802.3對物理層規(guī)范的要求,如RJ45的插孔與隔離變壓器的間隔應盡量小,輸出和輸入差分信號對的走線要有很好的隔離。
PIC24HJ64GP506單片機內部具有18路可配置10位/12位的A/D輸入通道,當傳感器信號經過調理后,可以方便的進行內部的模數(shù)轉換,其中AD1CON1寄存器中的10位或12位工作模式(AD12B)位允許用戶應用程序對每個ADC模塊進行配置,可以配置為10位、4采樣/保持ADC或是12位、1采樣/保持ADC,本系統(tǒng)由于輸入信號精度要求不高,故設置為前一種情況。
監(jiān)控系統(tǒng)中的一些重要參數(shù),如報警值會需要修改,將這些重要參數(shù)保存在單片機RAM中是不可靠的,系統(tǒng)掉電參數(shù)就會消失。而如果存儲在ROM中,每次參數(shù)需要燒錄才可以。為了防止這一情況的發(fā)生,系統(tǒng)設計了參數(shù)存儲模塊。通過單片機自帶的I2C總線連接的電可擦可編程只讀存儲器EEPROM芯片,數(shù)據可以采用電脈沖擦除,系統(tǒng)就可以保存更改參數(shù)了。
報警調節(jié)模塊由燈光報警和蜂鳴器報警組成。當監(jiān)控到相應的溫度、三相電壓或壓力信號發(fā)生異常時,系統(tǒng)判斷是否超過報警值。如果超過會觸發(fā)相應的軟件執(zhí)行模塊,輸出控制報警的信號,否則采取降溫降壓等調節(jié)信號給執(zhí)行機構,使設備恢復到正常工作環(huán)境,來達到工業(yè)設備既能避免劇烈工作環(huán)境變換帶來的損失,又能在一定范圍內自動恢復調節(jié)的目的。
系統(tǒng)主流程:通電、初始化、從EEPROM中讀取重要的參數(shù),數(shù)據采集與A/D轉換,將采集的數(shù)據與預存在單片機內部的報警值數(shù)據進行比較,如果超過報警值,相應的異常標志位將會置位,當監(jiān)控到有異常標志位置位值時,會輸出相應的報警、控制執(zhí)行機構信號,進而采取報警、脫扣等一系列措施,其工作流程如圖3所示。
圖3 系統(tǒng)流程示意圖
以太網通信模塊程序主要包括模塊的初始化、發(fā)送數(shù)據包和接收數(shù)據包三個方面。
a)模塊的初始化
在ENC28J60接收和發(fā)送數(shù)據之前,需要對芯片的寄存器進行設置和初始化,具體操作步驟示意圖見圖4(a)。
b)模塊的發(fā)送數(shù)據
在ENC28J60發(fā)送數(shù)據之前,必須監(jiān)控發(fā)送邏輯是否為空,當發(fā)送邏輯為空的時候才可以進行發(fā)送數(shù)據操作,否則不能發(fā)送具體步驟示意圖,如圖4(b)所示。
c)模塊的接收數(shù)據
在中斷類型中只啟用了接收數(shù)據包待處理中斷,因此當產生中斷時無需查詢中斷類型,直接進入讀取數(shù)據包階段。讀取數(shù)據的操作步驟示意圖見圖4(c)所示。
圖4 以太網收發(fā)操作步驟示意圖
在工業(yè)監(jiān)控系統(tǒng)中,當信號發(fā)生異常時,如果異常信號大于預警值且小于報警值,可以靠控制算法來控制執(zhí)行機構,使工作設備恢復到正常工作環(huán)境下,本文采用了數(shù)字PID控制算法。具體的調節(jié)過程為:被控制量經過傳感器采集、信號處理后傳入單片機,經過單片機內部A/D轉換后,判斷信號是否發(fā)生異常,當信號發(fā)生異常但異常值信號大于預警值且小于報警值,則將采集值與給定值比較得到的差值量輸入到PID控制器,經數(shù)字PID控制器調節(jié)后輸出調節(jié)電壓,調節(jié)電壓通過D/A轉換后,經驅動電路輸出調節(jié)電壓去控制執(zhí)行機構(控制對象),從而達到被控對象的相應要求。數(shù)字PID的控制原理圖如圖5所示。
本文設計了一種基于美國微芯公司的新型16位單片機和最小以太網控制器為基礎的工業(yè)監(jiān)控系統(tǒng),相對于采用其他方案的監(jiān)控系統(tǒng),該系統(tǒng)所占體積小,節(jié)約了占板空間和系統(tǒng)成本,經濟又不失為實用。在實際工作環(huán)境中,可以應用于機械、紡織等多種工作場合。
[1]祁樹勝.SPI接口以太網控制器ENC28J60及應用[J].微計算機信息,2006(22):266-268.
[2][意]Lucio Di Jasio著,李中華,張雨濃,黃曉紅.《16位單片機C語言編程-基于PIC24》[M]北京:人民郵電出版社,2010.
[3]于海生,等.計算機控制技術[M].北京:機械工業(yè)出版社.