天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>單片機軟硬件聯(lián)合仿真解決方案

單片機軟硬件聯(lián)合仿真解決方案

時間:2023-02-21 00:07:07 電子通信論文 我要投稿
  • 相關(guān)推薦

單片機軟硬件聯(lián)合仿真解決方案

摘要:本文介紹一種嵌入式系統(tǒng)仿真方法,通過一種特殊設(shè)計的指令集仿真器ISS將軟件調(diào)試器軟件KeiluVision2和硬件語言仿真器軟件Modelsim連接起來,實現(xiàn)了軟件和硬件的同步仿真。
  
  關(guān)鍵詞:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,KeiluVision2,ISS,TFTP,HTTP,虛擬網(wǎng)卡,Sniffer,SMARTMEDIA,DMA,MAC,SRAM,CPLD
  
  縮略詞解釋:
  
  BFM:總線功能模塊。在HDL硬件語言仿真中,BFM完成抽象描述數(shù)據(jù)和具體的時序信號之間的轉(zhuǎn)換。
  
  PLI:Verilog編程語言接口,是C語言模塊和Verilog語言模塊之間交換數(shù)據(jù)的接口定義。
  
  TCL:字面意思是工具命令語言,是一種解釋執(zhí)行語言,流行EDA軟件一般都集成有TCL。使用TCL用戶可以編寫控制EDA工具的腳本程序,實現(xiàn)工具操作自動化。
  
  ISS:CPU指令集仿真器,可以執(zhí)行CPU的機器碼。
  
  TFTP:簡單文件傳輸協(xié)議,Windows的tftp.exe既是該協(xié)議的客戶端實現(xiàn)。
  
  SMARTMEDIA:一種存儲卡,常用于數(shù)碼相機、MP3。
  
  DMA:直接內(nèi)存訪問。用于外部設(shè)備之間高速數(shù)據(jù)轉(zhuǎn)移。
  
  MAC:媒體接入控制器。本文中是指網(wǎng)卡芯片。
  
  前言
  
  傳統(tǒng)的嵌入式系統(tǒng)中,設(shè)計周期、硬件和軟件的開發(fā)是分開進行的,并在硬件完成后才將系統(tǒng)集成在一起,很多情況下,硬件完成后才開始進行實時軟件和整體調(diào)試。軟硬件聯(lián)合仿真是一種在物理原型可用前,能盡早開始調(diào)試程序的技術(shù)。
  
  軟硬件聯(lián)合仿真有可能使軟件設(shè)計工程師在設(shè)計早期著手調(diào)試,而采用傳統(tǒng)的方法,設(shè)計工程師直到硬件設(shè)計完成才能進行除錯處理。有些軟件可在沒有硬件支持的情況下完成任務(wù)的編碼,如不涉及到硬件的算法。與硬件相互作用的編碼在獲得硬件之前編寫,但只有在硬件上運行后,才能真正對編碼進行調(diào)試。通過采用軟硬件聯(lián)合仿真技術(shù),可在設(shè)計早期開始這一設(shè)計調(diào)試過程。由于軟件的開發(fā)通常在系統(tǒng)開發(fā)的后段完成,在設(shè)計周期中較早的開始調(diào)試有可能將使這一項目提早完成,該技術(shù)會降低首次將硬件和軟件連接在一起時出現(xiàn)意外而致使項目延期完成所造成的風(fēng)險。
  
  在取得物理原型前,采用軟硬件聯(lián)合仿真技術(shù)對硬件和軟件之間的接口進行驗證,將使你不會花太多的時間在后期系統(tǒng)調(diào)試上。當(dāng)你確實拿到物理原型開始在上面跑軟件的時候,你會發(fā)現(xiàn)經(jīng)過測試的軟件部分將會正常工作,這會節(jié)省項目后期的大量時間及努力。
  
  軟硬件聯(lián)合仿真系統(tǒng)由一個硬件執(zhí)行環(huán)境和一個軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯和控制界面,軟件通過一系列由處理器啟動的總線周期與硬件的交互作用。本文以一個MiniWeb卡的開發(fā)介紹一種軟硬件聯(lián)合仿真系統(tǒng)。
  
  該方案的核心是采用一個51單片機仿真引擎GoldBullISS51(以下簡稱ISS51),ISS51是51單片機開發(fā)環(huán)境KeiluVision2的一個插件,ISS51具有連接Keil和硬件仿真環(huán)境Modelsim的接口,可以實現(xiàn)軟硬件同步仿真。在該系統(tǒng)中,Keil作為軟件調(diào)試界面,Modelsim作為硬件仿真和調(diào)試界面,ISS51負責(zé)軟件執(zhí)行、監(jiān)控軟件斷點、單步執(zhí)行、內(nèi)存和寄存器數(shù)據(jù)返回給Keil、CPU總線時序產(chǎn)生和捕獲、內(nèi)部功能模塊(如定時器,串口)的運行等功能。
  
  MiniWeb卡介紹
  
  MiniWeb卡是一個運行在單片機上的Web服務(wù)器,提供網(wǎng)口連接,有大容量文件系統(tǒng),提供TFTP和HTTP服務(wù)。盡管軟件系統(tǒng)比較復(fù)雜,但優(yōu)化編譯后,執(zhí)行代碼還不足25K,為后續(xù)升級留下了足夠空間。
  
  51CPU采用SST89系列,這種CPU具有ISP功能,可以通過RS232串口,直接將目標(biāo)碼下載到CPU。
  
  DMA控制邏輯是一個可編程邏輯器件,采用的是ALTERA的CPLDEPM240,主要功能是實現(xiàn)外圍器件之間的DMA傳遞。因為51CPU進行IO訪問是很低效的,需要24個時鐘周期才能進行一次IO訪問,在外圍設(shè)備之間轉(zhuǎn)移數(shù)據(jù)則需要更多的時鐘周期,使用DMA控制邏輯可以達到3個時鐘周期就能轉(zhuǎn)移一個字節(jié)。本系統(tǒng)中處理多種網(wǎng)絡(luò)協(xié)議,需要大量報文收發(fā)和文件系統(tǒng)訪問,采用DMA可以極大地提高51單片機的數(shù)據(jù)處理速度。DM
  
  
  
  A通道主要有MAC芯片與RAM之間的數(shù)據(jù)塊轉(zhuǎn)移,SMARTMEDIA和RAM之間的數(shù)據(jù)塊轉(zhuǎn)移。
  
  網(wǎng)卡芯片采用的是AX88796,主要的優(yōu)點是可以和51CPU方便地接口;支持100M以太網(wǎng),速度高;有較大的接收報文緩存,能夠平滑網(wǎng)絡(luò)流量,減少因51CPU處理速度慢導(dǎo)致的報文丟棄和重發(fā)。
  
  SMARTMEDIA是一個移動存儲卡,主要用于存儲文件,MiniWeb卡支持8M到256M的SMD卡。
  
  文件系統(tǒng)是MiniWeb卡的新開發(fā)模塊,文件系統(tǒng)的測試主要通過TFTP來進行,為此MiniWeb卡上的TFTP服務(wù)程序進行了特殊設(shè)計,支持格式化SMARTMEDIA,獲取剩余空間,獲取文件名列表,上傳、下載和刪除文件。
  
  軟硬件聯(lián)合仿真的必要性:
  
  MiniWeb卡軟件模塊多,軟件開發(fā)風(fēng)險較大。軟件對硬件的依賴較強,F(xiàn)LASH存儲器的訪問驅(qū)動、網(wǎng)卡驅(qū)動、DMA驅(qū)動,需要軟硬件協(xié)同調(diào)試。
  
  文件系統(tǒng)的開發(fā),在仿真環(huán)境下更容易和快捷。比如在仿真結(jié)束時,可以將SMARTMEDIA仿真模型中的數(shù)據(jù)倒換到磁盤文件中,在仿真開始時,將磁盤文件中的數(shù)據(jù)加載到SMARTMEDIA仿真模型中,在定位文件系統(tǒng)的問題時,這一個功能很有用。
  
  采用軟硬件聯(lián)合仿真,便于系統(tǒng)前期設(shè)計。51單片機的外部RAM訪問效率較低,內(nèi)存拷貝、外部器件之間的數(shù)據(jù)塊轉(zhuǎn)移很浪費時間。將大量數(shù)據(jù)的拷貝操作或數(shù)據(jù)塊校驗、比較操作在CPLD內(nèi)實現(xiàn),可以大大改進51單片機處理數(shù)據(jù)的能力。通過軟硬件聯(lián)合仿真,可以評估CPLD處理數(shù)據(jù)對性能的改進。
  
  MiniWeb卡軟硬件聯(lián)合仿真系統(tǒng):
  
  軟硬件聯(lián)合仿真主要解決的問題是系統(tǒng)功能設(shè)計與驗證,它不解決電源、濾波電容、總線電平兼容問題。
  
  做系統(tǒng)仿真,首先要對硬件系統(tǒng)建模。我們關(guān)注的是系統(tǒng)設(shè)計的正確性和可執(zhí)行性。
  
  系統(tǒng)中的串口只是用來支持ISP下載軟件,軟件部分沒有對串口做任何操作,所以系統(tǒng)仿真可以不必考慮。
  
  網(wǎng)卡芯片AX88796,廠商沒有提供仿真模型。它與CPU的接口符合ISA接口標(biāo)準(zhǔn),軟件對AX88796的操作是根據(jù)NE2000標(biāo)準(zhǔn)網(wǎng)卡芯片設(shè)計的,由此我們建立了一個網(wǎng)卡芯片的仿真模型。我們設(shè)計了一個MACBFM來仿真網(wǎng)卡芯片的ISA接口,NE2000定義的寄存器在C模型中實現(xiàn),MACBFM與NE2000寄存器C模型通過PLI接口交換數(shù)據(jù)。
  
  SRAM仿真模型是很容易獲取的,很多器件生產(chǎn)商都提供Verilog仿真模型,但器件生產(chǎn)商提供的Verilog仿真模型都包含復(fù)雜的延時控制代碼,這會影響仿真速度。根據(jù)經(jīng)驗,我們可以確保SRAM在單板設(shè)計中被正確應(yīng)用,不會產(chǎn)生時序問題,所以我們可以采用一個簡化的SRAM仿真模型,這是我們自己設(shè)計的,有效代碼只有十幾行。
  
  51CPUBFM負責(zé)單片機管腳時序的產(chǎn)生和捕獲。51CPUBFM是與ISS51緊密捆綁的,由ISS51安裝程序提供。
  
  SMARTMEDIA是三星公司提供的仿真模型,我們使用的也是三星公司的同類型存儲卡。該模型可以用于驗證軟件操作SMARTMEDIA的正確性和DMAController的接口時序。
  
  DMAController是MiniWeb卡硬件開發(fā)的一部分,將邏輯設(shè)計代碼應(yīng)用于仿真,既能檢測邏輯設(shè)計的正確性,又能使整個仿真系統(tǒng)得以正常運轉(zhuǎn)。
  
  將上述硬件模型連接起來,產(chǎn)生下圖所示硬件系統(tǒng)模型圖:
  
  圖2.MiniWeb卡硬件模塊電路圖
  
  圖2中U11為SMARTMEDIA仿真模型,U4為DMAController模型。
  
  虛擬網(wǎng)卡
  
  做系統(tǒng)仿真,必須輸入來自真實世界的激勵,并將仿真系統(tǒng)的輸出傳遞到真實世界。即便是不能連接到真實世界,也應(yīng)該提供模擬真實世界的輸入,并對仿真系統(tǒng)的輸出進行檢測和分析。
  
  對于MiniWeb卡來說,它和真實環(huán)境是通過網(wǎng)口連接的。使用虛擬網(wǎng)卡技術(shù),能夠?qū)D3中的MACCModel與虛擬網(wǎng)卡進行通訊。
  
  對于運行在Windows系統(tǒng)上的應(yīng)用程序來說,它并不知道網(wǎng)卡是虛擬的還是真實的,應(yīng)用程序通過虛擬網(wǎng)卡收發(fā)數(shù)據(jù),事實上是與仿真系統(tǒng)在進行網(wǎng)絡(luò)通信。
  
  這樣就可以使用TFTP向MiniWeb卡仿真系統(tǒng)傳遞網(wǎng)頁文件,使用IE瀏覽MiniWeb卡仿真系統(tǒng)中的網(wǎng)頁,MiniWeb卡的所有功能都能夠被檢驗。
  
  使用網(wǎng)絡(luò)臭探器Sniffer可以監(jiān)控虛擬網(wǎng)卡的報文流,方便協(xié)議調(diào)試。
  
  仿真加速技術(shù)
  
  軟硬件聯(lián)合仿真,影響仿真速度的瓶頸在HDL代碼部分的仿真。如果不設(shè)法提高HDL代碼部分的仿真速度,軟件調(diào)試就非常低效。
  
  提高硬件仿真速度的方法之一是軟件硬件仿真采用事件同步,只在CPU訪問IO時保持軟件和硬件是同步的。
  
  仿真加速方法之二是硬件仿真系統(tǒng)時鐘休眠。對于MiniWeb卡來說,只
  
  
  
  有DMAController是受時鐘控制的,軟件沒有操作DMAController的期間,DMAController的運作是毫無意義的,所以可以在非DMA操作期間,對時鐘進行休眠;ISS51在每次IO訪問時,給出與上次IO訪問的時間差,這個時間差經(jīng)過處理可以作為時鐘休眠的時間段。如果ISS51連續(xù)進行IO訪問,就不會產(chǎn)生時鐘休眠了。DMAController工作于查詢方式,可以采用時鐘休眠技術(shù),而不會導(dǎo)致仿真與真實結(jié)果的不一致。
  
  方法之三是,縮短SMARTMEDIA仿真模型中的一些長延時的時間參數(shù)。因為在等待SMARTMEDIA進入就緒狀態(tài)時,CPU必須連續(xù)查詢IO,影響仿真速度。我們主要用于軟件功能驗證,這種修改也是可以接受的。
  
  方法之四,在軟件設(shè)計上,謹(jǐn)慎使用外部中斷,因為一旦中斷啟動,ISS51需要在每個機器周期查詢是否有中斷信號,導(dǎo)致軟件仿真和硬件仿真在每個指令上都進行同步,影響仿真速度。如果一定要使用外部中斷,建議用C模型代替Verilog模型,這樣可不影響仿真速度;或者由用戶根據(jù)外部模塊產(chǎn)生外部中斷的時機,使用ISS51的控制命令,在恰當(dāng)時刻使能ISS51的中斷模塊。
  
  在一個普通PC(CPU為AMD速龍1000,SDRM512M133),運行MiniWeb卡仿真系統(tǒng),使用PING命令測試MiniWeb卡仿真系統(tǒng)的響應(yīng)速度:
  
  Replyfrom10.10.112.76:bytes=32time=64msTTL=128
  
  使用IE打開MiniWeb卡仿真系統(tǒng)中的網(wǎng)頁文件,感覺和撥號上網(wǎng)的速度差不太多。創(chuàng)建多個TFTP連接,同時向仿真系統(tǒng)傳遞或下載網(wǎng)頁文件,同時使用IE進行網(wǎng)頁瀏覽,都無響應(yīng)中斷現(xiàn)象出現(xiàn)。
  
  總結(jié)
  
  使用軟硬件聯(lián)合仿真,MiniWeb卡不需要硬件就能進行全部功能的仿真,增強了系統(tǒng)設(shè)計成功的信心。軟硬件聯(lián)合仿真方便系統(tǒng)設(shè)計調(diào)整,可以在設(shè)計前期評估性能,方便軟件和硬件的debug,是一個值得推廣的技術(shù)。
  
  

【單片機軟硬件聯(lián)合仿真解決方案】相關(guān)文章:

如何仿真單片機的外圍設(shè)備08-06

定性仿真綜述08-06

仿真小蛇作文08-17

化工仿真實習(xí)心得04-03

單片機實習(xí)報告07-22

單片機實習(xí)報告06-09

電力驅(qū)動系統(tǒng)逆變器實時仿真08-06

別墅wifi解決方案08-01

公司網(wǎng)絡(luò)解決方案08-05