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