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

        ?

        一種基于串口協(xié)議的程序燒寫方法與改進(jìn)措施

        2017-02-03 05:05:03李菁趙龍飛凌霄
        電子設(shè)計(jì)工程 2017年21期
        關(guān)鍵詞:單片機(jī)程序

        李菁,趙龍飛,凌霄

        (北京航天發(fā)射技術(shù)研究所北京100076)

        在英飛凌16位/32位控制器的開發(fā)過程中,比較通用的方法是利用仿真器通過14針腳的JTAG端口對(duì)控制程序進(jìn)行在線調(diào)試與加載,該方法在硬件測(cè)試及軟件調(diào)試階段非常方便,但著眼于現(xiàn)有車載控制器機(jī)械外形,外接的有限接插件端子數(shù)便成為制約控制器性能的一個(gè)重要因素,如預(yù)留多個(gè)端子專供JTAG口程序加載,會(huì)造成控制器資源的巨大浪費(fèi),此時(shí)利用端口復(fù)用技術(shù)便成為解決此類問題的關(guān)鍵。

        文中以16位的XC164單片機(jī)為例,設(shè)計(jì)并改進(jìn)了一種利用UART串口協(xié)議對(duì)其進(jìn)行程序加載的方法,該方法也稱為BSL工作模式下的程序加載,它通過特定的引腳與PC主機(jī)進(jìn)行通信,采用標(biāo)準(zhǔn)的UART協(xié)議完成數(shù)據(jù)傳輸,從而完成控制器的程序下載功能。該方法硬件接口簡單,并可復(fù)用為RS232/RS422接口,功能可靠,已在實(shí)際調(diào)試中取得良好效果。

        1 XC164單片機(jī)的BSL模式簡介

        BSL(Bootstrap loader)是英飛凌單片機(jī)的內(nèi)嵌引導(dǎo)程序加載器提供的一種加載啟動(dòng)程序的機(jī)制,用于標(biāo)準(zhǔn)的系統(tǒng)啟動(dòng)。XC164系列單片機(jī)可支持3種協(xié)議/模式的BSL啟動(dòng)機(jī)制:標(biāo)準(zhǔn)UART協(xié)議,同步串行協(xié)議和CAN總線協(xié)議。不論哪種協(xié)議/模式,XC164系列單片機(jī)加載程序的處理方式是相同的。其中UART協(xié)議是實(shí)現(xiàn)設(shè)備之間低速數(shù)據(jù)通信的標(biāo)準(zhǔn)協(xié)議,是一種異步串行通信協(xié)議。

        1.1 基于UART協(xié)議的BSL引導(dǎo)程序

        引導(dǎo)程序加載器是通過預(yù)先定義好的一組接口引腳與外部主機(jī)通信的,BSL啟動(dòng)模式下,這些接口引腳被自動(dòng)使能,并由引導(dǎo)程序加載器控制。XC164根據(jù)外部引腳設(shè)置,上電復(fù)位后進(jìn)入BSL模式,同時(shí)禁止看門狗定時(shí)器和調(diào)試系統(tǒng),在與PC機(jī)建立通信之后,BSL進(jìn)入到下一個(gè)循環(huán)中,接收相應(yīng)個(gè)數(shù)的字節(jié),這些字節(jié)從地址E0'0000H開始順序保存到片上PSRAM中。加載的代碼可能是最后的應(yīng)用代碼或是其他更為復(fù)雜的程序,該加載程序添加了傳送協(xié)議,從而增強(qiáng)了加載代碼或數(shù)據(jù)的一致性,還可能包含改變系統(tǒng)配置并使能總線接口,從而將接收到的數(shù)據(jù)保存在外部存儲(chǔ)器中的代碼序列。為了執(zhí)行加載的代碼,之后BSL使寄存器VECSEG指向地址E0'0000H,即要加載的第一條指令處,然后跳轉(zhuǎn)到該指令。

        1.2 BSL模式下XC164與PC機(jī)的UART通信時(shí)序

        XC164與PC機(jī)的硬件連接原理性框圖如圖1所示,通過PC的串行端口,經(jīng)RS232/RS422總線將加載程序發(fā)送給XC164單片機(jī),通過引導(dǎo)程序加載到芯片的FLASH中,完成控制器的程序下載功能。

        圖1 XC164與PC機(jī)的硬件連接圖

        標(biāo)準(zhǔn)UART引導(dǎo)程序加載通過USIC0通道0(UOCO)將程序代碼/數(shù)據(jù)傳送到PSRAM中。發(fā)送ID字節(jié)之后才能使能U0C0接收與主機(jī)進(jìn)行半雙工連接。在標(biāo)準(zhǔn)UART引導(dǎo)模式中,通信“握手”數(shù)據(jù)使用了不帶奇偶校驗(yàn)的異步8位數(shù)據(jù)幀(1個(gè)起始位,1個(gè)停止位),其通信時(shí)序如圖2所示。

        圖2 標(biāo)準(zhǔn)UART引導(dǎo)程序加載時(shí)序

        XC164進(jìn)入U(xiǎn)ART BSL模式并完成相應(yīng)的初始化之后,XC164掃描RXD線,接收一個(gè)零字節(jié)。零字節(jié)被認(rèn)為是包含1個(gè)起始位,8個(gè)0數(shù)據(jù)位以及1個(gè)停止位。在該零字節(jié)傳送期間,XC164以當(dāng)前CPU時(shí)鐘為單位,計(jì)算相應(yīng)的波特率因子,相應(yīng)的初始化串行接口U0C0并將引腳TXD切換到輸出,使用該波特率,向提供加載數(shù)據(jù)的主機(jī)返回一個(gè)ID字節(jié)。一旦發(fā)送ID字節(jié),BSL進(jìn)入下一個(gè)循環(huán),通過U0C0接收用戶數(shù)據(jù)。

        1.3 BSL通信波特率設(shè)置

        XC164系列單片機(jī)允許用戶在很寬的波特率范圍內(nèi)進(jìn)行引導(dǎo)程序加載操作,但為了確保正確的數(shù)據(jù)傳送操作,用戶波特率的設(shè)置必須滿足上限和下限的要求。XC164使用位域PDIV測(cè)量第一個(gè)零字節(jié)的長度。量化誤差使得測(cè)量值可能與實(shí)際波特率有一定偏差。為了正確從主機(jī)向XC164傳送數(shù)據(jù),U0C0內(nèi)部初始化波特率和主機(jī)的實(shí)際波特率之間的最大偏差應(yīng)該低于2.5%??筛鶕?jù)式(1)計(jì)算XC164的波特率與主機(jī)波特率之間的偏差(FB,百分?jǐn)?shù))

        注:函數(shù)(FB)不考慮振蕩器和其他支持串口通信的器件的容差。

        該波特率偏差是一個(gè)非線性函數(shù),和系統(tǒng)時(shí)鐘以及主機(jī)波特率有關(guān)。由于較小的波特率預(yù)分頻因子容易導(dǎo)致較大的量化誤差,因此函數(shù)(FB)的最大值隨主機(jī)波特率增加而增大,如圖3所示。

        圖3 主機(jī)與XC16X之間的波特率偏差

        測(cè)量零字節(jié)時(shí),最小波特率BLow由位域PDIV最大計(jì)數(shù)能力決定,取決于系統(tǒng)時(shí)鐘,低于BLow的值會(huì)導(dǎo)致PDIV溢出,U0C0不能被正確初始化,可能導(dǎo)致與PC機(jī)通信失敗。最大波特率BHigh是指未超過偏差極限的最高波特率。主機(jī)與XC164單片機(jī)建立通信時(shí),通信波特率的設(shè)置最好在BLow和BHigh之間選取。

        標(biāo)準(zhǔn)UART加載模式下,最小波特率BLow為2.4 K,BHigh為19.2 K。

        2 基于串口協(xié)議的程序燒寫方法的硬件實(shí)現(xiàn)

        單片機(jī)選用型號(hào)SAK-XC164CS-32F40F,總線協(xié)議收發(fā)器選用MAX1490EBEPG,單片機(jī)配置引腳如圖4所示,信號(hào)EX_DL連同RS422的4條總線信號(hào)一起被引出控制器接插件,作為控制器的BSL模式配置端口和RS422通信端口,當(dāng)EX_DL通過開關(guān)切換至低電平時(shí),單片機(jī)復(fù)位后進(jìn)入BSL加載模式;切換至高電平時(shí),串口僅作有RS422通信功能。

        圖4 單片機(jī)XC164 BSL加載模式配置引腳

        UART BSL程序加載是通過特定的端口進(jìn)行的,串口與XC164的硬件連接如下圖5所示,MAX1490是RS422收發(fā)器,實(shí)現(xiàn)PC機(jī)與422總線間的電平轉(zhuǎn)換,XC164的P3.10和P3.11既可以用于串口加載程序和RS232/RS422通信,也可以復(fù)用普通IO端口。

        串口協(xié)議的引導(dǎo)程序加載功能可以通過Memtool實(shí)現(xiàn)。Memtool是英飛凌提供的免費(fèi)下載軟件,可以對(duì)目前英飛凌單片機(jī)所有產(chǎn)品進(jìn)行編程,包括片內(nèi)存儲(chǔ)器編程和外部Flash編程。Memtool 4.2軟件的主界面如圖6所示,選擇菜單欄“Target”菜單下的“Change”欄,在XC16X系列中配置具體的目標(biāo)芯片,串口使用的波特率115200和COM端口。

        圖5 串口總線與單片機(jī)的硬件連接

        圖6 Memtool 4.2軟件主界面

        Memtool軟件配置完成后,控制器重新上電復(fù)位,點(diǎn)擊“connect”,XC164芯片則進(jìn)入引導(dǎo)程序硬件初始化和與PC主機(jī)建立通信的階段,通信建立的實(shí)測(cè)時(shí)序如圖7所示。從圖6中可看出,PC主機(jī)向控制器發(fā)送10位的0字節(jié),每位占據(jù)時(shí)間約10 μs,由此計(jì)算出波特率為115 200,與設(shè)置值相符合,之后控制器向PC主機(jī)發(fā)送D5H的ID字節(jié),每位時(shí)間也為10 μs,波特率相同。通訊建立完成后,用戶程序的加載可以通過“Program”實(shí)現(xiàn)。

        圖7 XC164與PC機(jī)建立通信實(shí)測(cè)時(shí)序

        3 影響串口程序加載的因素及改進(jìn)

        RS422標(biāo)準(zhǔn)規(guī)定了收發(fā)器門限為±200 mV,這樣規(guī)定能夠提供比較高的噪聲抑制能力。當(dāng)接收器正端(A)電平比負(fù)端(B)高+200 mV以上時(shí),輸出為正邏輯,反之,輸出為負(fù)邏輯。但由于第三態(tài)的存在,即總線空閑時(shí)沒有任何信號(hào)驅(qū)動(dòng)總線,使AB之間的電壓在-200 mV~+200 mV直至趨于0 V,這帶來了一個(gè)問題:接收器輸出狀態(tài)不確定。MAX1490收發(fā)器本身解決了這個(gè)問題,當(dāng)總線空閑時(shí),MAX1490通過自身的內(nèi)部電路,將總線驅(qū)動(dòng)為高電平狀態(tài)。

        RS422通信為避免長線信號(hào)傳輸時(shí)信號(hào)的反射和回波,一般在信號(hào)接收端接入終端匹配電阻,典型值為120 Ω。但這樣做有可能引入一種后果,當(dāng)總線上有超過-200 mV的雜波電平干擾時(shí),接收器輸出為低電平,如果雜波的干擾電平一直未達(dá)到+200 mV以上,則接收器的輸出就一直為低電平,XC164芯片則進(jìn)入引導(dǎo)程序硬件初始化后接收不到0字節(jié)(因?yàn)榭偩€一直被驅(qū)動(dòng)為低),與PC主機(jī)不能成功建立通信,從而導(dǎo)致程序燒寫失敗。

        雜波電平干擾問題可以通過設(shè)置適宜的偏置電阻解決,偏置電阻可以加在下載工裝電纜中,控制器接插件引出電源是24 V,所以偏置電阻阻值的計(jì)算是根據(jù)24 V電源來計(jì)算的,偏置電阻添加的目的是在總線空閑狀態(tài)下,匹配電阻120 Ω上的分壓達(dá)到+200mV以上。改進(jìn)后的硬件電路圖如圖8所示。

        圖8 工裝電纜的改進(jìn)

        4 結(jié)論

        基于串口協(xié)議的程序燒寫方法充分利用了英飛凌flash系列芯片所提供的BSL功能,硬件實(shí)現(xiàn)結(jié)構(gòu)簡單,可以與RS422通信接口復(fù)用,不占用控制器有限的接插件資源,程序下載無需額外的下載器,減少了控制器的生產(chǎn)成本,簡化了控制器生產(chǎn)流程。改進(jìn)后的串口協(xié)議程序燒寫方法成功解決了串口燒寫失敗的問題,該方法已經(jīng)廣泛應(yīng)用于控制器的批產(chǎn)工作中。

        [1]張立強(qiáng),宋玲,劉寶娟.JTAG并口下載設(shè)計(jì)[J].微處理機(jī),2013(1):280-285.

        [2]鄔子?jì)耄仅?,任齊鳳.邊界掃描JTAG控制器設(shè)計(jì)與實(shí)現(xiàn)[J].航空電子技術(shù),2016,1(7):31-34

        [3]姚海濱,高磊,黃貴晨.RS232串口直連線與交叉線可變裝置[J].黑龍江科技信息,2016(5):106.

        [4]孫慧強(qiáng).基于單片機(jī)的數(shù)據(jù)串口通信研究[J].數(shù)字技術(shù)與應(yīng)用,2016(3):24.

        [5]HuiZhao,Tiejun Xiao,Xiaoru Han.The Application of Boundary-Scan Technology to FPGA-Based ExperimentSystem:The Ninth International Conference on Electronic Measurement&Instruments[C]//Beijing,China,2009:2629-2632.

        [6]Wen-Cheng Hsieh.U-BootPorting And Implementation On Embedded System[M].National Taiwan University of Science and Tecnology,NTUST Library,2005:8-15.

        [7]崔旭晶,李天雷.基于SOPC的UART IP核設(shè)計(jì)與驅(qū)動(dòng)開發(fā)及系統(tǒng)移植[J].電子設(shè)計(jì)工程,2014(6):121-125.

        [8]鄧偉.徐揚(yáng)婧.基于SOPC技術(shù)的異步串行通信IP核的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(3):185-188.

        [9]夏柯.門蘭寧.基于ZYNQ-7000 DMA控制器的UART數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)[J].信息化建設(shè),2014(9):113-114.

        [10]黃毓芯.基于FPGA的UART電路設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電技術(shù),2014(4):33-35.

        [11]劉浩淼,卞樹檀.基于CPLD的RS 422串口通信實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(12):153-155.

        [12]李洋洋,吳武臣.基于斷言的驗(yàn)證方法在UART模塊中的應(yīng)用研究[J].微電子學(xué)與計(jì)算機(jī),2012(1):151-153.

        [13]孟敬,王冬青,姜璐璐,等.基于單片機(jī)的CAN/UART協(xié)議轉(zhuǎn)換器的設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào),2012(12):38-42.

        [14]桂桂,李吉.王珍.基于UART的AVR和FPGA 的通信設(shè)計(jì)及實(shí)現(xiàn)[J].儀表技術(shù),2013(11):44-46.

        [15]薛志遠(yuǎn),朱浩,張鐵軍.一種基于串口通信的DSP調(diào)試平臺(tái)設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2013(12):151-154.

        猜你喜歡
        單片機(jī)程序
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        試論我國未決羈押程序的立法完善
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        亚洲国产成人久久综合一区77| 国产乱妇无乱码大黄aa片| 成人网站免费看黄a站视频 | 综合图区亚洲另类偷窥| 成人av一区二区三区四区 | 亚洲国产日韩欧美一区二区三区| 国产高潮精品久久AV无码| 国产成人高清精品亚洲一区| 亚洲国产精品一区二区成人av| 中文无码日韩欧| 欧美成人久久久| 国产精品av网站在线| 大奶白浆视频在线观看| 日本aⅴ大伊香蕉精品视频 | 国産精品久久久久久久| 丝袜美女污污免费观看的网站| 国产在线播放免费人成视频播放| 在线观看午夜视频一区二区| av无码天堂一区二区三区| 福利视频一二区| 射进去av一区二区三区| 亚洲乱码中文字幕久久孕妇黑人| 欧美性videos高清精品| 亚洲国产AⅤ精品一区二区久 | 男女性杂交内射女bbwxz| 免费人成视频在线观看网站| 欧美精品v欧洲高清| 69精品国产乱码久久久| 综合色区亚洲熟妇另类| 中文字幕人妻av一区二区| 亚洲精品成人国产av| 久久精品国产亚洲av天美| 极品少妇小泬50pthepon| 欧美巨大精品欧美一区二区| 天天中文字幕av天天爽| 久久91精品国产一区二区| 好男人社区影院www| 欧美成人三级网站在线观看| 一级黄片草逼免费视频| 国产精品人人做人人爽人人添| 在教室伦流澡到高潮h麻豆|