999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SPI和UART在線編程機制的比較

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

宋慶華,宋慶國

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

2.石家莊聆風暢想信息技術有限公司,石家莊 050000)

?

SPI和UART在線編程機制的比較

宋慶華1,宋慶國2

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

2.石家莊聆風暢想信息技術有限公司,石家莊 050000)

摘要:分析了傳統并行編程技術的實現原理,介紹了以AT89S51為樣機利用串行外設接口(SPI)協議實現串行編程的原理和以P89V51RD2為樣機利用通用異步收發器(UART)串口協議實現串行編程的原理,對比了2種串行編程技術,闡述了用戶程序的保護措施和標記信息的應用方法,以便于管理開發過程、生產過程和日后維護。

關鍵詞:單片機燒寫;并行編程技術;通用異步收發器;串行外設接口;系統內編程

0引言

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

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

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

1新興的串行編程技術

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

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

1.1 利用SPI接口的串行編程機制

這種串行編程技術是基于串行外設接口(SPI)而實現的。該規范是由MOTOROLA公司最先提出并應用到本公司單片機系列產品中的。

1.1.1實現原理

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

AT89S系列單片機內部都在intel標準80C51的基礎上,額外設計了一個實現“串行編程接口邏輯”的硬件電路。如圖1所示,這是作者依據自己的理解和分析而繪制的一個示意圖。

圖1 AT89S51片內串行編程邏輯接口示意圖

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

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

圖2 串行燒寫編程和讀出校驗接線圖

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

圖3 串行燒寫編程和讀出校驗信號時序圖

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

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

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

1.1.2支撐電路設計

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

圖4 預留編程插口和跳線插針的目標板

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

圖5 “微機+下載電纜+目標板”三者連接關系

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

圖6 并口下載線實物照片

1.2 利用UART接口的串行編程機制

AT89S系列單片機的串行下載方法有一個顯著特點,即片內的編程接口邏輯是由純粹的硬件實現的,因此在編程期間AT89S的CPU被強制為“凍結”狀態,而不執行任何軟件。

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

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

1.2.1實現原理

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

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

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

圖8是單片機內部實現UART串行下載代碼數據和燒寫編程的示意圖。從中可以看出,對于片內Flash進行燒寫時,CPU處于活動狀態并且在執行廠家預先固化于ROM空間的“引導程序”。即在對Flash空間進行燒寫或擦除時,所執行的程序必須位于另外一個獨立的空間。

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

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

(2) 在編程過程中RAM數據存儲器擔當代碼數據緩沖區,暫存微機在一次下載通信中發來的一個HEX文件記錄。

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

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

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

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

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

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

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

另外,還可以讀、擦或寫用戶配置字節、引導矢量字節、引導狀態字節、芯片標記字節、鎖定位(LB1~LB3)以及時鐘模式配置位(FX2,定義每個機器周期包含12個或6個時鐘周期)等信息。

1.2.2支撐電路設計

單片機選擇P89V51Rx2系列型號,利用UART串口的ISP串行下載編程電路,串口的電平轉換選用的是典型電路,其中采用了一片專用芯片SP232或者MAX232。

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

2SPI和UART串行編程的對比

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

表1 SPI和UART串行編程特點對比表

參考文獻

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

[2]林潔,宋慶國,廖任秀.單片機應用技術(C語言版)[M].北京:清華大學出版社,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

文獻標識碼:A

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

主站蜘蛛池模板: 亚洲天堂高清| 亚洲高清中文字幕| 日本成人精品视频| 在线欧美日韩国产| 成人av专区精品无码国产 | 九九热精品在线视频| 一级毛片在线播放免费| 国产福利在线观看精品| 免费在线a视频| 色婷婷在线播放| 亚洲三级成人| 亚洲男人在线| 亚洲日本精品一区二区| 亚洲国产精品人久久电影| 国产日韩欧美黄色片免费观看| 69av免费视频| 亚洲看片网| a欧美在线| 天堂va亚洲va欧美va国产 | 久久国产精品影院| 91国内外精品自在线播放| 久久综合一个色综合网| 久久久久国产一区二区| 国产人免费人成免费视频| h视频在线播放| 一本大道无码日韩精品影视| 国产成人精品综合| 久久综合五月婷婷| jizz在线免费播放| 2021精品国产自在现线看| 久久中文字幕av不卡一区二区| 久久国产精品娇妻素人| 欧美综合区自拍亚洲综合绿色| 成人在线欧美| 操国产美女| 久久香蕉国产线看观看式| 国产精品久久久久久久伊一| 国产福利不卡视频| 国产主播福利在线观看 | 日本a级免费| 久久国产乱子| 国产成人盗摄精品| 制服丝袜无码每日更新| 日韩精品中文字幕一区三区| 伊人久热这里只有精品视频99| 国产成人AV男人的天堂| 无码AV日韩一二三区| 女人毛片a级大学毛片免费| 欧美国产日韩在线播放| 国产乱人伦偷精品视频AAA| 亚洲一区免费看| 成人一级免费视频| 成人午夜视频在线| 国产女人18水真多毛片18精品| 国产亚洲欧美在线人成aaaa| 亚洲清纯自偷自拍另类专区| 精品一区二区三区波多野结衣 | 久久国产精品影院| 亚洲日韩图片专区第1页| 亚洲综合狠狠| 深夜福利视频一区二区| 91色老久久精品偷偷蜜臀| 狠狠五月天中文字幕| 欧美精品二区| 夜色爽爽影院18禁妓女影院| 亚洲中文字幕手机在线第一页| 精品国产一区91在线| 婷婷丁香在线观看| 久久精品91麻豆| 色网站免费在线观看| 99热在线只有精品| 日本道综合一本久久久88| 亚洲日韩高清在线亚洲专区| 免费人成黄页在线观看国产| 一级全黄毛片| 国产一区三区二区中文在线| 在线播放国产99re| 最新精品国偷自产在线| 免费在线国产一区二区三区精品| 日韩欧美中文字幕一本| 午夜福利网址| 欧美高清国产|