一種智能手機獲取監測環境溫度、濕度的實現方法
4.1 耳機連接物理接口電路
本文引用地址:http://www.104case.com/article/274760.htm本方案兼容這兩種耳機接口標準,通過如圖4電路,硬件自動識別耳機接口并進行對應硬件配置,該麥克風與地自動判別自適應電路包含地信號自適應電路和麥克信號自適應電路,當該電路插入到手機耳機端口后,能根據所插入的耳機接口類型,自動調整外設備端的麥克風信號和地信號極性,達到適應不同的手機耳機接口的目的。如圖4所示所述地信號自適應電路,由分別接至麥克信號與地信號的MOS管Q3或Q4和偏置電阻R24或者R27所組成,該MOS管選用N溝道MOSFET 2N7002,利用手機地信號和麥克信號的特性來自動調整相應的地信號同設備地連接。所述的麥克信號自適應電路,由兩個分別接于地信號和麥克信號上的二極管D6和D7組成,所述的兩個二極管的正極端分別接至地信號與麥克信號,負極端與設備端MIC信號連接,利用手機麥克信號的直流偏置來自動調整相應的麥克信號同設備端麥克信號連接。
4.2 數據傳輸模塊的軟件設計
耳機外設溫濕度測量解決方案需要執行兩個軟件程序:
● 運行在智能手機上的應用APP程序;
● 運行在耳機外設EFM32ZG108F16微控制器上的嵌入式固件。
通信雙方的手機與耳機外設終端采用軟件方法實現。左聲道被用作手機至耳機外設裝置的數據傳輸。有效數據被封裝在一個小數據包,曼徹斯特線路便把被用于這些數據位的編碼。在耳機外設裝置上,EFM32內置的比較器被用于將模擬數據轉換成數字數據。EFM32用于解碼這些曼徹斯特編碼的比特數據流并繼續處理,這些有效數據通過程序對從耳機音頻輸出接口采集到的音頻信號進行差分曼徹斯特解碼,解碼后的數據命令將指揮微控制器對環境溫濕度傳感器啟動數據采集,并將數據存儲在微控制器RAM中,然后依次對這些采集數據再進行差分曼徹斯特編碼,經整形電路,并送到耳機音頻輸入MIC接口,發到手機端作解碼。程序由3個線程構成,當數據傳輸服務程序在手機上啟動后形成3個線程:(1)創建一個音頻交流信號左聲道發送線程,負責設置輸出最大音量,生成固定頻率音頻交流信號,并發送到音頻輸出線路上;(2)創建一個監聽音頻輸入接口數據的線程,負責對從音頻輸入接口采集到的音頻信號,進行差分曼徹斯特解碼,解碼輸出數據存放在接收數據緩存,然后調用外部業務程序執行耳機外設的測量溫濕度的命令,上傳采集到的數據;(3)主線程循環等待發送數據緩存中的數據存入事件,當外部業務程序在數據要發送時,將要發送的數據放入共享的發送數據緩存時,所述的主線程取到要發送的數據,進行差分曼徹斯特編碼,再用操作系統的音頻控制接口函數發送到音頻輸出接口MIC通路上。
針對耳機設端的嵌入式軟件,主要運行于free RTOS操作系統,如圖5為耳機外設端軟件流程圖,其中底層數據傳送幀格式為:Stat byte+ n byte+ End byte,驅動層將主要完成曼徹斯特(Manchester)數據收發編碼是關鍵,MCU將使用內部的模擬比較器+定時器捕獲來作解碼;而數據編碼則通過MCU內部的SPI+DMA 作編碼。
如圖6所示為智能手機應用軟件流程圖,這里我們將提供運行于Android操作系統下的App應用程序節選例程,采用java編程,分為通過錄音把耳機外設發送上來的方波數據轉換為PCM數據。
5 結語
本方案設計并實現了利用耳機音頻接口傳輸,實現智能手機擴展監測環境溫濕度數據顯示,從實際測試狀況來看,基本達到了應用需求,可兼容滿足2種不同耳機接口標準的智能手機拓展應用,由此給智能手機拓展應用帶來深遠影響。
參考文獻:
[1] Energymicro,EFM32ZG108_Datasheet_Rev1.0[EB/OL].www.energymicro.com,July.2,2014
[2] Sensirion_Humidity_SHT21_Datasheet_V4[EB/OL].www.sensirion.compdf, May 2014
[3] Energymicro,an0054_efm32_phone_audio_jack_interface_Rev1.0[EB/OL].www.energymicro.com,May,24,2013[4] Sonal Verma,Andrew Robinson,Prabal Dutta.AudioDAQ: Turning the Mobile Phone's Ubiquitous Headset Port into a Universal Data Acquisition Interface[J], Sensys'12: Proceedings of the 10th ACM Conference on Embedded Networked Sensor Systems, Nov 2012
[5] Ye-Sheng Kuo,Sonal Verma,Thomas Schmid, Hijacking Power and Bandwidth from the Mobile Phone's Audio Interface[J], First Annual Symposium on Computing for Development (DEV'10), Dec. 2010
評論