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

        ?

        SPI和UART在線編程機(jī)制的比較

        2016-01-28 06:49:11宋慶華宋慶國
        艦船電子對抗 2015年5期

        宋慶華,宋慶國

        (1.中國電子科技集團(tuán)公司第13研究所,石家莊 050051;

        2.石家莊聆風(fēng)暢想信息技術(shù)有限公司,石家莊 050000)

        ?

        SPI和UART在線編程機(jī)制的比較

        宋慶華1,宋慶國2

        (1.中國電子科技集團(tuán)公司第13研究所,石家莊 050051;

        2.石家莊聆風(fēng)暢想信息技術(shù)有限公司,石家莊 050000)

        摘要:分析了傳統(tǒng)并行編程技術(shù)的實(shí)現(xiàn)原理,介紹了以AT89S51為樣機(jī)利用串行外設(shè)接口(SPI)協(xié)議實(shí)現(xiàn)串行編程的原理和以P89V51RD2為樣機(jī)利用通用異步收發(fā)器(UART)串口協(xié)議實(shí)現(xiàn)串行編程的原理,對比了2種串行編程技術(shù),闡述了用戶程序的保護(hù)措施和標(biāo)記信息的應(yīng)用方法,以便于管理開發(fā)過程、生產(chǎn)過程和日后維護(hù)。

        關(guān)鍵詞:單片機(jī)燒寫;并行編程技術(shù);通用異步收發(fā)器;串行外設(shè)接口;系統(tǒng)內(nèi)編程

        0引言

        目前,隨著單片機(jī)開發(fā)技術(shù)的高度發(fā)展,集成開發(fā)環(huán)境(IDE)功能日益強(qiáng)大和完善,基本把單片機(jī)應(yīng)用開發(fā)流程中所需的各種軟件工具全部囊括其中(例如,源代碼編輯器、初級語言匯編器、高級語言編譯器、連接定位器、軟件模擬調(diào)試器、代碼格式轉(zhuǎn)換器、模塊文件庫管理器等),幾乎不需要購買任何硬件裝置,也可以實(shí)現(xiàn)單片機(jī)程序的設(shè)計(jì)和調(diào)試。但是,在利用軟件工具鏈進(jìn)行單片機(jī)應(yīng)用項(xiàng)目的開發(fā)過程中,末尾一個環(huán)節(jié)就是燒寫程序到單片機(jī)中。這也是一道必須借助于硬件工具才能夠?qū)崿F(xiàn)的工序,哪怕是非常簡單的硬件工具,簡單到只有3芯(或2芯)的一條連接線[1]。

        在80C51系列單片機(jī)中,可以由開發(fā)者自主編程的型號有電可編程只讀存儲器(EPROM)版本的87C51(包含窗口EPROM型和OTP-EPROM型)、Flash版本的89C51等。當(dāng)前從制作工藝、性能特點(diǎn)、零售價格和使用方便性等方面進(jìn)行比較,由于89C51具有明顯的優(yōu)勢,因此Flash型單片機(jī)是初學(xué)者或工程師在項(xiàng)目研發(fā)階段的首選型號。

        雖然能夠供應(yīng)Flash型89C51產(chǎn)品的廠商眾多,例如ATMEL、NXP、SST、STC和ISSI等公司,但是深受歡迎、影響廣泛、性價比高的型號之一是AT89S51。

        1新興的串行編程技術(shù)

        傳統(tǒng)的并行編程方式一般只能借助于“通用程序燒寫器”才能實(shí)現(xiàn),并且還必須把單片機(jī)插接到燒寫器面板上的插座中才能實(shí)施。并行編程方式的主要缺點(diǎn)是:燒寫設(shè)備昂貴;燒寫操作麻煩;需要外部提供電壓值較高的編程電壓;不便于實(shí)現(xiàn)在系統(tǒng)內(nèi)編程(ISP);更是不能實(shí)現(xiàn)在應(yīng)用中編程(IAP)[2]。

        為了克服上述缺點(diǎn)和局限性,一些80C51的新型兼容品設(shè)計(jì)了串行編程能力,也就是在芯片內(nèi)部配備了實(shí)現(xiàn)“串行編程接口邏輯”功能的硬件電路。這里就試圖對于當(dāng)前非常普及的2種不同的實(shí)現(xiàn)串行編程的技術(shù)方案進(jìn)行研究。主要研究兩者的支撐邏輯、工作原理、功能特點(diǎn)、性能對比、制作成本、自制便利性、使用方便性、操作特點(diǎn)、對應(yīng)單片機(jī)產(chǎn)品的豐富程度等方面。

        1.1 利用SPI接口的串行編程機(jī)制

        這種串行編程技術(shù)是基于串行外設(shè)接口(SPI)而實(shí)現(xiàn)的。該規(guī)范是由MOTOROLA公司最先提出并應(yīng)用到本公司單片機(jī)系列產(chǎn)品中的。

        1.1.1實(shí)現(xiàn)原理

        ATMEL公司不斷完善和主力推出的AT89S系列單片機(jī),其中包括AT89S51、AT89LS51、AT89S52、AT89LS52、AT89S53、AT89LS53、AT89S8252、AT89LS8252、AT89S8253、AT89LS8253等型號。這里將以AT89S51為例。

        AT89S系列單片機(jī)內(nèi)部都在intel標(biāo)準(zhǔn)80C51的基礎(chǔ)上,額外設(shè)計(jì)了一個實(shí)現(xiàn)“串行編程接口邏輯”的硬件電路。如圖1所示,這是作者依據(jù)自己的理解和分析而繪制的一個示意圖。

        圖1 AT89S51片內(nèi)串行編程邏輯接口示意圖

        與并行編程方式顯著不同的是,編程操作所需要的信號線數(shù)量大大減少了,但是單片機(jī)內(nèi)部接口邏輯的復(fù)雜程度也相應(yīng)提高了,額外增加了串行編程操作命令的譯碼邏輯。不過,這些復(fù)雜功能的實(shí)現(xiàn)都已經(jīng)由芯片制造商ATMEL在芯片層面上解決了,對于單片機(jī)應(yīng)用者了解即可。由上述譯碼邏輯負(fù)責(zé)把一些命令編碼“翻譯”成一系列內(nèi)部操作的控制信號。

        在串行編程方式下,編程引腳所分配的信號功能如圖2所示[1]。所需要的主要信號線僅僅只有4條:串行時鐘線(SCK)、串行命令(包含地址和數(shù)據(jù))輸入線(MOSI)、串行數(shù)據(jù)輸入線(MISO),還需要復(fù)位線(RST)的配合。

        圖2 串行燒寫編程和讀出校驗(yàn)接線圖

        編程引腳所需要的信號時序如圖3所示[1]??梢钥闯?,該信號時序與目前流行的一種同步串行接口規(guī)范SPI相一致。因此,包含AT89S51在內(nèi)的AT89Sxx系列單片機(jī)又可以被稱為具有SPI接口下載能力的單片機(jī)。

        圖3 串行燒寫編程和讀出校驗(yàn)信號時序圖

        為什么說串行編程方式可以克服并行編程方式的一些局限性,還可以增加靈活性呢?作者進(jìn)行了如下分析:

        (1) 可以方便地實(shí)現(xiàn)ISP編程方式。理由是所需引線很少,只要6條連線即可。其中4條信號線,2條電源線。

        (2) 可以免用價格較貴的商用燒寫器,特別適合那些手頭缺少專業(yè)開發(fā)工具的初學(xué)者開展自行上手演練和電子制作等實(shí)戰(zhàn)活動。

        1.1.2支撐電路設(shè)計(jì)

        為了利用好AT89S系列單片機(jī)的ISP編程方式,需要印制電路板(PCB)目標(biāo)板的配合,并且在設(shè)計(jì)目標(biāo)板時就該預(yù)留出和焊裝上編程接口插針(一般10針)和跳線切換插針,如圖4所示[2]。

        圖4 預(yù)留編程插口和跳線插針的目標(biāo)板

        如圖5所示,將PC微機(jī)系統(tǒng)通過其并行接口LPT與下載編程電纜(即AT89ISP Programmer Cable)連接,再通過一個10芯插口連接到用戶目標(biāo)板的示意圖。

        圖5 “微機(jī)+下載電纜+目標(biāo)板”三者連接關(guān)系

        圖6為一款適合自行制作的并口下載線實(shí)物照片。其內(nèi)部電路可以利用一片74HC373搭配幾只電阻構(gòu)建而成,也可以利用一片74HC245搭建而成,還可以利用一片74HC573、74HC244或者74HC126搭建。作者親自動手制作了幾種不同的電路方案,實(shí)踐證明,其中利用74HC573和74HC373的電路工作很可靠。

        圖6 并口下載線實(shí)物照片

        1.2 利用UART接口的串行編程機(jī)制

        AT89S系列單片機(jī)的串行下載方法有一個顯著特點(diǎn),即片內(nèi)的編程接口邏輯是由純粹的硬件實(shí)現(xiàn)的,因此在編程期間AT89S的CPU被強(qiáng)制為“凍結(jié)”狀態(tài),而不執(zhí)行任何軟件。

        其他幾家公司推出的一些80C51兼容單片機(jī)中所增添的串行下載功能采取了與AT89S系列完全不同的技術(shù)方案,就是利用現(xiàn)成的異步串行通信接口UART來實(shí)現(xiàn),僅占用2條信號引線。例如,Winbond的W78E5xx/ W77E5xx、NXP的P89C51Rxx/ P89C6xx/ P89LPC9xx/ P89V51Rx2、STC的STC89C5xRC/ STC12Cxxxx、SST公司的SST89C5x/ SST89E5xRC / SST89E5xRD等。

        利用現(xiàn)有UART接口來實(shí)現(xiàn)下載編程的特點(diǎn)是:占用PC機(jī)一個串口COM;僅需一條3芯連線;不需制作專用下載電纜(利用通用9芯電纜也可);編程期間需要目標(biāo)單片機(jī)的CPU執(zhí)行ROM固件程序;通常這類單片機(jī)內(nèi)部配備了一塊專用ROM空間,并且在出廠時固化了一個引導(dǎo)裝載程序BootLoader(包含一段ISP監(jiān)控程序和一個“在應(yīng)用中編程”(IAP)子程序集,其中IAP子程序集可以供ISP監(jiān)控程序或用戶程序調(diào)用,ISP監(jiān)控程序用以建立與PC系統(tǒng)的通信);這類單片機(jī)一般都具有IAP能力,給遠(yuǎn)程遙控升級用戶軟件或遙控修改用戶密碼提供了硬件支撐基礎(chǔ)。

        1.2.1實(shí)現(xiàn)原理

        這里將以P89V51Rx2系列單片機(jī)(即P89V51RB2、 P89V51RC2或P89V51RD2)為樣機(jī),說明串行燒寫編程的操作原理。圖7和圖8為硬件編程邏輯示意圖,這些都是作者自行分析和總結(jié)后繪出的,以便于推敲UART串行編程的操作原理。

        圖7中PC機(jī)通過一個9針串口COM、一條通用電纜(充當(dāng)下載線,僅利用了3芯)、一片RS232/TTL電平轉(zhuǎn)換器,連接到目標(biāo)板中單片機(jī)的UART串口信號RXD和TXD以及接地信號。另外,需要在微機(jī)上運(yùn)行一個專用軟件,作為人機(jī)操作界面。

        圖8 UART串行編程邏輯示意圖

        圖8是單片機(jī)內(nèi)部實(shí)現(xiàn)UART串行下載代碼數(shù)據(jù)和燒寫編程的示意圖。從中可以看出,對于片內(nèi)Flash進(jìn)行燒寫時,CPU處于活動狀態(tài)并且在執(zhí)行廠家預(yù)先固化于ROM空間的“引導(dǎo)程序”。即在對Flash空間進(jìn)行燒寫或擦除時,所執(zhí)行的程序必須位于另外一個獨(dú)立的空間。

        理由是,當(dāng)燒寫或擦除Flash空間的部分存儲單元時,需要把給該Flash整個空間供電的電源電壓進(jìn)行提升,即利用電荷泵技術(shù)把單片機(jī)外接電源電壓提升為燒寫和擦除操作所需的高電壓(即Vpp,目前一般約為12 V左右),如果這時依然把該Flash空間當(dāng)作指令源,容易出現(xiàn)意外結(jié)果或亂碼情況。從圖8中還可以看出:

        (1) 在編程過程中UART串口負(fù)責(zé)與微機(jī)建立通信,接受微機(jī)以HEX文件格式發(fā)送的控制命令和目標(biāo)文件記錄。

        (2) 在編程過程中RAM數(shù)據(jù)存儲器擔(dān)當(dāng)代碼數(shù)據(jù)緩沖區(qū),暫存微機(jī)在一次下載通信中發(fā)來的一個HEX文件記錄。

        (3) CPU對于Flash空間的燒寫、讀出和擦除等編程操作,是靠一個編程接口邏輯來實(shí)現(xiàn)的。

        (4) 除了Flash存儲空間,還有用戶配置字節(jié)、引導(dǎo)矢量字節(jié)、引導(dǎo)狀態(tài)字節(jié)、芯片標(biāo)記字節(jié)以及鎖定位,這些都屬于燒寫編程的操作對象。其中只有芯片標(biāo)記字節(jié)的內(nèi)容是由廠家寫入的,對于用戶是不可改寫的。

        (5) 只有在ISP或IAP編程期間,上述編程對象才是可以被CPU讀寫的。

        (6) 也只有在ISP或IAP編程期間,固化著引導(dǎo)程序的ROM空間才作為CPU的指令源。

        其實(shí),UART串行編程過程可以被分解為2種操作活動:

        第1種操作是通過外接電纜與微機(jī)通信來下載一個HEX文件記錄(不大于64字節(jié))到RAM緩沖區(qū)(從80H字節(jié)開始存放);

        第2種操作則是經(jīng)過內(nèi)部“編程接口邏輯”來建立與Flash等存儲空間的讀/寫途徑。不斷循環(huán)和交替進(jìn)行上述2種操作,就能夠把一個很大的HEX目標(biāo)文件全部燒寫到單片機(jī)內(nèi)部。

        另外,還可以讀、擦或?qū)懹脩襞渲米止?jié)、引導(dǎo)矢量字節(jié)、引導(dǎo)狀態(tài)字節(jié)、芯片標(biāo)記字節(jié)、鎖定位(LB1~LB3)以及時鐘模式配置位(FX2,定義每個機(jī)器周期包含12個或6個時鐘周期)等信息。

        1.2.2支撐電路設(shè)計(jì)

        單片機(jī)選擇P89V51Rx2系列型號,利用UART串口的ISP串行下載編程電路,串口的電平轉(zhuǎn)換選用的是典型電路,其中采用了一片專用芯片SP232或者M(jìn)AX232。

        至于下載線的制作要比SPI串口編程方式的下載線簡單多了,直接使用一條通用9芯的一頭針一頭孔的COM口電纜即可。

        2SPI和UART串行編程的對比

        針對上述介紹的SPI和UART接口串行編程方法所存在的差異和特點(diǎn),分幾個方面進(jìn)行一些對比,供讀者參考和根據(jù)實(shí)際項(xiàng)目需要進(jìn)行選擇,如表1所示。

        表1 SPI和UART串行編程特點(diǎn)對比表

        參考文獻(xiàn)

        [1]宋慶國,李慧,李學(xué)海,等.基于GPRS和IE的分布式收費(fèi)終端功能升級策略[J].微型機(jī)與應(yīng)用,2013(6):23-26.

        [2]林潔,宋慶國,廖任秀.單片機(jī)應(yīng)用技術(shù)(C語言版)[M].北京:清華大學(xué)出版社,2014.

        Comparison of Online Programming Mechanisms between SPI and UART

        SONG Qing-hua1,SONG Qing-guo2

        (1.The 13th Electronic Research Institute,CETC,Shijiazhuang 050051,China;

        2.Shijiazhuang Leafchanson Information Technology Co.,Ltd,Shijiazhuang 050000,China)

        Abstract:This paper analyzes the realization principle of traditional parallel programming techniques,taking AT89S51 as the prototype,introduces the principle using serial peripheral interface (SPI) protocol to realize serial programming,and taking P89V51RD2 as the prototype,introduces the principle using universal asynchronous receiver/transmitter (UART) serial interface protocol to realize serial programming,compares two serial programming techniques,expatiates the user program protection and application method of sign information to facilitate the management of development process,production process and future maintenance.

        Key words:single chip micyoco burning;parallel programming technique;universal asynchronous receiver/transmitter;serial peripheral interface;in-system programming

        收稿日期:2015-02-06

        DOI:10.16426/j.cnki.jcdzdk.2015.05.024

        中圖分類號:TP368.1

        文獻(xiàn)標(biāo)識碼:A

        文章編號:CN32-1413(2015)05-0108-05

        午夜裸体性播放| 国产91精品清纯白嫩| 少妇激情高潮视频网站| 中文字幕亚洲无线码一区女同| 亚洲av综合色区无码一二三区 | 在线精品日韩一区二区三区| 最新国产成人自拍视频| 日本av在线一区二区| 欧美a级情欲片在线观看免费| 久久亚洲道色宗和久久| 日韩精品有码中文字幕| 亚洲中文字幕国产视频| 毛多水多www偷窥小便| 妺妺窝人体色www在线直播| 人妻乱交手机在线播放| 亚洲av无码一区二区三区天堂| 射死你天天日| 欧美高h视频| 少妇高潮精品在线观看| 99久久婷婷国产综合精品青草免费| 色婷婷日日躁夜夜躁| 中文字幕日本一区二区在线观看| 亚洲av区,一区二区三区色婷婷 | 日本人妻少妇精品视频专区| 华人在线视频精品在线| 国产乱国产乱老熟300部视频 | 熟女人妻在线视频| 午夜福利不卡无码视频| 熟妇人妻精品一区二区视频| 男女猛烈xx00免费视频试看| 国内精品久久久影院| 色综久久综合桃花网国产精品| 日韩精品亚洲一区二区| 国外精品视频在线观看免费| 欧美日一本| 精品国产自在现线看久久| 欧美内射深喉中文字幕| 免费精品美女久久久久久久久久| 国产色视频在线观看了| 熟女少妇精品一区二区| 亚洲综合欧美在线|