專利名稱:可編程序控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有執(zhí)行程序并進行運算處理的主CPU、和在上述主CPU進行運算處理中根據(jù)上述主CPU的指令代行特定運算處理的專用CPU的可編程序控制器。
背景技術(shù):
以往,為了主CPU的負擔減輕和縮短時間,提供一種在主CPU進行運算處理中具有代行特定運算處理的專用CPU的可編程序控制器,圖6是表示這樣的已有實施例結(jié)構(gòu)的方框圖。專用CPU11是高速運算用的CPU,執(zhí)行特定的運算處理來代替主CPU10。這兒,在專用CPU11所有的寄存器(未圖示)上設(shè)定CPU10的特定運算處理所必要的各種參數(shù),使專用CPU11起動,專用CPU11對主CPU10輸出保持(HOLD)信號。主CPU10當有該保持信號的輸入時將響應的信號(ACK)輸出給專用CPU11,使該操作變?yōu)橥V範顟B(tài)(保持狀態(tài))。并且,這期間專用CPU11進行運算處理,如該處理結(jié)束,專用CPU11輸出解除CPU10的保持狀態(tài)的信號。由此,解除主CPU10的保持狀態(tài),主CPU10進行其它的運算。并且,在進行運算處理中,在專用CPU11讀出自己不能執(zhí)行的命令(只能主CPU10執(zhí)行的命令)的場合或從外部輸入對專用CPU11停止請求信號的場合專用CPU11也中斷處理并解除主CPU10的保持狀態(tài)。
并且,在上述已有例中從定時部12來的內(nèi)部定時時鐘信號(以下簡稱「時鐘信號」)輸入給主CPU10的中斷通道int和專用CPU11。即,由于主CPU10在保持狀態(tài)的場合不接受中斷請求,為了測定主CPU10執(zhí)行的定時命令的經(jīng)過時間,將時鐘信號作為停止請求信號輸入給專用CPU11,一旦解除CPU10的保持狀態(tài)之后在主CPU10上進行由時鐘信號引起的中斷請求,對計數(shù)器(未圖示)的計數(shù)值必須進行增量處理(定時中斷處理)。例如,在上述已有例為了以四分之一精度測定10ms的定時命令的經(jīng)過時間,將時鐘信號的周期設(shè)定為2.5ms(參照圖7)。
可是,在上述已有例為了進行和程序設(shè)計裝置等的周圍設(shè)備(外部設(shè)備)的數(shù)據(jù)通信,通信用的串行控制部13通過地址數(shù)據(jù)總線14與主CPU10和專用CPU11等連接。上述地址數(shù)據(jù)總線14連接著由RAM(寫入/消去的存儲器)構(gòu)成的存儲器部15、和代替主CPU10控制存儲器部15和串行控制部13之間的數(shù)據(jù)傳送的DMA(直接存取)控制部(以下簡稱「DMA部16」),向外部發(fā)送數(shù)據(jù)的存儲器部15的讀出和向接收外部數(shù)據(jù)的存儲器部15寫入全部都由DMA部16控制。這樣,由于用DMA部16控制串行控制部13和存儲器部15之間的數(shù)據(jù)傳送1從串行控制部13向主CPU10的中斷處理用的程序等就不必要了,所以能提高軟件的負擔和全體的處理時間及處理效率。
可是,在如上述已有例那樣地使用DMA部16的場合,有種種優(yōu)點的DMA部16價格較高,所以存在成本降低困難、比較貴的問題。
發(fā)明的開示本發(fā)明的目的在于解決上述問題,要提供一種使數(shù)據(jù)傳送的處理效率不降低、成本又低的可編程序控制器。
為了達到上述目的,權(quán)利要求1的發(fā)明具有執(zhí)行程序并進行運算處理的主CPU、和在上述主CPU進行的運算處理中根據(jù)上述主CPU的指令代行特定的運算處理的專用CPU,上述專用CPU在進行上述特定的運算處理期間使上述主CPU處于操作停止狀態(tài),在上述特定的運算處理結(jié)束時或必須進行上述特定的運算處理以外的運算處理時或有從外部輸入停止請求信號時,就應解除上述主CPU的操作停止狀態(tài),在由此組成可編程序控制器中,還具有在進行和外部設(shè)備的數(shù)據(jù)通信的同時在接收每個規(guī)定的一分割數(shù)據(jù)的上述主CPU上進行中斷請求的串行控制部、和在產(chǎn)生上述主CPU操作用的時鐘信號的同時將該時鐘信號作為上述停止請求信號輸出給上述專用CPU的定時部、和通過接受上述串行控制部來的中斷請求的上述主CPU進行傳送控制并存儲從外部設(shè)備接收的數(shù)據(jù)的存儲器部,用上述串行控制部在接收上述一分割數(shù)據(jù)所要的接收時間以下的值設(shè)定上述時鐘信號的周期,所以在專用CPU的特定運算處理的執(zhí)行中也與上述時鐘信號同步地解除主CPU的操作停止狀態(tài)。并且,產(chǎn)生從串行控制部來的中斷請求的時間間隔即由串行控制部在比接收上述一分割數(shù)據(jù)所要的接收時間短的時間間隔使主CPU變成能操作狀態(tài),能由主CPU控制串行控制部和存儲器之間的數(shù)據(jù)傳送。即,不象已有例那樣使用高價的DMA控制器,在專用CPU的運算處理執(zhí)行中也能在串行控制部和存儲器部之間進行數(shù)據(jù)傳送,能使數(shù)據(jù)傳送的處理效率不下降且低成本。
權(quán)利要求2的發(fā)明是在權(quán)利要求1的發(fā)明中,將上述時鐘信號的周期設(shè)定在上述主CPU執(zhí)行的定時命令的定時時間的約數(shù)上,使主CPU變成能操作狀態(tài)的周期與定時命令的時間測定的周期一致,能以規(guī)定的精度容易地進行該時間的測定。
權(quán)利要求3的發(fā)明是在權(quán)利要求2的發(fā)明中,將上述串行控制部的數(shù)據(jù)通信的通信速度設(shè)成19,200比特/秒,同時設(shè)上述一分割數(shù)據(jù)的數(shù)據(jù)長度為10比特以上,并設(shè)上述時鐘信號的周期為500μs,主CPU約500μs返回能操作狀態(tài),所以在串行控制部最短約每520.8μs進行中斷請求那樣的上述通信格式中,不用DMA控制器也能高效地進行數(shù)據(jù)傳送處理。
圖1是表示本發(fā)明一實施例的方框圖;圖2是說明同上的操作的流程圖;圖3是說明同上的操作的流程圖;圖4是說明同上的操作的流程圖;圖5是說明同上的操作的流程圖;圖6是表示已有例的方框圖;圖7是說明同上的操作的流程圖。
實施發(fā)明的最佳形態(tài)下面,參照附圖詳細地說明本發(fā)明的實施例。
圖1是表示本實施例的可編程序控制器基本結(jié)構(gòu)的方框圖,具有執(zhí)行程序并進行運算處理的主CPU1、在主CPU1進行運算處理中根據(jù)主CPU1的指令代行特定的運算處理的專用CPU2、在進行和外部設(shè)備的數(shù)據(jù)通信的同時在接收每個規(guī)定的一分割數(shù)據(jù)的上述主CPU1上進行中斷請求的串行控制部3、產(chǎn)生主CPU1操作用的時鐘信號的定時部4、和通過接受上述串行控制部3的中斷請求的主CPU1進行傳送控制并存儲從外部設(shè)備接收的數(shù)據(jù)的存儲器部5。還有,這些各部通過地址數(shù)據(jù)總線6分別與主CPU1和專用CPU2連接。并且,定時部4的時鐘信號和串行控制部3的中斷請求信號被輸入給中斷控制部7,中斷控制部7所有的寄存器的規(guī)定比特根據(jù)時鐘信號和中斷請求信號而變化,所以主CPU1能各別地識別定時部4和串行控制部3的中斷請求。
專用CPU2如已有例所說明的那樣,是代替主CPU1執(zhí)行特定的運算處理的,在專用CPU2進行運算處理期間主CPU1變成保持狀態(tài)(停止操作狀態(tài)),專用CPU2的運算處理結(jié)束時或在專用CPU2讀出要由主CPU1執(zhí)行的命令的場合那樣的必須進行特定運算處理以外的運算處理時,或從外部輸入停止請求信號時解除CPU1的保持狀態(tài)。還有,在主CPU1處于保持狀態(tài)時,不接受中斷控制部7的中斷請求。
與地址總線6連接的存儲器部5由例如RAM那樣的能寫入/消去的半導體存儲器構(gòu)成。如后述那樣,在本實施例的場合不具備DMA控制器,串行控制部3和存儲器部5之間的數(shù)據(jù)傳送由主CPU1控制。
串行控制部3在和程序設(shè)計裝置等的外部設(shè)備之間進行數(shù)據(jù)通信,例如有1字節(jié)的緩沖器,在緩沖器內(nèi)對每接收1字節(jié)的數(shù)據(jù)進行中斷請求,將每1比特的數(shù)據(jù)輸出給地址數(shù)據(jù)總線6,或提取每1比特的數(shù)據(jù)。
定時部4產(chǎn)生由一定周期的脈沖信號組成的時鐘信號,輸出給中斷控制部7和專用CPU2。這里,輸入給專用CPU2的時鐘信號變?yōu)橥V拐埱笮盘?,例如時鐘信號在H電平的每個上升時專用CPU2中斷執(zhí)行中的運算處理,同時解除主CPU1的保持狀態(tài)。另外,通過在中斷控制部7輸入時鐘信號,在解除了保持狀態(tài)的主CPU1進行定時部4的中斷請求(下面稱為「定時中斷請求」)。但是,上述操作是由專用CPU2執(zhí)行特定的運算處理的場合,在專用CPU2不操作而主CPU1執(zhí)行運算處理的場合,僅進行定時中斷請求。
下面,參照圖2~圖5的流程圖,對本實施例的操作進行說明。
首先,圖2是表示全部操作的流程圖,和可編程序控制器的一般性操作相同,接通電源進行各種硬件和參數(shù)等的初始化后,反復執(zhí)行用戶程序、I/O再生、運算處理、通信命令的執(zhí)行處理。
圖3是表示在主CPU1的運算處理中由專用CPU2執(zhí)行必須特高速處理的特定的運算處理時的主CPU1和專用CPU2的各自操作的流程圖。首先,主CPU1在讀出由CPU2處理的命令(コマンド)時,在專用CPU2的寄存器設(shè)定各種參數(shù),使專用CPU2起動。
另外,從起動的專用CPU2向主CPU1輸出HOLD信號,主CPU1變成保持狀態(tài)。作為接受HOLD信號的響應,從主CPU1向?qū)S肅PU2輸出ACK信號(肯定信號)。并且,專用CPU2在讀出的命令是能執(zhí)行的命令時就進行運算處理,在讀出不能執(zhí)行的命令(例如要由主CPU1執(zhí)行的命令)的場合中斷運算處理,解除主CPU1的保持狀態(tài),使控制返回主CPU1。在專用CPU2執(zhí)行運算處理中如輸入外部的停止請求信號或定時部4的時鐘信號,同樣地解除主CPU1的保持狀態(tài)。相反,如不輸停止請求信號和時鐘信號,在該期間繼續(xù)進行特定的運算處理直至結(jié)束,結(jié)束后解除主CPU1的保持狀態(tài),使控制返回主CPU1。
與此相反,主CPU1在解除保持狀態(tài)時調(diào)查其解除的原因,若是主CPU1的執(zhí)行命令則進行該運算處理。這時,主CPU1調(diào)查有無中斷控制部7的定時中斷請求或串行控制器3的中斷請求(下面,將此稱為「數(shù)據(jù)傳送中斷請求」),根據(jù)中斷請求執(zhí)行各種程序,即定時中斷處理程序或數(shù)據(jù)傳送處理程序。并且,各程序的處理結(jié)束后,通過再起動專用CPU2,繼續(xù)進行專用CPU2中斷了的運算處理。
圖4是定時中斷處理程序的流程圖。主CPU1使輔助計數(shù)器(未圖示)減量,若該計數(shù)值不是零,則結(jié)束定時中斷處理,返回原來的處理。另外,若輔助計數(shù)器的計數(shù)值是零,在輔助計數(shù)器設(shè)定初始值(=5)的同時使2.5ms計數(shù)器(未圖示)增量后,結(jié)束定時中斷處理程序,返回原來的處理。即,在本實施例中由于將定時部5的時鐘信號周期設(shè)定成500μs,所以主CPU1與時鐘信號的周期(500μs)同步地執(zhí)行定時中斷處理程序,在執(zhí)行每一次定時中斷處理程序中使輔助計數(shù)器的計數(shù)值從初始值(=5)減量直至0。其結(jié)果,主CPU1進行500μs×5=2.5ms的時間測定,能和已有例同樣地以四分之一的精度執(zhí)行10ms定時命令的經(jīng)過時間的測定。
圖5是數(shù)據(jù)傳送處理程序的流程圖。主CPU1在有數(shù)據(jù)傳送中斷請求時在數(shù)據(jù)傳送處理程序分支,在1字節(jié)地讀出從串行控制部3接收數(shù)據(jù)的同時也讀出接收緩沖器(未圖示)的指示字。該指示字表示存儲器5的地址,主CPU1通過在讀出的指示字的地址上調(diào)整接收數(shù)據(jù),將接收數(shù)據(jù)存儲在存儲部5。然后,準備下一個接收數(shù)據(jù)的調(diào)整,主CPU1使接收指示字增量后結(jié)束數(shù)據(jù)傳送處理程序,返回原來的處理。
這里,在外部設(shè)備和串行控制部3之間進行數(shù)據(jù)通信的格式例如是起止同步通信,以起始位是1比特、數(shù)據(jù)長8比特、奇偶較驗奇數(shù)、停止位是1比特格式的通信速度是19,200bps。這時,串行控制部3從接收一分割的數(shù)據(jù)到接收完下一分割的數(shù)據(jù)的時間間隔,即從串行控制部3來的數(shù)據(jù)中斷請求的發(fā)生時間間隔變成1÷19,200×(1+8+1+1)=572.9μs。在其它格式(起始位是1比特、數(shù)據(jù)長是7比特、奇偶校驗奇數(shù)、停止位是1比特)的場合,該時間間隔變成1÷19,200×(1+7+1+1)=520.8μs。
因此,在通信速是19,200bps、一分割的數(shù)據(jù)是10比特以上的通信形式的場合,從串行控制部3來的數(shù)據(jù)中斷請求不能在比520.8μs短的時間間隔內(nèi)進行,所以若在比此短的時間間隔使主CPU1返回能操作的狀態(tài),即使不象已有例那樣使用DMA控制器,主CPU1也能控制串行控制部3和存儲器部5之間的數(shù)據(jù)傳送,不使用高價的DMA控制器,就可降低成本。因此,本實施例將定時部4的時鐘信號的周期設(shè)定成500μs,將時鐘信號作為專用CPU2的停止請求信號。由于設(shè)時鐘信號的周期為500μs,時鐘信號的周期變成為測定10ms定時命令的經(jīng)過時間的2.5ms計數(shù)器的計數(shù)時間(2.5ms)的約數(shù),和已有例同樣地進行定時命令經(jīng)過時間的測定。
如上述那樣,在本實施例由串行控制部3接收一分割的數(shù)據(jù)所需要的接收時間是(520.8μs)以下,且由于將定時部4的時鐘信號的周期設(shè)定為主CPU1執(zhí)行的定時命令的定時時間(2.5ms)的約數(shù)(最大公約數(shù))即500μs,所以即使在專用CPU2引起的運算處理執(zhí)行中,主CPU1與時鐘信號的周期同步地從保持狀態(tài)向能操作狀態(tài)返回,這期間若有串行控制部3來的數(shù)據(jù)中斷請求,則就執(zhí)行數(shù)據(jù)處理程序,能將接收數(shù)據(jù)從串行控制部3向存儲器部5傳送。即,在不使用DMA控制器而降低成本的同時,將軟件的中斷次數(shù)設(shè)為最小,所以也能減少主CPU1的負荷。
工業(yè)上利用的可能性權(quán)利要求1的發(fā)明如上述所示,具有執(zhí)行程序并進行運算處理的主CPU、和在上述主CPU進行的運算處理中根據(jù)上述主CPU的指令代行特定的運算處理的專用CPU,上述專用CPU在進行上述特定的運算處理期間使上述主CPU處于操作停止狀態(tài),在上述特定的運算處理結(jié)束時或必須進行上述特定的運算處理以外的運算處理或有從外部輸入的停止請求信號時,就應解除主CPU的操作停止狀態(tài),在由此組成的可編程序控制器中,還具有在進行和外部設(shè)備的數(shù)據(jù)通信的同時在接收每個規(guī)定的一分割數(shù)據(jù)的上述主CPU上進行中斷請求的串行控制器、和在產(chǎn)生上述主CPU操作用的時鐘信號的同時將該時鐘信號作為上述停止請求信號輸出給上述專用CPU的定時部、和通過接受上述串行控制部的中斷請求的上述主CPU進行傳送控制并存儲從外部設(shè)備接收的數(shù)據(jù)的存儲部,用上述串行控制部在接收上述一分割數(shù)據(jù)所要的接收時間以下的值設(shè)定上述時鐘信號的周期,所以在專用CPU的特定運算處理的執(zhí)行中也與上述時鐘信號同步地解除主CPU的操作停止狀態(tài)。并且,產(chǎn)生從串行控制部來的中斷請求的時間間隔即由串行控制部在比接收上述一分割數(shù)據(jù)所要的接收時間短的時間間隔使主CPU變成能操作狀態(tài),能由主CPU控制串行控制部和存儲部之間的數(shù)據(jù)傳送,不象已有例那樣使用高價的DMA控制器,在專用CPU的運算處理執(zhí)行中也能在串行控制部和存儲器部之間進行數(shù)據(jù)傳送,具有使數(shù)據(jù)傳送的處理效率不下降且成本低的效果。
權(quán)利要求2的發(fā)明在上述主CPU執(zhí)行的定時命令的定時時間的約數(shù)上設(shè)定上述時鐘信號的周期,所以使主CPU變成能操作狀態(tài)的周期與定時命令的時間測定的周期一致,具有能以規(guī)定的精度容易執(zhí)行該時間測定的效果。
權(quán)利要求3的發(fā)明將上述串行控制部的數(shù)據(jù)通信的通信速度設(shè)成19200比特/秒的同時設(shè)上述一分割數(shù)據(jù)的數(shù)據(jù)長度為10比特以上,并設(shè)上述時鐘信號的周期為500μs,主CPU約每500μs返回能操作狀態(tài),所以在串行控制部最短約每520.8μs進行中斷請求那樣的上述通信格式中,具有不用DMA也能高效地進行數(shù)據(jù)傳送處理的效果。
權(quán)利要求
1.一種可編程序控制器,具有執(zhí)行程序并進行處理的主CPU、和在上述主CPU進行的運算處理中根據(jù)上述主CPU的指令代行特定的運算處理的專用CPU,上述專用CPU在進行上述特定的運算處理期間使上述主CPU處于操作停止狀態(tài),在上述特定的運算處理結(jié)束時或必須進行上述特定的運算處理以外的運算處理時或有從外部輸入停止請求信號時,就應解除上述主CPU的操作停止狀態(tài),其特征在于,還具有在進行和外部設(shè)備的數(shù)據(jù)通信的同時在接收每個規(guī)定的一分割數(shù)據(jù)的上述主CPU上進行中斷請求的串行控制部、和在產(chǎn)生上述主CPU操作用的時鐘信號的同時將該時鐘信號作為上述停止請求信號輸出給上述專用CPU的定時部、和通過接受上述串行控制部的中斷請求的上述主CPU進行傳送控制并存儲從外部設(shè)備接收的數(shù)據(jù)的存儲器部,用上述串行控制部在接收上述一分割數(shù)據(jù)所要的接收時間以下的值設(shè)定上述時鐘信號的周期。
2.如權(quán)利要求1所述的可編程序控制器,其特征在于,在上述主CPU執(zhí)行的定時命令的定時時間的約數(shù)上設(shè)定上述時鐘信號的周期。
3.如權(quán)利要求2所述的可編程序控制器,其特征在于,在將上述串行控制部的數(shù)據(jù)通信的通信速度設(shè)為19,200比特/秒的同時將上述一分割的數(shù)據(jù)的數(shù)據(jù)長度設(shè)為10比特以上,并將上述時鐘信號的周期設(shè)為約500μs。
全文摘要
由定時部(4)產(chǎn)生的時鐘信號被輸出給中斷控制部(7)和專用CPU(2)。在專用CPU(2)執(zhí)行特定的運算處理的場合一有時鐘信號的輸入,專用CPU(2)中斷處理并使主CPU(1)從保持狀態(tài)返回操作狀態(tài)。即,即使是專用CPU(2)執(zhí)行運算處理的場合,在時鐘信號的每個周期500μs使控制返回主CPU(1)。而且,時鐘信號的周期由于設(shè)定在比從串行控制部(3)來的數(shù)據(jù)傳送中斷請求的時間間隔短的時間內(nèi),所以即使不象已有例那樣使用DMA控制器,也能向存儲部傳送數(shù)據(jù),使成本降低。
文檔編號G06F15/16GK1172541SQ96190259
公開日1998年2月4日 申請日期1996年3月6日 優(yōu)先權(quán)日1996年3月6日
發(fā)明者中井大 申請人:松下電工株式會社