意法半導體發(fā)布了一個以ARM7核心為基礎的STR7單片機系列。STR7單片機內(nèi)置閃存存儲器以支持片內(nèi)的程序運行。ST提供多種開發(fā)支持,如評估板和應用筆記。本文介紹了STR7系列單片機的特性和應用。
隨著全球化工業(yè)生產(chǎn)的發(fā)展與深入,終端產(chǎn)品功能的多樣化,8位或8051的工程師在設計工業(yè)控制器和模塊時,越來越需要復雜的以RISC(精簡指令系統(tǒng))為基礎的微處理器。由于有機能源的短缺和全球氣候變暖,對電子設備能耗的要求越來越高。意法半導體的STR7系列單片機內(nèi)置閃存存儲器,寄存器以一種很簡單的方式排列。STR7可以很方便地連接各種外部設備。ST提供豐富的應用筆記和例行程序,有效地降低了應用和學習的入門門檻。目前意法半導體提供三種評估板,STR710、STR720和STR730。
圖1. 評估板
有效地用好用熟一款單片機,最大限度地發(fā)揮硬件的效能是每一個工程師的目標;首次接觸ARM的系統(tǒng),要想達到上述目標,對于一個用慣8位或16位單片機的工程師來說,最簡單及最有效的方法就是以較短的時間快速地瀏覽和學習,然后迅速地進入一個設計項目,在工作中邊干邊學。STR7是一款以AR
M7TDMI為核心的通用單片機,它擁有復雜的內(nèi)部結(jié)構(gòu),包含豐富的外設和復用的I/O端口,所有的片上外設都有對應的寄存器控制。學好用好單片機,首先就是要熟練地掌握各種寄存器所控制的功能和它們的用法。有效地用好單片機的另個重要的問題是代碼執(zhí)行的效率,ARM7TDMI核心是RISC的結(jié)構(gòu),"C"語言是最常用的編程工具,因此代碼的執(zhí)行效率與編譯器的效率密切相關,目前市面上所有支持ARM7的C語言編譯器都可用于STR7系列單片機,常見的編譯器有ARM公司的RealView和ADS、IAR公司的編譯器、KEIL公司的編譯器和在開放軟件協(xié)議框架下的GCC編譯器。
STR7系列特性
STR7系列單片機有三個子系列,即STR710、STR720和STR730。以下是他們的共同特性,表一和表二列出了STR710和STR720系列的主要參數(shù)。
- 操作溫度范圍是-40℃到80℃。所以STR7單片機適合于設計工業(yè)應用器材、需要戶外使用的產(chǎn)品以及需要苛刻工作環(huán)境的產(chǎn)品。
- 盡管擁有外部存儲器接口(EMI),許多單片機還內(nèi)嵌了80K字節(jié)至272K字節(jié)不等的閃存存儲器,每款STR710系列的單片機更另外內(nèi)嵌16K字節(jié)的閃存存儲器作為額外的數(shù)據(jù)存儲區(qū)。閃存存儲器可擦寫10萬次,數(shù)據(jù)可保存20年。
- STR710和STR720系列單片機工作于3至3.6伏電壓,STR730系列單片機工作于4.5至5.5伏電壓;內(nèi)置的電壓轉(zhuǎn)換器產(chǎn)生ARM7核心所需的1.8伏電壓,省卻了外接的電壓轉(zhuǎn)換器。
- 電源供電管腳、A/D采樣的參考電壓和I/O管腳的供電均是獨立的輸入端;這一特性使得產(chǎn)品的電源設計更加方便和靈活,為產(chǎn)品設計的多樣性提供了方便,也有利于有效地處理電源的干擾問題。
- 在不同的STR7產(chǎn)品上分別配置了USB(2.0全速)或CAN總線接口,這兩種串行通信接口已經(jīng)非常廣泛地應用在許多工業(yè)及汽車領域。
- 與其他ARM7的產(chǎn)品不同,STR7單片機配備了HDLC(高級數(shù)據(jù)鏈路控制),這個串行通信協(xié)議廣泛地應用于儀器設備的互連接口。
- STR7單片機擁有多達4個UART接口。
- 通用輸入輸出端口(GPIO)可由寄存器的設置配置成多種不同的電氣特性:推拉輸出、內(nèi)置上拉輸入、開路輸出、TTL輸入、中斷觸發(fā)輸入、模擬輸入等。
- 六種電源功耗模式提供了多種優(yōu)化能耗的手段和可能,這六種電源功耗模式為:全速、慢速、等待與低功耗等待、暫停和停止。
- 所有STR7單片機都有獨立的JTAG調(diào)試接口,這個接口與所有的ARM產(chǎn)品的JTAG接口兼容,用戶可以使用任何的ARM工具調(diào)試開發(fā)任一款STR7的產(chǎn)品。
表 1. STR710產(chǎn)品和特性
STR7的應用
- 配備ARM7核心的單片機擁有相同的指令運行平臺,但不同的產(chǎn)品間仍有很大的差別;因此,應用工程師必須詳細了解具體產(chǎn)品的存儲器映像、各種內(nèi)置外設的操作與特性,更重要的是各個寄存器的構(gòu)造和控制細節(jié)。在STR7中,所有的內(nèi)置外設都聯(lián)結(jié)在高速外設總線(APB)上,每一種外設的控制寄存器被有效地分配在一個4K字節(jié)的地址空間內(nèi),所有外設的4K字節(jié)寄存器映像空間是按照一個特定的順序排列在制定的尋址范圍中。熟悉8位或16位單片機的工程師會發(fā)現(xiàn),掌握STR7的技術(shù)難度相對較低,通常一個熟練的工程師只需二至三個月的時間即可有效地使用STR7進行產(chǎn)品設計。
圖 2. STR710的尋址空間分布
- 為簡化用戶的開發(fā)工作,意法半導體開發(fā)了71xLibraryR.lib和71xLibraryD.lib 程序庫,它們集成了對STR710系列中各種外設的操作功能;使用STR710系列設計產(chǎn)品的工程師只要掌握相應的應用程序界面,即可方便地操作和使用各種STR7的外設,有效地縮短了客戶的設計開發(fā)周期。上述程序庫是以KEIL公司的C編譯器生成,可以在常用的ADS軟件環(huán)境下仿真調(diào)試。在提供編譯連接好的程序庫的同時,意法半導體還同時提供相應的C源程序,應用工程師可以經(jīng)過略加修改,將需要的庫函數(shù)包含在它自己的程序中,或使用其他的C編譯器環(huán)境。
圖3. 在KEIL的ARM開發(fā)環(huán)境下使用STR71x LIB
- 用STR7單片機設計固件程序,設計工程師首先需要合理地安排外設的使用和輸入輸出端口的分配,然后對各種配置寄存器進行編程。在確定了硬件環(huán)境的基礎后,軟件算法的實現(xiàn)將是主要的設計工作;KEIL的ARM開發(fā)環(huán)境中集成了一個STR7仿真器,可以用來有效地執(zhí)行和調(diào)試STR7的軟件算法。KEIL的ARM仿真器與KEIL的8051仿真器十分相似,熟悉805
1開發(fā)環(huán)境的工程師可以很快地掌握ARM的開發(fā)環(huán)境。這個開發(fā)環(huán)境及其仿真器是在Windows下的軟件,可以獨立于硬件仿真環(huán)境之外運行,因此固件程序的開發(fā)調(diào)試工作可以與硬件目標板的開發(fā)工作同步進行,這將有效地縮短產(chǎn)品的開發(fā)周期。另外,在8051開發(fā)方面領先的IAR公司,也提供支持STR7的編譯器和調(diào)試環(huán)境。
- 將仿真和調(diào)試環(huán)境與STR7的結(jié)構(gòu)和程序庫緊密地結(jié)合起來,為工程師的調(diào)試尤其是初學者的學習提供了極大的便利。在KEIL的操作界面上,使用者可以清楚地看到STR7的結(jié)構(gòu),包括存儲器的映像、寄存器的分配、外設的排列、外設寄存器的定義、中斷的優(yōu)先級管理等,涉及幾乎所有STR7的內(nèi)部器件。
圖 4. 在KEIL的開發(fā)環(huán)境下所看到的STR7
- KEIL的開發(fā)環(huán)境是一個設計友好的圖形界面,使用STR7的評估板和KEIL提供的JTAG硬件仿真器ULINK,工程師可以實時地察看外設寄存器和存儲器的內(nèi)容以及中斷響應的情況,還能夠觀察輸入輸出端口的狀態(tài);更重要的是,在這個環(huán)境下,可以在C源程序的級別設置執(zhí)行斷點設置、單步執(zhí)行、跳躍執(zhí)行或連續(xù)執(zhí)行等多種程序調(diào)試的操作。同時,KEIL開發(fā)環(huán)境可以直接執(zhí)行對STR7內(nèi)部閃存的燒錄。
圖5. STR710評估板與KEIL的ULINK硬件仿真器的連接示意
- STR720系列單片機內(nèi)置存儲器管理單元(MMU),為使用先進的RTOS(實時操作系統(tǒng))提供了極大的便利,因此STR720適用于使用一些商用的操作系統(tǒng)。在沒有MMU的STR710和STR730系列單片機中,可以采用KEIL的RTOS核心ARTX而不用額外支付操作系統(tǒng)的開發(fā)費用。KEIL還提供了以太網(wǎng)、PPP/SLIP、UDP和TCP/IP協(xié)議的程序庫。