步驟1:數字模式生成器
Pattern Generator的背景知識覆蓋不多,所以讓我們開始吧。如果您需要幫助來設置和校準AD2或安裝Waveforms 2015,請查看此快速入門I‘ble Collection。
在開始之前,請注意,AD2的數字通道不是旨在用作大負載的來源。直接將多個LED和電阻直接連接到通道上。如果需要驅動更大的負載,則這些通道可用于觸發大電流驅動器,例如MOSFET,H橋等,但不用作主要源。
一次您已經設置好AD2和波形,請單擊“模式”按鈕打開模式生成器。
將打開“模式生成器”窗口。
頂部有三個主要工具欄,第一個帶有“文件”,“控件”和“窗口”選項。
在“文件”下,您會看到幾個選項。
”“新建”模式”可讓您打開模式生成器的新實例。
您可以打開一個新的空實例,也可以克隆所有當前實例設置進入新實例。一次只能使用一個實例。其他實例在使用中時將處于待機狀態。
您可以“保存”當前模式生成器設置,或“打開”先前保存的項目。
“導出”使您可以將當前的模式生成器預覽圖數據保存為最常見格式的窗口圖像,例如* .bmp,*。jpg,*。tif等,或作為帶有繪圖窗口信息的數據文件,格式為* .csv,*。txt或* .tdms。
“關閉模式”將關閉模式生成器窗口。只要您沒有完全關閉Waveforms 2015,就不會清除當前設置。只需再次單擊“模式”按鈕,窗口就會彈出并打開所有相同的設置。
在“控件”下,您可以訪問該工具的“運行”和“停止”命令。
“窗口”可讓您在當前打開的任何工具窗口,Waveforms 2015歡迎窗口或“幫助”窗口之間進行切換。
步驟2:運行/停止和觸發選項
下一個工具欄用于運行/停止工具以及設置觸發器。
將啟動該工具。運行時,此按鈕將轉換為以停止工具。
對于觸發設置,可讓您確定所需的觸發源類型。您可以選擇“無”,也可以使用一些外部信號,甚至可以使用其他波形工具之一,例如示波器。您還可以通過將觸發器設置為“手動”,然后單擊窗口左下角的來手動觸發信號。
等待時間。一旦滿足觸發條件,信號將進入空閑狀態,并在該時間內輸出空閑值。一旦該時間到期,模式生成器就會開始運行。從20 ns到24 hr的任何時間都是有效的,或者您可以選擇“ none”根本不等待。
使您可以設置一旦模式生成器,模式將運行多長時間已觸發,并且任何等待時間都已到期。可以選擇20 ns到24 hr之間的任何時間,也可以選擇“連續”以不重置圖案。請注意,選擇“連續”會隨著時間的推移將累積的舍入誤差引入到圖案輸出中,從而導致相移。將運行時間設置為碼型時基的某個整數倍(例如,對于1 kHz信號,輸入1 ms運行時間)將定期重置碼型輸出,并且任何累積的誤差將連續重置為0。
使您可以設置要讓設置的模式重復多少次,然后才能將輸出返回到空閑狀態。您可以將其設置為1到30,000個周期之間的任意值,或選擇無限。
如果選中,則必須為輸入的周期數觸發碼型發生器。 “重復”框。例如,如果選擇了“手動”,則在重復框中輸入“ 5”,然后選中“重復觸發”,則必須單擊底部的手動觸發按鈕五次。碼型發生器的輸出將在觸發器之間處于空閑和布防狀態,然后在5次觸發后處于空閑狀態并重置為就緒狀態。取消選中該復選框,碼型生成器將自動為設置的周期數輸出定義的碼型,而無需其他觸發實例。
步驟3:信號控制設置
在觸發設置下方是信號控件以及繪圖窗口設置。首先,我們來看一下信號控件,因為有幾種配置它們的方法。
單擊添加單個信號,總線或ROM邏輯。
單擊“信號”會打開一個小窗口,您可以在其中選擇要添加為單個信號的通道。可以按任何順序添加任何頻道。通過按住鍵盤上的“ Shift”或“ Ctrl”按鈕并單擊其他通道以突出顯示它們,可以一次添加多個通道。對于我們的示例,讓我們添加4個單個信號,通道15-12。
單擊“添加”將選定的通道添加到列表中。看起來應該像這樣。
當新通道出現在網格中時,您將看到各種選項以進一步定義通道。暫時不用擔心這些選項。我們將在下一步中定義每個通道。
現在讓我們來看一下添加總線。單擊“總線”打開總線配置窗口。
在窗口頂部,您可以在“名稱”框中編輯總線的名稱。 。在左側窗口的下方,選擇要添加到總線的通道。可以選擇尚未使用的任何通道。通過按住鍵盤上的“ Shift”或“ Ctrl”按鈕并單擊其他通道以突出顯示它們,可以一次添加多個通道。選定頻道后,單擊將其添加到右側的窗口中。在右側窗口中突出顯示任何通道,都可以通過單擊將其刪除,也可以通過單擊或更改其在總線中的相對位置。
使用“格式”框,可以更改數字輸入和顯示總線數據的方式。有很多選擇。
“字節序”框使您可以在最高有效位(MSB)或最低有效位(LSB)之間進行選擇。選擇“ MSB”會將最高有效位分配給右側窗口中顯示的頂部通道。相反,選擇“ LSB”會將最低有效位分配給右側窗口中顯示的頂部通道。
通過MSB和LSB框,您可以確定用于總線值的索引。如果您熟悉編寫計算機代碼的二進制操作,則類似于對值進行位移位。將添加其他占位符位以進行填充。例如,您選擇4位總線,但將MSB框設置為7(LSB框將自動調整為4)。在繪圖窗口中該總線的數字表示形式將是8位(b0000 0000 →在LSB位置的數字上加上4 0),而不是4位(b0000),即使您只是將4個I/O通道上的信號。 MSB的值可以高達31,而LSB的值可以低至-32。
現在,讓我們添加一個具有十進制格式和MSB字節序的8位總線。 MSB和LSB框分別默認為“ 7”和“ 0”,這對于我們的示例來說很好。我們將總線命名為“ ABCDEFGp”,因為它將是我們的7段顯示器的段選擇總線。
單擊“確定”以添加公交車到電網。您的網格應如下所示。
最后一個信號選項是ROM Logic,可用于可視化真值表和測試狀態機邏輯。選擇“ ROM Logic”以打開配置窗口。
在頂部,您可以在框中重命名ROM邏輯通道。 。
使您可以確定輸入的采樣頻率。如果輸入上的狀態變化發生的速度快于采樣頻率,則輸出可能不會記錄正確的值。確保將采樣頻率設置為高于預期的輸入頻率。
在左側,您將擁有“輸入”窗口,而在右側,您將擁有“輸出”窗口。對于兩個窗口,單擊添加通道。 允許您刪除選定的頻道,而和允許您在窗口中上下移動頻道。
單擊,并將DIO 8和DIO 9添加為輸入。
添加DIO 11作為輸出。不要單擊,因為我們必須定義真值表。
如果要重命名DIO通道,請雙擊“名稱”列下的“ DIO x ”,其中 x 是DIO編號。對于我們的示例,讓我們將“ A”分配給DIO 9,將“ B”分配給DIO 8,將“ C”分配給DIO11。完成后,ROM Logic配置窗口應如下所示。
現在讓我們設置真值表。單擊選項卡以打開真值表編輯器。
讓我們做一個簡單的AND真值表。使用兩個輸入時,有4種可能的組合,因此我們需要添加4行。單擊來執行此操作。正如我們之前所見,將刪除選定的行,而和則允許您向上或向下移動選定的行。在A列中,從上至下輸入值0、0、1和1。在欄目B中,從上至下輸入0、1、0和1。最后,在C列中從上至下輸入0、0、0和1。該表應如下所示。
填寫完所有內容后,單擊將ROM邏輯通道添加到網格中。網格現在應該看起來像這樣。
在查看各個通道設置之前,讓我們遍歷頂部的其余通道控件。
p》
允許您刪除所選通道,或者可以清除整個網格。突出顯示一個通道后,您也可以按鍵盤上的“ Delete”刪除該通道。
使您可以編輯所選信號的屬性或參數。單擊“屬性”將打開A)信號的名稱和通道選擇; B)總線的名稱,通道選擇,格式,字節序等; C)ROM邏輯的屬性選項卡。單擊“參數”將打開信號和總線的信號類型編輯器窗口(我們將在下一節中介紹),以及ROM Logic的“真值表”選項卡。您還可以通過單擊每個通道名稱旁邊的網格中的來訪問每個通道的屬性窗口。單擊將打開參數窗口。
使您可以確定要在網格列中顯示的數據。并非所有列都將用于所有信號,但是有些列將使用所有它們。
“模式”窗口的右側是繪圖窗口。顯示定義的模式。在該窗口的頂部,有三個用于編輯窗口的選項。 允許您在自動或手動縮放繪圖時基之間進行選擇。選中手動后,允許您調整時間范圍,而允許您設置窗口的開始時間。
下一個是網格本身。我已經提到了其中的一些部分,所以讓我們看一下通道參數列。
步驟4:定義通道
第一列是“輸出”。根據您在“類型”列中選擇的類型,此下拉菜單中最多有四個選項。 “ PP”代表推/拉,是全幅1/0信號。接下來是“ OD”,表示開漏。信號將在0到Z之間擺動,根據定義,這是一個不確定的值。 (我用AD2進行的測試顯示Z僅為幾毫伏,但不是真正的0或1值。)接下來,我們有“ OS”,代表開源。信號在1和Z之間擺動。最后是“ TS”,它是三態。信號可以是1,Z或0。
下一列是“空閑”。您可以設置在工具不運行時AD2在DIO引腳上輸出的值。此設置與其他設置無關,即即使您將通道設置為漏極開路,您也可以在空閑時輸出1,因此請注意如何設置以避免短路。可能的設置是“初始”,0、1或Z。
下一個是“類型”列,其后是最多三個“參數”列。您可以在此處設置要輸出的信號類型及其可能的參數。可以將單通道信號設置為:
-常數,將信號設置為1,Z或0,并無限期保持該值。
-時鐘,它將根據設置的頻率和所選的輸出類型輸出方波。也可以選擇占空比和相位。
-脈沖,它根據系統時鐘分頻和設置的計數器來更改通道的輸出狀態。就像時鐘信號類型一樣,但是可以為您提供對信號的更多控制和自定義。
工具開始運行時的信號狀態。 設置信號將保持低電平的計數數量。 設置信號將保持高電平的計數數量。將“高”除以“低”和“高”之和將決定您的占空比。添加“低”和“高”時間值將確定您的總時間。 是計數器的初始值,并且只是一個可編程的延遲,可以在右邊的秒數中看到。當達到初始計數器值時,信號將輸出“開始”狀態并開始對高/低狀態值進行計數。 在AD2內的FPGA芯片上對100 Mhz系統時鐘進行分頻。然后,將該分頻后的時鐘值用作時鐘信號以開始計數。 設置在分頻器啟動和低/高值計數之前將等待的系統時鐘周期數。它像系統延遲而不是計數器延遲一樣工作。每個設置都有一個與之相關的時間值,以及最小和最大設置,所有這些都顯示在設置框的右側。
-隨機,聽起來就是這樣。計算機生成一個隨機位串。您可以調整位更改狀態的頻率。
-自定義,可以根據需要定義自己的信號。
確定信號的采樣頻率。 設置信號可以具有的樣本數量。確定要使用的樣本數量后,可以單擊下面的小繪圖窗口來設置每個樣本,但是對于許多樣本而言,這可能很困難。窗口右側的數據表可讓您分別設置每個樣本,然后將其反映在底部的圖中。 允許您導入保存的自定義模式文件,或者可以將自定義數據導出為* .csv,*。txt或* .tdms文件,或者作為最常見的自定義編輯器窗口的圖像導出圖像文件格式。單擊關閉自定義編輯器。
第5步:定義通道,第2部分
Buss具有與Single相同的類型選項信號,但帶有一些其他計數器選項,這些選項只能通過同步總線信號來完成。計數器選項有:
-二進制計數器,它是一個簡單的二進制計數器,即格雷計數器,它通過只允許一次在連續數字之間進行一次更改來遞增/遞減計數。單擊此處以獲取有關格雷碼/計數器的更多信息。二進制和灰度計數器都具有相同的設置選項。您可以設置頻率,即LSB在高/低之間切換的速率,在第一個計數周期內計數器將啟動的初始值以及它是向上計數還是向下計數。計數器可以從2 n 向上或向下計數,其中 n 是分配給總線的通道數。一旦達到最大值(向上)或0(向下),計數器將從頭開始,然后忽略定義的初始值。
-Johnson計數器,也稱為環形計數器,是格雷碼的一種變體,它一次添加一個通道,從LSB(左方向)或MSB(右方向)開始,直到所有通道都打開。然后,一次關閉每個通道,再次從LSB或MSB開始,直到所有通道都關閉。然后重復該循環。 Johnson計數器共有2n 個可能的組合,其中 n 是分配給總線的通道數。單擊此處以獲取更多有關Johnson計數器的信息。
-遍歷0/1計數器,這些計數器依次“遍歷”所有位,一次一個。頻率確定位改變狀態的速率。您可以將行走設置為從LSB(左方向)或MSB(右方向)開始。 允許您設置0/1持續多少計數,從0到 n,,其中 n 是分配給總線的通道數。
現在我們已經處理了所有這些,讓我們回到示例中。使用每個通道的“參數”窗口,將DIO 15-12設置為“ PP”輸出,“ 0”空閑,“自定義”類型,“ 200 Hz”頻率和“ 4”個采樣。對于DIO 12,將樣本1設置為“ 1”,將其他樣本保留為“ 0”。
其余3個通道的設置類似。對于DIO 13,將樣本2設置為“ 1”。 DIO 14,將樣本3設置為“ 1”,對于DIO 15,將樣本4設置為“ 1”。這些將與四個數字中的每個數字相關聯。將DIO 12綁定到數字1,將DIO 13綁定到數字2,將DIO 14綁定到數字3,將DIO 15綁定到數字4,這可能有助于重命名它們以標識各自的數字。一旦全部設置,四個單個通道應看起來像
對于總線“ ABCDEFGp”,打開總線的“參數”窗口。將總線設置為“自定義”類型,“ PP”輸出,“ 1”空閑,1.6 kHz頻率和“ 32”樣本。設置此總線的最簡單方法是使用數據表。單擊并將其拖動到左側以擴展數據表。從“ ABCDEFGp”列下的第1行開始,您可以輸入該樣本的總線值。在總線“屬性”窗口中確定如何輸入該值。我們之前選擇了“十進制”格式。如果您愿意,還可以單獨設置每個總線通道。
如果您不熟悉多路復用LED,則想法是一次只打開一個網段,但如此快地循環遍歷所有網段您看不到它們閃爍。第一位數字將顯示數字“ 1”和小數點。要在7段中使“ 1”亮起,我們需要點亮段B和C。將行1設置為“ 253”(0b11111101)以設置段B。將行2設置為“ 251”(0b11111011)以進行設置接下來的5行設置為“ 255”(0b11111111),以保持所有分段關閉。將第8行設置為“ 127”(0b01111111)以打開小數點。由于總共有8個LED,第9-16行是數字2的段分配。第17-24行是數字3的行,第25-32行是數字4的行。我提供了兩個圖像以顯示完整的圖像下表包含十進制和二進制值。
連接AD2接頭上的數字引腳根據制造商的規格連接到7段顯示器。對于KW4-561系列顯示器,我已按圖所示連接了我的顯示器。
點擊運行顯示。您應該看到以下內容。
如果具有公共陰極顯示,請進行所有相同的連接和信號定義,但將所有位都反轉分配所有4個信號和整個總線表。
嘗試將用于數字的4個單獨信號放入一條4位總線。
現在讓我們快速看一下我們前面定義的ROM邏輯通道。我們設置真值表以匹配簡單的AND邏輯門的輸出,如果通道A和B都記錄一個高值,則C將輸出一個高值。如果A或B之一或兩者都為低電平,則C輸出低電平信號。
讓我們建立一個快速電路來說明這一點。如下所示連接電路。
和正在運行的電路的簡短gif。
第6步:就是這樣!
如您所見,Analog Discovery 2上的碼型生成器是一個強大的工具,可幫助您測試和分析高電平。
責任編輯:wv
-
軟件
+關注
關注
69文章
4774瀏覽量
87162 -
模式發生器
+關注
關注
0文章
4瀏覽量
2306
發布評論請先 登錄
相關推薦
評論