www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]針對沒有集成在系統(tǒng)編程(ISP)功能的單片機,提出一種基于串口RS 485協(xié)議通信的通用ISP方案。避免了此類單片機系統(tǒng)在程序升級時對編程器、仿真器等特定工具的依賴。以80C196KC單片機為例,通過FLASH、RAM、單片機的UART口、PC機及相關軟件模塊的設計實現(xiàn)了程序的在線升級。與其他方案比較,此方案具有代價低,設計簡單,可靠性高等諸多特點。

0 引 言
   
一般來說,在系統(tǒng)編程(ISP)是指依靠某種外部工具(除了常規(guī)的并行編程器以外)直接給處理器內(nèi)部集成的程序存儲器編程。這里所指的外部工具常見的有很多種,不同的處理器供應廠商可能提供不同的方案。例如,根據(jù)編程接口的不同,就有JTAG、單線、串口、SPI口等多種方式。盡管編程方式有所不同,但其原理都是類似的,就是依靠外部條件觸發(fā)處理器,令其脫離正常執(zhí)行的內(nèi)部常規(guī)用戶應用程序代碼的進程,轉(zhuǎn)而執(zhí)行保存在其程序存儲空間內(nèi)某個固定位置處的控制擦除程序存儲器及給程序存儲器編程的代碼(或是處理器外部提供的執(zhí)行代碼),然后通過某種與PC計算機的通信方式,將用戶指定的某個在PC上編譯完成的嵌入式處理器可運行的二進制代碼文件編程人嵌入式處理器內(nèi)的程序存儲器。這種編程方式只需要常規(guī)的硬件配置(某些處理器可能需要某些叫作下載線的簡單硬件電路)支持,而不需要特別的編程器(指并行編程器)支持,所以即使處理器芯片已經(jīng)焊接到了電路板上也可以實現(xiàn)編程,這也就是ISP的真實含義。

1 通用的在系統(tǒng)編程方法
   
隨著嵌入式系統(tǒng)技術的發(fā)展,電可擦除的FLASH芯片以容量大,價格低,編程方便等優(yōu)勢得到了廣泛的應用。用一片F(xiàn)LASH作為程序存儲器的系統(tǒng)無法直接實現(xiàn)在系統(tǒng)編程(ISP),為了方便現(xiàn)場調(diào)試和程序升級,可以采用集成ISP功能的MCU(如AVR、部分ARM芯片等),或者采用雙FLASH設計等方法實現(xiàn)ISP功能。但有不少系統(tǒng)仍然使用不具備直接ISP功能的MCU(如M68K、N80C196等),同時因印制版面積、成本等原因的考慮也沒有采用雙FLASH芯片,此類系統(tǒng)在程序升級時通常需要編程器、仿真器等特定工具,在現(xiàn)場調(diào)試時很不方便。
    針對使用不具備ISP功能的MCU系統(tǒng),只要滿足以下四個條件,就可以按照本文的方法進行ISP設計??紤]自編程過程中文件出錯、斷電等特殊情況,此方案可實現(xiàn)故障保護。
    (1)程序空間和數(shù)據(jù)空間統(tǒng)一編址,程序可以在RAM中運行;
    (2)FLASH芯片正確連接了寫信號;
    (3)擁有能放下Update程序并讓其正常工作的額外程序/數(shù)據(jù)空間;
    (4)具備某種通信能力(例如以太網(wǎng)、串口、CAN、MODEM等)。
    程序分布如圖1所示。這種情況下需要把整個工作分為三部分完成。第一是引導程序(稱為Boot程序);第二是升級程序(Update程序);第三是正常程序(Normal程序)。Boot程序負責控制程序的運行模式:升級模式、正常模式。如果進入升級模式,Boot程序需要將Update程序復制到指定的運行空間,并轉(zhuǎn)入執(zhí)行Update程序;如果進入正常模式,Boot需要做的工作就十分簡單,可以直接把控制權交給正常程序。要注意Update在自編程時不能破壞Boot程序。此時Normal程序不再負有復制Update程序到指定運行空間的任務,完全按照正常的模式運行。

    按照這種方案,Boot程序和Update程序是自編程設計的核心內(nèi)容,只要保證這部分程序代碼的完整性,就能擁有在線編程的能力。要對這部分程序代碼區(qū)進行保護,保證在第一次寫入程序存儲器后就不會再被擦除。這樣即使在自編程時發(fā)生災難性故障,Boot程序和Update程序是不會被破壞的,仍然可以繼續(xù)運行,保證下次仍然可以進行自編程。程序完成后必須分別固化到程序存儲器的指定空間,以保證程序的正常運行。

2 80C196KC ISP的通信模塊設計
    實現(xiàn)80C196KC ISP的核心思想即用AT29C256代替常用的M27C256做程序存儲器與80C196KC相接,區(qū)別在于前者1引腳接/WR,后者1腳懸空;再用一片DS1230Y(NV SRAM)做中轉(zhuǎn)。AT29C256分三個空間存放引導程序、更新程序和正??刂瞥绦?;其中引導程序用于80C196KC和上位機進行串口通信,接收上位機編譯好的更新程序(.Hex文件),并把它放到DS1230Y中,在下載完成后把其中接收的程序代碼發(fā)回上位機進行校驗,校驗無誤后跳轉(zhuǎn)去運行更新程序;更新程序用于將DS1230Y中校驗無誤的新程序復制到AT29C256的正??刂瞥绦蚩臻g;正??刂瞥绦蚣创禄蛞呀?jīng)更新的系統(tǒng)程序。每次系統(tǒng)上電后由鍵盤判斷是否需要在系統(tǒng)編程,如果需要,則經(jīng)過引導程序和更新程序執(zhí)行后,跳轉(zhuǎn)到正??刂瞥绦蚩臻g運行更新了的程序。如果不需要,則直接跳轉(zhuǎn)到正常控制程序空間運行。在從AT29C256取指令時,注意WE腳保持高電平。
2.1 通信協(xié)議
    目前微機的串行通信口都是基于RS 232協(xié)議的,但因其傳送速率較低、抗干擾能力較差、傳送距離太近等缺點,該系統(tǒng)采用RS 422通信方式。RS 422每個通道通過二條信號線進行傳輸,采用平衡驅(qū)動、差分接收形式,對在接收器輸入端出現(xiàn)的共模噪聲起到了抑制作用,可以允許較大的信號衰減。另外由于兩者之間不共地,不存在回路之間的電位差,徹底消除了遠距離信號傳輸中因地電位不等造成的影響,從而有很強的抗干擾能力,并且可獲得較長的傳輸距離。
2.2 通信接口電路
    鑒于篇幅,這里只給出串口通信中PC端硬件接口部分。
    首先由一塊MAX232芯片把PC機串行口的RS 232電平轉(zhuǎn)換為TTL電平,然后通過6N137的光電隔離模塊進行隔離,再通過MAX 487芯片完成RS 232協(xié)議到RS 422協(xié)議的轉(zhuǎn)換。其實也就是一個電平被轉(zhuǎn)換為兩個壓差電平的過程,如圖2所示。

2.3 通信軟件設計
   
單片機(下位機)軟件開發(fā)采用PL/M語言。主要由更新程序和通信程序組成,通信程序又包括通信主程序、接收、發(fā)送和定時中斷程序等。其中通信主程序是不斷循環(huán)執(zhí)行的,如果上位機發(fā)送了數(shù)據(jù)則進入接收中斷處理程序,并同時在定時中斷中設置一個在接收中斷中被清零的計數(shù)器,當定時器溢出某個時間范圍時,說明接收完畢。這時觸發(fā)發(fā)送中斷,上發(fā)接收到的整個文件內(nèi)容用于校驗。這里僅給出部分更新程序代碼。


    固化中斷服務程序,并通過在PL/M語句中嵌入?yún)R編語句完成程序的跳轉(zhuǎn)。下載完成后,將程序復制到AT29C256后運行新程序,DS1230Y仍用作數(shù)據(jù)存儲器。
    PC(上位機)操作界面應用Delphi 6.0開發(fā)。在Delphi 6.0開發(fā)環(huán)境下實現(xiàn)串行通信有多種方法,如:調(diào)用MSCOMM.OCX控件、在Windows下使用Win-dows API、應用嵌入式匯編語言、直接構(gòu)造Delphi中的通信控件、利用動態(tài)鏈接庫(DLL)等??紤]到該系統(tǒng)的通信情況比較簡單,所以直接使用MSComm組件編寫串口通信軟件,主要包括三個方面的設計內(nèi)容:
    (1)收發(fā)數(shù)據(jù),指的是在PC機的串口與80C196KC的串口UART之間能收發(fā)字符串,二進制串(16進制顯示);
    (2)收發(fā)文件,指的是在PC機的串口與80C196KC的串口UART之間能收發(fā)字符型文件,16進制文件(.Hex文件)
    (3)差錯校驗及系統(tǒng)可靠性設計。通信的成功與否最后還要看校驗的結(jié)果,即接收端是否能正確無誤的接收到發(fā)送端發(fā)送的內(nèi)容。差錯控制流程圖如圖3所示,核心代碼如下:

    最終開發(fā)出的操作界面如圖4所示,包括下載進程顯示條,串口初始化設置框,收發(fā)數(shù)據(jù)文本框,選擇打開發(fā)送文件按鈕,發(fā)送文件大小顯示框,校驗按鈕,文本與16進制類型選擇框以及通信狀態(tài)顯示項。

3 結(jié) 語
   
提出了基于串口通信的通用的單片機ISP方法并針對80C196KC實現(xiàn)了PC機上已編譯程序的在線下載。通過回聲法校驗,返回的接收文件與發(fā)送文件完全一致,系統(tǒng)可靠性高,設計簡單,實現(xiàn)容易,具有一定的理論研究意義和應用前景。為“國家雜交水稻工程技術研究中心”人工氣候室智能控制系統(tǒng)的系統(tǒng)程序更新,升級和遠程維護提供了方便。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產(chǎn)品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

串口作為單片機開發(fā)的一個常用的外設,應用范圍非常廣。大部分時候,串口需要接收處理的數(shù)據(jù)長度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結(jié)束呢,今天就以STM32單片機為例,介紹幾種接收不定長數(shù)據(jù)的方法。

關鍵字: 單片機 串口 STM32

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

單片機

21600 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉