《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于單片機軟硬件聯(lián)合仿真
基于單片機軟硬件聯(lián)合仿真
摘要: 本文介紹一種嵌入式系統(tǒng)仿真方法,通過一種特殊設計的指令集仿真器ISS將軟件調試器軟件Keil uVision2和硬件語言仿真器軟件Modelsim連接起來,實現了軟件和硬件的同步仿真。
Abstract:
Key words :

 前言

  傳統(tǒng)的嵌入式系統(tǒng)中,設計周期、硬件和軟件的開發(fā)是分開進行的,并在硬件完成后才將系統(tǒng)集成在一起,很多情況下,硬件完成后才開始進行實時軟件和整體調試。軟硬件聯(lián)合仿真" title="聯(lián)合仿真">聯(lián)合仿真是一種在物理原型可用前,能盡早開始調試程序的技術。

  軟硬件聯(lián)合仿真有可能使軟件設計工程師在設計早期著手調試,而采用傳統(tǒng)的方法,設計工程師直到硬件設計完成才能進行除錯處理。有些軟件可在沒有硬件支持的情況下完成任務的編碼,如不涉及到硬件的算法。與硬件相互作用的編碼在獲得硬件之前編寫,但只有在硬件上運行后,才能真正對編碼進行調試。通過采用軟硬件聯(lián)合仿真技術,可在設計早期開始這一設計調試過程。由于軟件的開發(fā)通常在系統(tǒng)開發(fā)的后段完成,在設計周期中較早的開始調試有可能將使這一項目提早完成,該技術會降低首次將硬件和軟件連接在一起時出現意外而致使項目延期完成所造成的風險。

  在取得物理原型前,采用軟硬件聯(lián)合仿真技術對硬件和軟件之間的接口進行驗證,將使你不會花太多的時間在后期系統(tǒng)調試上。當你確實拿到物理原型開始在上面跑軟件的時候,你會發(fā)現經過測試的軟件部分將會正常工作,這會節(jié)省項目后期的大量時間及努力。


軟硬件聯(lián)合仿真系統(tǒng)由一個硬件執(zhí)行環(huán)境和一個軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯和控制界面,軟件通過一系列由處理器啟動的總線周期與硬件的交互作用。本文以一個Mini Web卡的開發(fā)介紹一種軟硬件聯(lián)合仿真系統(tǒng)。

  該方案的核心是采用一個51單片機" title="單片機">單片機仿真引擎GoldBull ISS" title="ISS">ISS51(以下簡稱ISS51),ISS51是51單片機開發(fā)環(huán)境Keil uVision2的一個插件,ISS51具有連接Keil和硬件仿真環(huán)境Modelsim" title="Modelsim">Modelsim的接口,可以實現軟硬件同步仿真。在該系統(tǒng)中,Keil作為軟件調試界面,Modelsim作為硬件仿真和調試界面,ISS51負責軟件執(zhí)行、監(jiān)控軟件斷點、單步執(zhí)行、內存和寄存器數據返回給Keil、CPU總線時序產生和捕獲、內部功能模塊(如定時器,串口)的運行等功能。

  Mini Web卡介紹

  Mini Web卡是一個運行在單片機上的Web服務器,提供網口連接,有大容量文件系統(tǒng),提供TFTP和HTTP服務。盡管軟件系統(tǒng)比較復雜,但優(yōu)化編譯后,執(zhí)行代碼還不足25K,為后續(xù)升級留下了足夠空間。

  51CPU采用SST89系列,這種CPU具有ISP功能,可以通過RS232串口,直接將目標碼下載到CPU。

  DMA控制邏輯是一個可編程邏輯器件,采用的是ALTERA的CPLD EPM240,主要功能是實現外圍器件之間的DMA傳遞。因為51CPU進行IO訪問是很低效的,需要24個時鐘周期才能進行一次IO訪問,在外圍設備之間轉移數據則需要更多的時鐘周期,使用DMA控制邏輯可以達到3個時鐘周期就能轉移一個字節(jié)。本系統(tǒng)中處理多種網絡協(xié)議,需要大量報文收發(fā)和文件系統(tǒng)訪問,采用DMA可以極大地提高51單片機的數據處理速度。DMA通道主要有MAC芯片與RAM之間的數據塊轉移,SMART MEDIA和RAM之間的數據塊轉移。

  網卡芯片采用的是AX88796,主要的優(yōu)點是可以和51CPU方便地接口;支持100M以太網,速度高;有較大的接收報文緩存,能夠平滑網絡流量,減少因51CPU處理速度慢導致的報文丟棄和重發(fā)。

  SMART MEDIA是一個移動存儲卡,主要用于存儲文件,Mini Web卡支持8M到256M的SMD卡。

  文件系統(tǒng)是Mini Web卡的新開發(fā)模塊,文件系統(tǒng)的測試主要通過TFTP來進行,為此Mini Web卡上的TFTP服務程序進行了特殊設計,支持格式化SMART MEDIA,獲取剩余空間,獲取文件名列表,上傳、下載和刪除文件。

  軟硬件聯(lián)合仿真的必要性:

  Mini Web卡軟件模塊多,軟件開發(fā)風險較大。軟件對硬件的依賴較強,FLASH存儲器的訪問驅動、網卡驅動、DMA驅動,需要軟硬件協(xié)同調試。

  文件系統(tǒng)的開發(fā),在仿真環(huán)境下更容易和快捷。比如在仿真結束時,可以將SMART MEDIA仿真模型中的數據倒換到磁盤文件中,在仿真開始時,將磁盤文件中的數據加載到SMART MEDIA仿真模型中,在定位文件系統(tǒng)的問題時,這一個功能很有用。

  采用軟硬件聯(lián)合仿真,便于系統(tǒng)前期設計。51單片機的外部RAM訪問效率較低,內存拷貝、外部器件之間的數據塊轉移很浪費時間。將大量數據的拷貝操作或數據塊校驗、比較操作在CPLD內實現,可以大大改進51單片機處理數據的能力。通過軟硬件聯(lián)合仿真,可以評估CPLD處理數據對性能的改進。

  Mini Web卡軟硬件聯(lián)合仿真系統(tǒng):

  軟硬件聯(lián)合仿真主要解決的問題是系統(tǒng)功能設計與驗證,它不解決電源、濾波電容、總線電平兼容問題。

  做系統(tǒng)仿真,首先要對硬件系統(tǒng)建模。我們關注的是系統(tǒng)設計的正確性和可執(zhí)行性。

  系統(tǒng)中的串口只是用來支持ISP下載軟件,軟件部分沒有對串口做任何操作,所以系統(tǒng)仿真可以不必考慮。

  網卡芯片AX88796,廠商沒有提供仿真模型。它與CPU的接口符合ISA接口標準,軟件對AX88796的操作是根據NE2000標準網卡芯片設計的,由此我們建立了一個網卡芯片的仿真模型。我們設計了一個MAC BFM來仿真網卡芯片的ISA接口,NE2000定義的寄存器在C模型中實現,MAC BFM與NE2000寄存器C模型通過PLI接*換數據。

  SRAM仿真模型是很容易獲取的,很多器件生產商都提供Verilog仿真模型,但器件生產商提供的Verilog仿真模型都包含復雜的延時控制代碼,這會影響仿真速度。根據經驗,我們可以確保SRAM在單板設計中被正確應用,不會產生時序問題,所以我們可以采用一個簡化的SRAM仿真模型,這是我們自己設計的,有效代碼只有十幾行。

  51CPU BFM 負責單片機管腳時序的產生和捕獲。51CPU BFM是與ISS51緊密捆綁的,由ISS51安裝程序提供。

  SMART MEDIA是三星公司提供的仿真模型,我們使用的也是三星公司的同類型存儲卡。該模型可以用于驗證軟件操作SMART MEDIA的正確性和DMA Controller的接口時序。

  DMA Controller是Mini Web卡硬件開發(fā)的一部分,將邏輯設計代碼應用于仿真,既能檢測邏輯設計的正確性,又能使整個仿真系統(tǒng)得以正常運轉。

  將上述硬件模型連接起來,產生下圖所示硬件系統(tǒng)模型圖:


圖2. Mini Web卡硬件模塊電路圖

  圖2中U11為SMART MEDIA仿真模型,U4為DMA Controller模型。

  虛擬網卡

  做系統(tǒng)仿真,必須輸入來自真實世界的激勵,并將仿真系統(tǒng)的輸出傳遞到真實世界。即便是不能連接到真實世界,也應該提供模擬真實世界的輸入,并對仿真系統(tǒng)的輸出進行檢測和分析。

  對于Mini Web卡來說,它和真實環(huán)境是通過網口連接的。使用虛擬網卡技術,能夠將圖3中的MAC C Model與虛擬網卡進行通訊。

 

  對于運行在Windows系統(tǒng)上的應用程序來說,它并不知道網卡是虛擬的還是真實的,應用程序通過虛擬網卡收發(fā)數據,事實上是與仿真系統(tǒng)在進行網絡通信。

  這樣就可以使用TFTP向Mini Web卡仿真系統(tǒng)傳遞網頁文件,使用IE瀏覽Mini Web卡仿真系統(tǒng)中的網頁,Mini Web卡的所有功能都能夠被檢驗。

  使用網絡臭探器Sniffer可以監(jiān)控虛擬網卡的報文流,方便協(xié)議調試。

  仿真加速技術

  軟硬件聯(lián)合仿真,影響仿真速度的瓶頸在HDL代碼部分的仿真。如果不設法提高HDL代碼部分的仿真速度,軟件調試就非常低效。

  提高硬件仿真速度的方法之一是軟件硬件仿真采用事件同步,只在CPU訪問IO時保持軟件和硬件是同步的。

  仿真加速方法之二是硬件仿真系統(tǒng)時鐘休眠。對于Mini Web卡來說,只有DMA Controller是受時鐘控制的,軟件沒有操作DMA Controller的期間,DMA Controller的運作是毫無意義的,所以可以在非DMA操作期間,對時鐘進行休眠;ISS51在每次IO訪問時,給出與上次IO訪問的時間差,這個時間差經過處理可以作為時鐘休眠的時間段。如果ISS51連續(xù)進行IO訪問,就不會產生時鐘休眠了。DMA Controller工作于查詢方式,可以采用時鐘休眠技術,而不會導致仿真與真實結果的不一致。

  方法之三是,縮短SMART MEDIA仿真模型中的一些長延時的時間參數。因為在等待SMART MEDIA進入就緒狀態(tài)時,CPU必須連續(xù)查詢IO,影響仿真速度。我們主要用于軟件功能驗證,這種修改也是可以接受的。

  方法之四,在軟件設計上,謹慎使用外部中斷,因為一旦中斷啟動,ISS51需要在每個機器周期查詢是否有中斷信號,導致軟件仿真和硬件仿真在每個指令上都進行同步,影響仿真速度。如果一定要使用外部中斷,建議用C模型代替Verilog模型,這樣可不影響仿真速度;或者由用戶根據外部模塊產生外部中斷的時機,使用ISS51的控制命令,在恰當時刻使能ISS51的中斷模塊。

  在一個普通PC (CPU為AMD速龍1000,SDRM512M 133),運行Mini Web卡仿真系統(tǒng),使用PING命令測試Mini Web卡仿真系統(tǒng)的響應速度:

  Reply from 10.10.112.76: bytes=32 time=64ms TTL=128

  使用IE打開Mini Web卡仿真系統(tǒng)中的網頁文件,感覺和撥號上網的速度差不太多。創(chuàng)建多個TFTP連接,同時向仿真系統(tǒng)傳遞或下載網頁文件,同時使用IE進行網頁瀏覽,都無響應中斷現象出現。

  總結

  使用軟硬件聯(lián)合仿真,Mini Web卡不需要硬件就能進行全部功能的仿真,增強了系統(tǒng)設計成功的信心。軟硬件聯(lián)合仿真方便系統(tǒng)設計調整,可以在設計前期*估性能,方便軟件和硬件的 debug,是一個值得推廣的技術。

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
老司机午夜精品视频| 欧美精品成人| 99热在这里有精品免费| 欧美在线播放高清精品| 亚洲免费影视| 亚洲香蕉在线观看| 99热免费精品在线观看| 亚洲精品美女在线| 亚洲精品你懂的| 亚洲激情一区二区三区| 亚洲国产91精品在线观看| 国一区二区在线观看| 国产精品一页| 国产欧美韩国高清| 国产欧美一区二区三区久久 | 国产一区二区三区久久 | 国产精品v亚洲精品v日韩精品| 欧美精品成人| 欧美日韩精品免费观看视一区二区 | 狂野欧美性猛交xxxx巴西| 久久免费少妇高潮久久精品99| 欧美专区日韩专区| 欧美一区二区三区在| 欧美中文字幕在线播放| 久久久久国产免费免费| 久久躁日日躁aaaaxxxx| 你懂的视频一区二区| 免费在线成人| 欧美精品日韩综合在线| 欧美日韩国产综合视频在线观看| 欧美日韩午夜激情| 国产精品劲爆视频| 国产午夜精品久久久久久免费视| 国产一区日韩二区欧美三区| 一区二区三区亚洲| 亚洲激情午夜| 亚洲一区二区三区涩| 欧美亚洲在线视频| 亚洲成人在线网| 99re热精品| 欧美亚洲一区二区在线观看| 久久久久久久久综合| 欧美成人性网| 国产精品精品视频| 狠狠色狠狠色综合| 亚洲日本一区二区| 亚洲男人的天堂在线观看| 久久精品亚洲一区二区三区浴池| 亚洲美女黄色| 亚洲欧美中文另类| 噜噜噜在线观看免费视频日韩| 欧美日韩一区高清| 国产一级揄自揄精品视频| 亚洲国产精品专区久久| 亚洲神马久久| 久久精品99国产精品| 在线视频日韩| 久久一二三四| 欧美视频专区一二在线观看| 狠狠色综合一区二区| 日韩一级黄色大片| 久久精品国产精品亚洲综合| 在线视频欧美精品| 久久视频精品在线| 国产精品久久久久9999吃药| 玉米视频成人免费看| 中文国产成人精品| 亚洲国产精品女人久久久| 一区二区三区欧美在线观看| 久久九九国产精品| 欧美日韩视频在线一区二区观看视频| 国产亚洲二区| 99成人在线| 亚洲精品1区| 午夜激情一区| 欧美日本韩国在线| 狠狠综合久久av一区二区老牛| 在线综合欧美| 亚洲乱码视频| 久久久亚洲综合| 国产精品久久久久高潮| 亚洲国产精品成人精品| 性18欧美另类| 亚洲伊人网站| 欧美成人嫩草网站| 国产欧美精品一区二区色综合| 最新中文字幕一区二区三区| 欧美综合第一页| 亚洲欧美日韩精品综合在线观看| 欧美电影专区| 黄色一区二区在线| 亚洲欧美日韩精品在线| 亚洲天堂网站在线观看视频| 免费高清在线一区| 国产一区二区三区最好精华液| 亚洲天堂av图片| 亚洲精品一区中文| 蜜臀av国产精品久久久久| 国产日韩综合| 亚洲一区二区三区四区五区黄| 日韩天堂在线观看| 欧美本精品男人aⅴ天堂| 国产一区二区三区四区五区美女| 亚洲性色视频| 99精品国产福利在线观看免费| 久久亚洲欧美国产精品乐播| 国产日韩在线视频| 午夜精品美女自拍福到在线| 亚洲欧美欧美一区二区三区| 欧美日韩国产大片| 亚洲美女精品成人在线视频| 亚洲裸体在线观看| 欧美精品国产精品日韩精品| 在线成人av.com| 亚洲激情偷拍| 免费看亚洲片| 亚洲国产午夜| 一本色道久久综合亚洲精品不| 欧美国产三区| 亚洲国产欧美在线人成| 亚洲精品久久嫩草网站秘色 | 黄色亚洲大片免费在线观看| 欧美在线免费观看视频| 欧美中文在线视频| 国产日本欧美一区二区三区| 亚洲欧美日韩国产综合| 欧美综合国产精品久久丁香| 国产麻豆精品theporn| 亚洲欧美影音先锋| 久久动漫亚洲| 黑人操亚洲美女惩罚| 亚洲国产三级在线| 欧美电影资源| 日韩一区二区精品| 亚洲欧美日韩视频一区| 国产精品日日做人人爱| 午夜精品久久久久久久99水蜜桃| 欧美中文在线字幕| 一区二区三区无毛| 日韩一级大片| 欧美亚日韩国产aⅴ精品中极品| 亚洲性人人天天夜夜摸| 欧美中文字幕在线视频| 狠狠综合久久av一区二区老牛| 最新亚洲激情| 欧美色偷偷大香| 亚洲欧美日韩国产中文| 久久久亚洲高清| 亚洲激情电影中文字幕| 亚洲天堂久久| 国产一区二区三区自拍| 91久久久久久| 欧美亚洲成人免费| 久久成人这里只有精品| 欧美肥婆bbw| 在线视频你懂得一区二区三区| 香蕉久久国产| 精品69视频一区二区三区| 亚洲伦理精品| 国产精品一区二区你懂的| 久久国产福利国产秒拍| 欧美激情一区二区三区在线| 在线亚洲欧美视频| 久久久噜噜噜久久中文字幕色伊伊| 激情成人综合网| 在线综合亚洲| 国产欧美一区二区三区沐欲| 亚洲电影av在线| 欧美日韩免费视频| 欧美在线观看视频| 欧美精品亚洲精品| 亚洲欧美国产精品桃花| 你懂的亚洲视频| 亚洲综合精品四区| 欧美高清视频一二三区| 亚洲永久字幕| 欧美大色视频| 亚洲综合激情| 欧美精品999| 欧美一区二区三区在线观看视频| 欧美国产日本| 午夜精品久久久99热福利| 欧美精品18| 欧美一区二区视频观看视频| 欧美日韩福利在线观看| 欧美一区二区网站| 欧美日本三区| 亚洲电影在线观看| 国产精品久久久久影院色老大| 亚洲国产老妈| 国产区精品在线观看| 在线一区二区三区四区五区| 精品69视频一区二区三区| 亚洲欧美电影院| 亚洲黄一区二区| 久久久久国产精品一区二区| 一区二区三区欧美在线| 欧美大片在线影院| 欧美一区二区视频网站| 国产精品久久午夜|