《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計應(yīng)用 > 雙路DC/DC TPS62402應(yīng)用研究
雙路DC/DC TPS62402應(yīng)用研究
2014年微型機與應(yīng)用第15期
王全振
廣州海格通信集團(tuán)股份有限公司,,廣東 廣州
摘要: 針對基于S3C6410嵌入式系統(tǒng)的低功耗設(shè)計問題,應(yīng)用TPS62402芯片設(shè)計了可以動態(tài)調(diào)節(jié)核心供電電壓的超低功耗核心供電單元,。給出核心單元電源部分的原理圖和印制板設(shè)計要點及TPS62402電壓調(diào)節(jié)的驅(qū)動代碼,。闡述了動態(tài)電壓及頻率調(diào)節(jié)(DVFS)與功耗降低的原理關(guān)系,。
關(guān)鍵詞: TPS62402 S3C6410 低功耗 DVFS
Abstract:
Key words :

  摘  要: 針對基于S3C6410嵌入式系統(tǒng)的低功耗設(shè)計問題,應(yīng)用TPS62402芯片設(shè)計了可以動態(tài)調(diào)節(jié)核心供電電壓的超低功耗核心供電單元,。給出核心單元電源部分的原理圖和印制板設(shè)計要點及TPS62402電壓調(diào)節(jié)的驅(qū)動代碼,。闡述了動態(tài)電壓及頻率調(diào)節(jié)(DVFS)與功耗降低的原理關(guān)系。

  關(guān)鍵詞: TPS62402,;S3C6410,;低功耗;DVFS

  隨著電子行業(yè)的進(jìn)步,,手持設(shè)備發(fā)展越來越迅速,,CPU頻率不斷提高,性能不斷增強,。目前制約手持設(shè)備最大的瓶頸是供電問題,,手持設(shè)備有體積要求,因此電池的體積也不能太大,,體積小限制了電池的容量也不可能做大,,即所謂的“電池鴻溝”[1]。在電池容量一定的前提下,,手持設(shè)備的低功耗設(shè)計就顯得尤為重要,。手持設(shè)備低功耗[2]設(shè)計首先在硬件方面要選擇具有低功耗特性的CPU,其次在軟件調(diào)節(jié)下才能實現(xiàn)最佳效果,。在此背景下DVFS[3]應(yīng)運而生,。DVFS[4]即動態(tài)電壓頻率調(diào)整[5],是根據(jù)芯片所運行的應(yīng)用程序?qū)τ嬎隳芰Φ牟煌枰?,動態(tài)調(diào)節(jié)芯片的運行頻率和電壓,。

  S3C6410[6]芯片是三星公司生產(chǎn)針對嵌入式低功耗系統(tǒng)的高性能CPU,廣泛應(yīng)用于工業(yè)及民用領(lǐng)域,,該芯片高性能的ARM核及優(yōu)化的外圍模塊特別適合做手持設(shè)備,。S3C6410[8]芯片支持DVFS,一般在非民用手機的手持設(shè)備上不會選用價格昂貴的集成電源管理芯片,,本文選用的TPS62402[9]芯片是TI公司生產(chǎn)的一款具有雙路輸出的DC/DC的電源芯片,,該芯片具有的EasyScaleTM接口,可以方便地實現(xiàn)電壓調(diào)節(jié),。

1 硬件設(shè)計

  1.1 原理圖設(shè)計

  TPS62402含有兩路DC/DC轉(zhuǎn)換器,,OUT1輸出電流為400 mA,OUT2輸出電流為600 mA,,轉(zhuǎn)換效率最高可達(dá)95%,,2.5 V~6 V的電壓輸入范圍非常適合手持設(shè)備采用電池來供電,,OUT1(DEF_1為低時)輸出電壓范圍以0.025 V為步進(jìn)從0.8 V~1.575 V,OUT2固定為3.3 V輸出,,其DEF_1管腳設(shè)定OUT1初始輸出電壓值,,當(dāng)DEF_1為高電平時OUT1輸出1.8 V,當(dāng)DEF_1為低電平時輸出1.2 V,。本文實際使用電路如圖1所示,,其中Vin為電源輸入;EN1和EN2為OUT1和OUT2使能管腳,,OUT2設(shè)置為系統(tǒng)上電即開始不間斷工作,,OUT1連接至S3C6410的PWRRGTON管腳,以便在低功耗模式時關(guān)閉OUT1電源輸出,;DATA_SET為設(shè)置OUT1電壓值的通信控制管腳,;SW1和FB1搭配2.2 μH電感及10 μF電容組成OUT1,DEF_1連接至地設(shè)置上電OUT1初始電壓為1.2 V,;SW2和ADJ2搭配2.2 μH電感及10 μF電容組成OUT2,,固定輸出電壓3.3 V。

001.jpg

  1.2 印制板設(shè)計要點

  電路中使用的兩個電感應(yīng)該選擇屏蔽式的功率電感,,并至少留出50%的電流余量,,例如L3應(yīng)選擇最小可通過900 mA的電感。布局時,,C83,、C84應(yīng)盡可能靠近TPS62402,電源的輸出端要增加線寬或采用覆銅方式,。

2 軟件設(shè)計

  2.1 接口描述

  TPS62402具有EasyScale接口,,即一線式串行動態(tài)電壓調(diào)整接口,官方定義為:One-Pin Serial Interface for Dynamic Output Voltage Adjustment,。

  EasyScale接口以方波傳輸數(shù)據(jù),,其1和0以高低電平占一個周期的時間來定義:當(dāng)高電平時間至少大于兩倍的低電平時間則為1;反之低電平時間至少大于兩倍的高電平時間則為0,。每一次發(fā)送數(shù)據(jù)為16 bit,,高8 bit為地址數(shù)據(jù),低8 bit為電壓數(shù)據(jù),,數(shù)據(jù)格式如表1所示,。

002.jpg

  高8 bit DA0~DA7固定為0x4E;低8 bit中的RFA為請求答復(fù)設(shè)定,,如果置1則TPS62402收到數(shù)據(jù)后會發(fā)出答復(fù)信號,;當(dāng)DEF_1為低時,A1和A0設(shè)置為00,;D4~D0為電壓值,,對應(yīng)關(guān)系如表2所示,。

003.jpg

  2.2 驅(qū)動流程及代碼

  DVFS技術(shù)需要軟硬件共同配合才能完成,常規(guī)流程包括以下5步,。

 ?。?)采集與系統(tǒng)負(fù)載有關(guān)的信號,計算當(dāng)前的系統(tǒng)負(fù)載,。

 ?。?)根據(jù)系統(tǒng)的當(dāng)前負(fù)載,,預(yù)測系統(tǒng)在下一時間段需要的性能,。

  (3)將預(yù)測的性能轉(zhuǎn)換成需要的頻率,,從而調(diào)整芯片的時鐘設(shè)置,。

  (4)根據(jù)新的頻率計算相應(yīng)的電壓,。

 ?。?)通知電源管理模塊調(diào)整CPU的電壓。

  在調(diào)整電壓和頻率時要特別注意順序,,因為頻率越高需要的電壓也越高,,所以當(dāng)頻率從高到低時要先調(diào)整頻率再降低電壓;頻率從低到高時先升高電壓再調(diào)整頻率,。另外電壓及頻率調(diào)整的頻率不能過高,,否則反而會增加系統(tǒng)能量消耗。S3C6410的核心頻率設(shè)置為9擋,,電壓4擋,,對應(yīng)關(guān)系如表3所示。

004.jpg

  本系統(tǒng)中使用S3C6410的GPK13管腳來發(fā)送數(shù)據(jù),,Linux源碼中已經(jīng)包含DVFS,,TPS62402驅(qū)動的相關(guān)函數(shù)及功能介紹如下。

  int set_power(unsigned int freq)//Linux系統(tǒng)接口函數(shù),,

  //該函數(shù)根據(jù)輸入的形參(需要設(shè)定的頻率)來設(shè)定電壓值

  static int find_voltage(int freq)

  //根據(jù)給定的頻率值找到對應(yīng)的電壓值

  {

  int index=0,;

  if(freq>frequency_match[0][0]){

  printk(KERN_ERR"frequecy is over then support frequency\n");

  return 0,;

  }

  for(index=0,;index<ARRAY_SIZE(frequency_match);index++){

  if(freq>=frequency_match[index][0])

  return index,;

  }

  printk("Cannot find matched voltage on table\n"),;

  return 0;

  }

  void SendAddr_Data(int data)//發(fā)送對應(yīng)的電壓值數(shù)據(jù)

  static const unsigned int voltage_table[32]

  //包含電壓值與發(fā)送數(shù)據(jù)的數(shù)組

  static const unsigned int frequency_match[][2]

  //包含頻率與電壓關(guān)系的二維數(shù)組

  void setbit(int i)//發(fā)送1 bit數(shù)據(jù)

  {

  if(1==i)

  {

  gpio_set_value(S3C64XX_GPK(13),,0),;

  udelay(2),;

  gpio_set_value(S3C64XX_GPK(13),1),;

  udelay(6),;

  }

  else if(0==i)

  {

  gpio_set_value(S3C64XX_GPK(13),0),;

  udelay(6),;

  gpio_set_value(S3C64XX_GPK(13),1),;

  udelay(2),;

  }

  else

  {

  printk("ERROR:setbit error!\n");

  }

  }

  setbit()函數(shù)中的udelay()函數(shù)為微秒延時函數(shù),,延時高低電平時間比為3,,滿足至少大于兩倍關(guān)系。

  實際電路首先測試TPS62402輸出電壓與設(shè)定值的偏差,,使用萬用表測試PCB板上OUT1經(jīng)過電容以后的電壓,,通過對表4的觀察可以發(fā)現(xiàn)TPS62402的輸出特別準(zhǔn)確。在實際使用中,,對比使用DVFS前后的功率消耗,,同一設(shè)備,同一塊電池,,在同等條件下手持設(shè)備使用時間增加25%左右,。

005.jpg

  參考文獻(xiàn)

  [1] LAHIRI K, RAGHUNATHAN A,, DEYS,, et al. Batterydriven system design:a new frontier in low power design[C].Proceedings of 7th Asia and South Pacific and the 15th  International Conference on VLSI Design, Bangalore,, India,, 2002:261-267.

  [2] 馬天義.低功耗軟硬件劃分算法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.

  [3] YUN J,, SINGH D K. Dynamic voltage and frequency scaling over delay-constrained mobile multimedia service using approximated relative complexity estimation[J]. Doug Young Suh EURASIP Journal on Embedded Systems,, 2013.

  [4] 張立.基于DPM和DVFS的嵌入式系統(tǒng)低功耗優(yōu)化技術(shù)研究[D].北京:北京交通大學(xué),2012.

  [5] 黃建科,,周云.基于自適應(yīng)DVFS的SoC低功耗技術(shù)研究[J].現(xiàn)代電子技術(shù),,2009(7):120-122.

  [6] 鄧中亮,張紅星,,延明,,等.基于S3C6410和無線傳感器網(wǎng)絡(luò)的手持終端設(shè)計[J].電子設(shè)計工程,2011(2):1-4.

  [7] 張堃.基于ARM9的嵌入式軍用手持終端系統(tǒng)的設(shè)計與開發(fā)[D].濟南:山東大學(xué),,2011.

  [8] Samsung. S3C6410 datasheet[EB/OL].  www.samsung.com

  [9] TI. TPS62402datasheet[EB/OL]. http://www.ti.com.cn/cn/lit/ds/symlink/tps62402.pdf


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。