郭 強
(1.合肥工業(yè)大學,安徽 合肥 230009;2.安徽工業(yè)經(jīng)濟職業(yè)技術(shù)學院,安徽 合肥 230051)
目前,單片機技術(shù)已在網(wǎng)絡(luò)通信領(lǐng)域、信息交互領(lǐng)域、工業(yè)集成化發(fā)展領(lǐng)域以及實時控制領(lǐng)域中得到了全面的應用與發(fā)展,并在數(shù)據(jù)獲取與終端數(shù)據(jù)管理方面,展現(xiàn)了技術(shù)的突出優(yōu)勢。正因如此,此項技術(shù)引起了多個領(lǐng)域的關(guān)注。然而,集成型單片機處理數(shù)據(jù)信息的方式卻與常規(guī)的計算機數(shù)據(jù)處理方式存在差異[1]。例如,大部分集成型單片機可以提供終端為8位數(shù)的接口,提升了數(shù)據(jù)信息的高效率處理效果,但常規(guī)的計算機數(shù)據(jù)處理中無法快速實現(xiàn)數(shù)據(jù)的處理,影響了通信網(wǎng)絡(luò)的集成發(fā)展。 因此,本文引進遺傳算法,通過模擬生物進化過程,對集成型單片機控制信號數(shù)據(jù)信息進行多次迭代,并通過此種方式,尋找針對數(shù)據(jù)信息處理的最優(yōu)解過程。提出的遺傳算法區(qū)別于常規(guī)算法,可以解決數(shù)據(jù)處理中一些較為復雜的組合數(shù)據(jù)處理問題。但是,仍未有相關(guān)研究成果將此種算法與集成型單片機的應用進行融合。因此,本文根據(jù)遺傳算法的優(yōu)勢,設(shè)計一種針對集成型單片機控制信號的處理系統(tǒng),以此實現(xiàn)對信號的自適應調(diào)控,優(yōu)化系統(tǒng)處理功能,提升系統(tǒng)控制效率。
為了確保本文系統(tǒng)在實際應用中具有較強的信號處理能力,選擇集成型單片機作為系統(tǒng)的主要構(gòu)成硬件結(jié)構(gòu)。在系統(tǒng)中,集成型單片機又被稱之為微控制器,其本質(zhì)是一個功能型芯片,但并不是一個具有邏輯功能的芯片,而是一個可實現(xiàn)將計算機系統(tǒng)集成在芯片中的結(jié)構(gòu),功能可與微型計算機設(shè)備相當。
相比常規(guī)的終端系統(tǒng),芯片中缺少信息直接輸入/輸出端口,具有集成運行效率高的顯著優(yōu)勢[2]。在系統(tǒng)中,可作為信息編碼器、指令器、控制器、運算器,當信號通過結(jié)構(gòu)總線互聯(lián)傳輸時,芯片中多個結(jié)構(gòu)進行實時互聯(lián),此時總線DB與總控CB之間建立某種連接,信息可以直接通過連接端口進行通信,這也是此結(jié)構(gòu)不具備直接輸入/輸出端口便可以傳輸信息的原因。
早期單片機主要傳輸中具有4位信號,但在后期技術(shù)人員對其不斷優(yōu)化中,單片機實現(xiàn)了對8位、16位信號的處理與傳輸,但小規(guī)模集成結(jié)構(gòu)的單片機在市場內(nèi)仍占據(jù)主流位置,這也在一定程度上代表了此硬件結(jié)構(gòu)在市場內(nèi)的主流發(fā)展方向。
選擇51型號單片機,該單片機屬于常規(guī)性單片機芯片中的一種,其結(jié)構(gòu)如圖1所示。
圖1 51型號集成單片機結(jié)構(gòu)
在完成芯片結(jié)構(gòu)描述后,對其結(jié)構(gòu)中各模塊參數(shù)進行描述,如表1所示。
表1 51型號集成單片機結(jié)構(gòu)參數(shù)
按照上述表1中內(nèi)容,選擇適用于本文系統(tǒng)的單片機結(jié)構(gòu),以此完成系統(tǒng)硬件結(jié)構(gòu)的設(shè)計與選型。
為實現(xiàn)集成型單片機控制信號處理系統(tǒng)具有更優(yōu)的處理功能,需要在系統(tǒng)硬件結(jié)構(gòu)中配備通信設(shè)備。為此,在完成集成型單片機結(jié)構(gòu)設(shè)計后,選用SDH498-560型號MSTP通信設(shè)備作為系統(tǒng)通信的核心硬件。該型號通信設(shè)備端口類型為622M/2G,PCM接口支持FXO/FXS/RS232/4WEM等連接,電源采用AC/DC。同時SDH498-560型號的通信設(shè)備具備良好的鏈路、環(huán)網(wǎng)等組網(wǎng)能力,能夠?qū)崿F(xiàn)對SNCP網(wǎng)絡(luò)進行保護,確保本文系統(tǒng)在運行過程中,各類數(shù)據(jù)信息能夠在更加安全的通信信道中傳輸。
除此之外,該型號通信設(shè)備與其他相同功能通信設(shè)備相比,還具備寬窄帶一體化接入和傳輸特點,能夠與PT-60 5650設(shè)備板卡通用。因此,能夠進一步減少備件,方便集成型單片機控制信號處理系統(tǒng)在運行后期的良好維護[3]。本文系統(tǒng)主要用于對集成型單片機控制信號的處理,系統(tǒng)應當部署在組網(wǎng)環(huán)境當中,所有本文上述選擇的Web服務器、數(shù)據(jù)庫服務器以及通信設(shè)備都應當在該網(wǎng)段中連接。為了防止外界環(huán)境對本文系統(tǒng)運行造成影響,應當將本文系統(tǒng)的內(nèi)網(wǎng)環(huán)境與互聯(lián)網(wǎng)區(qū)域進行嚴格的物理隔離。
在完成系統(tǒng)硬件結(jié)構(gòu)的設(shè)計后,需要完善單片機控制信號處理過程,以此種方式實現(xiàn)對系統(tǒng)運行的優(yōu)化。
為了確保與此相關(guān)功能在系統(tǒng)內(nèi)的落實,采用建立信號處理工作單元與標志位的方式,為系統(tǒng)處理信號提供一個適宜區(qū)域[4]。在此過程中,應明確系統(tǒng)的軟件中包括主程序、中斷程序與處理程序,三個核心程序之間的相互銜接與作用,構(gòu)成系統(tǒng)完整的功能。
因此,在建立處理單元時,可設(shè)定一個控制信號接收緩沖單元,將其定義為BUF0,每個在前端調(diào)試的信號在此區(qū)域內(nèi)均可進行二進制位信號的適當調(diào)試,并在調(diào)試過程中通過累加處理器,連通進位區(qū)域進行左移操作,確??刂菩盘柨梢詼蚀_地傳輸?shù)紹UF1空間內(nèi)。
當BUF1接收到緩沖單元信息時,指令編碼將暫存單元信息,并獲取第一次指令的控制碼。此時,區(qū)域內(nèi)的leng控制區(qū)域?qū)⑦M行指令字節(jié)的計算,自動求解二進制位數(shù)的實際數(shù)值[5]。在此基礎(chǔ)上,GRP數(shù)據(jù)處理器將自動調(diào)整初始指針,并清理計數(shù)器,設(shè)定一個長度為16.0字節(jié)的GATE位,定義GATE位=1.0,則T2、T1、T0可沿著控制信號傳輸?shù)姆绞接|發(fā)處理空間,當SOT位置表現(xiàn)為隔離位時,收到前端處理指令的標志位將被占用,用于進行信號處理工作,以此完成對信號處理工作單元與標志位的建立。
在完成信號處理工作單元的構(gòu)建后,考慮到在此處理單元內(nèi)的控制信號數(shù)據(jù)類型較為復雜,傳統(tǒng)的處理方式顯然已不再適用,而要滿足此種數(shù)據(jù)處理需求,應在處理控制信號前,分析信號的適應度。因此,引進遺傳算法,對單片機控制信號適應度進行計算,在計算過程中,模仿生物種群的優(yōu)勝劣汰處理過程,獲取其中適應度較高的控制信號[6]。在計算時,選擇算法中的懲罰機制,對處理空間中適應度較低的染色體進行個體懲罰操作,確保適應度較低的數(shù)據(jù)個體指數(shù)遠少于適應度高的數(shù)據(jù)個體。在此過程中,定義前者為個體I,則I屬于目標函數(shù),對目標函數(shù)進行描述,如公式(1)所示。
(1)
(2)
在完成對目標函數(shù)適應度的描述后,將表達式與集成型單片機控制信號處理進行適配,此時需要調(diào)整目標函數(shù)的表達式,具體表達式如式(3)所示。
(3)
公式(3)中:wc表示為針對集成型單片機控制信號的懲罰因子,對wt的描述如式(4)所示。
(4)
公式(4)中:C1表示為適應度個體I的持續(xù)運算時長;Cmax表示為適應度個體I的持續(xù)運算時長,由于上述計算公式在實際應用中,均涉及最小化數(shù)值轉(zhuǎn)換的問題,因此,需要在計算適應度時,進行函數(shù)的轉(zhuǎn)換,計算公式如式(5)、式(6)所示。
(5)
(6)
公式中:fc(I)表示為對適應度函數(shù)的轉(zhuǎn)換表達;ft(I)表示為對適應度周期計算的轉(zhuǎn)換表達。
在完成上述相關(guān)計算后,定義此過程中發(fā)生轉(zhuǎn)化行為的遺傳染色體個數(shù)為POP,此時可根據(jù)適應度趨勢,對控制信號進行序列排序,而在此過程中其余個體將在個體庫中被刪除。因此,可使用等比例選擇計算法,對不同控制信號在處理過程中的存活率進行計算,掌握控制信號在區(qū)間內(nèi)的適應度,并以此種方式?jīng)Q定下一代數(shù)據(jù)個體的最優(yōu)存活值。在使用遺傳算法進行數(shù)據(jù)信息的每一次迭代過程中,需要刪除其中適應度較低個體,直到POP數(shù)據(jù)集群中個體具備主動離開能力,輸出在此過程中的最優(yōu)解,以此作為計算單片機控制信號適應度的依據(jù)[7]。計算過程如式(7)、式(8)所示。
(7)
(8)
公式(7)、(8)中:Pc(I)表示為對目標函數(shù)I適應度的最優(yōu)計算解;Pt(I)表示為對目標函數(shù)I最佳迭代次數(shù)的最優(yōu)計算解。輸出最優(yōu)解中的控制信號集合,完成對單片機控制信號適應度的計算。
在完成對其適應度的計算后,考慮到輸出的信號集合中存在交叉算子,而交叉算子在反復迭代中可能發(fā)生變異,因此,在處理集成型單片機控制信號的最優(yōu)階段,需要對變異算子進行校正與處理。根據(jù)計算需求,可將交叉算子的變異行為近似看作一種染色體優(yōu)先級置換過程,其中位于置換結(jié)果優(yōu)先序列中的算子,可認為其是優(yōu)秀染色體的代表[8]。反之,列于后列算子屬于次代染色體基因。在處理過程中,可通過迭代交叉的方式進行變異行為的獲取,并考慮編碼中不同列表中算子的排序,采用隨機選擇一個位置值的方式,對其初始化值進行判斷。假定在此過程中,算子的初始化數(shù)值表示為1.0,則需要將其數(shù)值1.0轉(zhuǎn)化為數(shù)值0。反之,若初始化算計的實際值為0,則需要將其從0轉(zhuǎn)變?yōu)?.0。
為避免調(diào)整算子序列過程中出現(xiàn)列表重復的現(xiàn)象,可結(jié)合自帶染色體的結(jié)構(gòu),按照下述步驟對變異算子進行校正:定義一個[1,n]的序列范圍,n為隨機數(shù)值,交換兩個數(shù)值的基因排序,判定計算過程是否仍滿足需求,倘若滿足常規(guī)計算過程,可認為實現(xiàn)對變異算子的校正與處理,反之認為未完成對算子的有效處理。綜合上述分析,完成對集成型單片機控制信號的處理,實現(xiàn)對系統(tǒng)軟件功能的規(guī)劃。
本文系統(tǒng)從硬件與軟件兩個方面,對集成型單片機控制信號處理系統(tǒng)進行了設(shè)計與研究,實現(xiàn)了對傳統(tǒng)系統(tǒng)結(jié)構(gòu)與功能的優(yōu)化。因此,實驗中采用基于PLC的控制信號處理系統(tǒng),將其與本文設(shè)計的系統(tǒng)進行對比,在實際測試過程中,本文選擇的檢測方式為黑盒檢測,此種測試方式更加適用于對系統(tǒng)運行功能的評估。通常情況下,在系統(tǒng)程序的接口進行功能與操作測試,包括對輸入信息與信號的接收與有效導出、系統(tǒng)是否能根據(jù)操作指令執(zhí)行正確的操作行為、輸出的數(shù)據(jù)是否具有時效性與完整性等。
在實驗過程中,需要為系統(tǒng)的應用布設(shè)一個運行空間。因此,選擇將設(shè)計的系統(tǒng)與參與實驗的系統(tǒng),應用到IONLANG11000實驗室智能機器人中,本次選擇的智能機器人為上海海軍大學實驗室研發(fā),使用系統(tǒng)對機器人行為反饋信號進行處理,可以有效地控制機器人操作行為。在此過程中,定義機器人定向回路信號處理結(jié)構(gòu),并以此作為實驗操作的核心,機器人定向回路信號處理結(jié)構(gòu)如圖2 所示。
圖2 機器人定向回路信號處理結(jié)構(gòu)
圖2中A表示為系統(tǒng)前端發(fā)出的控制信號,在完成對實驗中相關(guān)參與對象的部署后,使用通信設(shè)備與智能機器人接口進行連接,獲取在機器人執(zhí)行常規(guī)行為時控制信號中的白噪聲,在此基礎(chǔ)上,使用卡曼爾濾波器對信號進行濾波處理,并將處理后的白噪聲傳輸?shù)浇K端傳感器上,濾波后的信號狀態(tài)曲線如圖3所示。
圖3 濾波后信號狀態(tài)曲線
在完成實驗數(shù)據(jù)獲取后,由前端發(fā)出控制指令,并在此基礎(chǔ)上,分別使用本文系統(tǒng)與參與實驗的系統(tǒng),對發(fā)出的指令信號進行處理,使用卡曼爾濾波器對發(fā)出信號進行濾波獲取,不斷提取處理波段濾波的均誤差,并以此作為評估系統(tǒng)優(yōu)化設(shè)計結(jié)果的依據(jù)。實驗結(jié)果中,濾波的均誤差越低,證明對控制信號的處理效果越佳,反之越差。
按照上述提出的實驗流程,執(zhí)行此次對比實驗,獲取實驗結(jié)果信號處理的誤差,將其繪制成曲線圖,結(jié)果如圖4所示。
圖4 對比實驗結(jié)果
由圖4可知,實驗結(jié)果受到初始化數(shù)值的影響,在前期階段,濾波的控制誤差均為0.15%,但隨著信號迭代處理次數(shù)的不斷改變,兩種系統(tǒng)的控制誤差發(fā)生了改變,優(yōu)化后的系統(tǒng)信號控制誤差低于基于PLC的集成型單片機控制信號處理系統(tǒng)的誤差。盡管在經(jīng)過系統(tǒng)對控制信號的處理后,兩個系統(tǒng)獲取的濾波信號均處于一種相對穩(wěn)定狀態(tài),但傳統(tǒng)系統(tǒng)處理結(jié)果顯著較差。相比傳統(tǒng)的處理系統(tǒng),本文主要把遺傳算法與集成型單片機控制信號的處理系統(tǒng)進行有效融合后,設(shè)計的系統(tǒng)可實現(xiàn)對濾波均方差的有效控制,證明系統(tǒng)可以實現(xiàn)對控制信號的有效處理。
單片機技術(shù)的發(fā)展在一定程度上推進了我國計算機產(chǎn)業(yè)的進步與更新,相關(guān)單機片的應用也從獨立方向逐步向集成方向過渡,使用集成型單機片構(gòu)成計算機網(wǎng)絡(luò),已成為此種技術(shù)的應用方向之一。本文基于遺傳算法的優(yōu)勢,設(shè)計一種針對集成型單片機控制信號的處理系統(tǒng),并通過設(shè)計對比實驗方式,可以有效證明本文通過遺傳算法與集成型單片機控制信號的處理系統(tǒng)融合設(shè)計后,新的系統(tǒng)可實現(xiàn)集成型單片機控制信號的濾波均方差的有效控制。