proteus VSM 8.9 交互式仿真幫助

2. VSM

2.1 Interactive tutorial

2.1.1 介紹

本教程向您展示如何使用Proteus VSM和VSM Studio IDE與微控制器進行交互式仿真。重點將放在模擬器和IDE的實際使用上。本教程不涉及原理圖相關內容;如果您不熟悉ISIS中的繪圖,則應該花一些時間閱讀ISIS參考手冊中的1內容。

我們將使用的預繪製原理圖,如下所示。
在這裏插入圖片描述
從VSM Studio IDE驅動仿真的基礎開始,我們將介紹Proteus VSM軟件中提供的各種調試和測量工具。

2.1.2 準備

要完成本教程,您需要:

  • Proteus軟件版本8.0或更高版本的已安裝副本。如果您沒有專業副本,則可以從Labcenter網站免費下載該軟件的演示副本。
  • 9.8版或更高版本的PIC16編譯器的副本。可以從Proteus軟件(VSM Studio IDE)中管理該編譯器的下載和安裝。我們將在下面的教程的“項目設置”部分中介紹此過程。
    即使您沒有安裝工具,仍然建議您通讀本教程。大多數材料(以及所有調試技術)都是通用的,將對您自己的設計有用。

2.1.3 項目設置

我們需要做的第一件事是設置Proteus 8項目。由於我們使用的是虛擬開發板形式的預繪製原理圖,因此該過程大大簡化了:

  1. 從Proteus的主頁中啓動新的項目嚮導,然後選擇 開發板選項。接下來,從底部的列表框中將微控制器系列更改爲PIC16,最後更改爲F1評估板(F1發行版)。單擊完成以導入項目。
    在這裏插入圖片描述
  2. 導入項目後,您應該在應用程序中看到兩個選項卡,具有F1 Release設計的原理圖捕獲模塊和包含用於驅動硬件的標準Microchip源代碼的VSM Studio IDE。
    在這裏插入圖片描述
    我們需要做的第一件事是編譯源代碼併產生一些固件,我們可以在仿真中對其進行測試。

2.1.3 編譯器配置

Microchip官方已經不在支持此編譯器下載,可以從這裏下載:下載地址(https://download.csdn.net/download/acktomas/12260746)

Microchip源代碼是使用高科技PIC16編譯器編寫的,因此我們需要安裝此工具才能編譯固件。切換到“ VSM Studio”選項卡,然後從“配置”菜單啓動“編譯器配置”對話框。
在這裏插入圖片描述
對話框中列出了所有支持的編譯器,並指出是否已安裝和配置。按下對話框底部的“全部檢查”按鈕,將掃描計算機中的編譯器,如果找到,將對其進行配置以直接在Proteus中運行。

開源編譯器可以直接從Labcenter的服務器下載並安裝。專有編譯器可以在供應商網站的下載頁面上找到鏈接。我們需要的Hi-Tech編譯器需要從Microchip網站下載,因此,如果您未安裝此編譯器,則必須:

  1. 單擊編譯器旁邊的goto網站按鈕。

在這裏插入圖片描述
3. 下載並安裝編譯器。

  1. 單擊對話框底部的“全部檢查”按鈕,以配置編譯器與Proteus一起使用
    在這裏插入圖片描述

您應該在運行此命令後注意到對話框對話框上的Hi-Tech編譯器行被標記爲已安裝。IDE底部的輸出窗口還將報告編譯器檢查的結果。

在這裏插入圖片描述

在這一階段,我們已經完成了編譯器,源代碼和原理圖。使用VSM Studio中“構建”菜單上的“構建項目”命令(或構建圖標)來編譯固件。

在這裏插入圖片描述

編譯器的輸出將寫入IDE的底部窗格,並且在完成時應該會收到一條編譯成功的消息。

在這裏插入圖片描述

下一步是運行模擬並在虛擬硬件上測試我們的編譯代碼。

VSM Studio自動配置常用的編譯器選項,並正確構建您的程序以便於在Proteus中進行仿真。如果需要調整設置(例如,鏈接到外部庫),則可以通過“project”菜單上的“project setting”來進行。

2.1.4 運行模擬

運行模擬:在Proteus左下方的動畫控制面板上按下播放按鈕。
在這裏插入圖片描述
您應該看到原理圖選項卡位於前臺,並且LCD面板顯示默認時間。
在這裏插入圖片描述
F1評估板的Microchip演示代碼具有三種模式,一種爲時間模式,一種爲溫度模式,第三種模式爲POT提供ADC讀數。您可以通過按下原理圖上的控制按鈕來與仿真進行交互並在操作模式之間循環。

在這裏插入圖片描述

在溫度模式下,您可以通過單擊增量或減量按鈕來調整MCP9800溫度傳感器上的溫度。當前溫度通過I2C總線傳輸到PIC處理器,然後格式化並顯示在LCD上。

在這裏插入圖片描述

在電壓模式下,您可以調整POT的值。電壓讀數由處理器轉換,然後顯示在LCD面板上。

在這裏插入圖片描述

PIC微控制器具有10位LCD,我們在0至3.3V範圍內顯示的值範圍爲0至1023。

完成後,請按動畫控制面板上的“停止”按鈕以停止模擬。
在這裏插入圖片描述

重要提示

當我們在Proteus中運行仿真時,發生了很多事情,而這可能不會立即顯現出來。

首先,原理圖上的微控制器以與物理PIC執行其編程固件完全相同的方式執行編譯的固件文件。在成功編譯後,通過將輸出文件發送到原理圖,使用VSM Studio IDE可以簡單地自動執行“編程”步驟。

您會注意到,示意圖上的幾乎所有導線都在帶有名稱的端子中。對於那些不熟悉終端連接的人,值得解釋一下它是如何工作的。在原理圖上,任何兩個具有相同名稱的端子都被視爲已連接(像一條“虛擬”電線)。例如,溫度傳感器側面的RC3和RC4端子對應於連接到PIC處理器上I2C引腳的RC3和RC4端子。
在這裏插入圖片描述
我們傾向於佈局這樣的原理圖,以避免意大利麪條式佈線,並將原理圖分成易於識別的邏輯塊。要了解的重要一點是,所有信號都在可見線上傳播。這意味着您可以在可以看到電線的任何地方連接電壓探頭或測量儀器(實際上,我們將在本教程的後面部分進行介紹)。ISIS所做的只是在兩個終端之間“跳躍”信號,就好像有一條電線連接一樣。您可以在ISIS參考手冊中閱讀有關此類連接的更多信息。

最後,應用程序底部的狀態欄將報告經過的模擬時間。模擬時間取決於計算機的能力,處理器的時鐘速度和原理圖的複雜性,特定的仿真可能不會實時運行,但始終會同步運行,並且在狀態欄上報告執行時間。
在這裏插入圖片描述
例如,在一臺特別慢的計算機上,時鐘模式下的此仿真可能不會隨着牆上時鐘的推進而前進,但它將始終隨着仿真時間的推進而前進。

2.1.5 編寫固件

現在,我們已經通過仿真完成了工作流程,讓我們爲程序添加一些功能。我們知道,按下按鈕可在時間顯示,溫​​度和POT顯示之間切換,因此我們可以在此處輕鬆添加另一種操作模式。首先切換到VSM Studio IDE選項卡並打開main.c文件(雙擊項目樹中的項目)。
在這裏插入圖片描述

在文件頂部附近,您會看到一些函數原型和操作模式的枚舉。我們需要爲測試模式添加一個新的函數原型,並向枚舉添加一個相應的值。您可以添加以下內容:

在這裏插入圖片描述

接下來,我們需要找到按鈕切換邏輯,以添加新的操作模式。最簡單的方法是搜索其他模式之一。右鍵單擊VSM Studio中的編輯窗口,從出現的上下文菜單中選擇“查找”,然後輸入MODE_POT作爲搜索詞。
在這裏插入圖片描述

幾乎第一個匹配項是我們正在尋找的匹配項,即按鈕釋放的switch語句在顯示模式的設置之間循環。我們需要做的就是添加新模式。
在這裏插入圖片描述

請注意,您還需要更改前一個case語句的顯示模式。

在代碼的下面,還有另一個switch語句,用於操作當前的顯示模式。再次,我們需要在這裏處理我們的情況並調用我們的函數。
在這裏插入圖片描述

最後一步是編寫一個函數,該函數在進入操作模式時會執行某些操作。我們將其添加到文件的底部。

在這裏插入圖片描述

您可以在此處進行實驗並添加任何您喜歡的東西,但是我們將做一些簡單的事情,在顯示屏上寫入一個值,並在LED上添加一個小二進制計數器。
在這裏插入圖片描述

由於我們在這裏使用PORTE來寫入LED,因此我們還需要配置端口引腳。我們將在主要功能頂部的外圍配置部分中設置ANSELE。
在這裏插入圖片描述

最後一步是構建項目並啓動ISIS,如前所述。如果您犯了一個錯誤(如此處所述),您將在輸出窗口中看到編譯器錯誤。單擊此錯誤將導航到問題。在我們的例子中,我們錯過了行尾的分號。
在這裏插入圖片描述

某些錯誤(例如鏈接器錯誤)顯然將無法導航。在這些情況下,您可能需要通過項目設置命令更改選項/包含。

這次運行仿真時,我們可以使用按鈕在操作模式之間循環,直到達到自己的操作模式(時間->溫度->測試)。此時,我們應該在顯示屏上看到顯示的數字,並在LED的

在這裏插入圖片描述

再次,按動畫控制面板上的“停止”按鈕以停止模擬。

該示例有些人爲設計,但並非令人興奮,但它確實顯示瞭如何在虛擬硬件上快速編寫和模擬代碼。

2.1.6 主動彈出式窗口

到目前爲止,我們一直在VSM Studio選項卡中編寫代碼,並在邏輯示意圖捕獲選項卡上進行仿真。這沒什麼問題,如果將其中一個標籤頁拖到另一個屏幕上,則可以在兩臺顯示器上很好地工作。

但是,在調試時,您通常對步進代碼和僅查看電路板上的一小部分進行驗證更感興趣。Proteus中的活動彈出系統旨在完全做到這一點-在仿真過程中將原理圖的定義部分引入VSM Studio。

在我們的案例中,溫度傳感器是調試過程中我們可能希望看到並與之交互的一個很好的例子。要將其添加爲活動彈出窗口:

  1. 切換到“ ISIS”選項卡,然後選擇“活動彈出”圖標。
    在這裏插入圖片描述

  2. 從左上方開始,並在其周圍拖動一個框。

在這裏插入圖片描述

  1. 完成後,您應該在該區域周圍看到一條藍色虛線。

在這裏插入圖片描述

如果輸入有誤,可以右鍵單擊虛線並刪除。同樣,如果定位錯誤,則可以右鍵單擊虛線並拖動。

活動彈出框的其他可能候選對象是模式選擇按鈕,POT和顯示器本身,因此我們可以重複上述過程,在這些項目周圍拖動其他框。完成後,原理圖應類似於以下內容。
在這裏插入圖片描述
由於我們已經指定了活動彈出窗口,因此假設我們將在VSM Studio中進行工作(調試)。如果您按播放按鈕以運行模擬,現在應該會發現您已切換到VSM Studio選項卡,並且活動彈出窗口停靠在IDE的右側。

在這裏插入圖片描述

當我們自由執行代碼時,選項卡的源和變量區域將在此時顯示模擬運行消息。我們將在本教程的下一部分中介紹調試。

活動彈出窗口很聰明,不僅因爲它們將原理圖的區域帶到調試環境中,而且您可以與之交互。例如,如果您單擊S1按鈕以切換模式,則應該看到顯示更改爲I2C溫度傳感器上的溫度,如果您隨後調整了傳感器上的溫度,則顯示應該反映出更改。

在這裏插入圖片描述

您可以切換回原理圖選項卡,您將看到與活動彈出窗口完全相同的狀態。當您停止模擬(從動畫控制面板)時,活動的彈出窗口將消失,VSM Studio將從其“調試佈局”切換爲“設計佈局”,您可以在其中再次編輯和編譯源代碼。

僅當仿真停止時,才能在原理圖上創建或調整活動彈出窗口。但是,您可以在模擬運行時通過拖動來調整VSM Studio內部活動彈出窗口的大小。

現在,我們已經配置了活動彈出窗口,我們可以開始研究在第一次無法正常工作時如何調試問題。

2.1.7 基本調試

Proteus VSM的真正強大功能大部分來自於其調試功能。我們已經瞭解瞭如何在自由運行的模擬過程中編寫代碼和進行測試,現在我們將研究如何在模擬時間內逐步完成代碼。

使用動畫控制面板上的暫停按鈕開始仿真

在這裏插入圖片描述
程序將切換到VSM Studio選項卡,活動彈出窗口將顯示在右側,主面板將報告“無源行消息”,並且程序變量列表將出現在屏幕底部。
在這裏插入圖片描述

在此階段,仿真已“啓動”,並且已找到穩定的工作點,但未執行任何指令,也未經過任何實時操作。

沒有顯示源代碼,因爲當前程序計數器值處沒有源代碼

您可以從窗口頂部的組合框中選擇任何程序源文件,但我們將從包含原理程序控制循環的main.c文件開始。
在這裏插入圖片描述
舉一個簡單的例子,讓我們在主事件循環中設置一個斷點。設置/切換斷點的最簡單方法是雙擊要中斷的代碼行。斷點指示器應出現在源代碼窗口左側相關代碼行的旁邊。如果您錯誤地設置了斷點,則可以通過再次雙擊該行(或從右側上下文菜單中)將其刪除或將其關閉。

在這裏插入圖片描述

如果現在運行模擬(播放按鈕),它將在自由運行模式下愉快地切換執行,直到釋放模式切換按鈕(S1),此時將按下按鈕釋放代碼,並且模擬將暫停。通過單擊活動彈出窗口中的按鈕,您可以輕鬆地做到這一點。

在這裏插入圖片描述

達到斷點後,我們可以通過常規命令單步執行代碼,這些命令可以在源代碼窗口的右上角或VSM Studio中的調試菜單上找到。另外,您可以使用F10和F11快捷鍵分別“跳越”和“進入”。

在這裏插入圖片描述

如果您確實需要詳細檢查行爲,則甚至可以在彙編級別上逐步執行代碼。右鍵單擊源菜單,然後從出現的上下文菜單中選擇“反彙編”,然後使用與以前相同的步驟命令。

在這裏插入圖片描述

右鍵單擊並再次選擇反彙編以返回到高級源代碼

您可能會注意到,在單步調試期間,顯示器的活動彈出窗口未顯示完整的清晰輸出。這是正確的,並且顯示被多路複用的結果。

如果要瀏覽下一個按鈕,只需按動動畫控制面板上的播放按鈕,然後單擊活動彈出窗口上的按鈕即可再次觸發斷點。

完成後,右鍵單擊並選擇清除所有斷點,然後按動畫控制面板上的“停止”按鈕結束調試會話。

重要提示

當您在Proteus中遇到斷點或單步調試時,重要的是要了解整個系統都處於時間控制之下。例如,這意味着在系統暫停時電容器不會放電或電機失去動量。當您執行命令時,將執行指令,這些指令的效果會在系統中傳播,然後系統將再次暫停。在調試期間,您可以通過狀態欄上的輸出看到這種受控的時間提前量。

提供了許多其他調試窗口,本教程中未討論。所有這些都可以從VSM Studio中的調試窗口啓動,並將顯示在IDE的底部。每當暫停模擬時,數據將顯示在窗口上。監視窗口-一種特殊情況-在本教程的下一部分中將單獨討論。

2.1.7 監視窗口

監視窗口是一個調試窗口,可以在自由運行的模擬過程中提供實時數據,它還爲我們提供了一種不同的方法來確定斷點。首先,讓我們使用監視窗口來監視來自POT的ADC轉換。

使用Proteus底部的播放按鈕開始仿真,然後從VSM Studio中的調試菜單啓動監視窗口。您應該看到它在IDE底部顯示爲停靠的選項卡。

在這裏插入圖片描述

接下來,右鍵單擊監視窗口,然後從上下文菜單中選擇“按名稱添加項”。我們要添加ADC寄存器ADRESH和ADRESL,您可以通過雙擊條目來完成。完成後退出對話框,您應該看到兩個項目都出現在監視窗口顯示中。

在這裏插入圖片描述

現在,我們需要使用活動的彈出窗口(或切換到“原理圖”選項卡)切換到POT讀取模式。單擊控制按鈕三下以循環模式,然後使用設備左側的執行器按鈕更改POT上的值。

在這裏插入圖片描述

如果爲了更容易理解結果,則可以將項目的顯示格式更改爲二進制。您可以通過右鍵單擊監視窗口中的每個項目並將顯示格式更改爲二進制來實現。
在這裏插入圖片描述

由於這是10位ADC,當POT上升到最大值時,我們應該看到該值的最大值爲1023或0x03FF。

在這裏插入圖片描述

現在,假設我們需要在回退的路上趕上中點。我們知道中點值結果應該在0x1FF左右,因此我們可以在監視項上設置條件以觸發斷點。我們通過右鍵單擊監視項並從上下文菜單中選擇監視點條件來做到這一點。我們假設,當兩個ADRESH都等於0x01且ADRESL小於或等於0xFF時,我們希望停止。這將是我們第一次在中點電壓處從最大值向下擊中該值時起作用。

在這裏插入圖片描述

請注意,您需要分別配置ADRESH和ADRESL。完成後,監視窗口的顯示應如下所示。

在這裏插入圖片描述

設置好監視條件後,我們現在需要做的就是向下調整POT,直到滿足條件時出現斷點。和以前一樣,您可以通過VSM Studio中的POT活動彈出窗口或切換到“原理圖”選項卡來執行此操作。觸發後,您應該看到監視項上的值爲0x1FF,並且-如果需要的話-您可以在觸發條件的確切位置開始單步執行代碼。

在這裏插入圖片描述

當您想捕獲溢出條件時,監視條件對於調試計時器代碼之類的事情特別有用。

您可以通過以下方式禁用監視點表達式:右鍵單擊監視項目,選擇監視點條件,然後從出現的對話框中選擇“關閉監視點”選項。

在繼續討論硬件斷點之前,請先禁用監視點條件(如上所述)或完全刪除監視項,然後按動畫控制面板上的“停止”按鈕以結束模擬。

2.1.8 硬件斷點

到目前爲止,我們已經研究瞭如何基於軟件條件(觀察點和斷點)進入仿真。當發生硬件狀況時,也可以使用硬件斷點對象來檢查代碼。例如,如果我們想捕捉I2C總線的活動開始信號,我們可以在I2C線上設置硬件斷點,如下所示。

切換到“原理圖”選項卡,然後從左側的模式選擇器中選擇電壓探針圖標。接下來,單擊編輯窗口,將鼠標移到總線上的SDA線上,然後再次單擊鼠標左鍵以將探針放到電線上。

在這裏插入圖片描述

現在,右鍵單擊探針,然後從出現的上下文菜單中選擇編輯屬性。

在這裏插入圖片描述

選擇數字斷點,我們想在低電平有效時觸發,因此輸入0作爲觸發值。

在這裏插入圖片描述

單擊確定,然後按播放以運行模擬。您應該發現仿真幾乎會立即暫停,並且VSM Studio中的源窗口將顯示我們剛剛執行了將SDA設置爲低的命令。

在這裏插入圖片描述

該斷點實際上發生在初始化例程中。如果我們要跳過此操作並僅在進入I2C模式時激活,則需要在斷點上設置開始佈防時間。爲此,請停止仿真,切換至邏輯示意圖模塊,然後像以前一樣進行編輯。將佈防時間設置爲1秒。

在這裏插入圖片描述

這次運行仿真時,直到按下模式選擇按鈕進入溫度模式(在I2C總線上傳輸溫度)後,斷點纔會觸發。

在這裏插入圖片描述

您應該發現自己最終進入了源代碼中的I2C例程之一。您可以使用前面各節中介紹的逐步和調試從此處遵循代碼路徑。完成後,再次停止仿真。

2.1.9 交互式測量

我們經常要檢查設計上的信號和波形,Proteus提供了兩種主要的方法。舉例來說,假設我們需要檢查來自MCP9800溫度傳感器的I2C流量。我們可以交互式地執行此操作,也可以通過更傳統的基於圖的方法來執行此操作。

我們需要做的第一件事是整理原理圖並刪除我們先前使用的調試項。您可以通過右鍵單擊原理圖上的探針並從上下文菜單中選擇“刪除”來刪除電壓探針。同樣,我們可以右鍵單擊活動彈出窗口中的對象邊框並將其刪除。

在這裏插入圖片描述

在原理圖上定義了活動彈出窗口後,仿真開始時Proteus會切換到VSM Studio,因爲假定您主要是調試源代碼。由於我們現在正在分析信號,因此我們希望刪除活動的彈出窗口,以便模擬從打開“原理圖”選項卡開始。

下一步是放置並連接I2C調試器。選擇儀器模式,單擊該圖標後,將在零件箱中顯示可用的交互式測量工具的列表。在我們的案例中,選擇的是I2C協議分析器。

在這裏插入圖片描述

單擊零件箱中的I2C分析器將其選中,然後以通常的方式將其放在原理圖上。爲了便於接線,您需要將其放在溫度傳感器下方。

在這裏插入圖片描述

接下來,我們需要連接引腳。請注意,光標在電線的起點和終點都變爲綠色。因此,接線過程是將鼠標置於起點(I2C調試器上的引腳)上方,直到光標變爲綠色,然後單擊鼠標左鍵以開始放置,將鼠標移至目標點(光標變爲綠色),最後單擊鼠標左鍵以終止放置。使用此技術將SCL和SDA線都連接到I2C總線。

在這裏插入圖片描述

我們已經連接了分析儀,我們可以開始仿真了。您應該立即看到I2C調試器還有一個額外的窗口,並且似乎有一些初始化/識別流量。要查看正常傳輸,我們需要按原理圖上的按鈕切換到溫度模式顯示。
在這裏插入圖片描述

由於代碼一直在輪詢,因此您應該從動畫控制面板中暫停仿真,以便我們花一些時間來分析流量。
在這裏插入圖片描述

如果您在單個框架內工作,則假定您對等待執行的源代碼感興趣,因此在模擬暫停時,“ VSM Studio”選項卡將出現在前臺。同時,分析儀將保持在頂部。如果要同時查看原理圖和源代碼,則可以使用“活動”彈出窗口,也可以將“ VSM Studio”選項卡拖動到一些可用空間以將其分開。

協議分析器中使用的語法是標準的,應該熟悉。您可以通過左側的“ +”框擴展任何序列。外設(MCP9800)的標準地址爲0x90,因此我們可以從讀取請求中看到序列是開始(S),然後是讀取請求0x91(讀取請求,位0置1),然後是0x1B(數據)等等。上。可以預期,接收到的數據(0x1B)爲27位十進制數,對應於當前在外圍設備上顯示的溫度。

在這裏插入圖片描述

您可以通過運行仿真,更改MCP9800原理圖零件上的溫度,然後再次暫停以檢查I2C調試器上的顯示輸出來進行試驗。

在這裏插入圖片描述

請注意,在不斷輪詢文本數據到顯示器的過程中,使用諸如此類的持續輪詢固件會在性能方面產生相當大的開銷。但是,在大多數情況下,您使用儀器進行測試或調試,此時,仿真速度僅次於解決問題的速度。與所有調試窗口一樣,您可以在不使用調試器時將其關閉,然後從VSM Studio或ISIS中的“調試”菜單中將其重新打開。

進一步閱讀:

  • Proteus VSM參考手冊中提供了有關協議分析器以及其他儀器的更多信息。特別要注意的是,您可以將分析儀用作I2C主(或從)設備,也可以僅用作監視器。

  • 有關在原理圖上進行拾取,放置和佈線的更多信息,請參見從主頁啓動的ISIS教程文檔。

2.1.10 基於圖的測量

通過使用基於圖的模擬,我們可以以不同的方式查看相同的流量。但是,有一些重要的差異會影響我們如何設置仿真,即:

  • 在基於圖形的仿真期間,您無法與電路交互。
  • 基於圖的模擬僅能運行指定的時間段。
  • 在這段時間結束並且模擬停止之前,結果是不可見的。

鑑於以上所述,讓我們看一下如何使用數字圖分析I2C流量。首先,通過右鍵單擊交互式I2C調試器並從上下文菜單中選擇“刪除”來刪除它。

在這裏插入圖片描述

接下來,通過使用鼠標右鍵在顯示器和電線周圍拖動標籤框,爲圖形留出一些空間,以使它們全部突出顯示。左鍵按下鼠標並將批次拖至原理圖的右側。

在這裏插入圖片描述

現在選擇圖形模式圖標,然後從零件箱中選擇數字圖形。左鍵單擊想要圖表所在位置的左上方的鼠標,然後將鼠標向下和向右移動。再次左鍵單擊以提交放置。

在這裏插入圖片描述

請注意,原理圖上的圖形不必特別大。當我們要分析仿真結果時,我們將在以後最大化它。

添加完圖形後,我們現在需要告訴它要跟蹤的導線。爲此,我們將探針附加到導線上,然後將探針指定爲圖形上的跡線。選擇電壓探針圖標,然後將探針放置在兩條I2C線上。完全按照我們之前在硬件斷點部分中所討論的那樣進行。

在這裏插入圖片描述

如果需要爲探針留出空間,請右鍵單擊導線末端的端子,右鍵單擊並從上下文菜單中選擇拖動對象,然後向左移動以留出探針空間。

在這裏插入圖片描述

如果需要靠近鼠標,可以使用鼠標中鍵或F6 / F7鍵在鼠標位置周圍放大和縮小。F8鍵將返回到原理圖的默認視圖。

默認情況下,電壓探針將選擇端子名稱。重命名它們以在我們的仿真環境中更有意義是很有用的。您可以通過右鍵單擊探針,編輯其屬性,然後將名稱分別更改爲SCL或SDA來執行此操作。
在這裏插入圖片描述

現在我們在導線上有探針,在原理圖上有圖形,我們需要將探針添加到圖形中。有幾種方法可以做到這一點,但最簡單的方法可能只是將探針拖到圖形上。爲此,右鍵單擊探針,選擇拖動對象,將鼠標移到圖形上,然後再次單擊鼠標左鍵以拖放。對兩個探針都執行此操作。

在這裏插入圖片描述

默認情況下,基於圖的仿真將從仿真時間的零時開始運行到一秒鐘。在這裏,從一秒鐘運行到兩秒鐘會更有意義,從而跳過了初始化流量。我們可以通過編輯圖形(右鍵單擊和編輯屬性)並更改開始和停止時間來做到這一點。
在這裏插入圖片描述

左鍵單擊原理圖的空白區域將取消選擇任何當前選定的對象。通常,當您退出編輯屬性對話框時,此操作會完成,因爲該對象仍會突出顯示。

現在我們可以進行模擬,除了一個重大問題。如前所述,您無法在基於圖形的仿真過程中與電路進行交互,但是我們需要切換模式以輪詢溫度傳感器並觸發I2C流量。由於無法按下按鈕,我們需要向PIC注入等效信號,以使固件切換到溫度模式。我們用發生器來做。選擇發生器模式圖標,然後從零件箱中選擇脈衝發生器。將發生器放置在RD2端子旁邊的按鈕右側-您可能需要先移動端子,以在發生器的電線上留出一些空間。

在這裏插入圖片描述

現在,以通常的方式編輯生成器(右鍵單擊-編輯屬性)。從數字發生器類型中選擇單個脈衝,並將脈衝極性更改爲負,以便脈衝信號表示按鈕按下。由於我們是從1s到2s進行仿真,因此將開始時間設置爲1.25s,並將脈衝寬度設置爲大約50ms。

在這裏插入圖片描述

現在,我們可以運行模擬。與交互式仿真不同,現在使用了動畫控制面板(我們在固定時間進行仿真,而不一定要從零時開始)。而是使用圖形菜單上的“模擬圖形”命令。然後,您應該看到如下所示的結果。

在這裏插入圖片描述

除了流量直到大約1.25s(由脈衝指定)纔開始的事實之外,我們在這裏看不到太多信息。右鍵單擊圖形,然後從上下文菜單中選擇“最大化”以在新選項卡中啓動程序。
在這裏插入圖片描述

當“圖形”選項卡位於前臺時,菜單和圖標將更改以顯示我們可以對圖形執行的操作。特別是,請注意應用程序頂部的新圖形工具欄
在這裏插入圖片描述

可以在此處找到縮放命令,其中最有用的可能是“縮放到區域”圖標。單擊此圖標,然後在小區域中拖動以定位顯示。如果重複此操作,您很快就可以放大單個I2C序列。
在這裏插入圖片描述

或者,您可以按住SHIFT鍵並用鼠標拖動一個框來放大框內的區域。

那些熟悉I2C協議的人可以根據我們先前在協議分析器上看到的排序,驗證圖中的原始數據。

最後,您可以使用以下圖表進行測量:

  • 在圖形窗口上單擊鼠標左鍵將在圖形上放置一個(綠色)光標。
  • 向左拖動鼠標可讓您定位光標
  • 按住CTRL鍵並單擊鼠標左鍵將放置一個(紅色)光標。
  • 按住CTRL鍵的同時向左拖動鼠標,可以定位(紅色)光標。
  • 每個光標的數據和它們之間的增量將顯示在圖形窗口底部的顯示屏上。
    在這裏插入圖片描述

進一步閱讀

  • ISIS教程文檔中更詳細地介紹了此處簡要討論的所有常規放置和編輯技術。

  • 本文檔後面將提供有關圖形的更多信息,有關變形器,探頭和基於圖形的仿真的完整討論,請參見Proteus VSM參考手冊。

2.1.11 診斷消息

Proteus中提供的另一個通常被忽略的工具是診斷消息傳遞。此界面使您可以要求系統提供特定外圍設備中活動的純文本報告。爲此,我們將打開LCD面板的診斷消息。

切換到“原理圖”選項卡,然後從“調試”菜單中啓動配置診斷命令。

在這裏插入圖片描述

展開顯示面板的條目,單擊條目,然後將跟蹤信息級別更改爲完全跟蹤。

在這裏插入圖片描述

現在擴展PIC16並向下滾動至LCD模塊條目,再次將跟蹤信息級別更改爲“全跟蹤”。

在這裏插入圖片描述

從動畫控制面板啓動交互式仿真,然後單擊仿真顧問以查看診斷消息。這會將Proteus切換到VSM Studio選項卡,並且模擬顧問程序將在框架底部顯示爲停靠的窗口。

在這裏插入圖片描述

如果您暫停模擬,請注意LCD消息包含PC值,您可以單擊這些值以在源代碼中找到導致這種情況的指令。
在這裏插入圖片描述

僅在模擬暫停時纔可以導航到源代碼。

最後,停止仿真並以與啓用它們相同的方式關閉診斷,只是將跟蹤信息級別更改回僅警告。

診斷消息在出現問題的情況下特別有用,在這種情況下,您需要先收集信息,然後再決定在哪裏尋找錯誤。它的確會嚴重影響性能(例如,在溫度模式下與PIC MSSP外設和MCP9800一起嘗試),因此僅在需要時才啓用。如果您知道感興趣的活動範圍是何時,也可以選擇僅在有限的時間段內登錄。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章