国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于串口的通用的單片機在系統編程設計及實現

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

1 通用的在系統編程方法  

隨著嵌入式系統技術的發展,電可擦除的FLASH芯片以容量大,價格低,編程方便等優勢得到了廣泛的應用。用一片FLASH作為程序存儲器的系統無法直接實現在系統編程(ISP),為了方便現場調試和程序升級,可以采用集成ISP功能的MCU(如AVR、部分ARM芯片等),或者采用雙FLASH設計等方法實現ISP功能。但有不少系統仍然使用不具備直接ISP功能的MCU(如M68K、N80C196等),同時因印制版面積、成本等原因的考慮也沒有采用雙FLASH芯片,此類系統在程序升級時通常需要編程器、仿真器等特定工具,在現場調試時很不方便。  

針對使用不具備ISP功能的MCU系統,只要滿足以下四個條件,就可以按照本文的方法進行ISP設計。考慮自編程過程中文件出錯、斷電等特殊情況,此方案可實現故障保護。  

(1)程序空間和數據空間統一編址,程序可以在RAM中運行;  

(2)FLASH芯片正確連接了寫信號;  

(3)擁有能放下Update程序并讓其正常工作的額外程序/數據空間;  

(4)具備某種通信能力(例如以太網、串口、CAN、MODEM等)。  

程序分布如圖1所示。這種情況下需要把整個工作分為三部分完成。第一是引導程序(稱為Boot程序);第二是升級程序(Update程序);第三是正常程序(Normal程序)。Boot程序負責控制程序的運行模式:升級模式、正常模式。如果進入升級模式,Boot程序需要將Update程序復制到指定的運行空間,并轉入執行Update程序;如果進入正常模式,Boot需要做的工作就十分簡單,可以直接把控制權交給正常程序。要注意Update在自編程時不能破壞Boot程序。此時Normal程序不再負有復制Update程序到指定運行空間的任務,完全按照正常的模式運行。

  

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

2 80C196KC ISP的通信模塊設計  

實現80C196KC ISP的核心思想即用AT29C256代替常用的M27C256做程序存儲器與80C196KC相接,區別在于前者1引腳接/WR,后者1腳懸空;再用一片DS1230Y(NV SRAM)做中轉。AT29C256分三個空間存放引導程序、更新程序和正常控制程序;其中引導程序用于80C196KC和上位機進行串口通信,接收上位機編譯好的更新程序(.Hex文件),并把它放到DS1230Y中,在下載完成后把其中接收的程序代碼發回上位機進行校驗,校驗無誤后跳轉去運行更新程序;更新程序用于將DS1230Y中校驗無誤的新程序復制到AT29C256的正常控制程序空間;正常控制程序即待更新或已經更新的系統程序。每次系統上電后由鍵盤判斷是否需要在系統編程,如果需要,則經過引導程序和更新程序執行后,跳轉到正常控制程序空間運行更新了的程序。如果不需要,則直接跳轉到正常控制程序空間運行。在從AT29C256取指令時,注意WE腳保持高電平。  

2.1 通信協議  

目前微機的串行通信口都是基于RS 232協議的,但因其傳送速率較低、抗干擾能力較差、傳送距離太近等缺點,該系統采用RS 422通信方式。RS 422每個通道通過二條信號線進行傳輸,采用平衡驅動、差分接收形式,對在接收器輸入端出現的共模噪聲起到了抑制作用,可以允許較大的信號衰減。另外由于兩者之間不共地,不存在回路之間的電位差,徹底消除了遠距離信號傳輸中因地電位不等造成的影響,從而有很強的抗干擾能力,并且可獲得較長的傳輸距離。  

2.2 通信接口電路  

鑒于篇幅,這里只給出串口通信中PC端硬件接口部分。  

首先由一塊MAX232芯片把PC機串行口的RS 232電平轉換為TTL電平,然后通過6N137的光電隔離模塊進行隔離,再通過MAX 487芯片完成RS 232協議到RS 422協議的轉換。其實也就是一個電平被轉換為兩個壓差電平的過程,如圖2所示。  

  

2.3 通信軟件設計  

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

  

固化中斷服務程序,并通過在PL/M語句中嵌入匯編語句完成程序的跳轉。下載完成后,將程序復制到AT29C256后運行新程序,DS1230Y仍用作數據存儲器。  

PC(上位機)操作界面應用Delphi 6.0開發。在Delphi 6.0開發環境下實現串行通信有多種方法,如:調用MSCOMM.OCX控件、在Windows下使用Win-dows API、應用嵌入式匯編語言、直接構造Delphi中的通信控件、利用動態鏈接庫(DLL)等。考慮到該系統的通信情況比較簡單,所以直接使用MSComm組件編寫串口通信軟件,主要包括三個方面的設計內容:  

(1)收發數據,指的是在PC機的串口與80C196KC的串口UART之間能收發字符串,二進制串(16進制顯示);  

(2)收發文件,指的是在PC機的串口與80C196KC的串口UART之間能收發字符型文件,16進制文件(.Hex文件)  

(3)差錯校驗及系統可靠性設計。通信的成功與否最后還要看校驗的結果,即接收端是否能正確無誤的接收到發送端發送的內容。差錯控制流程圖如圖3所示,核心代碼如下:  





  

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

3 結 語  

提出了基于串口通信的通用的單片機ISP方法并針對80C196KC實現了PC機上已編譯程序的在線下載。通過回聲法校驗,返回的接收文件與發送文件完全一致,系統可靠性高,設計簡單,實現容易,具有一定的理論研究意義和應用前景。為“國家雜交水稻工程技術研究中心”人工氣候室智能控制系統的系統程序更新,升級和遠程維護提供了方便。
本文地址:http://www.qingdxww.cn/thread-21034-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院美女 | 午夜成本人动漫在线观看 | 日日夜夜免费精品视频 | 99精品热女视频专线 | 国产精品第6页 | 大伊香蕉在线观看视频 wap | 在线观看免费av网站 | 免费特黄级夫费生活片 | 国产在线观看一区二区三区四区 | 激情亚洲 | 1级毛片| 色免费在线观看 | 免费高清在线观看a网站 | 成在线人免费视频一区二区三区 | 久草综合在线视频 | 特毛片| 欧美大片免费观看 | 一个人www免费观看 一个人hd免费完整高清视频 | 亚洲激情久久 | 亚洲天堂在线观看视频 | 欧美成人高清手机在线视频 | 若妻家庭女教师 | 国产精品麻豆一区二区三区 | 精子网久久国产精品 | 日韩精品一区二区三区视频网 | 国产一区二区免费不卡在线播放 | 国产午夜精品视频 | 网友自拍区一区二区三区 | 四虎影视免费观看免费观看 | 求四虎tv的网站 | 欧美日本日韩 | 欧美视频一级 | 日本成年片高清在线观看 | 蜜臀在线免费观看 | 九色九色九色在线综合888 | 免费在线观看的黄色网址 | 国产精品理论片在线观看 | 香蕉大伊亚洲人在线观看 | 一区二区三区四区在线观看视频 | 亚洲精品 欧美 | 亚洲男人在线 |