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