色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機軟硬件聯合仿真方案

電子設計 ? 來源:互聯網 ? 作者:佚名 ? 2018-01-02 07:23 ? 次閱讀

本文介紹一種嵌入式系統仿真方法,通過一種特殊設計的指令集仿真器ISS將軟件調試器軟件Keil uVision2和硬件語言仿真器軟件Modelsim連接起來,實現了軟件和硬件的同步仿真。

縮略詞解釋:

BFM:總線功能模塊。在HDL硬件語言仿真中,BFM完成抽象描述數據和具體的時序信號之間的轉換。

PLI:Verilog編程語言接口,是C語言模塊和Verilog語言模塊之間交換數據的接口定義。

TCL:字面意思是工具命令語言,是一種解釋執行語言,流行EDA軟件一般都集成有TCL。使用TCL用戶可以編寫控制EDA工具的腳本程序,實現工具操作自動化。

ISS:CPU指令集仿真器,可以執行CPU的機器碼。

TFTP:簡單文件傳輸協議,Windows的tftp.exe既是該協議的客戶端實現。

SMART MEDIA:一種存儲卡,常用于數碼相機、MP3。

DMA:直接內存訪問。用于外部設備之間高速數據轉移。

MAC:媒體接入控制器。本文中是指網卡芯片。

前言

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

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

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

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

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

Mini Web卡介紹

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

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

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

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

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

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

軟硬件聯合仿真的必要性:

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

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

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

Mini Web卡軟硬件聯合仿真系統:

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

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

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

網卡芯片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卡硬件開發的一部分,將邏輯設計代碼應用于仿真,既能檢測邏輯設計的正確性,又能使整個仿真系統得以正常運轉。

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

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

虛擬網卡

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

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

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

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

使用網絡臭探器Sniffer可以監控虛擬網卡的報文流,方便協議調試。

仿真加速技術

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

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

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

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

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

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

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

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

總結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147958
  • 仿真器
    +關注

    關注

    14

    文章

    1017

    瀏覽量

    83727
收藏 人收藏

    評論

    相關推薦

    單片機Debug與仿真區別

    單片機的開發是一個復雜的過程,涉及到硬件設計、軟件開發和測試等多個環節。為了確保單片機能夠按照預期工作,開發者需要使用Debug和仿真技術來檢測和修正代碼中的錯誤。 Debug(調試)
    的頭像 發表于 12-19 09:47 ?103次閱讀

    基于51單片機的遙控開關仿真(雙機通信)

    靈活、高效的解決方案。本設計所使用的芯片可兼容以下所有的51系列單片機(包括AT系列和STC系列)。資料內容仿真實現(protues8.7)本設計利用protues8.7軟件實現仿真
    的頭像 發表于 10-22 14:12 ?281次閱讀
    基于51<b class='flag-5'>單片機</b>的遙控開關<b class='flag-5'>仿真</b>(雙機通信)

    基于51單片機的遙控音樂系統仿真

    ”,表示播放,按下接收器的停止按鍵后停止播放音樂;(4)按下復位按鍵后回到初始狀態。仿真演示視頻:基于51單片機的遙控音樂系統仿真-仿真視頻設計介紹51
    的頭像 發表于 10-22 14:12 ?167次閱讀
    基于51<b class='flag-5'>單片機</b>的遙控音樂系統<b class='flag-5'>仿真</b>

    仿真設計|基于51單片機的售貨機系統仿真

    /video/BV1wdtjemEey/設計介紹51單片機簡介51單片是一種低功耗、高性能CMOS-8位微控制器,具有8K可編程Flash存儲器,使得其為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案
    的頭像 發表于 10-22 14:10 ?140次閱讀
    <b class='flag-5'>仿真</b>設計|基于51<b class='flag-5'>單片機</b>的售貨機系統<b class='flag-5'>仿真</b>

    研華產品通過統信及兆芯通用軟硬件適配互認測試

    近日,研華自主研發的iEMS智慧能源、iMachine設備云智聯以及InsightAPM軟件通過了統信及兆芯通用軟硬件適配互認測試,順利取得了“通用軟硬件適配認證中心”聯合認證證書。這不僅對研華產品性能與兼容性給與認可,更是對其
    的頭像 發表于 09-14 17:58 ?1126次閱讀

    國產精密信號鏈產品完整解決方案軟硬件兼容TI和ADI

    國產精密信號鏈產品完整解決方案軟硬件兼容TI和ADI
    的頭像 發表于 08-19 09:58 ?457次閱讀
    國產精密信號鏈產品完整解決<b class='flag-5'>方案</b>,<b class='flag-5'>軟硬件</b>兼容TI和ADI

    機器視覺系統讀取二維碼-軟硬件配置方案

    機器視覺系統讀取二維碼-軟硬件配置方案
    的頭像 發表于 05-24 00:56 ?629次閱讀
    機器視覺系統讀取二維碼-<b class='flag-5'>軟硬件</b>配置<b class='flag-5'>方案</b>

    磐啟XNS1042軟硬件資料

    電子發燒友網站提供《磐啟XNS1042軟硬件資料.zip》資料免費下載
    發表于 05-06 10:35 ?4次下載

    數字電路仿真軟件單片機怎么用

    數字電路仿真軟件是一種用于模擬和測試數字電路設計的工具。其中,單片機仿真軟件是一種專門針對單片機進行仿真的工具。這種軟件能夠提供一個類似真實
    的頭像 發表于 04-21 10:28 ?1050次閱讀

    電池管理系統(BMS)軟硬件介紹

    電子發燒友網站提供《電池管理系統(BMS)軟硬件介紹.pdf》資料免費下載
    發表于 03-27 09:20 ?9次下載

    KubeCASH:基于軟硬件融合的容器管理平臺

    、CSI、CDI等接口都奉行一個重要的原則:“不做事,就不會犯錯”。K8S可以理解成嵌于整個軟硬件堆棧的一個薄層,僅僅提供硬件到容器環境的一個接入。至于具體的軟硬件交互接口和機制、硬件
    的頭像 發表于 01-08 10:16 ?1282次閱讀
    KubeCASH:基于<b class='flag-5'>軟硬件</b>融合的容器管理平臺

    基于51單片機的溫度報警系統(仿真)設計

    電子發燒友網站提供《基于51單片機的溫度報警系統(仿真)設計.rar》資料免費下載
    發表于 01-03 10:59 ?16次下載
    主站蜘蛛池模板: a一级一片免费观看视频| 入禽太深在线观看免费高清| 国内精品久久| 国产成年网站v片在线观看| yellow片高清视频免费看| 99精品视频| 国产精品自产拍在线观看网站| 99久久做夜夜爱天天做精品| 91黄色大片| 91进入蜜桃臀在线播放| 2021国产精品视频| 优菈的乳液狂飙天堂W98| 欧美另类jizzhd| 一级毛片免费下载| 三级黄视频| 日本aaaa| 日韩在线 无码 精品| 日日噜噜噜噜夜夜爽亚洲精品| 琪琪午夜福利免费院| 日韩美女爱爱| 我要干av| 亚洲成人在线免费观看| 亚洲精品色播一区二区| 淫品色影院| 99re久久热在线视频| 被同桌摸出水来了好爽的视频| 成人 迅雷下载| 国产精品久久久久影院嫩草 | 嗯别插太快好深再深点| 男人的天堂色偷偷| 日韩欧美一级| 羞羞影院午夜男女爽爽免费| 亚洲欧洲免费三级网站| 伊人国产视频| 99精品国产自在自线| 成年人免费在线视频观看| 国产精品永久免费视频观看| 娇小老少配xxxxx| 男女一边摸一边做羞羞的事情免费| 青青草 久久久| 亚洲2017天堂色无码|