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