refrigerator
The dual-bank ROM structure in refrigerators facilitates flexible software and parameter updates, addressing the need for adaptable information management, thereby optimizing operation across different models and environments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MIDEA GROUP CO LTD
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-10
AI Technical Summary
Existing refrigerators lack an efficient mechanism for updating information, particularly control software and parameter information, which is crucial for adapting to different models, functions, and environmental conditions.
A refrigerator design with a dual-bank ROM structure, where one bank is readable for execution and the other for storage, allowing for seamless software updates and parameter adjustments through a communication unit, enabling flexible control software and parameter information management.
Enables efficient and adaptable information updates, ensuring optimal operation across various models and environments, reducing development costs and enhancing operational efficiency.
Smart Images

Figure 2026094705000001_ABST
Abstract
Description
Technical Field
[0004] , , ,
[0005] , , ,
[0001] Embodiments of the present invention relate to a refrigerator.
Background Art
[0002] There has been proposed a refrigerator in which operation software for operating the refrigerator is stored in a first area of a storage unit, and when new operation software for operating the refrigerator exists in a server, the new operation software is acquired from the server and stored in a second area of the storage unit.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The problem to be solved by the present invention is to provide a refrigerator that can update information more appropriately.
Means for Solving the Problems
[0005] The refrigerator according to the embodiment includes a first storage unit, a second storage unit, a control unit capable of controlling the functions of the refrigerator, and a communication unit capable of acquiring information from the outside. The first storage unit includes a first area and a second area, and the information stored in the first area is readable, while the information stored in the second area is not readable in a first mode, and the information stored in the second area is readable, while the information stored in the first area is not readable in a second mode, and at least switchable between the two modes. The first information is stored in the first area. The second information stored in the second storage unit can be updated by the third information acquired from the outside by the communication unit and stored in the second area.
Brief Description of the Drawings
[0006] [Figure 1] A diagram showing a home appliance management system according to the first embodiment. [Figure 2] A diagram showing an example of a refrigerator model according to the first embodiment. [Figure 3] A front view showing the overall configuration of the refrigerator according to the first embodiment. [Figure 4] A block diagram showing the configuration of the control device for the refrigerator according to the first embodiment. [Figure 5] A diagram illustrating the function of the ROM in the first embodiment. [Figure 6] A block diagram showing the functional configuration of the server in the first embodiment. [Figure 7] A diagram showing an example of the discrimination voltage of the control circuit section of the first embodiment. [Figure 8] A diagram illustrating the software processing in the first embodiment. [Figure 9] A diagram illustrating the software processing in the first embodiment. [Figure 10] A diagram illustrating the control software and parameter information of the first embodiment. [Figure 11] A diagram illustrating the control software and parameter information of the first embodiment. [Figure 12] A diagram illustrating the software update process of the first embodiment. [Figure 13] A diagram showing parameter information for a first modified example of the first embodiment. [Figure 14] A diagram illustrating the update process of a first modified example of the first embodiment. [Figure 15] A diagram illustrating the update process of a second modified example of the first embodiment. [Figure 16] A diagram illustrating the update process of a third modified example of the first embodiment. [Figure 17] A block diagram showing the configuration of the control device for the refrigerator according to the second embodiment. [Figure 18] A diagram illustrating the software update process of the second embodiment. [Figure 19]A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 20] A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 21] A timing chart for explaining the process of storing the divided data of the second embodiment in a non-volatile memory. [Figure 22] A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 23] A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 24] A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 25] A diagram for explaining the process of sequentially storing the divided data of the second embodiment. [Figure 26] A block diagram showing the configuration of the control device of the refrigerator of the third embodiment. [Figure 27] A diagram for explaining the update process of the third embodiment. [Figure 28] A diagram for explaining the update process of the third embodiment. [Figure 29] A diagram for explaining the update process of the third embodiment. [Figure 30] A diagram for explaining the update process of a modified example of the third embodiment.
Embodiments for Carrying Out the Invention
[0007] Hereinafter, the refrigerator of the embodiment will be described with reference to the drawings. In the following description, components having the same or similar functions are denoted by the same reference numerals. And redundant descriptions of those components may be omitted. In the present application, "based on XX" means "at least based on XX", and may include cases based on another element in addition to XX. Also, "based on XX" is not limited to cases directly based on XX, and may include cases based on those obtained by performing operations or processing on XX. In the present application, "XX or YY" is not limited to either one of XX and YY, and may include both cases of XX and YY. This is the same when there are three or more selectable elements. XX and YY are arbitrary elements (for example, arbitrary information).
[0008] In the present application, "update of information" is not limited to replacing old information with new information. "Update of information" may include adding new information while leaving old information, or obtaining one new information by combining old information and new information (for example, differential information with respect to old information).
[0009] (A. First Embodiment) <A1. Overall Configuration> FIG. 1 is a diagram showing a home appliance management system 1 (information processing system) of the first embodiment. The home appliance management system 1 includes, for example, a refrigerator 100, a server 200, and a terminal device 300. The network NW described later can use, for example, the Internet, a cellular network, a Wi-Fi network, LPWA (Low Power Wide Area), WAN (Wide Area Network), LAN (Local Area Network), or other public lines or dedicated lines.
[0010] The refrigerator 100 is an example of an electric appliance (home appliance) mainly used at home. The refrigerator 100 is connected to the network NW via a wireless router WR and a modem M installed in the residence of the user U. The refrigerator 100 can communicate with the server 200 or the terminal device 300 via the network NW. Also, the refrigerator 100 may be able to directly communicate with the terminal device 300 using short-range wireless communication such as, for example, Bluetooth (registered trademark).
[0011] The server 200 is a management server that manages the refrigerator 100. The server 200 is composed of one or more server devices (for example, a cloud server). The server 200 can communicate with the refrigerator 100 or the terminal device 300 via the network NW. The server 200 may include an information processing unit that performs edge computing or fog computing, such as an information processing unit included in a router in the network NW.
[0012] The terminal device 300 is an electronic device used by the user U. The terminal device 300 can be used independently of the refrigerator 100, for example. The terminal device 300 is a portable terminal device such as, for example, a smartphone or a tablet terminal device. However, the terminal device 300 is not limited to a portable terminal device and may be a personal computer or the like, or a voice dialogue device (for example, a smart speaker) or the like.
[0013] <A2. Refrigerator> Next, the refrigerator 100 will be described. There are multiple models of the refrigerator 100. In this application, the "model" means a model in which one or more of the structure, performance, or function of the refrigerator 100 are different. For example, for the refrigerator 100, there are multiple models in which one or more of the structure (capacity, single door / French door, etc.), performance (heat insulation performance, cooling performance, etc.), or function (special cooling control, special chilled mode, energy saving function, automatic door opening function, presence or absence of voice dialogue function, etc.) are different.
[0014] FIG. 2 is a diagram showing an example of the model of the refrigerator 100. The configuration shown in FIG. 2 is an example for explaining the present application and has nothing to do with the actual refrigerator lineup. The configuration of the refrigerator 100 varies by model, but the basic configuration is the same. Here, the representative configuration of the refrigerator 100 will be described.
[0015] <A2.1 Overall Configuration of Refrigerator> FIG. 3 is a front view showing the overall configuration of the refrigerator 100. The refrigerator 100 has, for example, a housing 10 and a plurality of doors 20.
[0016] The housing 10 has heat insulation and is formed in a rectangular box shape. Inside the housing 10, a plurality of storage chambers 30 are provided. The plurality of storage chambers 30 include, for example, a refrigerating chamber 31, a vegetable chamber 32, an ice-making chamber 33, a small freezing chamber 34, and a main freezing chamber 35. The refrigerating chamber 31 and the vegetable chamber 32 are storage chambers in the refrigerating temperature range (for example, a plus temperature range of 1 to 4 °C). The ice-making chamber 33, the small freezing chamber 34, and the main freezing chamber 35 are storage chambers in the freezing temperature range (for example, a minus temperature range of -10 to -20 °C).
[0017] The openings of the plurality of storage chambers 30 are closable by the plurality of doors 20. The plurality of doors 20 include left and right refrigerating chamber doors 21A and 21B that close the opening of the refrigerating chamber 31; a vegetable chamber door 22 that closes the opening of the vegetable chamber 32; an ice-making chamber door 23 that closes the opening of the ice-making chamber 33; a small freezing chamber door 24 that closes the opening of the small freezing chamber 34; and a main freezing chamber door 25 that closes the opening of the main freezing chamber 35.
[0018] <A2.2 Control Device of Refrigerator> Figure 4 is a block diagram showing the configuration of the control device 101 of the refrigerator 100. The refrigerator 100 has a control device 101. The control device 101 controls each functional part of the refrigerator 100, such as cooling control or power saving control of each storage compartment 30. The control device 101 includes, for example, a main microcomputer 110, an EEPROM (Electrically Erasable Programmable Read-Only Memory) 102, a communication unit 103, an operation unit 104, a display unit 105, a control circuit unit 106, and an interface 108. For convenience of explanation, the main microcomputer 110 may be referred to as "main microcontroller 110" below.
[0019] (Main microcontroller) The main microcontroller 110 is a functional unit capable of controlling the main functions of the refrigerator 100. The main microcontroller 110 comprehensively controls the refrigerator 100. For example, the main microcontroller 110 performs cooling control of the refrigerator 100 by driving electrical components such as the compressor 51 and the blower 52. The main microcontroller 110 includes, for example, a control unit 111, a ROM (Read Only Memory) 112, and a RAM (Random Access Memory) 113.
[0020] The control unit 111 is a functional unit capable of controlling the functions of the refrigerator 100. The control unit 111 comprehensively controls the refrigerator 100. The control unit 111 performs cooling control of the refrigerator 100, for example, by driving the compressor 51 and the blower 52. The control unit 111 is realized, for example, by a processor such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executing software. At least a part of the control unit 111 is realized, for example, by a CPU or MPU executing the refrigerator control software SFA described later.
[0021] ROM112 is a non-volatile memory unit located within the main microcontroller 110. Information stored in ROM112 is retained even when the refrigerator 100 is turned off. ROM112 is electrically rewritable multiple times. Alternatively, ROM112 may be mounted on a separate circuit board as a separate component from the main microcontroller 110, instead of being located within the main microcontroller 110. ROM112 is an example of both the "first memory unit" and the "first storage device."
[0022] Figure 5 is a diagram illustrating the function of ROM 112 in this embodiment. ROM 112 in this embodiment is a dual-bank ROM. ROM 112 includes bank BK0 and bank BK1. Each of bank BK0 and bank BK1 is a logically separated region within ROM 112. Bank BK0 and bank BK1 are logically distinct regions within ROM 112. Bank BK0 and bank BK1, for example, have the same memory capacity. Each of bank BK0 and bank BK1 includes, for example, a region within ROM 112 corresponding to logical addresses "FFC0_0000h" to "FFDF_FFFFh". One of bank BK0 and bank BK1 is an example of a "first region (first memory region)". The other of bank BK0 and bank BK1 is an example of a "second region (second memory region)". In the following, when we do not distinguish between Bank BK0 and Bank BK1, we will simply refer to them as "Bank BK".
[0023] From another perspective, ROM112 includes an execution area GA and a download area (non-execution area, backup area) NA. The information stored in the execution area GA and download area NA is generated with the assumption that it will be placed in the execution area GA.
[0024] The execution area GA is an area in which information stored in the execution area GA can be read by the control unit 111 and used for control. For example, the execution area GA is an area in which information (such as the refrigerator control software at the time of shipment) can be stored (written) and the information stored in the execution area GA can be read (executed as a program). The execution area GA is a bank-sized area that includes the logical addresses to be read after the main microcontroller 110 is reset. In the example shown in Figure 5, the execution area GA is set in the area from logical addresses "FFE0_0000h" to "FFFF_FFFFh" within the ROM 112. In this case, when the main microcontroller 110 is reset (restarted), the information stored in the area from logical addresses "FFE0_0000h" to "FFFF_FFFFh" is read by the control unit 111 after the reset.
[0025] The download area NA is an area where information stored in the download area NA cannot be read (it can be read, but it cannot be executed as a program because it is not placed at the correct address location). For example, the download area NA is an area where information obtained from an external source can be stored (written) in the download area NA, but the information stored in the download area NA cannot be read for program execution (even if read, it cannot be executed as a program because it is not placed at the correct address location). Specifically, the information is read as part of signature verification to check whether the program has been tampered with, but it is not executed as a program. The download area NA is, for example, an area within ROM112 that has a different logical address from the execution area GA, and is an area of the bank size described above. In the example shown in Figure 5, the download area NA is set in the area within ROM112 from logical address "FFC0_0000h" to "FFDF_FFFFh". In this case, after the main microcontroller 110 is reset (restarted), the information stored in the region from "FFC0_0000h" to "FFDF_FFFFh" cannot be read by the control unit 111 (it cannot be executed as a program).
[0026] In this embodiment, the ROM 112 is switchable between at least a first mode (first usage mode) and a second mode (second usage mode).
[0027] The first mode is a state in which bank BK1 is set to the execution area GA and bank BK0 is set to the download area NA (see (b) in Figure 5). In the first mode, the information stored in bank BK1 is readable (can be treated as control information), but the information stored in bank BK0 is not readable (cannot be treated as control information). For example, the control unit 111 sets ROM 112 to the first mode by assigning logical addresses "FFE0_0000h" to "FFFF_FFFFh" to bank BK1 and logical addresses "FFC0_0000h" to "FFDF_FFFFh" to bank BK0.
[0028] The second mode is a state in which bank BK0 is set to the execution area GA and bank BK1 is set to the download area NA (see (c) in Figure 5). In the second mode, the information stored in bank BK0 is readable (can be treated as control information), but the information stored in bank BK1 is not readable (cannot be treated as control information). For example, the control unit 111 sets ROM 112 to the second mode by assigning logical addresses "FFE0_0000h" to "FFFF_FFFFh" to bank BK0 and logical addresses "FFC0_0000h" to "FFDF_FFFFh" to bank BK1.
[0029] In this embodiment, for example, when the power supply of the main microcontroller 110 is reset (restarted), the control unit 111 determines, based on a pre-set flag, whether to set the main microcontroller 110 to the first mode or the second mode, and sets the main microcontroller 110 to the determined mode.
[0030] In addition, ROM112 may have three or more banks instead of two banks (banks BK0 and BK1). In this case, the three or more banks may be switched between the execution area GA, the download area NA, and the backup area used for backups.
[0031] Next, returning to Figure 4, we will explain the information stored in ROM 112. In this embodiment, ROM 112 stores refrigerator control software SFA. For convenience of explanation, hereafter, refrigerator control software SFA may be referred to as "control software SFA". Control software SFA is software common to multiple models of refrigerator 100. Control software SFA is information that can be used for control common to multiple models of refrigerator 100. Control software SFA is stored in multiple models of refrigerator 100 that differ in one or more aspects such as structure, performance, or function, with the same software content.
[0032] The control software SFA is information that can be used for control by the control unit 111. For example, the control software SFA is software for implementing the main control of the refrigerator 100 by the control unit 111 (e.g., cooling control). When the control unit 111 executes the control software SFA, the control of the refrigerator 100 (e.g., cooling control) is performed, and various functions of the refrigerator 100 become available.
[0033] The control software SFA is information that defines, for example, the control algorithm (e.g., cooling control). The content of the control realized by the control software SFA (for example, the amount and duration of operation of electrical components such as the compressor 51 and the blower 52, the timing of operation, and whether or not electronic components corresponding to a predetermined function are operating) is defined by the parameter information PR, which will be described later.
[0034] RAM113 is a volatile memory unit located within the main microcontroller 110. The information stored in RAM113 is erased when the refrigerator 100 is turned off. Furthermore, when the main microcontroller 110 is reset (restarted), the values stored in RAM113 are not guaranteed (they are considered undefined values), so they are erased during the initialization process and set to their initial values. Note that RAM113 may be mounted on the circuit board as a separate component from the main microcontroller 110, instead of being located within the main microcontroller 110.
[0035] The RAM 113 stores parameter information PR, which is read from the EEPROM 102. Parameter information PR is information that varies depending on the model, function, season, or external environment of the refrigerator 100. "External environment of the location where the refrigerator 100 is installed" refers to the external environment according to the region where the refrigerator 100 is installed (e.g., Hokkaido, Okinawa, the Sea of Japan side, the Pacific Ocean side, the Ogasawara Islands, etc.). It also refers to the external environment according to the topography of the location where the refrigerator 100 is installed (e.g., plains, highlands, coastal areas, etc.). Parameter information PR is information that can be combined with the control software SFA and used for control by the control unit 111 (e.g., cooling control of the refrigerator 100). In other words, parameter information PR, when combined with the control software SFA, is information that enables different control according to the model, function, season, or the external environment of the refrigerator 100.
[0036] In this application, "parameter information PR" may refer to information including the parameter value itself, or it may refer to differential information indicating a portion that differs from the parameter value previously stored in the EEPROM 102 (for example, the initial value of the parameter). Furthermore, multiple parameter information PRs of different versions may be provided for a single control software SFA.
[0037] In this embodiment, parameter information PR is information that differs depending on the model of the refrigerator 100, and is information that can be used for control by the control unit 111 when combined with the control software SFA. For example, when combined with the control software SFA, parameter information PR defines the content of the control realized by the control software SFA. For example, even when the control software SFA is executed (when the same algorithm is realized), the content of the control realized by the control software SFA (for example, the amount of drive, drive time, drive timing of electrical components such as the compressor 51 and blower 52, and whether or not electronic components corresponding to a predetermined function are operated) will differ if the parameter information PR is different.
[0038] The main microcontroller 110 mentioned above is connected to, for example, an EEPROM 102, a communication unit 103, an operation unit 104, a display unit 105, and a control circuit unit 106.
[0039] (EEPROM) EEPROM102 is a separate storage device located outside the main microcontroller 110. EEPROM102 is a non-volatile memory whose contents can be rewritten. Parameter information PR is stored in EEPROM102. In this embodiment, when the refrigerator 100's software is updated, the control software SFA in ROM112 and the parameter information PR in EEPROM102 are updated. EEPROM102 is an example of both the "second storage unit" and the "second storage device".
[0040] (Communications Department) The communication unit 103 communicates with the outside of the refrigerator 100 and can acquire information from outside the refrigerator 100. For example, the communication unit 103 communicates with the server 200 and terminal device 300 via the network NW. The communication unit 103 is, for example, an IEEE 802.11 wireless LAN (Local Area Network) module, but is not limited to this example. When updating the software of the refrigerator 100, the communication unit 103 receives update information from the server 200 and sends the received information to the main microcontroller 110.
[0041] (Operation unit and display unit) The control unit 104 performs various operation inputs to the refrigerator 100. The display unit 105 displays various settings and other information.
[0042] (Control circuit section) The control circuit unit 106 includes electronic components 107 for controlling various parts of the refrigerator 100. The control circuit unit 106 controls various parts of the refrigerator 100 based on commands from the main microcontroller 110. The control circuit unit 106 is connected to sensors and actuators (electrical components such as the compressor 51 and blower 52) of various parts of the refrigerator 100 via an interface 108.
[0043] In this embodiment, the control circuit unit 106 has a series connection of resistors R1 and R2, and a series connection of resistors R3 and R4 between the power line P1 and ground G. The voltage V1 at the connection point of resistors R1 and R2, and the voltage V2 at the connection point of resistors R3 and R4 are input to the analog port of the main microcontroller 110 as information for identifying (determining) the model of the refrigerator 100. Voltages V1 and V2 are examples of the "inherent characteristics" of the refrigerator 100.
[0044] <A3.サーバ> Next, we will explain server 200. Figure 6 is a block diagram showing the functional configuration of server 200. Server 200 provides update software for controlling refrigerator 100. Server 200 includes, for example, an update management unit 210, a communication processing unit 220, and an information storage unit 230.
[0045] The update management unit 210 manages the update information SA provided to the refrigerator 100. The communication processing unit 220 communicates with the refrigerator 100 or terminal device 300 via the network NW. The information storage unit 230 stores the update information SA for updating the software of the refrigerator 100. In this embodiment, the update information SA includes control software SFA which is common to multiple models and parameter information PR which is prepared for each model.
[0046] Hereinafter, for the sake of convenience of explanation, the old control software SFA to be updated installed in the refrigerator 100 may be referred to as "control software SFA1" (see FIG. 4), and the new control software SFA for update may be referred to as "control software SFA2" (see FIG. 6). Also, the old parameter information PR to be updated installed in the refrigerator 100 may be referred to as "parameter information PR1" (see FIG. 4), and the new parameter information PR for update may be referred to as "parameter information PR2" (see FIG. 6).
[0047] <A4. Basic Design of Refrigerator> Next, the basic design of the refrigerator 100 will be described. As shown in FIG. 2, there are a plurality of models of the refrigerator 100 that combine structures, performances, functions, etc. On the other hand, the resources (people, time, funds, etc.) spent on the development of the refrigerator 100 are limited, and it is necessary to avoid an excessive development load. From such a background, in order to reduce the development cost, a commonization method is used for both the hardware and software responsible for the control of the refrigerator 100.
[0048] For example, when providing three models of the refrigerator 100, namely, a top model, a main model, and a popular model, those that can be commonized among the three models are commonized. For example, the printed wiring board and circuit design of the control device 101 are commonized, and the types or numbers of the electronic components to be installed are made different. For example, in the top model, all functions are made available. In the main model, some functions are reduced from the top model and the performance is degraded. In the popular model, functions are further deleted from the main model and the performance is degraded, and it is narrowed down to the minimum necessary functions and performance. In this way, those that can be commonized among a plurality of models are commonized, and a lineup is configured by combining commonization and differentiation.
[0049] <A4.1 Hardware Commonization> First, let's explain the hardware standardization. As shown in Figure 4, the refrigerator 100 is equipped with a control circuit unit 106 on which electronic components 107 are mounted. In this embodiment, the printed circuit board of the control circuit unit 106 is standardized across high-end models, flagship models, and entry-level models. The printed circuit board (printed circuit board on which electronic components are mounted) of the control circuit unit 106 has different electronic components 107 mounted on it, in order to realize the structure, performance, or function of each model.
[0050] Furthermore, in order to distinguish the control circuit unit 106 for each model of refrigerator 100, a series connection of resistors R1 and R2, and resistors R3 and R4 is provided between the power line P1 (for example, 5V) and ground G. Voltages V1 and V2 are obtained by dividing the power supply voltage from the connection points of resistors R1 and R2 and resistors R3 and R4. These voltages V1 and V2 change according to the resistance values of resistors R1 and R2 and resistors R3 and R4. The control unit 111 can determine (determine) the model of refrigerator 100 based on the values of voltages V1 and V2 input from the analog port of the main microcontroller 110.
[0051] Figure 7 shows an example of the discrimination voltage of the control circuit unit 106 installed in each model. For example, if discrimination voltage V1 is 0[V] and discrimination voltage V2 is 0[V], the model of the refrigerator 100 in which the control circuit unit 106 is installed is determined to be "A600F". Also, for example, if discrimination voltage V1 is 0[V] and discrimination voltage V2 is 1[V], the model of the refrigerator 100 in which the control circuit unit 106 is installed is determined to be "A550F".
[0052] Here, the discrimination voltages V1 and V2 are generated by dividing the power supply voltage using resistors R1 and R2, resistors R3 and R4 provided between the power supply line P1 and the ground G, and are read by the analog port. However, for a plurality of output ports of GPIO (General-purpose input / output), pull-up resistors or pull-down resistors are connected, and by combining the voltage levels [High / Low] (bootstrap) read as digital ports in the high-impedance state during boot, model discrimination may be performed. Also, instead of using the discrimination voltage, the control unit 111 may transmit the identification information (e.g., manufacturing number) of the refrigerator 100 to an external server 200 via the communication unit 103, and perform model discrimination by acquiring information indicating the model of the refrigerator 100 from the external server 200 as a response.
[0053] <A4.2 Software Commonization> Next, software commonization will be described. In this embodiment, in order to develop common control software SFA for a plurality of models, development is performed by dividing it into two types: control software SFA and parameter information PR. Here, the control software SFA describes a series of instructions and procedures. The parameter information PR is information that defines the set temperature (target temperature) of the storage chamber 30, the drive amount, drive time, and drive timing of electrical components such as the compressor 51 or the blower 52. In this way, by developing common control software SFA for a plurality of models and combining the parameter information PR for each model, refrigerators 100 with different capacities of each storage chamber and with various functions added / removed can be deployed for each model.
[0054] Figures 8 and 9 are diagrams for explaining the software processing in this embodiment. In Figure 8, refrigerator control software SFA is stored in the ROM 112. Also, parameter information PR is stored in the EEPROM 102.
[0055] When the refrigerator 100 is powered on, initialization processing starts, and initial values INIT of variables used for the control of the refrigerator 100 are prepared in the RAM 113 (see FIG. 9). The initial values INIT are prepared, for example, by the control of the control unit 111. As the initial values INIT, fixed values such as "0" may be used, or preset values may be read from the ROM 112 and prepared.
[0056] Next, parameter information PR stored in the EEPROM 102 is read by the control unit 111 and stored in the RAM 113 (see FIG. 8). The control unit 111 generates a variable VAR for refrigerator control for each model by combining (for example, adding) the initial value INIT stored in the RAM 113 and the parameter information PR (see FIG. 9). The refrigerator 100 is a home appliance that operates continuously for a long period. Therefore, the reading of the parameter information PR from the EEPROM 102 to the RAM 113 and the reflection on the variable VAR are performed periodically so that the control of the refrigerator 100 can continue even if the parameter information PR or the variable VAR on the RAM 113 is damaged unintentionally. Although the initial value INIT is shown as being on the RAM 113 in FIG. 9, the initial value INIT may be embedded in the ROM 112 in some cases.
[0057] <A4.3 Update Software> FIGS. 10 and 11 are diagrams for explaining the control software SFA and the parameter information PR. As shown in FIG. 2, in the lineup of the refrigerator 100, there are nine models (A600F, A550F, B600F, B550F, B500F, B450F, B550G, B500G, B450G). These models operate with common control software SFA and parameter information PR that varies depending on the model.
[0058] ]> In the example shown in FIG. 10, there are four versions of the common control software SFA, namely sv0 to sv3, for multiple models. In contrast, as shown in FIG. 11, the parameter information PR has seven versions, namely pv0 to pv6 (#01_pv0~#01_pv6, #02_pv0~#02_pv6, …, #09_pv0~#09_pv6), for each model. Here, the combination of the control software SFA and the parameter information PR is important. As shown in FIG. 11, for example, the parameter information #01_pv0 to #01_pv2 corresponding to versions 0 to 2 of model A600F operates on the control software sv0. Also, the parameter information #01_pv3 corresponding to version 3 of model A600F operates on the control software sv1.
[0059] <A5. Software Update Process> Next, the software update process of this embodiment will be described. Hereinafter, the case where the old control software SFA (control software SFA1) to be updated is updated to the new control software SFA (control software SFA2) for update, and the old parameter information PR (parameter information PR1) to be updated is updated to the new parameter information PR (parameter information PR2) for update will be described. Note that the old parameter information PR1 is the parameter information PR corresponding to the old control software SFA1 and is used in combination with the old control software SFA1. The new parameter information PR2 is the parameter information PR corresponding to the new control software SFA2 and is used in combination with the new control software SFA2.
[0060] In this embodiment, the update process is performed by switching bank BK of the dual-bank ROM 112. For example, old parameter information PR1 stored in EEPROM 102 can be updated by new parameter information PR2 which is acquired externally by the communication unit 103 and stored in bank BK of ROM 112. In this application, "acquired externally and stored in the ROM bank" includes, for example, the verification of the validity of the acquired information by the control unit 111 (e.g., signature verification (checking hash data using a public key)).
[0061] Figure 12 is a diagram illustrating the software update process of the first embodiment. In the example shown in Figure 12, bank BK1 of ROM112 is an example of the "first region". Bank BK0 of ROM112 is an example of the "second region". The new control software SFA2 is an example of the "first information". The old parameter information PR1 is an example of the "second information". The new parameter information PR2 is an example of the "third information".
[0062] Figure 12(a) shows, for example, the state of the ROM 112 of the refrigerator 100 at the time of shipment. Bank BK0 of ROM 112 stores the old control software SFA (control software SFA1) that is to be updated. On the other hand, bank BK1 of ROM 112 is empty. Furthermore, ROM 112 is set to the second configuration described above. That is, bank BK0 is set to the execution area GA, and bank BK1 is set to the download area NA. In addition, the EEPROM 102 of the refrigerator 100 (see Figure 4) stores the old parameter information PR (parameter information PR1) that is to be updated.
[0063] At this time, configuration information SI is registered in bank BK0. Configuration information SI is information that shows the correspondence between each port of the main microcontroller 110 and the destination to which that port is connected. For example, configuration information SI includes information such as port A of the main microcontroller 110 corresponds to the control circuit for the compressor 51, and port B of the main microcontroller 110 corresponds to the communication unit 103. With the settings made using the configuration information SI, the control unit 111 uses the control software SFA1 stored in bank BK0 of ROM 112 and the parameter information PR1 stored in EEPROM 102 and read out to RAM 113 to control the refrigerator 100 (for example, cooling control).
[0064] In this embodiment, when the update information SA (control software SFA2 and parameter information PR2) for the control software SFA and parameter information PR is registered on the server 200, the server 200 sends an update notification to the user U's terminal device 300. Upon receiving the update notification, user U sends permission to start the update to the server 200 by operating the terminal device 300. Upon receiving permission to start the update, the server 200 sends an update preparation notification for the control software SFA and parameter information PR to the refrigerator 100. Upon receiving the update preparation notification, the refrigerator 100 sends a download preparation complete notification to the server 200. This starts the update process for the control software SFA and parameter information PR.
[0065] Specifically, the download of the control software SFA2 begins first. The control unit 111 stores the control software SFA2, obtained from the server 200 by the communication unit 103, in bank BK1 of the ROM 112 (see (b) in Figure 12). At this time, the control unit 111 stores the setting information SI in bank BK1. That is, the same setting information SI is stored in both bank BK0 and bank BK1. The setting information SI may be obtained from an external source (e.g., the server 200) along with the control software SFA2, or it may be obtained from bank BK0. Alternatively, the setting information SI may be stored in bank BK1 in advance when the refrigerator 100 is shipped. In this embodiment, the process shown in (b) in Figure 12 is executed while the refrigerator 100 is being controlled (e.g., cooling control) using the control software SFA1 and parameter information PR1.
[0066] Next, the control unit 111 terminates processing using the old control software SFA1 and the old parameter information PR1. After that, it sets a predetermined flag for switching bank BK and resets (restarts) the main microcontroller 110. As a result, when the main microcontroller 110 restarts, bank BK0 and bank BK1 are switched (swapped) (see (c) in Figure 12). As a result, the ROM 112 is switched from the second mode to the first mode. That is, bank BK1 is set to the execution area GA, and bank BK0 is set to the download area NA.
[0067] In this embodiment, the control unit 111 switches from the second mode to the first mode, and after bank BK1 is set to execution area GA, it starts cooling control using the new control software SFA2 stored in bank BK1. At this time, the parameter information PR2 corresponding to the control software SFA2 has not yet been acquired. Therefore, the control software SFA2 starts cooling control by simplified control without using the parameter information PR2. Simplified control is inferior to the optimal control according to the model of the refrigerator 100, but it is a control that can perform a certain level of cooling required for the refrigerator 100. Simplified control is performed, for example, based on setting values (ROM values) included in setting information SI instead of parameter information PR2.
[0068] Note that simplified control using the control software SFA2 is not mandatory. For example, if the process proceeds immediately to step (f) in Figure 12, which will be described later, the start of cooling control in state (c) in Figure 12 may be omitted.
[0069] Next, the control unit 111 deletes the old control software SFA1 from bank BK0 of ROM 112. This frees up space in bank BK0 of ROM 112. Then, the control unit 111 sends a request signal to the server 200 requesting the download of new parameter information PR2. In this embodiment, the request signal includes model identification information indicating the model of the refrigerator 100 that is sending the request signal. When the server 200 receives the request signal, it sends the parameter information PR2 corresponding to the model indicated by the model identification information included in the request signal, and the EEPROM rewrite control software SFB to the refrigerator 100. The control unit 111 stores the parameter information PR2 and EEPROM rewrite control software SFB obtained from the server 200 by the communication unit 103 in bank BK0 of ROM 112 (see (d) in Figure 12).
[0070] Here, the EEPROM rewrite control software SFB (hereinafter simply referred to as "rewrite control software SFB") is software that executes the process of writing new parameter information PR2, obtained from an external source, to the EEPROM 102. In other words, the rewrite control software SFB is information (e.g., a program) that can be used to control the updating of the old parameter information PR1 stored in the EEPROM 102 with the new parameter information PR2. The rewrite control software SFB is executed by the control unit 111, which is a processor such as a CPU or MPU, to rewrite the old parameter information PR1 stored in the EEPROM 102 with the new parameter information PR2. The rewrite control software SFB is an example of "fourth information".
[0071] In this embodiment, the rewrite control software SFB is different depending on the version of the parameter information PR or the version of the control software SFA. For example, the rewrite control software SFB is software designed to match the version of the parameter information PR or the version of the control software SFA. In this embodiment, the rewrite control software SFB is managed as part of the update information SA of the server 200, associated with the corresponding version of the parameter information PR2 or the control software SFA2. The rewrite control software SFB, along with the new parameter information PR2, is acquired from an external source (e.g., the server 200) and stored in bank BK0 of the ROM 112.
[0072] Furthermore, a common rewrite control software SFB may be used as the rewrite control software SFB, which corresponds to multiple versions of parameter information PR and multiple versions of control software SFA. In this case, the rewrite control software SFB may be pre-stored in bank BK0 of ROM 112 when the refrigerator 100 is shipped.
[0073] Next, the control unit 111 terminates the simple control using the control software SFA2. After that, the control unit 111 sets a predetermined flag for switching the bank BK and resets (restarts) the main microcomputer 110. As a result, when the main microcomputer 110 restarts, the switching (replacement) between the bank BK0 and the bank BK1 is performed (see (e) in FIG. 12). Thereby, the ROM 112 is switched from the first mode to the second mode. That is, the bank BK0 is set as the execution area GA, and the bank BK1 is set as the download area NA. Then, the control unit 111 reads the new parameter information PR2 for update from the bank BK0 by executing the rewrite control software SFB stored in the bank BK0, and rewrites the old parameter information PR1 stored in the EEPROM 102 with the new parameter information PR2.
[0074] Next, the control unit 111 sets a predetermined flag for switching the bank BK and resets (restarts) the main microcomputer 110. As a result, when the main microcomputer 110 restarts, the switching (replacement) between the bank BK0 and the bank BK1 is performed (see (f) in FIG. 12). Thereby, the ROM 112 is switched from the second mode to the first mode. That is, the bank BK1 is set as the execution area GA, and the bank BK0 is set as the download area NA. Then, the control unit 111 reads the new parameter information PR2 stored in the EEPROM 102 into the RAM 113. Then, the control unit 111 starts the control (for example, cooling control) of the refrigerator 100 using the new control software SFA2 stored in the bank BK1 and the new parameter information PR2 read into the RAM 113.
[0075] <A6. Advantages> In recent years, the amount of information stored in the refrigerator 100 has been increasing. Therefore, it is expected to update information more appropriately (for example, more efficiently). On the other hand, in the refrigerator 100 using the dual bank ROM , the utilization rate of one bank BK of the dual bank ROM may be low.
[0076] In this embodiment, the refrigerator 100 includes a ROM 112 (first storage unit), an EEPROM 102 (second storage unit), a control unit 111 capable of controlling the functions of the refrigerator 100, and a communication unit 103 capable of acquiring information from the outside. The ROM 112 includes a bank BK1 (first region) and a bank BK0 (second region), and can be switched between at least two modes: a first mode in which information stored in bank BK1 is readable, while information stored in bank BK0 is not readable, and a second mode in which information stored in bank BK0 is readable (executable as a program), while information stored in bank BK1 is not readable (cannot be executed as a program). Control software SFA2 (first information) is stored in bank BK1. Old parameter information PR1 (second information) stored in the EEPROM 102 can be updated by new parameter information PR2 (third information) acquired from the outside by the communication unit 103 and stored in bank BK0.
[0077] With this configuration, the parameter information PR stored in the EEPROM 102 can be updated by making effective use of bank BK0 of the dual-bank ROM 112. This allows for more appropriate (for example, more efficient) information updates.
[0078] For example, with a dual-bank ROM configuration, development (debugging) is easier because either bank BK0 or bank BK1 operates independently. If this were done with a single ROM configuration, refrigerator control and information update processing would have to be performed simultaneously, requiring a significant amount of time and resources to verify that the update works correctly.
[0079] In this embodiment, the control software SFA2 (first information) is information that can be used for cooling control of the refrigerator 100. With this configuration, among the multiple banks BK of the dual bank ROM 112, the parameter information PR stored in the EEPROM 102 can be updated by effectively utilizing bank BK0, which is different from bank BK1 where the control software SFA2 used for cooling control is stored. This reduces the capacity required for bank BK1.
[0080] In this embodiment, bank BK0 (second region) stores not only parameter information PR2 (third information) but also rewrite control software SFB (fourth information) that can update old parameter information PR1 (second information) stored in EEPROM 102 (second memory unit) with new parameter information PR2 (third information). With this configuration, the capacity required for bank BK1 can be reduced compared to when the rewrite control software SFB is stored in bank BK1. Furthermore, by storing the rewrite control software SFB in bank BK0, the state in which the control software SFA2 used for cooling control is executed and the state in which the rewrite control software SFB is executed can be separated. As a result, two controls with completely different types and purposes—cooling control which requires stable operation over a long period and rewrite control which is executed only once—can be made separate and independent. This reduces the possibility of problems such as bugs and data loss occurring due to the simultaneous execution of the control software SFA2 and the rewrite control software SFB. In addition, it becomes possible to develop them as independent software, which can improve development efficiency.
[0081] In this embodiment, after the control unit 111 finishes the processing using the control software SFA2 (first information) stored in the bank BK1 (first area), it switches from the first mode to the second mode, updates the old parameter information PR1 (second information) stored in the EEPROM 102 (second storage unit) using the new parameter information PR2 (third information) stored in the bank BK0 (second area), and then switches from the second mode to the first mode and starts the processing using the control software SFA2 (first information) stored in the bank BK1 (first area). With such a configuration, the processing by the control software SFA2 and the update processing of the parameter information PR can be appropriately executed in order.
[0082] In this embodiment, the control unit 111 stores the new parameter information PR2 (third information) acquired from the outside by the communication unit 103 in the bank BK0 (second area) in the first mode, then switches from the first mode to the second mode, updates the old parameter information PR1 (second information) stored in the EEPROM 102 (second storage unit) using the new parameter information PR2 (third information) stored in the bank BK0 (second area), and then switches from the second mode to the first mode and starts the processing using the control software SFA2 (first information) stored in the bank BK1 (first area). With such a configuration, the processing by the control software SFA2 and the update processing of the parameter information PR can be appropriately executed in order.
[0083] In this embodiment, in the first mode, while the processing using the control software SFA2 (first information) stored in the bank BK1 (first area) is being executed by the control unit 111, the communication unit 103 acquires the new parameter information PR2 (third information) and stores it in the bank BK0 (second area). With such a configuration, even while performing the processing of acquiring the parameter information PR, it is possible to execute the control (for example, cooling control) using the control software SFA2.
[0084] <A7. Variation> Next, a modification example of the first embodiment will be described. The configurations other than those described below in each modification example are the same as those of the first embodiment.
[0085] <A7.1 First Modification Example> FIG. 13 is a diagram showing parameter information PR2' of the first modification example. In this modification example, the parameter information PR2' includes a plurality of parameter information PR (for example, parameter information #01_pv3 to #09_pv3) corresponding to a plurality of models.
[0086] FIG. 14 is a diagram for explaining the software update process of the first modification example. In this modification example, the control unit 111 acquires the parameter information PR2' from the outside (for example, the server 200) by the communication unit 103 and stores it in the bank BK0 (see (d) in FIG. 14). The parameter information PR2' is an example of the "third information".
[0087] Next, the control unit 111 switches the bank BK by resetting the main microcomputer 110 (see (e) in FIG. 14). In this modification example, the control unit 111 discriminates the model of the refrigerator 100 on which the control unit 111 is mounted based on the discrimination voltage obtained from the series connection of the resistors R1 and R2 and the resistors R3 and R4. For example, if the discrimination voltages are V1 = 0 [V] and V2 = 0 [V], the control unit 111 determines that it is the model A600F (see FIG. 2). Then, the control unit 111 selects the parameter information PR (the new parameter information PR2 corresponding to the discriminated model) corresponding to the discriminated model from the parameter information #01_pv3 to #09_pv3 for each model included in the parameter information PR2', and updates the old parameter information PR1 stored in the EEPROM 102 using the selected parameter information PR (parameter information PR2).
[0088] In this modification example, the parameter information PR2' includes the parameter information PR of all models. Therefore, the parameter information PR2' to be downloaded corresponds to all models. Thus, compared to the case where the individual parameter information PR is registered in the server 200 one by one (the case where the parameter information PR for each model is prepared separately and registered in the server 200 respectively), registration errors in the server 200 can be eliminated, and the verification work can be relatively simple. Also, by sharing the update software for updates, the human load and human errors can be kept low, contributing to suppressing an increase in development resources. Thereby, information can be updated more appropriately. In this modification example, by using the bank BK of the ROM 112, the parameter information PR2' of a large size that includes the parameter information PR of all models can be appropriately acquired and stored.
[0089] <A7.2 Second Modification Example> FIG. 15 is a diagram for explaining the software update process of the second modification example. In this modification example, when the control unit 111 acquires the new parameter information PR2 and stores it in the bank BK0, the communication unit 103 acquires the refrigerator simple control software SFA' from the outside (for example, the server 200) and stores it in the bank BK0 (see (d) in FIG. 15). The refrigerator simple control software SFA' is control software that is inferior to the control of the refrigerator 100 using the control software SFA but can execute a certain amount of cooling necessary for the refrigerator 100.
[0090] In this modification example, when a problem occurs in the cooling control using the new control software SFA2 (for example, when a predetermined condition is satisfied such as the temperature of the storage chamber 30 not decreasing), the control unit 111 sets a predetermined flag for switching the bank BK and resets (restarts) the main microcomputer 110. As a result, when the main microcomputer 110 restarts, the switching (replacement) between the bank BK0 and the bank BK1 is performed. That is, the bank BK0 is set in the execution area GA, and the bank BK1 is set in the download area NA. Then, the control unit 111 starts the cooling control using the refrigerator simple control software SFA' stored in the bank BK0. Further, the control unit 111 performs notification using the display device or the voice output device to notify that a problem has occurred in the cooling control using the new control software SFA2.
[0091] According to such a configuration, when a problem occurs in response to switching to the new control software SFA2, the control of the refrigerator 100 can be continued by another control software SFA'.
[0092] <A7.3 Third Modification Example> FIG. 16 is a diagram for explaining the software update process of the second modification example. (g) and (h) in FIG. 16 are processes following (a) to (f) in FIG. 12. That is, (d) to (f) in FIG. 16 are the same processes as (d) to (f) in FIG. 12.
[0093] <00??380>In this modified example, after starting cooling control using the new control software SFA2, the parameter information PR2 used for the update is deleted from bank BK0 of ROM 112. This frees up space in bank BK0 of ROM 112. The control unit 111 then sends a request signal to the server 200 requesting the download of the old control software SFA1. In this embodiment, the request signal includes model identification information indicating the model of the refrigerator 100 that is sending the request signal. Upon receiving the request signal, the server 200 sends the control software SFA1 corresponding to the model that matches the model identification information included in the request signal to the refrigerator 100. The control unit 111 stores the control software SFA1 obtained from the server 200 by the communication unit 103 in bank BK0 of ROM 112 (see (g) in Figure 16). In this embodiment, even when new parameter information PR2 is added to EEPROM 102, the old parameter information PR1 is not deleted and is retained.
[0094] In this embodiment, if a malfunction occurs in the cooling control using the new control software SFA2 (for example, if predetermined conditions are met, such as the temperature of the storage chamber 30 not decreasing), the control unit 111 sets a predetermined flag for switching bank BK and resets (restarts) the main microcontroller 110. As a result, when the main microcontroller 110 restarts, bank BK0 and bank BK1 are switched (swapped) (see (h) in Figure 16). That is, bank BK0 is set to the execution area GA, and bank BK1 is set to the download area NA. The control unit 111 then starts cooling control using the old control software SFA1 and the old parameter information PR1 stored in bank BK0. The control unit 111 also notifies the system that a malfunction has occurred in the cooling control using the new control software SFA2 using a display device or audio output device.
[0095] According to such a configuration, when a problem occurs in response to switching to the new control software SFA2, the control of the refrigerator 100 using the old control software SFA1 and the old parameter information PR1 can be continued.
[0096] <A7.4 Fourth Modification Example> In the first embodiment described above, even before the new parameter information PR2 is acquired, the simple control using the new control software SFA2 is started (see (c) in FIG. 12).
[0097] In this modification example, when the refrigerator 100 is in a predetermined unstable state in a state before the new parameter information PR2 (third information) is stored in the bank BK0 (second area) of the ROM112, the control unit 111 suppresses starting the simple control using the new control software SFA2 without the new parameter information PR2. For example, when the refrigerator 100 is in a predetermined unstable state, the control unit 111 does not perform the bank switching even after the new control software SFA2 is acquired, and continues the cooling control using the old control software SFA1 and the old parameter information PR1 in the state of (b) in FIG. 12.
[0098] On the other hand, when the refrigerator 100 is in a predetermined stable state in a state before the new parameter information PR2 (third information) is stored in the bank BK0 (second area) of the ROM112, the control unit 111 starts the simple control using the new control software SFA2 without the new parameter information PR2.
[0099] "When the refrigerator is in a predetermined unstable state" means a state where cooling of the refrigerator 100 is required. "When the refrigerator is in a predetermined unstable state" means, for example, when the rotational speed (operating frequency) of the compressor 51 is at or above a threshold value, when the temperature of the storage compartment 30 is at or above a threshold value higher than the target temperature, when it is within a threshold time since the door 20 was last closed, or when a special cooling control with a target temperature below the threshold value is being performed (for example, rapid cooling control, rapid ice-making control, special control that alternates between a low-temperature period and a high-temperature period, etc.).
[0100] "When the refrigerator is in a predetermined stable state" means a case other than the above unstable state. "When the refrigerator is in a predetermined stable state" means a state where cooling of the refrigerator 100 is not strongly required compared to the case when it is in the above unstable state. "When the refrigerator is in a predetermined stable state" means, for example, when the rotational speed (operating frequency) of the compressor 51 is below a threshold value, when the deviation between the temperature of the storage compartment 30 and the target temperature is below a threshold value, when a threshold time has elapsed since the door 20 was last closed, or when a special cooling control with a target temperature below the threshold value is not being performed.
[0101] According to such a configuration, when the refrigerator 100 is in a predetermined unstable state, instead of performing simple control using the new control software SFA2, the cooling control using the old control software SFA1 and the old parameter information PR1 is continued. Thereby, the inside of the storage compartment 30 can be cooled more reliably.
[0102] <A7.5 5th Modified Example> In the above-described first embodiment, when the old control software SFA1 is updated to the new control software SFA2 and the old parameter information PR1 is updated to the new parameter information PR2, regardless of the state of the refrigerator 100, the cooling control using the new control software SFA2 and the new parameter information PR2 is started (see (f) in FIG. 12).
[0103] In this modified example, when the old control software SFA1 is updated to the new control software SFA2 and the old parameter information PR1 is updated to the new parameter information PR2, if the refrigerator 100 is in a predetermined unstable state (for example, the predetermined unstable state described above), the control unit 111 suppresses the initiation of the first execution of cooling control using the new control software SFA2 and the new parameter information PR2. For example, if the refrigerator 100 is in a predetermined unstable state, the control unit 111 executes cooling control without using the new parameter information PR2. "Cooling control without using the new parameter information PR2" may be, for example, a simplified control using the new control software SFA2 described above, a simplified control using the refrigerator simplified control software SFA' described in the second modified example, or a cooling control using the old control software SFA1 and the old parameter information PR1 that have been saved separately without being erased.
[0104] On the other hand, when the old control software SFA1 is updated to the new control software SFA2 and the old parameter information PR1 is updated to the new parameter information PR2, and the refrigerator 100 is in a predetermined stable state (for example, the predetermined stable state described above), the control unit 111 starts the initial execution of cooling control using the new control software SFA2 and the new parameter information PR2.
[0105] With this configuration, when the refrigerator 100 is in a predetermined unstable state, instead of starting the initial execution of cooling control using the new control software SFA2 and the new parameter information PR2, the system starts executing cooling control without using the new parameter information PR2. This makes it possible to suppress malfunctions caused by the new parameter information PR2 while the refrigerator 100 is in a predetermined unstable state.
[0106] (B. Second Embodiment) Next, the second embodiment will be described. The second embodiment is different from the first embodiment in that the information stored in the non-volatile memory 122 is updated using the bank BK of the ROM 112. The configuration other than that described below is the same as that of the first embodiment.
[0107] <B1. Configuration of the control device> FIG. 17 is a block diagram showing the configuration of the control device 101 of the refrigerator 100 according to the second embodiment. In the present embodiment, the control device 101 has a sub-microcomputer 121 and a non-volatile memory 122 in addition to the configuration of the first embodiment. Hereinafter, for convenience of explanation, the sub-microcomputer 121 may be referred to as the "sub-microcontroller 121".
[0108] (Sub-microcomputer) The sub-microcontroller 121 is a functional unit that can control the auxiliary functions of the refrigerator 100. The auxiliary functions of the refrigerator 100 are functions other than the cooling function of the refrigerator 100. The auxiliary functions of the refrigerator 100 are a voice output function, a voice dialogue function, a video display function, or the like. The sub-microcontroller 121 executes the auxiliary function corresponding to the sub-microcontroller 121 by controlling the electrical components (electronic components) related to the sub-microcontroller 121. The sub-microcontroller 121 is an example of an "auxiliary control unit". On the other hand, the control unit 111 of the main microcomputer 110 is an example of a "main control unit". In the present embodiment, a control unit CU capable of controlling the functions of the refrigerator 100 is realized by the control unit 111 of the main microcomputer 110 and the sub-microcontroller 121.
[0109] (Non-volatile memory) The non-volatile memory 122 is a separate storage device located outside the main microcontroller 110. The non-volatile memory 122 is a non-volatile memory whose contents can be rewritten. The non-volatile memory 122 stores information S (hereinafter sometimes referred to as "special information S") related to the sub-functions of the refrigerator 100 controlled by the sub-microcontroller 121. The special information S is data (multimedia information) such as characters, still images, videos, and audio used for the voice output function, voice interaction function, or video display function. The special information S is, for example, information with a larger capacity than the control software SFA. The special information S is, for example, information with a larger capacity than one bank BK. The non-volatile memory 122 is an example of the "second storage unit" and the "second storage device". The non-volatile memory 122 is a storage unit under the control of the sub-microcontroller 121. On the other hand, the ROM 112 is a storage unit under the control of the control unit 111.
[0110] Special information S can be updated using the new special information S when new special information S is registered with server 200. For example, if there is voice data with a female voice as the old special information S (special information S1) corresponding to the voice output function, and voice data with a male voice is added as the new special information S (special information S2) corresponding to the voice output function, then the update can be updated using the new special information S.
[0111] Here, the control software SFA is information that can be used for continuous control of the refrigerator 100. In this application, "continuous control" is not limited to control in which operation is continuously performed at all times, but may include control in which operation is stopped when predetermined conditions are met (for example, when the temperature of the storage compartment 30 drops to a target temperature). "Continuous control" means, for example, control that is repeated according to the state of the refrigerator 100.
[0112] On the other hand, the special information S1 (second information) and the special information S2 (third information) are information that can be used for temporary control. In the present application, "temporary control" is control in which an operation is performed for a short period of time (e.g., less than 30 minutes) in response to a predetermined condition being satisfied. "Temporary control" is, for example, control that is performed only once in response to a predetermined condition being satisfied. "Temporary control" is, for example, control that is performed only once in response to a predetermined operation being performed by the user U.
[0113] <B2. Software update process> FIG. 18 is a diagram for explaining the software update process of the second embodiment. In the example described below, old special information S1 (see FIG. 17, for example, voice data by a female voice) is stored in the nonvolatile memory 122. The control unit 111 adds new special information S2 (see FIG. 17, for example, voice data by a male voice) to the nonvolatile memory 122. In this case, the control unit 111 sequentially acquires divided data SD (for example, four divided data SD1 to SD4) in which the new special information S2 is divided into a plurality of parts from the server 200 by the communication unit 103. Then, each time the control unit 111 acquires the divided data SD from the server 200, the newly acquired divided data SD is stored in the nonvolatile memory 122.
[0114] In other words, the update of the old special information S1 using the new special information S2 is performed in multiple processes. At this time, the control unit 111 switches the bank BK of the ROM 102 at least once during the above-described multiple processes, and causes the process using the control software SFA stored in the bank BK1 to be executed. The bank BK1 of the ROM 112 is an example of the "first area". The bank BK0 of the ROM 112 is an example of the "second area". The control software SFA is an example of the "first information". The old special information S1 is an example of the "second information". The new special information S2 is an example of the "third information".
[0115] Figure 18(a) shows the state of ROM112 after the control software SFA has been updated, for example, with the new control software SFA2. The old control software SFA1 is stored in bank BK0 of ROM112. Alternatively, bank BK0 of ROM112 may be empty. On the other hand, the new control software SFA2 is stored in bank BK1 of ROM112. Bank BK1 is set to the execution area GA, and bank BK0 is set to the download area NA. The control unit 111 is performing cooling control of the refrigerator 100 using the new control software SFA2.
[0116] In this embodiment, when new special information S2 is registered on the server 200, the server 200 sends an update notification to the user U's terminal device 300. Upon receiving the update notification, user U sends permission to start the update to the server 200 by operating the terminal device 300. Upon receiving permission to start the update, the server 200 sends an update preparation notification for the new special information S2 to the refrigerator 100. Upon receiving the update preparation notification, the refrigerator 100 sends a download preparation complete notification to the server 200. This starts the update process for the special information S1 stored in the non-volatile memory 122.
[0117] Specifically, the download of the first segment data SD1 of the special information S2 begins. The control unit 111 stores the first segment data SD1, which was obtained from the server 200 by the communication unit 103, in bank BK0 of the ROM 112 (see (b) in Figure 18).
[0118] In this embodiment, when the control unit 111 obtains the segmented data SD of special information S2 from the server 200, it obtains the write control software SFC corresponding to the segmented data SD from the server 200. The control unit 111 stores the write control software SFC obtained from the server 200 in bank BK0 of the ROM 112.
[0119] Here, the write control software SFC is software that executes the process of writing the segmented data SD of the special information S2 obtained from an external source to the non-volatile memory 122. In other words, the write control software SFC is information (e.g., a program) that can be used to control the updating of the old special information S1 stored in the non-volatile memory 122 using the segmented data SD. The write control software SFC is executed by the control unit 111 of the main microcontroller 110 and / or the sub-microcontroller 121 to update the old special information S1 stored in the non-volatile memory 122 using the new segmented data SD. The write control software SFC is an example of "fourth information".
[0120] In this embodiment, the write control software SFC is different software depending on each segmented data SD (for example, for each of the first to fourth segmented data SD1 to SD4). For example, the write control software SFC is software designed to match each segmented data SD (for example, for each of the first to fourth segmented data SD1 to SD4). In this embodiment, the write control software SFC is managed in association with the corresponding segmented data SD as part of the update information SB of the server 200 (see Figure 17). The write control software SFC, along with the corresponding segmented data SD, is acquired from an external source (for example, the server 200) and stored in bank BK0 of the ROM 112.
[0121] Furthermore, a common write control software SFC may be used as the write control software SFC, corresponding to all segmented data SDs (for example, the first to fourth segmented data SD1 to SD4). In this case, the write control software SFC may be acquired from an external source (for example, a server 200) at the time each segmented data SD (for example, each of the first to fourth segmented data SD1 to SD4) is acquired and stored in bank BK1 of ROM 112, or the write control software SFC stored in the first segmented data SD1 may be used continuously, or it may be pre-stored in bank BK1 of ROM 112 when the refrigerator 100 is shipped.
[0122] As described above, the control software SFA contains information that can be used for the continuous control of the refrigerator 100. On the other hand, the write control software SFC (fourth information) contains information that can be used for temporary control.
[0123] In this embodiment, the control unit 111 obtains the first segmented data SD1 of the special information S2 and the write control software SFC (first write control software SFC1) corresponding to the first segmented data SD1 from the server 200 via the communication unit 103 and stores them in bank BK0 of the ROM 112. The process of obtaining the first segmented data SD1 and the first write control software SFC1 from an external source and storing them in bank BK0 of the ROM 112 is performed, for example, while the refrigerator 100 is being controlled (e.g., cooling control) using the control software SFA2.
[0124] Next, the control unit 111 terminates the processing using the control software SFA2. After that, the control unit 111 sets a predetermined flag for switching bank BK and resets (restarts) the main microcontroller 110. As a result, when the main microcontroller 110 restarts, bank BK0 and bank BK1 are switched (swapped) (see (c) in Figure 18). This switches from the first mode to the second mode. That is, bank BK0 is set to the execution area GA, and bank BK1 is set to the download area NA.
[0125] Next, the control unit 111 performs control using the first write control software SFC1 stored in bank BK0, sending the divided data SD1 stored in bank BK0 to the sub-microcontroller 121, which then causes the sub-microcontroller 121 to store the divided data SD1 in the non-volatile memory 122.
[0126] Next, the control unit 111 sets a predetermined flag for switching bank BK and resets (restarts) the main microcontroller 110. As a result, when the main microcontroller 110 restarts, bank BK0 and bank BK1 are switched (swapped) (see (d) in Figure 18). This switches the system from the second mode to the first mode. That is, bank BK1 is set to the execution area GA, and bank BK0 is set to the download area NA.
[0127] Next, the control unit 111 starts cooling control using the control software SFA2 stored in bank BK1. Then, the control unit 111 deletes the first partitioned data SD1 and the first write control software SFC1 stored in bank BK0. Next, the control unit 111 obtains the second partitioned data SD2 of the special information S2 and the write control software SFC (second write control software SFC2) corresponding to the second partitioned data SD2 from the server 200 via the communication unit 103 and stores them in bank BK0 of ROM 112 (see (e) in Figure 18). Note that the process of obtaining the second partitioned data SD2 and the second write control software SFC2 from an external source and storing them in bank BK0 of ROM 112 is performed, for example, while the refrigerator 100 is being controlled (e.g., cooling control) using the control software SFA2.
[0128] Next, the control unit 111 terminates the processing using the control software SFA2. After that, the control unit 111 sets a predetermined flag for switching bank BK and resets (restarts) the main microcontroller 110. As a result, when the main microcontroller 110 restarts, bank BK0 and bank BK1 are switched (swapped) (see (f) in Figure 18). This switches from the first mode to the second mode. That is, bank BK0 is set to the execution area GA, and bank BK1 is set to the download area NA.
[0129] Next, the control unit 111 uses the second write control software SFC2 stored in bank BK0 to send the divided data SD2 stored in bank BK0 to the sub-microcontroller 121, which then stores the divided data SD2 in the non-volatile memory 122. The same process is then performed for all the divided data SD.
[0130] Figures 19, 20, and 22 to 24 illustrate the process by which the first to fourth partitioned data SDs are sequentially stored in the non-volatile memory 122. First, as shown in Figure 19, the control unit 111 obtains the first partitioned data SD1 and the first write control software SFC1 corresponding to the first partitioned data SD1 from the server 200 via the communication unit 103 and stores them in bank BK0 of the ROM 112. The process shown in Figure 19 corresponds to the process shown in (b) of Figure 18.
[0131] Next, as shown in Figure 20, the control unit 111 uses the first write control software SFC1 stored in bank BK0 of ROM 112 to transmit the first segmented data SD1 stored in bank BK0 of ROM 112 to the sub-microcontroller 121. The sub-microcontroller 121 stores the first segmented data SD1 received from the main microcontroller 110 in the non-volatile memory 122. The process shown in Figure 20 corresponds to the process shown in (c) in Figure 18.
[0132] Figure 21 is a timing chart illustrating the process of storing one segmented data SD (for example, the first segmented data SD1) in the non-volatile memory 122. After the completion of the process shown in Figure 19, the main microcontroller 110 performs a boot process (S101) and an initialization process (S102) to switch bank BK.
[0133] Next, the main microcontroller 110 sends an erase command to erase unnecessary information stored in the non-volatile memory 122 (S111). When the sub-microcontroller 121 receives the erase command from the main microcontroller 110, it erases the unnecessary information stored in the non-volatile memory 122 according to the erase command (S112). Once the erasure of the unnecessary information is complete, the sub-microcontroller 121 sends an erasure completion notification to the main microcontroller 110 (S113).
[0134] Next, the main microcontroller 110 sends the data to be written, which is the first divided data SD1 divided into write size units (page units), to the sub-microcontroller 121 (S121). When the sub-microcontroller 121 receives the data to be written from the main microcontroller 110, it writes the received data to be written to the non-volatile memory 122 (S122). Next, the sub-microcontroller 121 determines whether or not the written data to be written can be read from the non-volatile memory 122 without any problems (S123). If the written data to be written can be read from the non-volatile memory 122 without any problems, the sub-microcontroller 121 sends a verification result notification to the main microcontroller 110 indicating that the writing of the data to be written has been completed (S124). This process from S121 to S124 is repeated for the number of data to be written that has been divided into the above write size units.
[0135] Next, after all the data to be written by the sub-microcontroller 121 has been stored in the non-volatile memory 122, the main microcontroller 110 sets a predetermined flag for switching bank BK (S131) and restarts the main microcontroller 110 (S132). This completes the process of storing one segmented data SD (for example, the first segmented data SD1) in the non-volatile memory 122.
[0136] Next, as shown in Figure 22, the control unit 111 deletes the first partitioned data SD1 and the first write control software SFC1 from bank BK0 of ROM 112. Then, the control unit 111 obtains the second partitioned data SD2 and the second write control software SFC2 corresponding to the second partitioned data SD2 from the server 200 via the communication unit 103 and stores them in bank BK0 of ROM 112. The process shown in Figure 22 corresponds to the process shown in (e) in Figure 18.
[0137] Next, as shown in Figure 23, the control unit 111 uses the second write control software SFC2 stored in bank BK0 of ROM 112 to transmit the second segmented data SD2 stored in bank BK0 of ROM 112 to the sub-microcontroller 121. The sub-microcontroller 121 stores the second segmented data SD2 received from the main microcontroller 110 in the non-volatile memory 122. The process shown in Figure 23 corresponds to the process shown in (f) in Figure 18.
[0138] Next, the control unit 111 similarly deletes the second segmented data SD2 and the second write control software SFC2 from bank BK0 of ROM 112. Then, the control unit 111 obtains the third segmented data SD3 and the third write control software SFC3 corresponding to the third segmented data SD3 from the server 200 via the communication unit 103 and stores them in bank BK0 of ROM 112. Then, the control unit 111 uses the third write control software SFC3 stored in bank BK0 of ROM 112 to transmit the third segmented data SD3 stored in bank BK0 of ROM 112 to the sub-microcontroller 121. The sub-microcontroller 121 stores the third segmented data SD3 received from the main microcontroller 110 in the non-volatile memory 122.
[0139] Next, as shown in Figure 24, the control unit 111 deletes the third segmented data SD3 and the third write control software SFC3 from bank BK0 of ROM 112. Then, the control unit 111 obtains the fourth segmented data SD4 and the fourth write control software SFC4 corresponding to the fourth segmented data SD4 from the server 200 via the communication unit 103 and stores them in bank BK0 of ROM 112. Then, as shown in Figure 25, the control unit 111 uses the fourth write control software SFC4 stored in bank BK0 of ROM 112 to transmit the fourth segmented data SD4 stored in bank BK0 of ROM 112 to the sub-microcontroller 121. The sub-microcontroller 121 stores the fourth segmented data SD4 received from the main microcontroller 110 in the non-volatile memory 122.
[0140] As described above, in this embodiment, updating the old special information S1 with the new special information S2 (third information) is performed in multiple processes. The control unit 111 switches the ROM 112 from the second mode to the first mode at least once during the multiple processes and executes processing using the first information stored in bank BK1 (for example, refrigeration control using the control software SFA). With this configuration, large-capacity data update processing can be performed appropriately, and processing using the first information can be performed during the large-capacity data update processing.
[0141] Here, the non-volatile memory 122 needs to process erase and write operations in batches. For example, if data is divided into erase size (64KB) increments, and the capacity of the special information S is 6MB, then 96 download data sets need to be prepared. Performing verification on the sub-microcontroller 121 requires 64KB or more of ROM or RAM. Managing this on the server 200 is also difficult (registering 96 data sets), and it could increase the cost of the sub-microcontroller 121. On the other hand, in this embodiment, the divided data SD is obtained using the ROM 112 of the main microcontroller 110. Therefore, fewer divisions are needed. Also, verifying whether the data was received correctly from the server 200 is performed early on (in an upstream process such as the main microcontroller 110) during the post-download verification (signature verification) process, which simplifies subsequent processing (downstream processes such as the sub-microcontroller 121).
[0142] In this embodiment, the control software SFA (first information) is information that can be used for continuous control of the refrigerator 100. The special information S1 (second information) is information that can be used for temporary control. With this configuration, the update process for the information that can be used for temporary control can be performed by making effective use of bank BK of the dual bank ROM 112. This makes it possible to update the information more appropriately (for example, more efficiently).
[0143] In this embodiment, the control unit CU includes a control unit 111 (main control unit) of the main microcomputer 110 and a sub-microcomputer 121 (sub-control unit). The ROM 112 (first storage unit) is under the control of the control unit 111 of the main microcomputer 110. The non-volatile memory 122 (second storage unit) is under the control of the sub-microcomputer 121. When the control unit 111 of the main microcomputer 110 updates the old special information S1 (second information) stored in the non-volatile memory 122 with the new special information S2 (third information), the new special information S is read from the bank BK0 (second area) of the ROM 112 and transmitted to the sub-microcomputer 121. According to such a configuration, the update of the information in the storage unit under the management of the sub-microcomputer 121 can be performed by effectively utilizing the bank BK of the dual-bank ROM 112. Thereby, the information can be updated more appropriately (for example, more efficiently).
[0144] (Third Embodiment) Next, the third embodiment will be described. The third embodiment is different from the second embodiment in that the software in the sub-microcomputer 121 is updated using the bank BK of the ROM 112. The configuration other than that described below is the same as that of the second embodiment.
[0145] <C1. Configuration of Control Device> FIG. 26 is a block diagram showing the configuration of the control device 101 of the refrigerator 100 according to the third embodiment. In this embodiment, the sub-microcomputer 121 includes a control unit 131, a ROM 132, and a RAM 133.
[0146] The control unit 131 is a functional unit that can control the functions corresponding to the sub-microcomputer 121. The control unit 131 is realized, for example, by a processor such as a CPU or MPU executing software (control software SFD). The sub-microcomputer 121 controls, for example, the operation unit 104, the display unit 105, the automatic door opening function, or the inverter included in the power supply circuit.
[0147] The ROM 132 is a non-volatile memory unit provided within the sub-microcomputer 121. The information stored in the ROM 132 is retained even when the power supply of the refrigerator 100 is turned off. The ROM 132 is electrically rewritable multiple times. Note that instead of being provided within the sub-microcomputer 121, the ROM 132 may be mounted on a substrate as a separate component from within the sub-microcomputer 121. The ROM 132 is an example of the "second storage unit" and the "second storage device".
[0148] The ROM 132 includes an execution area GA and a download area NA. In the execution area GA, control software SFD used for controlling the sub-microcomputer 121 is stored. The control unit 131 performs control related to the sub-microcomputer 121 using the control software SFD stored in the bank BK of the ROM 133.
[0149] <C2. Software Update Process> Figures 27 to 29 are diagrams for explaining the software update process of the third embodiment. In the example described below, old control software SFD (control software SFD1) is stored in the ROM 132 of the sub-microcomputer 121. The old control software SFD1 is an example of the "second information". In the server 200, new control software SFD (control software SFD2) exists. The new control software SFD2 is an example of the "third information". The bank BK1 of the ROM 112 is an example of the "first area". The bank BK0 of the ROM 112 is an example of the "second area".
[0150] First, as shown in Figure 27, the control unit 111 of the main microcontroller 110, when new control software SFD2 for the sub-microcontroller 121 is available on the server 200, retrieves the new control software SFD2 from the server 200 via the communication unit 103 and stores the retrieved control software SFD2 in bank BK0 of ROM 112. At this time, bank BK1 of ROM 112 is set to the execution area GA, and bank BK0 of ROM 112 is set to the download area NA. In this embodiment, the process of retrieving the new control software SFD2 from the server 200 and storing it in bank BK0 of ROM 112 is performed while the control unit 111 of the main microcontroller 110 is executing control using the control software SFA stored in bank BK1 of ROM 112.
[0151] In this embodiment, when the control unit 111 obtains the control software SFD2 for the sub-microcontroller 121 from the server 200, it obtains the write control software SFE corresponding to the control software SFD2 from the server 200. The control unit 111 stores the write control software SFE obtained from the server 200 in bank BK0 of the ROM 112.
[0152] Here, the write control software SFE is software that executes the process of writing the control software SFD2, which is obtained from an external source, to the ROM 132 of the sub-microcontroller 121. In other words, the write control software SFE is information (e.g., a program) that can be used for control to update the old control software SFD1 stored in the ROM 132 of the sub-microcontroller 121 with the new control software SFD2. The write control software SFE is executed by the control unit 111 of the main microcontroller 110 and / or the control unit 131 of the sub-microcontroller 121, thereby updating the old control software SFD1 stored in the sub-microcontroller 121 with the new control software SFD2. The write control software SFE is an example of "fourth information". The write control software SFE (fourth information) is information that can be used for temporary control.
[0153] In this embodiment, the write control software SFE is different depending on the type of sub-microcontroller 121 to be updated, the model of the sub-microcontroller 121 to be updated, or the version of the control software SFD. For example, the write control software SFE is software designed to match the type of sub-microcontroller 121 to be updated, the model of the sub-microcontroller 121 to be updated, or the version of the control software SFD. In this embodiment, the write control software SFE is managed in association with the corresponding control software SFD2 as part of the update information SC (see Figure 26) of the server 200. The write control software SFE, together with the corresponding control software SFD2, is acquired from an external source (e.g., the server 200) and stored in bank BK0 of the ROM 112.
[0154] Furthermore, a common write control software SFE may be used as the write control software SFE, which is compatible with multiple types of sub-microcontrollers 121, multiple models of sub-microcontrollers 121, and / or multiple versions of the control software SFD. In this case, the write control software SFE may be pre-stored in bank BK0 of ROM 112 when the refrigerator 100 is shipped.
[0155] Next, as shown in Figure 28, the control unit 111 of the main microcontroller 110 switches the bank BK of ROM 112, setting bank BK1 of ROM 112 to the download area NA and bank BK0 of ROM 112 to the execution area GA. Then, the control unit 111 of the main microcontroller 110 reads the control software SFD2 stored in bank BK0 of ROM 112 using the control software SFD stored in bank BK0 of ROM 112, and transmits the read control software SFD2 to the sub-microcontroller 121. The control unit 131 of the sub-microcontroller 121 stores the control software SFD2 received from the main microcontroller 110 in the download area NA of ROM 132.
[0156] Next, as shown in FIG. 29, the control unit 131 of the sub-microcomputer 121 terminates the processing using the control software SFD1. Next, the control unit 131 deletes the control software SFD1 from the execution area GA of the ROM 132. Next, the control unit 131 stores the new control software SFD2 stored in the execution area GA of the ROM 132 in the execution area GA. Then, the control unit 131 starts the control using the control software SFD2 stored in the execution area GA.
[0157] <C3. Advantages> According to such a configuration, the information used for the control of the sub-microcomputer 121 can be effectively utilized by making good use of the bank BK of the dual-bank ROM 112. As a result, the information can be updated more appropriately (for example, more efficiently).
[0158] <C4. Modification Example> FIG. 30 is a diagram for explaining the software update process of the modification example of the third embodiment. In this modification example, the control device 101 has a plurality of sub-microcomputers 121 (the first sub-microcomputer 121A and the second sub-microcomputer 121B). Each of the plurality of sub-microcomputers 121 includes a control unit 131, a ROM 132, and a RAM 133.
[0159] In this modification example, when the new control software SDF2 (control software SDF2A) for the first sub-microcomputer 121A and the new control software SFD (control software SDF2B) for the second sub-microcomputer 121B exist in the server 200, the control unit 111 of the main microcomputer 110 acquires the new control software SFD2A and SFD2B from the server 200 through the communication unit 103, and stores the acquired control software SFD2 and SFD2B in the bank BK0 of the ROM 112.
[0160] In this embodiment, when the control unit 111 obtains the control software SFD2A for the first sub-microcontroller 121A from the server 200, it obtains the write control software SFE (write control software SFEA) corresponding to the first control software SFD2A from the server 200. The control unit 111 stores the write control software SFEA obtained from the server 200 in bank BK0 of ROM 112. Also, when the control unit 111 obtains the control software SFD2B for the second sub-microcontroller 121B from the server 200, it obtains the write control software SFE (write control software SFEB) corresponding to the second control software SFD2B from the server 200. The control unit 111 stores the write control software SFEB obtained from the server 200 in bank BK0 of ROM 112. Subsequent processing is the same as in the third embodiment described above.
[0161] With this configuration, multiple control software SFD2 programs for multiple sub-microcontrollers 121 can be implemented by effectively utilizing bank BK of the dual-bank ROM 112. This allows for more appropriate (e.g., more efficient) information updates.
[0162] Several embodiments have been described above. However, the embodiments are not limited to the examples described above. For example, two or more embodiments and variations described above may be implemented in combination with each other.
[0163] The parameter information PR may differ depending on the functions of the refrigerator 100. For example, when a function on the control software SFA side is enabled, the control unit 111 writes function information (functions assigned to the refrigerator 100 at that time (functions whose use is not restricted)) using an area other than the parameters in the EEPROM 102. The server 200 provides update software (update information SA) which includes the rewrite control software SFB and parameter information PR for realizing all functions that can be assigned to the refrigerator 100. When the control unit 111 switches control to the rewrite control software SFB by rollback, it reads the above function information stored in the EEPROM 102. Then, the control unit 111 sets the parameter information PR for realizing the corresponding function from among the multiple parameter information PR for realizing all functions that can be assigned to the refrigerator 100 in the EEPROM 102. This reflects the parameter information PR corresponding to each function in the EEPROM 102, and the control unit can return to refrigerator control by rollback.
[0164] Furthermore, update software (update information SA) may be provided, for example, which includes rewrite control software SFB and multiple parameter information PR corresponding to the external environment of the location where the refrigerator 100 is installed, such as season (summer (high temperature and high humidity compatible), rainy season (high humidity compatible), winter (low temperature and low humidity compatible)), region (Hokkaido, Okinawa, Sea of Japan side, Pacific side, Ogasawara Islands), and topography (plains, highlands, coastal areas). For example, when the control unit 111 enables a function on the control software SFA side, it can write seasonal and regional information using an area other than the parameters of the EEPROM 102, thereby setting parameter information PR according to the combination of season, region, and topography, and controlling the refrigerator 100.
[0165] According to at least one embodiment described above, the refrigerator comprises a first storage unit, a second storage unit, a control unit capable of controlling the functions of the refrigerator, and a communication unit capable of acquiring information from the outside. The first storage unit includes a first area and a second area, and is at least switchable between a first mode in which information stored in the first area is readable while information stored in the second area is not readable, and a second mode in which information stored in the second area is readable while information stored in the first area is not readable. First information is stored in the first area. The second information stored in the second storage unit is updateable by third information acquired from the outside by the communication unit and stored in the second area. With such a configuration, it is possible to provide a refrigerator that can update information more appropriately.
[0166] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of symbols]
[0167] 100... Refrigerator 102...EEPROM (Second Memory Unit) 103... Communications Department 110... Main microcontroller 111... Control Unit (Main Control Unit) 112...ROM (1st memory) 113...RAM BK1…Bank 1 BK2...Bank 2 CU…Control Unit 121, 121A, 121B... Sub-microcontrollers 122...Non-volatile memory (second memory unit) 131... Control unit of the sub-microcontroller 132... ROM (second memory unit) of the sub-microcontroller 133... RAM of the sub-microcontroller 200... Server
Claims
1. It is a refrigerator, First memory unit and, The second memory unit, A control unit capable of controlling the functions of the refrigerator, A communications unit capable of acquiring information from external sources, Equipped with, The first storage unit includes a first area and a second area, and is at least switchable between a first mode in which information stored in the first area is readable while information stored in the second area is not readable, and a second mode in which information stored in the second area is readable while information stored in the first area is not readable. The first region stores the first information, The second information stored in the second memory unit is updateable by the third information acquired from the outside by the communication unit and stored in the second area. refrigerator.
2. In addition to the third information, the second region stores fourth information that can be used for control to update the second information stored in the second storage unit using the third information. The refrigerator according to claim 1.
3. The control unit, after completing processing using the first information stored in the first area, switches from the first mode to the second mode, updates the second information stored in the second storage unit using the third information stored in the second area, then switches from the second mode to the first mode, and starts processing using the first information stored in the first area. A refrigerator according to claim 1 or claim 2.
4. The control unit, while the first storage unit is in the first mode, stores the third information acquired from the outside by the communication unit in the second area, then switches from the first mode to the second mode, updates the second information stored in the second storage unit using the third information stored in the second area, then switches from the second mode to the first mode, and starts processing using the first information stored in the first area. A refrigerator according to claim 1 or claim 2.
5. The first information is information that can be used for cooling control of the refrigerator. A refrigerator according to claim 1 or claim 2.
6. The third information is information that can be combined with the first information to be used for the cooling control, In the state before the third information is stored in the second area, The control unit, If the refrigerator is in a predetermined unstable state, the start of the cooling control using the first information without the third information is suppressed. If the refrigerator is in a predetermined stable state, the cooling control using the first information without the third information is started. The refrigerator according to claim 5.
7. The control unit, If the second information is updated by the third information, If the refrigerator is in a predetermined unstable state, the initial execution of the cooling control using the first information and the third information is suppressed. If the refrigerator is in a predetermined stable state, the first execution of the cooling control using the first information and the third information is started. The refrigerator according to claim 5.
8. The updating of the second information using the third information is carried out in multiple processes. The control unit switches from the second mode to the first mode at least once during the multiple processing cycles and executes processing using the first information stored in the first area. A refrigerator according to claim 1 or claim 2.
9. The aforementioned first information is information that can be used for control common to multiple models, The second information is information that varies depending on the model, function, season, or external environment of the location where the refrigerator is installed, and can be combined with the first information to be used for controlling the refrigerator. A refrigerator according to claim 1 or claim 2.
10. The first information is information that can be used for continuous control of the refrigerator, The second piece of information is information that can be used for temporary control. A refrigerator according to claim 1 or claim 2.
11. The control unit includes a main control unit and a sub-control unit, The first storage unit is under the control of the main control unit, The second storage unit is under the control of the sub-control unit, When the main control unit updates the second information stored in the second storage unit with the third information, it reads the third information from the second area and transmits it to the sub-control unit. A refrigerator according to claim 1 or claim 2.
12. It is a refrigerator, Memory unit and, A control unit capable of controlling the functions of the refrigerator, A communications unit capable of acquiring information from external sources, Equipped with, The storage unit includes a first area and a second area, and is at least switchable between a first mode in which information stored in the first area is readable while information stored in the second area is not readable, and a second mode in which information stored in the second area is readable while information stored in the first area is not readable. The first region stores information that can be used for continuous control of the refrigerator. The second region stores information that can be used for temporary control. The control unit, after terminating the continuous control, switches from the first mode to the second mode, executes the temporary control, and then switches from the second mode to the first mode and starts the continuous control. refrigerator.