亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MSP430單片機(jī)的BSL編程工具設(shè)計(jì)與應(yīng)用*

        2015-07-02 00:17:24常國權(quán)張捐凈
        關(guān)鍵詞:控件時序串口

        常國權(quán),張捐凈

        (安陽工學(xué)院 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,安陽 455000)

        ?

        MSP430單片機(jī)的BSL編程工具設(shè)計(jì)與應(yīng)用*

        常國權(quán),張捐凈

        (安陽工學(xué)院 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,安陽 455000)

        為了對燒斷熔絲的MSP430系列單片機(jī)進(jìn)行程序更新,采用USB轉(zhuǎn)串口芯片PL2303和VB6.0編程語言設(shè)計(jì)出了一款高性價比的BSL編程工具,給出了該編程工具的硬件和軟件設(shè)計(jì)的具體方案,并論述了設(shè)計(jì)中的要點(diǎn)。該BSL編程工具使用方便、操作簡單、成本低廉,投入使用以后獲得了較好的效果。

        MSP430單片機(jī); BSL; 編程工具; PL2303

        引 言

        美國德州儀器公司的MSP430系列單片機(jī)在智能儀器儀表、醫(yī)療電子、消費(fèi)電子等領(lǐng)域有著非常廣泛的應(yīng)用[1]。大部分MSP430系列單片機(jī)都具有非易失性Flash存儲器,用戶調(diào)試或更新Flash中程序的方式一般有兩種方法:JTAG和Bootstrap Loader[2](引導(dǎo)裝載程序,簡稱BSL)。

        MSP430系列單片機(jī)內(nèi)部集成了JTAG仿真調(diào)試模塊,并口轉(zhuǎn)換器就可以作為一個低成本的JTAG硬件仿真調(diào)試工具,然而,為了保護(hù)用戶程序代碼,往往產(chǎn)品開發(fā)完成之后必須要燒斷MSP430單片機(jī)內(nèi)部的熔絲,這就使得MSP430單片機(jī)無法再通過JTAG接口訪問CPU或者更新Flash中的用戶程序了,要想再次訪問或者更新Flash中的用戶程序就需要使用BSL接口。BSL接口也是對燒斷熔絲后的MSP430單片機(jī)進(jìn)行程序升級的唯一方法[3]。

        MSP430系列單片機(jī)出廠時在特定的內(nèi)存空間固化了一段引導(dǎo)代碼,即BSL,通過在單片機(jī)特定引腳上加一個特定的時序就可進(jìn)入這段引導(dǎo)代碼,用戶就可以通過標(biāo)準(zhǔn)的異步串行口訪問單片機(jī)的內(nèi)部資源,如Flash、RAM等(讀操作需要驗(yàn)證密碼),這就為嵌入式應(yīng)用提供了方便的升級和維護(hù)方式。

        采用USB轉(zhuǎn)串口芯片和VB6.0編程語言設(shè)計(jì)并實(shí)現(xiàn)了一種成本低廉、使用方便、操作簡單的BSL編程工具,可以通過串口實(shí)現(xiàn)對MSP430系列單片機(jī)進(jìn)行擦除、編程、自動下載文件、聲音提示以及自動運(yùn)行代碼等功能。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。

        圖1 系統(tǒng)總體設(shè)計(jì)框圖

        1 系統(tǒng)硬件設(shè)計(jì)

        該BSL編程工具的硬件是使用USB轉(zhuǎn)串口芯片PL2303設(shè)計(jì)的,具有使用方便、設(shè)計(jì)成本低等優(yōu)點(diǎn)。PL2303是Prolific公司生產(chǎn)的USB總線轉(zhuǎn)接芯片,具有全部調(diào)制解調(diào)器控制信號,如TXD、RXD、DTR、RTS等,可實(shí)現(xiàn)USB轉(zhuǎn)3.3 V或5 V全雙工串口TTL電平。

        PL2303芯片接入PC機(jī)后會產(chǎn)生一個虛擬的串口設(shè)備,使用VB6.0提供的MSComm串口控件進(jìn)行編程,即可控制TXD、RXD、DTR、RTS產(chǎn)生所需要的時序信號。盡管使用PC機(jī)的物理串口也可以實(shí)現(xiàn)同樣的功能,但并不是每臺PC機(jī)都有物理串口,USB轉(zhuǎn)串口芯片使得該編程工具省去了物理串口的限制,并可為MSP430單片機(jī)提供電源,因此,PL2303是移動系統(tǒng)和嵌入式系統(tǒng)的理想選擇,其小封裝能夠嵌入到任何連接件和手持設(shè)備中[4]。

        該編程工具將PL2303芯片的DTR、RTS引腳分別連接到MSP430系列單片機(jī)的RST、TCK(或者TEST)引腳,如果是帶有TEST引腳的MSP430單片機(jī),則應(yīng)用TEST引腳替換TCK引腳。TXD、RXD是串口發(fā)送、接收引腳,需要連接MSP430單片機(jī)對應(yīng)的BSL引腳,不同的單片機(jī)對應(yīng)的接收和發(fā)送引腳不完全一樣。PL2303芯片的第4個引腳VDD_325是用來決定控制信號邏輯電平的,MSP430系列單片機(jī)都是3.3 V工作電壓,因此,VDD_325應(yīng)該接3.3 V,以便于TXD、RXD、DTR和RTS產(chǎn)生3.3 V邏輯電平。AMS1117是用來將5 V電壓轉(zhuǎn)換為3.3 V電壓,除了給VDD_325提供電壓,也可以給外部的MSP430單片機(jī)提供3.3 V電源。系統(tǒng)硬件設(shè)計(jì)原理圖如圖2所示[5]。

        圖2 系統(tǒng)硬件設(shè)計(jì)原理圖

        2 系統(tǒng)軟件設(shè)計(jì)

        BSL編程工具的軟件設(shè)計(jì)采用VB6.0來實(shí)現(xiàn),盡管使用VC++、Delphi等編程工具都可以實(shí)現(xiàn)該軟件的設(shè)計(jì),但選擇VB6.0具有更多的優(yōu)勢,因?yàn)閂B是一種比較簡單的事件驅(qū)動編程語言,對初學(xué)者的要求較低。VB擁有圖形用戶界面和快速應(yīng)用程序開發(fā)系統(tǒng),使用其提供的組件完全可以完成該軟件的設(shè)計(jì)。

        2.1 MSP430單片機(jī)BSL時序介紹

        要使MSP430單片機(jī)進(jìn)入BSL復(fù)位向量,需要在單片機(jī)的RST和TCK(或者TEST)引腳施加一個特定的時序,MSP430單片機(jī)接到這個特定時序后,CPU的程序指針(PC)指向0x 0C00地址處,這是一段1 KB的ROM區(qū)(0x 0C00~0x 1000)。

        在BSL程序開始執(zhí)行時,TCK引腳已收到至少兩個負(fù)跳變,并且當(dāng)RST由低向高跳變時TCK保持低電平,此時,MSP430單片機(jī)進(jìn)入BSL狀態(tài);如果是帶有TEST引腳的MSP430單片機(jī),則應(yīng)用TEST引腳替換TCK引腳,并且TEST引腳接收的到是至少兩個正跳變,并且當(dāng)RST由低向高跳變時TEST保持高電平。MSP430單片機(jī)BSL啟動時序如圖3所示[6]。

        圖3 MSP430單片機(jī)BSL啟動時序圖

        2.2 BSL的串口通信協(xié)議

        MSP430單片機(jī)利用內(nèi)部定時器實(shí)現(xiàn)在特定的引腳模擬串口通信時序,大多數(shù)MSP430單片機(jī)的P1.1引腳作為BSL的發(fā)送端(即TXD),P2.2引腳作為BSL的接收端(即RXD),不同型號的單片機(jī)會有所不同[7]。

        MSP430單片機(jī)的串口協(xié)議默認(rèn)采用:9 600的波特率,半雙工模式,1位起始位,8位數(shù)據(jù)位(最低位在前),1個偶校驗(yàn)位,1位停止位。握手是通過一個確認(rèn)字符進(jìn)行的,在發(fā)送任何命令之前,必須先發(fā)送一個值為80H的同步字符給BSL,它提供了BSL系統(tǒng)時間基準(zhǔn)。當(dāng)BSL接收到同步字符之后,會發(fā)送一個90H的字符以確認(rèn)成功接收。

        BSL提供給用戶的命令主要分為兩類:一類命令需要驗(yàn)證密碼才能執(zhí)行,如訪問單片機(jī)Flash、RAM以及外設(shè)等操作;另一類命令無需驗(yàn)證密碼即可執(zhí)行,如整體擦除Flash、讀取BSL版本等。部分BSL命令數(shù)據(jù)幀格式如表1 所列[6]。

        其中,從HDR到LH的8個字節(jié)是必須的,xx表示任意數(shù)據(jù);數(shù)據(jù)D1~Dn是可選的;CKL是校驗(yàn)和的低位,CKH是校驗(yàn)和的高位,這兩個字節(jié)是必需的;ACK確認(rèn)字節(jié)并不是每個命令都需要的。

        表1 部分BSL命令數(shù)據(jù)幀格式

        2.3 BSL軟件設(shè)計(jì)

        進(jìn)行BSL軟件設(shè)計(jì),主要用到了VB6.0中的幾個關(guān)鍵控件,如MSComm、CommandDialog、ComboBox、Timer、TextBox、ProgressBar、CommandButton、CheckBox等標(biāo)準(zhǔn)控件。

        該BSL編程軟件下載的程序文件格式為TI公司txt純文本格式,它使用“@”表示地址的開始,地址后面表示從該地址開始要存儲的數(shù)據(jù)內(nèi)容,從地址后每一行為16個字節(jié),每個字節(jié)使用十六進(jìn)制數(shù)表示,每兩個字節(jié)之間用一個空格隔開。每遇到一個“@”字符就表示新地址的開始,地址后面同樣表示從該地址開始要存儲的數(shù)據(jù)內(nèi)容,文件最后以一個小寫的“q”字符加換行結(jié)束。根據(jù)TI-txt文件的格式,首先要使用CommandDialog控件打開要下載的文件,使用一定的算法分離出整個TI-txt文件中的多段起始地址以及每個起始地址所對應(yīng)的數(shù)據(jù)內(nèi)容,然后通過串口一步一步地發(fā)送給BSL并寫入到指定的地址段。BSL編程軟件對TI-txt文件的處理流程如圖4所示。

        圖4 BSL編程軟件對TI-txt文件的處理流程圖

        要通過串口實(shí)現(xiàn)上位機(jī)軟件和MSP430單片機(jī)的BSL進(jìn)行數(shù)據(jù)交換,最關(guān)鍵的一步就是先要使MSP430單片機(jī)進(jìn)入BSL狀態(tài)。而要想使MSP430單片機(jī)進(jìn)入BSL狀態(tài),必須要在RST和TCK(或者TEST)引腳施加一個特定的時序,通過使用MSComm的兩個屬性DTREnable和RTSEnable可以產(chǎn)生所需要的時序。DTREnable屬性是確定在通信過程中是否使用DTR(Data Terminal Ready)線。若DTREnable設(shè)置為True,則使用DTR線;若為False(缺省),則禁止DTR線。RTSEnable屬性和DTREnable屬性類似,RTSEnable屬性用于確定是否使用RTS(Request To Send)線。若RTSEnable設(shè)置為True,則使用RTS線;若為False(缺省),則不使用RTS線[8-9]。使用MSComm的這兩個屬性,可以在VB6.0中通過以下代碼使MSP430單片機(jī)進(jìn)入BSL狀態(tài)。

        Private Sub BslConnectCommand_Click() '連接BSL,并進(jìn)入BSL狀態(tài)

        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上位機(jī)軟件既可以適用于有TCK引腳的單片機(jī),也可以適用于有TEST引腳的單片機(jī),大大增強(qiáng)了BSL軟件的靈活性。

        使MSP430單片機(jī)進(jìn)入BSL狀態(tài)是關(guān)鍵的一步,打通了這一底層通信的關(guān)鍵環(huán)節(jié)之后,就可以一步一步地編寫調(diào)試其他各個軟件模塊了。MSP430單片機(jī)BSL編程軟件的設(shè)計(jì)流程圖和BSL編程軟件界面圖如圖5、6所示。

        圖5 BSL編程軟件的設(shè)計(jì)流程圖

        圖6 BSL編程軟件界面圖

        結(jié) 語

        [1] 沈建華.MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.

        [2] Texas Instruments.MSP430 Memory Programming User's Guide,2013.

        [3] 李智奇.MSP430系列超低功耗單片機(jī)原理與系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2008.

        [4] Porlific Technology Inc.PL-2303 USB TO RS-232 Bridge Controller Product Datasheet,2011.

        [5] 張偉.Protel99SE實(shí)用教程[M].北京:人民郵電出版社,2008.

        [6] Texas Instruments Incorporated. MSP430 Programming Via the Bootstrap Loader(BSL) User's Guide,2014.

        [7] Texas Instruments Incorporated.MSP430F241x,MSP430F261x Mixed Signal Microcontroller,2012.

        [8] 丘李華.Visual Basic程序設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2011.

        [9] 王定賢.基于VB的計(jì)算機(jī)與智能儀器串口通信[J].甘肅聯(lián)合大學(xué)學(xué)報:自然科學(xué)版,2011,25(4).

        常國權(quán)(碩士研究生),研究方向?yàn)榍度胧较到y(tǒng)技術(shù)應(yīng)用與開發(fā)。

        Application of MSP430 Microcontroller BSL Programming Tools

        Chang Guoquan,Zhang Juanjing

        (Department of Computer Science and Information Engineering,Anyang Institute of Technology,Anyang 455000,China)

        In order to solve the problem of MSP430 series microcontroller with blown fuse for program update,a BSL programming tool of high cost-effective is designed using PL2303 which is USB to serial port and VB6.0 programming language.The paper gives its specific solution of the hardware and software design,and discussed the key points of the design.This BSL programming tool has the advantages of convenient use,simple operation and low cost,and achieves good results after putting into use.

        MSP430 microcontroller;BSL;programming tool;PL2303

        《國產(chǎn)數(shù)控系統(tǒng)在車床企業(yè)應(yīng)用示范工程》國家科技重大專項(xiàng)子課題(項(xiàng)目編號:2012ZX04011-012)。

        TP368.2

        A

        士然

        2014-12-19)

        猜你喜歡
        控件時序串口
        時序坐標(biāo)
        基于Sentinel-2時序NDVI的麥冬識別研究
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        一種毫米波放大器時序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        DPBUS時序及其設(shè)定方法
        河南科技(2014年15期)2014-02-27 14:12:36
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        中文字幕中文字幕三区| 猫咪免费人成网站在线观看| 亚洲线精品一区二区三区| 久久国产精品一区av瑜伽| 精品少妇一区二区av免费观看| 欧美伦费免费全部午夜最新| 国产特级毛片aaaaaa视频| 熟妇人妻av中文字幕老熟妇| 俺来也俺去啦久久综合网| 深夜福利国产| 精品一区二区三区亚洲综合| 一区二区三区国产在线视频 | 最近中文字幕完整版免费| a级国产乱理论片在线观看| 欧美一级三级在线观看| 精品久久综合一区二区| 久久伊人久久伊人久久| 一本色道久久88加勒比| 亚洲gay片在线gv网站| 毛片无码国产| 久久精品一区二区三区av| 日韩一二三四精品免费| 中文字幕一区二区三区| 美女下蹲露大唇无遮挡| 久久久久人妻精品一区蜜桃| 日韩成人无码一区二区三区| 99热门精品一区二区三区无码| 激,情四虎欧美视频图片| 青青草成人原视频在线播放视频| 风韵犹存丰满熟妇大屁股啪啪| 一本色道无码道在线观看| 十八岁以下禁止观看黄下载链接| 国产福利小视频91| 视频在线亚洲视频在线| 99无码精品二区在线视频| 成人a级视频在线观看| 亚洲日韩欧美一区二区三区| 青青草视频国产在线观看| 丰满少妇人妻久久精品| 好吊妞无缓冲视频观看| 午夜dj在线观看免费视频|