可編程邏輯器件編輯器及編輯方法
【專利說明】可編程邏輯器件編輯器及編輯方法技術背景
[0001]可編程邏輯器件(PLD)用于各種控制應用中,如工業(yè)應用中的控制器和/或驅動器。PLD是能夠被編程用于具體控制應用的低成本器件,如例如用于操作電機。編程PLD的能力使得PLD對于獨立應用是理想的。
[0002]由于PLD的廣泛應用和發(fā)展,不斷需要改進這種器件的可靠性和易用性。改進的一個領域在于編程,其中,用戶需要能夠快速容易地生成特定PLD的編程代碼的完全集。然而,同樣重要的是編程是正確的且功能性的,而不需要在工程師或其他用戶部分消耗過量的設計和編程時間。
[0003]接近編程PLD設備的現(xiàn)有技術是重新使用現(xiàn)有編程,其中,現(xiàn)有編程可以被修改并且然后用于新應用,其中,現(xiàn)有編程通常被修改并且然后以某種方式被重新使用。然而,這引入了由于原始PLD和新修改的PLD之間的差異而不適當或不完全編程的危險,這可以導致比編程PLD設備時所消耗的較少時間更多的損失時間。另外,存在會保留代碼的不需要部分的危險,其中,所保留的代碼占用存儲空間并且在某些情況下可以導致PLD或相關聯(lián)器件的不適當行為。
【發(fā)明內容】
[0004]在實施方式中,提供了一種用于對要被編程到PLD中的PLD代碼進行編輯的PLD編輯器。PLD編輯器包括:用于與PLD通信的接口 ;用于存儲PLD代碼、PLD設備的庫及邏輯指令塊的庫的存儲系統(tǒng);以及耦接至接口和存儲系統(tǒng)的處理系統(tǒng)。其中,處理系統(tǒng)被配置成獲得PLD代碼,其中,PLD代碼包括一個或更多個邏輯指令塊以及每個邏輯指令塊的相應的塊參數(shù),其中,PLD代碼被計劃編程到PLD中。處理系統(tǒng)被配置成根據PLD設備的庫將PLD代碼的一個或更多個邏輯指令塊與可用于PLD的邏輯指令塊的庫的子集進行比較,確定一個或更多個邏輯指令塊中的不相容邏輯指令塊,指示不相容邏輯指令塊,并且使用邏輯指令塊的庫的子集對不相容邏輯指令塊進行校正。
[0005]提供了此概述,以簡化的形式來介紹在技術公開中下面進一步描述的構思的選擇。應當理解的是,此概述不意圖標識所要求保護的主題的關鍵特征或本質特征,而且不意圖用于限制所要求保護的主題的范圍。
【附圖說明】
[0006]圖1示出了耦接至PLD編輯器的可編程邏輯器件(PLD)。
[0007]圖2示出了示例性PLD代碼。
[0008]圖3示出了示例性PLD編輯器的細節(jié)。
[0009]圖4是用于對要被編程到PLD中的PLD代碼進行編輯的PLD編輯方法的流程圖。
[0010]圖5是用于對要被編程到PLD中的PLD代碼進行編輯的PLD編輯方法的流程圖。
[0011]圖6A至6B示出了由PLD編輯器生成的給PLD編輯器的用戶的示例圖形顯示。
【具體實施方式】
[0012]以下描述和相關聯(lián)的附圖教示本發(fā)明的最佳模式。為了教示發(fā)明原理的目的,可以簡化或省略最佳模式的一些傳統(tǒng)方面。下述權利要求指定本發(fā)明的范圍。最佳模式的一些方面可以不落入由權利要求所指定的本發(fā)明的范圍內。由此,本領域技術人員會理解落入本發(fā)明的范圍內的根據最佳模式的變型。本領域技術人員將理解,可以以各種方式結合下面所描述的特征,以形成本發(fā)明的多種變型。因此,本發(fā)明不限于下面所描述的具體示例,而是僅由權利要求及其等效替代來限定。
[0013]圖1示出了耦接至PLD編輯器120的可編程邏輯器件(PLD) 100。PLD編輯器120可以用于生成代碼的部分或者生成整套編程代碼。PLD編輯器120可以用于選擇編程代碼的現(xiàn)有集。PLD編輯器120可以用于對用于編程到PLD 100中的所選擇的PLD代碼130進行編輯。PLD編輯器120可以用于將PLD代碼130編程到PLD 100中。PLD代碼130可以被編程到PLD 100的存儲系統(tǒng)103中的易失性存儲空間或非易失性存儲空間中。
[0014]PLD編輯器120可以通過通信鏈路108耦接至PLD 100,如圖所示。通信鏈路108可以包括任何形式的通信鏈路,包括有線通信鏈路和無線通信鏈路。通信鏈路108可以用于將PLD代碼130從PLD編輯器120傳輸至PLD 100。通信鏈路108可以是臨時鏈路或永久鏈路。
[0015]PLD 100可以包括任何PLD設備。PLD 100包括接口 101、處理系統(tǒng)102及存儲系統(tǒng)103。存儲系統(tǒng)103可以接收并存儲PLD代碼130。存儲系統(tǒng)103還可以存儲編程例程125、編輯例程127及PLD代碼集的庫146。在操作中,PLD 100的處理系統(tǒng)102可以檢索PLD代碼130并且執(zhí)行PLD代碼130。PLD 100的處理系統(tǒng)102在執(zhí)行PLD代碼130時可以被配置成進行包括下述的任何想要的PLD操作:對輸入進行接收和處理,與外部設備(未示出)通信,操作和/或控制外部設備,將數(shù)據提供給外部設備,處理來自外部設備的數(shù)據,監(jiān)測對外部設備的操作,包括監(jiān)測對外部設備的錯誤操作或不適當操作,以及積累關于對外部設備操作的數(shù)據。該列表不是窮盡的并且對PLD 100的其他操作是考慮接受的并且在說明書和權利要求的范圍內。
[0016]PLD代碼130可以使用預定功能。PLD代碼130可以由標準符號或其他表示來代表。因此,用戶會能夠選擇并實施這些預定功能,其中,可以通過用戶提供所需的參數(shù)來完成編程從而完成所選擇的功能。
[0017]PLD 100可以被配置成操作和/或驅動電機,例如,由于PLD設備在運動控制、定位控制即旋轉控制中的廣泛使用。在一種電機控制示例中,對PLD代碼130的編程可以包括控制電機操作的各個方面的定時器,包括驅動信號脈沖寬度、驅動信號占空比、驅動信號接通時間和斷開時間以及其他。然而,應當理解的是,PLD 100的其他或另外的用途是考慮接受的并且在說明書和權利要求的范圍內。
[0018]PLD編輯器120可以包括接口 121、處理系統(tǒng)122及存儲系統(tǒng)123。應當理解的是,PLD編輯器120還可以包括附加的部件、電路或子系統(tǒng)(為了清楚的目的而被省略)。
[0019]PLD編輯器120的接口 121可以耦接至PLD 100的接口 101,用于將PLD代碼130傳輸至PLD 100。PLD編輯器120的接口 121可以耦接至PLD 100的接口 101,用于對PLD100進行編程。在編程期間,PLD代碼130可以從PLD編輯器120下載到PLD 100并且被安裝在PLD 100的存儲系統(tǒng)103中。
[0020]編程例程125被配置成將PLD代碼130傳輸至PLD 100,包括將PLD代碼130編程到PLD 100中。因此,編程例程125可以包括適當?shù)牟脸途幊讨芷跁r間、編程檢查、編程確認及編程子例程。
[0021]即使PLD 100的計劃用途中的小差異會需要PLD代碼130需要進行編輯,其中,PLD代碼130被計劃用于不同的PLD設備和/或不同的端應用。此外,雖然PLD編程的基礎構思對所有制造商來說是通常的,即使在I/o尋址、存儲器組織及指令集中的小差異意指PLD程序從不在不同的制造者之間或者甚至在不同的模型之間完全地可交換。
[0022]PLD編輯器120的編輯例程127被配置成確定與PLD 100不相容的PLD代碼130中的不相容邏輯指令塊,將不相容邏輯指令塊指示給PLD編輯器120的用戶,并且對不相容邏輯指令塊進行校正。
[0023]替選地,PLD編輯器120可以包括存儲一個或更多個現(xiàn)有PLD代碼集的PLD代碼集的庫146。PLD編輯器120的用戶可以從PLD代碼集的庫146選擇PLD代碼130并且對PLD代碼130進行編輯以重新使用PLD代碼130用于新應用。因此,編輯例程127可以被配置成從PLD代碼集的庫146檢索PLD代碼130,確定與PLD 100不相容的PLD代碼130中的不相容邏輯指令塊,將不相容邏輯指令塊指示給PLD編輯器120的用戶,并且對不相容邏輯指令塊進行校正。
[0024]PLD代碼集的庫146可以被存儲在PLD編輯器120中,如所示出的。替選地,PLD代碼集的庫146中的一些或全部可以被外部存儲并且由PLD編輯器120經由接口 121和合適的通信鏈路(未示出)進行訪問。通信鏈路可以包括合適的有線鏈路或無線鏈路。通信鏈路可以與用于對PLD 100進行編程的通信鏈路108不同或者相同。
[0025]圖2示出了示例性PLD代碼130。PLD代碼130可以包括由PLD 100的處理系統(tǒng)102執(zhí)行的操作例程131。在電機控制應用中,操作例程131可以將PLD 100配置為電機控制器并且可以執(zhí)行進行電機控制操作的各種指令。
[0026]PLD代碼130可以包括一個或更多