一種固件可重構(gòu)的手機(jī)數(shù)據(jù)采集控制器及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到一種利用智能手機(jī),通過藍(lán)牙、OTG等形式連接外部傳感器實(shí)現(xiàn)數(shù)據(jù) 采集和控制的方法及裝置。涉及到嵌入式數(shù)據(jù)采集控制器設(shè)計(jì),單片機(jī)程序設(shè)計(jì)技術(shù)和手 機(jī)程序設(shè)計(jì)技術(shù)。
【背景技術(shù)】
[0002] 智能手機(jī)是電腦和手機(jī)的結(jié)合,既可以用來通話,又可以像電腦一樣進(jìn)行文字處 理、視頻播放和玩游戲等。用戶可以在智能手機(jī)應(yīng)用商店中查找自己所需的應(yīng)用程序,下載 并安裝到智能手機(jī)中。文字處理、網(wǎng)頁瀏覽等很多我們熟悉的計(jì)算機(jī)軟件的功能現(xiàn)在都可 以在智能手機(jī)軟件上實(shí)現(xiàn)。因此,完全可以將傳感器測(cè)量、控制中的計(jì)算機(jī)虛擬儀器技術(shù)和 軟件移植到智能手機(jī)上,從而形成一種新的手機(jī)儀器技術(shù)和測(cè)控技術(shù)。
[0003] 無論是計(jì)算機(jī)、還是智能手機(jī)都是數(shù)字設(shè)備,都不能直接接入模擬量形式的傳感 器信號(hào),必須先通過一個(gè)數(shù)據(jù)采集控制器將傳感器信號(hào)轉(zhuǎn)換為數(shù)字信號(hào);對(duì)外控制則需要 通過數(shù)據(jù)采集控制器提供的各類外部控制接口,對(duì)繼電器開關(guān)、電機(jī)等進(jìn)行控制。目前實(shí)現(xiàn) 數(shù)據(jù)采集控制器技術(shù)相對(duì)成熟、成本低廉,僅名片大小的STM32、MSP430等微控制器設(shè)計(jì)的 核心板就具有模擬輸入/輸出(ADC/DAC)和豐富的數(shù)字接口(GPIO、SPI、I2C、PffM等)接 口,而價(jià)格不過一百元左右。市面流通的Arduino卡就是一個(gè)典型代表,目前已在世界各地 的電子制作中廣泛應(yīng)用。
[0004] 如果我們能將智能手機(jī)與STM32、MSP430等微控制器相結(jié)合,配置必要的傳感器 件,就可形成一個(gè)低成本的智能手機(jī)測(cè)量、控制、處理和顯示裝置,實(shí)現(xiàn)手機(jī)心電圖機(jī)、血壓 計(jì)、PM2. 5測(cè)量?jī)x、甲醛濃度測(cè)量?jī)x等一系列的應(yīng)用。
[0005] 對(duì)上述每一個(gè)測(cè)量應(yīng)用,我們需要在智能手機(jī)上安裝一個(gè)應(yīng)用程序,同時(shí)在微控 制器實(shí)現(xiàn)的數(shù)據(jù)采集控制器上也要安裝一個(gè)對(duì)應(yīng)的固件程序。在手機(jī)上安裝多個(gè)應(yīng)用程序 沒有問題,但在微控制器實(shí)現(xiàn)的數(shù)據(jù)采集控制器上則只能安裝一個(gè)固件程序。當(dāng)運(yùn)行不同 的手機(jī)測(cè)量程序時(shí),需要更換數(shù)據(jù)采集控制器的固件程序,而傳統(tǒng)的微控制器固件燒寫方 法需要通過計(jì)算機(jī)來完成,十分不便。因此,現(xiàn)在的許多手機(jī)測(cè)量應(yīng)用的外部數(shù)據(jù)采集控制 器功能往往是專用的,例如心電模塊只能測(cè)量心電信號(hào),溫度模塊只能測(cè)量溫度,這在無形 中提高了智能手機(jī)的測(cè)量應(yīng)用成本。如果數(shù)據(jù)采集控制器為了兼容各類測(cè)量應(yīng)用,則需要 編寫一個(gè)龐大而復(fù)雜的固件程序,這樣不僅會(huì)對(duì)程序的運(yùn)行效率造成影響,還不能夠便捷 地添加新的測(cè)量應(yīng)用。
【發(fā)明內(nèi)容】
[0006] 針對(duì)上述問題,我們提出一種固件可重構(gòu)的手機(jī)數(shù)據(jù)采集控制器,其特征在于,包 括執(zhí)行器和手機(jī);
[0007] 所述執(zhí)行器包括微控制器、通信模塊和固件模塊;所述微控制器與通信模塊相連; 所述固件模塊與微控制器相連,作為微控制器重構(gòu)及正常運(yùn)行的支撐;
[0008] 所述微控制器包括數(shù)字接口、模擬接口以及Flash存儲(chǔ)單元,用于完成外部傳感 器的驅(qū)動(dòng)、數(shù)據(jù)采集控制、固件的存儲(chǔ);
[0009] 所述通信模塊一端連接微控制器,另一端與手機(jī)相連,用于手機(jī)與執(zhí)行器進(jìn)行通 ?目;
[0010] 所述固件模塊包括重構(gòu)子模塊、標(biāo)記子模塊和采集控制子模塊;其中重構(gòu)子模塊 讀取和更新標(biāo)記子模塊的信息;其中重構(gòu)子模塊完成采集控制子模塊的固件重構(gòu)操作; [0011] 所述重構(gòu)子模塊用于與手機(jī)執(zhí)行握手協(xié)議、采集控制固件的燒寫、以及向采集控 制固件跳轉(zhuǎn)操作;標(biāo)記子模塊用于標(biāo)記采集控制固件存儲(chǔ)信息;采集控制子模塊,包括針 對(duì)不同應(yīng)用的采集控制固件,是由第三方預(yù)先編寫的程序,用于完成數(shù)據(jù)采集控制任務(wù),預(yù) 先存儲(chǔ)在微控制器中或者通過手機(jī)寫入;
[0012] 所述手機(jī)為智能手機(jī),安裝有采集控制應(yīng)用模塊;
[0013] 所述采集控制應(yīng)用模塊包括通信控制子模塊、存儲(chǔ)控制子模塊、工作控制子模塊, 以及引導(dǎo)子模塊;通信控制子模塊與工作控制子模塊相連,完成采集控制的數(shù)據(jù)交互;弓丨 導(dǎo)子模塊分別與存儲(chǔ)控制子模塊、通信控制子模塊相連,讀取存儲(chǔ)控制子模塊中的執(zhí)行器 采集控制固件,完成執(zhí)行器固件重構(gòu)的引導(dǎo);
[0014] 通信控制子模塊用于建立手機(jī)與執(zhí)行器的通信連接和數(shù)據(jù)交互;
[0015] 存儲(chǔ)控制子模塊用于從云端下載執(zhí)行器采集控制固件,存儲(chǔ)在手機(jī)存儲(chǔ)器中;所 述云端為第三方發(fā)布執(zhí)行器的采集控制固件以及手機(jī)采集控制應(yīng)用模塊的互聯(lián)網(wǎng)存儲(chǔ)平 臺(tái);
[0016] 工作控制子模塊負(fù)責(zé)將執(zhí)行器采集、傳入的數(shù)據(jù)進(jìn)行顯示、分析,以及包括啟動(dòng)、 停止的控制操作;
[0017] 引導(dǎo)子模塊用于通過執(zhí)行器重構(gòu)子模塊,執(zhí)行與執(zhí)行器的握手協(xié)議,讀取執(zhí)行器 的標(biāo)記子模塊信息,將從云端下載的采集控制固件傳送至執(zhí)行器中,通過重構(gòu)子模塊進(jìn)行 燒寫,指令完成從執(zhí)行器的重構(gòu)引導(dǎo)子模塊向采集控制固件的跳轉(zhuǎn);
[0018] 工作中,根據(jù)實(shí)際的采集控制應(yīng)用需要,在執(zhí)行器的微控制器模塊中接入相應(yīng)的 傳感器件,手機(jī)與執(zhí)行器進(jìn)行通信連接,手機(jī)通過讀取執(zhí)行器標(biāo)記子模塊信息,判定執(zhí)行器 是否存在相應(yīng)的采集控制固件;是則開始執(zhí)行數(shù)據(jù)采集控制任務(wù);否則判斷手機(jī)是否存有 該采集控制固件,是則將該采集控制固件傳送至執(zhí)行器進(jìn)行燒寫,否則從云存儲(chǔ)中下載相 應(yīng)的采集控制固件,再傳送至執(zhí)行器進(jìn)行燒寫;使執(zhí)行器跳轉(zhuǎn)至相應(yīng)的采集控制固件,執(zhí)行 數(shù)據(jù)采集控制任務(wù)。
[0019] 進(jìn)一步的,所述的手機(jī)數(shù)據(jù)采集控制器中,固件模塊中的采集控制固件是根據(jù)不 的數(shù)據(jù)采集控制對(duì)象預(yù)先編寫的,可從云端經(jīng)手機(jī)傳至執(zhí)行器進(jìn)行燒入。
[0020] 進(jìn)一步的,所述的手機(jī)數(shù)據(jù)采集控制器中,微控制器的Flash存儲(chǔ)單元空間進(jìn)行 了分塊,可以預(yù)先存儲(chǔ)多個(gè)不同的采集控制固件。
[0021] 進(jìn)一步的,所述的手機(jī)數(shù)據(jù)采集控制器中,手機(jī)安裝的采集控制應(yīng)用模塊,根據(jù)用 戶所要執(zhí)行的采集控制任務(wù),指令執(zhí)行器跳轉(zhuǎn)至相應(yīng)的采集控制固件中,也可以由用戶自 己選擇執(zhí)行器所要跳轉(zhuǎn)的采集控制固件。
[0022] 進(jìn)一步的,所述的手機(jī)數(shù)據(jù)采集控制器中,手機(jī)安裝的采集控制應(yīng)用模塊的存儲(chǔ) 控制子模塊能從云端下載手機(jī)端的采集控制應(yīng)用模塊,通過手機(jī)完成各子模塊的功能更 新。
[0023] 總體而言,一種固件可重構(gòu)的手機(jī)數(shù)據(jù)采集控制器及方法,利用微控制器芯片的 在線固件燒寫功能,提供智能手機(jī)對(duì)其進(jìn)行固件燒寫操作的接口,并對(duì)數(shù)據(jù)采集控制器的 固件存儲(chǔ)Flash存儲(chǔ)單元空間進(jìn)行分塊,能夠在一個(gè)微控制器中安裝多個(gè)采集控制固件。 由手機(jī)來啟動(dòng)微控制器對(duì)應(yīng)的采集控制固件。當(dāng)微控制器中未安裝對(duì)應(yīng)的采集控制固件 時(shí),則由手機(jī)自動(dòng)從網(wǎng)上查找、下載相應(yīng)的采集控制固件,并安裝到數(shù)據(jù)采集控制器的空閑 塊區(qū)中。這既可以避免更換手機(jī)測(cè)量功能時(shí)對(duì)數(shù)據(jù)采集控制器采集控制固件的重新燒寫, 又可以避免將固件程序設(shè)計(jì)得十分復(fù)雜和龐大而帶來的效率損失。
【附圖說明】
[0024] 圖1是執(zhí)行器固件可重構(gòu)的數(shù)據(jù)采集控制器框架圖;
[0025] 圖2是微控制器芯片F(xiàn)lash存儲(chǔ)單元固件存放空間分配;
[0026] 圖3是手機(jī)智能手機(jī)框架圖;
[0027] 圖4是固件重構(gòu)引導(dǎo)模塊工作流程圖;
[0028] 圖5是手機(jī)操作執(zhí)行器執(zhí)行固件燒寫工作流程;
[0029] 圖6是手機(jī)操作執(zhí)行器執(zhí)行已有固件應(yīng)用程序工作流程;
[0030] 圖7是固件可重構(gòu)的手機(jī)數(shù)據(jù)控制采集器的整體框架圖;
[0031] 圖8是固件可重構(gòu)的手機(jī)數(shù)據(jù)采集控制器的總體工作流程。
【具體實(shí)施方式】
[0032] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。此外,下面所