娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

引言

美國德州儀器公司的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線[89]。使用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  單片機  BSL編程工具 引用地址:MSP430單片機的BSL編程工具設計與應用

上一篇:MSP430的車載無線手持終端系統設計
下一篇:基于MAX5945的以太網供電設備

推薦閱讀

集微網消息,華為將于本月27日在法國巴黎舉辦一場主題為“SEE MOORE WITH AI”的新品發布會,發布會的主角從海報便能看出來,是拍照能力出眾的P20系列。從媒體報道中我們得知P20系列共分為Lite、標準版、Pro三大版本,關于它們的圖片、參數等由于官方沒有公布,只能靠猜,讓人摸不著頭腦。隨著距離發布會日期的臨近,與華為關系密切的運營商開始曝光了...
AMD 2017年提交的一項專利近日公開,涉及被稱之為variable rate shading (VRS,可變著色比率)的技術。VRS簡單來說就是通過有選擇性地對畫面進行渲染著色來降低GPU的運算負載,從而提高畫面流暢度(幀率)。在去年NVIDIA發布Turing架構時,VRS特性就添加進來了。這項技術的現實意義在于,雖然顯卡性能日益強大,但要想100%優秀地處理4K甚至8K任務仍然有...
貿澤電子 (Mouser Electronics) 作為Texas Instruments (TI) 全品類產品的全球分銷商,現開始分銷TI SimpleLink? LPSTK-CC1352R LaunchPad? SensorTag套件。這款完全封閉的電池供電套件能夠加快原型開發速度,幫助物聯網 (IoT) 開發人員評估新產品創意,而無需從頭開始開發任何硬件或軟件。 貿澤電子備貨的LPSTK-CC1352R LaunchPad Sensor...
我們已經對中興天機Axon 20 5G進行了拆解,接下來我們從元器件角度,分析這款手機有什么特別之處。中興天機Axon 20 5G配置一覽:SoC:高通驍龍 765G處理器丨7nm工藝屏幕:6.92英寸OLED屏丨分辨率2460x1080丨屏占比96.5%存儲:6GB RAM+128GB ROM前置:3200 萬像素后置: 6400萬像素主攝+800萬像素超廣角+200萬像素景深+200萬像素微距電池:4120mAh...

史海拾趣

問答坊 | AI 解惑

新穎的單電極觸摸式開關電路

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 …

查看全部問答∨

基于FPGA的視頻游戲

為了調節工作和生活,有人建議我要有業余愛好。這個引起我感興趣的愛好就是開發基于FPGA的視頻游戲.硅器件,軟件和解決方案可從Xilinx網站上得到,如果采用Xilinx Spartan™-3 Starter Kit 和ISE™ WebPACK™軟件作為開始,投 ...…

查看全部問答∨

一個電子工程師的經驗之談

“工程師是科學家;工程師是藝術家;工程師也是思想家。”一位偉大的工程師曾經提出過這樣的一段感言。不錯,工程師是利用自然科學來創造工程的人。工程既是物質的也是思想上的。許多不朽的工程,偉大的發明以及出神入化的技術方案,許多人往往只看 ...…

查看全部問答∨

關于激光器和光電轉換器的封裝

最近在做一個項目,其中的電路圖設計到激光器和光電轉換器的封裝,但我以前沒什么這方面的經驗,故希望大家指點一下,他們的封裝類型通常是什么??一般尺寸又是多少呢??先謝過了!!…

查看全部問答∨

分享:經典的Code VisionAVR錯誤!千萬小心!!

大家請看下面的程序: void Show_BMP(unsigned int Width,unsigned int Height) { unsigned long int position; position=0x4d200+0x3e+Width/7+Height*408; ... ... }   以上程序的寫法絕對沒有任何語法錯誤!!Code ...…

查看全部問答∨

VB編程RS232串口控制步進電機

上位機(PC機或具有串口的其他控制設備)通過RS232串口連接到本控制板后,向控制板發送一串ASCII代碼指令既可控制步進電機的轉向、轉速、步進量,完全不需了解步進電機及驅動器的工作原理。例如:串口發送\"S100\",則步進電機將順時針以每分鐘100轉 ...…

查看全部問答∨

誰有NEC-78KOS系列的中文資料上傳一點

誰有NEC-78KO系列的中文資料上傳一點,謝謝啦…

查看全部問答∨

ZigBee求救~

剛弄不長時間的ZigBee,協議也僅僅把APL和NWKL簡單看了看,IEEE802.15.4還沒看~ 協議棧用的TI的Z-stack~ 組網試驗定位試驗都作過了~ 可現在的需求是要求串行傳輸數據,也就是一個接一個的接力傳輸,不知道如何下手了,Z-stack基本上沒怎么看~ ...…

查看全部問答∨

也發一個關于中斷相應時間的問題,SDLC通信

wince 下我要用AM85C30實現同步通信(SDLC),問題是這個芯片接收FIFO 3字節,發送沒有緩沖! 比如我要用1Mbps通信,中斷頻率就要1M/8=125k/s, 接收的狀況要好一些,3字節的FIFO可以把中斷頻率降到125k/3=42k/s, 發送就更郁悶了,完全是125k/s ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 瓦房店市| 台江县| 奉节县| 宁陵县| 申扎县| 丰原市| 平泉县| 开封市| 宝坻区| 福贡县| 中超| 铜山县| 合川市| 手游| 绥芬河市| 东兰县| 秀山| 古田县| 河北省| 瓮安县| 那坡县| 长泰县| 斗六市| 平江县| 永丰县| 曲麻莱县| 大同市| 兴文县| 贵南县| 双桥区| 阆中市| 峡江县| 教育| 治县。| 安宁市| 赤峰市| 景德镇市| 平陆县| 铜川市| 安远县| 台中县|