專(zhuān)利名稱(chēng):具有輔助處理單元的可編程邏輯控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于一種邏輯電路,特別是一種應(yīng)用于可編程邏輯控制器中,由邏輯電路組成的輔助處理單元。
背景技術(shù):
目前自動(dòng)化設(shè)備常用可編程邏輯控制器(Program-mable LogicController,PLC,或稱(chēng)為可編程控制器)來(lái)控制,尤其是過(guò)程控制,而可編程邏輯控制器的控制行為則用階梯圖(Ladder Diagram)軟件來(lái)設(shè)計(jì)。PLC的功能為基本的邏輯運(yùn)算及計(jì)時(shí)計(jì)數(shù),再加上內(nèi)存,以滿足工業(yè)上順序控制所需。數(shù)據(jù)處理的應(yīng)用指令還可交由PLC中央處理單元來(lái)執(zhí)行。隨著模擬信號(hào)處理的需要,還有模擬數(shù)字轉(zhuǎn)換模塊。進(jìn)一步地,由于通訊以及連網(wǎng)的需求,還可增加網(wǎng)絡(luò)模塊。
基本上,可編程控制器可視為一具有特殊界面的微電腦,一切的數(shù)據(jù)處理在中央處理單元(CPU)進(jìn)行,輸入模塊取得外部受控系統(tǒng)目前的狀態(tài),經(jīng)過(guò)程序判斷后,決定致動(dòng)輸出模塊上的那些驅(qū)動(dòng)器,以驅(qū)動(dòng)受控系統(tǒng)??删幊炭刂破?,基本如同一部專(zhuān)門(mén)為過(guò)程控制的系統(tǒng)而設(shè)計(jì)的小型計(jì)算機(jī)。經(jīng)使用者寫(xiě)入程序于儲(chǔ)存器之中,然后CPU照著程序中定義的控制按鈕(Control Logic)監(jiān)控并處理來(lái)自按鈕、感應(yīng)器或極限開(kāi)關(guān)等設(shè)備的輸入信號(hào),經(jīng)邏輯判斷后將輸出信號(hào)送至外部負(fù)載,如繼電器、指示燈、電動(dòng)機(jī)等。有時(shí)可依使用者的需要,將輸出信號(hào)回授作為輸入信號(hào),再去控制其它輸出設(shè)備。
在傳統(tǒng)的PLC中大多利用一個(gè)單芯片在加上簡(jiǎn)單的邏輯集成電路來(lái)實(shí)現(xiàn)所有的功能,在一般的過(guò)程控制且對(duì)于執(zhí)行速度不高的應(yīng)用上是可以接受的。但是仍然存在例如指令執(zhí)行速度、計(jì)數(shù)的頻率、脈沖輸出的頻率等性能無(wú)法提高的問(wèn)題。
此外,與擴(kuò)充機(jī)的連接上,單芯片必需自行控制輸出及輸入的時(shí)序及數(shù)據(jù),如果要與另一特殊用途集成電路(ASIC)的界面連接,在程序的撰寫(xiě)及執(zhí)行上顯得沒(méi)有效率。
而在計(jì)數(shù)的功能上,最高計(jì)數(shù)的頻率一般只到10kHz上下,因而使得在使用多組計(jì)數(shù)的情況下,最高計(jì)數(shù)的頻率將會(huì)隨之下降,再加上如果需要不同的輸出型式脈沖,最高輸出頻率同樣地會(huì)隨之下降。
目前針對(duì)上述問(wèn)題解決的方法大致上分為兩類(lèi),一是使用更高階的單芯片,但如此一來(lái)不但成本跟著提高,軟件設(shè)計(jì)人員也需學(xué)習(xí)新的工具。第二種方式是使用額外的硬件來(lái)增加原有的功能。
但隨著應(yīng)用方式的多元化,PLC對(duì)于執(zhí)行的性能是要求更高,不管是在使用者的程序執(zhí)行速度上,基本的脈沖輸入出功能,或是擴(kuò)充能力等,因此以一個(gè)中央處理單元實(shí)現(xiàn)所有功能的設(shè)計(jì)方式在處理性能時(shí)不僅不佳,而且不能符合使用者對(duì)PLC功能的需求。
發(fā)明內(nèi)容
鑒于以上問(wèn)題,本發(fā)明的主要目的在于提供一種具有輔助處理單元的可編程邏輯控制器,以一輔助處理單元搭配可編程邏輯控制器中的中央處理單元,以解決現(xiàn)有可編程邏輯控制器的性能不佳的問(wèn)題,從而提高可編程邏輯控制器的性能。原本可編程邏輯控制器的中央處理單元主要負(fù)責(zé)低速的指令執(zhí)行、計(jì)數(shù)與脈沖輸出,而輔助處理單元主要負(fù)責(zé)低高速的指令執(zhí)行、計(jì)數(shù)與脈沖輸出。
因此,為了實(shí)現(xiàn)上述目的,本發(fā)明所揭露的具有輔助處理單元的可編程邏輯控制器,包括有一第一處理單元以及一第二處理單元,在第二處理單元中包括有一基本指令執(zhí)行模塊、一脈沖輸出模塊、一中斷產(chǎn)生模塊、一計(jì)數(shù)模塊以及一計(jì)數(shù)比較模塊。此外,更具有一擴(kuò)充界面模塊,用以與其它的可編程控制器連接,作為擴(kuò)充使用。
在本發(fā)明所揭露的具有兩個(gè)處理單元的可編程邏輯控制器的架構(gòu)下,將一些常用命令由輔助處理單元執(zhí)行,設(shè)計(jì)時(shí)采用精簡(jiǎn)指令集管線式提高使用者程序執(zhí)行速度并提供單步執(zhí)行功能。
為了節(jié)省內(nèi)存的使用,將使用者程序及相關(guān)數(shù)據(jù)存放在一共享儲(chǔ)存模塊中,為此加入了總線仲裁機(jī)制,當(dāng)中央處理單元要存取此共享儲(chǔ)存單元時(shí),計(jì)數(shù)器模塊改變標(biāo)志,或計(jì)數(shù)器比較模塊改變?cè)O(shè)定內(nèi)容時(shí)指令執(zhí)行會(huì)自動(dòng)停止而后繼續(xù)執(zhí)行。另外規(guī)劃狀態(tài)轉(zhuǎn)移用指令(STL命令)及相關(guān)標(biāo)志提供給第一處理單元使用,以使第二處理單元可輔助第一處理單元。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種可編程邏輯控制器,其特征在于包括有一第一處理單元,用以執(zhí)行低速脈沖輸出、低速計(jì)數(shù)以及執(zhí)行第一群組指令;以及一第二處理單元,用以根據(jù)一由該第一處理單元所產(chǎn)生的中斷信號(hào),執(zhí)行相對(duì)應(yīng)的高速脈沖輸出、高速計(jì)數(shù)以及執(zhí)行第二群組指令。
其中該第二處理單元包括有一基本指令執(zhí)行模塊,用以執(zhí)行該第二群組指令。
其中該基本指令執(zhí)行模塊更包括有一內(nèi)部存儲(chǔ)單元,用以?xún)?chǔ)存該第二群組指令;一邏輯運(yùn)算單元,與該內(nèi)部存儲(chǔ)單元耦接,用以執(zhí)行該第二群組指令;以及一標(biāo)志累加單元,與該邏輯運(yùn)算單元耦接,當(dāng)該第二群組指令執(zhí)行完畢之后,改變?cè)摌?biāo)志累加單元中的標(biāo)志值。
其中該第二處理單元包括有一脈沖輸出模塊,用以輸出復(fù)數(shù)組高速脈沖信號(hào)。
其中該脈沖輸出模塊包括有一脈沖輸出啟動(dòng)模塊,用以輸出一啟動(dòng)信號(hào);一脈沖寬度調(diào)制模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)信號(hào)為一脈沖寬度調(diào)制模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出脈沖寬度調(diào)制脈沖信號(hào);一脈沖輸出模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)訊脈沖輸出模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出脈沖信號(hào);以及一減速脈沖輸出模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)信號(hào)為一減速脈沖輸出模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出減速脈沖輸出脈沖信號(hào)。
其中該第二處理單元包括有一中斷模塊,用以輸出中斷信號(hào)。
其中該中斷模塊包括有一中斷致能標(biāo)志,用以紀(jì)錄中斷致能標(biāo)志值;
一正負(fù)沿設(shè)定標(biāo)志,用以紀(jì)錄上升沿中斷或下降沿中斷;一啟動(dòng)單元,與該中斷致能標(biāo)志耦接,由該中斷致能標(biāo)志的輸出與一中斷源致動(dòng)該啟動(dòng)單元,據(jù)以輸出一啟動(dòng)信號(hào);一正負(fù)沿檢測(cè)器,與該啟動(dòng)單元耦接,用以接收該啟動(dòng)信號(hào),并根據(jù)該正負(fù)沿設(shè)定標(biāo)志輸出一正負(fù)沿檢測(cè)信號(hào);一中斷向量狀態(tài)暫存器,與該正負(fù)沿檢測(cè)器耦接,用以?xún)?chǔ)存中斷向量狀態(tài);一中斷狀態(tài)判斷器,根據(jù)該中斷向量狀態(tài)以及一中斷向量捕捉暫存器的輸出判斷上升沿中斷或下降沿中斷;以及一中斷狀態(tài)機(jī),與該中斷狀態(tài)判斷器耦接,用以根據(jù)該中斷狀態(tài)判斷器的判斷結(jié)果輸出中斷信號(hào)。
其中該第二處理單元包括有一計(jì)數(shù)模塊,用以執(zhí)行復(fù)數(shù)組高速計(jì)數(shù)模式。
其中該計(jì)數(shù)模塊包括有一計(jì)數(shù)器比較值紀(jì)錄單元,儲(chǔ)存有計(jì)數(shù)器比較值;一計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元,用以?xún)?chǔ)存計(jì)數(shù)器現(xiàn)在值;一計(jì)數(shù)比較單元,與該計(jì)數(shù)器比較值紀(jì)錄單元耦接,用以該比較計(jì)數(shù)器比較值以及該計(jì)數(shù)器現(xiàn)在值,以判斷當(dāng)上數(shù)的個(gè)數(shù)或下數(shù)個(gè)數(shù)是否到達(dá)一預(yù)定值;一解多工器,與該計(jì)數(shù)比較單元耦接,當(dāng)計(jì)數(shù)比較單元輸出代表該預(yù)定值的邏輯信號(hào)時(shí),配合一計(jì)數(shù)模式信號(hào)輸出至基本指令執(zhí)行模塊中;一上下數(shù)檢測(cè)單元,與該計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元耦接,用以接收該計(jì)數(shù)器現(xiàn)在值,以檢測(cè)目前的計(jì)數(shù)為上數(shù)或下數(shù),并輸出一檢測(cè)結(jié)果;以及一解多工器,與該上下數(shù)檢測(cè)單元耦接,用以根據(jù)該檢測(cè)結(jié)果并配合計(jì)數(shù)模式將信號(hào)輸出至該基本指令執(zhí)行模塊。
其中該第二處理單元包括有一比較計(jì)數(shù)模塊。
其中該比較計(jì)數(shù)模塊包括有一比較結(jié)果輸出地址單元,用以?xún)?chǔ)存比較結(jié)果輸出地址;一比較模式設(shè)定單元,用以?xún)?chǔ)存比較模式設(shè)定;一計(jì)數(shù)比較設(shè)定值單元,用以?xún)?chǔ)存計(jì)數(shù)比較設(shè)定值;
一解多工器,用以接收來(lái)自該計(jì)數(shù)模塊的輸出信號(hào),并據(jù)以輸出一計(jì)數(shù)內(nèi)容;以及一第六比較器,與該比較結(jié)果輸出地址單元耦接,用以比較該計(jì)數(shù)內(nèi)容與該計(jì)數(shù)設(shè)定比較值,并將一比較結(jié)果輸出至一多工器。
圖1為本發(fā)明所揭露的輔助處理單元的系統(tǒng)架構(gòu)2為本發(fā)明所揭露的基本指令執(zhí)行模塊的系統(tǒng)方塊3為本發(fā)明所揭露的脈沖輸出模塊的系統(tǒng)方塊4為本發(fā)明所揭露的中斷產(chǎn)生模塊的系統(tǒng)方塊5為本發(fā)明所揭露的PWM模塊及PLSR模塊的系統(tǒng)方塊6為本發(fā)明所揭露的中斷產(chǎn)生模塊的系統(tǒng)方塊7為本發(fā)明所揭露的計(jì)數(shù)模塊的系統(tǒng)方塊8為本發(fā)明所揭露的計(jì)數(shù)比較模塊的系統(tǒng)方塊圖其中,附圖標(biāo)記說(shuō)明如下100第一處理單元200第二處理單元10 基本指令執(zhí)行模塊20 脈沖輸出模塊30 中斷產(chǎn)生模塊40 計(jì)數(shù)模塊50 計(jì)數(shù)比較模塊60 擴(kuò)充界面模塊70 數(shù)據(jù)總線80 外部存儲(chǔ)單元11 邏輯運(yùn)算單元12 內(nèi)部存儲(chǔ)單元13 標(biāo)志累加單元21 脈沖輸出啟動(dòng)模塊22 PWM模塊
23PLSY模塊24PLSR模塊25解多工器26脈沖計(jì)數(shù)單元211 單位頻率產(chǎn)生單元212 單位頻率計(jì)數(shù)器213 模式設(shè)定標(biāo)志214 第一比較器215 分頻器216 單位頻率比較單元221 PWM周期設(shè)定單元222 第二比較器223 第三比較器224 PWM輸出暫存器225 OffDuty標(biāo)志231 PLSY脈沖設(shè)定單元232 第四比較器241 頻率設(shè)定單元242 脈沖個(gè)數(shù)設(shè)定單元243 PLSR處理狀態(tài)單元261 計(jì)數(shù)個(gè)數(shù)設(shè)定單元262 第五比較器31中斷致能標(biāo)志32正負(fù)沿設(shè)定標(biāo)志33中斷源致動(dòng)啟動(dòng)單元34正負(fù)沿檢測(cè)器35中斷向量狀態(tài)暫存器36中斷向量捕捉暫存器37中斷狀態(tài)判斷器38中斷狀態(tài)機(jī)
41 計(jì)數(shù)器比較值紀(jì)錄單元42 計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元43 計(jì)數(shù)比較單元44 解多工器45A解多工器45B多工器46A解多工器46B多工器47 上下數(shù)檢測(cè)單元48 解多工器49A邏輯運(yùn)算單元49B邏輯運(yùn)算單元51 比較結(jié)果輸出地址單元52 比較模式設(shè)定單元53 計(jì)數(shù)比較設(shè)定值單元54 解多工器55 第六比較器56 比較結(jié)果暫存器57 多工器58 解多工器IntCnt 計(jì)數(shù)中斷信號(hào)IntCmp 比較計(jì)數(shù)中斷信號(hào)SYSclk 系統(tǒng)脈沖信號(hào)具體實(shí)施方式
有關(guān)本發(fā)明的特征與實(shí)際作用,現(xiàn)配合附圖對(duì)本發(fā)明的最佳實(shí)施例詳細(xì)說(shuō)明如下。
本發(fā)明所揭露的具有輔助處理單元的可編程邏輯控制器,可將第一處理單元視為一低速處理單元,而將第二處理單元視為高速處理單元,第一處理單元主要負(fù)責(zé)低速的指令執(zhí)行、計(jì)數(shù)操作與脈沖輸出,而第二處理單元主要負(fù)責(zé)低高速的指令執(zhí)行、計(jì)數(shù)操作與脈沖輸出。以下分別就以上模塊的詳細(xì)內(nèi)容敘述如下。
首先請(qǐng)參考圖1,為本發(fā)明所揭露的第二處理單元的方塊圖,第二處理單元包括有一基本指令執(zhí)行模塊10、一脈沖輸出模塊20、一中斷產(chǎn)生模塊30、一計(jì)數(shù)模塊40以及一計(jì)數(shù)比較模塊50。另外,尚包括有一擴(kuò)充界面模塊60,用以與其它的可編程控制器連接,作為擴(kuò)充的使用?;局付▓?zhí)行模塊10、脈沖輸出模塊20、中斷產(chǎn)生模塊30、計(jì)數(shù)模塊40、計(jì)數(shù)比較模塊50以及擴(kuò)充界面模塊60均由一數(shù)據(jù)總線70連接。
基本指令執(zhí)行模塊10中的功能方塊圖,請(qǐng)參考圖2,包括有一邏輯運(yùn)算單元11、一內(nèi)部存儲(chǔ)單元12、以及一標(biāo)志累加單元13,基本指令執(zhí)行模塊10接收來(lái)自第一處理單元100的數(shù)據(jù)信號(hào)以及來(lái)自第一處理單元的控制信號(hào),內(nèi)部存儲(chǔ)單元12儲(chǔ)存有一第二群組指令。
開(kāi)機(jī)之后,將會(huì)通過(guò)擴(kuò)充界面模塊60周期性的掃描與更新,當(dāng)發(fā)現(xiàn)特定的指令時(shí),即立即執(zhí)行目前所指定的指令及操作。倘若將所有的指令全部存于存儲(chǔ)單元中,則當(dāng)要執(zhí)行特定的指令時(shí),第一處理單元100將不斷地自?xún)?chǔ)存單元中讀取數(shù)據(jù)執(zhí)行,如此將會(huì)降低整體的性能。因此,可將一些常用的指令或較短的指令儲(chǔ)存于第二處理單元200中的內(nèi)部?jī)?chǔ)存單元12,也就是將可編程邏輯控制器中所需要用到的指令,依據(jù)一規(guī)則(例如使用頻率、指令執(zhí)行時(shí)間等)區(qū)分為第一群組指令與第二群組指令,第一群組指令儲(chǔ)存于可編程邏輯控制器的外部存儲(chǔ)單元80中,第二群組指令儲(chǔ)存于第二處理單元200的內(nèi)部?jī)?chǔ)存單元12中。外部存儲(chǔ)單元80與內(nèi)部存儲(chǔ)單元12可采用非揮發(fā)性?xún)?nèi)存,例如靜態(tài)隨機(jī)存取內(nèi)存。
當(dāng)欲執(zhí)行特定的指令(屬于第二群組指令中的指令)時(shí),則交由第二處理單元200來(lái)執(zhí)行,即由第二處理單元200中的基本指令執(zhí)行模塊10來(lái)執(zhí)行,并于指令執(zhí)行完畢時(shí),通知第一處理單元100,如此,不但可以降低第一處理單元100的運(yùn)算負(fù)載,更可以提高整體的運(yùn)算性能。
基本指令執(zhí)行模塊10中的邏輯運(yùn)算單元11根據(jù)兩個(gè)中斷信號(hào)致動(dòng),分別為計(jì)數(shù)中斷信號(hào)IntCnt以及比較計(jì)數(shù)中斷信號(hào)IntCmp,計(jì)數(shù)中斷信號(hào)IntCnt來(lái)自計(jì)數(shù)模塊40,比較計(jì)數(shù)中斷信號(hào)IntCmp來(lái)自計(jì)數(shù)比較模塊50。當(dāng)邏輯運(yùn)算單元11接收到上述中斷信號(hào)其中之一時(shí),則自?xún)?nèi)部存儲(chǔ)單元13或外部存儲(chǔ)單元70讀取目前程序所指定要執(zhí)行的指令,當(dāng)指令執(zhí)行完畢的后,則將標(biāo)志累加單元13中的標(biāo)志值改變。計(jì)數(shù)中斷信號(hào)IntCnt為一請(qǐng)求型中斷(來(lái)自計(jì)數(shù)模塊40),請(qǐng)求型中斷依據(jù)所請(qǐng)求中斷的順序依序執(zhí)行,而比較計(jì)數(shù)中斷信號(hào)IntCmp(來(lái)自計(jì)數(shù)比較模塊50)為一種強(qiáng)制型中斷,為需要立即處理執(zhí)行的中斷要求。
脈沖輸出模塊20用以輸出可編程化脈沖信號(hào),用以控制受控系統(tǒng),例如伺服馬達(dá)。其系統(tǒng)方塊請(qǐng)參考圖3,脈沖輸出模塊20主要包括一脈沖輸出啟動(dòng)模塊21,用以輸出一啟動(dòng)信號(hào)以啟動(dòng)PWM模塊22、PLSY模塊23或者是PLSR模塊24,啟動(dòng)模塊之后,被啟動(dòng)的模塊即輸出相對(duì)應(yīng)的脈沖信號(hào),并通過(guò)一解多工器25將脈沖輸出。PWM模塊為脈沖寬度調(diào)知,PLSY為脈沖輸出,而PLSR則為減速脈沖輸出,皆為使用者用來(lái)控制馬達(dá),依馬達(dá)驅(qū)動(dòng)方式的不同,可作不同的設(shè)定。
接著配合圖4與圖5說(shuō)明PWM模塊22、PLSY模塊23以及PLSR模塊24的操作。脈沖輸出啟動(dòng)模塊21中包括有一單位頻率產(chǎn)生單元211、一單位頻率計(jì)數(shù)器212以及一模式設(shè)定標(biāo)志213,單位頻率產(chǎn)生單元211用以輸出一單位頻率給單位頻率計(jì)數(shù)器212,再由單位頻率計(jì)數(shù)器212輸出啟動(dòng)信號(hào),啟動(dòng)信號(hào)以?xún)晌坏臄?shù)字信號(hào)代表,例如″01″代表啟動(dòng)PWM模塊22,″10″代表啟動(dòng)PLSY模塊23,″11″代表啟動(dòng)PLSR模塊24,″00″則代表脈沖輸出重置。
單位頻率產(chǎn)生單元211中的單位頻率比較單元216,用以輸出一頻率比較信號(hào)給第一比較器214,第一比較器214的另一輸入為系統(tǒng)脈沖信號(hào)SYSclk,使得第一比較器214根據(jù)兩個(gè)信號(hào)輸出一比較信號(hào)給分頻器215,由分頻器215輸出一單位頻率信號(hào)給單位頻率計(jì)數(shù)器212,再由單位頻率計(jì)數(shù)器212輸出啟動(dòng)信號(hào)。
當(dāng)單位頻率計(jì)數(shù)器212輸出的啟動(dòng)信號(hào)為″00″(PWM模塊啟動(dòng)信號(hào))時(shí),此時(shí)脈沖輸出模塊20將輸出PWM脈沖信號(hào)。PWM模塊中22有一PWM周期設(shè)定單元221,用以輸出一設(shè)定信號(hào)給第二比較器222,第二比較器222的另一輸入為啟動(dòng)信號(hào),使得第二比較器222據(jù)以輸出一第二比較信號(hào)給PWM輸出暫存器224,第三比較器223則根據(jù)啟動(dòng)信號(hào)以及OffDuty標(biāo)志225的輸出信號(hào)輸出一第三比較信號(hào)給PWM輸出暫存器224。PWM輸出暫存器224則根據(jù)第二比較信號(hào)以及第三比較信號(hào)輸出PWM脈沖。
當(dāng)單位頻率計(jì)數(shù)器212輸出的啟動(dòng)信號(hào)為10(PLSY模塊啟動(dòng)信號(hào))時(shí),此時(shí)脈沖輸出模塊20將輸出PLSY脈沖信號(hào),PLSY脈沖信號(hào)由PLSY模塊23中的PLSY脈沖設(shè)定單元231輸出,同時(shí)輸出至第四比較器232,第四比較器232的另一輸入則為PLSY模塊啟動(dòng)信號(hào),使得第四比較器232輸出一重置標(biāo)志信號(hào)00給脈沖輸出啟動(dòng)模塊21中的模式設(shè)定標(biāo)志213。
PLSR模塊24的系統(tǒng)方塊圖請(qǐng)參考圖5。PLSR模塊24由單位頻率計(jì)數(shù)器212輸出的PLSR模塊啟動(dòng)信號(hào)(11)啟動(dòng),啟動(dòng)信號(hào)同時(shí)輸入至脈沖計(jì)數(shù)單元26。PLSY模塊中具有一頻率設(shè)定單元241以及一脈沖個(gè)數(shù)設(shè)定單元242,頻率設(shè)定單元241儲(chǔ)存有至少一組以上可供設(shè)定的頻率設(shè)定值,每一頻率在脈沖設(shè)定單元中242儲(chǔ)存有一相對(duì)應(yīng)的脈沖計(jì)數(shù)個(gè)數(shù)。當(dāng)程序中設(shè)定一特定頻率與該頻率相對(duì)應(yīng)的脈沖計(jì)數(shù)個(gè)數(shù)時(shí),同時(shí)將這些設(shè)定值輸出至PLSR處理狀態(tài)單元243中,PLSR處理狀態(tài)單元243接收到PLSR模塊啟動(dòng)信號(hào)時(shí),則輸出PLSR脈沖,其輸出的信號(hào)如圖6C所示。當(dāng)所有輸出設(shè)定處理完畢時(shí),則輸出一重置標(biāo)志信號(hào)00給脈沖輸出啟動(dòng)模塊21中的模式設(shè)定標(biāo)志213。
PLSR處理狀態(tài)單元243將信號(hào)輸出給脈沖計(jì)數(shù)單元26中的計(jì)數(shù)個(gè)數(shù)設(shè)定單元261以及單位頻率比較單元216,使得脈沖計(jì)數(shù)單元26中的第五比較器262可以根據(jù)PLSR啟動(dòng)信號(hào)以及計(jì)數(shù)個(gè)數(shù)設(shè)定單元261的輸出輸出一第五比較信號(hào),以判斷是否到達(dá)處理下一輸出設(shè)定。
在設(shè)定的方式上只需輸入需求的頻率即可,不需要再換算成個(gè)數(shù)再填入,這樣省去了第一處理單元計(jì)算的時(shí)間并加快了執(zhí)行的性能。
關(guān)于中斷產(chǎn)生模塊30的系統(tǒng)方塊圖請(qǐng)參考圖6,中斷產(chǎn)生模塊30負(fù)責(zé)處理來(lái)自各模塊的中斷源,并利用中斷致能信號(hào)觸發(fā)第一處理單元100的中斷,以通知第一處理單元100來(lái)處理中斷。本發(fā)明所揭露的中斷模式有請(qǐng)求型中斷與強(qiáng)制型中斷,在設(shè)定上每一個(gè)中斷源都可以有上升沿、下降沿,及啟動(dòng)等標(biāo)志供設(shè)定。
中斷致能標(biāo)志31中紀(jì)錄有中斷致能的標(biāo)志值,而正負(fù)沿設(shè)定標(biāo)志32則紀(jì)錄有上升沿中斷或下降沿中斷,當(dāng)中斷致能標(biāo)志31的輸出與中斷源致動(dòng)啟動(dòng)單元33時(shí),啟動(dòng)單元33將輸出一啟動(dòng)信號(hào)以致動(dòng)正負(fù)沿檢測(cè)器34,正負(fù)沿檢測(cè)器34的輸出耦接至一中斷向量狀態(tài)暫存器35。配合一中斷向量捕捉暫存器36,由一中斷狀態(tài)判斷器37判斷為上升沿中斷或下降沿中斷,并由中斷狀態(tài)機(jī)38輸出中斷信號(hào)。只要有一中斷產(chǎn)生,中斷狀態(tài)判斷器37則輸出中斷信號(hào),如果檢測(cè)的結(jié)果為Zero且狀態(tài)為S1則將狀態(tài)設(shè)為S0,此時(shí)中斷信號(hào)輸出為1,如果檢測(cè)的結(jié)果不是Zero且狀態(tài)為S0則將狀態(tài)設(shè)為S1,此時(shí)中斷信號(hào)輸出為0。
計(jì)數(shù)模塊40的系統(tǒng)方塊圖請(qǐng)參考圖7,計(jì)數(shù)模塊40中提供復(fù)數(shù)組獨(dú)立高速計(jì)數(shù)模式,當(dāng)程序需要高速計(jì)數(shù)時(shí),第一處理單元100即通過(guò)一中斷信號(hào),通知計(jì)數(shù)模塊40以進(jìn)行高速計(jì)數(shù)。
計(jì)數(shù)模塊40中包括有一計(jì)數(shù)器比較值紀(jì)錄單元41以及一計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元42,分別儲(chǔ)存有計(jì)數(shù)器比較值以及計(jì)數(shù)器現(xiàn)在值,計(jì)數(shù)比較單元43則比較計(jì)數(shù)器比較值以及計(jì)數(shù)器現(xiàn)在值,當(dāng)上數(shù)的個(gè)數(shù)達(dá)到后,則則輸出邏輯1至解多工器44,當(dāng)下數(shù)的個(gè)數(shù)達(dá)到時(shí),則輸出邏輯0解多工器44,解多工器44再配合計(jì)數(shù)模式將信號(hào)輸出給基本指令執(zhí)行模塊10。
計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元42則根據(jù)解多工器45A、多工器45B以及解多工器45B、解多工器46B的輸出將計(jì)數(shù)器現(xiàn)在值輸出至上下數(shù)檢測(cè)單元47,以供上下數(shù)檢測(cè)單元檢測(cè)目前的計(jì)數(shù)為上數(shù)或下數(shù),上數(shù)則輸出邏輯0至解多工器48,下數(shù)則輸出邏輯1至解多工器48,解多工器48再配合計(jì)數(shù)模式將信號(hào)輸出給基本指令執(zhí)行模塊10。
計(jì)數(shù)器現(xiàn)在值單元42另外輸出計(jì)數(shù)內(nèi)容信號(hào)給多工器54。計(jì)數(shù)器現(xiàn)在值單元42由三個(gè)控制信號(hào)控制,分別為重置信號(hào)、啟動(dòng)信號(hào)以及U/D標(biāo)志,重置信號(hào)由AND邏輯運(yùn)算單元49A輸出,啟動(dòng)信號(hào)由AND邏輯運(yùn)算單元49B輸出。
計(jì)數(shù)比較模塊50的系統(tǒng)方塊圖請(qǐng)參考圖8,包括有比較結(jié)果輸出地址單元51、比較模式設(shè)定單元52、以及計(jì)數(shù)比較設(shè)定值單元53,比較結(jié)果輸出地址單元51儲(chǔ)存有比較結(jié)果輸出地址,比較模式設(shè)定單元52儲(chǔ)存有比較模式設(shè)定,計(jì)數(shù)比較設(shè)定值單元53儲(chǔ)存有計(jì)數(shù)比較設(shè)定值,解多工器54接收來(lái)自計(jì)數(shù)器的四個(gè)輸出信號(hào)(HSC0、HSC1、HSC2、HSC3),并據(jù)以輸出一計(jì)數(shù)內(nèi)容,由第六比較器55比較計(jì)數(shù)內(nèi)容與計(jì)數(shù)比較設(shè)定值,并將比較結(jié)果輸出至多工器57以及解多工器58,多工器57以及解多工器58則將運(yùn)算結(jié)果輸出至基本指令執(zhí)行模塊10中。第六比較器55的另一比較結(jié)果輸出儲(chǔ)存于比較結(jié)果暫存器56中。
在實(shí)際的應(yīng)用上,可將上述的模塊單元以集成電路制造成為一特殊用途集成電路(ASIC),以提供一獨(dú)立的硬件,使得在性能上不會(huì)隨著使用更多的資源而下降。此外,還可將上述的模塊各自獨(dú)立成為特殊用途集成電路。
雖然本發(fā)明以前述的較佳實(shí)施例揭露如上,然而其并非用以限定本發(fā)明,本領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi)應(yīng)當(dāng)可以作一些更改與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍以本說(shuō)明書(shū)所附的權(quán)利要求所界定的專(zhuān)利保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種可編程邏輯控制器,其特征在于包括有一第一處理單元,用以執(zhí)行低速脈沖輸出、低速計(jì)數(shù)以及執(zhí)行第一群組指令;以及一第二處理單元,用以根據(jù)一由該第一處理單元所產(chǎn)生的中斷信號(hào),執(zhí)行相對(duì)應(yīng)的高速脈沖輸出、高速計(jì)數(shù)以及執(zhí)行第二群組指令。
2.如權(quán)利要求1所述的可編程邏輯控制器,其特征在于,其中該第二處理單元包括有一基本指令執(zhí)行模塊,用以執(zhí)行該第二群組指令。
3.如權(quán)利要求2所述的可編程邏輯控制器,其特征在于,其中該基本指令執(zhí)行模塊更包括有一內(nèi)部存儲(chǔ)單元,用以?xún)?chǔ)存該第二群組指令;一邏輯運(yùn)算單元,與該內(nèi)部存儲(chǔ)單元耦接,用以執(zhí)行該第二群組指令;以及一標(biāo)志累加單元,與該邏輯運(yùn)算單元耦接,當(dāng)該第二群組指令執(zhí)行完畢之后,改變?cè)摌?biāo)志累加單元中的標(biāo)志值。
4.如權(quán)利要求1所述的可編程邏輯控制器,其特征在于,其中該第二處理單元包括有一脈沖輸出模塊,用以輸出復(fù)數(shù)組高速脈沖信號(hào)。
5.如權(quán)利要求4所述的可編程邏輯控制器,其特征在于,其中該脈沖輸出模塊包括有一脈沖輸出啟動(dòng)模塊,用以輸出一啟動(dòng)信號(hào);一脈沖寬度調(diào)制模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)信號(hào)為一脈沖寬度調(diào)制模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出脈沖寬度調(diào)制脈沖信號(hào);一脈沖輸出模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)訊脈沖輸出模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出脈沖信號(hào);以及一減速脈沖輸出模塊,與該脈沖輸出啟動(dòng)模塊耦接,當(dāng)該啟動(dòng)信號(hào)為一減速脈沖輸出模塊啟動(dòng)信號(hào)時(shí)啟動(dòng),并輸出減速脈沖輸出脈沖信號(hào)。
6.如權(quán)利要求1所述的可編程邏輯控制器,其特征在于,其中該第二處理單元包括有一中斷模塊,用以輸出中斷信號(hào)。
7.如權(quán)利要求6所述的可編程邏輯控制器,其特征在于,其中該中斷模塊包括有一中斷致能標(biāo)志,用以紀(jì)錄中斷致能標(biāo)志值;一正負(fù)沿設(shè)定標(biāo)志,用以紀(jì)錄上升沿中斷或下降沿中斷;一啟動(dòng)單元,與該中斷致能標(biāo)志耦接,由該中斷致能標(biāo)志的輸出與一中斷源致動(dòng)該啟動(dòng)單元,據(jù)以輸出一啟動(dòng)信號(hào);一正負(fù)沿檢測(cè)器,與該啟動(dòng)單元耦接,用以接收該啟動(dòng)信號(hào),并根據(jù)該正負(fù)沿設(shè)定標(biāo)志輸出一正負(fù)沿檢測(cè)信號(hào);一中斷向量狀態(tài)暫存器,與該正負(fù)沿檢測(cè)器耦接,用以?xún)?chǔ)存中斷向量狀態(tài);一中斷狀態(tài)判斷器,根據(jù)該中斷向量狀態(tài)以及一中斷向量捕捉暫存器的輸出判斷上升沿中斷或下降沿中斷;以及一中斷狀態(tài)機(jī),與該中斷狀態(tài)判斷器耦接,用以根據(jù)該中斷狀態(tài)判斷器的判斷結(jié)果輸出中斷信號(hào)。
8.如權(quán)利要求1所述的可編程邏輯控制器,其特征在于,其中該第二處理單元包括有一計(jì)數(shù)模塊,用以執(zhí)行復(fù)數(shù)組高速計(jì)數(shù)模式。
9.如權(quán)利要求8所述的可編程邏輯控制器,其特征在于,其中該計(jì)數(shù)模塊包括有一計(jì)數(shù)器比較值紀(jì)錄單元,儲(chǔ)存有計(jì)數(shù)器比較值;一計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元,用以?xún)?chǔ)存計(jì)數(shù)器現(xiàn)在值;一計(jì)數(shù)比較單元,與該計(jì)數(shù)器比較值紀(jì)錄單元耦接,用以該比較計(jì)數(shù)器比較值以及該計(jì)數(shù)器現(xiàn)在值,以判斷當(dāng)上數(shù)的個(gè)數(shù)或下數(shù)個(gè)數(shù)是否到達(dá)一預(yù)定值;一解多工器,與該計(jì)數(shù)比較單元耦接,當(dāng)計(jì)數(shù)比較單元輸出代表該預(yù)定值的邏輯信號(hào)時(shí),配合一計(jì)數(shù)模式信號(hào)輸出至基本指令執(zhí)行模塊中;一上下數(shù)檢測(cè)單元,與該計(jì)數(shù)器現(xiàn)在值紀(jì)錄單元耦接,用以接收該計(jì)數(shù)器現(xiàn)在值,以檢測(cè)目前的計(jì)數(shù)為上數(shù)或下數(shù),并輸出一檢測(cè)結(jié)果;以及一解多工器,與該上下數(shù)檢測(cè)單元耦接,用以根據(jù)該檢測(cè)結(jié)果并配合計(jì)數(shù)模式將信號(hào)輸出至該基本指令執(zhí)行模塊。
10.如權(quán)利要求1所述的可編程邏輯控制器,其特征在于,其中該第二處理單元包括有一比較計(jì)數(shù)模塊。
11.如權(quán)利要求第10所述的可編程邏輯控制器,其特征在于,其中該比較計(jì)數(shù)模塊包括有一比較結(jié)果輸出地址單元,用以?xún)?chǔ)存比較結(jié)果輸出地址;一比較模式設(shè)定單元,用以?xún)?chǔ)存比較模式設(shè)定;一計(jì)數(shù)比較設(shè)定值單元,用以?xún)?chǔ)存計(jì)數(shù)比較設(shè)定值;一解多工器,用以接收來(lái)自該計(jì)數(shù)模塊的輸出信號(hào),并據(jù)以輸出一計(jì)數(shù)內(nèi)容;以及一第六比較器,與該比較結(jié)果輸出地址單元耦接,用以比較該計(jì)數(shù)內(nèi)容與該計(jì)數(shù)設(shè)定比較值,并將一比較結(jié)果輸出至一多工器。
全文摘要
為了解決現(xiàn)有可編程邏輯控制器中僅有一中央處理單元所存在的執(zhí)行指令速度不佳、計(jì)數(shù)頻率無(wú)法提升以及脈沖輸出頻率不夠等問(wèn)題,本發(fā)明揭露了一種具有一第一處理單元以及一第二處理單元的可編程邏輯控制器,以第二處理單元輔助第一處理單元在指令執(zhí)行、計(jì)數(shù)以及脈沖輸出上的運(yùn)作,以提高整體的效率。此外,經(jīng)由一擴(kuò)充界面模塊與另一可編程邏輯控制器連接時(shí),本發(fā)明所揭露的架構(gòu)還具有較現(xiàn)有可編程邏輯控制器更佳的性能。
文檔編號(hào)G06F9/06GK1591323SQ03158048
公開(kāi)日2005年3月9日 申請(qǐng)日期2003年9月4日 優(yōu)先權(quán)日2003年9月4日
發(fā)明者吳鴻志 申請(qǐng)人:臺(tái)達(dá)電子工業(yè)股份有限公司