一種智能手機獲取監測環(huán)境溫度、濕度的實(shí)現方法
4.1 耳機連接物理接口電路
本文引用地址:http://dyxdggzs.com/article/274760.htm本方案兼容這兩種耳機接口標準,通過(guò)如圖4電路,硬件自動(dòng)識別耳機接口并進(jìn)行對應硬件配置,該麥克風(fēng)與地自動(dòng)判別自適應電路包含地信號自適應電路和麥克信號自適應電路,當該電路插入到手機耳機端口后,能根據所插入的耳機接口類(lèi)型,自動(dòng)調整外設備端的麥克風(fēng)信號和地信號極性,達到適應不同的手機耳機接口的目的。如圖4所示所述地信號自適應電路,由分別接至麥克信號與地信號的MOS管Q3或Q4和偏置電阻R24或者R27所組成,該MOS管選用N溝道MOSFET 2N7002,利用手機地信號和麥克信號的特性來(lái)自動(dòng)調整相應的地信號同設備地連接。所述的麥克信號自適應電路,由兩個(gè)分別接于地信號和麥克信號上的二極管D6和D7組成,所述的兩個(gè)二極管的正極端分別接至地信號與麥克信號,負極端與設備端MIC信號連接,利用手機麥克信號的直流偏置來(lái)自動(dòng)調整相應的麥克信號同設備端麥克信號連接。
4.2 數據傳輸模塊的軟件設計
耳機外設溫濕度測量解決方案需要執行兩個(gè)軟件程序:
● 運行在智能手機上的應用APP程序;
● 運行在耳機外設EFM32ZG108F16微控制器上的嵌入式固件。
通信雙方的手機與耳機外設終端采用軟件方法實(shí)現。左聲道被用作手機至耳機外設裝置的數據傳輸。有效數據被封裝在一個(gè)小數據包,曼徹斯特線(xiàn)路便把被用于這些數據位的編碼。在耳機外設裝置上,EFM32內置的比較器被用于將模擬數據轉換成數字數據。EFM32用于解碼這些曼徹斯特編碼的比特數據流并繼續處理,這些有效數據通過(guò)程序對從耳機音頻輸出接口采集到的音頻信號進(jìn)行差分曼徹斯特解碼,解碼后的數據命令將指揮微控制器對環(huán)境溫濕度傳感器啟動(dòng)數據采集,并將數據存儲在微控制器RAM中,然后依次對這些采集數據再進(jìn)行差分曼徹斯特編碼,經(jīng)整形電路,并送到耳機音頻輸入MIC接口,發(fā)到手機端作解碼。程序由3個(gè)線(xiàn)程構成,當數據傳輸服務(wù)程序在手機上啟動(dòng)后形成3個(gè)線(xiàn)程:(1)創(chuàng )建一個(gè)音頻交流信號左聲道發(fā)送線(xiàn)程,負責設置輸出最大音量,生成固定頻率音頻交流信號,并發(fā)送到音頻輸出線(xiàn)路上;(2)創(chuàng )建一個(gè)監聽(tīng)音頻輸入接口數據的線(xiàn)程,負責對從音頻輸入接口采集到的音頻信號,進(jìn)行差分曼徹斯特解碼,解碼輸出數據存放在接收數據緩存,然后調用外部業(yè)務(wù)程序執行耳機外設的測量溫濕度的命令,上傳采集到的數據;(3)主線(xiàn)程循環(huán)等待發(fā)送數據緩存中的數據存入事件,當外部業(yè)務(wù)程序在數據要發(fā)送時(shí),將要發(fā)送的數據放入共享的發(fā)送數據緩存時(shí),所述的主線(xiàn)程取到要發(fā)送的數據,進(jìn)行差分曼徹斯特編碼,再用操作系統的音頻控制接口函數發(fā)送到音頻輸出接口MIC通路上。
針對耳機設端的嵌入式軟件,主要運行于free RTOS操作系統,如圖5為耳機外設端軟件流程圖,其中底層數據傳送幀格式為:Stat byte+ n byte+ End byte,驅動(dòng)層將主要完成曼徹斯特(Manchester)數據收發(fā)編碼是關(guān)鍵,MCU將使用內部的模擬比較器+定時(shí)器捕獲來(lái)作解碼;而數據編碼則通過(guò)MCU內部的SPI+DMA 作編碼。
如圖6所示為智能手機應用軟件流程圖,這里我們將提供運行于A(yíng)ndroid操作系統下的App應用程序節選例程,采用java編程,分為通過(guò)錄音把耳機外設發(fā)送上來(lái)的方波數據轉換為PCM數據。
5 結語(yǔ)
本方案設計并實(shí)現了利用耳機音頻接口傳輸,實(shí)現智能手機擴展監測環(huán)境溫濕度數據顯示,從實(shí)際測試狀況來(lái)看,基本達到了應用需求,可兼容滿(mǎn)足2種不同耳機接口標準的智能手機拓展應用,由此給智能手機拓展應用帶來(lái)深遠影響。
參考文獻:
[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
評論