何國鋒,李月婷,劉宇紅
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025)
?
可穿戴設(shè)備顯示系統(tǒng)的低功耗控制
何國鋒,李月婷,劉宇紅
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025)
可穿戴設(shè)備的顯示系統(tǒng)往往受其體積和功耗的限制而非常的小巧,近些年來OLED顯示屏因為較LCD顯示屏有刷新速度快、功耗低的諸多優(yōu)點,被廣泛采用在可裝戴設(shè)備中,如智能手表、可穿戴醫(yī)療儀器等。本文采用MSP430F1611低功耗處理器模擬SPI協(xié)議對OLED顯示屏控制,并采用低功耗技術(shù)處理,實現(xiàn)了低功耗的可穿戴設(shè)備的顯示系統(tǒng)。
可穿戴設(shè)備;OLED;低功耗;SPI
隨著電子技術(shù)的不斷發(fā)展,可穿戴設(shè)備越來越受到人們的喜愛與追求,并逐漸成為生活中的必需品。據(jù)統(tǒng)計,2013年全球可穿戴設(shè)備出貨量在700萬件以上[1],特別是從谷歌、三星相繼發(fā)布智能手表,可穿戴設(shè)備在借助互聯(lián)網(wǎng)的東風(fēng)迅速火爆全球市場。在2014年,國內(nèi)市場規(guī)模更是達(dá)到了22億人民幣,年增長率在144%[2],而根據(jù)2016年7月20日,OFweek舉辦的“2016可穿戴設(shè)備在線展會”發(fā)布的統(tǒng)計,2015年全球可穿戴設(shè)備出貨量達(dá)到7 610萬部,與2014年的2 890萬部相比增長了163.6%,預(yù)計2016年年底,可穿戴設(shè)備的出貨量將達(dá)到1.1億部。同時,可穿戴醫(yī)療器械比如可以檢測血壓、心率、心電、血氧以及其他生理指標(biāo)的可穿戴設(shè)備目前也初見端倪。可穿戴設(shè)備的體積小,在不可能內(nèi)置太大的電池下,還要保證充足的待機(jī)時間,因此對于設(shè)計有著較高的考驗。顯示系統(tǒng)做為占可穿戴設(shè)備耗電比重最大的部分,有必要在兼顧功能的同時,進(jìn)行美觀與低功耗設(shè)計。
1.1 顯示屏幕選擇
目前常見的顯示設(shè)備有LCD顯示屏和OLED顯示屏,LCD顯示屏在很多智能設(shè)備上已經(jīng)應(yīng)用很長時間,一直是手機(jī)等移動終端顯示屏的首選,但是近些年來隨著OLED顯示技術(shù)的出現(xiàn),越來越多的優(yōu)勢在很多方面已經(jīng)超越了LCD。OLED顯示屏具有主動發(fā)光特點,同時像素細(xì)膩,有多種顏色,外表時尚美觀,功耗低,刷新速度快,功耗低的諸多優(yōu)點[3],在對于目前可穿戴設(shè)備對低功耗的追求中,是一個非常好的選擇。小米科技發(fā)布了第二代手環(huán),同樣使用了一塊OLED屏,在市場上贏得一陣搶購。
基于OLED美觀、省電的特點,最終選取OLED作為顯示設(shè)備。
1.2 OLED驅(qū)動介紹
本次使用的OLED是由杭州海視方電子科技公司生產(chǎn)的1.3寸OLED模塊,該模塊選取SPI方式進(jìn)行通信,并且將需要用戶控制的引腳引出,具體信息見表1 。
該模塊包含一塊128×64的OLED顯示屏,采用SSD1306驅(qū)動芯片為OLED屏提供驅(qū)動。SSD1306是一款專門為OLED/PLED設(shè)計的CMOS驅(qū)動芯片,包含了128段和64個公共端,內(nèi)部嵌入了比較控制器、顯存、晶體振蕩器等,使得外部引腳和功耗都得到降低,具有256級亮度控制,CPU可以通過硬件來選擇6 800/8 000并行接口,I2C接口或SPI接口對SSD1306進(jìn)行數(shù)據(jù)寫入控制。SSD1306提供了強(qiáng)大的命令庫,用戶無需過多的了解SSD1306的工作細(xì)節(jié),只需通過上面任一種協(xié)議對照命令庫將命令寫入到SSD1306中,即可控制OLED顯示屏顯示數(shù)據(jù)。
表1 OLED模塊引腳功能定義
1.3 OLED模塊初始化
圖1 OLED復(fù)位流程圖
OLED模塊在使用前需要對其初始化,分別置位SCLK、SDIN、DC、CE、RST引腳,并隨后拉低RST引腳一段時間再次置位RST,完成模塊的復(fù)位,如圖1所示。
復(fù)位完成之后需要根據(jù)SSD1309數(shù)據(jù)手冊中的命令表對OLED模塊進(jìn)行配置,完成關(guān)閉顯示、設(shè)置偏移量、亮度級、設(shè)置顯示行、清屏、開顯示等。所有命令數(shù)據(jù)通過SPI協(xié)議發(fā)送到OLED模塊驅(qū)動芯片的寄存器中。
MSP430是TI公司推出的一款16位,超低功耗芯片、具有精簡指令集(RISC)的混合信號處理器(Mixed Signal Processor)[4],內(nèi)部集成了強(qiáng)大的資源模塊,在功耗控制方面達(dá)到μA級,在可穿戴設(shè)備領(lǐng)域一直被廣泛采用。
2.1 SPI協(xié)議模擬
SPI(Serial Peripheral Interface)串行外設(shè)總接口是一種串行同步外設(shè)接口[5],最先由摩托羅拉公司提出用來解決串行數(shù)據(jù)發(fā)送問題。它使用一條串行時鐘線SCL和兩條串行數(shù)據(jù)線(MOSI和MISO)進(jìn)行數(shù)據(jù)的同時收發(fā),主要用在FLASH、ADC等外部器件的通信中。SPI時鐘信號由主機(jī)產(chǎn)生,主從機(jī)在同一時鐘信號上升沿或下降沿通過MOSI和MISO發(fā)收數(shù)據(jù)。
圖2是SPI協(xié)議時序的一種簡單表示,在SCK的作用下,MISO和MOSI上的數(shù)據(jù)以高位在前,低位在后的順序進(jìn)行傳輸,每次傳輸為8位。在嚴(yán)格的SPI協(xié)議中,時鐘極性和相位都有嚴(yán)格的要求,比如時鐘在空閑時為低(時鐘極性0)還是高(時鐘極性1),對于時鐘相位為0時,數(shù)據(jù)在時鐘前沿采樣后沿輸出,而時鐘相位為1時,數(shù)據(jù)在時鐘前沿輸出后沿采樣。
圖2 SPI協(xié)議簡略時序圖
圖3 OLED寫入數(shù)據(jù)流程圖
使用SPI對OLED模塊控制時需要向SSD1306驅(qū)動發(fā)送控制命令和數(shù)據(jù),MSP430F1611作為主機(jī),需要模擬出SCK和MOSI及SDA兩條線總線時序,最少占用三個I/O口便可實現(xiàn)通信,大大減少了MCU端口資源。由于只需要向OLED模塊寫數(shù)據(jù),因此完成模擬SPI寫數(shù)據(jù),就可以完成對OLED模塊的各種操作。在向OLED寫數(shù)據(jù)前,需要介紹一下OLED模塊的DC位,DC位是控制命令和數(shù)據(jù)寄存器選擇位,當(dāng)DC為0時,OLED模塊內(nèi)的命令寄存器打開,隨后通過SPI寫入的數(shù)據(jù)將自動寫入命令寄存器;當(dāng)DC位為1時,OLED模塊內(nèi)的數(shù)據(jù)寄存器被打開,寫入的數(shù)據(jù)自動寫入數(shù)據(jù)寄存器。圖3為OLED寫入數(shù)據(jù)的流程圖。
2.2 控制OLED顯示內(nèi)容
該OLED模塊內(nèi)部沒有字符庫,顯示漢字、圖片或字符時需要用到取字模軟件,生成字模數(shù)組。在本設(shè)計中使用的是PCtoLCD2002完美版,可以在網(wǎng)絡(luò)上方便地下載到該軟件,圖3是字庫所生成的“你”、“好”兩個字庫保存的格式。將生成16×16像素的字庫存在Chinese數(shù)組變量中,通過SPI將數(shù)組依次寫入,即可完成對應(yīng)漢字、圖片的顯示。
系統(tǒng)設(shè)計除了在硬件上選取超低功耗處理器及顯示屏外,在軟件方面需要對系統(tǒng)進(jìn)行低功耗處理,實現(xiàn)系統(tǒng)的真正低功耗。圖4為系統(tǒng)低功耗模式轉(zhuǎn)換設(shè)計圖,起始狀態(tài)系統(tǒng)處于完全工作狀態(tài),即進(jìn)行任何功耗控制,在三角框內(nèi)的按鍵、定時器、外部信息等條件的作用下,可以切換到OLED睡眠模式和處理器低功耗模式,或者由這兩種模式轉(zhuǎn)回完全工作模式。
圖4 系統(tǒng)低功耗模式轉(zhuǎn)換圖
3.1 OLED顯示屏低功耗處理
顯示屏是可穿戴設(shè)備耗電量最大的模塊,因此對于OLED顯示器,采取適當(dāng)時候?qū)⒛K切換到睡眠狀態(tài),以減小功耗。例如在一定時間內(nèi)無外部操作、正常待機(jī)等情況下,當(dāng)有外部操作時再將其喚醒。通過查看SSD1309芯片命令描述部分,OLED切換到睡眠狀態(tài)可以使用如下代碼命令:
Write_Data(0xAE,CMD);//關(guān)閉OLED顯示
Write_Data(0xA5,CMD);//關(guān)閉顯存
當(dāng)需要點亮OLED時,可以從睡眠狀態(tài)下退出,代碼如下:
Write_Data(0xA4,CMD);//使顯存正常工作
Write_Data(0xAF,CMD);//打開OLED顯示
3.2 MSP430低功耗處理
MSP430系列低功耗處理器有5種低功耗模式,分別為LPM0、LPM1、LPM2、LPM3和LPM4[6]。其中正常工作模式稱為AM模式,此時耗電最多,LPM4模式則最省電,僅為0.1 μA。圖5為TI公司為MSP430F1611編寫的數(shù)據(jù)手冊里對各模式對應(yīng)的耗電量的圖表顯示,可以非常直觀地看出各模式狀態(tài)下芯片的功耗。
圖5 MSP430處理器各模式
處理器在AM狀態(tài)下時可以進(jìn)入任何低功耗模式,并可以在中斷狀態(tài)下退出當(dāng)前低功耗模式,并返回AM模式。各低功耗模式狀態(tài)由SCG0、SCG1、CPUOFF、OSCOFF4個位來配置,其原理是通過配置選擇合適的時鐘源作為工作時鐘,時鐘頻率越低,則芯片所需的功耗越低。
表2為MSP430F1611數(shù)據(jù)手冊中提供的各模式下SCG1、SCG0、OSCOFF、CPUOFF配置情況,以及CPU和時鐘的狀態(tài)。
表2 OLED模塊引腳功能定義
當(dāng)每次顯示完成后,MSP430在不工作的情況下可以進(jìn)入低功耗模式。TI公司為用戶提供了進(jìn)入低功耗的宏,命名為LPMx(x為1~4)。其中LPMx宏是被宏定義為_BIS_SR(LPMx_Bits),LPMx_Bits就是SCG1、SCG0、OSCOFF、CPUOFF4位的選取狀態(tài)。
設(shè)計中選用LPM3模式,CPU、MCLK、SMCLK、DCO等都使能,只有ACLK還在活動,運行命令_BIS_SR(LPM3_Bits),此時進(jìn)入低功耗3模塊,外部I/O、中斷還可運行響應(yīng)。
當(dāng)需要顯示時,在定時器或者外部中斷函數(shù)中退出低功耗模式,如“_BIC_SR(LPM3_Bits)”。
在實際應(yīng)用中,要想更高效率的節(jié)能,需要對整個系統(tǒng)各模塊的工作方式設(shè)置不同的低功耗模式,這是一個復(fù)雜的邏輯分析問題,嚴(yán)格控制功耗,同時又使其他模塊能夠正常工作。
IAR EW for MSP430專門用于MSP430處理器開發(fā)的一款集成開發(fā)環(huán)境,可對工程進(jìn)行有效管理、編譯、鏈接后生成目標(biāo)文件,并結(jié)合MSP專門的USB燒錄器進(jìn)行程序下載。
這里選用“貴州大學(xué)”幾個字生成字模作為中文顯示,也可以通過字模做出ASCII碼來顯示,如圖6所示。
圖6 系統(tǒng)顯示圖
在OLED模塊工作時測量系統(tǒng)電流,實驗數(shù)據(jù)如表3所列。
表3 實驗結(jié)果
在未作低功耗處理時,整個系統(tǒng)電流為6.71 mA,低功耗處理后,電流只有2.75 mA左右,降低了3.96 mA。其中MSP430芯片和OLED模塊的功耗分別降低了0.31 mA和3.61 mA左右。此外整個系統(tǒng)最后功耗仍有2.75 mA的電流,是因為開發(fā)板上的發(fā)光二級管需要2 mA以上的電流驅(qū)動,電源芯片和分立元件差不多產(chǎn)生了0.53 mA電流,而實際的功耗不到0.2 mA。在實際應(yīng)用中,可以去掉發(fā)光二級管或以呼吸燈的形式應(yīng)用,同時采用高度集成方案來設(shè)計產(chǎn)品電路板,低功耗效果會更好。
[1] 耿怡,安暉,李揚,等.可穿戴設(shè)備發(fā)展現(xiàn)狀和前景探析[J].電子科學(xué)與技術(shù),2014,1(2):238-245.
[2] 鄧俊杰,劉紅,陽小蘭,等.可穿戴智能設(shè)備的現(xiàn)狀及未來發(fā)展趨勢展望[J].黑龍江科技信息,2015(28):135.
[3] 楊虹,鄭曉斌, 彭俊彪,等.OLED驅(qū)動器的發(fā)展和應(yīng)用[J].液晶與顯示,2003,18(6):441-443.
[4] 郝建國.MSP430微控制器基礎(chǔ)和應(yīng)用[M].北京:電子工業(yè)出版社,2014.
[5] 張經(jīng)愛,許凱華,劉玉華,等.基于MSP430的模擬SPI串口通信的實現(xiàn)[J].計算機(jī)工程與設(shè)計, 2008,29(5):1169-1171.
[6] 張晞,王德銀,張晨.MSP430系列單片機(jī)實用C語言程序設(shè)計[M].北京:人民郵電出版社,2005.
何國鋒(碩士研究生),主要研究方向為嵌入式通信系統(tǒng)、生物醫(yī)學(xué)信號處理;李月婷(碩士研究生),主要研究方向為智能可穿戴設(shè)備、數(shù)字信號處理;劉宇紅(教授),主要研究方向為嵌入式通信系統(tǒng)、語音信號與數(shù)字圖像處理。
}
catch (IOException e) {}
}//end if
}// end if
}// end while
try{
readThread = new Thread(this);
readThread.start();//讀取數(shù)據(jù)線程啟動
}
catch (Exception e) {}
(4) 通過Socket和服務(wù)器進(jìn)行交互
上位機(jī)和服務(wù)器通過Socket協(xié)議進(jìn)行通信,上位機(jī)和服務(wù)器建立對方的IP和相同接口的Socket,一直對該接口進(jìn)行查詢,檢查是否有數(shù)據(jù)傳送。
參考文獻(xiàn)
[1] 周國民.淺議智慧農(nóng)業(yè)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2009(10):5-7.
[2] 李志剛.大數(shù)據(jù)-大價值、大機(jī)遇、大變革[M].北京:電子工業(yè)出版社,2012.
[3] 盧闖,彭秀媛,宣鍇,等.物聯(lián)網(wǎng)在設(shè)施農(nóng)業(yè)中的應(yīng)用研究[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2011(9):10-13.
[4] 李剛.瘋狂Android講義[M].3版.北京:電子工業(yè)出版社,2011.
[5] 李道亮.物聯(lián)網(wǎng)與智慧農(nóng)業(yè)[D].北京:中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,2012.
(責(zé)任編輯:薛士然 收稿日期:2016-07-12)
Low-power Control in Wearable Device Display System
He Guofeng,Li Yueting,Liu Yuhong
(College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China)
Due to the size and power cosumption,the display system of wearable device is often very small.In recent years,the OLED display is widely used in the wearable devices because of its fast refresh speed,low-power consumption and many other advantages,such as the smart watches,the wearable medical instruments,and so on.In order to control OLED display,the MSP430F1611 low-power processor is used to simulate SPI protocol,and a low-power wearable device display system is realized.
wearalbe device;OLED;low-power consumption;SPI
TP368.1
A
?迪娜
2014-07-21)