基于STM32的傳感器接口模塊的設(shè)計(jì)
摘要:基于STM32實(shí)現(xiàn)了電流型、電壓型以及數(shù)字IO型傳感器接口模塊;進(jìn)行了接口模塊的軟件設(shè)計(jì),說(shuō)明了詳細(xì)的固件代碼設(shè)計(jì)。除傳統(tǒng)串口外,提供以太網(wǎng)接口,嵌入U(xiǎn)DP協(xié)議,提供后期開(kāi)發(fā)的便利接口。
關(guān)鍵詞:信號(hào)接口;傳感器接口模塊;UDP協(xié)議
0 引言
物聯(lián)網(wǎng)將會(huì)是未來(lái)很長(zhǎng)一段時(shí)間內(nèi)IT產(chǎn)業(yè)的發(fā)展趨勢(shì),一個(gè)完整的物聯(lián)網(wǎng)系統(tǒng)的構(gòu)成或產(chǎn)業(yè)鏈的劃分,目前業(yè)界比較統(tǒng)一的觀點(diǎn)基本都認(rèn)為應(yīng)該包括三個(gè)層面:末端設(shè)備或子系統(tǒng)、通信連接系統(tǒng)、以及管理和應(yīng)用系統(tǒng)。即Device-設(shè)備、Connect-連接和Manage-管理。由于數(shù)字整合的需求日益增長(zhǎng),對(duì)作為感知層核心組成元素的傳感器數(shù)據(jù)融合提出了更高要求。如何將傳感器連入網(wǎng)絡(luò)成為一個(gè)尤其重要的問(wèn)題。
傳感器通過(guò)接口模塊接入到相應(yīng)網(wǎng)絡(luò)。傳感器通過(guò)信號(hào)接口連接到接口模塊,節(jié)點(diǎn)以相應(yīng)的適配模塊接收和處理傳感器輸出信號(hào),并將傳感器原始數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)用戶可以識(shí)別的信息,最后通過(guò)網(wǎng)絡(luò)通信接口連接到上位機(jī)或者任何網(wǎng)絡(luò)。
傳感器感知外部環(huán)境,某種敏感變量如電阻、電荷之類參量發(fā)生變化,然后經(jīng)過(guò)信號(hào)處理,產(chǎn)生可供AD轉(zhuǎn)換的電壓或電流信號(hào)(目前ADC應(yīng)用主要還是電壓輸入,電流模式ADC尚未大規(guī)模應(yīng)用),而后經(jīng)AD轉(zhuǎn)換為可供處理的數(shù)字信號(hào)。由于在不同應(yīng)用場(chǎng)合中會(huì)使用到針對(duì)上述不同層次接口的傳感器,故信號(hào)接口標(biāo)準(zhǔn)針對(duì)不同層次設(shè)計(jì):
層次1:需經(jīng)過(guò)信號(hào)調(diào)理然后才能輸入AD處理,如熱電阻、4~20mA電流輸出;
層次2:直接符合AD輸入要求的,如0~5V電壓輸出;
層次3:數(shù)字信號(hào)輸出,如開(kāi)關(guān)量、RS232接口輸出;如圖2所示。
直接輸出可以連入網(wǎng)絡(luò)的接口,比如現(xiàn)場(chǎng)總線接口(如CAN、Profibus、工業(yè)以太網(wǎng))、無(wú)線通信接口(如Zigbee、WI-FI)等一般無(wú)需考慮信號(hào)接口的問(wèn)題,如需連入不同網(wǎng)絡(luò)可以使用相應(yīng)的網(wǎng)關(guān)(如CAN轉(zhuǎn)以太網(wǎng))。
基于此分類依據(jù),傳感器輸出信號(hào)一般有電壓信號(hào)、電流信號(hào)、電阻信號(hào)、頻率信號(hào)、脈沖信號(hào)、數(shù)字電平信號(hào)等。
1 傳感器接口模塊設(shè)計(jì)概述
從功能上來(lái)講,接口模塊需要完成傳感器與應(yīng)用網(wǎng)絡(luò)之間的連接,解決傳感器的異構(gòu)性帶來(lái)的諸多問(wèn)題,完成從原始信號(hào)到數(shù)據(jù)的數(shù)據(jù)流過(guò)程??偟膩?lái)說(shuō)包括傳感器接入及激勵(lì)、信號(hào)調(diào)理、AD轉(zhuǎn)換/數(shù)字濾波、數(shù)據(jù)處理和網(wǎng)絡(luò)通信。不同信號(hào)輸入類型的接口模塊在整體功能上是類似的,主要不同在于信號(hào)調(diào)理部分,以及AD轉(zhuǎn)換的不同要求。接口模塊整體功能如圖3所示。
信號(hào)調(diào)理針對(duì)不同信號(hào)類型設(shè)計(jì)。傳感器原始輸出的標(biāo)準(zhǔn)信號(hào)接入后,經(jīng)過(guò)信號(hào)調(diào)理后生成可供ADC處理的信號(hào)。有的傳感器還需提供激勵(lì)源。
ADC依據(jù)不同應(yīng)用需求所需的通道數(shù)、精度、速度進(jìn)行選擇。可選擇外置ADC,系統(tǒng)要求不高或者在一些特殊場(chǎng)合也可使用SOC片上系統(tǒng)的內(nèi)置ADC(比如TI的MSC1210系列MCU內(nèi)置24bit sigma-delta ADC,尤其適合處理微弱信號(hào))。
另外需要外擴(kuò)存儲(chǔ)器存儲(chǔ)與傳感器或者接口模塊相關(guān)的描述信息,一般可使用EEPROM。鑒于此功能,存儲(chǔ)模塊芯片的選取就得考慮總線讀寫(xiě)速度以及可編程性。由于需要在標(biāo)準(zhǔn)化接口模塊正常工作的同時(shí)修改Flash中的電子表單,所以存儲(chǔ)芯片得支持IAP(在應(yīng)用編程)功能。
整個(gè)模塊的核心處理器為MCU或者FPGA,負(fù)責(zé)對(duì)整個(gè)模塊的邏輯進(jìn)行控制,可根據(jù)不同應(yīng)用要求選擇8位單片機(jī)或者高性能ARM處理器或者FPGA可重配置芯片。
網(wǎng)絡(luò)通訊采用可根據(jù)不同應(yīng)用場(chǎng)合選取不同接口,比如RS485總線、CAN總線、Ethemet、WiFi等??芍С侄鄠€(gè)接口模塊,主機(jī)可對(duì)從模塊進(jìn)行配置,可自由添加模塊。
評(píng)論