筆筒是書案上的重要文具之一,具有較高實用價值與藝術(shù)價值,在某種意義上講也是文化的一種載體。傳統(tǒng)筆筒多采用竹木制或瓷制,一旦制作完成就難以改變,且功能單一。目前,筆筒主要被用在辦公場所,那種只具有觀賞價值或只能放筆的筆筒不能滿足工作需要。
針對上述情況,本文基于STM32F103VET6單片機設計了智能筆筒。該設計充分利用此單片機的FSMC,SDIO和SPI等片上資源,結(jié)合MP3解碼技術(shù)、圖像解碼技術(shù)和藍牙通信技術(shù)等多種技術(shù)實現(xiàn)筆筒的智能化。此筆筒不僅滿足常用的功能,且還可在液晶屏上查看電子相冊、聽MP3歌曲、玩小游戲。此外還可顯示周圍環(huán)境的溫濕度和光線強度,具有節(jié)假日和預設提醒等功能。
1 智能筆筒硬件設計
1.1 硬件總體結(jié)構(gòu)
系統(tǒng)硬件以STM32F103VET6為核心,硬件框圖如圖1所示。
傳感器感知模塊包括溫濕度傳感器、光敏傳感器和人體感應傳感器,用于獲取當前環(huán)境的參數(shù);聲光模塊包括7色LED燈和蜂鳴器,使筆筒更加絢麗并具有提示功能;以觸摸屏為核心的人機交互模塊,可實時顯示當前溫濕度、光強和時間,各應用程序的切換,系統(tǒng)參數(shù)設置以及系統(tǒng)異常狀態(tài)的報警提示,各個模塊的自檢和測試的控制。此外,支持熱插拔的設備有傳感器感知模塊、存儲模塊和藍牙模塊。
1.2 存儲模塊電路設計
該設計選擇SD卡作為存儲模塊。目前SD卡已經(jīng)成為消費設備中技術(shù)最成熟、應用最廣泛的一種存儲卡,具有低價格、大容量、高性能、安全、讀寫速度快等多種優(yōu)勢。SD卡支持的總線模式為SD模式和SPI模式,而STM32VET6具有一個SDIO接口,故設計中采用SD模式,SD卡連接在SDIO接口上。為了使SD卡支持熱插拔,SD卡的接口電路如圖2所示。
此電路中,增加一條I/O口控制線SD_IRQ,用于產(chǎn)生中斷,默認狀態(tài)SD_IRQ為高電平,當插入SD卡后,SD_IRQ變?yōu)榈碗娖?,且只要卡槽中有SD卡,此線就一直為低電平。通過添加這一條控制線,系統(tǒng)實現(xiàn)SD卡的熱插拔,并可檢測SD是否存在。
1.3 MP3解碼模塊電路設計
VS1003B作為本設計的MP3解碼芯片,是一個單片MP3/WAM/MIDI音頻解碼器ADPCM解碼器,擁有一個高性能低功耗的DSP處理器核VSDSP,5kB數(shù)據(jù)緩沖區(qū),0.5kB的數(shù)據(jù)RAM,支持SPI總線傳輸數(shù)據(jù),有一個高品質(zhì)可變采樣率的ADC和立體聲DAC,還有一個耳機放大器和地線緩沖器。根據(jù)VS1003B數(shù)據(jù)手冊設計的MP3解碼電路,由STM32主控模塊的接口SPI2控制,解碼相應的音頻文件并播放MP3音樂,其中Speak是耳機接口,MP3/LEFT控線連接音頻驅(qū)動電路。
1. 4 傳感器模塊熱插拔電路設計
熱插拔(Hot—Plugging或Hot Swap)即帶電插拔,最早出現(xiàn)在服務器領(lǐng)域,是為了提高服務器易用性而提出的。熱插拔根本目的:系統(tǒng)在允許不停機或很少需要操作人員參與的情況下拔出故障模塊及插入備份模塊,且不影響系統(tǒng)運行,以便維修故障或重新配置系統(tǒng),實現(xiàn)故障恢復和系統(tǒng)重新配置,提供高可靠應用。本設計中傳感器感知模塊包括溫濕度傳感器、人體感應傳感器和光線強度傳感器,在系統(tǒng)電路設計時,為了方便檢測各個傳感器是否存在和是否正常工作,方便檢修更換,故引入了熱插拔技術(shù),支持熱插拔的硬件電路如圖3所示。在電路中各個傳感器接口電路均有一個中斷控制線,默認狀態(tài)下中斷線為高電平,當插入相應的傳感器模塊后,此控制線由高電平變?yōu)榈碗娖剑鹬袛?,并配合相應的軟件即可實現(xiàn)熱插拔技術(shù)。
1.5 藍牙通信模塊
TI公司的CC2540采用Bluetooth SpecificationV4.0 BLE協(xié)議,支持AT指令,工作頻率為2.4 GHz,具有AES-128硬體加密/解密功能。同時考慮到本設計的無線傳輸及其低功耗需求。因此選擇CC2540為主控芯片的藍牙模塊作為本設計的藍牙通信模塊。該模塊與STM32主控模塊的接口為USART2,默認波特率設置為115 200 bit·s-1,8 bit數(shù)據(jù)位無校驗位,無停止位,工作模式為從設備模式,也可通過人機交互模塊設置其波特率等參數(shù)。筆筒主要通過藍牙模塊與智能設備進行交互,接收智能設備發(fā)送的數(shù)據(jù)包,進行數(shù)據(jù)包校驗和解碼,并對主機做出答復,接收的數(shù)據(jù)包格式為包ID+包長度+數(shù)據(jù)+校驗位,校驗方式為和校驗。
2 系統(tǒng)軟件設計
為使該設計成為“娛樂+實用”的電子產(chǎn)品,軟件包括文件系統(tǒng)、圖片和MP3解碼、藍牙通信、圖形界面設計、傳感器驅(qū)動、AD采樣等。圖4是該設計的軟件流程。按系統(tǒng)設計要求,系統(tǒng)開機首先對各個模塊自檢,如出現(xiàn)異常情況,跳轉(zhuǎn)異常狀態(tài),并給用戶做出相應的提示,否則將在正常開機同時初始化文件系統(tǒng)。接著讀取觸摸屏的校正參數(shù),若無,則重新校正觸摸屏并保存,最后進入主循環(huán)。
2.1 文件系統(tǒng)
FatFs是一個通用的文件系統(tǒng)模塊,具有清晰的層次結(jié)構(gòu),如圖5所示,用于在小的嵌入式系統(tǒng)上實現(xiàn)FAT文件系統(tǒng)。FatFs的編程遵守ANSI C格式語法,故FatFs獨立于具體的硬件,可在不做修改或少量修改的情況下移植到常用的微控制器,如51、PIC、AVR、ARM等中。最重要的是該文件系統(tǒng)通過修改配置文件可實現(xiàn)任意裁剪,且支持中文長文件名;采用分離緩沖FAT結(jié)構(gòu)的技術(shù),可快速訪問多個文件;支持多個驅(qū)動器和分區(qū);支持FAT12、FAT16和FAT32文件系統(tǒng)。因此設計移植的文件系統(tǒng)為FatFs,支持讀寫和中文長文件名,存儲介質(zhì)為SD卡,主要用于存放系統(tǒng)配置文件,系統(tǒng)圖標和MP3、圖片等應用文件,移植步驟見文獻。
2.2 電子相冊設計
電子相冊與傳統(tǒng)相冊相比具有無法比擬的優(yōu)越性,如圖、文、聲、像并茂的表現(xiàn)手法;隨意修改編輯的功能;具有欣賞方便、選擇性強、易于保存、生動活潑、成本低廉、內(nèi)容易換等優(yōu)點。因此,在智能筆筒中也添加了電子相冊功能,可讓用戶在閑暇休息時觀看圖片,也可將自己喜愛的圖片設為背景。系統(tǒng)中電子相冊是觸摸操作,向左或向右滑動彩屏實現(xiàn)翻頁,具有自動播放等功能,程序流程圖如圖6所示。首先從文件系統(tǒng)中讀取圖片文件,判斷文件的格式,然后解碼,最后把讀到的文件送到相應的解碼算法中,解碼后的圖片可自動調(diào)整尺寸顯示在彩色液晶屏上。
2.3 MP3播放設計
在本設計中,STM32微處理器是播放器的“大腦”,用來接受用戶選擇的播放控制,從文件系統(tǒng)中讀取MP3文件,將當前播放的歌曲信息顯示在液晶屏上。然后向MP3解碼芯片VS1003B發(fā)出指令,使其準確地處理音頻信號,MP3播放器的軟件框圖如圖7所示。此外MP3播放器的控制界面含有上一曲、下一曲、暫停、播放等控件,其程序的設計流程和電子相冊的類似。
2.4 系統(tǒng)熱插拔程序設計
按系統(tǒng)設計要求,熱插拔的程序在中斷函數(shù)里執(zhí)行,這里以傳感器感知模塊中的溫濕度傳感器SHT11程序為例。由硬件圖可知,插入設備時,中斷線由低電平變?yōu)楦唠娖?,拔出時反之,且均可產(chǎn)生中斷信號,然后執(zhí)行中斷函數(shù)。SHT11中斷程序的流程如圖8所示,首先進入中斷函數(shù),并通過延時來消除電平抖動的影響,然后判斷引腳的高低電平,最后做出處理。
3 系統(tǒng)測試
利用STM32單片機資源豐富、功能強大的優(yōu)勢,最終設計出一款基于STM32單片機的智能筆筒,如圖9所示,并對系統(tǒng)進行了測試,測試結(jié)果如表1和表2所示。
表1為系統(tǒng)的熱插拔的測試結(jié)果,SD卡的失敗率較高,驅(qū)動程序需要進一步改進。表2為系統(tǒng)的穩(wěn)定性進行測試結(jié)果,開機未出現(xiàn)異常,電子相冊出現(xiàn)死機達4%,MP3死機為2%,使用藍牙控制游戲出現(xiàn)死機高達8%,但復位后系統(tǒng)繼續(xù)可正常運行。經(jīng)觀察和分析原因可能出現(xiàn)在軟件上,JPG解碼算法比較復雜,而藍牙串口接收的數(shù)據(jù)包容易堵塞,需要進一步優(yōu)化代碼。
4 結(jié)束語
根據(jù)測試的結(jié)果,本文設計的智能筆筒達到了設計要求,穩(wěn)定可靠,實現(xiàn)了實時顯示溫濕度和光強,播放MP3,電子相冊顯示等功能,并可通過藍牙可傳輸文件,其它智能設備可通過藍牙控制游戲的進行。此外,也可作為物聯(lián)網(wǎng)的一個終端,獲得數(shù)據(jù)并上傳。