摘要:隨著我國(guó)計(jì)算機(jī)信息技術(shù)的不斷發(fā)展,我國(guó)已經(jīng)正式進(jìn)入了后PC時(shí)代,而這一時(shí)代的主要特征就是嵌入式系統(tǒng)與互聯(lián)網(wǎng)的完美結(jié)合。在這種網(wǎng)絡(luò)環(huán)境的發(fā)展下,本文就PIC單片機(jī)的網(wǎng)絡(luò)嵌入式系統(tǒng)進(jìn)行了具體研究,希望能夠以此進(jìn)一步推動(dòng)我國(guó)后PC時(shí)代的發(fā)展。
關(guān)鍵字:PIC單片機(jī);網(wǎng)絡(luò)嵌入式系統(tǒng);實(shí)時(shí)監(jiān)控
前言:
所謂網(wǎng)絡(luò)嵌入式系統(tǒng),是一種能夠?qū)⒉僮飨到y(tǒng)與功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)中的,軟硬件一體化計(jì)算機(jī)系統(tǒng),現(xiàn)已在我國(guó)工業(yè)通訊、航空、軍事等多種行業(yè)進(jìn)行應(yīng)用。在本文的研究中,筆者選擇了Microchip公司的PIC18F2455單片機(jī),設(shè)計(jì)了一種能夠通過(guò)互聯(lián)網(wǎng)進(jìn)行無(wú)縫監(jiān)控的網(wǎng)絡(luò)嵌入式系統(tǒng),并希望能夠通過(guò)單片機(jī)的優(yōu)勢(shì),保證這一網(wǎng)絡(luò)嵌入式系統(tǒng)能夠具備穩(wěn)定性強(qiáng)、功耗低的特點(diǎn)。
1 硬件設(shè)計(jì)
1.1 PIC單片機(jī)的優(yōu)勢(shì)分析
在設(shè)計(jì)中使用的PIC18F2455單片機(jī),本身屬于8位處理器中的佼佼者,其本身不僅擁有出色的計(jì)算性能,還具備價(jià)格優(yōu)惠的特點(diǎn),在應(yīng)用PIC18F2455單片機(jī)進(jìn)行具體的網(wǎng)絡(luò)嵌入式系統(tǒng)設(shè)計(jì)時(shí),其還具備著雙速啟動(dòng)、指令集擴(kuò)展、存儲(chǔ)器耐擦寫能力較強(qiáng)等多種應(yīng)用優(yōu)勢(shì),對(duì)于本文中提到的無(wú)縫監(jiān)控網(wǎng)絡(luò)嵌入式系統(tǒng)的實(shí)現(xiàn),有著不俗的推動(dòng)作用[1]。
1.2 主處理器的軟件設(shè)計(jì)
在無(wú)縫監(jiān)控網(wǎng)絡(luò)嵌入式系統(tǒng)的主處理器設(shè)計(jì)中,我們需要設(shè)法滿足這一系統(tǒng)的數(shù)據(jù)尋址與中斷處理,由于采用的PIC單片機(jī)本身是基于哈佛結(jié)構(gòu)的存儲(chǔ)系統(tǒng),所以其本身的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器是分開的,所以在設(shè)計(jì)環(huán)節(jié)中,我們需要對(duì)其程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器進(jìn)行分別設(shè)計(jì)完成系統(tǒng)的數(shù)學(xué)尋址工作,而在中斷處理工作中,我們需呀為其設(shè)計(jì)專用的數(shù)據(jù)中斷處理系統(tǒng)。
1.2.1 程序存儲(chǔ)器的設(shè)計(jì)
由于我們使用的PIC單片機(jī)本身具備24KB閃存存儲(chǔ)器,所以我們可以通過(guò)程序計(jì)數(shù)器進(jìn)行偏移量的計(jì)算或是使用表讀和表寫,完成具體的程序存儲(chǔ)器的合理利用。
1.2.2 數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì)
由于使用的PIC單片機(jī)通過(guò)PAM方式進(jìn)行數(shù)據(jù)存儲(chǔ),所以我們必須對(duì)其進(jìn)行尋址機(jī)制的設(shè)計(jì),以此保證其本身對(duì)于地址的快速存取。在本文的設(shè)計(jì)中,為了實(shí)現(xiàn)主處理器中數(shù)據(jù)存儲(chǔ)器的高校尋址,本文采用直接尋址與間接尋址兩種尋址辦法共同運(yùn)用的方式,進(jìn)行這一環(huán)節(jié)的設(shè)計(jì)。這里的直接尋址是指利用BSR直接賦值進(jìn)行尋址,而間接尋址則是通過(guò)文件選擇寄存器FSR進(jìn)行動(dòng)態(tài)更新變量地址的存取[2]。
1.2.3 數(shù)據(jù)中斷處理系統(tǒng)的設(shè)計(jì)
在我們使用的PIC單片機(jī)中,其本身具有對(duì)個(gè)中斷源與中斷優(yōu)先級(jí)功能,我們只要通過(guò)這一PIC單片機(jī)的功能進(jìn)行具體設(shè)計(jì),就可以給大多數(shù)中斷源提供高、低優(yōu)先級(jí)的中斷服務(wù)。在這系統(tǒng)的具體設(shè)計(jì)中,高優(yōu)先級(jí)中斷事件能夠?qū)φ谶M(jìn)行的低優(yōu)先級(jí)進(jìn)行中斷。在具體的設(shè)計(jì)環(huán)節(jié)中,我們需要將Status、WREG和BSR保存在快速寄存器堆棧中,以此節(jié)省中斷服務(wù)本應(yīng)需要對(duì)較大存儲(chǔ)空間,不過(guò)這種辦法只適用于高優(yōu)先級(jí)中斷。由于堆棧寄存器無(wú)法可靠的存儲(chǔ)低優(yōu)先級(jí)中斷的數(shù)據(jù),這點(diǎn)我們需要在無(wú)縫監(jiān)控網(wǎng)絡(luò)嵌入式系統(tǒng)的使用中予以注意。
2 網(wǎng)絡(luò)控制器高效工作的實(shí)現(xiàn)
為了實(shí)現(xiàn)無(wú)縫監(jiān)控網(wǎng)絡(luò)嵌入式系統(tǒng)中網(wǎng)絡(luò)控制器的高效工作,我國(guó)還需要運(yùn)用ENC28J60以太網(wǎng)控制器,并通過(guò)其與PIC單片機(jī)的相互配合,實(shí)現(xiàn)網(wǎng)絡(luò)控制器的高效工作。由于ENC28J60以太網(wǎng)控制器本身通過(guò)靜態(tài)RAM進(jìn)行數(shù)據(jù)的存儲(chǔ),所以我們需要為其讀緩沖器RBM設(shè)計(jì)程序代碼,在這一設(shè)計(jì)中,為了保證數(shù)據(jù)接收不會(huì)超過(guò)ENC28J60以太網(wǎng)控制器的處理極限,我們需要設(shè)計(jì)變量作為計(jì)數(shù)器,以此實(shí)現(xiàn)對(duì)冗長(zhǎng)數(shù)據(jù)的忽略,實(shí)現(xiàn)網(wǎng)絡(luò)控制器的高效工作。
在網(wǎng)絡(luò)控制器高效工作實(shí)現(xiàn)環(huán)節(jié)中,我們還需要對(duì)網(wǎng)絡(luò)控制器本身的發(fā)送和接收數(shù)據(jù)包功能進(jìn)行設(shè)計(jì)。
2.1 劃分ENC28J60以太網(wǎng)控制器的緩沖區(qū)
在發(fā)送和接收數(shù)據(jù)包這一環(huán)節(jié)中,我們需要對(duì)ENC28J60以太網(wǎng)控制器的緩沖區(qū)進(jìn)行平均分配,這一分配是由于發(fā)送與接收兩方面工作均衡所致。在本文的數(shù)據(jù)包接收環(huán)節(jié)中,采用了一種二次調(diào)用RBM的方法,而實(shí)現(xiàn)這一方法需要在PIC單片機(jī)中開辟接收數(shù)據(jù)包的緩沖區(qū),以此實(shí)現(xiàn)對(duì)RAM的二次調(diào)用,以此保證數(shù)據(jù)包接收的可靠。值得注意的是,在主控制器處理完一個(gè)數(shù)據(jù)包后,應(yīng)自動(dòng)釋放已處理數(shù)據(jù)占用的緩沖空間,保證主控制器能夠進(jìn)行連續(xù)運(yùn)行[3]。
2.2 發(fā)送數(shù)據(jù)包
在數(shù)據(jù)包的發(fā)送環(huán)節(jié)中,ENC28J60以太網(wǎng)控制器中的MAC會(huì)在發(fā)送是自動(dòng)生成前導(dǎo)符和幀起始定界符,PIC單片機(jī)也會(huì)自動(dòng)生成幀字段,并與MAC生成的CRC字段一并寫入緩沖存儲(chǔ)器中,等待具體的發(fā)送。值得注意的是,由于發(fā)送數(shù)據(jù)包的數(shù)據(jù)緩沖發(fā)送區(qū)有著4KB的大小,所以這一環(huán)節(jié)我們通過(guò)窗口讀取的方法進(jìn)行了數(shù)據(jù)發(fā)送的分流[4]。
結(jié)論:本文基于PIC單片機(jī)進(jìn)行了無(wú)縫監(jiān)控的網(wǎng)絡(luò)嵌入式系統(tǒng)的設(shè)計(jì),并詳細(xì)論述了無(wú)縫監(jiān)控的網(wǎng)絡(luò)嵌入式系統(tǒng)硬件設(shè)計(jì)與網(wǎng)絡(luò)控制器環(huán)節(jié)的設(shè)計(jì)內(nèi)容,希望能夠以此推動(dòng)我國(guó)網(wǎng)絡(luò)嵌入式系統(tǒng)的發(fā)展,最終推動(dòng)我國(guó)后PC時(shí)代的再一次進(jìn)步。
參考文獻(xiàn):
[1]戴力,劉篤仁.一種基于PIC單片機(jī)的嵌入式Internet實(shí)現(xiàn)[J]
[2]于強(qiáng).基于MIcrochipPIC24F單片機(jī)的無(wú)線數(shù)據(jù)傳輸電路軟硬件設(shè)計(jì)[J].電子世界,2012,02:26-27.
[3]姜毅,朱民耀,陳榮林,崔微.基于PIC32單片機(jī)的嵌入式遠(yuǎn)程控制器的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2016,04:103-104+109.
[4]滕贏,夏明超.基于PIC18F87J60的微網(wǎng)電能質(zhì)量監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電網(wǎng)與清潔能源,2011,01:25-28.
作者簡(jiǎn)介:
劉靚(1982—)男、漢族,湖南省漣源市,貴州電子信息職業(yè)技術(shù)學(xué)院,副教授,工學(xué)碩士,單片機(jī)、嵌入式系統(tǒng)。