專利名稱:微型計算機的制作方法
技術領域:
本發明涉及具有將存儲區域劃分為多個區域的存儲裝置的微型計算機(microcomputer)。
背景技術:
當前,在各種控制器中使用微型計算機,利用存儲在其內部的存儲裝置例如ROM(read only memory)中的程序(program)來進行工作。這樣的控制器的控制系統由決定并處理所搭載的設備的整體控制工作的部分和按照其決定的工作內容控制設備的各種執行機構(actuator)的驅動處理(驅動器(driver))部分構成。若執行機構是簡單的繼電器(relay)和開關(switch),驅動器部分就能夠簡單地構成,但在驅動容量大的直流電動機(dc motor)等的情況下,對驅動器部分來說成為相當大的負荷,其驅動用的程序也成為大容量。
例如,在空調機的控制器中設置了決定和處理電動機轉速的設備控制用微型計算機和按照其決定的工作內容驅動電動機的電動機驅動用微型計算機。這些微型計算機分別由一個芯片(chip)構成,在各個芯片中設置了存儲程序和數據(data)的ROM、暫時存儲數據的RAM(random access memory)、進行程序的執行和數據處理的CPU(central processor unit)等。
在電動機驅動用微型計算機的ROM中存儲記述了電動機驅動所需的算法(algorithm)的程序,在設備控制用微型計算機的ROM中存儲設備控制所需的程序。利用通信線路連接這些微型計算機,設備控制用微型計算機對電動機驅動用微型計算機指示電動機的轉速,電動機驅動用微型計算機對設備控制用微型計算機發送實際的電動機轉速的數據。
在這樣的系統(system)中,在各微型計算機的相互間僅按照通信協議進行指示和回答,存儲在各個微型計算機的ROM中的程序僅在各個微型計算機內執行。從而,就不能從一方的微型計算機向另一方的微型計算機的ROM進行存取(accsee),秘密地保持各個微型計算機的程序內容。
但是,在這樣的系統中,需要2個微型計算機,有系統自身大型化的問題。因此,若能夠用1個微型計算機執行電動機驅動和設備控制兩方,就能得到設備的小型化、低成本(cost down)等各種各樣的優點(merit)。因此,考慮在1個微型計算機的ROM中存儲兩方的控制程序進行使用。但是,該情況下,在現有的微型計算機中能對存儲在ROM中的全部的程序進行存取。
在此,在各個公司制成電動機控制程序和設備控制程序的情況下,各自能讀出對方的程序內容,就有不能在兩者間保密的問題。
另一方面,將保密存儲器(memory)內的數據作為目的,在日本特開平11-110294號公報中公開了一種有關存儲器的地址總線(address bus)和數據總線(data bus)的使用權(以下稱作總線權(bus use right),CPU和外部設備的某一個選擇性地具有優先權的微型計算機。在該微型計算機中,在外部具有總線權時,能夠設置用于禁止存儲器內的數據的外部讀出和寫入的禁止區域地址。即,關于存儲器內的特定區域,在外部具有總線權的情況下不能夠存取,不能讀出和寫入。從而,禁止其特定區域的數據的外部讀出,維持數據和程序的秘密性。
發明內容
發明所要解決的問題但是,在上述專利文獻中,沒有關于在微型計算機內怎樣地實現存儲在微型計算機內的存儲器中的程序的保密進行記述。
本發明考慮了上述事情,其目的在于提供一種能夠用其自身實現存儲在內部存儲裝置中的多個程序間的保密的微型計算機。
用于解決問題的手段本發明的第一方式涉及的微型計算機具有將存儲區域劃分為多個區域的存儲裝置,具有容許對該各區域的至少一個區域中的規定的地址進行存取,禁止對剩余的區域進行存取的結構。
本發明的第二方式涉及的微型計算機具有存儲裝置,所述存儲裝置具有第一區域,存儲控制控制對象設備整體的綜合控制程序;第二區域,存儲按照該綜合控制程序個別地控制上述控制對象設備的功能要素的個別控制程序,其結構在于,在這些第一區域和第二區域的任一個中,都容許對規定地址的存取,禁止對剩余地址的存取,在上述第一區域和第二區域中,各自具有轉換裝置,轉換指定是將存取的禁止設為有效還是無效。
本發明的第三方式涉及的微型計算機具有將存儲區域劃分為多個區域的存儲裝置,具有讀出禁止裝置,禁止從這些區域之一向其他區域利用存取讀出數據的處理。
本發明的第四方式涉及的微型計算機具有將存儲區域劃分為多個區域的存儲裝置,具有讀出禁止裝置,禁止這些區域相互間利用存取讀出數據的處理。
本發明的第五方式涉及的微型計算機具有存儲裝置,所述存儲裝置具有第一區域,存儲控制控制對象設備整體的綜合控制程序;第二區域,存儲按照該綜合控制程序個別地控制上述控制對象設備的功能要素的個別控制程序,具有讀出禁止裝置,禁止這些第一區域和第二區域相互間利用存取讀出數據的處理;轉換裝置,轉換指定是將該讀出禁止裝置的處理設為有效還是無效。
發明的效果根據本發明,能夠保持存儲在一個微型計算機的內部存儲裝置中的多個程序間的秘密。
附圖的簡要說明
圖1是示出本發明的第一實施例的結構的方框圖。
圖2是示出本發明的第一實施例中的數據處理的經過的圖。
圖3是示出本發明的第二實施例的結構的方框圖。
圖4是用于說明本發明的第二實施例的作用的流程圖。
具體實施例以下,參照圖1和圖2說明本發明的第一實施例。
圖1是搭載在空調機中的本發明的微型計算機的概要。圖1中,1是存儲裝置即ROM。該ROM1被劃分為多個區域,例如第一區域和第二區域。
在第一區域中存儲著初始設定程序和綜合控制程序。初始設定程序在接通電源時啟動,進行下述初始設定,即,容許對該第一區域中的全部地址中的預先設定的地址進行存取,禁止對剩余的地址進行存取。成為容許對象的地址的初始設定不可變更。綜合控制程序由存儲在地址Xa~Xy中的數據和命令(command)構成,決定并處理搭載了該微型計算機的設備的整體的控制工作。作為命令,有對于第二區域的地址的轉移指令(jump instruction)。
在第二區域中存儲著初始設定程序和命令的同時,還存儲著啟動控制程序、轉速控制程序和停止控制程序,作為按照綜合控制程序個別地控制空調機的各功能的個別控制程序。初始設定程序在接通電源時啟動,進行下述初始設定,即,容許對該第二區域中的全部地址中的預先設定的地址進行存取,禁止對剩余的地址進行存取。成為容許對象的地址的缺省不可變更。將命令存儲在初始設定為容許存取的地址A1、A2、A3中。地址A1的命令是向啟動控制程序的轉移指令。地址A2的命令是向轉速控制程序的轉移指令。地址A3的命令是向停止控制程序的轉移指令。
再有,在接通電源時,最初,第一區域的初始設定程序進行工作,接著,第二區域的初始設定程序進行工作。
啟動控制程序控制空調機的啟動,存儲在初始設定為禁止存取的地址B1~Bn中。在最后地址Bn中存儲著對綜合控制程序的地址Xi+1的返回指令(returninstruction)。轉速控制程序控制空調機中的壓縮機電動機的轉速F,存儲在初始設定為禁止存取的地址C1~Cn中,最后的地址Cn中存儲著向綜合控制程序的地址Xn+1的返回指令。停止控制程序控制空調機的停止,存儲在初始設定為禁止存取的地址D1~Dn中。在最后地址Dn中存儲著向綜合控制程序的地址Xy+1的返回指令。
另一方面,圖1中的2是RAM。該RAM2用作數據的暫時存儲用。
通過監視部3,與這些ROM1和RAM2連接著CPU4。然后,與監視部3和CPU4連接著PC(program counter)5和保護(protect)轉換部6。
監視部3監視和管理ROM1中的第一區域與第二區域相互間的存取的容許和禁止。保護轉換部6基于來自CPU4的命令,通過監視部3,轉換指定是將ROM1中的第一區域與第二區域相互間的存取的禁止設為有效還是無效。
接著,說明上述結構的作用。
一接通電源,ROM1中的第一區域的初始設定程序和第二區域的初始設定程序就啟動。第一區域的初始設定程序進行容許對第一區域中的全部地址存取的初始設定。第二區域的初始設定程序進行容許對第二區域中的全部地址中的預先設定的地址A1、A2、A3進行存取,禁止對剩余的地址進行存取的初始設定。
根據該初始設定,存儲在ROM1的第一區域中的綜合控制程序橋架第二區域的開放著的地址A1、A2、A3的命令,就可以對第二區域內的啟動控制程序、轉速控制程序、停止控制程序進行存取。
從而,若執行了第一區域內的綜合控制程序后,一讀出地址Xi的命令“向A1轉移”(壓縮機電動機的啟動所需的狀態),就基于該讀出的命令,讀出存儲在第二區域的地址A1中的命令“向B1轉移”。基于該命令,第二區域內的啟動控制程序啟動,控制壓縮機電動機的啟動。啟動控制程序的最終地址Bn中已存儲著命令“向Xi+1返回”(retum to“Xi+1”command),基于該命令,執行從第一區域內的綜合控制程序的地址Xi+1開始的處理。
在綜合控制程序中,一讀出地址Xn的命令“向A2轉移”(壓縮機電動機的轉速控制所需的狀態),就基于該讀出的命令,讀出存儲在第二區域的地址A2中的命令“向C1轉移”。基于該命令,第二區域內的轉速控制程序啟動,控制壓縮機電動機的轉速F。該情況下,將目標轉速Ft存儲在RAM2的規定的地址中,驅動控制壓縮機電動機,使得壓縮機電動機的轉速F成為該目標轉速Ft。轉速控制程序的最終地址Cn中已存儲著命令“向Xn+1返回”,基于該命令,執行從第一區域內的綜合控制程序的地址Xn+1開始的處理。
圖2中示出了有關該轉速控制程序的數據處理的過程。
綜合控制程序的處理前進,一讀出地址Xy的命令“向A3轉移”(壓縮機電動機的停止所需的狀態),就基于該讀出的命令,讀出存儲在第二區域的地址A3中的命令“向D1轉移”。基于該命令,第二區域內的停止控制程序啟動,控制壓縮機電動機的停止。停止控制程序的最終地址Dn中已存儲著命令“向Xy+1返回”,基于該命令,執行從第一區域內的綜合控制程序的地址Xy+1開始的處理。
如上所述地,通過對ROM1的第二區域中的地址A1、A2、A3容許存取,對第二區域的剩余地址禁止存取,就不能利用第一區域內的程序讀出第二區域的除了地址A1、A2、A3以外的地址的內容。這樣,對第一區域內的程序的制作者保守第二區域內的程序的秘密。即,能夠在該微型計算機內實現ROM1中存儲的程序的保密。
再有,在上述實施例中,分別在地址Bn、Cn、Dn中存儲了應該向第一區域的控制程序內返回的命令,但也可以不是轉移命令,若存儲調用指令(callinstruction),就能使程序更簡化。即,一發出調用指令,就將存儲了該命令的地址存儲在RAM2中,利用之后的返回指令(return instruction),能夠自動地轉移到在該RAM2中存儲的地址中增量了一個單位(increment)后的地址。具體地說,若在地址Xi中調用(call)地址A1,就將地址Xi存儲在RAM2中,在接著的地址A1中使其向地址B1轉移。因此,在地址Bn中一執行返回指令,就根據剛才的調用指令,向在RAM中存儲的地址Xi中增量了一個單位后的地址Xi+1返回,能夠使其進行與上述實施例相同的工作。從而,通過組合使用調用指令和返回指令,不需要預先存儲應該向地址Bn返回的命令,因此,各個區域中的程序制作的自由度增高。
在從CPU4向保護轉換部6發送了解除禁止命令的情況下,保護轉換部6通過操作監視部3,就將對于第二區域的除了地址A1、A2、A3以外的地址的存取的禁止設為無效。該情況下,就能對ROM1的第一區域和第二區域的全部的地址進行存取。但是,僅各個區域的程序制作者能夠設定該情況的解除禁止命令,由于是ROM1內的一方區域的程序制作者等利用人為的操作,因此,另一方區域的程序制作者不能意圖設定。這樣,能夠可靠地保證對于ROM1內的程序的保密性。例如,在第一區域內裝入了向外部輸出第二區域的全部程序內容的程序的情況下,在對第二區域的程序的已禁止的地址進行了存取時,程序就停止,不執行以后的工作,就不能外部輸出程序內容。
另一方面,在單一的程序制作者使用全部的區域的情況下,由于不需要保密,因此,若對ROM1的全部區域設定存取許可,就能不限制ROM1的全部區域而進行使用,能夠與可對現有的全部地址進行存取的單一區域的ROM同等地使用ROM1,能夠在微型計算機中具有通用性。
再有,在上述實施例中,以搭載在空調機中的微型計算機為例進行了說明,但對搭載在其他設備中的微型計算機也同樣適用。此外,關于僅對ROM1的第二區域進行存取的禁止的情況進行了說明,但當然也可以對ROM1的第一區域和第二區域雙方進行存取的禁止。另外,也可以將ROM1內劃分為3個以上的區域,分別設定存取許可/禁止。
下面,參照圖3和圖4說明本發明的第二實施例。
如圖3所示,在ROM1的第一區域中存儲著初始設定程序和綜合控制程序。初始設定程序由存儲在地址W1~Wn中的數據和命令構成,在接通電源時,進行初始設定,禁止或者許可ROM1的第二區域或基于從RAM2存取的該第一區域中的讀出和寫入處理。由擔當第一區域的程序制作者設定禁止或許可。作為命令,有對于第二區域的地址A1的調用指令。綜合控制程序由存儲在地址Xa~Xy中的數據和命令構成,決定并處理搭載了該微型計算機的設備的整體的控制工作。作為命令,有對于第二區域的地址B1、C1、D1的調用命令。
在第二區域中存儲著初始設定程序的同時,還存儲著啟動控制程序、轉速控制程序和停止控制程序,作為按照綜合控制程序個別地控制空調機的各功能的個別控制程序。初始設定程序由存儲在地址A1~An中的數據和命令構成,從接通電源時啟動的第一區域的初始設定程序開始調用后啟動,進行禁止或者許可第一區域或基于從RAM2存取的該第二區域中的讀出和寫入處理的初始設定。由擔當第二區域的程序制作者設定禁止或許可。
由于啟動控制程序、轉速控制程序、停止控制程序與第一實施例相同,因此,省略其說明。
另一方面,將RAM2用作數據的暫時存儲用。
通過監視部3,與這些ROM1和RAM2連接著CPU4。然后,與監視部3和CPU4連接著PC5和保護轉換部(轉換裝置)6。
監視部3監視和管理ROM1中的第一區域和第二區域的相互間的存取,或者,監視和管理數據的讀出和寫入處理的容許和禁止,所述數據的讀出和寫入處理利用對于第一區域和第二區域的經由RAM2的存取,特別是具有禁止數據的讀出處理的讀出禁止裝置和禁止數據的寫入處理的寫入禁止裝置。具體地說,監視部3對于讀出和寫入指令,根據該命令的發送源的地址與讀出和寫入目的地的地址是否是相同區域,來決定讀入和寫入的許可和禁止。再有,用采用了EEPROM(electrical erasable programmable read only memory即,電可擦可編程只讀存儲器)和快閃ROM(flash read only memory)等可進行數據的讀出和寫入的ROM作為ROM1的微型計算機進行說明,但在采用了不可進行數據寫入的ROM的情況下,由于沒有寫入處理,因此,監視部3僅具有讀出禁止裝置的功能,而不具有寫入禁止裝置的功能。
保護轉換部6按照伴隨著ROM1中的第一區域的初始設定程序和第二區域的初始設定程序的各自的執行的來自CPU4的命令,轉換指定是將監視部3的讀出禁止裝置的處理和寫入禁止裝置的處理分別設為有效還是無效。即,若在保護轉換部6中設定了禁止,監視部3就對讀出和寫入指令判別該指令的發生源的地址與讀出或寫入目的地的地址是否是相同的區域,然后決定讀入和寫入的許可和禁止。
接著,說明上述結構的作用。
一接通電源,ROM1中的第一區域的初始設定程序就啟動,接著,第二區域的初始設定程序啟動。第一區域的初始設定程序進行是禁止還是許可利用存取對第一區域讀出和寫入數據的處理的初始設定。第二區域的初始設定程序進行是禁止還是許可利用存取對第二區域讀出和寫入數據的處理的初始設定。
在該初始設定中,將從第一區域和第二區域中的自身以外的區域的利用存取讀入和寫入數據的處理設定為禁止。
該情況下,如圖4的流程圖(flowchart)所示,從第一區域一產生讀出第二區域的數據的指令,就利用監視部3判別讀出對象是否是第二區域,并且,根據PC5的內容判別讀出指令的發生源的地址是否是第一區域,基于這些判別結果,停止第一區域內的程序。由于第一區域內的程序停止,因此就不能從第一區域對第二區域進行存取,不能讀出第二區域內的數據。例如,在第一區域中裝入了用于外部輸出第二區域的全部程序內容的程序的情況下,在執行了想讀出第二區域的地址內容的處理的時候,第一區域內的程序就停止,不執行以后的工作,就不能外部輸出第二區域的程序內容。這樣,就對第一區域內的程序的制作者保守第二區域內的程序的秘密。即,能夠在該微型計算機內實現ROM1中存儲的程序的保密。
在從第二區域產生了讀出第一區域的數據的指令的情況下,利用監視部3,判別讀出對象是否是第一區域,并且,根據PC5的內容判別讀出指令(readinstruction)的發生源的地址是否是第二區域,基于這些判別結果,停止第二區域內的程序。由于第二區域內的程序停止,就不能從第二區域對第一區域進行存取,不能讀出第一區域內的數據。這樣,就對第二區域內的程序的制作者保守第一區域內的程序的秘密。
另一方面,在利用各初始設定程序的初始設定中,若許可了讀出和寫入處理,就從CPU4向保護轉換部6指令許可,利用從保護轉換部6對監視部3的操作,將從第一區域和第二區域的自身以外的利用存取讀出和寫入數據的處理的禁止設為無效。這樣,就能對ROM1的第一區域和第二區域的全部地址進行數據的讀出和寫入處理。
再有,在此基于圖4的流程圖說明了監視部3的工作,但實際上用微型計算機內的硬件邏輯電路(hardware logic circuit)形成監視部3。
如已經說明地,僅第一區域和第二區域的程序制作者,才能夠分別利用初始設定程序設定是禁止還是許可數據的讀出和寫入處理的初始設定。一方區域的程序制作者不能用人為的操作等徹底成為另一方區域的程序制作者。從而,能夠可靠地保證對于ROM1內的程序的保密性。
再有,若禁止讀出和寫入處理,經由了RAM2的利用存取的讀出和寫入處理也就同樣地被禁止。這就對在將ROM1的程序一旦轉移到了RAM2中的情況下,就可以處理轉移后的程序的問題做出了對策,因此,防止了該情況下的經由了RAM2的讀出和寫入處理。
再有,也可以構成為,在進行了基于轉移到RAM2中的程序的讀出和寫入處理的情況下,根據PC5的數據,判別成為該處理的源的程序的出處(地址)是ROM1的第一區域和第二區域的哪一個,若判別的區域與讀出和寫入處理的對象區域相同,就容許經由了RAM2的讀出和寫入處理。
此外,對于如本實施例所述地可寫入的ROM1,與讀出處理的同時禁止寫入處理。這是為了防止下面的缺點。即,若通過從一方區域向另一方區域的存取,就能進行向另一方區域的程序的寫入,就能夠對另一方區域寫入讀出指令。由于對于另一方區域來說,寫入的讀出指令就成為自身區域內的命令,因此,就不能用讀出禁止裝置禁止讀出處理。其結果,產生了可讀出另一方區域的內容的缺點。
另一方面,由于在同一程序制作者擔當ROM1的第一區域和第二區域中的程序制作的情況下不需要保密,因此,通過利用初始設定程序來設定ROM1的各區域中的讀出和寫入處理的許可,就能不限制ROM1的各區域而進行使用,能夠與可對于現有的全部地址進行讀出和寫入處理的單一區域的ROM同等地進行使用,能夠在微型計算機中具有通用性。
再有,以對ROM1的第一區域和第二區域兩方設定讀出和寫入處理的禁止的情況為例進行了說明,但當然也可以僅對第一區域和第二區域的某一方設定讀出和寫入處理的禁止。另外,也可以將ROM1內劃分為3個以上的區域,分別設定讀出和寫入處理的許可/禁止。
另外,也可以構成為,將不需要保密的程序寫入到不設置讀出禁止裝置和寫入禁止裝置的ROM的一部分的區域中,僅在其他ROM區域中設置讀出禁止裝置和寫入禁止裝置。
再有,本發明不限定于上述各實施例,可以在不脫離其主旨的范圍內進行變更。此外,也可以適當地變更各實施例中公開的多個結構要素的組合,或刪除幾個結構要素。
權利要求
1.一種微型計算機,其特征在于,具有將存儲區域劃分為多個區域的存儲裝置,容許對該各區域的至少一個區域中的規定的地址進行存取,禁止對剩余的區域進行存取。
2.如權利要求1所述的微型計算機,其特征在于,具有轉換裝置,所述轉換裝置轉換指定是將對于上述剩余地址的存取的禁止設為有效還是無效。
3.一種微型計算機,其特征在于,具有存儲裝置,所述存儲裝置具有第一區域,存儲控制控制對象設備整體的綜合控制程序;第二區域,存儲按照該綜合控制程序個別地控制上述控制對象設備的功能要素的個別控制程序,其結構構成為,在這些第一區域和第二區域的任一個中,都容許對規定地址的存取,禁止對剩余地址的存取,在上述第一區域和第二區域中,各自具有轉換裝置,轉換指定是將存取的禁止設為有效還是無效。
4.一種微型計算機,其特征在于,具有將存儲區域劃分為多個區域的存儲裝置,設置了讀出禁止裝置,禁止從這些區域之一向其他區域利用存取而讀出數據的處理。
5.一種微型計算機,其特征在于,具有將存儲區域劃分為多個區域的存儲裝置,設置了讀出禁止裝置,禁止這些區域相互間利用存取而讀出數據的處理。
6.如權利要求4或5所述的微型計算機,其特征在于,上述讀出禁止裝置禁止從各區域自身以外的區域利用存取而讀出數據的處理。
7.如權利要求4或5所述的微型計算機,其特征在于,上述存儲裝置可進行數據的讀出和寫入,設置了寫入禁止裝置,禁止從其他區域向上述存儲裝置的上述多個區域之一利用存取而寫入數據的處理。
8.一種微型計算機,其特征在于,具有存儲裝置,所述存儲裝置具有第一區域,存儲控制控制對象設備整體的綜合控制程序;第二區域,存儲按照該綜合控制程序個別地控制上述控制對象設備的功能要素的個別控制程序,具有讀出禁止裝置,禁止這些第一區域和第二區域相互間利用存取而讀出數據的處理;轉換裝置,轉換是將該讀出禁止裝置的處理設為有效還是無效。
全文摘要
本發明提供一種能夠用微型計算機自身實現存儲在存儲裝置中的程序的保密的微型計算機。將ROM的存儲區域劃分為多個區域。容許對這些多個區域的至少一個區域中的規定的地址進行存取,禁止對剩余的區域進行存取。
文檔編號G06F12/14GK1680927SQ200510071750
公開日2005年10月12日 申請日期2005年3月18日 優先權日2004年3月19日
發明者秋山和彥, 神戶崇幸, 溫品治信 申請人:東芝開利株式會社