<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430加密熔絲燒斷器的制作

          MSP430加密熔絲燒斷器的制作

          作者: 時間:2016-11-13 來源:網絡 收藏
          引言

          MSP430系列單片機是德州儀器(TI)公司推出的一款16位超低功耗單片機。它能夠在1.8~3.6V電壓、1MHz頻率的條件下運行,耗電電流在0.1~400μA。在運算速度上,MSP430系列單片機能在8 MHz 晶振的驅動下,實現(xiàn)125ns的指令周期。16位的數(shù)據(jù)寬度、125ns的指令周期以及多功能的硬件乘法器相配合,能實現(xiàn)數(shù)字信號處理的某些算法(如FFT等) 。

          在整合方面,MSP430系列單片機將大量的CPU外圍模塊集成在片內,有如下一些模塊:看門狗(WDT) 、模擬比較器、串口、硬件乘法器、液晶驅動器、10位/12位/14位ADC、端口0~6 、基本定時器。其中定時器A、B均帶有多個捕獲/ 比較寄存器,同時可實現(xiàn)多路PWM 輸出;模擬比較器與定時器配合,可方便地實現(xiàn)ADC;液晶驅動多達160 筆段;硬件ADC 模塊在小于10 μs的速率下實現(xiàn)10~14 位的高速、高精度轉換,同時提供采樣/保持與參考電壓;端口0、1、2能夠接收外部上升沿或下降沿的中斷輸入。

          MSP430系列單片機的開發(fā)調試有多種技術方案,其中以JTAG和BOOTSTRAP(簡稱“BSL”) 方式最為方便。對于Flash型的MSP430單片機初期開發(fā)進行的仿真,只需要1臺PC 機和1個JTAG控制器即可實現(xiàn)。進入產品級開發(fā)階段,為了保護用戶代碼,燒斷Flash的保護熔絲以后就無法再通過J TAG 口訪問單片機, 這時用戶對Flash中的程序再進行檢查或更新就只能通過BOOT2STRAP 進行。不用擔心用戶代碼會泄露,BOOTSTRAP提供了32字節(jié)256位的密碼保護,能完全確保代碼的安全性。


          1 熔斷加密原理
          MSP430 系列單片機采用JTAG(實際上稱為IEEE1149.1或邊界掃描)接口技術,實現(xiàn)對單片機全部存儲器的訪問,包括程序Flash 、ROM、RAM ,并可對其進行擦除、讀寫。它能用于程序的下載,監(jiān)測程序使用情況和各個變量與寄存器的使用情況, 并可對其進行修改。
          JTAG接口需要4 根信號線、地線和電源線。具體信號線的定義如表1 所列。
          表1 JTAG接口信號線
          ---------------------------------------------
          引腳 方向 描述
          TMS 輸入 JTAG狀態(tài)機控制信號線
          TCK 輸入 JTAG時鐘輸入線
          TDI/TCLK 輸入 JTAG數(shù)據(jù)輸入線/ TCL K輸入
          TDO 輸出 JTAG數(shù)據(jù)輸出線
          ---------------------------------------------
          JTAG接口為程序的調試、仿真及監(jiān)控帶來了很大的方便,大大提高了編程效率,縮短了開發(fā)周期;但在程序測
          試完成轉換為產品推向市場時,就必須對程序代碼進行加密處理,防止程序代碼的泄漏。JTAG接口的安全性很差,只要符合J TAG 標準的控制器就可以將程序代碼讀出,所以必須禁止J TAG 功能。對于MSP430 系列單片
          機,禁止J TAG功能的途徑是將單片機內部的加密保險絲熔斷,熔斷后的單片機就無法再使用JTAG功能,從而達到加密程序代碼的目的。具體的JTAG及加密保險絲結構框圖如圖1所示。

          MSP430系列單片機在上電復位時會通過TDI/TCLK端對保險絲進行檢測,當保險絲完好時,在TDI/TCL K和地之間會有1mA 的電流流過。保險絲檢測出現(xiàn)在上電復位以后TMS 端的第一個下降沿上,在第二個下降沿上會解除保險絲的檢測,直到下一次的上電復位再進行保險絲檢測,即在每一次的上電復位都會對保險絲進行檢測。保險絲檢測電流只有在保險絲檢測方式時才會流過TDI/TCLK端,當檢測不到保險絲電流時,JTAG功能就會失效,且這種加密方式是硬件方式的加密,一旦保險絲熔斷,JTAG功能就永久失效了,無法再通過JTAG口訪問單片機,從而保證了單片機內代碼的安全。

          2 熔斷加密的時序及方法
          MSP430單片機保險絲的熔斷必須在特定的條件下進行。表2 列出了熔斷保險絲所需的條件及具體參數(shù)。
          表2 保險絲熔斷條件及參數(shù)
          ---------------------------------------------------------
          保險絲電參數(shù) min nor max
          熔斷時單片機供電電壓VCC(fb)/V 2.5 3.3 3.6
          熔斷時施加在TDI/TCLK端的電壓Vfb/V 6 6.5 7
          熔斷時施加在TDI/TCLK端的電流Ifb/mA 100
          熔斷時間tfb/ms 1
          ---------------------------------------------------------

          在滿足表2 所列的條件下,簡單地將6.5V電壓加在TDI/TCLK端上時,是無法熔斷保險絲的,必須在一定的時序及指令下才可以完成。下面是熔斷保險絲所需的指令及時序:

          IR_SHIFT(" IR_CN TRL_SIG_16BIT" )
          DR_SHIFT_IN(0x7201) ;TDO 信號切換為TDI 功能。TDI信號端釋放, TDO 切換為TDI
          IR_SHIFT(" IR_PREPARE_BLOW" ) ;通過TDO 信號端傳輸
          MsDelay(1) ;延時1ms。等待,連接Vpp至TDI信號端
          IR_SHIFT(" IR_EX_BLOW") ;通過TDO 信號端給目標板發(fā)送指令
          MsDelay(1) ;延時1 ms ,將Vpp 從TDI 信號端
          ;移開;切換TDI 信號端返回TDI
          ;功能,同時復位J TA G狀態(tài)機

          IR_SHIFT(" IR_CNTRL_SIG_16BIT" )為切換J TAG進入16位數(shù)據(jù)接收模式;DR_ SHIFT_ IN(0x7201)為將TDO 信號切換為TDI功能,TDI信號釋放,為接入熔斷電壓Vpp作準備;IR_SHIFT(" IR_ PREPARE_BLOW" )為設置MSP430 進入保險絲熔斷方式;MsDelay(1)為延時1ms,同時連接熔斷電壓Vpp 至TDI信號端;IR_ SHIFT("IR_BX_BLOW" )為執(zhí)行保險絲熔斷;MeDelay(1) 為延時1ms,同時斷開TDI端的熔斷電壓Vpp,TDI信號端切換回TDI功能,JATG狀態(tài)機復位。保險絲加密熔斷完成。

          3 熔斷加密器的設計與實現(xiàn)
          熔斷加密器可以實現(xiàn)對MSP430Flash單片機的編程、燒熔絲和BSL下載??梢赃x擇編程后是否熔斷芯片內熔絲,進行加密;可自行設置密碼,徹底保護芯片內容;可進行完全擦除編程和保留編程,通過BSL 方式讀出目標CPU內的代碼。

          熔斷加密器的硬件采用了MSP430F1111A作為系統(tǒng)芯片,實現(xiàn)對目標JTAG口的通信控制、熔斷電壓V pp的加載與分離、目標MSP430 單片機中保險絲熔斷指令的控制。在電源部分,熔斷電壓V pp 及100mA的熔斷電流是在7806三端穩(wěn)壓芯片與地之間串接二極管IN4001來實現(xiàn)的;熔斷電壓Vpp的加載與分離通過繼電器的通斷來實現(xiàn),并使用了3 個LED分別指示目標單片機保險絲未熔斷、正在熔斷及已熔斷的狀態(tài)。熔斷加密器系統(tǒng)控制部分的電路如圖2 所示。
          軟件部分是通過C 語言來實現(xiàn)熔絲加密器與目標單片機之間的數(shù)據(jù)通信及指令控制的。具體軟件流程如圖3所示。

          以下為加密熔斷器主程序:

          本文引用地址:http://www.ex-cimer.com/article/201611/316365.htm
          LEADBBS CODE

          #include "MSP430x11x.h"

          void main (void)
          {
          unsigned char k ;
          WDTCTL = WDTPW + WDTHOLD ;
          P1DIR = 0xFE;
          P1OUT &= ~BIT2 ;   // 斷開Vpp
          P1OUT &= ~BIT3 ; // 保險絲準備指示燈(黃色) 亮
          P2OUT |= BIT5 ; // 保險絲熔斷成功指示(綠色) 滅
          P2DIR = 0xEF ;

          while (1)
          {
          if ((P1IN&0x01)==0)
          {
          ResetTAP1(); //?
          delay(50000);
          IR_SHIFT(0x14);
          DR_SHIFT16 (0xAAAA);
          if(tdovalue != 0x5555)
          { // 保險絲未熔斷
          P1OUT |= BIT3; // 保險絲準備指示燈(黃色) 滅
          IR_SHIFT(0x13);
          DR_SHIFT16(0x7201) ;
          delay(10000);
          tdopin=1;
          P2DIR |= BIT4;
          IR_SHIFT(0x22);
          P1OUT |= BIT2; // 接通Vpp,斷開TDI
          delay(50000);
          IR_SHIFT(0x24);
          delay(10000);
          P1OUT &= ~BIT2; // 斷開Vpp
          tdopin = 0;
          P2DIR &= ~BIT4;
          ResetTAP();
          delay(50000);
          IR_SHIFT(0x14);
          DR_SHIFT16 (0xAAAA);
          if (tdovalue == 0x5555)
          { // 保險絲熔斷成功
          P2OUT &= ~BIT5 ; // 保險絲熔斷成功指示(綠色)
          for (k=1; k<=3; k++)
          delay(50000) ; // 綠燈常亮
          }
          else
          { // 保險絲未熔斷黃燈閃爍3 次
          for(k=1;k<=3;k++)
          {
          P1OUT &= ~BIT3 ; // 保險絲準備指示燈(黃色)亮
          delay(50000) ;
          P1OUT |= BIT3 ; // 保險絲準備指示燈(黃色)滅
          delay(50000) ;
          }
          }
          }
          else
          { // 保險絲已熔斷
          for(k=1;k<=3;k++)
          {
          P1OUT &=~BIT3 ; // 保險絲準備指示燈(黃色) 亮
          P2OUT &=~BIT5 ; // 保險絲熔斷成功指示(綠色)亮
          delay(50000) ;
          P1OUT |= BIT3 ; // 保險絲準備指示燈(黃色) 滅
          P2OUT |= BIT5 ; // 保險絲熔斷成功指示(綠色)滅
          delay(50000) ;
          }
          }
          P1OUT &= ~BIT3 ; // 保險絲準備指示燈(黃色)亮
          }
          }
          }

          本加密熔斷器在實際應用中取得了非常理想的效果,可對MSP430 系列單片機的保險絲進行可靠而有效的熔

          斷,完全保護了MSP430單片機中的代碼安全。在實際的使用中達到非常好的經濟效益和社會效益。

          結語

          本系統(tǒng)可應用于整個MSP430系列單片機,具有功能強大、性能可靠、成本低、體積小等特點。完全可以替代目前市場上售價高達1000~2000元的編程器,具有非常廣闊的應用前景和推廣價值。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();