Imaging device, accessory device, and communication control method

The camera system optimizes communication with accessory devices through a notification and data channel system, addressing inefficiencies in existing methods by enabling efficient and high-speed data transfer.

JP7877064B2Active Publication Date: 2026-06-22CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2022-05-23
Publication Date
2026-06-22

Smart Images

  • Figure 0007877064000001
    Figure 0007877064000001
  • Figure 0007877064000002
    Figure 0007877064000002
  • Figure 0007877064000003
    Figure 0007877064000003
Patent Text Reader

Abstract

To efficiently perform data communication between a camera and an accessory device.SOLUTION: A camera 200 can be used when a plurality of accessory devices 100, 300 is attached thereto, and has a camera control unit 205 that controls communication with the plurality of accessory devices using a notification channel used for notification to the plurality of accessory devices and a data communication channel used for data communication with the plurality of accessory devices. The camera control unit performs, by using the data communication channel, first communication for broadcast, and second communication for individual communication with a specific accessory device. When performing the second communication with the plurality of accessory devices while switching the specific accessory device in a predetermined order within one or more communication periods, the camera determines a communication period, a communication speed, the number and a length of data packets communicated in every communication period, and a combination and an order of a communication source and a communication destination on the basis of accessory information acquired from the accessory devices.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0005]

[0001] The present invention relates to communication control technology between an imaging device (hereinafter referred to as a camera) and an accessory device attached thereto.

Background Art

[0002] A camera and an accessory device such as an interchangeable lens or an intermediate adapter operate as a camera system while communicating with each other. Patent Document 1 discloses a camera system capable of broadcast communication in which a camera communicates with a plurality of accessory devices simultaneously and P2P communication in which a camera designates a specific accessory device and communicates with this specific accessory device individually. By performing these communication methods, even when a plurality of accessory devices are attached to the camera, the camera can communicate with an arbitrary accessory device.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in order for a camera to perform P2P communication with a specific accessory device in the camera system disclosed in Patent Document 1, first, communication for designating a specific accessory device is performed, and then communication for switching the communication method and communication direction is performed. etc. are required. Therefore, it takes longer for other communication than for P2P communication itself. As a result, in order to ensure communication with a specific accessory device at a desired timing, it is necessary to limit communication with another accessory device or reduce the communication frequency with a specific accessory device.

[0005] The present invention provides an imaging device and accessory device, etc., that enable good communication between a camera and an accessory device by efficiently performing data communication between the camera and the accessory device. [Means for solving the problem]

[0006] 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. 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 based on accessory information acquired from the multiple accessory devices, it controls at least one of the following: communication cycle, communication speed, number of data packets communicated in each communication cycle, length, combination of source and destination, and order. one Decide Furthermore, a second communication with multiple accessory devices is performed by switching specific accessory devices in a predetermined order within one or more communication cycles. Characterized by 。

[0007] Another aspect of the present invention is a communication control method for a camera that can be used with multiple accessory devices connected, which controls communication with 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. The camera can use the data communication channel to perform a first communication for simultaneous communication with multiple accessory devices and a second communication for individual communication with a specific accessory device among the multiple accessory devices. The communication control method instructs the camera to control, based on accessory information acquired from the multiple accessory devices, at least one of the following: communication cycle, communication speed, number of data packets communicated in each communication cycle, length, combination of source and destination, and order. one Let's decide The camera is instructed to perform a second communication with multiple accessory devices by switching between specific accessory devices in a predetermined order within one or more communication cycles. It is characterized by the following. Furthermore, a program that causes the camera's computer to execute processing in accordance with the above-described communication control method also constitutes another aspect of the present invention. [Effects of the Invention]

[0009] According to the present invention, by efficiently communicating data between the imaging device and the accessory device, good communication between the imaging device and the accessory device can be achieved. [Brief explanation of the drawing]

[0010] [Figure 1] A block diagram showing the configuration of the camera system in Example 1. [Figure 2] A diagram showing the communication circuit in the camera system of Example 1. [Figure 3] A diagram showing the format of the data transmitted and received in Example 1. [Figure 4] A diagram showing the signal waveform of broadcast communication in Example 1. [Figure 5] This figure shows the signal waveform of the designated communication in Example 1. [Figure 6] This figure shows the signal waveforms during the switching of the communication method in Example 1. [Figure 7] A flowchart illustrating the broadcast communication process in Example 1. [Figure 8] A flowchart illustrating the communication process for specifying the recipient in Example 1. [Figure 9] A diagram showing the signal waveforms of time-division communication in Example 1. [Figure 10] A flowchart illustrating the time-division communication process in Example 1. [Figure 11] This figure shows the signal waveform when switching to time-division communication in Example 1. [Figure 12] A diagram showing characteristic information that the camera receives from the accessory in Example 1. [Figure 13] This figure shows the time-division communication configuration information determined based on characteristic information in Example 1. [Figure 14] A flowchart illustrating the process of initial communication and switching the communication method for time-division communication in Example 1. [Figure 15] Figure showing the internal structure of a data packet in Example 1. [Figure 16] Figure showing the signal waveform of a data packet determined before time - division communication in Example 1. [Figure 17] Figure showing the setting information of time - division communication before and after the change in Example 1. [Figure 18] Figure showing the signal waveform of the setting information after the change in Example 1. [Figure 19] Flowchart showing the process of switching the configuration of a data packet during time - division communication in Example 1. [Figure 20] Figure showing the characteristic information received by the camera from the accessory in Example 2. [Figure 21] Flowchart showing the data packet size determination process in Example 2. [Figure 22] Figure showing the flow of determining the data packet size in Example 2. [Figure 23] Figure showing the setting information of time - division communication determined based on the characteristic information in Example 2. [Figure 24] Figure showing the characteristic information received by the camera from the accessory in Example 3. [Figure 25] Flowchart showing the data packet size determination process in Example 3. [Figure 26] Figure showing the flow of determining the data packet size in Example 3. [Figure 27] Figure showing the setting information of time - division communication determined based on the characteristic information in Example 3. [Figure 28] Flowchart showing the process of dividing and transmitting data during time - division communication in Example 3. [Figure 29] Flowchart showing the process of dividing and receiving data during time - division communication in Example 3.

Mode for Carrying Out the Invention

[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. [Examples]

[0012] Figure 1 shows a camera system which is Embodiment 1 of the present invention. The camera system includes a camera (imaging device) 200, an interchangeable lens 100, and an intermediate adapter 300 mounted between the camera 200 and the interchangeable lens 100. The interchangeable lens 100 and the intermediate adapter 300 correspond to accessory devices that are connected to the camera 200 and can be used with multiple accessory devices attached. Mounting to the camera 200 as referred to here includes not only direct connection to the camera 200, but also indirect connection via accessory devices such as the intermediate adapter 300. Furthermore, it is sufficient that the camera 200 is connected in a communicative manner. Note that multiple intermediate adapters may be mounted between the camera 200 and the interchangeable lens 100.

[0013] Control commands and internal information are communicated between the camera 200, the interchangeable lens 100, and the intermediate adapter 300 via their respective communication units. Communication between the camera 200, the interchangeable lens 100, and the intermediate adapter 300 takes place using both a broadcast communication method (first communication) and a P2P communication method (second communication).

[0014] The broadcast communication method is a one-to-many (simultaneous) communication method in which data is transmitted simultaneously from the camera 200, which acts as the communication master, to each accessory device, which acts as the communication slave. In the following explanation, communication using the broadcast communication method will be referred to as broadcast communication. The P2P communication method is a method in which the camera 200, which acts as the communication master, communicates one-to-one with one accessory device, which acts as the communication slave (specific accessory device).

[0015] P2P communication methods include two types: one in which camera 200 needs to specify the communication partner each time it switches partners, and another in which camera 200 switches communication partners in a predetermined order without needing to specify a partner. In the following explanation, communication using the method that requires specifying a communication partner will be called partner-specific communication, and communication using the method that switches communication partners in order will be called time-division communication. These two types of communication, partner-specific communication and time-division communication, are collectively referred to as P2P communication.

[0016] When camera 200 performs designated communication, it transmits information indicating (designating) the communication partner to each accessory device via broadcast communication. Furthermore, when camera 200 performs time-division communication, it transmits information such as the order and direction of communication to each accessory device via broadcast communication.

[0017] At the start of P2P communication, each accessory device is notified of the communication partner of camera 200. Therefore, in P2P communication, camera 200 does not need to send information to each accessory device to identify the communication partner. In this way, by identifying the communication partner of camera 200 via broadcast communication and then transitioning to P2P communication with that partner, the communication speed in P2P communication can be improved.

[0018] In partner-specific communication, it is necessary to specify the next communication partner via broadcast communication each time the communication partner is switched, but camera 200 can select any communication partner depending on the situation. On the other hand, in time-division communication, the timing of switching the communication partner and communication direction is predetermined, so although the degree of freedom in selecting a communication partner is lower compared to partner-specific communication, the time required to specify the communication partner can be reduced, thus improving the communication speed. <Camera system configuration> The intermediate adapter 300 is mechanically and electrically connected to the camera 200 via a mounting mechanism, which is a mount 401. The intermediate adapter 300 receives power from the camera 200 via a power terminal (not shown) provided on the mount 401, and operates the adapter microcomputer (hereinafter referred to as the adapter microcontroller) 302, which acts as an accessory control unit.

[0019] The interchangeable lens 100 is mechanically and electrically connected to the intermediate adapter 300 via a mounting mechanism, which is a mount 400. The interchangeable lens 100 receives power from the camera 200 via a power terminal (not shown) on the mount 400 and a power terminal on the aforementioned mount 401. The interchangeable lens 100, powered by the camera 200, operates various actuators and a lens microcomputer (hereinafter referred to as the lens microcontroller) 111, which will be described later. The interchangeable lens 100, the intermediate adapter 300, and the camera 200 communicate with each other via communication terminals (which will be described later) on the mounts 400 and 401.

[0020] The interchangeable lens 100 has an imaging optical system. The imaging optical system includes, in order from the subject OBJ side, a field lens 101, a magnification lens 102 for changing the magnification, an aperture unit 114 for adjusting the amount of light, a correction lens 103 for correcting image shake, and a focus lens 104 for adjusting the focus.

[0021] The variable magnification lens 102 and the focusing lens 104 are held by lens retaining frames 105 and 106, respectively. The lens retaining frames 105 and 106 are guided by guide axes (not shown) so as to be movable in the optical axis direction shown by dashed lines 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 focusing lens 104 in synchronization with the drive pulses, respectively.

[0022] The corrective lens 103 moves in a direction perpendicular to the optical axis of the imaging optical system, thereby reducing (correcting) image shake caused by camera shake such as hand shake.

[0023] The lens microcontroller 111, acting as an accessory control unit, is an accessory control means that controls the operation of each part within the interchangeable lens 100. The lens microcontroller 111 receives control commands transmitted from the camera 200 via the lens communication unit 112, which acts as an accessory communication unit, and receives requests to transmit lens data. The lens microcontroller 111 also performs lens control corresponding to the control commands and transmits the lens data corresponding to the transmission request to the camera 200 via the lens communication unit 112.

[0024] Furthermore, the lens microcontroller 111 responds to control commands related to magnification and focusing by outputting drive signals to the zoom drive circuit 119 and the focus drive circuit 120, thereby driving the stepping motors 107 and 108. This enables zoom processing to control the magnification operation by the magnification lens 102 and autofocus processing to control the focus adjustment operation by the focus lens 104.

[0025] 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 microcontroller 111 via an amplification circuit 122 and an A / D conversion circuit 123. The lens microcontroller 111 outputs a drive signal to the aperture drive circuit 121 based on the input signal from the A / D conversion circuit 123 to drive the aperture actuator 113. This controls the light intensity adjustment operation by the aperture unit 114.

[0026] Furthermore, the lens microcontroller 111 drives the vibration damping actuator 126 via the vibration damping drive circuit 125 in response to vibration detected by a vibration sensor (not shown), such as a vibration gyroscope, located inside the interchangeable lens 100. This performs vibration damping processing to control the shift operation of the correction lens 103.

[0027] In this embodiment, the intermediate adapter 300 is an extender for extending the focal length of the interchangeable lens 100. However, the intermediate adapter 300 is not limited to an extender; various types with different functions can be used. For example, it could 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 internally, allowing for the selection of an appropriate filter depending on the imaging conditions.

[0028] The intermediate adapter 300 includes a variable magnification lens 301 for extending the focal length of the interchangeable lens 100, and an adapter microcontroller 302 as an accessory control means for controlling the operation of each part within the intermediate adapter 300. The adapter microcontroller 302 receives control commands transmitted from the camera 200 via the adapter communication unit 303, which acts as an accessory communication unit, and performs adapter control corresponding to the control commands. The adapter microcontroller 302 also transmits adapter data corresponding to transmission requests from the camera 200 to the camera 200 via the adapter communication unit 303.

[0029] The camera 200 includes an image sensor 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 camera microcontroller) 205, and a display unit 206.

[0030] The image sensor 201 converts the subject image formed by the imaging optical system in the interchangeable lens 100 into an electrical signal (analog signal) via photoelectric conversion. 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 processing operations on the digital signal from the A / D conversion circuit 202 to generate a video signal.

[0031] Furthermore, the signal processing circuit 203 also generates focus information, which indicates the contrast state of the subject image, that is, the focal state of the imaging optical system, and brightness information, which represents the exposure state, from the video signal. 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 for checking composition, focus, etc.

[0032] The camera microcontroller 205, acting as the camera control unit, controls the camera 200 in response to inputs from camera operating components such as an imaging instruction switch (not shown) and various setting switches. The camera microcontroller 205 also transmits control commands related to the magnification operation of the variable magnification lens 102 to the lens microcontroller 111 via the camera communication unit 208 in response to the operation of a zoom switch (not shown). Furthermore, the camera microcontroller 205 transmits control commands related to the light intensity adjustment operation of the aperture unit 114 according to brightness information and the focus adjustment operation of the focus lens 104 according to focus information to the lens microcontroller 111 via the camera communication unit 208.

[0033] In broadcast communication, the camera microcontroller 205 simultaneously transmits data to the intermediate adapter 300 and the interchangeable lens 100, while in P2P communication, it performs one-to-one data communication with either the intermediate adapter 300 or the interchangeable lens 100. <Communication Circuit Configuration> Using Figure 2, the communication circuit configured in a camera system including a camera 200, an intermediate adapter 300, and an interchangeable lens 100 will be described. The communication circuit includes a notification channel (first communication channel) CS used for notifying communication timing and communication partners, and a data communication channel (second communication channel) DATA used for data communication.

[0034] As explained in Figure 1, the camera 200 and the intermediate adapter 300 are connected via the mount 401. The mount 401 is provided with at least two communication terminals. The intermediate adapter 300 and the interchangeable lens 100 are also connected via the 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 on each mount.

[0035] The notification channel CS is connected to the camera microcontroller 205, the adapter microcontroller 302, and the lens microcontroller 111, and each microcontroller can detect the signal level (voltage level) of the notification channel CS. The notification channel CS is also pulled up to a power supply (not shown) located inside the camera 200. Furthermore, the notification channel CS can be connected to ground via a ground switch 2081 included in the camera 200, and 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.

[0036] By employing this circuit configuration, it is possible to set the signal level of the notification channel CS to Low (Level 1) by connecting any of the ground switches included in the camera 200, intermediate adapter 300, and interchangeable lens 100 (Level 1 setting). Furthermore, it is possible to set the signal level of the notification channel CS to High (Level 2) by disconnecting all of the ground switches included in the camera 200, intermediate adapter 300, and interchangeable lens 100 (Level 2 setting).

[0037] Each microcontroller can change the connection state between the notification channel CS and ground by changing the connection state of the ground switch. In other words, each microcontroller can set the signal level of the notification channel CS to either High or Low by changing the connection state of the ground switch.

[0038] For example, the camera microcontroller 205 can set the signal level of the notification channel CS to Low by connecting the ground switch 2081 included in the camera 200. In the following description, connecting the ground switch will be described as "outputting Low to the notification channel CS," and disconnecting the ground switch will be described as "outputting High to the notification channel CS."

[0039] In other words, when all microcontrollers output High to notification channel CS, the signal level of notification channel CS becomes High. Conversely, when any microcontroller outputs Low to notification channel CS, the signal level of notification channel CS becomes Low. The role of notification channel CS during data communication will be explained later.

[0040] The DATA data communication channel is a bidirectional data communication channel that allows switching the direction of data propagation. Faith The channel DATA is connected to the camera microcontroller 205, the adapter microcontroller 302, and the lens microcontroller 111.

[0041] The data communication channel DATA is connected to the camera microcontroller 205 via an input / output selector switch 2082 included in the camera 200. The camera microcontroller 205 is equipped with a data output unit for transmitting data and a data input unit for receiving data. The camera microcontroller 205 selectively connects the data communication channel DATA to either the data output unit or the data input unit depending on the operation of the input / output selector switch 2082.

[0042] Furthermore, the data communication channel DATA is connected to the adapter microcontroller 302 via an input / output switching switch 3032 included in the intermediate adapter 300. The adapter microcontroller 302 is equipped with a data output unit for transmitting data and a data input unit for receiving data. The adapter microcontroller 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 switching switch 3032.

[0043] The data communication channel DATA is connected to the lens microcontroller 111 via an input / output selector switch 1122 included in the interchangeable lens 100. The lens microcontroller 111 is equipped with a data output section for transmitting data and a data input section for receiving data. The lens microcontroller 111 selectively connects the data communication channel DATA to either the data output section or the data input section according to the operation of the input / output selector switch 1122. By adopting this circuit configuration, the data propagation direction (communication direction) of the data communication channel DATA can be appropriately switched. <Data Format> Figure 3 shows the data format transmitted via the data communication channel DATA. Here, it shows the data format in an asynchronous communication method where the communication speed is pre-set on both the data sender and data receiver sides, and data communication is performed at the communication bitrate based on this setting. The communication bitrate indicates the amount of data that can be transferred per second, and is expressed in units of bps (bits per second). Figure 3 shows the waveform of a signal in one frame, which is the smallest communication unit.

[0044] When no data communication is taking place, the signal level of the data communication channel DATA is maintained at a high level. Subsequently, to notify the data receiver that data transmission has begun, the signal level of the data communication channel DATA is set to low for a 1-bit period. This 1-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 an 8-bit period from the 2nd bit to the 9th bit following the start bit ST.

[0045] The data bit array is in MSB (Most Significant Bit) first format, starting with the most significant data D7, followed by D6, D5, D4, ..., D1, and ending with the least significant data D0. A 1-bit 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 period of the stop bit SP, which indicates the end of one frame. This marks the end of the data frame period that began with the start bit ST. Note that the parity information does not have to be 1 bit; multiple bits of parity information may be added. Furthermore, parity information is not mandatory, and a format without parity information is also acceptable.

[0046] Alternatively, the bit array 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> Figure 4 shows the waveforms of signals transmitted and received in broadcast communication. In broadcast communication, the camera 200 (camera microcontroller 205), which is the communication master, notifies the interchangeable lens 100 (lens microcontroller 111) and the intermediate adapter 300 (adapter microcontroller 302), which are the communication slaves, of the start of broadcast communication by outputting Low to the notification channel CS. Next, the camera microcontroller 205 transmits data to the lens microcontroller 111 and the adapter microcontroller 302 via the data communication channel DATA.

[0047] Meanwhile, the lens microcontroller 111 and the adapter microcontroller 302 output Low to the notification channel CS in response to detecting the start bit ST via the data communication channel DATA. Note that the camera microcontroller 205 is outputting Low at the same time that the lens microcontroller 111 and the adapter microcontroller 302 output Low to the notification channel CS, so the signal level of the notification channel CS remains Low.

[0048] The lens microcontroller 111 and the adapter microcontroller 302 notify the camera microcontroller 205 of a communication standby request by outputting a Low signal to the notification channel CS. The communication standby request is intended to temporarily suspend 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.

[0049] The camera microcontroller 205 outputs High to the notification channel CS after transmitting all data. The lens microcontroller 111 and adapter microcontroller 302 receive the stop bit SP transmitted from the data communication channel DATA, then analyze the received data and perform internal processing corresponding to the received data. Subsequently, the lens microcontroller 111 and adapter microcontroller 302 output High to the notification channel CS when they are ready to perform the next communication.

[0050] When all components of the camera system output High to the notification channel CS, the signal level of the notification channel CS becomes High. The camera microcontroller 205, lens microcontroller 111, and adapter microcontroller 302 can confirm that each component of the camera system is ready to perform the next communication because the signal level of the notification channel CS has returned to High.

[0051] In Figure 4, the data transmitted by the camera microcontroller 205 includes a transmission request command to the adapter microcontroller 302, and data transmission by the adapter microcontroller 302 follows the data transmission by the camera microcontroller 205. Specifically, after the signal level of the notification channel CS becomes High, the adapter microcontroller 302 outputs Low to the notification channel CS. This notifies the lens microcontroller 111 and the camera microcontroller 205 of the start of broadcast communication. Next, the adapter microcontroller 302 transmits data to the lens microcontroller 111 and the camera microcontroller 205 via the data communication channel DATA.

[0052] Meanwhile, the lens microcontroller 111 and the camera microcontroller 205 output Low to the notification channel CS in response to detecting the start bit ST via the data communication channel DATA. Note that at the time the lens microcontroller 111 and the camera microcontroller 205 output Low to the notification channel CS, the adapter microcontroller 302 is also outputting Low to the notification channel CS, so the signal level of the notification channel CS remains Low.

[0053] The adapter microcontroller 302 outputs High to the notification channel CS after transmitting all data. The lens microcontroller 111 and camera microcontroller 205 receive the stop bit SP transmitted from the data communication channel DATA, then analyze the received data and perform internal processing corresponding to the received data. Subsequently, the lens microcontroller 111 and camera microcontroller 205 output High to the notification channel CS when they are ready to perform the next communication.

[0054] When all components of the camera system output High to the notification channel CS, the signal level of the notification channel CS becomes High. The camera microcontroller 205, lens microcontroller 111, and adapter microcontroller 302 can confirm that each component of the camera system is ready to perform the next communication because the signal level of the notification channel CS has returned to High.

[0055] As explained above, in broadcast communication, the data transmitter notifies the data receiver of the start of broadcast communication by outputting Low to the notification channel CS, changing the signal level of the notification channel CS from High to Low. The data receiver, in turn, notifies each component of the camera system that the communication waiting request has been canceled by changing its output to the notification channel CS from Low to High.

[0056] Note that the broadcast communication shown in Figure 4 is merely an example, and other types of broadcast communication may be used. For example, the data transmitted and received in a single broadcast communication may be multi-byte data instead of single-byte data.

[0057] Furthermore, when switching the communication method from broadcast communication to P2P communication, the camera microcontroller 205 only sends data to the lens microcontroller 111 and the adapter microcontroller 302 instructing them to switch the communication method. <Communication with a designated recipient> Figure 5 shows the waveforms of signals transmitted and received in peer-to-peer communication. In peer-to-peer communication, the camera 200 (camera microcontroller 205), which is the communication master, communicates one-to-one with one component selected (designated) as the communication slave from among the components that make up the camera system (interchangeable lens 100 and intermediate adapter 300). Figure 5 shows the case where the interchangeable lens 100 (lens microcontroller 111) is selected as the communication slave (specific accessory device).

[0058] Information indicating a communication slave in designated recipient communication is transmitted via broadcast communication. In designated recipient communication, the data sender transmits data to the data receiver while keeping the notification channel CS high without outputting a low signal to the notification channel CS. In other words, in designated recipient communication, the voltage level of the notification channel CS during data transmission from the camera microcontroller 205 to the lens microcontroller 111 and adapter 300 (adapter microcontroller 302) is different from that of broadcast communication.

[0059] When switching from broadcast communication to peer-specific communication is performed, the first step is data transmission from the camera microcontroller 205, which is the communication master, to the lens microcontroller 111. Figure 5 shows an example where, after one byte of data is transmitted from the camera microcontroller 205 to the lens microcontroller 111, two bytes of data are transmitted from the lens microcontroller 111 to the camera microcontroller 205. The camera microcontroller 205 transmits data to the lens microcontroller 111 via the data communication channel DATA. Once the data transmission is complete, the camera microcontroller 205 outputs Low to the notification channel CS to notify a communication waiting request. Then, after the camera microcontroller 205 has finished preparing to receive data as the data receiver, it outputs High to the notification channel CS again.

[0060] Meanwhile, the lens microcontroller 111 recognizes that data transmission from the camera microcontroller 205 has been completed because the signal level of the notification channel CS has gone low, and it analyzes the received data and performs internal processing corresponding to the received data. In the example in Figure 5, the data received from the camera microcontroller 205 includes a data transmission request from the lens microcontroller 111 to the camera microcontroller 205, and the lens microcontroller 111 generates the data to be sent to the camera microcontroller 205.

[0061] Subsequently, the lens microcontroller 111, recognizing the cancellation of the communication standby request due to the notification channel CS signal level returning to High, transmits 2 bytes of data to the camera microcontroller 205. After the data transmission is complete, the lens microcontroller 111 outputs Low to the notification channel CS to notify the communication standby request. Then, after the lens microcontroller 111 has finished preparing to receive data as the data receiver, it outputs High to the notification channel CS again. Note that the adapter microcontroller 302, which has not been selected as the communication partner for partner-specified communication, does not change its output to the notification channel CS and does not participate in the transmission or reception of data.

[0062] The lens microcontroller 111 determines whether the designated communication is continuing or if a switch to broadcast communication has occurred based on the timing of data transmission from the camera microcontroller 205 after it outputs High again to the notification channel CS. If data is received from the camera microcontroller 205 while the signal level of the notification channel CS remains High, the lens microcontroller 111 determines that the designated communication is continuing. On the other hand, if data is received from the camera microcontroller 205 after the signal level of the notification channel CS has changed to Low, the lens microcontroller 111 determines that the communication has switched from designated communication to broadcast communication.

[0063] As explained above, in designated recipient communication, the data sender notifies the data receiver that the data transmission is complete by changing the output to the notification channel CS from High to Low. Therefore, in designated recipient communication, multiple data frames can be transmitted continuously until the data sender changes the signal level of the notification channel CS. Since this is not a communication configuration in which a communication from the communication master is inserted after each data frame transmitted by the communication slave, high-speed communication can be performed between the camera microcontroller 205 and accessory devices such as the lens microcontroller 111 and adapter microcontroller 302.

[0064] In this camera system, the camera microcontroller 205, lens microcontroller 111, and adapter microcontroller 302 switch the notification channel CS between Low and High so that the signal level of the notification channel CS changes after data transmission. This change in the notification channel CS signal level serves as a signal for switching between the data transmission and data reception sides. The data transmission side then notifies a communication waiting request by keeping the notification channel CS signal level Low until it is ready to receive data as the data reception side in the next communication. <Switching between broadcast communication and designated recipient communication> Figure 6 shows the signal waveforms when broadcast communication and designated partner communication are switched and executed. In both broadcast communication and designated partner communication, the camera 200 (camera microcontroller 205) acts as the communication master and performs communication with the intermediate adapter 300 (adapter microcontroller 302) and the interchangeable lens 100 (lens microcontroller 111). Information indicating the communication partner to the camera microcontroller 205 in designated partner communication is notified in the broadcast communication.

[0065] First, information indicating that the adapter microcontroller 302 has been selected as the communication partner in the partner-specified communication is transmitted and received via broadcast communication, and then partner-specified communication takes place between the camera microcontroller 205 and the adapter microcontroller 302. Hereafter, the information indicating the communication partner in the partner-specified communication will be referred to as the communication partner-specified data. Furthermore, this section will explain the case where the communication partner-specified data functions as a command to switch from broadcast communication to partner-specified communication. In addition to the communication partner-specified data, the switch to partner-specified communication may also be performed by transmitting and receiving a signal that instructs the switching from broadcast communication to partner-specified communication.

[0066] The lens microcontroller 111, which is not selected as a communication partner in the partner-specified communication, outputs High to the notification channel CS after receiving the communication partner specification data and completing the analysis and internal processing of the data received from the camera microcontroller 205. During the period when partner-specified communication is taking place between the camera microcontroller 205 and the adapter microcontroller 302, it maintains the settings compatible with broadcast communication without changing the output to the notification channel CS.

[0067] When the adapter microcontroller 302 has finished switching to partner-specific communication, it notifies the camera microcontroller 205 that the communication method has been switched by outputting a High to the notification channel CS. The camera microcontroller 205 also outputs a High to the notification channel CS when it has finished switching to partner-specific communication. The lens microcontroller 111, which has not been selected as a communication partner in partner-specific communication, outputs a High to the notification channel CS when it has finished analyzing the data received from the camera microcontroller 205 and completing its internal processing.

[0068] When the camera microcontroller 205 detects that the signal level of the notification channel CS has become high, it initiates the partner-designation communication shown in Figure 5. The overview of the communication in the partner-designation communication is as explained in Figure 5.

[0069] Once the partner selection communication between the camera microcontroller 205 and the adapter microcontroller 302 is complete, the camera microcontroller 205 sends communication partner selection data via broadcast communication, indicating that it has selected the lens microcontroller 111 as the communication partner for the partner selection communication. Subsequently, partner selection communication takes place between the camera microcontroller 205 and the lens microcontroller 111.

[0070] Furthermore, the adapter microcontroller 302 recognizes that a switch from designated recipient communication to broadcast communication has been performed because the signal level of the notification channel CS went low before data was transmitted from the camera microcontroller 205. <Broadcast communication processing> The flowchart in Figure 7 shows the broadcast communication process performed by the camera microcontroller 205 as the communication master and the adapter microcontroller 302 as the communication slave. The camera microcontroller 205 and the adapter microcontroller 302 perform the processes shown in the flowchart in Figure 7 according to the computer program. In the flowcharts in Figure 7 and other figures described later, "S" represents a step. Furthermore, the broadcast communication process performed by the lens microcontroller 111 is basically the same as the broadcast communication process performed by the adapter microcontroller 302, so its explanation is omitted.

[0071] The camera microcontroller 205 determines in S100 whether or not an event to initiate broadcast communication has occurred. If an event to initiate broadcast communication has occurred, the camera microcontroller 205 proceeds to S101; otherwise, it repeats the determination in S100.

[0072] In S101, the camera microcontroller 205 outputs Low to the notification channel CS, setting the signal level of the notification channel CS to Low, and notifies the lens microcontroller 111 and the adapter microcontroller 302 that broadcast communication has started.

[0073] Next, in S102, the camera microcontroller 205 operates the input / output selector switch 2082 to connect the data communication channel DATA to the data output section of the camera microcontroller 205. Then, in S103, data transmission begins.

[0074] Next, in S104, the camera microcontroller 205 determines whether the data transmitted in S103 includes a transmission request command. A transmission request command is a command that requests a communication slave, which has received data transmitted from the camera microcontroller 205 as the communication master, to transmit data to the camera microcontroller 205.

[0075] If the data sent from the camera microcontroller 205 in S103 does not include a transmission request command, the camera microcontroller 205 proceeds to S105, and after completing the transmission of data from the camera microcontroller 205, it releases the Low output to the notification channel CS and proceeds to S116.

[0076] If the data sent from the camera microcontroller 205 in S103 contains a transmission request command, the process proceeds to S106. In S106, after the data transmission from the camera microcontroller 205 is complete, the data communication channel DATA is connected to the data input section of the camera microcontroller 205, and the process proceeds to S107. In S107, the camera microcontroller 205 cancels the Low output to the notification channel CS and outputs High.

[0077] Next, in S108, the camera microcontroller 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 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, in S109 the camera microcontroller 205 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.

[0078] When the signal level of the notification channel CS goes low, communication is initiated from the adapter microcontroller 302, which is a communication slave, to the camera microcontroller 205. The camera microcontroller 205, having determined that the signal level of the notification channel CS has gone low, permits the reception of data on the data communication channel DATA in S110.

[0079] Next, in S111, the camera microcontroller 205 determines whether or not it has received a start bit included in the data transmitted from the adapter microcontroller 302. This determination continues until the start bit is received.

[0080] Upon receiving the start bit, the camera microcontroller 205 proceeds to S112, outputs Low to the notification channel CS, and in S113 determines whether or not the stop bit has been received, that is, whether or not all of the data transmitted from the adapter microcontroller 302 has been received. This determination continues until the stop bit is received. Upon receiving the stop bit, the camera microcontroller 205 prohibits the reception of data on the data communication channel DATA in S114 and performs analysis of the received data and internal processing corresponding to the received data. Subsequently, in S115, the camera microcontroller 205 releases the Low output to the notification channel CS and outputs High.

[0081] Next, in S116, the camera microcontroller 205 determines whether the signal level of the notification channel CS has become high. This determination continues until the signal level of the notification channel CS becomes high. When the signal level of the notification channel CS becomes high, in S117, the camera microcontroller 205 determines whether the data transmitted in S103 was data for specifying the communication partner. If it is data for specifying the communication partner, the camera microcontroller 205 proceeds to S118 and moves to communication with the specified partner. If it is not data for specifying the communication partner, This process has ended. do.

[0082] Meanwhile, in S200, the adapter microcontroller 302 determines whether the signal level of the notification channel CS has gone low. This determination continues until the signal level of the notification channel CS goes low. When the signal level of the notification channel CS goes low, data transmission from the camera microcontroller 205, which is the communication master, begins. Therefore, in S201, the adapter microcontroller 302 permits the reception of data on the data communication channel DATA.

[0083] Next, in S202, the adapter microcontroller 302 determines whether or not it has received a start bit. If it has not received a start bit, the camera microcontroller 205 proceeds to S203 and determines whether or not the signal level of the notification channel CS is high.

[0084] The adapter microcontroller 302 performs the processing in S203 and S204 to handle a situation where designated communication takes place between the camera microcontroller 205 and the lens microcontroller 111, and only the adapter microcontroller 302 performs broadcast communication. In this situation, the adapter microcontroller 302 does not receive data from the camera microcontroller 205, so in S204, it prohibits the reception of data on the data communication channel DATA.

[0085] As explained using Figure 5 in the <Recipient-Specific Communication> section, the signal level of the notification channel CS also changes between High and Low in recipient-specific 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 waiting request or the start of communication. In recipient-specific communication, it is set to Low when notifying a communication waiting request.

[0086] In S202, the adapter microcontroller 302 may not receive a start bit from the camera microcontroller 205 in the following situations: First, the camera microcontroller 205 has set the signal level of notification channel CS to Low, but data transmission has not yet started. Second, the camera microcontroller 205 and the lens microcontroller 111 are performing peer-designation communication, and the adapter microcontroller 302 is not involved in peer-designation communication.

[0087] In the first scenario, the signal level of the notification channel CS does not go high, so the adapter microcontroller 302 returns from S203 to S202 and repeats the checks in S202 and S203 until data transmission from the camera microcontroller 205 begins. In the second scenario, the signal level of the notification channel CS is high because neither the camera microcontroller 205 nor the lens microcontroller 111 has notified a communication standby request. In this scenario, the adapter microcontroller 302 basically proceeds from S203 to S204, and data reception on the data communication channel DATA is prohibited. However, if a communication standby request has been notified in a partner-specified communication, the adapter microcontroller 302 returns from S203 to S202 and performs the check in S203 again. The check in S203 may be performed multiple times, but once the communication standby request is canceled and the signal level of the notification channel CS goes high, the adapter microcontroller 302 proceeds from S203 to S204.

[0088] As described above, by adding the processing in S203 and S204, broadcast communication and peer-specific communication can be used simultaneously within the camera system. In this embodiment, peer-specific communication is performed between the camera microcontroller 205 and the lens microcontroller 111, while the adapter microcontroller 302 can be kept in standby mode while supporting broadcast communication.

[0089] Upon receiving the start bit in S202, the adapter microcontroller 302 begins analyzing the received data and performing internal processing corresponding to the received data, while also outputting a Low signal to the notification channel CS. This notifies each component of the camera system of a communication standby request.

[0090] Next, in S206, the adapter microcontroller 302 determines whether or not a stop bit has been received. This determination continues until a stop bit is received. Upon receiving a stop bit, the adapter microcontroller 302 prohibits data reception on the data communication channel DATA in S207 and continues analyzing the received data and performing internal processing corresponding to the received data. Once the internal processing of the data is complete and the system is ready to perform the next data communication, the adapter microcontroller 302 releases the Low output to the notification channel CS and outputs High in S208.

[0091] Next, in S209, the adapter microcontroller 302 determines whether the data received from the camera microcontroller 205 contains a transmission request command. If a transmission request command is included, the adapter microcontroller 302 proceeds to S210 and determines whether the signal level of the notification channel CS has become high. This determination continues 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. If the data received from the camera microcontroller 205 does not contain a transmission request command, the adapter microcontroller 302 proceeds to S215, which will be described later.

[0092] If the signal level of notification channel CS is determined to be High in S210, the adapter microcontroller 302 proceeds to S211. In S211, the adapter microcontroller 302 outputs Low to notification channel CS, setting the signal level of notification channel CS to Low, thereby notifying the camera microcontroller 205 and the lens microcontroller 111 of the start of broadcast communication.

[0093] Next, in S212, the adapter microcontroller 302 operates the input / output selector switch 3032 to connect the data communication channel DATA to the data output section of the adapter microcontroller 302. Then, in S213, data transmission begins.

[0094] Once data transmission is complete, the adapter microcontroller 302 releases the Low output to the notification channel CS and outputs High in S214. Subsequently, in S215, the adapter microcontroller 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.

[0095] 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 specification data and whether the adapter microcontroller 302 itself has been selected as the communication partner for the camera microcontroller 205 in partner specification communication. If the adapter microcontroller 302 is selected as the communication partner for the camera microcontroller 205, the adapter microcontroller 302 proceeds to S217 and permits data reception on the data communication channel DATA. Then, in S218, it transitions from broadcast communication to partner specification communication.

[0096] If the data received from the camera microcontroller 205 is not data specifying the communication partner, or if the adapter microcontroller 302 is not selected as the communication partner in the partner-specified communication, the adapter microcontroller 302 will not proceed to partner-specified communication. This process has ended. do. <Recipient-specified communication processing> The flowchart in Figure 8 shows the partner selection communication process performed by the camera microcontroller 205 as the communication master and the lens microcontroller 111 as the communication slave. The camera microcontroller 205 and the lens microcontroller 111 perform the processes shown in the flowchart in Figure 8 according to the computer program. The partner selection communication process performed by the adapter microcontroller 302 is basically the same as the partner selection communication process performed by the lens microcontroller 111, so its explanation is omitted.

[0097] The camera microcontroller 205 determines in S300 whether or not an event has occurred to initiate communication with a designated partner. If the event has occurred, the camera microcontroller 205 proceeds to S301; otherwise, it repeats the determination in S300.

[0098] In S301, the camera microcontroller 205 connects the data communication channel DATA to the data output section of the camera microcontroller 205 by operating the input / output selector switch 2082. Then, in S302, data transmission begins.

[0099] In S303, the camera microcontroller 205 outputs Low to the notification channel CS, setting the signal level of the notification channel CS to Low. This causes the camera microcontroller 205 to request communication standby from the lens microcontroller 111, which is a communication slave. The lens microcontroller 111 does not transmit data to the camera microcontroller 205 while the signal level of the notification channel CS is Low.

[0100] In S304, the camera microcontroller 205 determines whether the data sent in S302 contains a transmission request command. A transmission request command is a command that requests the communication slave to send data to the camera microcontroller 205. If the transmitted data does not contain a transmission request command, no data is sent from the lens microcontroller 111. In this case, the camera microcontroller 205 proceeds from S304 to S305 and checks whether the lens microcontroller 111 has notified a communication standby request.

[0101] Specifically, the camera microcontroller 205 cancels the Low output to the notification channel CS in S305, and then determines in S306 whether the signal level of the notification channel CS is Low. This allows it to determine whether the lens microcontroller 111 has set the signal level of the notification channel CS to Low, that is, whether the lens microcontroller 111 has notified a communication waiting request.

[0102] Upon receiving data from the camera microcontroller 205, the lens microcontroller 111 notifies the notification channel CS of a communication waiting request by outputting Low for a certain period of time in order to analyze the data and perform internal processing. The processing in S306 is performed to recognize the notification waiting request from the lens microcontroller 111. After the processing in S305, the signal level of the notification channel CS may temporarily become High. In this case, the camera microcontroller 205 waits until the signal level of the notification channel CS becomes Low by performing the check in S306. After confirming in S306 that the signal level of the notification channel CS has become Low, the camera microcontroller 205 proceeds to S311.

[0103] Furthermore, if the data transmitted in 302 in S304 is a transmission request command, the camera microcontroller 205 proceeds to S307.

[0104] In S307, the camera microcontroller 205 connects the data communication channel DATA to the data input section of the camera microcontroller 205 by operating the input / output selector switch 2082. Furthermore, in S308, the Low output to the notification channel CS is canceled and a High output is generated.

[0105] The camera microcontroller 205 receives data from the lens microcontroller 111 while the signal level of the notification channel CS is high, and in S309 determines whether or not the signal level of the notification channel CS has gone low. The camera microcontroller 205 determines that the data transmission from the lens microcontroller 111 is complete because the signal level of the notification channel CS has gone low, and performs data analysis in S310.

[0106] Next, in S311, the camera microcontroller 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. A high signal level for the notification channel CS means that the lens microcontroller 111, acting as a communication slave, is in a state where data communication is possible.

[0107] When the signal level of the notification channel CS becomes high, the camera microcontroller 205 proceeds to S312 to determine whether a broadcast communication transition event has occurred. If a broadcast communication transition event has occurred, the camera microcontroller 205 proceeds to S313 and transitions to broadcast communication. If a broadcast communication transition event has not occurred, it continues with designated recipient communication.

[0108] Meanwhile, when the lens microcontroller 111 switches from broadcast communication to designated recipient communication, it first receives data transmitted from the camera microcontroller 205. During the period in which it is receiving data transmitted from the camera microcontroller 205, the signal level of the notification channel CS is kept high.

[0109] In S400, the lens microcontroller 111 determines whether the signal level of the notification channel CS has gone low. The lens microcontroller 111 determines that the data transmission by the camera microcontroller 205 has been completed because the signal level of the notification channel CS has gone low, and performs data analysis in S401.

[0110] Next, in S402, the lens microcontroller 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, it means that the camera microcontroller 205 is notifying a communication waiting request.

[0111] When the signal level of the notification channel CS becomes high, the lens microcontroller 111 determines in S403 whether the data received from the camera microcontroller 205 contains a transmission request command. If the received data does not contain a transmission request command, the process proceeds to S404.

[0112] In S404, the lens microcontroller 111 sets the signal level of notification channel CS low to notify the camera microcontroller 205 of a communication waiting request in order to perform internal processing on the data received from the camera microcontroller 205. When the lens microcontroller 111 becomes ready to communicate, it sets the signal level of notification channel CS high in S405 to cancel the communication waiting request and proceeds to S411.

[0113] Furthermore, if the data received from the camera microcontroller 205 in S403 includes a transmission request command, the lens microcontroller 111 proceeds to S406. In S406, the lens microcontroller 111 connects the data communication channel DATA to the data output section of the lens microcontroller 111 by operating the input / output selector switch 1122. Then, in S407, it starts transmitting data to the camera microcontroller 205.

[0114] In S408, after data transmission to the camera microcontroller 205 is complete, the lens microcontroller 111 outputs Low to the notification channel CS, setting the signal level of the notification channel CS to Low. This causes the lens microcontroller 111 to request communication standby from the camera microcontroller 205, which is the communication master. While the signal level of the notification channel CS is Low, the camera microcontroller 205 does not transmit data to the lens microcontroller 111.

[0115] In S409, the lens microcontroller 111 connects the data communication channel DATA to the data input section of the lens microcontroller 111 by operating the input / output selector switch 1122. Then, in S410, the Low output to the notification channel CS is canceled and a High output is generated.

[0116] In S411, the lens microcontroller 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 becomes high, it means that the camera microcontroller 205 and the lens microcontroller 111 are able to communicate.

[0117] As explained above, the voltage level of the notification channel CS is set differently for broadcast communication and designated communication when the camera 200 transmits data to the interchangeable lens 100 and adapter 300. With this communication system, the camera 200 can select any communication partner according to the situation at the time and communicate with the designated partner freely until it becomes necessary to change the communication partner. <Time Division Communication> Figure 9 shows the waveforms of signals transmitted and received using time-division multiplexing (P2P) communication. In time-division multiplexing, as with partner-specific communication, camera 200 acts as the communication master, and one-to-one communication is performed with one component of the camera system selected as the communication slave. In the aforementioned partner-specific communication, the communication partner is specified by broadcast communication, and one-to-one communication can be performed with the same communication partner without having to specify the communication partner again until it becomes necessary to switch communication partners. Also, if multiple accessory devices are connected to camera 200, the next communication partner can be freely selected. However, in partner-specific communication, when switching communication partners, it is necessary to terminate communication with the current communication partner, specify the next communication partner by broadcast communication, and then start communication with that communication partner, which takes time.

[0118] In contrast, with time-division multiplexing, the timing for switching communication partners and communication directions is predetermined. Therefore, although it is not possible to choose a communication partner at any time, it is possible to reduce the time required to switch communication partners.

[0119] In Figure 9, the communication master is camera 200, and the communication slaves are interchangeable lens 100 and intermediate adapter 300. In time-division communication, a basic communication cycle is determined, which is represented as cycle T in Figure 9. Furthermore, the data transmitted and received on the data communication channel DATA has a unique sender, receiver, maximum number of data points, and order determined for each communication cycle. The methods for determining these communication cycles, senders, receivers, maximum number of data points, and order will be explained later using Figures 12 and 13.

[0120] In Figure 9, one or more data blocks transmitted by the camera 200 and received by the interchangeable lens 100 are represented as "C→L". The "→" indicates the direction of communication, and "C→L" and "L→C" represent one-way communication (from camera 200 to interchangeable lens 100) and the other-way communication (from interchangeable lens 100 to camera 200) between the camera 200 and the interchangeable lens 100, respectively.

[0121] A block of data with a defined sender (e.g., camera 200) and receiver (e.g., interchangeable lens 100) is referred to here as a data packet. 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." Similarly, 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" occur in every cycle, while "C→A" and "A→C" occur only once every two cycles. In time-division multiplexing, it is possible to freely determine how many of each type of data packet exist within each cycle, and how often they occur.

[0122] Since camera 200 is always either the sender or receiver in each data packet of time-division communication, cases where it is neither are omitted in Figure 9.

[0123] For notification channel CS, similar to designated communication, the data sender does not output Low to notification channel CS but keeps it High while sending data to the data receiver. Taking "C→L" and "L→C" as examples, the camera microcontroller 205 sends data to the lens microcontroller 111 via the data communication channel DATA while keeping notification channel CS High. Once the transmission of the data packet is complete, the camera microcontroller 205 sets the signal level of notification channel CS Low to notify a communication waiting request. Then, after the camera microcontroller 205 has finished preparing to receive data as the data receiver, it sets the signal level of notification channel CS back to High.

[0124] Meanwhile, the lens microcontroller 111 recognizes that data transmission from the camera microcontroller 205 has been completed when the signal level of the notification channel CS goes low, and performs analysis of the received data and internal processing corresponding to the received data. Furthermore, the lens microcontroller 111 generates data to be sent to the camera microcontroller 205 in the data packet "L→C". Subsequently, the lens microcontroller 111 recognizes that the communication waiting request has been released when the signal level of the notification channel CS returns to high, and sends the data packet "L→C" to the camera microcontroller 205. Once this transmission is complete, the lens microcontroller 111 sets the signal level of the notification channel CS low to notify the communication waiting request. Then, after the lens microcontroller 111 has finished preparing to receive data as the data receiver, it sets the signal level of the notification channel CS back to high. During this time, the adapter microcontroller 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 receiver. The transmission and reception operations are the same as above even if the sender and receiver change.

[0125] Furthermore, the period T is controlled by the camera microcontroller 205. If the sum of the communication time, communication waiting request time, and waiting time not belonging to either of these categories for each data packet within one period is less than the period T, the camera microcontroller 205 waits for communication to begin until the start of the next period. <Time-division communication processing> The flowchart in Figure 10 shows the time-division communication processing (communication control method) performed by the camera microcontroller 205 as the communication master and the lens microcontroller 111 as the communication slave. The camera microcontroller 205 and the lens microcontroller 111 perform the processing shown in the flowchart in Figure 10 according to the computer program. The partner-specifying communication processing performed by the adapter microcontroller 302 is basically the same as the partner-specifying communication processing performed by the lens microcontroller 111, so its explanation is omitted. Also, in Figure 10, as in Figure 9, the case in which the camera 200 is neither the sender nor the receiver of the time-division communication is omitted.

[0126] In S500, the camera microcontroller 205 checks whether the signal level of the notification channel CS is High. If it is High, it proceeds to S501; otherwise, it waits for it to become High.

[0127] In S501, the camera microcontroller 205 determines whether or not it will send the next data packet. If so, the process proceeds to S502; otherwise, it proceeds to S510.

[0128] In S502, the camera microcontroller 205 determines whether it can maintain the communication period T if it continues processing. If it cannot maintain period T (i.e., it is too early), it repeats the determination in S502 and waits for processing to begin. Once an appropriate amount of time has elapsed, it proceeds to S503. Note that the waiting in S502 occurs only when transmitting the first data packet of each period T in Figure 9. In all other cases, S502 determines that it can maintain period T and proceeds to S503.

[0129] In S503, the camera microcontroller 205 connects the data communication channel DATA to its data output section, and in S504, it starts transmitting data.

[0130] In S505, the camera microcontroller 205 outputs Low to the notification channel CS, setting the signal level of the notification channel CS to Low. This allows the camera microcontroller 205 to notify the next data packet sender of a communication waiting request.

[0131] In the subsequent S506, the camera microcontroller 205 determines whether or not to send the next data packet, and if so, proceeds to S507.

[0132] In S507, the camera microcontroller 205 generates the data packet to be transmitted next. Once the data packet is ready to be transmitted, the process proceeds to S508, where the Low output to the notification channel CS is released.

[0133] If the camera microcontroller 205 determines in S506 that it will not send the next data packet (i.e., the camera microcontroller 205 will receive the next data packet), it proceeds to S509.

[0134] In S509, the camera microcontroller 205 connects the data communication channel DATA to its data input section, and then in S508, it cancels the Low output to the notification channel CS.

[0135] The camera microcontroller 205, which proceeds from S501 to S510, determines whether the signal level of the notification channel CS is low or not. If it is not low, it repeats the determination, and if it is low, it analyzes the received data in S512.

[0136] Next, in S513, the camera microcontroller 205 determines whether or not it will send the next data packet. If so, the process proceeds to S514. Otherwise (i.e., the camera microcontroller 205 receives the next data packet), the process proceeds to "END".

[0137] In S514, the camera microcontroller 205 generates the next data packet to be transmitted. At this time, the camera microcontroller 205 is not the one that sets the signal level of the notification channel CS to Low, so the camera microcontroller 205 does not release the Low output to the notification channel CS. Then the camera microcontroller 205 proceeds to "END".

[0138] "END" indicates the end of processing for one data packet, after which the camera microcontroller 205 returns to S500 and begins processing the next data packet.

[0139] Meanwhile, in S600, the lens microcontroller 111 checks whether the signal level of the notification channel CS is High or not. If it is High, the lens microcontroller 111 proceeds to S601; if it is Low, it waits for it to become High.

[0140] In S601, the lens microcontroller 111 determines whether or not to send the next data packet. If so, the process proceeds to S603; otherwise, it proceeds to S610.

[0141] In S603, the lens microcontroller 111 connects the data communication channel DATA to its data output section, and in S604, it starts transmitting data.

[0142] Next, in S605, the lens microcontroller 111 outputs Low to the notification channel CS, setting the signal level of the notification channel CS to Low. This causes the lens microcontroller 111 to notify the next data packet sender of a communication waiting request.

[0143] In the subsequent S606, the lens microcontroller 111 determines whether or not to transmit the next data packet, and if so, proceeds to S607.

[0144] In S607, the lens microcontroller 111 generates a data packet to be transmitted next. When the lens microcontroller 111 is ready to transmit the data packet, it proceeds to S608 and releases the Low output to the notification channel CS.

[0145] In S606, the lens microcontroller 111 determines that it will not send the next data packet and proceeds to S609, where it connects the data communication channel DATA to the data input section of the lens microcontroller 111. Then it proceeds to S608, where it cancels the Low output to the notification channel CS.

[0146] The camera microcontroller 205, which proceeds from S601 to S610, determines whether the signal level of the notification channel CS is low or not in S610. If it is not low, it repeats the determination. If it is low, it proceeds to S611.

[0147] In S611, the lens microcontroller 111 determines whether it is currently receiving a data packet (i.e., whether it is a receiver). If it is a receiver, it proceeds to S612 to analyze the received data and then to S613. If it is not a receiver, it proceeds to S613 without performing data analysis.

[0148] In S613, the lens microcontroller 111 determines whether or not to send the next data packet. If so, the process proceeds to S614. Otherwise, the process proceeds to "END".

[0149] In S614, the lens microcontroller 111 generates the data packet to be transmitted next. At this time, the lens microcontroller 111 is not the one that sets the signal level of the notification channel CS to Low, so the lens microcontroller 111 does not release the Low output. Then the lens microcontroller 111 proceeds to "END".

[0150] "END" indicates the end of processing for one data packet, after which the lens microcontroller 111 returns to S600 and begins processing the next data packet. <Switching to time-division communication> Figure 11 shows the signal waveforms when broadcast communication and time-division communication are switched and executed. In Figure 11, broadcast communication and partner-specific communication are performed until time-division communication begins, and the switching between these communications is as explained in Figure 6. In addition, the camera microcontroller 205 recognizes the number of attached accessory devices in advance, prior to the communication described in Figure 11, by detecting accessory authentication communication (not shown) or the voltage level of the mount contacts, etc.

[0151] In Figure 11, the camera microcontroller 205 first designates the adapter microcontroller 302 as the communication partner via broadcast communication. Next, the camera microcontroller 205 requests the adapter microcontroller 302 to send information specific to the intermediate adapter 300 (accessory-specific information; hereinafter referred to as adapter-specific information). In accordance with this request, the adapter microcontroller 302 sends the adapter-specific information to the camera microcontroller 205 via partner-specified communication.

[0152] Accessory-specific information (adapter-specific information and lens-specific information, described later) includes various pieces of information unique to the accessory device, such as the accessory device's ID, function, and communication speed. In particular, the four pieces of information shown in Figure 12 (a1) to (a4) are important for determining the time-division communication period and the data packet configuration. These pieces of information will be explained in detail later.

[0153] Furthermore, in Figure 11, the DATA transmitted from the camera microcontroller 205 to the adapter microcontroller 302 is represented as a single data block, but this does not necessarily mean that it is 1 byte or data representing only one type of information; it may also be data containing multiple pieces of information necessary to request adapter-specific information. The same applies to the DATA transmitted from the adapter microcontroller 302 and the DATA transmitted from the lens microcontroller 111, which will be described later.

[0154] After the camera microcontroller 205 has finished acquiring adapter-specific information from the adapter microcontroller 302, the camera microcontroller 205 designates the lens microcontroller 111 as the communication partner via broadcast communication. Next, the camera microcontroller 205 requests the lens microcontroller 111 to transmit lens-specific information, which is the unique information of the interchangeable lens 100. In accordance with this request, the lens microcontroller 111 transmits the lens-specific information to the camera microcontroller 205 via partner-designated communication.

[0155] Through the communication up to this point, the camera microcontroller 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 as shown in Figure 12, and the information indicating the number of accessory devices attached to the camera 200, are collectively referred to as accessory characteristic information (information about accessory devices or accessory information).

[0156] The camera microcontroller 205 determines the configuration information for time-division communication based on the acquired accessory characteristic information and the camera 200's own unique information (information about the camera; hereinafter referred to as camera-specific information). This time-division communication configuration information (hereinafter referred to as time-division configuration information) includes the period T, the structure 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 configuration information will be described later.

[0157] After this, the camera microcontroller 205 sends a time-division communication start command to all accessory devices via broadcast communication. In this embodiment, the time-division setting information mentioned above is included in the time-division communication start command, and each accessory device prepares to start time-division communication based on this information and transitions to time-division communication. Note that the time-division setting information may be sent to all accessory devices at a different time as separate information from the time-division communication start command. In this case, the time-division setting information may be sent to all accessory devices via partner-specified communication. Details of time-division communication are as explained in Figures 9 and 10. <Time Division Setting Information> Figure 12 shows four pieces of information included in the accessory characteristics information, which are lens-specific and adapter-specific information in this embodiment. In addition to these four pieces of information, the number of accessory devices attached to the camera 200 is also included in the accessory characteristics information.

[0158] The function in (a1) refers to a function of each accessory device that is affected by or affects time-division communication. The camera microcontroller 205 determines the minimum communication cycle that should be implemented for each accessory device based on this function information.

[0159] The supported baud rate in (a2) represents the baud rate that each accessory device can support in time-division communication. The camera microcontroller 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 adopt.

[0160] The communication direction switching time in (a3) ​​represents the maximum time required for each accessory device to prepare for sending or receiving data packets. Specifically, t1 represents the time required from when the notification channel CS becomes High until data transmission begins via the data communication channel DATA. t2 represents the time required from when data transmission via the data communication channel DATA is completed until a Low signal is output to the notification channel CS. t3 represents the time required from when a Low signal is output to the notification channel CS until the direction of the data communication channel DATA is switched to input and the Low signal to the notification channel CS is released.

[0161] These times generally vary depending on the performance of the microcontroller (lens microcontroller 111 or adapter microcontroller 302) used in each accessory device, the clock frequency, and the firmware structure. Furthermore, t1, t2, and t3 are also shown in Figure 9.

[0162] The transmit / receive buffer size in (a4) represents the maximum amount (size) of data that each accessory device can transmit or receive at one time. The data packets transmitted and received by each accessory device and the camera 200 must fit within this transmit / receive buffer size.

[0163] Figure 13 shows the time-division setting information in this embodiment. The period in (b1) represents the communication period (T) of time-division communication. The period is selected based on the function in (a1) of the accessory characteristic information shown in Figure 12, and is the frequency necessary for each accessory device and the 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 is also equipped with an operating member (control ring) that can operate various settings of the camera 200 (ISO sensitivity, shutter speed, etc.).

[0164] As shown in Figure 12, the period required for controlling the image stabilization function is 1 ms, and the period required for transmitting the amount of control ring manipulation is 16 ms. Therefore, 1 ms is selected as the period for time-division communication to match the most frequent communication. Although this is a slightly excessive frequency for the intermediate adapter 300, communication can be performed every 1 ms, or the frequency can be reduced to once every 16 periods.

[0165] (b2) represents 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 rate in (a2) of Figure 12. In this embodiment, 2.5 Mbps is selected as shown in Figure 12.

[0166] (b3) represents the length (in bytes) of each data packet. This is calculated from the time information (a2) to (a4) in Figure 12 and the number of data required for one cycle to realize the function in (a1). In this embodiment, since a large amount of data is transmitted from the camera microcontroller 205 to the lens microcontroller 111 in the control of the image stabilization function, the data packet "C→L" is set to 32 bytes and the other data packets to 20 bytes.

[0167] (b4) to (b6) represent the composition of data packets contained within the period T defined in (b1). (b4) represents the maximum number of data packets that can exist within 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 equipped with one interchangeable lens 100 that needs to communicate every period and one intermediate adapter 300 that does not need to communicate every period. That is, data packets "C→L" and "L→C" are transmitted and received every period, and data packets "C→A" and "A→C" only need to be transmitted and received at the necessary timing, so the maximum number of data packets contained within one period is 3.

[0168] (b5) represents the type of data packet and the number of each data packet within one cycle. The type refers to something determined by the combination of sender (source) and receiver (destination), such as "C→L". The number of each data packet within one cycle refers to the number of data packets present in each cycle, within the range that satisfies the maximum number of packets in (b4) mentioned 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 1ms cycle and with the intermediate adapter 300 at a 16ms cycle. For this reason, data packets "C→L" and "L→C" are placed in the 1st to 14th cycles, and in the 15th cycle, in addition to data packets "C→L" and "L→C", data packet "C→A" is placed. Furthermore, in the 16th cycle, in addition to data packets "C→L" and "L→C", data packet "A→C" is placed.

[0169] (b6) represents the order (predetermined order) of data packets within one cycle, and is determined by (a1). The order is a parameter to accommodate various cases, such as when it is better for reception to occur earlier than transmission 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 precise cycles are required for controlling the image stabilization function, the data packet "C→L" is always placed at the beginning of each cycle, followed by the data packet "L→C", which is the reply from the interchangeable lens 100. Since communication for detecting the operation of the control ring begins when the camera microcontroller 205 transmits to the adapter microcontroller 302 at a predetermined timing, the data packet "C→A" takes precedence over "A→C".

[0170] The methods for determining time-division multiplexing configuration information described so far are merely examples, and other methods may be used. For example, the baud rate may be set to the lowest baud rate that can be achieved to avoid communication noise. Also, the length of each data packet may be set to the same length. Furthermore, the time-division multiplexing configuration information may be information that directly indicates the period T, data packet structure, baud rate, data packet length, number, type, and order, or it may be information that can be converted to these. In other words, it may be information that relates to the period T, data packet structure, baud rate, data packet length, number, type, and order, etc. <Switching process to time-division communication> The flowchart in Figure 14 shows the process of switching from broadcast communication to time-division multiplexing communication (communication control method). Here, it shows the processes executed by the camera microcontroller 205 as the communication master and the lens microcontroller 111 as the communication slave. The camera microcontroller 205 and the lens microcontroller 111 perform the processes shown in the flowchart in Figure 14 according to the computer program. The processes executed by the adapter microcontroller 302 are basically the same as those executed by the lens microcontroller 111, so their explanation is omitted.

[0171] In step S700, the camera microcontroller 205 determines whether it has already determined the number of accessory devices attached to the camera 200. If it has not yet determined this, the camera microcontroller 205 proceeds to step S701 and reads the voltage at the contact terminals on the mount 401 to determine the number of accessory devices. The contact terminals of the mount 401 are pulled up in the camera 200 and pulled down in the interchangeable lens 100. In the intermediate adapter 300, a resistor is connected in series to the contact terminals of the camera-side mount 401 and the contact terminals of the lens-side mount 400. As a result, the more accessory devices attached to the camera 200, the greater the resistance of the contact terminals of the lens-side mount 400 becomes compared to the contact terminals of the camera-side mount 401. The camera microcontroller 205 determines the number of attached intermediate accessories by reading the voltage value of the contact terminals of the mount 401. In addition, the interchangeable lens 100 is an essential accessory device for the camera 200 and can be considered to always be attached to the camera 200. The camera microcontroller 205 proceeds to S702 after determining the number of attached accessory devices.

[0172] In S702, the camera microcontroller 205 determines whether or not it has already acquired lens-specific information from the lens microcontroller 111. If it has already been acquired, the process proceeds to S705; otherwise, it proceeds to S703.

[0173] In S703, the camera microcontroller 205 outputs Low to the notification channel CS and sends communication partner designation data to the lens microcontroller 111 via broadcast communication to designate the lens microcontroller 111 as the communication partner.

[0174] In S704, the camera microcontroller 205 sends a request to the lens microcontroller 111 to transmit lens-specific information while keeping the notification channel CS High. Subsequently, the camera microcontroller 205 outputs Low to the notification channel CS, and after completing preparations for receiving data on the data communication channel DATA, it releases the Low output to the notification channel CS and waits for a reply from the lens microcontroller 111. Once the lens-specific information is returned from the lens microcontroller 111, the camera microcontroller 205 proceeds to S705.

[0175] In S705, the camera microcontroller 205 determines whether or not it has already obtained adapter-specific information from the adapter microcontroller 302. If it has been obtained, the process proceeds to S708; otherwise, it proceeds to S706.

[0176] In S706, the camera microcontroller 205 outputs Low to the notification channel CS and sends communication partner specification data via broadcast communication to designate the adapter microcontroller 302 as the communication partner.

[0177] In S707, the camera microcontroller 205 sends a request to the adapter microcontroller 302 to send adapter-specific information while keeping the notification channel CS high. The camera microcontroller 205 then outputs a low signal to the notification channel CS, and after it has finished preparing to receive data on the data communication channel DATA, it releases the low signal to the notification channel CS and waits for a reply from the adapter microcontroller 302. Once the adapter microcontroller 302 replies with adapter-specific information, the process proceeds to S708.

[0178] In the S708, the camera microcontroller 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.

[0179] In S709, the camera microcontroller 205 outputs Low to the notification channel CS and sends a time-division communication start command to the lens microcontroller 111 and the adapter microcontroller 302 via broadcast communication. This time-division start command includes the time-division setting information mentioned above.

[0180] In S710, the camera microcontroller 205 determines whether a predetermined time has elapsed since sending the time-division communication start command. The predetermined time may be, for example, the period T, or another time. The predetermined time is the time required for each accessory device that receives the time-division communication start command to prepare for the start of time-division communication. Once the predetermined time has elapsed, the camera microcontroller 205 proceeds to S711 and starts time-division communication.

[0181] Meanwhile, in S800, the lens microcontroller 111 determines whether or not it has been designated as a communication partner by the camera microcontroller 205. If it has not been designated as a communication partner, it waits to be designated; if it is designated, it proceeds to S801.

[0182] In S801, the lens microcontroller 111 switches from broadcast communication to designated recipient communication and waits for communication from the camera microcontroller 205.

[0183] In S802, the lens microcontroller 111 analyzes the communication from the camera microcontroller 205 and determines whether it is a request to transmit unique information. If it is a request to transmit unique information, it proceeds to S803 and prepares to transmit the lens unique information. Then, in S804, it waits for the camera microcontroller 205, which sent the request to transmit unique information, to release the Low output to the notification channel CS and for the notification channel CS to become High. When the notification channel CS becomes High, the lens microcontroller 111 connects the data communication channel DATA to the data output section of the lens microcontroller 111 and starts transmitting the lens unique information.

[0184] In S805, the lens microcontroller 111 switches back from designated recipient communication to broadcast communication.

[0185] In S806, the lens microcontroller 111 determines whether the data received via broadcast communication from the camera microcontroller 205 is a time-division communication start command. If it is a time-division communication start command, the process proceeds to S807, where the time-division communication is configured according to the time-division setting information included in the received time-division communication start command, and the process waits for the camera microcontroller 205 to start communication. If S806 determines that it is not a time-division communication start command, the process returns to S800.

[0186] Furthermore, if the lens microcontroller 111 determines in S802 that the communication from the camera microcontroller 205 is not a request to transmit unique information, it processes the other requests. Then, proceeding to S809, it switches back from recipient-specific communication to broadcast communication and returns to S800. <Data Packet Configuration> Figure 15 shows the structure of a single data packet. Here, we explain using the example where the accessory device is an interchangeable lens 100, but the same applies when the accessory device is an intermediate adapter 300.

[0187] First, the structure of the data packets transmitted from the camera microcontroller 205 to the lens microcontroller 111 will be described. Each data packet consists of destination information ADDR, one or more command packets CMDPn, and the checksum TSUM of the data packet. Each command packet CMDPn consists of command length information LENn, command CMDn, command data CDATAn-m, and the checksum PSUMn of the command packet. n and m are integers greater than or equal to 1.

[0188] The destination information ADDR represents the sender and receiver of a data packet, and a number is assigned to each type of data packet, such as "01" for "C→L" and "02" for "C→A". The data packet checksum TSUM is the sum of the numerical values ​​of all data from the beginning of a single data packet up to the point before the TSUM value.

[0189] A command packet (CMDP) is included in one or more data packets. Each command packet indicates a command that requests the lens microcontroller 111, such as a data reception request, a data transmission request, and an actuator drive request.

[0190] The command length information LENn within the command packet CMDP represents the total data size of a single command packet. The command CMDn represents a request from the camera microcontroller 205 to the lens microcontroller 111, and each request is assigned a unique number, such as "01" for a request to receive image stabilization data, and "02" for a request to transmit control ring operation amount.

[0191] Command data CDATAn-m is a set of data associated with each command CMDn. For example, it corresponds to the multiple bytes of image stabilization data associated with the image stabilization data reception request. Note that command data CDATAn-m is not required if data transmission from the camera microcontroller 205 is not necessary, such as in the control ring operation amount transmission request. The command packet checksum PSUM is the sum of the numerical values ​​of all data from the beginning of a single command packet up to the point before the PSUM.

[0192] Next, we will describe the structure of the data packets sent from the lens microcontroller 111 to the camera microcontroller 205. The basic structure is the same as the data packets sent from the camera microcontroller 205. However, the command packets included in the data packets sent from the lens microcontroller 111 are always a reply to some request received earlier from the camera microcontroller 205. For example, if the camera microcontroller 205 receives a request to receive image stabilization data as CMDP1, the CMDPR1 sent from the lens microcontroller 111 is a reply to the request to receive image stabilization data.

[0193] The data packet configuration described above is merely an example. Transmission and reception from the camera microcontroller 205 to the accessory device do not necessarily have to be paired, and error checking can be performed using Cyclic Redundancy Check (CRC) instead of checksums. Furthermore, an entirely different data packet configuration may be adopted. <Time-division communication that follows predetermined time-division settings> Figure 16 shows the signal waveform when time-division communication is performed according to the time-division setting information determined before time-division communication. This figure shows the signal waveform when a camera 200 is equipped with 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). The method for determining the time-division setting information is as explained using Figures 12 and 13. The communication cycle (T) is 1 ms, and each cycle contains up to 3 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. Since ring operation communication only needs to be performed about once every 16 ms, an additional data packet "C→A" is transmitted and received in the 15th cycle, and an additional data packet "A→C" is transmitted and received in the 16th cycle. Unless the time division configuration information is changed or time division communication is stopped, the communication cycles 1 through 16 will be repeated.

[0194] Figures 12 and 13 show examples of accessory device characteristic information and time-division multiplexing setting information, respectively, but other characteristic information and time-division multiplexing setting information may be used. For example, the maximum number of data packets in one cycle may be set to four, and all data packets "C→L", "L→C", "C→A", and "A→C" may be communicated in each cycle. Also, there may be two or more identical data packets in one cycle. Furthermore, communication between the camera 200 and the interchangeable lens 100 does not have to occur in each cycle. In addition, the data packet "C→A" may be the first in each cycle. <Changing time division settings during time division communication> The time division configuration information may be changed during time division communication. Figure 17 shows examples of time division configuration information before and after the change. Figure 18 shows the signal waveform in time division communication according to the changed time division configuration information shown in Figure 17. These figures illustrate an example in which the control ring of the intermediate adapter 300 is operated during time division communication, activating the ring operation function and changing the time division configuration information. 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 Figure 13.

[0195] In Figures 17 and 18, the frequency of data packets "C→A" and "A→C" transmitted and received by the camera microcontroller 205 and the adapter microcontroller 302 has been changed from once every 16ms to once every 2ms, and "C→A" and "A→C" have been positioned before "L→C". In this way, by changing the time division settings information midway through, 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.

[0196] The functions and modified time division settings described here are merely examples; other time division settings may be changed depending on the activation of other functions. <Processing to change time division settings during time division communication> The flowchart in Figure 19 shows the process of changing time-division setting information during time-division communication. Here, the processes executed by the camera microcontroller 205 as the communication master and the adapter microcontroller 302 as the communication slave are shown. The camera microcontroller 205 and the adapter microcontroller 302 perform the processes shown in the flowchart in Figure 19 according to the computer program. The processes executed by the lens microcontroller 111 are basically the same as those executed by the adapter microcontroller 302, so the explanation is omitted.

[0197] In S900, the camera microcontroller 205 sends a request to each accessory device attached to the camera 200 to check if a function that requires changing time-division setting information (abbreviated as setting information in Figure 19) has become active. Here, the function is assumed to be the control ring operation function on the intermediate adapter 300 as shown in Figure 17, but it may be a function of another accessory device.

[0198] In S901, when the camera microcontroller 205 receives notification from the accessory device (adapter microcontroller 302) that a function requiring a change in time division setting information has been activated, it proceeds to S902.

[0199] In S902, the camera microcontroller 205 determines new time-division setting information according to the activated function. The determination method is as explained using Figures 17 and 18.

[0200] In S903, the camera microcontroller 205 transmits newly determined time-division setting information and information indicating the timing of its change (hereinafter referred to as change timing information) to each accessory device using time-division communication data packets "C→L" and "C→A". The change timing information is used to synchronize the timing at which the camera microcontroller 205, lens microcontroller 111, and adapter microcontroller 302 change the time-division setting information, and includes information such as the number of cycles and data packets until the change is made. Note that it is not necessary to transmit the new time-division setting information and the change timing information simultaneously; they may be transmitted separately. Furthermore, although this explanation describes the case where the camera microcontroller 205 transmits the change timing information to each accessory device, each microcontroller may synchronize the change timing based on the time-division setting information before and after the change.

[0201] In S904, the camera microcontroller 205 proceeds to S905 upon receiving a change acceptance notification from each accessory device. The change acceptance notification indicates that the accessory device can change the time division setting information based on the new time division setting information and change timing information it has received. The accessory device may send the acceptance notification for the new time division setting information and the acceptance notification for the change timing information as separate notifications to the camera microcontroller 205, either simultaneously or at different times. Furthermore, the accessory device does not need to send an acceptance notification if the camera microcontroller 205 does not require it.

[0202] In S905, the camera microcontroller 205 determines whether it has received change approval notifications from all accessory devices attached to the camera 200. If so, it proceeds to S906; if there are no accessory devices that have not yet received notifications, it returns to S903.

[0203] In S906, the camera microcontroller 205 determines whether or not the timing for a change has arrived, and if so, in S907, it changes the time division setting information to the new one.

[0204] Meanwhile, in S1000, the adapter microcontroller 302 detects an event that changes the time-division setting information and proceeds to S1001. The event in this case is an operation of the control ring.

[0205] In S1001, the adapter microcontroller 302 determines whether it has received a request from the camera microcontroller 205 to check if a function that requires changing time division setting information has been activated. If it has received such a request, it proceeds to S1002.

[0206] In S1002, the adapter microcontroller 302 sends a notification to the camera microcontroller 205 indicating that a function requiring a change in time division setting information has been activated.

[0207] In S1003, the adapter microcontroller 302 determines whether it has received new time-division setting information and change timing information from the camera microcontroller 205. If it has received them, it proceeds to S1004. As explained earlier, the new time-division setting information and change timing information do not necessarily need to be received simultaneously; they may be received separately. Also, as mentioned above, the change timing of the time-division setting information may be aligned based on the time-division setting information before or after the change, without using the change timing information.

[0208] In S1004, the adapter microcontroller 302 sends a change acceptance notification to the camera microcontroller 205. As described above, the acceptance notification for the change in time division setting information and the acceptance notification for the change timing information may be sent to the camera microcontroller 205 simultaneously or at different times, or the camera microcontroller 205 may not send them if it does not require them.

[0209] In S1005, the adapter microcontroller 302 determines whether or not the timing for a change has arrived, and if so, in S1006, it changes the time division setting information to the new one. [Examples]

[0210] Next, Embodiment 2 of the present invention will be described. The camera system of Embodiment 2 has the same configuration as Embodiment 1. However, the accessory characteristic information includes functional information, request period, and request data size as information regarding the functions of the accessory device. By determining the data packet size as the length of the data packet described in Embodiment 1 based on this accessory characteristic information, communication efficiency in time-division communication can be improved.

[0211] Figure 20 shows the accessory characteristic information in this embodiment. The function information (a11) represents the classification of the functions of the accessory device. In this embodiment, three function information sets are configured: function information 1, function information 2, and function information 3, each with a different classification of functions. The data packet size is determined by allocating data sizes to data packets according to the priority of data communication associated with each function information. The method for determining the data packet size will be described later using Figures 21 and 22.

[0212] Function Information 1 indicates the functions of the accessory device controlled by the camera 200, such as image stabilization, autofocus, aperture drive, and zoom drive, by transmitting control values ​​from the camera 200 to the accessory device. These functions require higher responsiveness and are executed at precise intervals compared to functions classified under other function information, and therefore need to be communicated to with higher priority than other functions. In other words, by prioritizing the data packet size corresponding to the functions classified under Function Information 1, efficient communication becomes possible while ensuring the execution cycle of these functions.

[0213] Function Information 2 indicates functions that require responsiveness among the functions that the accessory device transmits information 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 operation of the control ring of the intermediate adapter 300 and a notification function for the current position of the correction lens 103 or focus lens 104 of the interchangeable lens 100. Functions classified as Function Information 2 do not require the same high level of responsiveness as functions classified as Function Information 1, but a loss of responsiveness may degrade the performance of the accessory device. For this reason, data packet size is prioritized for functions classified as Function Information 2, in order to prioritize communication with them over functions classified as Function Information 3, which will be described next.

[0214] Function Information 3 is information that indicates functions that transmit or receive information between the camera 200 and accessory devices that do not require high responsiveness. Functions classified as Function Information 3 include functions that transmit and receive information indicating the setting status, such as the state of the switch for switching between autofocus and manual focus on the interchangeable lens 100, and the state of the switch for switching image stabilization ON / OFF. Although these setting statuses need to be notified to the camera 200, the impact on the user due to notification delays is less than that of 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 sufficient data packet size.

[0215] Note that function information 1-3 are merely examples; the number of function information items 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, when determining the data packet size, function information 2 may take precedence over function information 1, and even within the same function information, some functions may have higher priority.

[0216] The requested period in (a12) represents the period required for each accessory device to perform its corresponding function. For example, the period required for the function that controls image stabilization, classified as function information 1 (hereinafter referred to as the image stabilization control function), is 1 ms, and the period required for the function that transmits the amount of control ring operation, classified as function information 2 (hereinafter referred to as the control ring operation function), is 16 ms. There are no particular period constraints for the function that notifies the status, classified as function information 3. Note that the image stabilization control function may have generations (different data types and transmission frequencies), and the required period may differ for each generation. In addition, multiple values ​​may be set as the period corresponding to a function. Furthermore, the period may be set for each accessory device, rather than for each function.

[0217] The requested data size in (a13) represents the data size required to perform the function of each accessory device. In this embodiment, the image stabilization control function requires 24 bytes as a command packet size in the C→L direction within a 1ms cycle for communication. The control ring operation function requires 16 bytes as a command packet size in the A→C direction within a 16ms cycle. Furthermore, although there is no cycle limitation for the status notification function, each data packet requires 12 bytes as a command packet size.

[0218] The requested data sizes described here are merely examples. For instance, the specific data size required to execute a function may differ from the number of bytes mentioned above, and the requested data size may vary for each period the function corresponds to. Furthermore, the requested data size may range from the minimum data size required to execute the function to a data size with ample margin.

[0219] The accessory characteristics information (supported baud rate, communication direction switching time, and transmit / receive buffer size) in Figure 20 are as explained in Figure 12.

[0220] The flowchart in Figure 21 shows the process (communication control method) by which the camera microcontroller 205 determines the data packet size based on the accessory characteristic information described in Figure 20. The camera microcontroller 205 executes this process according to the computer program.

[0221] In S2000, the camera microcontroller 205 acquires accessory characteristic information from all accessory devices connected to the camera 200. It then compares the request periods shown in (a11) in Figure 20 of all accessory devices and determines the minimum value among them as the communication period. The determined communication period is a factor in determining the data packet size, and is also time-division setting information to be notified to the accessory devices, as shown in Figure 23 later.

[0222] Next, in S2001, the camera microcontroller 205 selects the fastest baud rate that can be used by all accessory devices and the camera 200 as the communication baud rate. Note that the method for determining the communication baud rate may differ from this. For example, the lowest baud rate may be selected to avoid communication noise, or different baud rates may be set for each accessory device. The determined communication baud rate, like the communication cycle, is a factor that determines the data packet size, and is also time-division multiplexing setting information that is notified to the accessory devices.

[0223] Next, in S2002, the camera microcontroller 205 calculates the period-interval transmission / reception time, which is the time available for sending and receiving data within one communication cycle, by subtracting the communication direction switching time for data packets from the determined communication cycle. Then, by multiplying this period-interval transmission / reception time by the communication baud rate, it calculates the period-interval data size, which is the maximum data size that can be sent and received within the cycle.

[0224] In the following steps, the data packet size for each communication direction is determined by allocating the periodic data size to data packets that are distinct for each communication direction. In the following explanation, the periodic data size that has not yet been allocated is referred to as the remaining periodic data size.

[0225] Next, in S2003, the camera microcontroller 205 secures the minimum data size required for time-division communication from the data size within the period. Here, the minimum required data size is determined by assuming that destination information ADDR and the checksum TSUM of the data packet are required for each data packet.

[0226] However, the minimum required data size is not limited to this; it may be set to 0 bytes and not required at all, or data size may be allocated for the command packet components: command length information LENn, command CMDn, and the command packet checksum PSUM. Alternatively, a completely different data packet configuration may be adopted, and the data size required for that data packet configuration may be allocated.

[0227] Next, in S2004, the camera microcontroller 205 selects a function according to the data communication priority 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. Finally, the status notification function, classified as function information 3, is selected. Note that the order and priority of function selection are not limited to this, and not all functions may be selected, and the user may determine the priority.

[0228] Next, in S2005, the camera microcontroller 205 compares the requested data size for the selected function with the remaining data size within the period. If the remaining data size within the period is greater than the requested data size, the process proceeds to step S2006; otherwise, the process terminates because the requested data size for the function cannot be secured. Note that the process in S2005 is not always necessary; if the data size within the period is sufficient compared to the requested data size for the function, the process may proceed directly from S2004 to S2006.

[0229] In S2006, the camera microcontroller 205 allocates the requested data size for the function within the remaining periodic data size and assigns it to the corresponding data packet. At this time, the requested data size for the function may be obtained from the accessory device as accessory characteristic information, or the camera 200 may have it stored as internal data beforehand.

[0230] Next, in S2007, the camera microcontroller 205 determines whether it has allocated data size to all functions. If it has finished allocating data size to all functions, it terminates this process. If it has not finished allocating data size to all functions, it returns to S2004 and selects the next function based on the priority determined by the function information.

[0231] The camera microcontroller 205 repeats the above process until it can no longer secure the requested data size for the function or until data size is allocated for all functions. In this way, the data packet size is determined by allocating data size based on the function information.

[0232] Figure 22 shows the process by which the camera microcontroller 205 determines the data packet size based on the accessory characteristic information shown in Figure 20, using the processing shown in Figure 21.

[0233] In (c1), S2000 compares the 1ms period required to execute the image stabilization control function in Figure 20 with the 16ms period required to transmit the control ring's operation amount, and the shorter of the two, 1ms, is determined as the communication period.

[0234] Next, in (c2), in S2001, the total time for switching the communication direction between data packets within the communication cycle is subtracted from the communication cycle to calculate the time available for transmission and reception within the communication cycle. In this embodiment, data packets are transmitted in the order 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 Figure 20. Thus, the time available for transmission and reception within the communication cycle is 400 μs.

[0235] Furthermore, it is not always necessary to determine the transmission and reception time within a communication cycle based on the communication direction switching time between the interchangeable lens 100 and the intermediate adapter 300. For example, the transmission and 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 transmission and reception time within a communication cycle may be predetermined as a communication rule.

[0236] Furthermore, in (c2), in S2002, the supported baud rates of the interchangeable lens 100 and the intermediate adapter 300 shown in Figure 20 are compared, and the fastest baud rate, 2.5 Mbps, is determined as the communication baud rate.

[0237] Next, in (c3), the data size within the period, 100 bytes, is calculated by multiplying the 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 performed assuming 1 byte = 10 bits.

[0238] Next, in (c4), in S2003, a total of 8 bytes, consisting of the destination information ADDR and the data packet checksum TSUM (2 bytes), is allocated within the periodic data size for each data packet as the minimum data size required for time-division communication.

[0239] Next, in (c5), in S2004 and S2005, 24 bytes, which is the requested data size for the image stabilization control function, a function classified as function information 1, are allocated to the C→L data packet.

[0240] Similarly, in (c6), 16 bytes, which is the requested data size for the control ring operation function, a function classified as function information 2, are allocated from A to C.

[0241] Then, in (c7), 12 bytes are allocated for each data packet, totaling 48 bytes, as the request data size for the status notification function, which is classified as functional information 3.

[0242] (c8) As shown, when the allocated data sizes are organized by data packet, the sizes are C→L: 42 bytes, L→C: 14 bytes, C→A: 14 bytes, and A→C: 30 bytes. In this embodiment, the data size allocated for the corresponding C→L is larger than that of the other data packets due to the data size requested by the image stabilization control function. Also, the data size allocated for the corresponding L→C is larger than that of the other data packets except for C→L due to the data size requested by the control ring operation function. The data packet sizes are determined in this manner.

[0243] The method for determining data packet size described here is merely an example, and other methods may be used. For example, the data packet size may be determined solely by its function, or the data packet size may be the same for each data packet if sufficient data size can be secured.

[0244] Figure 23 shows the time-division multiplexing (TBS) configuration information that the camera microcontroller 205 notifies the lens microcontroller 111 and the adapter microcontroller 302 in this embodiment. The TBS configuration information includes the TBS communication cycle, the TBS baud rate, and the data packet size of each data packet. The TBS communication cycle is 1 ms, and the TBS 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 TBS communication cycle and TBS baud rate may be fixed and not included in the TBS configuration information. The TBS configuration information may also include the order of the data packets and the timing of transmission and reception within the TBS communication cycle.

[0245] Time-division multiplexing (TBS) configuration information, including data packet size, is notified to each accessory device via the partner-designation communication shown in Figure 8 of Example 1, before TBS communication begins. This ensures that the camera 200 and all accessory devices share the TBS configuration information. The method of notifying TBS configuration information is not limited to this; for example, as shown in Figure 14 of Example 1, the TBS configuration information may also be included in the TBS communication start command transmitted via broadcast communication.

[0246] The methods for determining and notifying time-division configuration information, including the data packet size for time-division communication, as described above are merely examples, and other methods may be adopted. For example, parameters other than functional information may be fixed, and the data packet size may be determined based solely on functional information, or the data packet configuration may differ.

[0247] Furthermore, the camera microcontroller 205 may determine the data packet size itself, or it may determine information for determining the data packet size (such as the maximum data size that the accessory device can send and receive as a data packet). It may also determine information that can be converted into a data packet size. In other words, the camera microcontroller 205 only needs to determine this information regarding data packet size. [Examples]

[0248] Next, Embodiment 3 of the present invention will be described. The camera system of this embodiment has the same configuration as in Embodiment 2. In this embodiment, if the determined data packet size is smaller than the data size required by the function, the data is divided and transmitted / received. That is, if the data packet size is larger than the maximum data size that can be transmitted or received at once to or from the accessory device, the data size information is determined so that the data packet is divided into multiple data packets within the maximum data size. This makes it possible to perform more functions. <Determining data packet size through data segmentation> The following describes how to determine the data packet size for time-division communication in this embodiment. Figure 24 shows the accessory characteristic information of each accessory device in this embodiment. The number of requested data bytes is the same as shown in Figure 20 in Embodiment 2, but in this embodiment, the number of requested data bytes indicates the number of requested data bytes within the request cycle. When determining the data packet, even if the number of requested data bytes required to execute the function cannot be secured, the functional data, which is the data that needs to be transmitted and received to execute the function, is divided into multiple data packets and transmitted and received at different communication cycles. This makes it possible to execute the function. The functional data may be control values ​​such as image stabilization, autofocus, aperture drive, and zoom drive, or it may be commands to execute these controls. It may also be commands to interrupt or terminate time-division communication.

[0249] Regarding the transmit and receive buffer sizes, the transmit and receive buffer sizes of the intermediate adapter 300 are both 8 bytes, which is smaller than in Examples 1 and 2. Other accessory characteristics are the same as in Figure 20.

[0250] The flowchart in Figure 25 illustrates the process of determining the data packet size based on the accessory characteristic information described in Figure 24. The camera microcontroller 205 executes this process according to the computer program.

[0251] Lines S3000 to S3003 are the same as lines S2000 to S2003 in Example 2 (Figure 21).

[0252] In S3004, the camera microcontroller 205 secures the minimum data size for division within the remaining periodic data size. The minimum data size for division is the smallest data size that allows functional data to be divided and transmitted / received. By securing the minimum data size for division, even if the required data size for a function is not secured in the subsequent S3008, the functional data necessary to execute the function can be divided and transmitted / received within the minimum data size for division and the data size secured in S3009 (described later). The data size secured as the minimum data size for division may be used for transmitting and receiving multiple functional data.

[0253] Next, in S3005, the camera microcontroller 205 selects a function according to the priority determined based on the function information, similar to S2004 in Figure 21.

[0254] Then, in S3006, the camera microcontroller 205 compares the data size of the function request with the data size of the remaining period, similar to S2005 in Figure 21. If the data size of the remaining period is larger, it proceeds to S3007; otherwise, it proceeds to S3010.

[0255] In S3007, the camera microcontroller 205 compares the remaining transmit / receive buffer size (calculated by subtracting the already allocated data size from the transmit / receive buffer size for the corresponding data packet) with the data size requested by the function. If the remaining transmit / receive buffer size is larger, the process proceeds to S3008; otherwise, it proceeds to S3009.

[0256] In S3008, the camera microcontroller 205, similar to S2006, reserves the necessary data size for the function within the remaining periodic data size and allocates it to the corresponding data packet.

[0257] In S3009, the camera microcontroller 205 reserves data packets corresponding to the function up to the size of the transmit / receive buffer. Compared to Example 2, by adding S3007 and S3009, it becomes possible to limit the data packet size so that it does not exceed the transmit / receive buffer size.

[0258] In S3010, the camera microcomputer 205 determines whether data size allocation has been performed for all functions. If the allocation for all functions has been completed, this process ends. If the allocation process for all functions has not ended, it returns to S3005 and selects the next function according to the priority determined based on the function information.

[0259] The camera microcomputer 205 repeats the above process until data size allocation is performed for all functions. Thus, by performing data size allocation based on the function information, the data packet size is determined. Also, by ensuring the minimum divided data size in advance, even when the required data size of the function is not ensured, as shown in FIG. 28 described later, the data packet is divided and transmitted / received, enabling the execution of the function.

[0260] FIG. 26 shows the flow in which the camera microcomputer 205 performs the process shown in FIG. 25 based on the accessory characteristic information shown in FIG. 24 to determine the data packet size.

[0261] [[ID= 14]](d1) to (d4) are the same as (c1) to (c4) in Embodiment 2 (FIG. 22). At the time of (d4), the remaining in-cycle data size is 92 bytes.

[0262] (d5) In S3004, a minimum divided data size as the data size capable of at least transmitting and receiving divided commands is secured by a total of 16 bytes, 4 bytes for each data packet.

[0263] (d6) In S3005, for the hand shake correction control function initially selected, the required data size is secured by S3008 via S3006 and S3007. In this embodiment, 28 bytes, which is the required data size, is allocated to the C→L data packet.

[0264] Next, in (d7), the remaining transmit / receive buffer size and the required data size are compared in S3007 for the control ring operation function selected in S3005. As a result, if the required data size cannot be secured, the transmit / receive buffer size is secured in S3009. In this embodiment, 6 bytes have already been secured for the A→C data packet corresponding to the control ring operation function. Since the transmit / receive buffer size is 8 bytes, 2 bytes are then secured for the A→C data packet corresponding to the control ring operation function.

[0265] Next, in (d8), the status notification function is selected in S3005, and 12 bytes, the requested data size for the status notification function, are allocated in S3008 for the C→L and L→C data packets. Data packets for C→A and A→C are allocated up to the transmit / receive buffer size in S3009. Since 6 bytes have already been allocated for the C→A data packet and the transmit / receive buffer size is 8 bytes, 2 bytes are allocated for the C→A data packet corresponding to the status notification function. Also, since 8 bytes have already been allocated for the A→C data packet and the transmit / receive buffer size is 8 bytes, no additional A→C data packet is allocated for the A→C data packet corresponding to the status notification function.

[0266] (d9) As shown, when the allocated data size is organized by data packet, it is C→L: 46 bytes, L→C: 18 bytes, C→A: 8 bytes, A→C: 8 bytes.

[0267] Figure 27 shows the time-division setting information (communication cycle, communication baud rate, and data packet size) that the camera microcontroller 205 notifies the lens microcontroller 111 and the adapter microcontroller 302. In this embodiment, the data packet size is limited by the transmit / receive buffer size compared to the time-division setting information shown in Embodiment 2 (Figure 23), resulting in C→A: 8 bytes and A→C: 8 bytes. Therefore, in this embodiment, the control ring operation function is performed by dividing and transmitting / receiving its function data.

[0268] The method for notifying the camera 200 of the time-division setting information to the interchangeable lens 100 and the intermediate adapter 300 is the same as that described in Figure 23. <Time-division communication processing of data with division function> The camera microcontroller 205, lens microcontroller 111, and adapter microcontroller 302 each have a communication block and a function block. The communication block performs communication control, including the time-division processing shown in Figure 10. The function block performs control to execute functions. The communication block and 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 local memory may be the same memory, and there may be multiple function blocks for each function. For example, the function block may include a function block for image stabilization control and a function block for control ring operation.

[0269] The camera microcontroller 205 and the lens microcontroller 111 perform the time-division communication processing shown in Figure 10 in Example 1. The time-division communication processing performed by the adapter microcontroller 302 is basically the same as the time-division communication processing performed by the lens microcontroller 111, so its explanation is omitted.

[0270] Figure 28 shows the process by which the camera microcontroller 205 generates a transmission data packet based on a predetermined data packet size. This process is performed in steps S507 and S514 of Figure 10. The lens microcontroller 111 generates the transmission data packet in the same way as in Figure 28, in steps S607 and S614 of Figure 10. A detailed explanation of the process by which the lens microcontroller 111 generates the transmission data packet is omitted.

[0271] In S10001, the function block of the camera microcontroller 205 determines whether or not it is necessary to send function data. If necessary, it retrieves the function data via shared memory and proceeds to S10002. If it is not necessary to send function data, it proceeds to S10005. Before determining whether or not it is necessary to send function data, the function block prepares the function data in the shared memory in advance.

[0272] In this embodiment, the function block of the camera microcontroller 205 prepares the function data for the image stabilization control function in shared memory and communicates to the communication block that it is necessary to transmit the function data for the image stabilization control function at each communication cycle. Similarly, the function block of the adapter microcontroller 302 prepares the function data for the control ring operation function in shared memory and communicates to the communication block that it is necessary to transmit the function data for the control ring operation function once every 16 cycles. However, these are merely examples. For example, it may be decided that the function data for the control ring operation function should only be transmitted when the control ring is actually operated by the user, or it may not be transmitted at all when the image stabilization function is OFF.

[0273] Next, in S10002, the communication block of the camera microcontroller 205 determines whether or not to divide and transmit the functional data. If it decides to divide and transmit, it proceeds to S10003; otherwise, it proceeds to S10004. In this embodiment, the decision of whether or not to divide the functional data is made in S3008, the data packet size determination step explained in Figure 25, based on whether or not the necessary data size is secured for that function. That is, if the necessary data size is not secured, it is decided to divide the data. Note that this is merely an example, and the decision of whether or not to divide and transmit the functional data may also be made based on whether or not the data packet size is exceeded when the functional data is placed in a data packet.

[0274] In S10003, the communication block of the camera microcontroller 205 stores command packets, which are created by dividing the functional data of the accessory device so that it fits within the size of the transmission data packet, into data packets. In this embodiment, the control ring operation function of the adapter microcontroller 302 corresponds to the function that divides the functional data. At this time, the number of data bytes requested by the control ring operation function is 16 bytes. On the other hand, the data size allocated to the control ring operation function is 6 bytes in total, consisting of 4 bytes, which is the minimum data size for division, and 2 bytes, which is allocated up to the size of the transmit and receive buffer for the data packet corresponding to the control ring operation function. Therefore, the functional data is divided to fit within the allocated size and a command packet is generated.

[0275] In this embodiment, the functional data for the control ring operation function is simply divided into three parts of 6 bytes each: bytes 1-6, bytes 7-12, and bytes 13-16. First, the command packet of bytes 1-6 is placed into a data packet. The command packets of bytes 7-12 and 13-16 are stored in local memory and placed into data packets in S10003 when generating data packets in the next cycle and the cycle after that. Then the process proceeds to S10005.

[0276] Note that this method of generating command packets by splitting the functional data is merely an example, and other generation methods may be used. For example, for each command packet generated by splitting, data size equivalent to the command length information LENn, the command CMDn, and the command packet checksum PSUM, which are components of the command packet, may or may not be allocated. Furthermore, to allocate data size for functions such as status notification, the command packets may be split into smaller units. In addition, the number of divisions of the functional data may be set to 16 to match the request cycle.

[0277] In S10004, the communication block of the camera microcomputer 205 stores a command packet containing all the data necessary to cause the accessory device to execute its function in the transmission data packet. Specifically, the camera microcomputer 205 stores the command packet of the shake correction control function in the transmission data packet. The required number of data bytes for the shake correction control function is 24 bytes. Without dividing the function data, a 24-byte command packet is generated and stored in the data packet. Then, it proceeds to S10005.

[0278] In S10005, the communication block of the camera microcomputer 205 checks whether the determination in S10001 has been executed for all the function data. If there is function data for which the determination has not been executed, it returns to S10001. Thus, this process is repeated until the determination of whether it is necessary to transmit for all the function data is completed. When the determination in S10001 has been executed for all the function data, it proceeds to END. END indicates the end of the generation process of one transmission data packet.

[0279] Figure 29 shows the process of receiving and analyzing the transmission data packet generated by the camera microcomputer 205 based on a predetermined data packet size. This process is performed in S512 of Figure 10. The lens microcomputer 111 receives and analyzes the transmission data packet in the same process as Figure 29 in S612 of Figure 10. A detailed explanation of the process by which the lens microcomputer 111 receives and analyzes the transmission data packet is omitted.

[0280] The communication block of the camera microcomputer 205 waits to receive a data packet in S10101, and when it is received, it proceeds to S10102.

[0281] In S10102, the communication block of the camera microcontroller 205 determines whether or not it has received functional data. If it has not, it proceeds to S10106. If it has received data, the communication block analyzes the command packets within the received data packets and selects one of the functional data. In this embodiment, the functional data is selected in the order of reception. Alternatively, the functional data may be selected according to the priority of the functional information associated with it.

[0282] Next, in S10103, the communication block of the camera microcontroller 205 determines whether the received functional data is divided functional data (hereinafter referred to as divided functional data). If it is not divided functional data, the process proceeds to S10104; if it is divided functional data, the process proceeds to S10105. If the received functional data is divided functional data, and the divided functional data acquired this time completes the pre-divided functional data, the divided functional data is retrieved from local memory to generate the pre-divided functional data before proceeding to S10104.

[0283] In S10104, the communication block of the camera microcontroller 205 stores the received function data in the shared memory. The function block executes the corresponding function based on the function data stored in the shared memory. In this embodiment, the function block of the camera microcontroller 205 executes the control ring operation function based on the function data for the control ring operation function. For example, if the function for changing the shutter speed setting value is assigned to the control ring, the function block of the camera microcontroller 205 changes the shutter speed setting value in the camera 200 according to the operation of the control ring. In addition, the function block of the lens microcontroller 111 executes the image stabilization function based on the image stabilization control function data received from the camera microcontroller 205. Other functions are also executed based on their respective function data.

[0284] In S10105, the communication block of the camera microcontroller 205 stores the received segmentation function data in local memory.

[0285] Next, in S10106, the communication block of the camera microcontroller 205 determines whether it has processed all the received functional data. If it has not yet processed all the functional data, it returns to S10102 and continues analyzing the data packets. If it has processed all the functional data, it proceeds to END. END indicates the end of the analysis process for one received data packet.

[0286] The above-described embodiment includes the following configuration.

[0287] (Composition 1) A camera that can be used with multiple accessory devices connected, The camera control unit 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, Using the data communication channel, it is possible 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. The second communication with the plurality of accessory devices is performed by switching the specific accessory devices in a predetermined order within one or more communication cycles. A camera characterized by determining at least one of the following when performing the second communication in a predetermined order, based on accessory information obtained from the plurality of accessory devices: the communication cycle, the communication speed, the number and length of data packets communicated for each communication cycle, and the combination and order of the source and destination of the communication.

[0288] (Configuration 2) The camera according to configuration 1, characterized in that the camera control unit transmits at least one of the determined communication cycle, communication speed, number and length of data packets, and combination and order of source and destination to the plurality of accessory devices via the first or second communication.

[0289] (Composition 3) The camera according to configuration 1 or 2, wherein the camera control unit sequentially designates each of the plurality of accessory devices as a specific accessory device by first communication before switching the specific accessory devices in the predetermined order and performing second communication, and acquires accessory information from the specific accessory devices by second communication.

[0290] (Composition 4) The camera according to any one of configurations 1 to 3, characterized in that the accessory information includes information indicating the function corresponding to each of the plurality of accessory devices.

[0291] (Composition 5) The camera according to any one of configurations 1 to 4, characterized in that the accessory information includes information indicating the number of the plurality of accessory devices.

[0292] (Composition 6) The camera according to any one of configurations 1 to 5, characterized in that the camera control unit determines at least one of the number, length, source and destination combinations and order of the data packets based on the accessory information and the communication cycle.

[0293] (Composition 7) The camera according to any one of configurations 1 to 6, characterized in that the camera control unit determines the data packets for each communication cycle so that each communication cycle includes one or more data packets with the same combination of communication source and communication destination.

[0294] (Composition 8) The camera according to any one of configurations 1 to 7, characterized in that the camera control unit changes at least one of the number, length, source and destination combinations and order of the data packets while the second communication is being performed by switching the specific accessory devices in the predetermined order.

[0295] (Composition 9) An accessory device that connects to a camera that can be used with multiple accessory devices connected, The accessory control unit controls communication with the camera using a notification channel used for notifications to and from the camera and a data communication channel used for data communication to and from the camera. The accessory control unit, Using the aforementioned data communication channel, it is possible to perform a first communication for simultaneous communication from the camera to the multiple accessory devices, and a second communication for individual communication with the camera. An accessory device characterized in that when the camera performs the second communication with the plurality of accessory devices by switching specific accessory devices that communicate in a predetermined order within one or more communication cycles, the accessory device performs the second communication with the camera according to at least one of the following, determined by the camera based on the accessory information acquired from the plurality of accessory devices: the communication cycle, the communication speed, the number and length of data packets communicated in each communication cycle, the combination and order of the source and destination of the communication.

[0296] (Composition 10) The accessory device according to configuration 9, characterized in that the accessory control unit receives at least one of the following from the camera via the first or second communication: the communication period, the communication speed, the number and length of the data packets, the combination and order of the source and destination, which are determined by the camera.

[0297] (Composition 11) The accessory device according to configuration 9 or 10, characterized in that the accessory control unit transmits the accessory information to the camera via the second communication in response to being designated as the specific accessory device via the first communication, before the camera switches the specific accessory devices in the predetermined order and performs the second communication.

[0298] (Composition 12) The accessory device according to any one of configurations 9 to 11, characterized in that the accessory information includes information indicating the function to which the accessory device corresponds.

[0299] (Composition 13) The accessory device according to any one of configurations 9 to 12, characterized in that if the accessory control unit changes at least one of the number, length, source and destination combinations and order of the data packets while the camera is switching the specific accessory device and performing the second communication, it performs the second communication with the camera in accordance with the change. (Other examples) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0300] The embodiments described above are merely representative examples, and various modifications and changes can be made to each embodiment when implementing the present invention. [Explanation of symbols]

[0301] 100 interchangeable lenses (accessory device) 111 Lens microcontroller (accessory control unit) 200 Cameras 205 Camera Microcontroller (Camera Control Unit) 300 Intermediate Adapter (Accessory Device) 302 Adapter Microcontroller (Accessory Control Unit) CS Notification Channel DATA Data communication channel

Claims

1. A camera that can be used with multiple accessory devices connected, The camera control unit 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, Using the data communication channel, it is possible 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. Based on the accessory information obtained from the aforementioned multiple accessory devices, at least one of the following is determined: communication cycle, communication speed, number and length of data packets communicated for each communication cycle, and the combination and order of the source and destination. A camera characterized in that the second communication with the plurality of accessory devices is performed by switching the specific accessory devices in a predetermined order within one or more communication cycles.

2. The camera according to claim 1, characterized in that the camera control unit transmits at least one of the determined communication cycle, communication speed, number and length of data packets, and combination and order of source and destination to the plurality of accessory devices by the first or second communication.

3. The camera according to claim 1, wherein the camera control unit sequentially designates each of the plurality of accessory devices as the specified accessory device by first communication before switching the specified accessory devices in the predetermined order and performing the second communication, and acquires the accessory information from the specified accessory device by second communication.

4. The camera according to claim 1, characterized in that the accessory information includes information indicating the function corresponding to each of the plurality of accessory devices.

5. The camera according to claim 1, characterized in that the accessory information includes information indicating the number of the plurality of accessory devices.

6. The camera according to claim 1, characterized in that the camera control unit determines at least one of the number, length, source and destination combinations and order of the data packets based on the accessory information and the communication cycle.

7. The camera according to claim 1, characterized in that the camera control unit determines the data packets for each communication cycle so that each communication cycle includes one or more data packets with the same combination of communication source and communication destination.

8. The camera control unit is characterized in that it changes at least one of the number, length, source and destination combinations and order of the data packets while the second communication is being performed by switching the specific accessory device in the predetermined order, as described in claim 1.

9. A method for controlling communication with a camera that can be used with multiple accessory devices connected, 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, 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. The camera is instructed to determine at least one of the following based on accessory information acquired from the plurality of accessory devices: communication cycle, communication speed, number and length of data packets communicated for each communication cycle, and the combination and order of source and destination. A communication control method characterized in that the camera performs the second communication with the plurality of accessory devices by switching the specific accessory devices in a predetermined order within one or more communication cycles.

10. A program characterized by causing the computer of a camera that can be used with multiple accessory devices connected to it to execute processing according to the communication control method described in claim 9.