官术网_书友最值得收藏!

1.7 Proteus的虛擬仿真調試工具

ISIS下的電路原理圖設計以及C51源程序編輯、編譯完成后,還需要利用Proteus提供的多種虛擬仿真工具對其進行調試,以檢查設計是否正確。因此,虛擬仿真工具為單片機系統的電路設計、分析以及軟硬件聯調測試帶來了極大的方便。

本節介紹Proteus的各種虛擬仿真調試工具,如虛擬信號源、虛擬儀器、圖表仿真與硬件斷點的設置。

1.7.1 虛擬信號源

Proteus ISIS提供了各種類型的虛擬激勵信號源,并允許用戶設置其參數。單擊圖1-2左側工具箱中的47400-00-32-5圖標,出現各種類型的激勵信號源的名稱列表及對應的符號,如圖1-39所示。圖1-39中選擇的是正弦波信號源,在預覽窗口中顯示正弦波信號源符號。名稱列表中各符號對應的激勵信號源如表1-2所示。

圖1-39 各種激勵信號源及對應的符號

表1-2 各種激勵信號源及對應的符號

下面介紹在單片機系統虛擬仿真中經常用到的幾種信號源。

1. 直流信號源

直流信號源用于產生模擬直流電壓或電流。

(1)直流信號源的選擇與放置

① 在圖1-39所示的激勵源的名稱列表中,單擊DC,在預覽窗口中出現直流信號發生器的符號,如圖1-40所示。

圖1-40 直流信號源符號

② 在編輯窗口雙擊,直流信號發生器被放置到原理圖編輯窗口中。可使用鏡像、翻轉工具調整直流信號發生器在原理圖中的位置。

(2)屬性設置

① 在原理圖編輯區中,雙擊直流信號源符號,出現圖1-41所示的屬性設置對話框。

圖1-41 直流信號源屬性設置對話框

② 在“模擬類型”欄中選擇DC,如圖1-41所示,即選擇了直流電壓源,直流電壓源的電壓值可在右上角設置。

③ 如果需要直流電流源,則選擇圖1-41中左下方的“電流源?”,在圖1-42右側自動出現電流值的標記Current(Amps),可根據需要填寫電流值。

④ 單擊“確定”按鈕,完成屬性設置。

圖1-42 設置電流源的屬性

2. 正弦波信號源

正弦波信號源是設計中經常用到的信號源之一。

(1)正弦波信號源的選擇與放置

① 單擊工具箱中的47400-00-33-3圖標,出現所有信號源的名稱列表(見圖1-39),單擊SINE,在預覽窗口中出現正弦波信號源的符號。

② 在編輯窗口雙擊,正弦波信號發生器被放置到原理圖編輯界面中。可使用鏡像、翻轉工具調整正弦波信號源在原理圖中的位置。

(2)屬性設置

① 雙擊原理圖中的正弦波信號源符號,出現其屬性設置對話框,如圖1-43所示。屬性設置對話框中主要選項的含義如下。

? Offset(Volts):正弦波的振蕩中心電平。

? Amplitude(Volts):正弦波有3種幅值表示方式,其中“幅度”為振幅,即半波峰值電壓;“峰值”是指峰值電壓;“有效值”為有效值電壓。以上3種表示方式任選一項即可。

? 時間:正弦波頻率有3種表示方式,其中“頻率(Hz)”單位為Hz,“周期(秒)”單位為s,選一項即可。

? 延時:選擇正弦波的初始相位。其中延時(單位s)是指在時間軸的延時;相位(°)是指正弦波的初始相位。

圖1-43 正弦波屬性的設置

② 在“激勵源名稱”文本框中輸入正弦波信號源的名稱,如輸入“正弦信號源”。如果要在電路中使用兩個正弦波信號源,則分別輸入兩個正弦波信號源的名稱A和B。兩個正弦波信號源各參數設置如表1-3所示。

表1-3 兩個正弦波信號源的參數設置

③ 單擊“確定”按鈕,設置完成。

④ 使用虛擬示波器(見1.7.2節)觀察兩個信號源產生的信號。具體操作如下。

單擊工具箱中的47400-00-34-3圖標,出現激勵源名稱列表,單擊SINE,在預覽窗口中出現正弦波信號源的符號。在原理圖編輯窗口雙擊,將兩個正弦波信號發生器放置到原理圖編輯界面中。單擊工具箱中的47400-00-34-4按鈕,列出所有虛擬儀器名稱,單擊列表區中的OSCILLOSCOPE,在預覽窗口中出現示波器的符號圖標。在原理編輯窗口單擊,出現示波器的拖動圖標,將示波器拖動到合適的位置,再次單擊,示波器就被放置到原理圖編輯窗口中。將示波器與正弦波信號源連接,如圖1-44所示。

圖1-44 兩個信號源與示波器的連接

單擊仿真47400-00-34-5按鈕開始仿真運行,出現示波器運行界面,示波器屏幕上顯示的兩個正弦信號源的波形如圖1-45所示。

圖1-45 示波器顯示的兩個正弦波信號波形

3. 單周期數字脈沖信號源

在單片機系統電路的虛擬仿真中,有時需要將單個脈沖作為激勵信號。

(1)單周期數字脈沖信號源的選擇與放置

① 單擊工具箱中的47400-00-34-6圖標,出現所有激勵源的名稱列表,單擊DPULSE,在預覽窗口中出現單數字脈沖信號源的符號,如圖1-46所示。

圖1-46 單周期數字脈沖源的符號

② 在編輯窗口雙擊,單周期數字脈沖信號源被放置到原理圖編輯界面中。可使用鏡像、翻轉工具調整單周期數字脈沖信號源在原理圖中的位置。

(2)屬性設置

① 雙擊原理圖中的單周期數字脈沖發生器符號,出現單周期數字脈沖源屬性設置對話框,如圖1-47所示。

圖1-47 單周期數字脈沖屬性設置對話框

主要設置的參數如下。

? 脈沖極性:正脈沖或負脈沖。

? 脈沖時間:設置脈沖開始時間、脈沖寬度(秒)和脈沖停止時間(秒)。

② 在“激勵源名稱”文本框中輸入單周期數字脈沖發生器的名稱“單脈沖源”。

③ 單擊“確定”按鈕,完成設置。

④ 采用圖表仿真模式(見1.7.3小節)可觀察單周期數字脈沖信號的產生,如圖1-48所示。注意,如果采用示波器來觀察該單周期數字脈沖信號,由于示波器只能觀察周期信號,而單周期數字脈沖信號會瞬間消失,所以示波器也觀察不到穩定的單周期數字脈沖信號。

圖1-48 單周期正脈沖圖表仿真

4. 數字時鐘信號源

數字時鐘信號源也是單片機系統虛擬仿真中經常用到的信號源。例如,制作一個頻率計,需要有被測量的時鐘脈沖信號源,這時可由數字時鐘信號源產生時鐘脈沖,用頻率計來測量時鐘脈沖的頻率。

(1)數字時鐘信號源的選擇與放置

① 單擊工具箱中的47400-00-36-2圖標,出現圖1-49所示的所有激勵源的名稱列表,單擊DCLOCK,在預覽窗口中出現數字時鐘信號源的符號。

圖1-49 激勵源的名稱列表以及

② 在編輯窗口雙擊,數字時鐘信號源被放置到原理圖編輯界面中。可使用鏡像、翻轉工具調整數字時鐘信號源在原理圖中的位置。

(2)屬性設置

① 雙擊原理圖中的數字時鐘信號源符號,出現數字時鐘信號源屬性設置對話框,如圖1-50所示。

圖1-50 數字時鐘信號源屬性設置對話框數字時鐘信號源的符號

② 在“激勵源名稱”文本框中輸入自定義的數字時鐘信號發生器的名稱“數字脈沖源”,在“時間”項中把“頻率”設為5Hz。

③ 單擊“確定”按鈕,完成設置。

④ 采用圖表仿真模式(見1.7.3小節)觀察數字脈沖信號的產生,如圖1-51所示。由于頻率設為5Hz,周期為200ms,圖表的時間橫軸的范圍設為0~1s,所以可觀察到5個脈沖。

圖1-51 數字時鐘信號源圖表仿真結果

1.7.2 虛擬儀器

Proteus ISIS提供了多種虛擬儀器,單擊工具箱中的47400-00-37-1按鈕,可列出所有的虛擬儀器名稱,如圖1-52所示。

圖1-52 虛擬儀器名稱列表

1. 虛擬示波器

虛擬示波器是最常用的虛擬儀器之一。

(1)放置虛擬示波器

① 單擊圖1-52列表區中的OSCILLOSCOPE,在預覽窗口中出現示波器的符號圖標。

② 在編輯窗口單擊,出現示波器的拖動圖標,將示波器拖動到合適的位置,再次單擊,示波器就被放置到原理圖編輯窗口中。

(2)虛擬示波器的使用

① 示波器的4個接線端A、B、C、D可以分別接4路輸入信號,該虛擬示波器能同時觀看4路信號的波形。

② 按照圖1-53連接。把200Hz、1V的正弦激勵信號加到示波器的B通道。

圖1-53 正弦信號與示波器的連接

③ 單擊仿真47400-00-37-4按鈕開始仿真,出現示波器運行界面,如圖1-54所示。可以看到,左邊的圖形顯示區有4條不同顏色的水平掃描線,其中B通道由于接有正弦信號源,已經顯示出正弦波形。

圖1-54 仿真運行后的示波器界面

示波器的操作區分為6個部分,如圖1-55所示。

圖1-55 示波器的操作區

? Channel A:A通道。

? Channel B:B通道。

? Channel C:C通道。

? Channel D:D通道。

? Trigger:觸發區。

? Horizontal:水平區。

下面對操作區進行說明。

① 4個通道區:4個區的操作功能都一樣。主要有兩個旋鈕,Position滾輪旋鈕用來調整波形的垂直位移;下面的旋鈕用來調整波形的Y軸增益,白色區域的刻度表示圖形區每格對應的電壓值。外旋鈕是粗調,內旋鈕是微調。在圖形區讀取波形的電壓值時,會把內旋鈕順時針調到最右端。

② 觸發區:該區中的Level滾輪旋鈕用來調節水平坐標,水平坐標只在調節時才顯示。Auto按鈕一般為紅色選中狀態。Cursors光標按鈕選中后變為紅色,可以在圖標區標注橫坐標和縱坐標,從而讀取波形的電壓、時間值及周期,如圖1-56所示。單擊鼠標右鍵,在快捷菜單中選擇清除所有的標注坐標、打印及顏色設置。

圖1-56 觸發區Cursors按鈕的使用

③ 水平區:Position用來調整波形的左右位移,下面的旋鈕調整掃描頻率。讀周期時,應把內環的微調旋鈕順時針旋轉到底。

2. 虛擬終端

Proteus VSM提供的虛擬終端的原理圖符號如圖1-57所示。虛擬終端相當于鍵盤和屏幕的雙重功能。

圖1-57 虛擬終端的原理圖符號

例如,在圖1-58所示的單片機與上位機(PC)之間串行通信時,直接由虛擬終端VT1、VT2顯示出經RS232接口模型與單片機之間異步發送或接收數據的情況。VT1顯示的數據表示單片機經串口發給PC的數據,VT2顯示的數據表示PC經RS232接口模型接收到的數據,從而省去了PC的模型。虛擬終端在運行仿真時會彈出一個仿真界面,當PC向單片機發送數據時,可以和虛擬鍵盤關聯,用戶可從虛擬鍵盤經虛擬終端輸入數據;當PC接收到單片機發送來的數據后,虛擬終端相當于一個顯示屏,會顯示相應信息。

圖1-58所示的虛擬終端共有4個接線端,其中RXD為數據接收端,TXD為數據發送端,RTS為請求發送信號,CTS為清除傳送,是對RTS的響應信號。

圖1-58 單片機與PC之間串行通信的虛擬終端

在使用虛擬終端時,首先要設置其屬性參數。雙擊元件,出現如圖1-59所示的虛擬終端屬性設置對話框。

圖1-59 虛擬終端屬性設置對話框

需要設置的參數主要有下面幾個。

? Baud Rate:波特率,范圍為300~57 600B/s。

? Data Bits:傳輸的數據位數,為7位或8位。

? Parity:奇偶校驗位,包括奇校驗、偶校驗和無校驗。

? Stop Bits:停止位,具有0,1或2位停止位。

? Send XON/XOFF:第9位發送允許/禁止。

選擇合適參數后,單擊“確定”按鈕,關閉對話框。運行仿真,彈出圖1-58所示的虛擬終端VT1和VT2的仿真界面。從仿真界面可以看到串口發送與接收的數據。

3. I2C調試器

I2C總線是Philips公司推出的芯片間的串行傳輸總線。只需要兩根線(即串行時鐘線SCL和串行數據線SDA)就能實現總線上各元器件的連接與全雙工同步數據傳送。芯片間接口簡單,非常容易實現單片機應用系統的擴展。

I2C總線采用元器件地址的硬件設置方法,避免了通過軟件尋址元器件片選線的方法,使硬件系統的擴展簡單靈活。按照I2C總線規范,主機只要在程序中裝入這些標準處理模塊,根據數據操作要求完成I2C總線的初始化,啟動I2C總線,就能自動完成規定的數據傳送操作。由于I2C總線接口集成在芯片內,用戶無需設計接口,只需將芯片直接掛在I2C總線上。如果從系統中直接去除某一芯片或添加某一芯片,對總線上其他芯片并沒有影響,從而使系統組建與重構的時間大為縮短。

(1)I2C調試器

圖1-52中的虛擬儀器名稱列表中的I2C DEBUGGER就是I2C調試器,允許用戶監測I2C接口總線,可以查看I2C總線發送的數據,也可作為從器件向I2C總線發送數據。

(2)I2C調試器的使用

I2C調試器的原理圖符號如圖1-60所示。

圖1-60 I2C調試器的原理圖符號

I2C調試器有3個接線端。

? SDA:雙向數據線。

? SCL:時鐘線,雙向。

? TRIG:觸發輸入,能使存儲序列被連續地放置到輸出隊列中。

雙擊I2C調試器符號,打開屬性設置對話框,如圖1-61所示。需要設置的主要參數如下。

圖1-61 I2C調試器屬性設置對話框

? Address byte 1:地址字節1,如果使用此調試器仿真一個從器件,則用于指定從器件的第1個地址字節。

? Address byte 2:地址字節2,如果使用此調試器仿真一個從器件,并期望使用10位地址,則用于指定從器件的第2個地址字節。

(3)I2C調試器的應用

下面通過例子說明I2C調試器的應用。

如圖1-62所示,單片機通過控制I2C總線讀寫帶有I2C接口的存儲器芯片AT24C02,可用I2C調試器觀察I2C總線數據傳送的過程。

圖1-62 單片機讀寫帶有I2C接口的存儲器AT24C02的電路原理圖

啟動仿真,用鼠標右鍵單擊I2C調試器,出現I2C調試窗口,如圖1-63所示。該調試窗口分為4部分,即數據監測窗口、隊列緩沖區、預傳輸隊列和隊列容器。

圖1-63 I2C調試窗口

先后單擊圖1-62中的KEY1和KEY2按鈕開關,即單片機向AT24C02寫入和讀出數據。此時在I2C調試窗口中的數據監測窗口出現寫入和讀出的數據,第1行為單片機通過I2C總線向AT24C02寫入的數據,第2行為單片機通過I2C總線從AT24C02讀出的數據,如圖1-64所示。單擊其中的“+”符號,還能把I2C總線傳送數據的細節展現出來。I2C總線傳送數據時,采用了特別的序列語句,出現在數據監測窗口中。此語句用于指定序列的啟動和確認,下面是特別序列字符的含義。

S:啟動序列。

Sr:重新啟動序列。

P:停止序列。

N:接收(未確認)。

A:接收(確認)。

圖1-64 I2C調試窗口及單片機向AT24C02寫入和讀出的數據

通過這些特別序列字符的含義,并根據I2C總線數據幀的格式,容易看出數據監測窗口(見圖1-64)中的兩行序列語句的含義。

用戶也可使用I2C調試窗口來發送數據。在窗口右下方的“隊列容器”中輸入需要傳送的數據。單擊Queue按鈕,輸入的數據將被放入隊列緩沖區(Queue Sequences)中,單擊仿真運行按鈕,數據發送出去。也可以單擊Add按鈕把數據暫時放到預傳輸隊列(Predefined Sequences)窗口中備用,需要時,在預傳輸隊列窗口中選中要傳輸的數據,單擊Queue按鈕把要傳輸的數據加到隊列緩沖區中。數據發送完后,隊列緩沖區清空,在數據監測窗口顯示發送的信息。

由上述可見,使用I2C調試器可以非常方便地觀察I2C總線上傳輸的數據,非常容易地手動控制I2C總線發送的數據,為I2C總線的單片機系統提供了十分有效的虛擬調試手段。

4. SPI調試器

串行外設接口(Serial Peripheral Interface,SPI)總線是Motorola公司提出的一種同步串行外設接口,允許單片機與各種外圍設備以同步串行通信方式交換信息。

圖1-52中的SPI DEBUGGER為SPI調試器。SPI調試器允許用戶查看沿SPI總線發送和接收的數據。

圖1-65為SPI調試器的原理圖符號。

圖1-65 SPI調試器的原理圖符號

SPI調試器共有5個接線端,分別介紹如下。

? DIN:接收數據端。

? DOUT:輸出數據端。

? SCK:時鐘端。

? 47400-00-43-3:從模式選擇端,從模式時,此端必須為低電平才能使終端響應。只有工作在主模式下,而且數據正在傳輸時,此端才為低電平。

? TRIG:輸入端,能把下一個存儲序列放到SPI的輸出序列中。

雙擊SPI的原理圖符號,可以打開它的屬性設置對話框,如圖1-66所示。對話框主要參數如下。

圖1-66 SPI調試器屬性設置對話框

? SPI Mode:有3種工作模式可選,Monitor為監控模式,Master為主模式,Slave為從模式。

? Master clock frequency in Hz:主模式的時鐘頻率(Hz)。

? SCK Idle state is:SCK空閑狀態為高或低,選擇一個。

? Sampling edge:采樣的邊沿,指定DIN引腳采樣的邊沿,選擇SCK從空閑到激活狀態,或從激活到空閑狀態。

? Bit order:位順序,指定傳輸數據的位順序,可先傳送最高位MSB,也可先傳送最低位LSB。

SPI調試器的窗口如圖1-67所示,它與I2C調試窗口相似。

圖1-67 SPI調試器的窗口

(1)使用SPI調試器接收數據

① 將SCK和DIN引腳連接到電路的相應端。

② 將光標放置在SPI調試器上,雙擊SPI的原理圖符號,打開屬性設置對話框,設置SPI為從模式,時鐘頻率與外時鐘一致。

③ 運行仿真,彈出SPI的仿真調試窗口。

④ 接收的數據將顯示在數據監測窗口中。

(2)使用SPI調試器發送數據

① 將SCK和DIN引腳連接到電路的相應端。

② 將光標放置在SPI調試器上,雙擊SPI的原理圖符號,打開屬性設置對話框,把SPI調試器設置為主模式。

③ 單擊仿真按鈕,彈出SPI的仿真調試窗口。

④ 單擊暫停仿真按鈕,在隊列容器中輸入需要傳輸的數據。單擊Queue按鈕,輸入的數據將被放入數據傳輸隊列Buffered Sequences中,再次單擊仿真運行按鈕,數據發送出去。也可以單擊Add按鈕把要發送的數據暫時放到預傳輸隊列中備用,需要時加到傳輸隊列中。

⑤ 數據發送完后,數據傳輸隊列Buffered Sequences清空,數據監測窗口顯示發送的信息。

5. 計數器/定時器

單擊圖1-52所示列表中的COUNTER TIMER項,即選擇了計數器/定時器,計數器/定時器的原理符號及測試電路連線如圖1-68所示。CLK為外加的計數脈沖輸入。

圖1-68 計數器/定時器電路

該虛擬儀器有3個輸入端。

? CLK:在計數和測頻時,為計數信號的輸入端。

? CE:計數使能端(Counter Enable),可通過計數器/定時器的屬性設置對話框設為高電平或低電平有效,當CE無效時,計數暫停,保持目前的計數值不變,一旦CE有效,計數繼續進行。

? RST:復位端,可設為上跳沿(Low-High)有效或下跳沿(High-Low)有效。當有效跳沿到來時,計時或計數復位到0,然后立即從0開始計時或計數。

用鼠標右鍵單擊計數器/定時器符號,選擇“編輯屬性”,出現計數器/定時器的屬性設置對話框,如圖1-69所示。

圖1-69 計數器/定時器的屬性設置對話框

計數器/定時器有4種工作方式,可通過屬性設置對話框中的Operating Mode下拉列表框選擇,如圖1-70所示。

圖1-70 設置計數器/定時器的工作方式

Operating Mode下拉列表框(見圖1-70)包含以下選項。

? Default:缺省工作方式,即計數方式。

? Time(secs):計時方式,相當于一個秒表,最多計100s,精確到1μs。CLK端無需外加輸入信號,內部自動計時。由CE和RST端控制暫停或重新從零開始計時。

? Time(hms):計時方式,相當于一個具有時、分、秒的時鐘,最多計10h,精確到1ms。CLK端無需外加輸入信號,內部自動計時。由CE和RST端控制暫停或重新從零開始計時。

? Frequency:測頻方式,在RST沒有復位以及CE有效的情況下,能穩定顯示CLK端外加的數字脈沖信號的頻率。

? Count:計數方式,對外加時鐘脈沖信號CLK進行計數,圖1-68所示的計數顯示,最多8位計數,即99999999。

下面通過兩個具體的例子介紹計數器/定時器的應用。

【例1-1】按照圖1-71設計,外部時鐘CLK不接。雙擊計數器/定時器符號,設置其屬性,如圖1-70所示。設操作模式為Time(hms),即定時器(計時)方式;計時使能端CE設為High,即高電平有效,開關SW1合上為低電平時計時暫停。復位端設為Low-High,即上跳沿有效。

運行仿真,可顯示圖1-71所示的定時器(計時)方式,合圖1-71中的開關SW1,則計時停止,打開開關SW1則繼續計時;合上開關SW2再打開,計時器清零,打開開關SW1后,從零重新計時。

圖1-71 計時模式的電路仿真

【例1-2】把計數器/定時器的屬性按圖1-70修改,設操作方式為Frequency,即測頻方式,其他不變,按照圖1-68所示的方式連接,設外接數字時鐘的頻率為100Hz,圖中兩個開關SW1、SW2位于打開狀態,運行仿真,出現圖1-72所示的測頻結果。操作兩個開關可以看到使能和清零的效果。

圖1-72 測頻時的電路仿真

6. 電壓表和電流表

Proteus VSM提供了4種電表,如圖1-73所示,分別是DC Voltmeter(直流電壓表)、DC Ammeter(直流電流表)、AC Voltmeter(交流電壓表)和AC Ammeter(交流電流表)。

(1)4種電表的符號

在元件列表(見圖1-52)中,把上述4種電表分別放置到原理圖編輯窗口中,如圖1-73所示。

圖1-73 4種電表的原理圖符號

(2)屬性設置

雙擊任一電表的原理圖符號,出現其屬性設置對話框,圖1-74為直流電流表的屬性設置對話框。

圖1-74 直流電流表的屬性設置對話框

在“元件參考”文本框中輸入該直流電流表的名稱,元件值不填。在顯示范圍Display Range下拉列表中有4個選項,用來設置該直流電流表是安培表(Amps)、毫安表(Milliamps)還是微安表(Microamps),默認是安培表,然后單擊“確定”按鈕即完成設置。

其他3種表的屬性設置與此類似。

(3)電表的使用

4個電表的使用和實際的交、直流電表一樣,電壓表并聯在被測電壓兩端,電流表串聯在電路中,要注意方向。運行仿真時,直流電表出現負值,說明電表的極性接反了。兩個交流電表顯示的是有效值。

1.7.3 圖表仿真

Proteus VSM提供交互式動態仿真和靜態圖表仿真功能,如果采用動態仿真,這些虛擬儀器的仿真結果和狀態隨著仿真結束也就消失了,不能滿足打印及長時間的分析要求。而靜態圖表仿真功能隨著電路參數的修改,電路中的各點波形將重新生成,并以圖表的形式留在電路圖中,供以后分析和打印。本節介紹Proteus ISIS的圖表仿真功能。

圖表仿真能把電路中某點對地的電壓或某條支路的電流與時間關系的波形自動繪制出來,且能保持記憶。例如,觀察單脈沖的產生,如果采用虛擬示波器觀察,在單脈沖過后,就觀察不到單脈沖波形。如果采用圖表仿真,就可把單脈沖波形記憶下來,顯示在圖表上。下面以圖1-48的單周期正脈沖圖表仿真為例,介紹如何進行圖表仿真。

圖表仿真的具體步驟如下。

1. 選擇觀測點

首先把單周期脈沖源與圖表放置在電路圖中,單周期脈沖源的輸出就是圖表仿真的觀測點。具體操作如下。

(1)放置單周期脈沖源。單擊左側工具箱中的47400-00-48-2圖標,從列表中選擇DPULSE,在原理圖編輯窗口雙擊,將單周期脈沖源放置在原理圖編輯窗口中。雙擊單周期脈沖源符號,設置屬性。

(2)放置圖表。單擊左側工具箱中的47400-00-48-3圖標,從列表中選擇模擬圖表ANALOGUE,如圖1-75所示。在原理圖編輯窗口雙擊,按住鼠標左鍵拖出一個方框,將模擬圖表放置在編輯窗口中,如圖1-76所示。

圖1-75 選擇模擬圖表

圖1-76 原理圖編輯窗口中放置單周期脈沖源與模擬圖表

需要說明的是,在圖1-75的列表中可選擇各種類型圖表,如模擬圖表、數字圖表、混合圖表等。如要觀察數字信號,可選用數字圖表。如果同一圖表中,觀察的信號既有模擬信號,又有數字信號,應選擇MIXED,即混合圖表。

如果要觀測電路某點的圖表仿真形式,就應當在電路的某觀測點放置電壓探針。

2. 編輯圖表與添加圖線

用鼠標右鍵單擊圖1-76中的圖表,在彈出的快捷菜單中選擇“編輯圖表”項如圖1-77所示,出現“編輯瞬態圖表”對話框,如圖1-78所示。

圖1-77 選擇“編輯圖表”

圖1-78 “編輯瞬態圖表”對話框

在“圖表標題”文本框中輸入圖表名稱ANALOGUE ANALYSIS,此外還需要為時間軸(X軸)設置觀測波形的起始時間與結束時間,設置左、右坐標軸(即X軸與Y軸)的名稱以及Y軸的尺度。

“編輯瞬態圖表”對話框各參數設置完成后,單擊圖1-77中的“添加圖線”項,出現圖1-79所示的對話框。該對話框用于建立觀測點與圖表的關聯,即把觀測點處的波形顯示在圖表上,最多可設置4個觀測點(可設4個探針)。

圖1-79 添加圖線對話框

本例只有一個觀測點,即單脈沖源的輸出,因此在“探針P1”下拉列表中選擇“單脈沖源”即可。如果有4個觀測點,則需要在電路中分別設置探針,并分別給探針起名,然后把4個探針的名稱添加到相應的欄目中,這樣就可以把4個探針處的波形同時顯示在圖表上。利用“表達式”文本框還可以觀察幾個觀測點疊加后的波形,例如想看P1波形和P3波形疊加后的波形,在“表達式”文本框中輸入P1+P3,就可將P1波形和P3波形疊加后的波形顯示在圖表中。該對話框中還有其他參數,如“軌跡類型”,有4個類型選項,由于本例是要顯示單脈沖源的輸出波形,所以屬于“模擬”類型。此外,還有“坐標軸”的位置選項。

3. 圖表仿真

上述工作完成后,就可進行圖表仿真了。用鼠標右鍵單擊圖表,出現圖1-77所示的快捷菜單。由于編輯圖表與添加圖線工作已完成,快捷菜單中的“仿真圖表”項不再是不可操作的虛項,已變為黑色的可操作的命令,單擊該命令,可以進行圖表仿真,使仿真波形顯示在圖表上,如圖1-48所示。

本例僅對單脈沖源的輸出波形進行圖表仿真,如果觀察電路中不超過4個觀測點的波形,只需要先在觀察點處設置探針,然后再“編輯圖表”與“添加圖線”,最后單擊圖1-77所示菜單中的“仿真圖表”項,即可進行圖表仿真。

1.7.4 硬件斷點的設置

許多元器件都具有當一特定電路情形發生變化時觸發仿真延緩的功能。與單步仿真結合使用時,這一功能非常有用,因為電路只有當某一特定情形出現時,才進行正常仿真,然后使用單步,就可以看到電路在下一步將會發生什么動作。

利用硬件斷點可以在匹配硬件斷點的條件下暫停仿真,該功能在軟件控制程序運行,需要分析程序或電路的故障時,非常有用。下面通過一個實例,了解硬件斷點的設置方法。

【例1-3】假設流水燈在運行時,當P2.5控制的燈D6點亮以后,流水點亮的工作不正常,要求在P2.5控制的燈亮以后設置硬件斷點,然后單步執行,查找故障。這里設置硬件斷點的條件是P2.5=0。斷點設置步驟如下。

(1)在欲觸發斷點的導線(總線)上放置電壓探針47400-00-50-2,本例是在P2.5線上放置電壓探針,如圖1-80所示。

圖1-80 放置電壓探針

(2)在探針處單擊鼠標右鍵,出現“編輯電壓探針”對話框,如圖1-81所示。

(3)在對話框(見圖1-81)的“實時斷點”欄根據斷點的性質,選擇“數字的”或者“模擬的”并指定觸發值,本例選擇“數字的”。對于數字網點和單導線,“觸發值”選定1或0對應的是邏輯高或邏輯低;對于模擬網點,將會是一個具體的電壓值或電流值。設定“開始時間”作為起控時間(Arm),使斷點在指定的起控時間開始后有效。

圖1-81 “編輯電壓探針”對話框

(4)單擊“確定”按鈕退出對話框。

設置完成后的電路原理圖如圖1-82所示。

圖1-82 電壓探針設置完成后的電路原理圖

仿真運行程序,當流水燈D6點亮時,即P2.5=0,滿足了設定的硬件斷點條件,使程序停止運行,如圖1-83所示。此時可在此硬件斷點處,利用單步執行等手段來檢查系統的故障。

圖1-83 運行到P2.5控制的D6點亮的硬件斷點處停下

本例中設置的是數字斷點,當P2.5=0時,實時數字斷點觸發器RTDBREAK檢測到P2.5腳的二進制數等于設定值時,觸發斷點。對于模擬的斷點,實時斷點發生器有實時電壓、電流斷點觸發器RTVBREAK和RTI-BREAK:當觸發器引腳上的電壓或流經的電流超過設定的值時,將觸發斷點,此時為上升沿觸發。

此外還有實時電壓、電流監視器RTVMON和RTI-MON,即當輸入電壓或當流經的電流不在設定范圍內時,可觸發斷點、警告或錯誤。因此可將RTVMON和RTI-MON用于創建仿真模型,當模型中的電壓或電流超過設定的工作極限時警告用戶。限于篇幅,讀者可查閱相關資料。

主站蜘蛛池模板: 江安县| 马山县| 河间市| 辽宁省| 泽州县| 宁国市| 临潭县| 赤峰市| 兴仁县| 砚山县| 曲松县| 苍溪县| 徐州市| 道孚县| 邢台市| 河北省| 双城市| 合肥市| 龙岩市| 元朗区| 昆山市| 平谷区| 新营市| 马龙县| 久治县| 旬邑县| 昌平区| 两当县| 宣武区| 宁海县| 杭锦后旗| 平遥县| 加查县| 运城市| 嘉禾县| 金坛市| 浮梁县| 栾城县| 大名县| 井陉县| 台安县|