引言
美國德州儀器公司的MSP430系列單片機在智能儀器儀表、醫療電子、消費電子等領域有著非常廣泛的應用[1]。大部分MSP430系列單片機都具有非易失性Flash存儲器,用戶調試或更新Flash中程序的方式一般有兩種方法:JTAG和Bootstrap Loader[2](引導裝載程序,簡稱BSL)。
MSP430系列單片機內部集成了JTAG仿真調試模塊,并口轉換器就可以作為一個低成本的JTAG硬件仿真調試工具,然而,為了保護用戶程序代碼,往往產品開發完成之后必須要燒斷MSP430單片機內部的熔絲,這就使得MSP430單片機無法再通過JTAG接口訪問CPU或者更新Flash中的用戶程序了,要想再次訪問或者更新Flash中的用戶程序就需要使用BSL接口。BSL接口也是對燒斷熔絲后的MSP430單片機進行程序升級的唯一方法[3]。
MSP430系列單片機出廠時在特定的內存空間固化了一段引導代碼,即BSL,通過在單片機特定引腳上加一個特定的時序就可進入這段引導代碼,用戶就可以通過標準的異步串行口訪問單片機的內部資源,如Flash、RAM等(讀操作需要驗證密碼),這就為嵌入式應用提供了方便的升級和維護方式。
采用USB轉串口芯片和VB6.0編程語言設計并實現了一種成本低廉、使用方便、操作簡單的BSL編程工具,可以通過串口實現對MSP430系列單片機進行擦除、編程、自動下載文件、聲音提示以及自動運行代碼等功能。系統總體設計框圖如圖1所示。
1系統硬件設計
該BSL編程工具的硬件是使用USB轉串口芯片PL2303設計的,具有使用方便、設計成本低等優點。PL2303是Prolific公司生產的USB總線轉接芯片,具有全部調制解調器控制信號,如TXD、RXD、DTR、RTS等,可實現USB轉3.3 V或5 V全雙工串口TTL電平。
PL2303芯片接入PC機后會產生一個虛擬的串口設備,使用VB6.0提供的MSComm串口控件進行編程,即可控制TXD、RXD、DTR、RTS產生所需要的時序信號。盡管使用PC機的物理串口也可以實現同樣的功能,但并不是每臺PC機都有物理串口,USB轉串口芯片使得該編程工具省去了物理串口的限制,并可為MSP430單片機提供電源,因此,PL2303是移動系統和嵌入式系統的理想選擇,其小封裝能夠嵌入到任何連接件和手持設備中[4]。
該編程工具將PL2303芯片的DTR、RTS引腳分別連接到MSP430系列單片機的RST、TCK(或者TEST)引腳,如果是帶有TEST引腳的MSP430單片機,則應用TEST引腳替換TCK引腳。TXD、RXD是串口發送、接收引腳,需要連接MSP430單片機對應的BSL引腳,不同的單片機對應的接收和發送引腳不完全一樣。PL2303芯片的第4個引腳VDD_325是用來決定控制信號邏輯電平的,MSP430系列單片機都是3.3 V工作電壓,因此,VDD_325應該接3.3 V,以便于TXD、RXD、DTR和RTS產生3.3 V邏輯電平。AMS1117是用來將5 V電壓轉換為3.3 V電壓,除了給VDD_325提供電壓,也可以給外部的MSP430單片機提供3.3 V電源。系統硬件設計原理圖如圖2所示[5]。
2系統軟件設計
BSL編程工具的軟件設計采用VB6.0來實現,盡管使用VC++、Delphi等編程工具都可以實現該軟件的設計,但選擇VB6.0具有更多的優勢,因為VB是一種比較簡單的事件驅動編程語言,對初學者的要求較低。VB擁有圖形用戶界面和快速應用程序開發系統,使用其提供的組件完全可以完成該軟件的設計。
2.1MSP430單片機BSL時序介紹
要使MSP430單片機進入BSL復位向量,需要在單片機的RST和TCK(或者TEST)引腳施加一個特定的時序,MSP430單片機接到這個特定時序后,CPU的程序指針(PC)指向0x 0C00地址處,這是一段1 KB的ROM區(0x 0C00~0x 1000)。
在BSL程序開始執行時,TCK引腳已收到至少兩個負跳變,并且當RST由低向高跳變時TCK保持低電平,此時,MSP430單片機進入BSL狀態;如果是帶有TEST引腳的MSP430單片機,則應用TEST引腳替換TCK引腳,并且TEST引腳接收的到是至少兩個正跳變,并且當RST由低向高跳變時TEST保持高電平。MSP430單片機BSL啟動時序如圖3所示[6]。
2.2BSL的串口通信協議
MSP430單片機利用內部定時器實現在特定的引腳模擬串口通信時序,大多數MSP430單片機的P1.1引腳作為BSL的發送端(即TXD),P2.2引腳作為BSL的接收端(即RXD),不同型號的單片機會有所不同[7]。
MSP430單片機的串口協議默認采用:9 600的波特率,半雙工模式,1位起始位,8位數據位(最低位在前),1個偶校驗位,1位停止位。握手是通過一個確認字符進行的,在發送任何命令之前,必須先發送一個值為80H的同步字符給BSL,它提供了BSL系統時間基準。當BSL接收到同步字符之后,會發送一個90H的字符以確認成功接收。
BSL提供給用戶的命令主要分為兩類:一類命令需要驗證密碼才能執行,如訪問單片機Flash、RAM以及外設等操作;另一類命令無需驗證密碼即可執行,如整體擦除Flash、讀取BSL版本等。部分BSL命令數據幀格式如表1所列[6]。
其中,從HDR到LH的8個字節是必須的,xx表示任意數據;數據D1~Dn是可選的;CKL是校驗和的低位,CKH是校驗和的高位,這兩個字節是必需的;ACK確認字節并不是每個命令都需要的。
進行BSL軟件設計,主要用到了VB6.0中的幾個關鍵控件,如MSComm、CommandDialog、ComboBox、Timer、TextBox、ProgressBar、CommandButton、CheckBox等標準控件。
該BSL編程軟件下載的程序文件格式為TI公司txt純文本格式,它使用“@”表示地址的開始,地址后面表示從該地址開始要存儲的數據內容,從地址后每一行為16個字節,每個字節使用十六進制數表示,每兩個字節之間用一個空格隔開。每遇到一個“@”字符就表示新地址的開始,地址后面同樣表示從該地址開始要存儲的數據內容,文件最后以一個小寫的“q”字符加換行結束。根據TItxt文件的格式,首先要使用CommandDialog控件打開要下載的文件,使用一定的算法分離出整個TItxt文件中的多段起始地址以及每個起始地址所對應的數據內容,然后通過串口一步一步地發送給BSL并寫入到指定的地址段。BSL編程軟件對TItxt文件的處理流程如圖4所示。
要通過串口實現上位機軟件和MSP430單片機的BSL進行數據交換,最關鍵的一步就是先要使MSP430單片機進入BSL狀態。而要想使MSP430單片機進入BSL狀態,必須要在RST和TCK(或者TEST)引腳施加一個特定的時序,通過使用MSComm的兩個屬性DTREnable和RTSEnable可以產生所需要的時序。DTREnable屬性是確定在通信過程中是否使用DTR(Data Terminal Ready)線。若DTREnable設置為True,則使用DTR線;若為False(缺省),則禁止DTR線。RTSEnable屬性和DTREnable屬性類似,RTSEnable屬性用于確定是否使用RTS(Request To Send)線。若RTSEnable設置為True,則使用RTS線;若為False(缺省),則不使用RTS線[89]。使用MSComm的這兩個屬性,可以在VB6.0中通過以下代碼使MSP430單片機進入BSL狀態。
Private Sub BslConnectCommand_Click()'連接BSL,并進入BSL狀態
Dim DTRLevel As Boolean
Dim RTSLevel As Boolean
If (DTRCheck.Value = 1) Then'DTRCheck選中
DTRLevel = False
Else
DTRLevel = True
End If
If (RTSCheck.Value = 1) Then 'RTSCheck選中
RTSLevel = False
Else
RTSLevel = True
End If
MSComm.RTSEnable = Not (RTSLevel)
MSComm.DTREnable = DTRLevel
'DTRLevel為True,輸出低電平
MSComm.RTSEnable = RTSLevel
MSComm.RTSEnable = Not (RTSLevel)
MSComm.RTSEnable = RTSLevel
MSComm.DTREnable = Not (DTRLevel)
'DTRLevel為False,輸出高電平
MSComm.RTSEnable = Not (RTSLevel)
End Sub
其中,DTRCheck和RTSCheck這兩個控件非常有用,可以在不改變硬件的情況下使DTR和RTS輸出的邏輯電平反相,這使得該BSL上位機軟件既可以適用于有TCK引腳的單片機,也可以適用于有TEST引腳的單片機,大大增強了BSL軟件的靈活性。
使MSP430單片機進入BSL狀態是關鍵的一步,打通了這一底層通信的關鍵環節之后,就可以一步一步地編寫調試其他各個軟件模塊了。MSP430單片機BSL編程軟件的設計流程圖和BSL編程軟件界面圖如圖5、6所示。
結語
采用USB轉串口芯片PL2303和VB6.0編程語言設計出了一款高性價比的BSL編程工具,該BSL編程工具具有使用方便、操作簡單、成本低廉等優點,通過USB虛擬串口,不但可以對燒斷熔絲的MSP430系列單片機進行程序升級等操作,而且也可以作為用戶學習MSP430單片機的廉價編程工具。經過反復多次修改及完善,該BSL編程工具應用于某機床廠的實際項目中,并被多個高校的大學生在實踐創新中使用,取得了較好的效果。
上一篇:MSP430的車載無線手持終端系統設計
下一篇:基于MAX5945的以太網供電設備
推薦閱讀
史海拾趣
High Tech Chips Inc成立之初,便專注于研發高性能的AI芯片。在公司創始人李博士的帶領下,團隊突破了傳統芯片設計的瓶頸,開發出了一款具有超低功耗和高效能比的AI加速器芯片。這款芯片迅速獲得了市場的認可,被廣泛應用于智能手機、智能家居和自動駕駛等領域。隨著技術的不斷迭代和產品的持續優化,High Tech Chips Inc逐漸在AI芯片市場占據了一席之地,并成為了行業內的技術領先者。
科達嘉電子不僅立足于深圳,還積極布局全球市場。公司通過參加國際電子展會、與國際知名企業合作等方式,不斷拓展海外市場。同時,科達嘉還根據客戶需求,提供個性化的電感解決方案,贏得了眾多客戶的信任和合作。公司的主要產品,如一體成型電感、大電流電感等,已廣泛應用于工業控制、汽車電子等多個領域。
CAT深知技術創新是企業發展的核心動力。因此,公司不斷投入研發資源,推動技術創新與突破。經過多年的努力,CAT成功開發出了一系列具有自主知識產權的電子產品和技術,如高性能的電路板、精密的連接器以及先進的測試設備等。這些產品的推出,不僅提高了CAT的市場競爭力,也為整個電子行業的發展注入了新的活力。
CAT深知技術創新是企業發展的核心動力。因此,公司不斷投入研發資源,推動技術創新與突破。經過多年的努力,CAT成功開發出了一系列具有自主知識產權的電子產品和技術,如高性能的電路板、精密的連接器以及先進的測試設備等。這些產品的推出,不僅提高了CAT的市場競爭力,也為整個電子行業的發展注入了新的活力。
ATOP Technologies自1989年創立以來,以創新、智能、整合、堅持為核心價值觀,初期主要專注于工業自動化領域的產品研發。在創立初期,公司面臨著資金緊張、市場競爭激烈等挑戰。然而,憑借著對技術的深刻理解和對市場的敏銳洞察,ATOP Technologies逐步在工業自動化領域站穩腳跟,并開始積累起一批忠實的客戶。
隨著公司規模的擴大,Fascomp開始關注更廣闊的市場。公司針對智能手機市場推出了一款低功耗、高性能的處理器,迅速在市場上獲得了成功。同時,公司還不斷推出新的產品線,如平板電腦專用芯片、物聯網設備等,以滿足不同客戶的需求。這些創新舉措使Fascomp在激烈的市場競爭中脫穎而出。
為了調節工作和生活,有人建議我要有業余愛好。這個引起我感興趣的愛好就是開發基于FPGA的視頻游戲.硅器件,軟件和解決方案可從Xilinx網站上得到,如果采用Xilinx Spartan™-3 Starter Kit 和ISE™ WebPACK™軟件作為開始,投 ...… 查看全部問答∨ |
|
“工程師是科學家;工程師是藝術家;工程師也是思想家。”一位偉大的工程師曾經提出過這樣的一段感言。不錯,工程師是利用自然科學來創造工程的人。工程既是物質的也是思想上的。許多不朽的工程,偉大的發明以及出神入化的技術方案,許多人往往只看 ...… 查看全部問答∨ |
|
最近在做一個項目,其中的電路圖設計到激光器和光電轉換器的封裝,但我以前沒什么這方面的經驗,故希望大家指點一下,他們的封裝類型通常是什么??一般尺寸又是多少呢??先謝過了!!… 查看全部問答∨ |
大家請看下面的程序: void Show_BMP(unsigned int Width,unsigned int Height) { unsigned long int position; position=0x4d200+0x3e+Width/7+Height*408; ... ... } 以上程序的寫法絕對沒有任何語法錯誤!!Code ...… 查看全部問答∨ |
上位機(PC機或具有串口的其他控制設備)通過RS232串口連接到本控制板后,向控制板發送一串ASCII代碼指令既可控制步進電機的轉向、轉速、步進量,完全不需了解步進電機及驅動器的工作原理。例如:串口發送\"S100\",則步進電機將順時針以每分鐘100轉 ...… 查看全部問答∨ |
|
wince 下我要用AM85C30實現同步通信(SDLC),問題是這個芯片接收FIFO 3字節,發送沒有緩沖! 比如我要用1Mbps通信,中斷頻率就要1M/8=125k/s, 接收的狀況要好一些,3字節的FIFO可以把中斷頻率降到125k/3=42k/s, 發送就更郁悶了,完全是125k/s ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- MIUI 13新系統已準備就緒 或與小米12推出
- Win11 時代再難有用武之地,聊聊那些沒落了的軟件
- 高通談驍龍8 Gen 1改名:數字不夠用了 和中國粉絲有關
- 沒屏下攝像頭,爆料稱小米12/Pro系列標配挖孔微曲屏
- 蘋果為Apple TV推出tvOS 15.2開發者預覽版Beta4更新了
- 蘋果Apple Music推出假日福利活動,給會員贈送杜比全景聲專輯
- iQOO Neo系列新機現身Google Play:搭驍龍888
- 三星Galaxy A73的規格、價格與渲染圖遭泄露
- vivo公開OriginOS Ocean新渲染圖曝光:展示部分UI界面
- Find N折疊屏旗艦要來嗎?OPPO未來科技大會2021定檔