何國鋒,李月婷,劉宇紅
(貴州大學 大數據與信息工程學院,貴陽 550025)
?
可穿戴設備顯示系統的低功耗控制
何國鋒,李月婷,劉宇紅
(貴州大學 大數據與信息工程學院,貴陽 550025)
可穿戴設備的顯示系統往往受其體積和功耗的限制而非常的小巧,近些年來OLED顯示屏因為較LCD顯示屏有刷新速度快、功耗低的諸多優點,被廣泛采用在可裝戴設備中,如智能手表、可穿戴醫療儀器等。本文采用MSP430F1611低功耗處理器模擬SPI協議對OLED顯示屏控制,并采用低功耗技術處理,實現了低功耗的可穿戴設備的顯示系統。
可穿戴設備;OLED;低功耗;SPI
隨著電子技術的不斷發展,可穿戴設備越來越受到人們的喜愛與追求,并逐漸成為生活中的必需品。據統計,2013年全球可穿戴設備出貨量在700萬件以上[1],特別是從谷歌、三星相繼發布智能手表,可穿戴設備在借助互聯網的東風迅速火爆全球市場。在2014年,國內市場規模更是達到了22億人民幣,年增長率在144%[2],而根據2016年7月20日,OFweek舉辦的“2016可穿戴設備在線展會”發布的統計,2015年全球可穿戴設備出貨量達到7 610萬部,與2014年的2 890萬部相比增長了163.6%,預計2016年年底,可穿戴設備的出貨量將達到1.1億部。同時,可穿戴醫療器械比如可以檢測血壓、心率、心電、血氧以及其他生理指標的可穿戴設備目前也初見端倪。可穿戴設備的體積小,在不可能內置太大的電池下,還要保證充足的待機時間,因此對于設計有著較高的考驗。顯示系統做為占可穿戴設備耗電比重最大的部分,有必要在兼顧功能的同時,進行美觀與低功耗設計。
1.1 顯示屏幕選擇
目前常見的顯示設備有LCD顯示屏和OLED顯示屏,LCD顯示屏在很多智能設備上已經應用很長時間,一直是手機等移動終端顯示屏的首選,但是近些年來隨著OLED顯示技術的出現,越來越多的優勢在很多方面已經超越了LCD。OLED顯示屏具有主動發光特點,同時像素細膩,有多種顏色,外表時尚美觀,功耗低,刷新速度快,功耗低的諸多優點[3],在對于目前可穿戴設備對低功耗的追求中,是一個非常好的選擇。小米科技發布了第二代手環,同樣使用了一塊OLED屏,在市場上贏得一陣搶購。
基于OLED美觀、省電的特點,最終選取OLED作為顯示設備。
1.2 OLED驅動介紹
本次使用的OLED是由杭州海視方電子科技公司生產的1.3寸OLED模塊,該模塊選取SPI方式進行通信,并且將需要用戶控制的引腳引出,具體信息見表1 。
該模塊包含一塊128×64的OLED顯示屏,采用SSD1306驅動芯片為OLED屏提供驅動。SSD1306是一款專門為OLED/PLED設計的CMOS驅動芯片,包含了128段和64個公共端,內部嵌入了比較控制器、顯存、晶體振蕩器等,使得外部引腳和功耗都得到降低,具有256級亮度控制,CPU可以通過硬件來選擇6 800/8 000并行接口,I2C接口或SPI接口對SSD1306進行數據寫入控制。SSD1306提供了強大的命令庫,用戶無需過多的了解SSD1306的工作細節,只需通過上面任一種協議對照命令庫將命令寫入到SSD1306中,即可控制OLED顯示屏顯示數據。

表1 OLED模塊引腳功能定義
1.3 OLED模塊初始化

圖1 OLED復位流程圖
OLED模塊在使用前需要對其初始化,分別置位SCLK、SDIN、DC、CE、RST引腳,并隨后拉低RST引腳一段時間再次置位RST,完成模塊的復位,如圖1所示。
復位完成之后需要根據SSD1309數據手冊中的命令表對OLED模塊進行配置,完成關閉顯示、設置偏移量、亮度級、設置顯示行、清屏、開顯示等。所有命令數據通過SPI協議發送到OLED模塊驅動芯片的寄存器中。
MSP430是TI公司推出的一款16位,超低功耗芯片、具有精簡指令集(RISC)的混合信號處理器(Mixed Signal Processor)[4],內部集成了強大的資源模塊,在功耗控制方面達到μA級,在可穿戴設備領域一直被廣泛采用。
2.1 SPI協議模擬
SPI(Serial Peripheral Interface)串行外設總接口是一種串行同步外設接口[5],最先由摩托羅拉公司提出用來解決串行數據發送問題。它使用一條串行時鐘線SCL和兩條串行數據線(MOSI和MISO)進行數據的同時收發,主要用在FLASH、ADC等外部器件的通信中。SPI時鐘信號由主機產生,主從機在同一時鐘信號上升沿或下降沿通過MOSI和MISO發收數據。
圖2是SPI協議時序的一種簡單表示,在SCK的作用下,MISO和MOSI上的數據以高位在前,低位在后的順序進行傳輸,每次傳輸為8位。在嚴格的SPI協議中,時鐘極性和相位都有嚴格的要求,比如時鐘在空閑時為低(時鐘極性0)還是高(時鐘極性1),對于時鐘相位為0時,數據在時鐘前沿采樣后沿輸出,而時鐘相位為1時,數據在時鐘前沿輸出后沿采樣。

圖2 SPI協議簡略時序圖

圖3 OLED寫入數據流程圖
使用SPI對OLED模塊控制時需要向SSD1306驅動發送控制命令和數據,MSP430F1611作為主機,需要模擬出SCK和MOSI及SDA兩條線總線時序,最少占用三個I/O口便可實現通信,大大減少了MCU端口資源。由于只需要向OLED模塊寫數據,因此完成模擬SPI寫數據,就可以完成對OLED模塊的各種操作。在向OLED寫數據前,需要介紹一下OLED模塊的DC位,DC位是控制命令和數據寄存器選擇位,當DC為0時,OLED模塊內的命令寄存器打開,隨后通過SPI寫入的數據將自動寫入命令寄存器;當DC位為1時,OLED模塊內的數據寄存器被打開,寫入的數據自動寫入數據寄存器。圖3為OLED寫入數據的流程圖。
2.2 控制OLED顯示內容
該OLED模塊內部沒有字符庫,顯示漢字、圖片或字符時需要用到取字模軟件,生成字模數組。在本設計中使用的是PCtoLCD2002完美版,可以在網絡上方便地下載到該軟件,圖3是字庫所生成的“你”、“好”兩個字庫保存的格式。將生成16×16像素的字庫存在Chinese數組變量中,通過SPI將數組依次寫入,即可完成對應漢字、圖片的顯示。
系統設計除了在硬件上選取超低功耗處理器及顯示屏外,在軟件方面需要對系統進行低功耗處理,實現系統的真正低功耗。圖4為系統低功耗模式轉換設計圖,起始狀態系統處于完全工作狀態,即進行任何功耗控制,在三角框內的按鍵、定時器、外部信息等條件的作用下,可以切換到OLED睡眠模式和處理器低功耗模式,或者由這兩種模式轉回完全工作模式。

圖4 系統低功耗模式轉換圖
3.1 OLED顯示屏低功耗處理
顯示屏是可穿戴設備耗電量最大的模塊,因此對于OLED顯示器,采取適當時候將模塊切換到睡眠狀態,以減小功耗。例如在一定時間內無外部操作、正常待機等情況下,當有外部操作時再將其喚醒。通過查看SSD1309芯片命令描述部分,OLED切換到睡眠狀態可以使用如下代碼命令:
Write_Data(0xAE,CMD);//關閉OLED顯示
Write_Data(0xA5,CMD);//關閉顯存
當需要點亮OLED時,可以從睡眠狀態下退出,代碼如下:
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編寫的數據手冊里對各模式對應的耗電量的圖表顯示,可以非常直觀地看出各模式狀態下芯片的功耗。

圖5 MSP430處理器各模式
處理器在AM狀態下時可以進入任何低功耗模式,并可以在中斷狀態下退出當前低功耗模式,并返回AM模式。各低功耗模式狀態由SCG0、SCG1、CPUOFF、OSCOFF4個位來配置,其原理是通過配置選擇合適的時鐘源作為工作時鐘,時鐘頻率越低,則芯片所需的功耗越低。
表2為MSP430F1611數據手冊中提供的各模式下SCG1、SCG0、OSCOFF、CPUOFF配置情況,以及CPU和時鐘的狀態。

表2 OLED模塊引腳功能定義
當每次顯示完成后,MSP430在不工作的情況下可以進入低功耗模式。TI公司為用戶提供了進入低功耗的宏,命名為LPMx(x為1~4)。其中LPMx宏是被宏定義為_BIS_SR(LPMx_Bits),LPMx_Bits就是SCG1、SCG0、OSCOFF、CPUOFF4位的選取狀態。
設計中選用LPM3模式,CPU、MCLK、SMCLK、DCO等都使能,只有ACLK還在活動,運行命令_BIS_SR(LPM3_Bits),此時進入低功耗3模塊,外部I/O、中斷還可運行響應。
當需要顯示時,在定時器或者外部中斷函數中退出低功耗模式,如“_BIC_SR(LPM3_Bits)”。
在實際應用中,要想更高效率的節能,需要對整個系統各模塊的工作方式設置不同的低功耗模式,這是一個復雜的邏輯分析問題,嚴格控制功耗,同時又使其他模塊能夠正常工作。
IAR EW for MSP430專門用于MSP430處理器開發的一款集成開發環境,可對工程進行有效管理、編譯、鏈接后生成目標文件,并結合MSP專門的USB燒錄器進行程序下載。
這里選用“貴州大學”幾個字生成字模作為中文顯示,也可以通過字模做出ASCII碼來顯示,如圖6所示。

圖6 系統顯示圖
在OLED模塊工作時測量系統電流,實驗數據如表3所列。

表3 實驗結果
在未作低功耗處理時,整個系統電流為6.71 mA,低功耗處理后,電流只有2.75 mA左右,降低了3.96 mA。其中MSP430芯片和OLED模塊的功耗分別降低了0.31 mA和3.61 mA左右。此外整個系統最后功耗仍有2.75 mA的電流,是因為開發板上的發光二級管需要2 mA以上的電流驅動,電源芯片和分立元件差不多產生了0.53 mA電流,而實際的功耗不到0.2 mA。在實際應用中,可以去掉發光二級管或以呼吸燈的形式應用,同時采用高度集成方案來設計產品電路板,低功耗效果會更好。

[1] 耿怡,安暉,李揚,等.可穿戴設備發展現狀和前景探析[J].電子科學與技術,2014,1(2):238-245.
[2] 鄧俊杰,劉紅,陽小蘭,等.可穿戴智能設備的現狀及未來發展趨勢展望[J].黑龍江科技信息,2015(28):135.
[3] 楊虹,鄭曉斌, 彭俊彪,等.OLED驅動器的發展和應用[J].液晶與顯示,2003,18(6):441-443.
[4] 郝建國.MSP430微控制器基礎和應用[M].北京:電子工業出版社,2014.
[5] 張經愛,許凱華,劉玉華,等.基于MSP430的模擬SPI串口通信的實現[J].計算機工程與設計, 2008,29(5):1169-1171.
[6] 張晞,王德銀,張晨.MSP430系列單片機實用C語言程序設計[M].北京:人民郵電出版社,2005.
何國鋒(碩士研究生),主要研究方向為嵌入式通信系統、生物醫學信號處理;李月婷(碩士研究生),主要研究方向為智能可穿戴設備、數字信號處理;劉宇紅(教授),主要研究方向為嵌入式通信系統、語音信號與數字圖像處理。
}
catch (IOException e) {}
}//end if
}// end if
}// end while
try{
readThread = new Thread(this);
readThread.start();//讀取數據線程啟動
}
catch (Exception e) {}
(4) 通過Socket和服務器進行交互
上位機和服務器通過Socket協議進行通信,上位機和服務器建立對方的IP和相同接口的Socket,一直對該接口進行查詢,檢查是否有數據傳送。

參考文獻
[1] 周國民.淺議智慧農業[J].農業網絡信息,2009(10):5-7.
[2] 李志剛.大數據-大價值、大機遇、大變革[M].北京:電子工業出版社,2012.
[3] 盧闖,彭秀媛,宣鍇,等.物聯網在設施農業中的應用研究[J].農業網絡信息,2011(9):10-13.
[4] 李剛.瘋狂Android講義[M].3版.北京:電子工業出版社,2011.
[5] 李道亮.物聯網與智慧農業[D].北京:中國農業大學信息與電氣工程學院,2012.
(責任編輯:薛士然 收稿日期: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)