Camera, accessory device, communication control method, and program
Patent Information
- Application Number
- JP2022182013
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2025-11-14
AI Technical Summary
The existing camera systems face delays in P2P communication with accessory devices due to the need for specifying communication partners and switching communication methods, which can be further delayed by processing minor errors, leading to inefficient data transfer.
A camera system with a notification channel and data communication channel that allows for simultaneous and individual communication with accessory devices, using broadcast and P2P methods, and adapts communication error processing based on error type.
This approach enhances communication efficiency between cameras and accessory devices by reducing communication delays and improving data transfer speeds through optimized partner selection and error handling.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a communication control technique between an imaging device (hereinafter referred to as a camera) and an accessory device attached thereto. [Background technology]
[0002] A camera and accessory devices such as interchangeable lenses and intermediate adapters communicate with each other to operate as a camera system. Patent Document 1 discloses a camera system capable of broadcast communication, in which the camera communicates with multiple accessory devices all at once, and P2P communication, in which the camera designates a specific accessory device and communicates with this specific accessory device individually. By using these communication methods, the camera can communicate with any accessory device even when multiple accessory devices are attached to the camera. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6427287 Summary of the Invention [Problem to be solved by the invention]
[0004] In the camera system disclosed in Patent Document 1, in order for the camera to perform P2P communication with a specific accessory device, a procedure is required in which communication is first performed to specify the specific accessory device, and then communication is performed to switch the communication method and communication direction. For this reason, other communications take longer than the P2P communication itself. As a result, in order to ensure communication between the camera and the specific accessory device at the desired timing, it is necessary to limit communication with other accessory devices or reduce the frequency of communication with the specific accessory device.
[0005] Furthermore, if it takes time to process a minor error that does not cause a breakdown in P2P communication operations, communication with a specific accessory device at a desired timing will be further delayed.
[0006] The present invention provides a camera and an accessory device that are capable of achieving good communication between the camera and the accessory device by efficiently performing data communication between the camera and the accessory device. [Means for solving the problem]
[0007] A camera as one aspect of the present invention is a camera that can be used with multiple accessory devices connected, and has a camera control unit that controls communication with the multiple accessory devices using a notification channel used for notification between the multiple accessory devices and a data communication channel used for data communication between the multiple accessory devices, and the camera control unit is capable of performing a first communication for simultaneous communication with the multiple accessory devices and a second communication for individual communication with a specific accessory device among the multiple accessory devices using the data communication channel, and is characterized in that when switching between specific accessory devices in a predetermined order to perform the second communication, if an error is detected based on information used for error detection included in the data packet, the content of the communication error processing is changed depending on the type of error. Effect of the Invention
[0008] According to the present invention, efficient data communication can be performed between a camera and an accessory device, thereby realizing good communication between the camera and the accessory device. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing a configuration of a camera system according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing a communication circuit in the camera system of the first embodiment. [Diagram 3] FIG. 4 is a diagram showing a format of data transmitted and received in the first embodiment. [Figure 4] FIG. 4 is a diagram showing a signal waveform of broadcast communication in the first embodiment. [Diagram 5] FIG. 4 is a diagram showing signal waveforms of the designated communication in the first embodiment. [Figure 6] FIG. 4 is a diagram showing signal waveforms when switching communication methods in the first embodiment. [Figure 7] 11 is a flowchart showing a broadcast communication process in the first embodiment. [Figure 8] 11 is a flowchart showing a destination-specified communication process in the first embodiment. [Figure 9] FIG. 4 is a diagram showing signal waveforms of time division communication in the first embodiment. [Figure 10] 4 is a flowchart showing a time division communication process in the first embodiment. [Figure 11] FIG. 4 is a diagram showing signal waveforms when the communication method is switched to time division communication in the first embodiment. [Figure 12] 5A to 5C are diagrams illustrating characteristic information that the camera receives from an accessory in the first embodiment. [Figure 13] FIG. 11 is a diagram showing setting information of time division communication determined based on characteristic information in the first embodiment. [Figure 14] 5 is a flowchart showing a process of switching the initial communication and communication method for time division communication in the first embodiment. [Figure 15] FIG. 4 is a diagram showing an internal structure of a data packet in the first embodiment. [Figure 16] FIG. 11 is a diagram showing a signal waveform of a data packet determined before time division communication in the first embodiment. [Figure 17] 11A and 11B are diagrams showing setting information of time division communication before and after a change in the first embodiment. [Figure 18] FIG. 11 is a diagram showing a signal waveform of setting information after change in the first embodiment. [Figure 19] 6 is a flowchart showing a process of switching the configuration of a data packet during time division communication in the first embodiment. [Figure 20] 13A and 13B are diagrams illustrating characteristic information that the camera receives from an accessory in the second embodiment. [Figure 21]11 is a flowchart showing a data packet size determination process according to the second embodiment. [Figure 22] FIG. 11 is a diagram showing a flow of determining a data packet size in the second embodiment. [Figure 23] FIG. 11 is a diagram showing setting information of time division communication determined based on characteristic information in the second embodiment. [Figure 24] 13A and 13B are diagrams illustrating characteristic information that the camera receives from an accessory in the third embodiment. [Diagram 25] 13 is a flowchart showing a data packet size determination process according to the third embodiment. [Figure 26] FIG. 11 is a diagram showing a flow of determining a data packet size in the third embodiment. [Figure 27] FIG. 11 is a diagram showing setting information for time division communication determined based on characteristic information in the third embodiment. [Figure 28] 11 is a flowchart showing a process of dividing and transmitting data during time division communication in the third embodiment. [Figure 29] 11 is a flowchart showing a process of dividing and receiving data during time division communication in the third embodiment. [Diagram 30] 13 is a diagram showing a communication process when a checksum error is included in a periodic command in the fourth embodiment. [Diagram 31] 13 is a diagram showing a communication process when a checksum error is included in a non-periodic command in the fourth embodiment. [Figure 32A] 13 is a flowchart showing an analysis process of a received data packet executed by a camera microcomputer in the fourth embodiment. [Figure 32B] 13 is a flowchart showing a process of analyzing a received data packet executed by a lens microcomputer in the fourth embodiment. [Diagram 33] FIG. 13 is a diagram showing a process when an abnormality occurs in the destination of a data packet in the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. EXAMPLES
[0011] FIG. 1 shows a camera system according to a first embodiment of the present invention. The camera system includes a camera (imaging device) 200, an interchangeable lens 100, and an intermediate adapter 300 attached between the camera 200 and the interchangeable lens 100. The interchangeable lens 100 and the intermediate adapter 300 correspond to accessory devices connected to the camera 200 that can be used in a state in which multiple accessory devices are connected (attached). The attachment to the camera 200 mentioned here includes not only direct connection to the camera 200, but also indirect connection via an accessory device such as the intermediate adapter 300. Furthermore, it is sufficient that the camera 200 is connected so as to be able to communicate with the camera 200. Note that multiple intermediate adapters may be attached between the camera 200 and the interchangeable lens 100.
[0012] Control commands and internal information are communicated between the camera 200 and the interchangeable lens 100 and the intermediate adapter 300 via the communication units that each of them has. Communication (first communication) by a broadcast communication method and communication (second communication) by a P2P communication method are performed between the camera 200, the interchangeable lens 100, and the intermediate adapter 300.
[0013] The broadcast communication method is a method for one-to-many communication (broadcast communication) in which data is transmitted simultaneously from the camera 200 as a communication master to each accessory device as a communication slave. In the following description, communication using the broadcast communication method is referred to as broadcast communication. The P2P communication method is a method in which the camera 200 as a communication master communicates one-to-one with one accessory device as a communication slave (specific accessory device) as a communication partner.
[0014] P2P communication methods include a communication method that requires the camera 200 to specify a communication partner each time it switches the communication partner, and a communication method that does not require the specification of a communication partner and switches the communication partner with the camera 200 in a predetermined order. In the following explanation, communication using a communication method that requires the specification of a communication partner is called "partner-specified communication," and communication using a communication method in which the communication partner is switched in order is called "time-division communication." These partner-specified communication and time-division communication are collectively called P2P communication.
[0015] When performing partner-designated communication, the camera 200 transmits information indicating (designating) the communication partner to each accessory device by broadcast communication. When performing time-division communication, the camera 200 transmits information such as the order of the accessory devices to be communication partners and the communication direction to each accessory device by broadcast communication.
[0016] At the timing when P2P communication is started, each accessory device has been notified of the communication partner of camera 200. Therefore, in P2P communication, camera 200 does not need to transmit information for identifying the communication partner to each accessory device. In this way, by identifying the communication partner with camera 200 by broadcast communication and then transitioning to P2P communication with that communication partner, the communication speed in P2P communication can be improved.
[0017] In partner-specified communication, it is necessary to specify the next communication partner by broadcast communication every time the communication partner is switched, but the camera 200 can select any communication partner depending on the situation. On the other hand, in time-division communication, the timing for switching the communication partner and communication direction is predetermined, so although there is less freedom in selecting a communication partner compared to partner-specified communication, the time required to specify a communication partner can be reduced, and the communication speed can be further improved. <Camera system configuration> The intermediate adapter 300 is mechanically and electrically connected to the camera 200 via a mount 401, which is a coupling mechanism. The intermediate adapter 300 receives power from the camera 200 via a power terminal (not shown) provided on the mount 401, and operates an adapter microcomputer (hereinafter referred to as the adapter microcomputer) 302, which serves as an accessory control unit.
[0018] The interchangeable lens 100 is mechanically and electrically connected to the intermediate adapter 300 via a mount 400, which is a coupling mechanism. The interchangeable lens 100 receives power from the camera 200 via a power terminal (not shown) provided on the mount 400 and a power terminal provided on the mount 401 described above. The interchangeable lens 100 that receives power from the camera 200 operates various actuators and a lens microcomputer (hereinafter referred to as a lens microcomputer) 111, which will be described later. In addition, the interchangeable lens 100, the intermediate adapter 300, and the camera 200 communicate with each other via communication terminals (which will be described later) provided on the mount 400 and the mount 401.
[0019] The interchangeable lens 100 has an imaging optical system that includes, in order from the subject OBJ side, a field lens 101, a variable magnification lens 102 that changes the magnification, an aperture unit 114 that adjusts the amount of light, a correction lens 103 that corrects image shake, and a focus lens 104 that adjusts the focus.
[0020] The variable magnification lens 102 and the focus lens 104 are held by lens holding frames 105 and 106, respectively. The lens holding frames 105 and 106 are guided by guide shafts (not shown) so as to be movable in the optical axis direction indicated by the dashed line in the figure, and are driven in the optical axis direction by stepping motors 107 and 108, respectively. The stepping motors 107 and 108 move the variable magnification lens 102 and the focus lens 104, respectively, in synchronization with drive pulses.
[0021] The correction lens 103 reduces (corrects) image blur caused by camera shake such as hand shake by moving in a direction perpendicular to the optical axis of the imaging optical system.
[0022] The lens microcomputer 111 serving as an accessory control unit is an accessory control means that controls the operation of each unit in the interchangeable lens 100. The lens microcomputer 111 receives a control command transmitted from the camera 200 via a lens communication unit 112 serving as an accessory communication unit, and receives a request to transmit lens data. The lens microcomputer 111 also performs lens control corresponding to the control command, and transmits lens data corresponding to the transmission request to the camera 200 via the lens communication unit 112.
[0023] Furthermore, in response to a command related to magnification change or focusing among the control commands, the lens microcomputer 111 outputs a drive signal to a zoom drive circuit 119 and a focus drive circuit 120 to drive the stepping motors 107 and 108. This performs a zoom process that controls the magnification change operation by the variable magnification lens 102 and an autofocus process that controls the focus adjustment operation by the focus lens 104.
[0024] The aperture unit 114 has aperture blades 114a and 114b. The positions of the aperture blades 114a and 114b are detected by a Hall element 115 and input to the lens microcomputer 111 via an amplifier circuit 122 and an A / D conversion circuit 123. The lens microcomputer 111 outputs a drive signal to an aperture drive circuit 121 based on an input signal from the A / D conversion circuit 123 to drive the aperture actuator 113. This controls the light amount adjustment operation by the aperture unit 114.
[0025] Furthermore, the lens microcomputer 111 drives an anti-vibration actuator 126 via an anti-vibration drive circuit 125 in response to vibration detected by a vibration sensor (not shown) such as a vibration gyroscope provided in the interchangeable lens 100. This performs anti-vibration processing that controls the shift operation of the compensation lens 103.
[0026] In this embodiment, the intermediate adapter 300 is an extender for extending the focal length of the interchangeable lens 100. The intermediate adapter 300 is not limited to an extender, and an adapter having various functions can be used. For example, the intermediate adapter may be an intermediate adapter with a built-in filter that changes the transmittance of light transmitted through the interchangeable lens 100. This intermediate adapter may have multiple filters with different light transmittances inside, and an appropriate filter can be selected depending on the imaging situation, etc.
[0027] The intermediate adapter 300 has a variable power lens 301 for extending the focal length of the interchangeable lens 100, and an adapter microcomputer 302 as an accessory control means for controlling the operation of each section in the intermediate adapter 300. The adapter microcomputer 302 receives control commands transmitted from the camera 200 via an adapter communication section 303 as an accessory communication section, and performs adapter control corresponding to the control commands. The adapter microcomputer 302 also transmits adapter data corresponding to a transmission request from the camera 200 to the camera 200 via the adapter communication section 303.
[0028] The camera 200 has an imaging element 201 such as a CCD sensor or a CMOS sensor, an A / D conversion circuit 202, a signal processing circuit 203, a recording unit 204, a camera microcomputer (hereinafter referred to as a camera microcomputer) 205, and a display unit 206.
[0029] The image sensor 201 performs photoelectric conversion on a subject image formed by an imaging optical system in the interchangeable lens 100, and outputs an electrical signal (analog signal). The A / D conversion circuit 202 converts the analog signal from the image sensor 201 into a digital signal. The signal processing circuit 203 performs various image processes on the digital signal from the A / D conversion circuit 202 to generate a video signal.
[0030] The signal processing circuit 203 also generates, from the video signal, focus information indicating the contrast state of the subject image, that is, the focus state of the imaging optical system, and luminance information indicating the exposure state. The signal processing circuit 203 outputs the video signal to the display unit 206, and the display unit 206 displays the video signal as a live view image used to check the composition, focus state, etc.
[0031] The camera microcomputer 205, which serves as a camera control unit, controls the camera 200 in response to inputs from camera operation members such as an image capture instruction switch and various setting switches (not shown). The camera microcomputer 205 also transmits control commands related to the variable magnification operation of the variable magnification lens 102 to the lens microcomputer 111 in response to the operation of a zoom switch (not shown) via the camera communication unit 208. The camera microcomputer 205 also transmits control commands related to the light amount adjustment operation of the aperture unit 114 in response to brightness information and the focus adjustment operation of the focus lens 104 in response to focus information to the lens microcomputer 111 via the camera communication unit 208.
[0032] In broadcast communication, the camera microcomputer 205 transmits data to the intermediate adapter 300 and the interchangeable lens 100 all at once, and in P2P communication, it performs one-to-one data communication with either the intermediate adapter 300 or the interchangeable lens 100 . <Communication circuit configuration> 2, a communication circuit configured in a camera system including camera 200, intermediate adapter 300, and interchangeable lens 100 will be described. The communication circuit includes a notification channel (first communication channel) CS used for notification of communication timing, communication partner, communication direction, etc., and a data communication channel (second communication channel) DATA used for data communication.
[0033] 1, the camera 200 and the intermediate adapter 300 are connected via a mount 401. The mount 401 is provided with at least two communication terminals. The intermediate adapter 300 and the interchangeable lens 100 are connected via a mount 400. The mount 400 is provided with at least two communication terminals. The notification channel CS and the data communication channel DATA described above are formed via the communication terminals provided in each mount.
[0034] The notification channel CS is connected to the camera microcomputer 205, the adapter microcomputer 302, and the lens microcomputer 111, and each microcomputer can detect the signal level (voltage level) of the notification channel CS. The notification channel CS is also pull-up connected to a power supply (not shown) arranged in the camera 200. The notification channel CS can also be connected to ground via a ground switch 2081 included in the camera 200, and can also be connected to ground via a ground switch 3031 included in the intermediate adapter 300. The notification channel CS can also be connected to ground via a ground switch 1121 included in the interchangeable lens 100.
[0035] By employing such a circuit configuration, it is possible to set the signal level of the notification channel CS to Low (first level) by setting any of the ground switches included in the camera 200, intermediate adapter 300, and interchangeable lens 100 to a connected state (first setting). Also, it is possible to set the signal level of the notification channel CS to High (second level) by setting all of the ground switches included in the camera 200, intermediate adapter 300, and interchangeable lens 100 to a disconnected state (second setting).
[0036] Each microcomputer can change the connection state between the notification channel CS and the ground by changing the connection state of the ground switch. In other words, each microcomputer can set the signal level of the notification channel CS to either High or Low by changing the connection state of the ground switch.
[0037] For example, camera microcomputer 205 can set the signal level of notification channel CS to Low by connecting ground switch 2081 included in camera 200. In the following description, setting the ground switch to the connected state will be described as "outputting Low to notification channel CS," and setting the ground switch to the disconnected state will be described as "outputting High to notification channel CS."
[0038] In other words, when all microcontrollers output a high signal to the notification channel CS, the signal level of the notification channel CS becomes high. On the other hand, when any microcontroller outputs a low signal to the notification channel CS, the signal level of the notification channel CS becomes low. The role of the notification channel CS during data communication will be described later.
[0039] The data communication channel DATA is a bidirectional data communication channel capable of switching the data transmission direction. The data notification channel DATA is connected to the camera microcomputer 205, the adapter microcomputer 302, and the lens microcomputer 111.
[0040] The data communication channel DATA is connected to the camera microcomputer 205 via an input / output changeover switch 2082 included in the camera 200. The camera microcomputer 205 is provided with a data output unit for transmitting data and a data input unit for receiving data. The camera microcomputer 205 selectively connects the data communication channel DATA to either the data output unit or the data input unit according to the operation of the input / output changeover switch 2082.
[0041] In addition, the data communication channel DATA is connected to the adapter microcomputer 302 via an input / output changeover switch 3032 included in the intermediate adapter 300. The adapter microcomputer 302 is provided with a data output unit for transmitting data and a data input unit for receiving data. The adapter microcomputer 302 selectively connects the data communication channel DATA to either the data output unit or the data input unit according to the operation of the input / output changeover switch 3032.
[0042] The data communication channel DATA is connected to the lens microcomputer 111 via an input / output changeover switch 1122 included in the interchangeable lens 100. The lens microcomputer 111 is equipped with a data output unit for transmitting data and a data input unit for receiving data. The lens microcomputer 111 selectively connects the data communication channel DATA to either the data output unit or the data input unit in accordance with the operation of the input / output changeover switch 1122. By employing such a circuit configuration, it is possible to appropriately switch the data propagation direction (communication direction) of the data communication channel DATA. <Data format> Figure 3 shows the format of data communicated via the data communication channel DATA. This shows the data format in a start-stop synchronous communication method in which the communication speed is set in advance on both the data sending side and the data receiving side, and data communication is performed at a communication bit rate based on this setting. The communication bit rate indicates the amount of data that can be transferred in one second, and is expressed in units of bps (bits per second). Figure 3 shows the waveform of a signal for one frame, which is the smallest communication unit.
[0043] When data communication is not taking place, the signal level of the data communication channel DATA is maintained at a high level. After that, to notify the data receiving side of the start of data transmission, the signal level of the data communication channel DATA is made low for one bit period. This one bit period is called the start bit ST, and the data frame begins from the start bit ST. One byte of data is transmitted in the eight-bit period from the second bit to the ninth bit following the start bit ST.
[0044] The data bit arrangement is in MSB (Most Significant Bit) first format, starting with the most significant data D7, followed by data D6, D5, D4, ..., D1, and ending with the least significant data D0. Then, one bit of parity information (PA) is added to the 10th bit, and the signal level of the data communication channel DATA is set to High during the stop bit SP indicating the end of one frame. This ends the data frame period that started with the start bit ST. Note that the parity information does not have to be one bit, and multiple bits of parity information may be added. Also, parity information is not essential, and a format in which parity information is not added may be used.
[0045] Also, the bit arrangement of the data may be in LSB (Least Significant Bit) first format, starting with the least significant data D0, followed by data D1, D2, D3, ..., D6, and ending with the most significant data D7. In this embodiment, one byte of data is transmitted in an 8-bit period, but one byte of data may be transmitted in a bit period other than 8 bits. <Broadcast communication> 4 shows waveforms of signals transmitted and received in broadcast communication. In broadcast communication, the camera 200 (camera microcomputer 205), which is the communication master, outputs Low to the notification channel CS to notify the interchangeable lens 100 (lens microcomputer 111) and intermediate adapter 300 (adapter microcomputer 302), which are communication slaves, of the start of broadcast communication. Next, the camera microcomputer 205 transmits data to the lens microcomputer 111 and adapter microcomputer 302 via the data communication channel DATA.
[0046] On the other hand, the lens microcomputer 111 and the adapter microcomputer 302 output a low signal to the notification channel CS in response to detecting the above-mentioned start bit ST via the data communication channel DATA. Note that, since the camera microcomputer 205 is outputting a low signal at the time when the lens microcomputer 111 and the adapter microcomputer 302 output a low signal to the notification channel CS, the signal level of the notification channel CS remains low.
[0047] The lens microcomputer 111 and the adapter microcomputer 302 output a low signal to the notification channel CS to notify the camera microcomputer 205 of a communication standby request. The communication standby request is for temporarily suspending communication in the camera system, and the presence or absence of a communication standby request is determined by the signal level of the notification channel CS.
[0048] After transmitting all the data, the camera microcomputer 205 outputs High to the notification channel CS. After receiving the stop bit SP transmitted from the data communication channel DATA, the lens microcomputer 111 and the adapter microcomputer 302 analyze the received data and perform internal processing corresponding to the received data. Thereafter, the lens microcomputer 111 and the adapter microcomputer 302 output High to the notification channel CS in response to being prepared to perform the next communication.
[0049] When all components of the camera system output High to the notification channel CS, the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS returns to High, the camera microcontroller 205, the lens microcontroller 111, and the adapter microcontroller 302 can confirm that each component of the camera system is in a state where it can execute the next communication.
[0050] 4, the data transmitted by the camera microcomputer 205 includes a transmission request command to the adapter microcomputer 302, and the data transmission by the camera microcomputer 205 is followed by the data transmission by the adapter microcomputer 302. Specifically, after the signal level of the notification channel CS becomes High, the adapter microcomputer 302 outputs Low to the notification channel CS. This notifies the lens microcomputer 111 and the camera microcomputer 205 of the start of broadcast communication. Next, the adapter microcomputer 302 transmits data to the lens microcomputer 111 and the camera microcomputer 205 via the data communication channel DATA.
[0051] On the other hand, the lens microcomputer 111 and the camera microcomputer 205 output a low signal to the notification channel CS in response to detecting the above-mentioned start bit ST via the data communication channel DATA. Note that at the time when the lens microcomputer 111 and the camera microcomputer 205 output a low signal to the notification channel CS, the adapter microcomputer 302 is outputting a low signal to the notification channel CS, so the signal level of the notification channel CS remains low.
[0052] After transmitting all the data, the adapter microcomputer 302 outputs High to the notification channel CS. After receiving the stop bit SP transmitted from the data communication channel DATA, the lens microcomputer 111 and the camera microcomputer 205 analyze the received data and perform internal processing corresponding to the received data. Thereafter, the lens microcomputer 111 and the camera microcomputer 205 output High to the notification channel CS in response to being prepared to perform the next communication.
[0053] When all components of the camera system output High to the notification channel CS, the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS returns to High, the camera microcontroller 205, the lens microcontroller 111, and the adapter microcontroller 302 can confirm that each component of the camera system is in a state where it can execute the next communication.
[0054] As described above, in broadcast communication, the data transmitting side outputs Low to the notification channel CS to change the signal level of the notification channel CS from High to Low, thereby notifying the data receiving side of the start of broadcast communication. Also, the data receiving side notifies each component of the camera system of the release of the communication standby request by changing the output to the notification channel CS from Low to High.
[0055] 4 is merely an example, and other broadcast communications may be performed. For example, data transmitted and received in one broadcast communication may be multiple bytes of data instead of 1 byte of data.
[0056] Furthermore, when the communication method is switched from broadcast communication to P2P communication, the camera microcomputer 205 only transmits data to the lens microcomputer 111 and the adapter microcomputer 302 instructing them to switch the communication method. <Specified communication> Fig. 5 shows waveforms of signals transmitted and received in partner-designated communication among P2P communications. In partner-designated communication, the camera 200 (camera microcomputer 205), which is the communication master, performs one-to-one individual communication with one component selected (designated) as a communication slave from among the components (interchangeable lens 100 and intermediate adapter 300) that make up the camera system. Fig. 5 shows the case where the interchangeable lens 100 (lens microcomputer 111) is selected as the communication slave (specific accessory device).
[0057] Information indicating the communication slave in the partner-specific communication is transmitted by broadcast communication. In the partner-specific communication, the data transmitting side transmits data to the data receiving side while maintaining the notification channel CS at High without outputting Low to the notification channel CS. That is, in the partner-specific communication, the voltage level of the notification channel CS during the data transmission from the camera microcomputer 205 to the lens microcomputer 111 and the intermediate adapter 300 (adapter microcomputer 302) is made different from that in the broadcast communication.
[0058] When switching from broadcast communication to partner-specific communication is executed, data transmission from the camera microcomputer 205, which is the communication master, to the lens microcomputer 111 is started first. Fig. 5 shows an example in which one byte of data is transmitted from the camera microcomputer 205 to the lens microcomputer 111, and then two bytes of data are transmitted from the lens microcomputer 111 to the camera microcomputer 205. The camera microcomputer 205 transmits data to the lens microcomputer 111 via the data communication channel DATA. When the data transmission is completed, the camera microcomputer 205 outputs Low to the notification channel CS to notify a communication standby request. Then, after the camera microcomputer 205 is ready to receive data as the data receiving side, it again outputs High to the notification channel CS.
[0059] On the other hand, the lens microcomputer 111 recognizes that data transmission from the camera microcomputer 205 has been completed when the signal level of the notification channel CS has gone low, and analyzes the received data and executes internal processing corresponding to the received data. In the example of Figure 5, the data received from the camera microcomputer 205 includes a data transmission request from the lens microcomputer 111 to the camera microcomputer 205, and the lens microcomputer 111 generates data to be transmitted to the camera microcomputer 205.
[0060] Thereafter, the lens microcontroller 111 recognizes that the communication standby request has been released as the signal level of the notification channel CS returns to High, and transmits two bytes of data to the camera microcontroller 205. When the lens microcontroller 111 finishes transmitting the data, it outputs Low to the notification channel CS to notify the communication standby request. Then, after the lens microcontroller 111 is ready to receive data as the data receiving side, it again outputs High to the notification channel CS. Note that the adapter microcontroller 302 that is not selected as the communication partner in the partner-specified communication does not change its output to the notification channel CS, and is not involved in the transmission and reception of data.
[0061] The lens microcomputer 111 determines whether the designated communication is continuing or has switched to broadcast communication based on the timing of data transmission from the camera microcomputer 205 after the notification channel CS is again outputted as High. If data is received from the camera microcomputer 205 while the signal level of the notification channel CS remains High, the lens microcomputer 111 determines that the designated communication is continuing. On the other hand, if data is received from the camera microcomputer 205 after the signal level of the notification channel CS has changed to Low, the lens microcomputer 111 determines that the designated communication has been switched to broadcast communication.
[0062] As described above, in the designated communication, the data sending side notifies the data receiving side that the data sending side has completed sending data by changing the output to the notification channel CS from High to Low. Therefore, in the designated communication, multiple data frames can be sent continuously until the data sending side changes the signal level of the notification channel CS. Since the communication configuration is not one in which communication from the communication master is inserted every time the communication slave sends one data frame, communication between the camera microcomputer 205 and accessory devices such as the lens microcomputer 111 and the adapter microcomputer 302 can be performed at high speed.
[0063] In this camera system, the camera microcomputer 205, lens microcomputer 111, and adapter microcomputer 302 switch the notification channel CS between Low and High so that the signal level of the notification channel CS changes after data transmission. Such a change in the signal level of the notification channel CS is used as a signal to switch between the data sending side and the data receiving side. The data sending side then notifies a communication standby request by keeping the signal level of the notification channel CS at Low until it is ready to receive data as the data receiving side in the next communication. <Switching between broadcast communication and designated communication> 6 shows signal waveforms when broadcast communication and designated communication are switched and executed. In both broadcast communication and designated communication, the camera 200 (camera microcomputer 205) becomes the communication master and executes communication with the intermediate adapter 300 (adapter microcomputer 302) and the interchangeable lens 100 (lens microcomputer 111). Information indicating the communication partner for the camera microcomputer 205 in designated communication is notified in the broadcast communication.
[0064] First, information indicating that adapter microcomputer 302 has been selected as the communication partner in the partner-specific communication is transmitted and received in the broadcast communication, and then the partner-specific communication is performed between camera microcomputer 205 and adapter microcomputer 302. Hereinafter, information indicating the communication partner in the partner-specific communication is referred to as communication-partner designation data. Hereinafter, a case will be described in which the communication-partner designation data has a function as a switch command from broadcast communication to partner-specific communication. Note that the switch to partner-specific communication may be executed by transmitting and receiving a signal instructing the switch from broadcast communication to partner-specific communication separately from the communication-partner designation data.
[0065] The lens microcomputer 111 that is not selected as a communication partner in the partner-designated communication outputs High to the notification channel CS when it has received the communication-partner-designated data and finished analyzing and internally processing the data received from the camera microcomputer 205. Then, while the partner-designated communication is being performed between the camera microcomputer 205 and the adapter microcomputer 302, it maintains the setting corresponding to the broadcast communication without changing the output to the notification channel CS.
[0066] When the switch to the partner-specified communication is completed, the adapter microcontroller 302 outputs a High to the notification channel CS to notify the camera microcontroller 205 of the completion of the switch of the communication method. When the camera microcontroller 205 also completes the switch to the partner-specified communication, it outputs a High to the notification channel CS. The lens microcontroller 111 that is not selected as a communication partner in the partner-specified communication outputs a High to the notification channel CS when analysis of the data received from the camera microcontroller 205 and internal processing are completed.
[0067] When the camera microcomputer 205 detects that the signal level of the notification channel CS has become High, it starts the designated communication shown in Fig. 5. The outline of the designated communication is as described in Fig. 5.
[0068] When the partner-specific communication between the camera microcomputer 205 and the adapter microcomputer 302 is completed, the camera microcomputer 205 transmits, by broadcast communication, communication partner designation data indicating that the lens microcomputer 111 has been selected as the communication partner in the partner-specific communication. Thereafter, partner-specific communication is performed between the camera microcomputer 205 and the lens microcomputer 111.
[0069] Incidentally, the adapter microcomputer 302 recognizes that switching from designated communication to broadcast communication has been performed when the signal level of the notification channel CS becomes Low before data is transmitted from the camera microcomputer 205. <Broadcast communication processing> The flowchart in Fig. 7 shows broadcast communication processing executed by the camera microcomputer 205 as a communication master and the adapter microcomputer 302 as a communication slave. The camera microcomputer 205 and the adapter microcomputer 302 perform the processing shown in the flowchart in Fig. 7 in accordance with a computer program. Note that in the flowcharts in Fig. 7 and other figures described below, "S" denotes a step. Also, the broadcast communication processing executed by the lens microcomputer 111 is basically the same as the broadcast communication processing executed by the adapter microcomputer 302, so a description thereof will be omitted.
[0070] The camera microcomputer 205 determines whether an event to start broadcast communication has occurred in S100. If an event to start broadcast communication has occurred, the camera microcomputer 205 proceeds to S101, and if no event has occurred, the camera microcomputer 205 repeats the determination in S100.
[0071] In S101, the camera microcomputer 205 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low, and notifies the lens microcomputer 111 and the adapter microcomputer 302 of the start of broadcast communication.
[0072] Next, in S102, the camera microcomputer 205 operates the input / output changeover switch 2082 to connect the data communication channel DATA to the data output unit of the camera microcomputer 205. Then, in S103, data transmission is started.
[0073] Next, in S104, the camera microcomputer 205 determines whether or not a transmission request command is included in the data transmitted in S103. The transmission request command is a command that requests the communication slave that has received the data transmitted from the camera microcomputer 205 as the communication master to transmit data to the camera microcomputer 205.
[0074] If the data transmitted from the camera microcomputer 205 in S103 does not include a transmission request command, the camera microcomputer 205 proceeds to S105, and after data transmission from the camera microcomputer 205 is completed, cancels the Low output to the notification channel CS and proceeds to S116.
[0075] If the data transmitted from the camera microcomputer 205 in S103 includes a transmission request command, the process proceeds to S106. In S106, after the data transmission from the camera microcomputer 205 is completed, the data communication channel DATA is connected to the data input unit of the camera microcomputer 205, and the process proceeds to S107. In S107, the camera microcomputer 205 cancels the output of Low to the notification channel CS and outputs High.
[0076] Next, in S108, the camera microcomputer 205 judges whether the signal level of the notification channel CS has become High. This judgment is continued until the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS is High, it indicates that the camera system is in a state where communication is possible. When the signal level of the notification channel CS becomes High, the camera microcomputer 205 judges in S109 whether the signal level of the notification channel CS has become Low. This judgment is continued until the signal level of the notification channel CS becomes Low.
[0077] In response to the signal level of the notification channel CS becoming Low, communication is started from the adapter microcontroller 302, which is a communication slave, to the camera microcontroller 205. When the camera microcontroller 205 determines that the signal level of the notification channel CS has become Low, it permits reception of data on the data communication channel DATA in S110.
[0078] Next, in S111, the camera microcomputer 205 determines whether or not it has received a start bit included in the data transmitted from the adapter microcomputer 302. This determination is continued until the start bit is received.
[0079] Upon receiving the start bit, the camera microcomputer 205 proceeds to S112, outputs Low to the notification channel CS, and determines in S113 whether or not a stop bit has been received, that is, whether or not all of the data transmitted from the adapter microcomputer 302 has been received. This determination is continued until the stop bit is received. Upon receiving the stop bit, the camera microcomputer 205 prohibits reception of data on the data communication channel DATA in S114, analyzes the received data, and executes internal processing corresponding to the received data. Thereafter, the camera microcomputer 205 cancels the output of Low to the notification channel CS and outputs High in S115.
[0080] Next, in S116, the camera microcomputer 205 determines whether the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS becomes High, the camera microcomputer 205 determines in S117 whether the data transmitted in S103 was communication partner-specifying data. If it is communication partner-specifying data, the camera microcomputer 205 proceeds to S118 and shifts to communication with a specified partner. If it is not communication partner-specifying data, the camera microcomputer 205 continues broadcast communication. Meanwhile, in S200, the adapter microcomputer 302 determines whether the signal level of the notification channel CS has become Low. This determination is continued until the signal level of the notification channel CS becomes Low. In response to the signal level of the notification channel CS becoming Low, data transmission from the camera microcomputer 205, which is the communication master, is started. Therefore, in S201, the adapter microcomputer 302 permits reception of data on the data communication channel DATA.
[0081] Next, in S202, the adapter microcomputer 302 determines whether or not a start bit has been received. If the start bit has not been received, the camera microcomputer 205 proceeds to S203 and determines whether or not the signal level of the notification channel CS is High.
[0082] The adapter microcomputer 302 performs the processes of S203 and S204 in order to handle a situation in which designated communication is performed between the camera microcomputer 205 and the lens microcomputer 111 and only the adapter microcomputer 302 performs broadcast communication. In this situation, the adapter microcomputer 302 will not receive data from the camera microcomputer 205, and therefore prohibits reception of data on the data communication channel DATA in S204.
[0083] As explained in the section <Specified Communication> using Figure 5, the signal level of the notification channel CS also changes between High and Low in specified communication. The signal level of the notification channel CS is normally High, and in broadcast communication it is set to Low when notifying a communication standby request or when notifying the start of communication. In specified communication, it is set to Low when notifying a communication standby request.
[0084] There are the following situations in which the adapter microcomputer 302 does not receive the start bit from the camera microcomputer 205 in S202. The first situation is when the camera microcomputer 205 has set the signal level of the notification channel CS to Low, but data transmission has not yet started. The second situation is when the camera microcomputer 205 and the lens microcomputer 111 are performing partner-specific communication, and the adapter microcomputer 302 is not involved in the partner-specific communication.
[0085] In the first situation, the signal level of the notification channel CS does not become High, so the adapter microcomputer 302 returns from S203 to S202 and repeats the determinations of S202 and S203 until the camera microcomputer 205 starts transmitting data. In the second situation, the signal level of the notification channel CS is High without either the camera microcomputer 205 or the lens microcomputer 111 notifying a communication standby request. In this situation, the adapter microcomputer 302 basically proceeds from S203 to S204, and reception of data on the data communication channel DATA is prohibited. Note that, in the case of a communication standby request being notified in the specified communication, the adapter microcomputer 302 returns from S203 to S202 and performs the determination of S203 again. The determination of S203 may be performed multiple times, but when the communication standby request is released and the signal level of the notification channel CS becomes High, the adapter microcomputer 302 proceeds from S203 to S204.
[0086] As described above, by adding the processes of S203 and S204, it is possible to use both broadcast communication and designated communication in the camera system. In this embodiment, designated communication is performed between the camera microcomputer 205 and the lens microcomputer 111, while the adapter microcomputer 302 is placed on standby in a state compatible with broadcast communication.
[0087] Upon receiving the start bit in S202, the adapter microcomputer 302 starts analyzing the received data and internal processing corresponding to the received data, and outputs Low to the notification channel CS, thereby notifying each component of the camera system of a communication standby request.
[0088] Next, in S206, the adapter microcomputer 302 determines whether or not a stop bit has been received. This determination is continued until the stop bit is received. When the stop bit is received, the adapter microcomputer 302 prohibits reception of data on the data communication channel DATA in S207, and continues analysis of the received data and internal processing corresponding to the received data. When the internal processing of the data is completed and the next data communication is ready to be executed, the adapter microcomputer 302 cancels the output of Low to the notification channel CS and outputs High in S208.
[0089] Next, in S209, the adapter microcontroller 302 determines whether or not a transmission request command is included in the data received from the camera microcontroller 205. If a transmission request command is included, the adapter microcontroller 302 proceeds to S210 and determines whether or not the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS is High, this indicates that the camera system is in a state where communication is possible. If a transmission request command is not included in the data received from the camera microcontroller 205, the adapter microcontroller 302 proceeds to S215, which will be described later.
[0090] If it is determined in S210 that the signal level of the notification channel CS is High, the adapter microcontroller 302 proceeds to S211. In S211, the adapter microcontroller 302 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low, thereby notifying the camera microcontroller 205 and the lens microcontroller 111 of the start of broadcast communication.
[0091] Next, in S212, the adapter microcomputer 302 operates the input / output changeover switch 3032 to connect the data communication channel DATA to the data output unit of the adapter microcomputer 302. Then, in S213, data transmission is started.
[0092] When data transmission is completed, the adapter microcomputer 302 stops outputting a Low signal to the notification channel CS and outputs a High signal in S214. Next, in S215, the adapter microcomputer 302 determines whether the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High.
[0093] When the signal level of the notification channel CS becomes High, the adapter microcontroller 302 proceeds to S216. In S216, the adapter microcontroller 302 determines whether the data received from the camera microcontroller 205 is communication-partner-specified data, and whether the adapter microcontroller 302 itself has been selected as the communication partner of the camera microcontroller 205 in the partner-specified communication. If the adapter microcontroller 302 has been selected as the communication partner of the camera microcontroller 205, the adapter microcontroller 302 proceeds to S217 and permits data reception on the data communication channel DATA. Then, in S218, the process shifts from broadcast communication to partner-specified communication.
[0094] If the data received from the camera microcomputer 205 is not communication partner-specified data or if the adapter microcomputer 302 is not selected as the communication partner in the communication partner-specified, the adapter microcomputer 302 continues the broadcast communication without transitioning to communication partner-specified. <Partner-specific communication processing> The flowchart in Fig. 8 shows the partner-specified communication processing executed by the camera microcomputer 205 as the communication master and the lens microcomputer 111 as the communication slave. The camera microcomputer 205 and the lens microcomputer 111 perform the processing shown in the flowchart in Fig. 8 in accordance with a computer program. The partner-specified communication processing executed by the adapter microcomputer 302 is basically the same as the partner-specified communication processing executed by the lens microcomputer 111, so a description thereof will be omitted.
[0095] The camera microcomputer 205 determines whether an event for starting designated communication has occurred in S300. If an event for starting designated communication has occurred, the camera microcomputer 205 proceeds to S301, and if no event has occurred, the camera microcomputer 205 repeats the determination in S300.
[0096] In S301, the camera microcomputer 205 operates the input / output changeover switch 2082 to connect the data communication channel DATA to the data output unit of the camera microcomputer 205. Then, in S302, data transmission is started.
[0097] In S303, the camera microcomputer 205 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low. As a result, the camera microcomputer 205 issues a communication standby request to the lens microcomputer 111, which is the communication slave. The lens microcomputer 111 does not transmit data to the camera microcomputer 205 while the signal level of the notification channel CS is Low.
[0098] In S304, the camera microcomputer 205 determines whether or not a transmission request command is included in the data transmitted in S302. A transmission request command is a command that requests the communication slave to transmit data to the camera microcomputer 205. If a transmission request command is not included in the transmission data, no data is transmitted from the lens microcomputer 111. In this case, the camera microcomputer 205 proceeds from S304 to S305 and checks whether or not the lens microcomputer 111 has notified a communication standby request.
[0099] Specifically, the camera microcomputer 205 cancels the output of Low to the notification channel CS in S305, and then determines whether the signal level of the notification channel CS is Low in S306. This determines whether the lens microcomputer 111 has set the signal level of the notification channel CS to Low, that is, whether the lens microcomputer 111 has notified a communication standby request.
[0100] The lens microcomputer 111, which has received data from the camera microcomputer 205, notifies a communication standby request by outputting Low to the notification channel CS for a certain period of time in order to analyze the data and perform internal processing. The processing of S306 is performed to recognize the notification standby request from the lens microcomputer 111. After the processing of S305, the signal level of the notification channel CS may temporarily become High. In this case, the camera microcomputer 205 waits until the signal level of the notification channel CS becomes Low by making the determination of S306. After confirming that the signal level of the notification channel CS has become Low in S306, the camera microcomputer 205 proceeds to S311.
[0101] Also, in S304, if the data transmitted in S302 is a transmission request command, the camera microcomputer 205 proceeds to S307.
[0102] In S307, the camera microcomputer 205 operates the input / output changeover switch 2082 to connect the data communication channel DATA to the data input unit of the camera microcomputer 205. Furthermore, in S308, the output of Low to the notification channel CS is cancelled and a High is output.
[0103] The camera microcomputer 205 receives data from the lens microcomputer 111 while the signal level of the notification channel CS is High, and determines in S309 whether the signal level of the notification channel CS has gone Low. When the signal level of the notification channel CS has gone Low, the camera microcomputer 205 determines that data transmission by the lens microcomputer 111 has been completed, and performs data analysis in S310.
[0104] Next, in S311, the camera microcomputer 205 determines whether the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High. The state in which the signal level of the notification channel CS is High means that the lens microcomputer 111 as the communication slave is in a state in which data communication is possible.
[0105] When the signal level of the notification channel CS becomes High, the camera microcomputer 205 proceeds to S312 and determines whether or not a transition event to broadcast communication has occurred. If a transition event to broadcast communication has occurred, the camera microcomputer 205 proceeds to S313 and transitions to broadcast communication. If a transition event to broadcast communication has not occurred, the camera microcomputer 205 continues the designated communication.
[0106] On the other hand, when the lens microcomputer 111 switches from broadcast communication to partner-specific communication, it first receives data transmitted from the camera microcomputer 205. During the period when the lens microcomputer 111 is receiving the data transmitted from the camera microcomputer 205, the signal level of the notification channel CS is maintained at High.
[0107] In S400, the lens microcomputer 111 determines whether the signal level of the notification channel CS has become Low. When the signal level of the notification channel CS has become Low, the lens microcomputer 111 determines that data transmission from the camera microcomputer 205 has been completed, and performs data analysis in S401.
[0108] Next, in S402, the lens microcomputer 111 determines whether the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS is Low, the camera microcomputer 205 is notifying a communication standby request.
[0109] When the signal level of the notification channel CS becomes High, in S403, the lens microcomputer 111 determines whether or not a transmission request command is included in the data received from the camera microcomputer 205. If the received data does not include a transmission request command, the process proceeds to S404.
[0110] In S404, in order to perform internal processing on the data received from the camera microcomputer 205, the lens microcomputer 111 sets the signal level of the notification channel CS to Low and notifies the camera microcomputer 205 of a communication standby request. When the lens microcomputer 111 becomes capable of communication, the lens microcomputer 111 sets the signal level of the notification channel CS to High in S405 to cancel the communication standby request, and then proceeds to S411.
[0111] Furthermore, if the data received from the camera microcomputer 205 in S403 includes a transmission request command, the lens microcomputer 111 proceeds to S406. In S406, the lens microcomputer 111 operates the input / output changeover switch 1122 to connect the data communication channel DATA to the data output unit of the lens microcomputer 111. Then, in S407, data transmission to the camera microcomputer 205 is started.
[0112] In S408 after completing data transmission to the camera microcomputer 205, the lens microcomputer 111 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low. As a result, the lens microcomputer 111 issues a communication standby request to the camera microcomputer 205, which is the communication master. While the signal level of the notification channel CS is Low, the camera microcomputer 205 does not transmit data to the lens microcomputer 111.
[0113] In S409, the lens microcomputer 111 operates the input / output changeover switch 1122 to connect the data communication channel DATA to the data input unit of the lens microcomputer 111. Then, in S410, the output of Low to the notification channel CS is canceled and a High signal is output.
[0114] In S411, the lens microcomputer 111 determines whether the signal level of the notification channel CS has become High. This determination is continued until the signal level of the notification channel CS becomes High. When the signal level of the notification channel CS has become High, this means that the camera microcomputer 205 and the lens microcomputer 111 are in a state in which they can communicate with each other.
[0115] As described above, the voltage level of the notification channel CS during data transmission from the camera 200 to the interchangeable lens 100 and the intermediate adapter 300 is made different for broadcast communication and partner-specified communication. This communication system allows the camera 200 to select any communication partner according to the situation at the time, and to communicate with the freely specified communication partner until it becomes necessary to change the communication partner. <Time-division communication> FIG. 9 shows waveforms of signals transmitted and received in time-division communication among P2P communications. In time-division communication, as in the partner-specified communication, the camera 200 becomes the communication master and performs one-to-one communication with one of the components of the camera system selected as a communication slave. In the partner-specified communication described above, a communication partner is specified by broadcast communication, and one-to-one communication with the same communication partner can be performed without re-specifying the communication partner until it becomes necessary to switch the communication partner. In addition, when multiple accessory devices are connected to the camera 200, the next communication partner can be freely selected. However, in the partner-specified communication, when switching the communication partner, it is necessary to once end communication with the current communication partner, specify the next communication partner by broadcast communication, and then start communication with the communication partner, which takes time.
[0116] In contrast, in time division communication, the timing for switching communication partners and communication direction is determined in advance. Therefore, although it is not possible to select communication partners at any time, it is possible to reduce the time required to switch communication partners.
[0117] In Fig. 9, the communication master is the camera 200, and the communication slaves are the interchangeable lens 100 and intermediate adapter 300. In time division communication, a basic communication cycle is determined, and this is represented by cycle T in Fig. 9. Furthermore, for data transmitted and received over the data communication channel DATA, the sender, receiver, maximum data amount, order, etc. are uniquely determined for each communication cycle. How the communication cycle, sender, receiver, maximum data amount, order, etc. are determined will be explained later using Figs. 12 and 13.
[0118] 9, one or more chunks of data transmitted by the camera 200 and received by the interchangeable lens 100 are represented as "C→L." "→" indicates the direction of communication, and "C→L" and "L→C" respectively indicate communication in one direction (from the camera 200 to the interchangeable lens 100) and communication in the opposite direction (from the interchangeable lens 100 to the camera 200) between the camera 200 and the interchangeable lens 100.
[0119] Such a chunk of data with a fixed sender (e.g., camera 200) and receiver (e.g., interchangeable lens 100) is referred to as a data packet here. A data packet transmitted by the interchangeable lens 100 and received by the camera 200 is represented as "L→C", and a data packet transmitted by the camera 200 and received by the intermediate adapter 300 is represented as "C→A". A data packet transmitted by the intermediate adapter 300 and received by the camera 200 is represented as "A→C". Furthermore, in this embodiment, "C→L" and "L→C" exist in every cycle, but "C→A" and "A→C" only exist once every two cycles. In time division communication, it is possible to freely determine how many types of data packets exist in each cycle and how many cycles they exist in.
[0120] Note that the camera 200 is always either the sender or the receiver of each data packet in time-division communication, and therefore cases in which it is neither are omitted in FIG.
[0121] As for the notification channel CS, similarly to the designated communication, the data sending side does not output Low to the notification channel CS, but keeps the notification channel CS High and transmits data to the data receiving side. Taking "C→L" and "L→C" as examples, the camera microcomputer 205 transmits data to the lens microcomputer 111 via the data communication channel DATA while keeping the notification channel CS High. When the camera microcomputer 205 completes the transmission of the data packet, it sets the signal level of the notification channel CS to Low to notify a communication standby request. Then, after the camera microcomputer 205 is ready to receive data as the data receiving side, it returns the signal level of the notification channel CS to High.
[0122] On the other hand, the lens microcomputer 111 recognizes that the data transmission from the camera microcomputer 205 is completed by the signal level of the notification channel CS becoming Low, and performs analysis of the received data and internal processing corresponding to the received data. Furthermore, the lens microcomputer 111 generates data to be transmitted to the camera microcomputer 205 in a data packet "L→C". After that, the lens microcomputer 111 recognizes that the communication standby request has been released by the signal level of the notification channel CS returning to High, and transmits the data packet "L→C" to the camera microcomputer 205. When this transmission is completed, the lens microcomputer 111 sets the signal level of the notification channel CS to Low to notify the communication standby request. Then, after the lens microcomputer 111 is ready to receive data as the data receiving side, it returns the signal level of the notification channel CS to High. During this time, the adapter microcomputer 302, which is not involved in one-to-one communication, does not affect either the notification channel CS or the data communication channel DATA as the data receiving side. Even if the sender and receiver change, the transmission and reception operations are the same as those described above.
[0123] Furthermore, the period T is controlled by the camera microcomputer 205. If the sum of the communication time, communication standby request time, and standby time not belonging to either of the above, of each data packet in one period does not reach the period T, the camera microcomputer 205 waits for communication until the start of the next period. <Time-division communication processing> The flowchart in Fig. 10 shows time-division communication processing (communication control method) executed by the camera microcomputer 205 as the communication master and the lens microcomputer 111 as the communication slave. The camera microcomputer 205 and the lens microcomputer 111 perform the processing shown in the flowchart in Fig. 10 in accordance with a computer program. The partner-specified communication processing executed by the adapter microcomputer 302 is basically the same as the partner-specified communication processing executed by the lens microcomputer 111, so a description thereof will be omitted. Also, in Fig. 10, as in Fig. 9, the case where the camera 200 is neither the sender nor the receiver of the time-division communication is omitted.
[0124] In S500, the camera microcomputer 205 checks whether the signal level of the notification channel CS is High or not, and if it is High, proceeds to S501, and if it is Low, waits until it becomes High.
[0125] In S501, the camera microcomputer 205 determines whether or not the camera microcomputer 205 is to transmit the next data packet, and if so, proceeds to S502, and if not, proceeds to S510.
[0126] In S502, the camera microcomputer 205 determines whether or not the cycle T as a communication cycle can be observed if the processing is continued as is, and if the cycle T cannot be observed (i.e., it is too fast), the processing waits by repeating the determination in S502, and proceeds to S503 after an appropriate time has elapsed. Note that the waiting in S502 occurs only when the first data packet of each cycle T in Fig. 9 is transmitted, and in other cases, it is determined in S502 that the cycle T can be observed and the processing proceeds to S503.
[0127] In S503, the camera microcomputer 205 connects the data communication channel DATA to the data output unit of the camera microcomputer 205, and starts data transmission in S504.
[0128] In S505, the camera microcomputer 205 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low, whereby the camera microcomputer 205 notifies the next data packet sender of a communication standby request.
[0129] Thereafter, in S506, the camera microcomputer 205 determines whether or not the camera microcomputer 205 is to transmit the next data packet, and if so, proceeds to S507.
[0130] In S507, the camera microcomputer 205 generates a data packet to be transmitted next, and when the data packet to be transmitted is ready, the process proceeds to S508, where the Low output to the notification channel CS is released.
[0131] If the camera microcomputer 205 determines in S506 that the camera microcomputer 205 will not transmit the next data packet (that is, the camera microcomputer 205 will receive the next data packet), the process proceeds to S509.
[0132] In S509, the camera microcomputer 205 connects the data communication channel DATA to the data input unit of the camera microcomputer 205, and then in S508, cancels the output of Low to the notification channel CS.
[0133] The camera microcomputer 205 proceeds from S501 to S510 and determines whether the signal level of the notification channel CS is low or not. If it is not low, the camera microcomputer 205 repeats the determination, and if it is low, analyzes the received data in S512.
[0134] Next, in S513, the camera microcomputer 205 determines whether the camera microcomputer 205 is to transmit the next data packet, and if so, proceeds to S514. If not (i.e., the camera microcomputer 205 is to receive the next data packet), proceeds to "END".
[0135] In S514, the camera microcomputer 205 generates a data packet to be transmitted next. At this time, since it is not the camera microcomputer 205 that has set the signal level of the notification channel CS to Low, the camera microcomputer 205 does not cancel the output of Low to the notification channel CS. Then, the camera microcomputer 205 proceeds to "END".
[0136] "END" indicates the end of processing for one data packet, after which the camera microcomputer 205 returns to S500 again to start processing the next data packet.
[0137] Meanwhile, in S600, the lens microcomputer 111 checks whether the signal level of the notification channel CS is High. If it is High, the lens microcomputer 111 proceeds to S601, and if it is Low, it waits until it becomes High.
[0138] In S601, the lens microcomputer 111 determines whether or not the lens microcomputer 111 is to transmit the next data packet, and if so, the process proceeds to S603, and if not, the process proceeds to S610.
[0139] In S603, the lens microcomputer 111 connects the data communication channel DATA to the data output unit of the lens microcomputer 111, and starts data transmission in S604.
[0140] Next, in S605, the lens microcomputer 111 outputs Low to the notification channel CS to set the signal level of the notification channel CS to Low, thereby causing the lens microcomputer 111 to notify the next data packet sender of a communication standby request.
[0141] Thereafter, in S606, the lens microcomputer 111 determines whether or not the lens microcomputer 111 is to transmit the next data packet, and if so, proceeds to S607.
[0142] In S607, the lens microcomputer 111 generates the next data packet to be transmitted. When the data packet to be transmitted is ready, the lens microcomputer 111 proceeds to S608 and stops outputting Low to the notification channel CS.
[0143] If the lens microcomputer 111 determines in S606 that it will not transmit the next data packet, the process proceeds to S609, where it connects the data communication channel DATA to the data input unit of the lens microcomputer 111. Then, the process proceeds to S608, where it cancels the Low output to the notification channel CS.
[0144] The camera microcomputer 205 proceeds from S601 to S610 and determines whether the signal level of the notification channel CS is Low or not in S610, and if it is not Low, repeats the determination. If it is Low, the process proceeds to S611.
[0145] In S611, the lens microcomputer 111 determines whether or not the lens microcomputer 111 is currently receiving a data packet (i.e., the lens microcomputer 111 is a recipient). If it is a recipient, the process proceeds to S612, where the received data is analyzed, and then to S613. If it is not a recipient, the process proceeds to S613 without analyzing the data.
[0146] In S613, the lens microcomputer 111 determines whether or not the lens microcomputer 111 is to transmit the next data packet, and if so, proceeds to S614, otherwise proceeds to "END".
[0147] In S614, the lens microcomputer 111 generates the next data packet to be transmitted. At this time, it is not the lens microcomputer 111 that has set the signal level of the notification channel CS to Low, so the lens microcomputer 111 does not cancel the Low output. The lens microcomputer 111 then proceeds to "END".
[0148] "END" indicates the end of processing for one data packet, after which the lens microcomputer 111 returns to S600 again to start processing the next data packet. <Switching to time-division communication> Fig. 11 shows signal waveforms when broadcast communication and time division communication are switched and executed. Broadcast communication and designated communication are executed before time division communication starts in Fig. 11, and switching between these communications is as explained in Fig. 6. Furthermore, before the communication explained in Fig. 11, the camera microcomputer 205 recognizes in advance the number of attached accessory devices by detecting accessory authentication communication (not shown) or the voltage level of the mount contact, etc.
[0149] 11, first, camera microcomputer 205 designates adapter microcomputer 302 as a communication partner through broadcast communication. Next, camera microcomputer 205 requests adapter microcomputer 302 to transmit information specific to intermediate adapter 300 (accessory specific information: hereinafter referred to as adapter specific information). In response to this request, adapter microcomputer 302 transmits the adapter specific information to camera microcomputer 205 through partner-designated communication.
[0150] The accessory-specific information (adapter-specific information and lens-specific information described later) includes various information specific to the accessory device, such as the ID information, functions, and communication speed of the accessory device. In particular, the four pieces of information (a1) to (a4) shown in Fig. 12 are important information for determining the cycle of time-division communication, the configuration of data packets, etc. These pieces of information will be described in detail later.
[0151] 11, the data transmitted from the camera microcomputer 205 to the adapter microcomputer 302 is shown as one block of data, but this does not necessarily mean one byte or data indicating one type of information, and may be data including multiple pieces of information required to request adapter-specific information. The same applies to the data transmitted from the adapter microcomputer 302 and the data transmitted from the lens microcomputer 111 described below.
[0152] After the camera microcomputer 205 has acquired the adapter unique information from the adapter microcomputer 302, the camera microcomputer 205 designates the lens microcomputer 111 as a communication partner through broadcast communication. Next, the camera microcomputer 205 requests the lens microcomputer 111 to transmit lens unique information that is unique information of the interchangeable lens 100. In response to this request, the lens microcomputer 111 transmits the lens unique information to the camera microcomputer 205 through partner-designated communication.
[0153] Through the communication up to this point, camera microcomputer 205 acquires all the information necessary to start time-division communication. In the following explanation, the accessory-specific information acquired from each accessory device, which is important for performing time-division communication shown in Fig. 12, and the information indicating the number of accessory devices attached to camera 200, are collectively referred to as accessory characteristic information (information about accessory devices or accessory information).
[0154] The camera microcomputer 205 determines setting information for performing time-division communication based on the acquired accessory characteristic information and information specific to the camera 200 itself (information about the camera: hereinafter referred to as camera specific information). This setting information for time-division communication (hereinafter referred to as time-division setting information) includes the period T, the configuration of data packets within one period T, the baud rate (communication speed), the length, number, type and order of data packets, etc. Details of this time-division setting information will be described later.
[0155] After this, the camera microcomputer 205 transmits a time division communication start command to all accessory devices by broadcast communication. In this embodiment, the time division communication start command includes the above-mentioned time division setting information, and each accessory device prepares to start time division communication based on that information and transitions to time division communication. Note that the time division setting information may be transmitted to all accessory devices at a different timing as information separate from the time division communication start command. At this time, the time division setting information may be transmitted to all accessory devices by partner-specified communication. Details of time division communication are as described in Figs. 9 and 10. <Time sharing setting information> 12 shows four pieces of information included in the accessory characteristic information from among the lens-specific information and adapter-specific information in this embodiment. In addition to these four pieces of information, information on the number of accessory devices attached to the camera 200 is also included in the accessory characteristic information.
[0156] The function (a1) refers to a function of each accessory device that is affected by or has an effect on time-division communication. The camera microcomputer 205 determines the minimum communication cycle that should be realized for each accessory device based on the information on this function.
[0157] The supported baud rates in (a2) indicate the baud rates that each accessory device can support in time-division communication. The camera microcomputer 205 compares this supported baud rate information with the baud rates that the camera 200 can support, and selects the fastest baud rate that all accessory devices and the camera 200 can use.
[0158] The communication direction switching time in (a3) represents the maximum time required for each accessory device to prepare to send or receive a data packet. Specifically, t1 represents the time required from when the notification channel CS goes High to when data transmission starts via the data communication channel DATA. t2 represents the time required from when data transmission via the data communication channel DATA is completed to when a Low is output to the notification channel CS. t3 represents the time required from when a Low is output to the notification channel CS to when the direction of the data communication channel DATA is switched to input and when the Low of the notification channel CS is released.
[0159] These times generally differ depending on the performance of the microcomputer (lens microcomputer 111 or adapter microcomputer 302) employed by each accessory device, the clock frequency, the firmware structure, etc. t1, t2, and t3 are also shown in FIG.
[0160] The transmission / reception buffer size in (a4) indicates the maximum amount (size) of data that each accessory device can transmit or receive at one time. The data packets transmitted and received between each accessory device and the camera 200 must fit within this transmission / reception buffer size.
[0161] Fig. 13 shows the time-division setting information in this embodiment. The period of (b1) represents the communication period (T) of the time-division communication. The period is selected based on the functions of (a1) in the accessory characteristic information shown in Fig. 12, and is a frequency required for each accessory device and camera 200 to realize those functions. In this embodiment, the interchangeable lens 100 has an image stabilization function, and the camera 200 has a function to control the image stabilization function of the interchangeable lens 100. The intermediate adapter 300 also has an operation member (control ring) capable of operating various settings of the camera 200 (ISO sensitivity, shutter speed, etc.).
[0162] As shown in Fig. 12, the cycle required for controlling the image stabilization function is 1 ms, and the cycle required for transmitting the amount of operation of the control ring is 16 ms. For this reason, 1 ms is selected as the cycle for time-division communication to match the most frequent communication. Although this is a little excessive for the intermediate adapter 300, communication may be performed every 1 ms, or communication may be performed once every 16 cycles, which is less frequent.
[0163] (b2) indicates the baud rate for time division communication. This baud rate is selected as the fastest baud rate that can be adopted by all accessory devices and the camera 200 based on the corresponding baud rates in (a2) of Fig. 12. In this embodiment, 2.5 Mbps is selected as shown in Fig. 12.
[0164] (b3) indicates the length (number of bytes) of each data packet. This is calculated from the time information (a2) to (a4) in Fig. 12 and the amount of data required for one cycle to realize the function (a1). In this embodiment, since there is a lot of data sent from the camera microcomputer 205 to the lens microcomputer 111 in controlling the image stabilization function, the data packet "C→L" is 32 bytes, and the other data packets are 20 bytes.
[0165] (b4) to (b6) represent the configuration of data packets contained in the period T determined in (b1). (b4) represents the maximum number of data packets that can exist in one period. This is determined by (a1), (b1) and the number of accessory devices attached to the camera 200. In this embodiment, the period T is 1 ms, and the camera 200 is attached with one interchangeable lens 100 that needs to communicate every period and one intermediate adapter 300 that does not need to communicate every period. In other words, the data packets "C → L" and "L → C" are transmitted and received every period, and the data packets "C → A" and "A → C" can be transmitted and received at the necessary timing, so the maximum number of data packets included in one period is three.
[0166] (b5) indicates the type of data packet and the number of each data packet in one period. The type refers to one determined by the combination of the sender (communication source) and the receiver (communication destination), such as "C→L". The number of each data packet in one period refers to the number of data packets present in each period within the range that satisfies the maximum number of packets in (b4) described above. This is determined by (a1), (b1) and the number of accessory devices attached to the camera 200. In this embodiment, it is necessary to communicate with the interchangeable lens 100 at a period of 1 ms and with the intermediate adapter 300 at a period of 16 ms. For this reason, data packets "C→L" and "L→C" are arranged in the first to fourteenth periods, and in addition to the data packets "C→L" and "L→C", a data packet "C→A" is arranged in the fifteenth period. In addition to the data packets "C→L" and "L→C", a data packet "A→C" is arranged in the sixteenth period.
[0167] (b6) indicates the order (predetermined order) of data packets within one period, and is determined by (a1). The order is a parameter for dealing with various cases, such as when it is better to receive data earlier than to transmit data in the function of (a1) or when it is better to receive data from the intermediate adapter 300 before the interchangeable lens 100. In this embodiment, since an accurate period is required for controlling the image stabilization function, the data packet "C→L" is always placed at the beginning of each period, and then the data packet "L→C" which is a reply from the interchangeable lens 100 is placed. Since communication for detecting the operation of the control ring begins with the camera microcomputer 205 transmitting data to the adapter microcomputer 302 at a predetermined timing, the data packet "C→A" is prioritized over "A→C".
[0168] The method of determining the time division setting information described above is merely an example, and other determination methods may be used. For example, the baud rate may be selected to be the lowest baud rate at which the function can be realized in order to avoid communication noise. The length of the data packets may be set to be the same for all data packets. Furthermore, the time division setting information may be information that directly indicates the period T, the data packet configuration, the baud rate, the length, number, type, and order of the data packets, or information that can be converted into these. In other words, information related to the period T, the data packet configuration, the baud rate, the length, number, type, and order of the data packets, etc. may be sufficient. <Switching to time-division communication> The flowchart in Fig. 14 shows the process (communication control method) for switching from broadcast communication to time division communication. Here, the process is shown to be executed by the camera microcomputer 205 as the communication master and the lens microcomputer 111 as the communication slave. The camera microcomputer 205 and the lens microcomputer 111 execute the process shown in the flowchart in Fig. 14 according to a computer program. The process executed by the adapter microcomputer 302 is basically the same as the process executed by the lens microcomputer 111, so a description thereof will be omitted.
[0169] In S700, the camera microcomputer 205 determines whether the number of accessory devices attached to the camera 200 has been grasped. If the number has not yet been grasped, the camera microcomputer 205 proceeds to S701, where it reads the voltage of the contact terminal provided on the mount 401 to grasp the number of accessory devices. The contact terminal of the mount 401 is pulled up in the camera 200 and pulled down in the interchangeable lens 100. In the intermediate adapter 300, resistors are connected in series to the contact terminal of the mount 401 on the camera side and the contact terminal of the mount 400 on the lens side. As a result, the resistance value of the contact terminal of the mount 400 on the lens side becomes larger than the contact terminal of the mount 401 on the camera side as the number of accessory devices attached to the camera 200 increases. The camera microcomputer 205 grasps the number of intermediate accessories attached by reading the voltage value of the contact terminal of the mount 401. In addition, the interchangeable lens 100 is an essential accessory device for the camera 200, and can be considered to be always attached to the camera 200. When the camera microcomputer 205 determines the number of attached accessory devices, the process proceeds to S702.
[0170] In S702, the camera microcomputer 205 determines whether or not the lens-specific information has been acquired from the lens microcomputer 111. If it has been acquired, the process proceeds to S705, and if it has not been acquired, the process proceeds to S703.
[0171] In S703, the camera microcomputer 205 outputs Low to the notification channel CS and transmits communication partner designation data for designating the lens microcomputer 111 as a communication partner in broadcast communication to the lens microcomputer 111.
[0172] In S704, the camera microcomputer 205 keeps the notification channel CS at High and transmits a request to send lens-specific information to the lens microcomputer 111. Thereafter, the camera microcomputer 205 temporarily outputs Low to the notification channel CS, and after completing preparations to receive data on the data communication channel DATA, cancels the output of Low to the notification channel CS and waits for a reply from the lens microcomputer 111. When the lens-specific information is returned from the lens microcomputer 111, the camera microcomputer 205 proceeds to S705.
[0173] In S705, the camera microcomputer 205 determines whether or not the adapter-specific information has been acquired from the adapter microcomputer 302. If it has been acquired, the process proceeds to S708, and if it has not been acquired, the process proceeds to S706.
[0174] In S706, the camera microcomputer 205 outputs Low to the notification channel CS, and transmits communication partner designation data for designating the adapter microcomputer 302 as the communication partner by broadcast communication.
[0175] In S707, the camera microcomputer 205, while keeping the notification channel CS at High, transmits a request to transmit adapter-specific information to the adapter microcomputer 302. After that, the camera microcomputer 205 temporarily outputs Low to the notification channel CS, and after completing preparations for receiving data on the data communication channel DATA, cancels the output of Low to the notification channel CS and waits for a reply from the adapter microcomputer 302. When the adapter-specific information is returned from the adapter microcomputer 302, the process proceeds to S708.
[0176] In S708, the camera microcomputer 205 calculates time-division setting information based on the number of attached accessory devices and characteristic information consisting of lens-specific information from the interchangeable lens 100 and adapter-specific information from the intermediate adapter 300.
[0177] In S709, the camera microcomputer 205 outputs Low to the notification channel CS, and transmits, by broadcast communication, a time-division communication start command to the lens microcomputer 111 and the adapter microcomputer 302. This time-division communication start command includes the time-division setting information described above.
[0178] In S710, the camera microcomputer 205 determines whether a predetermined time has elapsed since the time division communication start command was transmitted. The predetermined time may be, for example, the time of the period T, or may be another time. The predetermined time is a time for each accessory device that has received the time division communication start command to prepare for the start of time division communication. When the predetermined time has elapsed, the camera microcomputer 205 proceeds to S711 and starts time division communication.
[0179] Meanwhile, in S800, the lens microcomputer 111 determines whether or not it has been designated as a communication partner by the camera microcomputer 205. If it has not been designated as a communication partner, it waits until it is designated, and if it has been designated, the process proceeds to S801.
[0180] In S801, the lens microcomputer 111 switches from broadcast communication to designated communication and waits for communication from the camera microcomputer 205.
[0181] In S802, the lens microcomputer 111 analyzes the communication from the camera microcomputer 205 and determines whether it is a request to send unique information. If it is a request to send unique information, the process proceeds to S803 and prepares to send the lens unique information. Then, in S804, the camera microcomputer 205, which sent the request to send unique information, cancels the Low output to the notification channel CS and waits for the notification channel CS to go High. When the notification channel CS goes High, the lens microcomputer 111 connects the data communication channel DATA to the data output unit of the lens microcomputer 111 and starts sending the lens unique information.
[0182] In S805, the lens microcomputer 111 switches back from the designated communication to the broadcast communication.
[0183] In S806, the lens microcomputer 111 determines whether the data received by broadcast communication from the camera microcomputer 205 is a time division communication start command. If it is a time division communication start command, the process proceeds to S807, where the lens microcomputer 111 sets up time division communication according to the time division setting information included in the received time division communication start command, and waits for the camera microcomputer 205 to start communication. If it is determined in S806 that it is not a time division communication start command, the process returns to S800.
[0184] If the lens microcomputer 111 determines in S802 that the communication from the camera microcomputer 205 is not a unique information transmission request, it performs processing for each other request. Then, the process proceeds to S809 to switch from the designated communication to broadcast communication again, and the process returns to S800. <Data packet structure> 15 shows the configuration of one data packet. Here, a case where the accessory device is the interchangeable lens 100 will be described as an example, but the same applies when the accessory device is the intermediate adapter 300.
[0185] First, the structure of a data packet transmitted from the camera microcomputer 205 to the lens microcomputer 111 will be described. A data packet is composed of destination information ADDR, one or more command packets CMDPn, and a data packet checksum TSUM. Each command packet CMDPn is composed of command length information LENn, a command CMDn, command data CDATAn-m, and a command packet checksum PSUMn. n and m are each an integer greater than or equal to 1.
[0186] The destination information ADDR is information that indicates the sender and receiver of the data packet, and is assigned a number according to the type of data packet, such as "01" for "C → L," "02" for "C → A," etc. The checksum TSUM of a data packet is the sum of the numerical values of all the data from the beginning of a data packet to just before the TSUM.
[0187] One or more command packets CMDP are included in one data packet. Each command packet indicates a command for making a request to the lens microcomputer 111 to receive data, transmit data, drive an actuator, or the like.
[0188] The command length information LENn in the command packet CMDP indicates the amount of data in one command packet. The command CMDn indicates a request from the camera microcomputer 205 to the lens microcomputer 111, and an individual number is assigned to each request, such as "01" for a request to receive image stabilization data, or "02" for a request to transmit the amount of control ring operation.
[0189] The command data CDATAn-m is a data group that accompanies each command CMDn, such as multiple bytes of image stabilization data that accompanies an image stabilization data reception request. Note that if data transmission from the camera microcomputer 205 is not required, such as a control ring operation amount transmission request, the command data CDATAn-m is not necessary. The command packet checksum PSUM is the sum of the values of all data from the beginning of one command packet to just before PSUM.
[0190] Next, the structure of a data packet transmitted from the lens microcomputer 111 to the camera microcomputer 205 will be described. The basic structure is the same as that of a data packet transmitted from the camera microcomputer 205. However, a command packet included in a data packet transmitted from the lens microcomputer 111 is always a reply to some request received earlier from the camera microcomputer 205. For example, if a request to receive image stabilization data is received as CMDP1 from the camera microcomputer 205, CMDPR1 transmitted from the lens microcomputer 111 is a reply to the request to receive image stabilization data.
[0191] The data packet configuration described above is merely an example. Transmission and reception from the camera microcomputer 205 to the accessory device do not necessarily have to be paired, and error checking may be performed using a cyclic redundancy check (CRC) instead of a checksum. Furthermore, a completely different data packet configuration may be adopted. <Time-division communication according to pre-determined time-division setting information> FIG. 16 shows signal waveforms when time-division communication is performed according to time-division setting information determined before time-division communication. This figure shows signal waveforms when an interchangeable lens 100 that performs communication related to the image stabilization function (hereinafter referred to as image stabilization communication) and an intermediate adapter 300 that performs communication related to the operation of the control ring (hereinafter referred to as ring operation communication) are attached to a camera 200. The method of determining the time-division setting information is as described with reference to FIG. 12 and FIG. 13. The communication cycle (T) is 1 ms, and each cycle contains up to three data packets. Data packets "C→L" and "L→C" are transmitted and received every cycle, and data packet "C→L" is always placed at the beginning of each cycle. Ring operation communication only needs to occur about once every 16 ms, so data packet "C→A" is additionally transmitted and received in the 15th cycle, and data packet "A→C" is additionally transmitted and received in the 16th cycle. Unless the time division setting information is changed or the time division communication is stopped, the communication in the first to sixteenth cycles is repeated.
[0192] 12 and 13 show examples of the characteristic information and the time division setting information of the accessory device, respectively, but other characteristic information and time division setting information may be used. For example, the maximum number of data packets in one cycle may be four, and the data packets "C→L", "L→C", "C→A" and "A→C" may all be communicated in every cycle. There may be two or more identical data packets in one cycle. Communication between the camera 200 and the interchangeable lens 100 may not be performed in every cycle. Furthermore, the data packet "C→A" may be the first in each cycle. <Changing time-sharing setting information during time-sharing communication> The time division setting information may be changed during time division communication. Fig. 17 shows examples of time division setting information before and after the change. Fig. 18 shows signal waveforms in time division communication according to the changed time division setting information shown in Fig. 17. These figures show an example in which the ring operation function becomes active as a result of the control ring of the intermediate adapter 300 being operated during time division communication, and the time division setting information is changed. The maximum number of data packets, the type and number of data packets, the order of data packets, and the length of data packets are as described in Fig. 13.
[0193] 17 and 18, the frequency of data packets "C → A" and "A → C" transmitted and received by the camera microcomputer 205 and adapter microcomputer 302 is changed from once every 16 ms to once every 2 ms, and "C → A" and "A → C" are positioned before "L → C." In this way, by changing the time division setting information midway, it is possible to switch the communication frequency of data packets "C → A" and "A → C" to one that prioritizes the responsiveness of the control ring.
[0194] Note that the functions that require the time-sharing setting information to be changed during time-sharing communication described here and the changed time-sharing setting information are merely examples, and the time-sharing setting information may be changed to other time-sharing setting information as other functions become active. <Processing for changing time-division setting information during time-division communication> The flowchart in Fig. 19 shows the process of changing time division setting information during time division communication. Here, the process is shown to be executed by the camera microcomputer 205 as the communication master and the adapter microcomputer 302 as the communication slave. The camera microcomputer 205 and the adapter microcomputer 302 execute the process shown in the flowchart in Fig. 19 in accordance with a computer program. The process executed by the lens microcomputer 111 is basically the same as the process executed by the adapter microcomputer 302, so a description thereof will be omitted.
[0195] In S900, camera microcomputer 205 transmits a request to each accessory device attached to camera 200 to check whether a function that requires changing the time-sharing setting information (abbreviated as setting information in FIG. 19) has become active. The function here is assumed to be an operation function of the control ring in intermediate adapter 300 as shown in FIG. 17, but may be a function of another accessory device.
[0196] In S901, when the camera microcomputer 205 receives a notification from the accessory device (the adapter microcomputer 302) that a function that requires a change in time-division setting information has become active, the process proceeds to S902.
[0197] In S902, the camera microcomputer 205 determines new time-division setting information in accordance with the activated function as described above with reference to FIGS.
[0198] In S903, the camera microcomputer 205 transmits the newly determined time-division setting information for the accessory device and information indicating the timing of the change (hereinafter referred to as change timing information) to each accessory device in the time-division communication data packets "C→L" and "C→A". The change timing information is for aligning the timing at which the camera microcomputer 205, the lens microcomputer 111, and the adapter microcomputer 302 change the time-division setting information, and is information such as the number of periods and the number of data packets until the change. Note that it is not necessary to transmit the new time-division setting information and the change timing information at the same time, and they may be transmitted separately. Also, here, a case is described in which the camera microcomputer 205 transmits the change timing information to each accessory device, but each microcomputer may align the change timing based on the time-division setting information before the change and the time-division setting information after the change.
[0199] In S904, when the camera microcomputer 205 receives a change acceptance notification from each accessory device, the process proceeds to S905. The change acceptance notification indicates that the accessory device is able to change the time sharing setting information based on the new time sharing setting information and change timing information it has received. Note that the accessory device may transmit an acceptance notification for the new time sharing setting information and an acceptance notification for the change timing information to the camera microcomputer 205 as separate notifications at the same time or at different times. Also, if the camera microcomputer 205 does not particularly require it, the accessory device does not need to transmit an acceptance notification.
[0200] In S905, the camera microcomputer 205 determines whether or not change acceptance notifications have been received from all accessory devices attached to the camera 200, and if so, proceeds to S906, and if there are any accessory devices for which change acceptance notifications have not been received, returns to S903.
[0201] In S906, the camera microcomputer 205 determines whether or not the timing for change has arrived, and if so, in S907 changes the time-division setting information to new information.
[0202] On the other hand, if the adapter microcomputer 302 detects an event for changing the time-sharing setting information in S1000, the process proceeds to S1001. The event here is the operation of the control ring.
[0203] In S1001, the adapter microcomputer 302 determines whether or not a request has been received from the camera microcomputer 205 to confirm whether a function that requires a change in time-division setting information has become active, and if so, proceeds to S1002.
[0204] In S1002, the adapter microcomputer 302 transmits to the camera microcomputer 205 a notification indicating that a function requiring a change in time-division setting information has become active.
[0205] In S1003, the adapter microcomputer 302 determines whether or not new time-division setting information and change timing information have been received from the camera microcomputer 205, and proceeds to S1004 if they have been received. As described above, the new time-division setting information and the change timing information do not necessarily need to be received at the same time, and may be received separately. Also, as described above, the change timing information may be aligned based on the time-division setting information before or after the change, without using the change timing information.
[0206] In S1004, the adapter microcomputer 302 transmits a change acknowledgement notification to the camera microcomputer 205. As described above, the acknowledgement notification for the change of the time-division setting information and the acknowledgement notification for the change timing information may be transmitted to the camera microcomputer 205 simultaneously or at different times, and may not be transmitted if the camera microcomputer 205 does not require them.
[0207] In S1005, the adapter microcomputer 302 determines whether or not the timing for change has arrived, and if so, in S1006 changes the time-division setting information to new information. EXAMPLES
[0208] Next, a second embodiment of the present invention will be described. The camera system of the second embodiment has the same configuration as that of the first embodiment. However, the accessory characteristic information includes function information as information on the functions of the accessory device, a request cycle, and a request data size. By determining the data packet size as the length of the data packet described in the first embodiment based on this accessory characteristic information, it is possible to improve communication efficiency in time division communication.
[0209] Fig. 20 shows accessory characteristic information in this embodiment. The function information (a11) indicates the classification of functions possessed by the accessory device. In this embodiment, three types of function information, function information 1, function information 2, and function information 3, which have different classifications of functions, are set. The data packet size is determined by allocating a data size to the data packet according to the priority of data communication associated with each function information. The method of determining the data packet size will be described later with reference to Figs. 21 and 22.
[0210] Function information 1 indicates functions of the accessory device, such as image stabilization, autofocus, aperture drive, and zoom drive, that are controlled by the camera 200 by transmitting control values from the camera 200 to the accessory device. These functions require higher responsiveness than functions classified as other function information, and are functions that are executed in strict cycles, so communication must be prioritized over other functions. In other words, by prioritizing the data packet size corresponding to a function classified as function information 1, efficient communication is possible while securing the execution cycle of the function.
[0211] Function information 2 is information indicating functions that require responsiveness among functions that transmit information from the accessory device to the camera 200. Functions classified as function information 2 include functions that transmit information used by the camera 200 for control or setting changes, such as a notification function for the operation of the control ring of the intermediate adapter 300 and a notification function for the current position of the correction lens 103 or the focus lens 104 in the interchangeable lens 100. Functions classified as function information 2 do not require high responsiveness compared to functions classified as function information 1, but are functions for which there is a risk of the performance of the accessory device being reduced due to impaired responsiveness. For this reason, a data packet size is secured preferentially for functions classified as function information 2 in order to perform communication preferentially compared to functions classified as function information 3, which will be described next.
[0212] Function information 3 is information indicating a function for transmitting or receiving information that does not require high responsiveness between camera 200 and an accessory device. Functions classified as function information 3 include a function for transmitting and receiving information indicating a setting state, such as the state of a switch for switching between autofocus and manual focus in interchangeable lens 100 and the state of a switch for switching image stabilization ON / OFF. Although these setting states need to be notified to camera 200, a delay in notification has less impact on the user than functions classified as function information 2. For this reason, functions classified as function information 3 are given a lower priority than other functions to ensure a data packet size.
[0213] Note that function information 1 to 3 are merely examples, and the number of pieces of function information does not have to be three, function information may be provided for each function, or function information may be provided for each period required to execute a function. Furthermore, in determining the data packet size, function information 2 may be given priority over function information 1, and even within the same function information, some functions may be given priority.
[0214] The requested period in (a12) indicates the period required for each accessory device to execute the corresponding function. For example, the period required for the function of controlling image stabilization classified in function information 1 (hereinafter referred to as image stabilization control function) is 1 ms, and the period required for the function of transmitting the amount of operation of the control ring classified in function information 2 (hereinafter referred to as control ring operation function) is 16 ms. There are no particular period restrictions for the function of notifying the status classified in function information 3. Note that there are generations of image stabilization control functions, and the required period may differ for each generation. Also, multiple values may be set as the period corresponding to the function. Furthermore, the period may be set for each accessory device, not for each function.
[0215] The required data size in (a13) indicates the data size required to execute the function of each accessory device. In this embodiment, communication for the image stabilization control function requires a command packet size of 24 bytes in the C→L direction within a 1 ms cycle. Also, the control ring operation function requires a command packet size of 16 bytes in the A→C direction within a 16 ms cycle. Furthermore, the status notification function requires a command packet size of 12 bytes for each data packet, although there is no limit based on the cycle.
[0216] The requested data size described here is merely an example. For example, the specific data size required to execute a function may be different from the number of bytes described above, and the requested data size may be different for each cycle that the function corresponds to. In addition, the requested data size may range from the minimum data size required to execute a function to a data size with sufficient margin.
[0217] The accessory characteristic information (supported baud rate, communication direction switching time, and transmission / reception buffer size) in FIG. 20 is as described in FIG.
[0218] The flowchart in Fig. 21 shows a process (communication control method) in which the camera microcomputer 205 determines the data packet size based on the accessory characteristic information described in Fig. 20. The camera microcomputer 205 executes this process in accordance with a computer program.
[0219] In S2000, the camera microcomputer 205 acquires accessory characteristic information from all accessory devices connected to the camera 200. Then, it compares the request cycles shown in (a11) of Fig. 20 of all accessory devices and determines the minimum value among them as the communication cycle. The determined communication cycle is not only a factor for determining the data packet size, but also time division setting information to be notified to the accessory device included in Fig. 23 described later.
[0220] Next, in S2001, the camera microcomputer 205 selects the fastest baud rate that can be adopted by all accessory devices and the camera 200 as the communication baud rate. Note that the method of determining the communication baud rate may be different from this. For example, the lowest baud rate may be selected to avoid communication noise, or a different baud rate may be set for each accessory device. The determined communication baud rate, like the communication cycle, is not only a factor in determining the data packet size, but also serves as time division setting information to be notified to the accessory devices.
[0221] Next, in S2002, the camera microcomputer 205 calculates the in-cycle transmission / reception possible time, which is the time that can be allocated to transmitting and receiving data within one communication cycle, by subtracting the communication direction switching time for one data packet from the determined communication cycle. Then, it calculates the in-cycle data size, which is the maximum data size that can be transmitted and received within the cycle, by multiplying this in-cycle transmission / reception possible time by the communication baud rate.
[0222] In the subsequent steps, the data packet size for each communication direction is determined by allocating the in-period data size to data packets that are distinguished for each communication direction. In the following description, the in-period data size that has not yet been allocated is referred to as the remaining in-period data size.
[0223] Next, in S2003, the camera microcomputer 205 secures the minimum necessary data size for performing time-division communication from the data size within the period. Here, as the minimum necessary data size, destination information ADDR and a checksum TSUM of the data packet are required for each data packet, and the data size is secured.
[0224] The minimum required data size is not limited to this, and may be 0 bytes and not be reserved, or the data size of the command length information LENn, the command CMDn, and the command packet checksum PSUM, which are components of the command packet, may be reserved. Also, a completely different data packet configuration may be adopted and the data size required for the configuration of that data packet may be reserved.
[0225] Next, in S2004, the camera microcomputer 205 selects a function according to the priority of data communication determined based on the function information. In this embodiment, the image stabilization control function classified as function information 1 has the highest priority and is selected first. Next, the control ring operation function classified as function information 2 is selected second. And finally, the status notification function classified as function information 3 is selected. Note that the selection order and priority of the functions are not limited to this, and all functions do not have to be selected, and the priority may be determined by the user.
[0226] Next, in S2005, the camera microcomputer 205 compares the required data size of the selected function with the remaining data size within the period. If the remaining data size within the period is larger than the required data size, the process proceeds to step S2006. If not, the process ends because the required data size of the function cannot be secured. Note that the process of S2005 is not necessarily required, and if the data size within the period is sufficient compared to the required data size of the function, the process may proceed directly from S2004 to S2006.
[0227] In S2006, the camera microcomputer 205 secures the required data size of the function within the remaining data size within the period and assigns it to the corresponding data packet. At this time, the required data size of the function may be acquired from the accessory device as accessory characteristic information, or the camera 200 may have it in advance as internal data.
[0228] Next, in S2007, the camera microcomputer 205 determines whether data size allocation has been completed for all functions, and ends this process if allocation to all functions has been completed. If allocation processing to all functions has not been completed, the process returns to S2004, and the next function is selected based on the priority determined based on the function information.
[0229] The camera microcomputer 205 repeats the above process until the required data size of the function cannot be secured or until the data size is allocated to all the functions. In this way, the data packet size is determined by allocating the data size based on the function information.
[0230] FIG. 22 shows a flow in which the camera microcomputer 205 determines the data packet size in the process shown in FIG. 21 based on the accessory characteristic information shown in FIG.
[0231] In (c1), the cycle of 1 ms required to execute the image stabilization control function in FIG. 20 is compared with the required cycle of 16 ms for transmitting the amount of operation of the control ring in S2000, and the shorter cycle of 1 ms is determined as the communication cycle.
[0232] Next, in (c2), in S2001, the total communication direction switching time occurring between data packets within the communication cycle is subtracted from the communication cycle to calculate the available transmission / reception time within the communication cycle. In this embodiment, data packets are communicated in the order of C→L, L→C, C→A, and A→C within the communication cycle. Therefore, there are two data packets each that depend on the communication direction switching time of the interchangeable lens 100 and the intermediate adapter 300, and a total of 600 μs is required as the communication direction switching time of the interchangeable lens 100 and the intermediate adapter 300 in FIG. 20. Therefore, the available transmission / reception time within the communication cycle is 400 μs.
[0233] It should be noted that the possible transmission / reception time within a communication cycle does not necessarily have to be determined based on the communication direction switching time between the interchangeable lens 100 and the intermediate adapter 300. For example, the possible transmission / reception time within a communication cycle may be determined based on the communication direction switching time that the camera 200 has as internal information, or the possible transmission / reception time within a communication cycle may be determined in advance as a communication rule.
[0234] Furthermore, in (c2), in S2002, the compatible baud rates of the interchangeable lens 100 and the intermediate adapter 300 shown in FIG. 20 are compared, and the fastest baud rate, 2.5 Mbps, is determined as the communication baud rate.
[0235] Next, in (c3), the data size within the cycle, 100 bytes, is calculated by multiplying the available transmission / reception time within the communication cycle, 400 μs, by the communication baud rate, 2.5 Mbps. In this embodiment, a start bit and a stop bit are added when transmitting and receiving data for each byte, so the calculation is made assuming 1 byte = 10 bits.
[0236] Next, in (c4), in S2003, a total of 8 bytes, consisting of 2 bytes of destination information ADDR and checksum TSUM of the data packet, is secured within the intra-period data size as the minimum data size required for time-division communication for each data packet.
[0237] Next, in (c5), 24 bytes, which is the required data size of the image stabilization control function, which is a function classified as function information 1 in S2004 and S2005, is allocated to the data packet from C to L.
[0238] Similarly, in (c6), 16 bytes, which is the required data size of the control ring operation function, which is a function classified as function information 2, is allocated from A to C.
[0239] In (c7), a total of 48 bytes is secured as the requested data size of the state notification function classified as function information 3, with 12 bytes secured for each data packet.
[0240] As shown in (c8), when the secured data sizes are arranged for each data packet, they are C→L: 42 bytes, L→C: 14 bytes, C→A: 14 bytes, and A→C: 30 bytes. In this embodiment, due to the data size required by the image stabilization control function, the corresponding C→L data packet size is secured to be larger than the other data packet sizes. Also, due to the data size required by the control ring operation function, the corresponding L→C data packet size is secured to be larger than the other data packet sizes excluding C→L. The data packet sizes are determined in this manner.
[0241] The method of determining the data packet size described here is merely an example, and other methods of determination may be used. For example, the data packet size may be determined only by the function, or the data packet size may be the same for each data packet as long as the required data size can be sufficiently secured.
[0242] 23 shows time-division setting information that the camera microcomputer 205 notifies the lens microcomputer 111 and the adapter microcomputer 302 in this embodiment. The time-division setting information includes the communication cycle of the time-division communication, the communication baud rate, and the data packet size of each data packet. The communication cycle is 1 ms, and the communication baud rate is 2.5 Mbps. The data packet sizes are C→L: 42 bytes, L→C: 14 bytes, C→A: 14 bytes, and A→C: 30 bytes. Note that these are merely examples, and for example, the communication cycle and the communication baud rate may be fixed and not included in the time-division setting information. The time-division setting information may also include the order of the data packets and the timing of transmission and reception within the communication cycle.
[0243] The time-division setting information including the data packet size is notified to each accessory device in the partner-specified communication shown in Fig. 8 of the first embodiment before the time-division communication. As a result, the camera 200 and all the accessory devices share the time-division setting information. Note that the method of notifying the time-division setting information is not limited to this, and the time-division setting information may be notified by including it in the time-division communication start command transmitted by broadcast communication as shown in Fig. 14 of the first embodiment, for example.
[0244] The above-described method of determining and notifying the time division setting information including the data packet size of the time division communication is merely an example, and other methods may be adopted. For example, the data packet size may be determined based only on the function information while the parameters other than the function information are fixed, or the configuration of the data packet may be different.
[0245] Moreover, what the camera microcomputer 205 determines may be the data packet size itself described above, or may be information for determining the data packet size (such as the maximum data size that the accessory device can transmit and receive as a data packet), or may be information that can be converted into a data packet size. That is, the camera microcomputer 205 may determine information related to these data packet sizes. EXAMPLES
[0246] Next, a third embodiment of the present invention will be described. The camera system of this embodiment has the same configuration as that of the second embodiment. In this embodiment, when the determined data packet size is smaller than the required data size of the function, data is divided and transmitted / received. In other words, when the data packet size is larger than the maximum data size that can be transmitted or received at one time between the accessory device and the data packet, information on the data size is determined so that the data packet is divided into multiple data packets within the maximum data size. This makes it possible to execute more functions. <Determining data packet size by data division> A method for determining the data packet size of the time-division communication in this embodiment will be described below. FIG. 24 shows accessory characteristic information held by each accessory device in this embodiment. The number of requested data bytes is the same value as that shown in FIG. 20 in the second embodiment, but in this embodiment, the number of requested data bytes indicates the number of requested data bytes in a request cycle. Even if the number of requested data bytes for executing a function cannot be secured when determining a data packet, the function data, which is data required to be transmitted and received to execute the function, is divided into multiple data packets and transmitted and received in different communication cycles. This makes it possible to execute the function. The function data may be control values for image stabilization, autofocus, aperture drive, zoom drive, etc., or may be commands for executing these controls. It may also be a command for interrupting or ending the time-division communication.
[0247] Concerning the transmission and reception buffer sizes, the transmission buffer size and reception buffer size of intermediate adapter 300 are both 8 bytes, which is smaller than those in embodiments 1 and 2. Other accessory characteristic information is similar to that in FIG.
[0248] The flowchart in Fig. 25 shows the process of determining the data packet size based on the accessory characteristic information described in Fig. 24. The camera microcomputer 205 executes this process in accordance with a computer program.
[0249] S3000 to S3003 are the same as S2000 to S2003 in the second embodiment (FIG. 21).
[0250] In S3004, the camera microcomputer 205 secures a minimum division data size within the remaining intra-cycle data size. The minimum division data size is the minimum data size that can be divided and transmitted / received for function data. By securing the minimum division data size, even if the data size required by the function is not secured later in S3008, the function data that needs to be transmitted / received to execute the function can be divided and transmitted / received within the minimum division data size and the data size secured in S3009 described later. The data size secured as the minimum division data size may be used for transmitting / receiving multiple pieces of function data.
[0251] Next, in S3005, the camera microcomputer 205 selects a function according to the priority determined based on the function information, similar to S2004 in FIG.
[0252] Then, in S3006, the camera microcomputer 205 compares the required data size of the function with the remaining data size within the period, similar to S2005 in FIG. 21, and proceeds to S3007 if the remaining data size within the period is larger, and proceeds to S3010 if not.
[0253] In S3007, the camera microcomputer 205 compares the remaining transmission / reception buffer size obtained by subtracting the already secured data size from the transmission / reception buffer size of the corresponding data packet with the required data size of the function. If the remaining transmission / reception buffer size is larger, the process proceeds to S3008, and if not, the process proceeds to S3009.
[0254] In S3008, similarly to S2006, the camera microcomputer 205 secures the necessary data size for the function within the remaining data size within the period, and allocates it to the corresponding data packet.
[0255] In S3009, the camera microcomputer 205 secures data packets corresponding to the function up to the transmission / reception buffer size. Compared to the second embodiment, by adding S3007 and S3009, it is possible to limit the data packet size so that it does not exceed the transmission / reception buffer size.
[0256] In S3010, the camera microcomputer 205 determines whether data size allocation has been completed for all functions, and ends this process if allocation to all functions has been completed. If allocation processing to all functions has not been completed, the process returns to S3005, and the next function is selected according to the priority determined based on the function information.
[0257] The camera microcomputer 205 repeats the above process until data sizes are assigned to all functions. In this way, the data packet size is determined by assigning data sizes based on function information. In addition, by reserving a minimum data size for division in advance, even if the required data size of a function is not reserved, the function can be executed by dividing and transmitting the data packet as shown in FIG. 28, which will be described later.
[0258] FIG. 26 shows a flow in which the camera microcomputer 205 determines the data packet size by carrying out the process shown in FIG. 25 based on the accessory characteristic information shown in FIG.
[0259] (d1) to (d4) are the same as (c1) to (c4) in the second embodiment (FIG. 22). At the time of (d4), the remaining data size within the period is 92 bytes.
[0260] In (d5), in S3004, a minimum divided data size, which is a data size that allows at least the transmission and reception of divided commands, is secured for each data packet by 4 bytes, totaling 16 bytes.
[0261] In (d6), the necessary data size is secured by S3008 via S3006 and S3007 for the camera shake correction control function initially selected in S3005. In this embodiment, 28 bytes, which is the requested data size, is allocated to the C→L data packet.
[0262] Next, in (d7), the remaining transmission / reception buffer size is compared with the required data size for the control ring manipulation function selected in S3005 in S3007. As a result, since the required data size cannot be secured, the transmission / reception buffer size is secured in S3009. In this embodiment, 6 bytes have already been secured for the data packet from A to C corresponding to the control ring manipulation function. And, since the transmission / reception buffer size is 8 bytes, 2 bytes are secured for the data packet from A to C corresponding to the control ring manipulation function.
[0263] Next, in (d8), the status notification function is selected in S3005, and 12 bytes, which is the required data size of the status notification function, is reserved for the data packets from C → L and L → C in S3008. For the data packets from C → A and A → C, the transmission and reception buffer size is reserved in S3009. Since 6 bytes have already been reserved for the data packet from C → A and the transmission and reception buffer size is 8 bytes, 2 bytes are reserved for the data packet from C → A that corresponds to the status notification function. Furthermore, since 8 bytes have already been reserved for the data packet from A → C and the transmission and reception buffer size is 8 bytes, the data packet from A → C that corresponds to the status notification function is not reserved.
[0264] As shown in (d9), when the secured data size is organized for each data packet, it becomes C→L: 46 bytes, L→C: 18 bytes, C→A: 8 bytes, and A→C: 8 bytes.
[0265] Fig. 27 shows the time division setting information (communication cycle, communication baud rate, and data packet size) that the camera microcomputer 205 notifies the lens microcomputer 111 and the adapter microcomputer 302. The data packet size in this embodiment is limited by the transmission and reception buffer size compared to the time division setting information shown in embodiment 2 (Fig. 23), so that C → A: 8 bytes, A → C: 8 bytes. Therefore, in this embodiment, the control ring operation function is executed by dividing the function data and transmitting and receiving it.
[0266] The method of notifying the time division setting information from the camera 200 to the interchangeable lens 100 and the intermediate adapter 300 is the same as that described with reference to FIG. <Time-division communication processing of divided function data> Each of the camera microcomputer 205, the lens microcomputer 111, and the adapter microcomputer 302 has a communication block and a function block. The communication block performs communication control including the time-division processing shown in FIG. 10. The function block performs control to execute functions. The communication block and the function block also have a shared memory that shares function data, and a local memory that the communication block accesses. Note that the shared memory and the local memory may be the same memory, and there may be multiple function blocks for each function. For example, the function blocks may include a function block for an image stabilization control function and a function block for a control ring operation function.
[0267] The camera microcomputer 205 and the lens microcomputer 111 perform the time division communication processing shown in Fig. 10 in the first embodiment. The time division communication processing performed by the adapter microcomputer 302 is basically the same as the time division communication processing performed by the lens microcomputer 111, and therefore a description thereof will be omitted.
[0268] Fig. 28 shows the process in which the camera microcomputer 205 generates a transmission data packet based on a predetermined data packet size. This process is performed in S507 and S514 of Fig. 10. Note that the lens microcomputer 111 generates a transmission data packet in the same process as Fig. 28 in S607 and S614 of Fig. 10. A detailed description of the process in which the lens microcomputer 111 generates a transmission data packet will be omitted.
[0269] In S10001, the functional block of the camera microcomputer 205 determines whether or not it is necessary to transmit functional data, and if necessary, acquires the functional data via the shared memory and proceeds to S10002. If it is not necessary to transmit functional data, the process proceeds to S10005. Before determining whether or not it is necessary to transmit functional data, the functional block prepares the functional data in the shared memory in advance.
[0270] In this embodiment, the functional block of the camera microcomputer 205 prepares functional data for the image stabilization control function in a shared memory, and notifies the communication block that the functional data for the image stabilization control function needs to be transmitted every communication cycle. Also, the functional block of the adapter microcomputer 302 prepares functional data for the control ring operation function in a shared memory, and notifies the communication block that the functional data for the control ring operation function needs to be transmitted once every 16 cycles. However, these are merely examples. For example, it may be determined that the functional data for the control ring operation function is transmitted only when the control ring is actually operated by the user, or it may not be transmitted if the image stabilization function is OFF.
[0271] Next, in S10002, the communication block of the camera microcomputer 205 determines whether or not to divide and transmit the function data, and if so, proceeds to S10003, and if not, proceeds to S10004. In this embodiment, whether or not to divide the function data is determined based on whether or not the necessary data size is secured for the function in S3008, which is the data packet size determination step described in Fig. 25. In other words, if the necessary data size is not secured, it is determined to divide the data. Note that this is merely an example, and whether or not to divide and transmit the function data may be determined based on whether or not the data packet size will be exceeded when the function data is stored in the data packet.
[0272] In S10003, the communication block of the camera microcomputer 205 places the command packet, which the accessory device has divided into function data so that it fits into the transmission data packet size, into a data packet. In this embodiment, the control ring operation function of the adapter microcomputer 302 corresponds to the function of dividing the function data. At this time, the number of data bytes required for the control ring operation function is 16 bytes. Meanwhile, the data size allocated to the control ring operation function is 6 bytes in total, consisting of 4 bytes, which is the minimum divided data size, and 2 bytes, which is reserved for the data packet corresponding to the control ring operation function up to the transmission / reception buffer size, out of the data packet size from L→C. Therefore, the function data is divided so that it fits into the allocated size, and a command packet is generated.
[0273] In this embodiment, the function data for the control ring operation function is simply divided into three, each of which is 6 bytes: bytes 1-6, bytes 7-12, and bytes 13-16. Then, the command packet from bytes 1-6 is stored in a data packet. The command packet from bytes 7-12 and the command packet from bytes 13-16 are stored in local memory, and are stored in data packets in S10003 when data packets are generated in the next cycle and the cycle after that. Then the process proceeds to S10005.
[0274] Note that the method of generating command packets by dividing the functional data is merely an example, and other generation methods may be used. For example, for each command packet generated by dividing, the data size of the command length information LENn, the command CMDn, and the checksum PSUM of the command packet, which are the components of the command packet, may or may not be secured. Also, the command may be divided into smaller command packets in order to secure the data size of the status notification function, etc. Furthermore, the number of divisions of the functional data may be divided into 16 to match the request cycle.
[0275] In S10004, the communication block of the camera microcomputer 205 puts a command packet including all the data necessary for the accessory device to execute the function into a transmission data packet. Specifically, the camera microcomputer 205 puts a command packet for the image stabilization control function into the transmission data packet. The number of data bytes required for the image stabilization control function is 24 bytes, so a 24-byte command packet is generated without dividing the function data and put into the data packet. Then, proceed to S10005.
[0276] In S10005, the communication block of the camera microcomputer 205 checks whether the determination in S10001 has been performed for all the function data, and if there is any function data that has not been performed, the process returns to S10001. In this manner, this process is repeated until the determination of whether or not transmission is required for all the function data is completed. If the determination in S10001 has been performed for all the function data, the process proceeds to END. END indicates the end of the process of generating one transmission data packet.
[0277] Fig. 29 shows the process in which the camera microcomputer 205 receives and analyzes a transmission data packet generated based on a predetermined data packet size. This process is performed in S512 of Fig. 10. Note that the lens microcomputer 111 receives and analyzes the transmission data packet in S612 of Fig. 10 using the same process as Fig. 29. A detailed description of the process in which the lens microcomputer 111 receives and analyzes the transmission data packet will be omitted.
[0278] In S10101, the communication block of the camera microcomputer 205 waits to receive a data packet, and when it receives the packet, proceeds to S10102.
[0279] In S10102, the communication block of the camera microcomputer 205 determines whether or not function data has been received, and if not, proceeds to S10106. If received, the communication block analyzes the command packet in the received data packet and selects one of the function data. In this embodiment, the function data is selected in the order of reception. Note that the function data may be selected according to the priority of the function information associated with it.
[0280] Next, in S10103, the communication block of the camera microcomputer 205 determines whether the received function data is divided function data (hereinafter referred to as divided function data), and if it is not divided function data, proceeds to S10104, and if it is divided function data, proceeds to S10105. Note that if the received function data is divided function data, and the function data before division is complete with the divided function data acquired this time, the divided function data is retrieved from the local memory and the function data before division is generated, and then proceeds to S10104.
[0281] In S10104, the communication block of the camera microcomputer 205 stores the received function data in the shared memory. The communication block executes the corresponding function based on the function data stored in the shared memory. In this embodiment, the function block of the camera microcomputer 205 executes the control ring operation function based on the function data of the control ring operation function. For example, if the control ring is assigned a function for changing the shutter speed setting value, the function block of the camera microcomputer 205 changes the shutter speed setting value in the camera 200 in response to the operation of the control ring. In addition, the function block of the lens microcomputer 111 executes the image stabilization function based on the function data of the image stabilization control function received from the camera microcomputer 205. Other functions are also executed based on the function data.
[0282] In S10105, the communication block of the camera microcomputer 205 stores the received division function data in the local memory.
[0283] Next, in S10106, the communication block of the camera microcomputer 205 determines whether or not all the received function data has been processed, and if not all the function data has been processed, the process returns to S10102 to continue analyzing the data packet. If all the function data has been processed, the process proceeds to END. END indicates the end of the analysis process of one received data packet. EXAMPLES
[0284] Next, a fourth embodiment of the present invention will be described. The camera system of this embodiment has the same configuration as that of the first embodiment. In this embodiment, an error is detected based on information used for error detection included in a data packet. The information used for error detection includes at least one of a destination, a command, the number of data for each command, a checksum for each command, and a checksum for a data packet. In this embodiment, among errors, an error that causes communication to break down, such as an abnormality in the destination of a packet or a bit shift, is classified as a "serious error" and an error that does not break down is classified as a "minor error", and error processing is performed accordingly. In addition, the error processing is also performed according to whether a command containing a minor error is a command that is periodically transmitted or received, or a command that is irregularly transmitted or received, such as when an event occurs. In this embodiment, when an error is detected, the content of the communication error processing is changed according to the type of error. In addition, when an error is detected, the content of the communication error processing may be changed according to the content of the communication error at the time of the error occurrence. <Processing for minor errors in time-division communication> FIG. 30 shows the communication process when the periodic command contains a checksum error. The data packet configuration is as described in FIG. 15. If the PSUM of CMDPR1 (periodic command), which is a reply to the image stabilization data reception request, becomes an error due to the influence of noise or the like in the L→C packet of period T1, the camera microcomputer 205, which is the receiver, performs communication from the next period T2 onwards without notifying the communication error. The data containing the checksum error is discarded without being used for subsequent processing. In this way, in the case of a periodic command, even if there is a minor error in the data of a certain period, the latest data from the next period onwards can be used, so time-division communication continues without notifying an error or requesting retransmission. However, if the same command contains consecutive errors, the impact on operation becomes large, so the camera microcomputer 205, which is the receiver, stores the number of consecutive errors and performs error processing when the number of consecutive errors exceeds a predetermined number.
[0285] FIG. 31 shows communication processing in the case where a checksum error is included in a periodically received command that is not a periodic command (such as an event occurrence command that is non-periodically received (for example, a command transmitted and received irregularly, or a command based on the operation of an operating member)). In an L→C packet in a certain period T1, if an error occurs in the PSUM of CMDPR2 (assumed to be a non-periodic command) due to the influence of noise or the like, the camera microcomputer 205, which is the receiver, notifies the communication error of the command at the timing of the next transmission. Data that contained a checksum error is discarded without being used for subsequent processing. When the lens microcomputer 111, which is the sender, receives an error notification command, it resends the previously transmitted data of the command at the timing of the next transmission. In this way, if the command is not a periodic command, it is necessary to resend the previously transmitted data so that there is no discrepancy in recognition between the sender and the receiver in subsequent processing. In addition, for commands that do not contain a checksum error, communication is performed in the same manner as in normal times. This makes it possible to perform only the necessary error processing without stopping the processing of other commands that have been normally communicated. However, if the same command contains consecutive errors, the effect on operation will be significant, so the camera microcomputer 205, which is the receiver, stores the number of consecutive errors and performs error processing when a predetermined number is exceeded.
[0286] 30 and 31 show an example in which a checksum error is included in an L→C packet, but the same applies to other packets. Also, this is not limited to checksum errors, but also applies to minor errors such as framing errors and parity errors. Furthermore, the periodic command is not limited to being sent every cycle, and may be sent once every two or three cycles. <Data packet reception process flow for time-division communication> The flowcharts in Figures 32A and 32B show the reception processing of data packets during time-division communication executed by the camera microcomputer 205 as the communication master and the lens microcomputer 111 as the communication slave. The camera microcomputer 205 and the lens microcomputer 111 execute the processing shown in the flowcharts in Figures 32A and 32B in accordance with a computer program. The partner-specified communication processing executed by the adapter microcomputer 302 is basically the same as the partner-specified communication processing executed by the lens microcomputer 111, so a description thereof will be omitted. Also, Figures 32A and 32B omit the processing when it is not the timing for reception.
[0287] In S4000, the camera microcomputer 205 determines whether the destination of the packet received at the timing of reception by the camera microcomputer 205 is itself or not, and if so, proceeds to S4001, and if not, proceeds to S4015.
[0288] In S4001, the camera microcomputer 205 analyzes one command in the received packet.
[0289] In S4002, the camera microcomputer 205 determines whether the command being analyzed is a reply command to a previously sent command (whether the command portion has been garbled by noise or the like), and if so, proceeds to S4003, and if not, proceeds to S4013.
[0290] In S4003, the camera microcomputer 205 determines whether or not there is a checksum error in the command being analyzed, and if so, proceeds to S4004, and if not, proceeds to S4011.
[0291] In S4004, the camera microcomputer 205 determines whether the command containing the checksum error is a periodic command or not, and if it is not a periodic command, in S4010, generates a command requesting a resend of the previous data and adds it to the next transmission packet. Then, proceeds to S4005. If it is a periodic command, the data sent in the next cycle can be used, so there is no need to request a resend, and proceeds directly to S4005.
[0292] In S4013, the camera microcomputer 205 determines whether the previously transmitted command was a periodic command, and if it was not a periodic command, in S4014, it regenerates the previously transmitted command and adds it to the next transmission packet. Then, it proceeds to S4005. If it was a periodic command, it is not necessary to resend the previous data because the latest data can be sent in the next cycle, and it proceeds directly to S4005.
[0293] In S4005, the camera microcomputer 205 discards the received data without processing it.
[0294] In S4006, the camera microcomputer 205 counts the number of consecutive errors, and then in S4007, it is determined whether the number of consecutive errors exceeds a predetermined number. The predetermined number is a value set for each command. If the number of consecutive errors exceeds the predetermined number, in S4008, an error process according to the command is performed.
[0295] In S4011, since the camera microcomputer 205 has received the data normally, it processes the received data in accordance with the command.
[0296] In S4012, the camera microcomputer 205 resets the number of consecutive errors to zero.
[0297] In S4009, the camera microcomputer 205 determines whether or not the analysis of all commands contained in the received packet is complete, and if so, proceeds to "END." If not (if there are commands remaining in the received packet that have not yet been analyzed), the process returns to S4001 and the next command is analyzed.
[0298] In S4015, the camera microcomputer 205 performs a process to restore the time-division communication. Then, the process proceeds to "END".
[0299] "END" indicates the end of the analysis process of the received packet.
[0300] Meanwhile, in S4100, the lens microcomputer 111 determines whether the packet received at its own reception timing is addressed to itself or not, and if so, proceeds to S4101, and if not, proceeds to S4112.
[0301] In S4101, the lens microcomputer 111 analyzes one command in the received packet.
[0302] In S4102, the lens microcomputer 111 determines whether or not there is a checksum error in the command being analyzed, and if so, proceeds to S4103, and if not, proceeds to S4110.
[0303] In S4103, the lens microcomputer 111 determines whether the command containing the checksum error is a periodic command or not, and if it is not a periodic command, in S4109, it generates a command requesting resending of the previous data and adds it to the next transmission packet. Then, it proceeds to S4104. If it is a periodic command, it is not necessary to request resending because the data sent in the next cycle can be used, and it proceeds directly to S4104.
[0304] In S4104, the lens microcomputer 111 discards the received data without processing it.
[0305] In S4105, the lens microcomputer 111 counts the number of consecutive errors, and then in S4106, it is determined whether the number of consecutive errors exceeds a predetermined number. The predetermined number is a value set for each command. If the number of consecutive errors exceeds the predetermined number, in S4107, an error process according to the command is performed.
[0306] In S4110, the lens microcomputer 111 has received the data normally and therefore processes the received data in accordance with the command.
[0307] In S4111, the lens microcomputer 111 resets the number of consecutive errors to zero.
[0308] In S4108, the lens microcomputer 111 determines whether or not analysis of all commands contained in the received packet is complete, and if so, proceeds to "END." If not (if there are commands remaining in the received packet that have not yet been analyzed), the process returns to S4101 and analyzes the next command.
[0309] In S4112, the lens microcomputer 111 performs a process to restore the time-division communication. Then, the process proceeds to "END".
[0310] "END" indicates the end of the analysis process of the received packet. <Time-division communication recovery process> If a serious error occurs that causes communication to break down, recovery processing of the time-division communication is performed. FIG. 33 shows error notification and recovery processing when there is an abnormality in the packet destination. The receiver checks the destination of the received packet and confirms that it is addressed to itself. If the packet destination is C→A at the timing when the C→L packet is originally sent, the lens microcomputer 111, which is the receiver, sets CS to Low for a predetermined time t4 to notify other devices of the abnormality. When the other device detects that CS has been Low for a predetermined time, it interrupts the time-division communication and switches the communication setting to broadcast communication. After that, when CS becomes High (after communication with the other device is established), the camera microcomputer 205, which is the communication master, restarts the initial communication of the time-division communication by broadcast communication and other-party designated communication (resumes the time-division communication). The process of switching to time-division communication is as described using FIG. 11.
[0311] In Fig. 33, an example of an error that causes communication to fail is shown as an abnormality in the packet destination, but this is not the only possible case. For example, the same applies to errors such as when data is not sent for a certain period of time, when the CS moves during data transmission and reception, when a bit shift occurs, etc. [Other Examples] The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0312] The disclosure of this embodiment includes the following configurations and methods.
[0313] (Configuration 1) A camera that can be used with multiple accessory devices connected, a camera control unit that controls communication with the plurality of accessory devices using a notification channel used for notification between the plurality of accessory devices and a data communication channel used for data communication between the plurality of accessory devices; The camera control unit is The data communication channel can be used to perform a first communication for simultaneous communication with the plurality of accessory devices and a second communication for individual communication with a specific accessory device among the plurality of accessory devices; A camera characterized in that when an error is detected based on information used for error detection contained in a data packet when switching the specific accessory device in a predetermined order to perform the second communication, the camera changes the content of the communication error processing depending on the type of the error. (Configuration 2) The camera according to configuration 1, wherein the camera control unit, when detecting the error, changes the content of the communication error processing depending on the communication situation at the time the error occurs. (Configuration 3) The camera according to configuration 1 or 2, characterized in that the information used for the error detection includes at least one of a destination, a command, a number of data per command, a checksum per command, and a checksum of the data packet. (Configuration 4) The camera according to any one of configurations 1 to 3, wherein the error is a minor first error that does not cause a communication breakdown, or a second error different from the first error. (Configuration 5) The camera described in configuration 4, characterized in that when the first error is included in the first command and data periodically received from the accessory device, the camera control unit does not notify the accessory device of a communication error and continues communication. (Configuration 6) The camera described in configuration 4 or 5, characterized in that when the first error is included in the second command and data received non-periodically from the accessory device, the camera control unit notifies the accessory device of a communication error and requests the accessory device to resend the data previously sent. (Configuration 7) A camera described in any one of configurations 4 to 6, characterized in that the camera control unit performs a process to recover from a communication error when the number of times the first error is continuously detected exceeds a predetermined number of times. (Configuration 8) The camera according to any one of configurations 4 to 7, wherein the camera control unit performs a process of recovering from a communication error when the second error is detected. (Configuration 9) A camera described in any one of configurations 4 to 8, characterized in that when the camera control unit detects the second error, it notifies of a communication error by making the signal level of the notification channel Low for a predetermined period of time. (Configuration 10) A camera described in any one of configurations 4 to 9, characterized in that when the camera control unit detects the second error, it interrupts time-division communication, establishes communication with each of the multiple accessory devices, and then resumes time-division communication. (Configuration 11) 11. The camera according to any one of configurations 1 to 10, wherein the camera control unit retransmits previously transmitted data when an error notification is received from the accessory device. (Configuration 12) An accessory device connected to a camera that can be used with multiple accessory devices connected thereto, an accessory control unit that controls communication with the camera using a notification channel used for notification with the camera and a data communication channel used for data communication with the camera; The accessory control unit includes: The data communication channel can be used for a first communication for simultaneous communication from the camera to the plurality of accessory devices and a second communication for individual communication with the camera; an accessory device characterized in that, when the second communication with the camera is performed in a predetermined order that switches between a specific accessory device among the multiple accessory devices that will perform the second communication with the camera, if an error is detected based on information used for error detection contained in a data packet, the accessory device changes the content of the communication error processing depending on the type of the error. (Configuration 13) 13. The accessory device according to claim 12, wherein the accessory control unit, when detecting the error, changes the content of the communication error processing depending on the communication situation at the time the error occurs. (Configuration 14) 14. The accessory device of claim 12 or 13, wherein the information used for error detection includes at least one of a destination, a command, a number of data per command, a checksum per command, and a checksum of the data packet. (Configuration 15) 15. The accessory device according to any one of configurations 12 to 14, wherein the error is a minor first error that does not cause a communication breakdown, or a second error different from the first error. (Configuration 16) The accessory device described in configuration 15, characterized in that when the first error is included in the first command and data periodically received from the camera, the accessory control unit does not notify the camera of a communication error and continues communication. (Configuration 17) The accessory device described in configuration 15 or 16, characterized in that when the first error is included in the second command and data received non-periodically from the camera, the accessory control unit notifies the camera of a communication error and requests the camera to resend the data previously sent. (Configuration 18) An accessory device described in any one of configurations 15 to 17, characterized in that the accessory control unit performs a recovery process from a communication error when the number of times the first error is continuously detected exceeds a predetermined number. (Configuration 19) 19. The accessory device according to any one of configurations 15 to 18, wherein the accessory control unit performs a process of recovering from a communication error when the second error is detected. (Configuration 20) An accessory device described in any one of configurations 15 to 19, characterized in that when the accessory control unit detects the second error, it notifies of a communication error by making the signal level of the notification channel low for a predetermined period of time. (Configuration 21) An accessory device described in any one of configurations 15 to 20, characterized in that when the accessory control unit detects the second error, it interrupts time-division communication, establishes communication with the camera, and then resumes time-division communication. (Configuration 22) 22. The accessory device according to any one of configurations 12 to 21, wherein the accessory control unit retransmits previously transmitted data when an error notification is received from the camera. (Method 1) A method for controlling communication with a camera that can be used in a state where a plurality of accessory devices are connected, using a notification channel used for notification between the camera and the plurality of accessory devices and a data communication channel used for data communication between the camera and the plurality of accessory devices, comprising: The camera is capable of performing a first communication for simultaneous communication with the plurality of accessory devices and a second communication for individual communication with a specific accessory device among the plurality of accessory devices, using the data communication channel; A communication control method characterized by the fact that when the camera performs the second communication with the multiple accessory devices by switching between the specific accessory device in a predetermined order, if an error is detected based on information used for error detection contained in a data packet, the content of the communication error processing is changed depending on the type of the error. (Method 2) 1. A method for controlling communication between an accessory device connected to a camera that can be used in a connected state with a plurality of accessory devices and the camera, the method comprising: the accessory device is capable of performing a first communication for simultaneous communication from the camera to the plurality of accessory devices and a second communication for individual communication with the camera, using the data communication channel; A communication control method characterized by the fact that when the accessory device performs the second communication with the camera in accordance with a predetermined order that switches between a specific accessory device among the multiple accessory devices that will perform the second communication with the camera, if an error is detected based on information used for error detection contained in a data packet, the content of the communication error processing is changed depending on the type of the error. (Configuration 23) A program for causing a computer of a camera that can be used in a state where a plurality of accessory devices are connected to the camera to execute a process according to the communication control method described in Method 1. (Configuration 24) A program for causing a computer of an accessory device connected to a camera usable with a plurality of accessory devices connected thereto to execute processing according to the communication control method described in Method 2.
[0314] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist of the present invention. [Explanation of symbols]
[0315] 100 Interchangeable lenses (accessory devices) 111 Lens microcomputer (accessory control unit) 200 Cameras 205 Camera microcomputer (camera control unit) 300 Intermediate adapter (accessory device) 302 Adapter microcontroller (accessory control unit) CS Notification Channel DATA Data communication channel
Claims
1. An imaging device that can be used with a plurality of accessory devices connected thereto, a control unit for controlling data communication with the plurality of accessory devices; The control unit a first communication for simultaneous communication with the plurality of accessory devices using a first channel, and a second communication for individual communication with a specific accessory device among the plurality of accessory devices using the first channel; An imaging device characterized in that, in the second communication, when executing a first communication method in which the specific accessory device is switched in a predetermined order to perform the individual communication, if an error is detected based on first information used to detect an error contained in a data packet, the imaging device changes error processing depending on the type of the error.
2. 2. The imaging device according to claim 1, wherein, when the control unit detects the error, the control unit changes the error processing depending on the communication situation at the time the error occurs.
3. 3. The imaging device according to claim 1, wherein the first information includes at least one of a destination in the second communication, a command, a data count for each command, a checksum for each command, and a checksum for the data packet.
4. The imaging device described in claim 1 or 2, characterized in that if the first command and data received periodically from the accessory device contain an error that does not affect communication failure, the control unit continues communication without notifying the accessory device of the error.
5. The imaging device described in claim 1 or 2, characterized in that if the second command and data received non-periodically from the accessory device contain an error that does not affect communication failure, the control unit notifies the accessory device of the error and requests the accessory device to resend the data previously sent.
6. 3. The imaging device according to claim 1, wherein the control unit performs a recovery process from an error when the number of consecutive errors that do not affect communication breakdown exceeds a predetermined number.
7. 3. The imaging device according to claim 1, wherein the control unit performs a recovery process from the error when an error that affects a breakdown of communication is detected.
8. The imaging device described in claim 1 or 2, characterized in that when the control unit detects an error that affects communication failure, it notifies the error by setting the signal level of a notification channel used for notification between the multiple accessory devices to Low for a predetermined period of time.
9. The imaging device described in claim 1 or 2, characterized in that the control unit interrupts communication using the first communication method if it detects an error that affects communication failure when executing the first communication method, and resumes communication using the first communication method after establishing the individual communication with each of the multiple accessory devices.
10. 3. The imaging device according to claim 1, wherein the control unit retransmits previously transmitted data when a notification regarding an error is received from the accessory device.
11. An accessory device that can be connected to an imaging device that can be used with a plurality of accessory devices connected thereto, a control unit for controlling data communication with the imaging device; The control unit a first communication for simultaneous communication using a first channel between the plurality of accessory devices including the accessory device and the imaging device, and a second communication for individual communication using the first channel between the accessory device and the imaging device, In the second communication, when a first communication method is executed in which a specific accessory device among the plurality of accessory devices that performs the individual communication with the imaging device is switched in a predetermined order, if an error is detected based on first information used to detect an error contained in a data packet, the accessory device changes error processing depending on the type of the error.
12. The accessory device according to claim 11 , wherein, when the control unit detects the error, the control unit changes the error handling depending on the communication situation at the time the error occurs.
13. 13. The accessory device according to claim 11, wherein the first information includes at least one of a destination in the second communication, a command, a data count for each command, a checksum for each command, and a checksum for the data packet.
14. The accessory device described in claim 11 or 12, characterized in that if the first command and data received periodically from the imaging device contain an error that does not affect communication failure, the control unit continues communication without notifying the imaging device of the error.
15. The accessory device described in claim 11 or 12, characterized in that if the second command and data received non-periodically from the imaging device contain an error that does not affect communication failure, the control unit notifies the imaging device of the error and requests the imaging device to resend the data previously sent.
16. 13. The accessory device according to claim 11, wherein the control unit performs a recovery process from the error when the number of consecutive errors that do not affect communication breakdown exceeds a predetermined number.
17. 13. The accessory device according to claim 11, wherein the control unit performs a process of recovering from an error when an error that affects a breakdown of communication is detected.
18. The accessory device described in claim 11 or 12, characterized in that when the control unit detects an error that affects communication failure, it notifies the error by setting the signal level of a notification channel used for notification between the multiple accessory devices to Low for a predetermined period of time.
19. The accessory device described in claim 11 or 12, characterized in that if the control unit detects an error that affects communication failure when executing the first communication method, it interrupts communication using the first communication method, and resumes communication using the first communication method after establishing communication with the imaging device.
20. 13. The accessory device according to claim 11, wherein the control unit retransmits previously transmitted data when a notification regarding an error is received from the imaging device.
21. A control method for an imaging device that can be used in a state where multiple accessory devices are connected, comprising: the imaging device is capable of performing a first communication for simultaneous communication with the plurality of accessory devices using a first channel, and a second communication for individual communication with a specific accessory device among the plurality of accessory devices using the first channel; A control method characterized by, when the imaging device performs the second communication using a first communication method in which the imaging device switches between the specific accessory devices in a predetermined order to perform the individual communication, if an error is detected based on first information used to detect an error contained in a data packet, changing error processing depending on the type of the error.
22. 1. A control method for an accessory device connected to an imaging device that can be used with a plurality of accessory devices connected thereto, comprising: the accessory device is capable of performing a first communication for simultaneous communication using a first channel between the plurality of accessory devices including the accessory device and the imaging device, and a second communication for individual communication using the first channel with the imaging device; A control method characterized by the fact that when the accessory device performs the second communication using a first communication method in which a specific accessory device among the plurality of accessory devices that performs the individual communication with the imaging device is switched in a predetermined order, if an error is detected based on first information used to detect an error contained in a data packet, error processing is changed depending on the type of the error.
23. A program characterized by causing a computer of the imaging device to execute processing in accordance with the control method described in claim 21.
24. A program characterized by causing a computer of the accessory device to execute processing in accordance with the control method described in claim 22.