阮永超,劉武發(fā),鄭 鵬
(鄭州大學(xué)機(jī)械與動(dòng)力工程學(xué)院,河南鄭州450001)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)化的智能傳感器系統(tǒng)運(yùn)用越來(lái)越廣泛。為了解決傳感器與網(wǎng)絡(luò)連接的標(biāo)準(zhǔn)化問(wèn)題,電氣和電子工程師協(xié)會(huì)(Institute of Electrical and Electronics Engineers,IEEE)制定了IEEE 1451一系列標(biāo)準(zhǔn)。
針對(duì)IEEE 1451標(biāo)準(zhǔn),國(guó)內(nèi)學(xué)者進(jìn)行了大量研究并且取得了豐碩的研究成果。段文浩[1]設(shè)計(jì)了基于IEEE 1451.2標(biāo)準(zhǔn)[2]的智能傳感器系統(tǒng),該系統(tǒng)中的網(wǎng)絡(luò)適配器模塊使用基于SPI(serial peripheral inter-face,串行外設(shè)接口)協(xié)議所設(shè)計(jì)的十線制接口與智能傳感器模塊相連接[2]。鄭培亮[3]以ARM9的嵌入式開(kāi)發(fā)板OK2400-IV作為載體,在其上運(yùn)行Linux系統(tǒng)并搭建Boa服務(wù)器作為網(wǎng)絡(luò)適配器模塊;在計(jì)算機(jī)中運(yùn)行Linux系統(tǒng),并通過(guò)網(wǎng)線使計(jì)算機(jī)與網(wǎng)絡(luò)適配器模塊進(jìn)行通信;網(wǎng)絡(luò)適配器模塊與智能傳感器模塊的接口也采用基于SPI協(xié)議的十線制接口。尹寶軍、周敏剛等[4-5]設(shè)計(jì)的智能傳感器系統(tǒng)中網(wǎng)絡(luò)適配器模塊和智能傳感器模塊均采用RS232協(xié)議通信。馬生貴[6]設(shè)計(jì)的智能傳感器系統(tǒng)中網(wǎng)絡(luò)適配器模塊和智能傳感器模塊采用CAN(controller area network,控制器局域網(wǎng)總線)協(xié)議通信。趙露[7]設(shè)計(jì)了用于環(huán)境監(jiān)測(cè)的使用ZigBee協(xié)議的無(wú)線傳感器的網(wǎng)絡(luò)節(jié)點(diǎn)。劉東明等[8]設(shè)計(jì)了采用ZigBee協(xié)議與其他節(jié)點(diǎn)通信的無(wú)線傳感器節(jié)點(diǎn)。
IEEE 1451標(biāo)準(zhǔn)中關(guān)于網(wǎng)絡(luò)適配器模塊與智能傳感器模塊是否采用IIC通信[9]并沒(méi)有相關(guān)規(guī)定,也鮮有研究,而筆者設(shè)計(jì)的智能傳感器系統(tǒng)中網(wǎng)絡(luò)適配器模塊采用IIC與智能傳感器模塊通信,采用Wi-Fi[10]與上位機(jī)通信。IIC通信具有可靠性好、傳輸速度快、結(jié)構(gòu)簡(jiǎn)單和易于擴(kuò)充等優(yōu)點(diǎn);Wi-Fi通信的優(yōu)勢(shì)在于信號(hào)覆蓋廣、網(wǎng)絡(luò)速度較快,能夠擺脫線纜連接的束縛,成本低廉,容易維護(hù)。因此,該設(shè)計(jì)對(duì)于今后相關(guān)方面的研究具有借鑒意義。
智能傳感器系統(tǒng)總體框架如圖1所示。STM32F 103通過(guò) USART(universal synchronous/asynchro-nous receiver/transmitter,通用同步/異步串行接收/發(fā)送器)[11]與ESP8266模塊[12]連接,組成網(wǎng)絡(luò)適配器模塊[13]。STM32F103通過(guò)使用AT(Attention)指令與ESP8266模塊通信,就能使ESP8266模塊接入網(wǎng)絡(luò)。STM32F103與傳感器連接,組成智能傳感器模塊。系統(tǒng)總體設(shè)計(jì)采用客戶端/服務(wù)器模式,上位機(jī)作為客戶端,網(wǎng)絡(luò)適配器模塊作為服務(wù)器,智能傳感器模塊執(zhí)行具體的操作。
圖1 智能傳感器系統(tǒng)總體框架Fig.1 General framework of intelligent sensor system
智能傳感器系統(tǒng)的工作流程為:1)上位機(jī)發(fā)送指令;2)網(wǎng)絡(luò)適配器模塊接收指令后解析指令并生成自己的指令,然后向相應(yīng)的智能傳感器模塊發(fā)送指令;3)智能傳感器模塊接收指令后執(zhí)行相應(yīng)操作,并將結(jié)果發(fā)送給網(wǎng)絡(luò)適配器模塊;4)網(wǎng)絡(luò)適配器模塊收到結(jié)果后將結(jié)果發(fā)送給上位機(jī);5)上位機(jī)接收結(jié)果并進(jìn)行相關(guān)操作。
本文主要對(duì)圖1中虛線所包圍的上位機(jī)、網(wǎng)絡(luò)適配器模塊、智能傳感器模塊1三部分的設(shè)計(jì)進(jìn)行介紹,其他部分的設(shè)計(jì)類似,不再贅述。
智能傳感器模塊1與網(wǎng)絡(luò)適配器模塊的接口及硬件設(shè)計(jì)如圖2所示,括號(hào)內(nèi)為具體的引腳。
圖2 智能傳感器模塊1與網(wǎng)絡(luò)適配器模塊的接口及硬件設(shè)計(jì)Fig.2 Interface between intelligent sensor module 1 and net-work adapter module and hardware design
在網(wǎng)絡(luò)適配器模塊中,PA0為ESP8266模塊的片選信號(hào)引腳,當(dāng)PA0為高電平時(shí),ESP8266模塊被選中,ESP8266模塊開(kāi)始工作;PA1為ESP8266模塊的復(fù)位信號(hào)引腳,當(dāng)PA1為低電平時(shí),ESP8266模塊復(fù)位;控制器通過(guò)PA2向ESP8266模塊發(fā)送信息,通過(guò)PA3從ESP8266模塊接收信息,通過(guò)VCC(volt current condenser,電路的供電電壓)和GND(ground,地線)向ESP8266模塊供電。
在網(wǎng)絡(luò)適配器模塊與智能傳感器模塊1的連接中,STM32F103.1作為IIC主機(jī),STM32F103.2作為IIC從機(jī),PB6作為IIC時(shí)鐘線,PB7作為IIC數(shù)據(jù)線,智能傳感器模塊1通過(guò)PB2向網(wǎng)絡(luò)適配器模塊發(fā)送應(yīng)答信號(hào),網(wǎng)絡(luò)適配器模塊通過(guò)PB8向智能傳感器模塊1發(fā)送應(yīng)答信號(hào),PB9作為智能傳感器模塊1的連接請(qǐng)求線。智能傳感器模塊1連接成功后,網(wǎng)絡(luò)適配器模塊通過(guò)檢測(cè)PB9的高低電平來(lái)判斷智能傳感器模塊1是否斷開(kāi)連接。網(wǎng)絡(luò)適配器模塊通過(guò)VCC和GND向智能傳感器1模塊供電。
在STM32F103.2與傳感器0的連接中,PB0作為時(shí)鐘線,PB1作為數(shù)據(jù)線。當(dāng)傳感器0接入系統(tǒng)后,PC2被置為高電平;當(dāng)傳感器0斷開(kāi)連接后,PC2被置為低電平。STM32F103.2通過(guò)檢測(cè)PC2的高低電平來(lái)判斷傳感器0是否接入,通過(guò)VCC和GND向傳感器0供電。
智能傳感器模塊的智能性體現(xiàn)在其內(nèi)部有傳感器電子數(shù)據(jù)表格(transducer electronic data sheets,TEDS),用以描述和記錄智能傳感器模塊的相關(guān)參數(shù)。參考IEEE 1451.2標(biāo)準(zhǔn)設(shè)計(jì)了3種TEDS,分別是主TEDS、通道TEDS和校準(zhǔn)TEDS。按照標(biāo)準(zhǔn),主TEDS和通道TEDS是必須有且固定不變的,它們被存儲(chǔ)在程序中;校準(zhǔn)TEDS是根據(jù)校準(zhǔn)的需要而改變其中的校準(zhǔn)數(shù)據(jù),它被存儲(chǔ)在STM32F103的內(nèi)部Flash中?,F(xiàn)主要以主TEDS為例介紹TEDS的設(shè)計(jì)。
TEDS格式設(shè)計(jì)中分別取TEDS中“類型”“長(zhǎng)度”“內(nèi)容”所對(duì)應(yīng)的英文單詞“type”“l(fā)ength”“value”的首字母,合稱為TLV[14]。TEDS中的TLV個(gè)數(shù)不定,根據(jù)需要設(shè)置。設(shè)計(jì)中為了便于TEDS的存儲(chǔ)和傳輸,TEDS由字符組成。在一個(gè)TLV中:TLV的類型用2個(gè)字符表示;長(zhǎng)度是指此TLV內(nèi)容的字符個(gè)數(shù),用2個(gè)字符表示;表示內(nèi)容的字符數(shù)量不固定。TEDS中第1個(gè)TLV的類型是用來(lái)告知信息的讀取者,這些信息是TEDS信息;其他TLV中的類型表示其內(nèi)容在TEDS中的數(shù)據(jù)區(qū)號(hào)。第1個(gè)TLV中的內(nèi)容是TEDS相關(guān)標(biāo)準(zhǔn)、類型和版本信息,其他TLV中的內(nèi)容是TEDS所記錄的相關(guān)數(shù)據(jù)。
主TEDS主要用來(lái)描述智能傳感器模塊自身。主TEDS中有3個(gè)TLV。第1個(gè)TLV為“0106020101”,其中:開(kāi)頭的2個(gè)字符“01”用于將數(shù)據(jù)識(shí)別為TEDS;“06”表示此TLV內(nèi)容由6個(gè)字符組成;“02”表示IEEE1451.2標(biāo)準(zhǔn);第2個(gè)“01”表示主TEDS;最后一個(gè)“01”表示97年版本。第2個(gè)TLV為“042600347501136220191011120201”,其中:開(kāi)頭的“04”表示全球識(shí)別號(hào);“26”表示此TLV內(nèi)容由26個(gè)字符組成;“003475”中第1個(gè)“0”表示北緯,“003475”表示北緯34.75°;“011362”中“0”表示東經(jīng),“011362”表示東經(jīng) 113.62°;“20191011120201”表示2019年10月11日12點(diǎn)2分1秒。所以該智能傳感器模塊的全球識(shí)別號(hào)為“0034750113620191011120201”。第3個(gè)TLV為“090202”,其中:“09”表示此TLV信息是執(zhí)行通道數(shù)量;“02”表示此TLV內(nèi)容由2個(gè)字符組成;最后一個(gè)“02”表示該智能傳感器模塊有2個(gè)傳感器通道。
根據(jù)該智能傳感器系統(tǒng)的特點(diǎn)設(shè)計(jì)了簡(jiǎn)單易讀的指令體系,如表1所示。
上位機(jī)產(chǎn)生的指令中,除了校準(zhǔn)TEDS指令外,其他都由3個(gè)字符組成,其中第1個(gè)字符表示智能傳感器模塊的編號(hào)。指令“1ch”表示要讀取智能傳感器模塊1中傳感器的連接狀態(tài),“1aa”表示要讀取智能傳感器模塊1的主TEDS。在上位機(jī)發(fā)送的“10b”“10c”“102”三個(gè)指令中,第2個(gè)字符均表示要執(zhí)行操作的傳感器編號(hào),第3個(gè)字符表示要執(zhí)行的操作,如“10b”表示要讀取智能傳感器模塊1中傳感器編號(hào)為0的通道TEDS。上位機(jī)向智能傳感器模塊1寫入校準(zhǔn)TEDS時(shí)會(huì)在校準(zhǔn)TEDS前面加上相關(guān)信息,如“1j0”,其中:“1”表示智能傳感器模塊1;“j”表示校準(zhǔn)TEDS;“0”表示傳感器0。智能傳感器模塊1將校準(zhǔn)TEDS寫入完成后會(huì)通過(guò)PB2通知網(wǎng)絡(luò)適配器模塊,網(wǎng)絡(luò)適配器模塊接到通知后向上位機(jī)發(fā)送指令“xw”。
當(dāng)智能傳感器模塊1中傳感器的連接狀態(tài)發(fā)生變化時(shí),智能傳感器模塊會(huì)將以“s”開(kāi)頭的四字符指令發(fā)送給上位機(jī)。在該四字符指令中:第2個(gè)字符“1”表示智能傳感器模塊1;第3個(gè)字符表示傳感器0是否存在,“0”表示不存在,“1”表示存在;第4個(gè)字符是為了增強(qiáng)系統(tǒng)的可擴(kuò)展性而設(shè)置的,可表示另一個(gè)傳感器存在與否。
表1 智能傳感器系統(tǒng)指令體系Table 1 Instruction system of intelligent sensor system
當(dāng)智能傳感器模塊1的連接狀態(tài)發(fā)生變化時(shí),網(wǎng)絡(luò)適配器模塊會(huì)將以“s”開(kāi)頭的三字符指令發(fā)送給上位機(jī)。智能傳感器模塊1連接成功后,網(wǎng)絡(luò)適配器模塊向上位機(jī)發(fā)送“s1c”;智能傳感器模塊1斷開(kāi)連接后,網(wǎng)絡(luò)適配器模塊向上位機(jī)發(fā)送“s1b”?!皊1b”“s1c”中的“1”表示智能傳感器模塊1,“b”表示不存在,“c”表示存在。
以“s”開(kāi)頭的指令優(yōu)先級(jí)高,當(dāng)指令產(chǎn)生沖突時(shí),優(yōu)先級(jí)高的指令優(yōu)先被發(fā)送。通過(guò)程序設(shè)計(jì),可實(shí)現(xiàn)指令的優(yōu)先發(fā)送,具體可參見(jiàn)軟件設(shè)計(jì)部分。
網(wǎng)絡(luò)適配器模塊和智能傳感器模塊1的程序都在keil5中用C語(yǔ)言[15]編寫,上位機(jī)程序在Visual Stu-dio中用C#語(yǔ)言[16]編寫。管理員信息、用戶信息以及傳感器的測(cè)量值等都保存在MySQL數(shù)據(jù)庫(kù)[17]中。
智能傳感器模塊1與網(wǎng)絡(luò)適配器模塊接口的工作流程如圖3所示。此設(shè)計(jì)中只有PB9的高電平是一直保持的,其他高電平是4 ms或10 ms高電平信號(hào)。檢測(cè)PB8(非二進(jìn)制傳輸)和PB2電平時(shí),如果超過(guò)1 s未檢測(cè)到高電平,智能傳感器模塊1和網(wǎng)絡(luò)適配器模塊則重新執(zhí)行各自的接口程序。智能傳感器模塊1和網(wǎng)絡(luò)適配器模塊內(nèi)部存儲(chǔ)著相同的頻率數(shù)組和地址數(shù)組。智能傳感器模塊1與接口連接后,會(huì)與網(wǎng)絡(luò)適配器模塊進(jìn)行3次握手通信[18],然后接收網(wǎng)絡(luò)適配器模塊發(fā)送的頻率和對(duì)應(yīng)地址編號(hào)的二進(jìn)制數(shù),并將接收的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),找到相應(yīng)的頻率和地址進(jìn)行自身的IIC配置。最后,網(wǎng)絡(luò)適配器模塊會(huì)與智能傳感器模塊1進(jìn)行一次IIC通信測(cè)試,測(cè)試成功后,則告知上位機(jī)智能傳感器模塊1已連接。
網(wǎng)絡(luò)適配器模塊對(duì)智能傳感器模塊1的信息讀取分為2步,第1步是讀取信息的字符個(gè)數(shù),第2步是按照字符個(gè)數(shù)去讀取信息,這樣就可以兼容不同長(zhǎng)度的TEDS和測(cè)量數(shù)據(jù)。智能傳感器模塊1和網(wǎng)絡(luò)適配器模塊的工作流程如圖4和圖5所示。在智能傳感器模塊1中,傳感器的連接狀態(tài)有變化時(shí)所設(shè)置的PB2高電平會(huì)一直保持,其他時(shí)候設(shè)置的PB2高電平是10 ms高電平信號(hào)。網(wǎng)絡(luò)適配器模塊設(shè)置的PB8高電平也是10 ms高電平信號(hào)。檢測(cè)PB8和PB2(非保持)電平時(shí),如果超過(guò)2 s未檢測(cè)到高電平,智能傳感器模塊1和網(wǎng)絡(luò)適配器模塊則重新執(zhí)行各自的循環(huán)操作。
在智能傳感器模塊1的工作程序中有一個(gè)標(biāo)記參數(shù),用來(lái)使網(wǎng)絡(luò)適配器模塊讀取不同的信息,如:參數(shù)設(shè)置為8時(shí),網(wǎng)絡(luò)適配器讀取通道TEDS;參數(shù)設(shè)置為10時(shí),讀取主TEDS。智能傳感器模塊1在檢測(cè)到傳感器0連接狀態(tài)有變化時(shí),就會(huì)將PB2置高電平。網(wǎng)絡(luò)適配器模塊讀取以“s”開(kāi)頭的返回指令后,會(huì)將PB8置高電平,告知智能傳感器模塊1。網(wǎng)絡(luò)適配器模塊工作程序中有一個(gè)代表智能傳感器模塊1是否存在的標(biāo)記參數(shù),該參數(shù)設(shè)置為1時(shí)代表智能傳感器模塊1存在,設(shè)置為0時(shí)代表智能傳感器模塊1不存在,參數(shù)默認(rèn)值為0。
圖3 智能傳感器模塊1與網(wǎng)絡(luò)適配器模塊接口的工作流程Fig.3 Workflow of interface between intelligent sensor mod-ule 1 and network adapter module
智能傳感器模塊1根據(jù)收到的指令執(zhí)行相應(yīng)的動(dòng)作,設(shè)置標(biāo)記參數(shù),執(zhí)行完畢后將PB2置高,告知網(wǎng)絡(luò)適配器可以進(jìn)行讀取。網(wǎng)絡(luò)適配器模塊讀取信息后,查看信息是否是以“s”開(kāi)頭的返回指令:如果是,將返回指令發(fā)送給上位機(jī);如果不是,將PB8置高,告知智能傳感器模塊1讀取完畢。智能傳感器模塊1檢測(cè)到PB8的高電平信號(hào)后,會(huì)設(shè)置標(biāo)記參數(shù),準(zhǔn)備要被讀取的信息。網(wǎng)絡(luò)適配器模塊再次讀取信息后,查看信息是否是以“s”開(kāi)頭的返回指令:如果是,將返回指令發(fā)送給上位機(jī);如果不是,將上一次收到的數(shù)據(jù)與本次收到的數(shù)據(jù)組合在一起(上次收到的數(shù)據(jù)在前),作為返回?cái)?shù)據(jù)發(fā)送給上位機(jī)。硬件設(shè)計(jì)和軟件設(shè)計(jì)的結(jié)合實(shí)現(xiàn)了以“s”開(kāi)頭的返回指令被優(yōu)先發(fā)送,進(jìn)而實(shí)現(xiàn)了智能傳感器模塊和傳感器的即插即用。
圖4 智能傳感器模塊1的工作流程Fig.4 Workflow of intelligent sensor module 1
5.3.1 上位機(jī)軟件的結(jié)構(gòu)
上位機(jī)軟件主要分為登錄和功能兩部分。表2和圖6所示分別為上位機(jī)數(shù)據(jù)庫(kù)的數(shù)據(jù)表信息和上位機(jī)軟件結(jié)構(gòu)圖。
表2 上位機(jī)數(shù)據(jù)庫(kù)的數(shù)據(jù)表信息Table 2 Data table information of upper computer data-base
圖5 網(wǎng)絡(luò)適配器模塊的工作流程Fig.5 Workflow of network adapter module
圖6 上位機(jī)軟件結(jié)構(gòu)圖Fig.6 Diagram of the upper computer software structure
表2中:guanliyuan和yonghu表的字段都為var-char類型;sensor0表的平均值、最大值和最小值的字段為float類型,單位的字段為varchar類型,時(shí)間的字段為datetime類型。圖6中:傳感器校準(zhǔn)是指將校準(zhǔn)數(shù)據(jù)按照最小二乘法進(jìn)行擬合得出擬合直線方程,并將各組校準(zhǔn)數(shù)據(jù)寫入智能傳感器模塊1的校準(zhǔn)TEDS中;測(cè)量結(jié)果的計(jì)算包括測(cè)量數(shù)據(jù)組的平均值、按照t分布置信度為0.95的置信區(qū)間、系統(tǒng)誤差和粗大誤差等的計(jì)算[19];測(cè)量結(jié)果的查詢包括按照平均值查詢和按照測(cè)量時(shí)間查詢兩種。
5.3.2 上位機(jī)軟件的運(yùn)行流程
啟動(dòng)上位機(jī)軟件后,先進(jìn)入登錄界面進(jìn)行賬號(hào)密碼的驗(yàn)證,驗(yàn)證通過(guò)后才能進(jìn)入功能界面。在功能界面中首先要連接Wi-Fi服務(wù)器。上位機(jī)軟件運(yùn)行流程如圖7所示。
上位機(jī)連接Wi-Fi成功后,會(huì)開(kāi)啟2個(gè)后臺(tái)線程,一個(gè)用于數(shù)據(jù)的接收,另一個(gè)用于檢測(cè)網(wǎng)絡(luò)的連接狀態(tài)。點(diǎn)擊功能界面上的指令按鈕會(huì)產(chǎn)生對(duì)應(yīng)的指令并將指令發(fā)送出去,然后用一個(gè)參數(shù)對(duì)已發(fā)送指令進(jìn)行標(biāo)記。比如點(diǎn)擊智能傳感器模塊1界面的“查找傳感器”按鈕,會(huì)產(chǎn)生指令“1ch”,指令發(fā)出后,會(huì)將標(biāo)記參數(shù)設(shè)置為3。當(dāng)接收數(shù)據(jù)線程接收到數(shù)據(jù)后會(huì)根據(jù)指令標(biāo)記參數(shù)進(jìn)行不同的操作和顯示,最后清除指令標(biāo)記,即將指令標(biāo)記參數(shù)設(shè)置為初始值0。上位機(jī)軟件的指令發(fā)出后,會(huì)進(jìn)行5 s定時(shí),如果定時(shí)時(shí)間到后還沒(méi)有收到相應(yīng)的數(shù)據(jù),則指令執(zhí)行超時(shí),進(jìn)行彈窗提示。
上位機(jī)軟件查找網(wǎng)絡(luò)的連接狀態(tài)時(shí),需要調(diào)用wlanapi.dll中的相關(guān)函數(shù)。查找過(guò)程為:首先調(diào)用WlanOpenHandle函數(shù),打開(kāi)Wi-Fi句柄,然后調(diào)用WlanEnumInterfaces函數(shù),列舉無(wú)線網(wǎng)絡(luò)適配器,并查找連接狀態(tài),接著調(diào)用WlanCloseHandle函數(shù),關(guān)閉Wi-Fi句柄,最后返回查找結(jié)果。
圖7 上位機(jī)軟件運(yùn)行流程Fig.7 Running process of upper computer software
將網(wǎng)絡(luò)適配器模塊上電產(chǎn)生Wi-Fi信號(hào),將電腦進(jìn)行Wi-Fi連接。啟動(dòng)上位機(jī)軟件進(jìn)行賬號(hào)登錄,然后輸入Wi-Fi服務(wù)器的IP(internet protocol,互聯(lián)網(wǎng)協(xié)議)地址和端口號(hào)進(jìn)行網(wǎng)絡(luò)連接。上位機(jī)軟件啟動(dòng)后進(jìn)行查找智能傳感器模塊及傳感器、校準(zhǔn)傳感器、讀取并管理TEDS及傳感器測(cè)量結(jié)果等實(shí)驗(yàn),并進(jìn)行智能傳感器模塊及傳感器的插拔實(shí)驗(yàn)。實(shí)驗(yàn)證明智能傳感器模塊和傳感器能正常運(yùn)行并得到正確結(jié)果。
智能傳感器系統(tǒng)的硬件連接如圖8所示,其中:A是為系統(tǒng)供電的USB(universal serial bus,通用串行總線);B是ESP8266模塊;I和D是STM32F103開(kāi)發(fā)板,D通過(guò)連線C與B相連,組成網(wǎng)絡(luò)適配器模塊;F是量程為5 kg的質(zhì)量傳感器;G是24位的A/D轉(zhuǎn)換模塊HX711,它將傳感器的測(cè)量結(jié)果進(jìn)行A/D轉(zhuǎn)換,并通過(guò)連線H與I相連;J連接的是I的PC2引腳,當(dāng)傳感器接入時(shí)J為高電平,當(dāng)傳感器斷開(kāi)時(shí)J為低電平,I通過(guò)檢測(cè)J的高低電平來(lái)判斷傳感器是否連接;F、G、H、I、J共同組成智能傳感器模塊1,網(wǎng)絡(luò)適配器模塊和智能傳感器模塊1通過(guò)連線E進(jìn)行連接。
上位機(jī)界面如圖9所示。
圖8 智能傳感器系統(tǒng)的硬件連接圖Fig.8 Hardware connection diagram of intelligent sensor system
圖9 上位機(jī)界面Fig.9 Interface of the upper computer
基于STM32F103所設(shè)計(jì)的智能傳感器模塊和網(wǎng)絡(luò)適配器模塊電路比較簡(jiǎn)單,它們之間采用IIC通信,連線較少,通信簡(jiǎn)單,易于擴(kuò)展。智能傳感器模塊可以實(shí)現(xiàn)頻率的自適應(yīng)和地址的自分配,并且能夠?qū)崿F(xiàn)傳感器的即插即用。指令體系的構(gòu)建使系統(tǒng)的擴(kuò)展有了指令框架。設(shè)計(jì)的TEDS格式更加適合數(shù)據(jù)的存儲(chǔ)和傳輸。上位機(jī)具有登錄界面,使功能界面的使用更加安全。通過(guò)軟件運(yùn)行,上位機(jī)可以將測(cè)量結(jié)果等信息存入數(shù)據(jù)庫(kù),方便對(duì)測(cè)量結(jié)果的管理。通過(guò)實(shí)驗(yàn)驗(yàn)證了該智能傳感器系統(tǒng)設(shè)計(jì)的可靠性與穩(wěn)定性。