基于MTK平臺(tái)核心板的智能巡檢儀研發(fā)
引 言
臺(tái)灣聯(lián)發(fā)科技股份有限公司(MTK)提供的完整的手機(jī)、平板產(chǎn)品解決方案在國(guó)內(nèi)市場(chǎng)占有率很高[1]。MTK 相比高通平臺(tái)準(zhǔn)入門(mén)檻低,擁有更大的用戶(hù)群體,更多的開(kāi)放資料可供參考。MTK chipsets 高集成套片方案和turnkey“交鑰匙”政策使得手機(jī)及相關(guān)二次開(kāi)發(fā)的工作量大大降低,使 MTK 平臺(tái)在除手機(jī)以外的專(zhuān)業(yè)領(lǐng)域中應(yīng)用成為可能。
目前,移動(dòng)智能設(shè)備的開(kāi)發(fā)往往側(cè)重于特定的應(yīng)用領(lǐng)域, 如車(chē)載平臺(tái)、射頻識(shí)別、智能網(wǎng)關(guān)等[2]。在某一領(lǐng)域,這些設(shè)備往往功能相近、硬件系統(tǒng)相似,如果將處理器、射頻模塊、存儲(chǔ)器、通信模塊、電源管理等底層通用的模塊集成在一起, 封裝成一個(gè)大的“芯片”,并將常用接口引出,則整機(jī)的設(shè)計(jì)工作將大大簡(jiǎn)化,而這個(gè)大芯片我們稱(chēng)其為“核心板”。平臺(tái)核心板實(shí)物圖如圖 1 所示。將核心板作為一個(gè)獨(dú)立模塊分離出來(lái),用戶(hù)只需要添加顯示屏、按鍵、傳感器等外設(shè),利用核心板搭載的安卓智能操作系統(tǒng)接上電池就能工作,這種“核心板+ 外設(shè)擴(kuò)展”搭積木式的設(shè)計(jì)模式不僅降低了硬件的開(kāi)發(fā)難度, 還提高了整機(jī)的穩(wěn)定性和可維護(hù)性。
1 巡檢儀設(shè)計(jì)方案
1.1 核心板選型
某煤礦安全管理項(xiàng)目需要開(kāi)發(fā)一款手持巡檢記錄儀,要求具有“三違”現(xiàn)場(chǎng)取證、下井作業(yè)人員識(shí)別卡檢測(cè)、巡更軌跡信息記錄、井下設(shè)備資產(chǎn)管理、藍(lán)牙通信、WiFi 語(yǔ)音通話、圖片視頻采集及無(wú)線傳輸功能 [3]。根據(jù)上述功能需求,本文采取“核心板 + 外設(shè)擴(kuò)展”的思路來(lái)實(shí)現(xiàn)。本設(shè)計(jì)采用MTK 手機(jī)平臺(tái)、MT6572 處理器及蘇州煜瑛微電子公司生產(chǎn)的YYW-M-6572 型核心板,該產(chǎn)品具有集成度高、功能完善、體積小、功耗低的優(yōu)點(diǎn)。核心板主要由MT6627 WiFi/ GPS/BT/FM 四合一通信 芯片、MT6572 CPU、MT6166 RF Transceiver 射頻模塊、MT6323 電源管理芯片、AW3210 充電管理芯片、SKY77590 功放芯片、存儲(chǔ)芯片構(gòu)成。其功能模塊示意圖如圖 2 所示, 有GPIO、UART、SPI、I2C、USB 等常用接口,且具有 WiFi、藍(lán)牙、GSM 等常用通信模塊,具有很強(qiáng)的可擴(kuò)展性。
巡檢記錄儀的外設(shè)擴(kuò)展部分除了可進(jìn)行通用的LCD 及電容觸摸屏CTP、5M 自動(dòng)對(duì)焦攝像頭等基礎(chǔ)外設(shè)擴(kuò)展,還可針對(duì)井下設(shè)備資產(chǎn)管理和人員身份識(shí)別而采用非接觸式的RFID 自動(dòng)射頻識(shí)別技術(shù),分別采用了 2.4 GHz NORDIC nRF24LE1 芯片和 13.56 MHz NXP MFRC522 射頻芯片[4]。
1.2 擴(kuò)展外設(shè)選型
2.4 G 無(wú)線傳輸模式在無(wú)遮擋的環(huán)境下, 識(shí)別距離大約為幾十米,能滿(mǎn)足設(shè)備信息動(dòng)態(tài)管理的要求。讀卡芯片采用 NRF24LE1 芯片, 對(duì)應(yīng)的射頻卡為有源卡, 內(nèi)部也采用NRF24LE1 芯片,由紐扣電池供電。由于芯片內(nèi)置高速單片機(jī), 數(shù)據(jù)接收發(fā)送程序固化在芯片內(nèi)部,采用UART 接口接收上位機(jī)指令,讀卡器能對(duì)射頻卡進(jìn)行讀寫(xiě)操作[5]。
人員識(shí)別采用 13.56 MHz 的短距離射頻識(shí)別??ㄆ瑸椴捎脽o(wú)線感應(yīng)方式供電的無(wú)源卡, 兼容 ISO/IEC14443A 及MIFARE 協(xié)議,價(jià)格低廉,應(yīng)用廣泛。讀卡芯片采用NXP 公司生產(chǎn)的MFRC522 芯片,具有低電壓、低功耗、小尺寸、低成本等優(yōu)點(diǎn), 兼容 ISO/IEC14443A 及MIFARE 模式。采用SPI 接口與上位機(jī)通信[6]。巡檢儀整機(jī)設(shè)計(jì)方案圖如圖 3 所示。
2 軟件設(shè)計(jì)
MTK 提供的 Turn key Solution 模式將芯片與手機(jī)開(kāi)發(fā)所需的軟件平臺(tái)乃至第三方軟件捆綁銷(xiāo)售,提供了較健全的多媒體平臺(tái)解決方案。MTK 源代碼由核心板供應(yīng)商提供,目前推薦使用Ubuntu 10.04 搭建MTK android 編譯環(huán)境[7,8]。
安卓智能手機(jī)客戶(hù)端應(yīng)用程序是用Java 作為編程語(yǔ)言, 通過(guò)Eclipse 創(chuàng)建開(kāi)發(fā),使用Java 開(kāi)發(fā)包 JDK 及安卓 ADT 進(jìn)行軟件開(kāi)發(fā)和調(diào)試 [9]。軟件開(kāi)發(fā)的主要工作是調(diào)試 UART 和SPI 接口的驅(qū)動(dòng)程序。下面分四步簡(jiǎn)單介紹SPI 驅(qū)動(dòng)開(kāi)發(fā)及應(yīng)用測(cè)試步驟:
在 SPI 驅(qū)動(dòng)中,有兩個(gè)重要的結(jié)構(gòu),分別為 spi_device 與spi_driver。Spi_device 板信息用spi_board_info 結(jié)構(gòu)體來(lái)描述,它描述了SPI 外設(shè)(RC522 模塊)使用的主機(jī)控制器序號(hào)、片選信號(hào)、數(shù)據(jù)比特率、傳輸方式等。因此要先填充structspi_board_info 這個(gè)結(jié)構(gòu)體。注冊(cè)SPI 設(shè)備與驅(qū)動(dòng),通過(guò) SPI 總線實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)。這里注冊(cè)一個(gè)混合設(shè)備 :misc_ register(&rc522_misc_device);在 read,write 操作里都會(huì)調(diào) 用 到 WriteRawRC(unsigned char Address,unsigned char value)函數(shù),在這個(gè)函數(shù)里才真正實(shí)現(xiàn)了通過(guò) SPI 對(duì)RC522寄存器的讀寫(xiě)操作。
3 添加定時(shí)器
為了節(jié)省 CPU 資源,需要添加一個(gè)定時(shí)器,每隔一定的時(shí)間讀卡一次。把 pi_register_driver(&rc522_driver)和misc_register(&rc522_misc_device)放 進(jìn) rfid_rc522_init() 函數(shù)即可進(jìn)行編譯調(diào)試。
編譯 rc522 驅(qū)動(dòng)程序, 并通過(guò)adb usb 把生成的 rfid_ rc522.ko copy 到 /system 目錄下, 然后 insmodrfid_rc522.ko, 這樣驅(qū)動(dòng)就以模塊的形式加載進(jìn)了內(nèi)核系統(tǒng)。加載成功后,在/dev 目錄下就會(huì)有rfid_rc522_dev 目錄。
4 應(yīng)用程序測(cè)試
驅(qū) 動(dòng) 中 的 write函 數(shù) 為 rc522_write(structfile*filp, constchar*buf,size_tcount,loff_t*f_pos);用戶(hù)空間的應(yīng)用程序write函數(shù)為 write(rc522_fd,bufpw1,sizeof(bufpw1));應(yīng)用程序中的write函數(shù)通過(guò)調(diào)用操作系統(tǒng)中的核心函數(shù)sys_ write(unsignedintfd,constchar*buf,size_tcount)來(lái)實(shí)現(xiàn)二者的聯(lián)系,而 sys_write()函數(shù)又對(duì)驅(qū)動(dòng)中的 rc522_write() 進(jìn)行了封裝。
結(jié) 語(yǔ)
本文介紹了一種基于核心板的快速產(chǎn)品開(kāi)發(fā)方案,使用MTK 平臺(tái)核心板運(yùn)行Andriod 4.4.2 操作系統(tǒng)。充分利用了手機(jī)平臺(tái)的高可靠性、電源管理的智能性,使得產(chǎn)品的設(shè)計(jì)周期縮短,可靠性增強(qiáng)。用戶(hù)只需要在手機(jī)系統(tǒng)的架構(gòu)上做調(diào)整, 專(zhuān)注軟件設(shè)計(jì)而不必?fù)?dān)心硬件的可行性 [10]。這為各專(zhuān)業(yè)領(lǐng)域移動(dòng)智能設(shè)備的開(kāi)發(fā)提供了新思路,特別適用于需要通信功能的手機(jī)平臺(tái),同時(shí)也為掌握手機(jī)設(shè)計(jì)技術(shù)的行業(yè)用戶(hù)打破了行業(yè)技術(shù)壁壘,可以充分利用市場(chǎng)上成熟的手機(jī)生產(chǎn)供應(yīng)鏈, 具有較高的推廣價(jià)值[11]。