(廣州番禺職業技術學院 科學技術處,廣州 511483)
反射內存網絡是一種基于高速共享存儲器技術的實時網絡,多以星型或環形方式組網。星型連接則采用集線器作為數據中繼轉發設備,網絡中每個節點先將數據傳輸到集線器,集線器將數據進行相應處理后,再同時轉發給其它節點。有了集線器的使用,可以對數據流進行實時監視,旁路錯誤節點,并且數據更新時間大大縮短[1]。但其驅動控制系統的建設,卻是當前困擾人們的問題之一[2]。反射內存網絡集線器驅動的控制系統的設計,對網絡集線器的使用壽命以及利用率方面有著重要作用[3]。當前的驅動控制方式存在控制誤差大,能耗高,微弱信號檢測精度低等問題,已不能滿足網絡集線器的發展需求[4]。提出設計反射內存網絡集線器驅動控制系統。通過制定驅動控制系統整體設計方案,分別對網絡節點、電源單元等系統硬件進行改進,優化驅動控制功能,完成反射內存網絡集線器驅動控制系統設計。實驗證明,該系統控制誤差小,能耗低,微弱驅動信號檢測精度高,滿足驅動控制的需求。
對反射內存網絡集線器驅動控制系統進行設計,需先制定驅動控制系統整體設計方案[5]。將系統劃分為了三個主要部分:網絡的協調單元、轉換器節點單元、驅動控制系統管理單元。輔助單元有:時鐘與看門狗、系統信號處理單元、電源單元、液晶顯示單元等。驅動控制系統整體結構劃分如圖1所示。

圖1 驅動控制系統整體結構圖
在反射內存網絡集線器驅動控制系統中,轉換器節點分別在應用環境的各個部分進行分布,并將各點的驅動進行采集。轉換器節點憑自助組織形式,將網絡的協調器當作中心,形成無線數據通信體系,轉換器節點把收集到的驅動信息,利用無線傳輸的形式發送給協調器。
協調器將對全部和其連接的轉換器節點進行管理,同時將反射內存網絡集線器節點驅動信息接收,再把收集到的全部節點驅動信息,傳輸至監測中心,監測中心將所得信息進行記錄,同時對于不同應用進行不同分析,從而進行相應控制處理。
驅動控制系統整體設計方案為系統的設計提供充足的理論依據,使所設計的控制系統具有合理性。
反射內存網絡集線器驅動控制系統的硬件主要包括轉換器網絡節點、協調器、管理中心電路、信號處理單元、電源單元等。對各部分進行優化改進,完成驅動控制系統硬件的設計。具體設計過程如下:
轉換器節點設計中,要凸顯出對反射內存網絡集線器驅動的采集和處理,以及傳輸[6]。該單元的設計以單片機STC89C51,對射頻芯片NRF24L01,驅動轉換器DS18B20進行控制,完成驅動轉換器節點性能,對應關系如圖2所示。

圖2 驅動轉換器節點構架
圖2中的DS18B20作為一種智能的驅動轉換器,可直接將反射內存網絡集線器驅動讀出。NRF24L01為高集成單片無線數據收發芯片,該芯片內部含有鏈路層,其具備主動應答,及數據主動重發等性能,速度為2 Mbps,共有125個供選的工作頻道,頻道的切換時間特別短,能夠應用至跳頻,輸出的功率和選擇頻道,與設置協議均能夠利用SPI口完成設置。NRF24L01內部還能夠在同一個頻道上,接收6路不同通道的數據,同時通過FDMA技術,最多能夠采集750個點的數據。NRF24L01芯片最主要的工作形式為:收發形式,待機形式、掉電形式。利用SPI指令控制,能夠實現幾種形式的快速切換,保障該芯片具有低功耗及高效率的優勢,其中設計用到的最主要的形式是收發形式。NRF24L01芯片于發送接收形式下,主要的作用就是驅動數據的迅速傳輸。在驅動數據包處理方面,能夠劃分成ShockBurstTM形式,與增強型ShockBurstTM形式,其工作流程如下:增強型ShockBurstTM形式,與ShockBurstTM形式之間的差別就是增強型的ShockBurstTM形式使用的為雙向鏈接的協議,也就是發送端傳輸完數據后,將進入接收的模式,等待接收端收到數據之后,進行相應的信號應答,由此發送端能夠確認通信成功與否,或者存在數據丟包與否等,假設數據的通信存在誤差,那么能夠重新發送數據。該種模式優勢為:驅動數據收發及應答,和數據重新發送等一系列操作,均無需占用控制器,能夠減少控制器的工作量,并提升測溫系統的整體運行效率,減少系統運行所用能耗。
在接收形式中,為了實現多點無線組網,在一個4*6房間中,設置4個從機端,與1個主機端,即所設計的星形的網絡中心主機端,能夠同時收到房間四個角的從機端傳輸的4路驅動信息數據。即使每個數據的通道所使用的均為固定的頻率,和相同的射頻頻道,但他們所用的IP是不同的,接收端利用IP來識別發射端。當NRF24L01進到增強型ShockBurstTM的接收形式之后,會對所接收的數據進行相應通道IP的記錄,同時利用它把應答的信號傳輸至發送端[7]。而在發送端,驅動數據通道將被用于對應答信號進行回應,所以數據通道接收IP要和發送端IP相同,能夠保證收到的應答信號正的。
在發送形式中,NRF24L01進到ShockBurstTM的發送模式之后,控制器中只要存在待發數據,NRF24L01就能夠發送數據,數據傳輸完成之后,NRF24L01將進入接收形式,等待接收端有應答的信號回復,假設收到了應答的信號,那么認為最后的數據包發送成功,也代表通信成功,假設沒有接收到應答的信號,NRF24L01則會重新發送數據包,一直到接收應答信號,假設超過最大的重發時間與次數,系統將生成MAX_RT中斷。
在反射內存網絡集線器驅動控制系統的協調器設計中,其主要作用是將轉換器收集的驅動信息進行接收,同時利用串口將信息傳輸至管理中心[8]。協調器的硬件與傳感器的節點相似,不過是缺少轉換器,內部增加了串行通信單元。
整個反射內存網絡集線器驅動控制系統管理中心電路的主要性能就是擔任PC。其中,管理中心利用串口將協調器所得信息進行接收,并把收到的信息存儲,同時也能夠利用獲得的信息,對于不同應用,進行相應控制和處理。
反射內存網絡集線器驅動控制系統存儲接收到數據時,如果要明確了解驅動采集的時間,就要對時鐘電路進行設計。以保證系統長期且可靠的工作為目的,系統要對看門狗功能進行設置。其主要用途為使得控制器陷入錯誤形態之后,在額定時間范圍復位。看門狗程序啟動時,假設程序在周期內,沒有喂狗,則看門狗會生成系統復位。
反射內存網絡集線器驅動控制系統的信號處理單元中包含:前置放大器、主放大器、低通濾波器、帶通濾波器等,其中還包含環境驅動的補償模塊。
假設反射內存網絡集線器節點中的待測驅動目標強度較弱,可能會被噪聲淹沒,從中得到信噪比和精度較高的驅動控制數據,這是當前驅動控制系統設計方法很難實現的[9]。采用電子開關型的相敏檢波器,實現微弱驅動信號的檢測。驅動信號進行放大之后,通過帶通濾波器將噪聲抑制住,以此提升信噪比。接著利用運算放大器組建的主放大器,實現信號的進一步擴大,采用相敏檢波器將其傳送至低通濾波器,去除高于待測信號的干擾以及噪聲。低通濾波器所輸出的參考方波信號的頻率,和目標信號的頻率相同。低通濾波器所輸出的電壓是目標輻射,與斬波器輻射之間的差。
反射內存網絡集線器驅動控制系統對電源單元的要求為:具有“雙電源”的轉換性能,也就是測溫系統能夠利用直流電源進行供電,同時能夠利用電池供電,這兩者間可自動進行轉換,進而保障系統最少使用其中一種形式供電。圖3為電源單元:

圖3 電源單元
圖3中的肖特基二極管D2主要作用為:對第二輸入電源利用電阻對能量進行消耗這種現象進行阻止。為了達到電源單元設計的需求,第一輸入電源輸出電壓應較高,且輸出電流應較大,反之,第二輸入電源輸出的電壓和電流就應該比較小。綜上,文章選取5 V直流電源,當作第一電源,利用4.5 V電池電源,當作第二電源。
出于對反射內存網絡集線器驅動控制結果的顯示,均為數字與字母的考慮,液晶單元選取的是LCD1602[10]。其主要是由點陣字符構成,并且所顯示的內容至多兩行,且每行至多能夠顯示16字符。該單元共具備16個引腳,內部含有:電源及接地,寄存器選取,使能端和背光電源的正負極。該單元數據手冊中,供給4線的連接形式,即僅適用7個輸入和輸出管腳,就能完成驅動控制結果的顯示,7個管腳中有3個控制口:RS,R/W,E與數據線DB7-DB4,由此寫入1個字節的驅動數據,或者指令時,先寫入高半字節,然后寫入低半字節。
根據以上管理中心電路、信號處理單元、電源單元、液晶顯示單元等硬件設備的改進,完成驅動控制系統硬件部分的設計,為系統軟件設計提供最優的硬件環境。
反射內存網絡集線器驅動控制系統的軟件功能主要是對驅動進行控制。在啟動傳感器節點之后,要先初始化各設備及寄存器,同時查找協調器,同時和協調器進行連接,再依次對節點上的各個驅動傳感器上的數據信息進行讀取,并把驅動數據傳輸至協調器,全部的傳感器讀取過程完成一次后,傳感器將入至定時休眠的狀態,并等待下輪數據讀取。具體過程如圖4所示:

圖4 轉換器工作程序
協調器的主要責任為構建通信協議,這個協議是完成無線聯網,與無線數據傳輸性能的重要部分,管理系統的硬件部分資源,同時為系統的應用與開發提供接口。其中,協議中主要包括控制器的初始化、利用SPI接口實現通信系統初始化等。
NRF24L01無線單元的軟件部分中主要有兩個部分:從機端程序,也就是發送端程序,和主機端程序,也就是接收端程序。其中從機端性能:利用無線網絡,把從機端的MCU交出的驅動數據信息傳輸出去,而主機端的性能就是將從機端傳輸出去的驅動數據信息,交至主機端MCU。因此兩個部分代碼程序略有不同。
在該程序使用增強型ShockBurstTM對數據包進行處理時,其中,通信的速率是1 Mbps,或者是2 Mbps,晶振頻率是16 MHz,工作的頻段是2445 MHz,發射的頻率自定義是0 dBm,設置的校驗為16位。增強型ShockBurstTM形式下發射流程為:
寄存器內的PRIM_RX位配置是低電平;每當MCU內部有待發數據時,接收節點IP,與有效數據利用SPI接口寫至NRF24L01。其中MCU內的數據依照字節,依次寫至無線單元的TX FIFO內,并等待被發送;將CE管腳的電平拉高,并將其保持高電平至少10 μs,NRF24L01的配置是發射形式的;NRF24L01進入ShockBurstTM形式下工作;無線單元上電并運行;NRF24L01芯片內部16 MHz時鐘初始化;依據設定好的通信速率完成數據的發送;將驅動數據信息進行發送之后,將NRF24L01設置為接收模式,并等待從機端傳送應答信號,假設在有效應答時間范圍接收到回應信號,那么表示數據傳輸成功,TX_DS位置是高電平,同時將TX FIFO內的數據清空,假設在規定的時間內,傳送端并無應答信號,那么系統將重發數據,如果重發次數超過了設置好的最大次數,那么生成MAX_RT中斷,不過TX FIFO中的數據不清空;將CE管腳拉到低電平位置,系統將進入至待機狀態,不然,系統將繼續傳送TX FIFO寄存器內的驅動數據信息。
綜上所述,通過系統電源單元、信息處理單元等硬件的改進,及軟件驅動控制功能的優化,完成了反射內存網絡集線器驅動控制系統的設計。
為了證明所設計的反射內存網絡集線器驅動控制系統的性能,需進行一次實驗。將實驗平臺搭建在Matlab上,實驗數據取自于某反射內存網絡集線器。
實驗分別從以下幾個方面進行:
1)反射內存網絡集線器驅動控制系統控制誤差;
2)反射內存網絡集線器驅動控制系統運行能耗;
3)反射內存網絡集線器驅動控制系統,對微弱驅動信號的檢測效果。
分別利用傳統系統和改進系統對反射內存網絡集線器中的兩個點驅動進行控制,測試兩種系統的控制誤差。根據時間的不斷增加,觀察不同系統對兩個待測點驅動控制結果,與實際驅動的擬合程度如圖5所示。

圖5 兩種不同系統控制誤差對比結果
分析圖5實驗結果可得,改進系統相比傳統系統在驅動控制精度方面具有絕對的優勢。
改進系統利用DS18B20這種智能的驅動傳感器,作為反射內存網絡集線器驅動控制系統的驅動采集模塊。其可利用編程完成9~12位數字值讀數,提升了改進系統的整體驅動精度,同時也證明了所提方法具有很強的可靠性。
圖6中,黑色區域所占面積越多表示系統運行所用能耗越多,黑色區域所占空間越少,表示系統運行作用能耗越少。分別選用傳統系統和改進系統對驅動控制系統運行能耗進行測試,對比兩種系統的能耗結果如圖6所示。

圖6 兩種不同系統運行能耗對比
分析圖6可得,改進設計的驅動控制系統運行能耗,相比傳統的驅動控制系統運行能耗明顯較少。改進系統采用NRF24L01芯片中的ShockBurstTM形式的優勢就是:驅動數據收發及應答,和數據重新發送等一系列操作,均無需占用控制器,能夠減少控制器的工作量,減少系統運行所用能耗;同時在電源單元中,肖特基二極管D2對第二輸入電源利用電阻對能量進行消耗的現象進行了阻止,更加減少了系統運行的所用能耗。
圖7選取的是反射內存網絡集線器運行波形中的一段,其中的波形線為微弱驅動信號,利用傳統系統和改進系統對其微弱驅動信號進行檢測,觀察兩種不同系統微弱驅動信號的檢測效果,測得兩種系統的實驗對比結果如圖7所示。

圖7 兩種不同系統微弱驅動信號檢測效果對比
分析圖7結果,改進系統采用了電子開關型的相敏檢波器,其原理為:驅動信號進行放大之后,通過帶通濾波器將噪聲抑制住,以此提升信噪比。接著利用運算放大器組建的主放大器,實現信號的進一步擴大,采用相敏檢波器將其傳送至低通濾波器,去除高于待測信號的干擾以及噪聲,并以此增強對微弱驅動信號檢測效果。
綜合以上實驗結果可得,改進設計的反射內存網絡集線器驅動控制系統的控制誤差小,運行能耗低,微弱驅動信號檢測效果好,具有一定的實用性和有效性。
為解決傳統系統存在的控制誤差大,能耗高,微弱驅動信號檢測效果差等問題,提出反射內存網絡集線器驅動控制系統設計。通過制定的驅動控制系統的整體結構,對系統硬件部分的電源單元等進行改進,并優化設計了驅動控制的軟件功能,完成驅動控制系統的設計。實驗證明,該系統控制誤差小,運行能耗低,且對微弱驅動信號檢測精度高。但該系統在運行穩定性方面尚有不足,未來將針對系統穩定性進行研究,為驅動控制領域提供有效借鑒依據。