Imaging device, accessory, imaging device control method, accessory control method, and program

The imaging device addresses the challenge of inappropriate communication controls by employing dual control means that adapt communication methods based on accessory-specific control information, ensuring efficient and compatible interactions with various accessories.

JP7654457B2Active Publication Date: 2025-04-01CANON KK
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021072962
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-04-23
Publication Date
2025-04-01
Estimated Expiration
2041-04-23

AI Technical Summary

Technical Problem

Existing imaging devices struggle to perform communication controls that are appropriately tailored to the type and function of each accessory, leading to inefficient or unreliable interactions.

Method used

An imaging device with dual control means for communicating with accessories using multiple protocols, where one control means obtains control information from the accessory to determine the appropriate communication method, allowing for communication without checking availability or after checking availability, depending on the protocol.

Benefits of technology

Enables the imaging device to perform communication control suitable for each accessory, enhancing compatibility and efficiency in device-accessory interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654457000001
    Figure 0007654457000001
  • Figure 0007654457000002
    Figure 0007654457000002
  • Figure 0007654457000003
    Figure 0007654457000003
Patent Text Reader

Abstract

To provide an image capturing device capable of providing communication control suitable to each accessory.SOLUTION: An image capturing device provided herein acquires control information on a second communication method from an accessory (200) by a first communication method, and communicates using the second communication method according to the control information.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to imaging devices and accessories. [Background technology]

[0002] Conventionally, accessories such as a strobe device and a microphone device that can be attached to an imaging device are known. The accessory performs various control processes in response to instructions and commands from the imaging device. In order to appropriately control the accessory based on instructions and commands from the imaging device, it is necessary to perform communication control appropriate for each accessory, such as the type and function of the accessory.

[0003] Patent Document 1 discloses a camera system in which an accessory notifies a camera of generation information of a communication specification supported by the camera, and the camera in turn notifies the accessory of generation information of a communication specification supported by the camera to determine a communication control method. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2020-12978 A Summary of the Invention [Problem to be solved by the invention]

[0005] There is a demand for communication control that is more appropriate for each accessory, such as its type and function.

[0006] SUMMARY OF THE PRESENTLY PREFERRED EMBODIMENTS An object of the present invention is to provide an imaging device, an accessory, a control method for an imaging device, a control method for an accessory, and a program capable of performing communication control suitable for each accessory. [Means for solving the problem]

[0007] An imaging device according to one aspect of the present invention is an imaging device to which an accessory can be attached, the imaging device having a first control means capable of communicating with the accessory in a first communication method and a second control means capable of communicating with the accessory in a second communication method, the first control means acquiring control information relating to the second communication method from the accessory, and the second control means determining a control method for communication with the accessory based on the control information acquired by the first control means. The control method includes a first control method for performing communication without checking the communication availability state of the accessory, and a second control method for performing communication after checking the communication availability state of the accessory, and the second control means communicates with the accessory by the first control method or the second control method determined based on the control information. .

[0008] Other objects and features of the present invention will be described in the following embodiments. Effect of the Invention

[0009] According to the present invention, it is possible to provide an imaging device, an accessory, a control method for an imaging device, a control method for an accessory, and a program capable of performing communication control suitable for each accessory. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a configuration diagram of a camera system according to an embodiment of the present invention. [Figure 2(a)] 4 is a schematic diagram of a communication waveform of the SPI protocol A in this embodiment. [Figure 2(b)] 4 is a schematic diagram of a communication waveform of SPI protocol B in this embodiment. FIG. [Figure 2(c)] 5 is a flowchart showing the operation of a camera control circuit B in accordance with an SPI protocol A in this embodiment. [Figure 2(d)] 5 is a flowchart showing the operation of the accessory control circuit in the SPI protocol A in the present embodiment. [Figure 2(e)] 10 is a flowchart showing the operation of the camera control circuit B in the SPI protocol B in this embodiment. [Figure 2(f)] 10 is a flowchart showing the operation of the accessory control circuit in SPI protocol B in this embodiment. [Diagram 3]FIG. 2 is an explanatory diagram of SPI communication contents in the present embodiment. [Figure 4] 4 is an explanatory diagram of accessory information in the present embodiment. [Diagram 5] 4 is a sequence diagram showing the operation of the camera and the accessory in the present embodiment. FIG. [Figure 6] 5 is an explanatory diagram of accessory type information in the embodiment. [Figure 7] 4 is an explanatory diagram of a cause number and a cause content of a communication request in the embodiment. FIG. [Figure 8] 4 is an explanatory diagram of communication data interval information of SPI communication in the present embodiment. FIG. [Figure 9] 4 is a flowchart showing the operation of a camera control circuit A in the present embodiment. [Figure 10] 5 is a flowchart showing the operation of a camera control circuit B in the present embodiment. [Figure 11] 5 is a flowchart showing the operation of an accessory control circuit in the present embodiment. [Figure 12] 4 is a diagram showing the relationship between the content of SPI communication and the operation of an accessory in this embodiment. FIG. [Figure 13] FIG. 4 is a diagram showing an example of an I2C communication waveform in the present embodiment. [Figure 14] 11 is a diagram showing a process performed by the camera control circuit A when transmitting N bytes of data from the camera control circuit A to the accessory control circuit in this embodiment. FIG. [Figure 15] 11 is a diagram showing a process performed by the camera control circuit A when the camera control circuit A receives N bytes of data from the accessory control circuit in this embodiment. FIG. [Figure 16] 11 is a diagram showing a process performed by the accessory control circuit when transmitting and receiving N bytes of data between the camera control circuit A and the accessory control circuit in this embodiment. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

[0012] First, a camera system (imaging system) 10 in this embodiment will be described with reference to Fig. 1. Fig. 1 is a configuration diagram of the camera system 10. The camera system 10 is configured to include a camera (imaging device) 100 as an electronic device, and an accessory 200 that is detachably attached to the camera 100. The camera 100 and the accessory 200 are electrically connected by one-to-one contact between a plurality of contacts (terminals) TC01-TC21 of a camera connection section 141 of the camera 100 and a plurality of contacts TA01-TA21 of an accessory connection section 211 of the accessory 200.

[0013] The camera 100 is supplied with power from a battery 111. The battery 111 is detachable from the camera 100. A camera control circuit A (first control means) 101 and a camera control circuit B (second control means) 102 as control means of the camera 100 are circuits that control the entire camera 100, and are configured by a microcomputer with a built-in CPU and the like. The camera control circuit A101 monitors switches for operating the camera (not shown). The camera control circuit A101 operates even when the camera 100 is in a standby state (low power consumption mode), and controls the system power supply and the like in response to user operations. The camera control circuit B102 is responsible for controlling the image sensor 122, the display circuit 127, and the like, and stops operating when the camera 100 is in a standby state (low power consumption mode).

[0014] The system power supply circuit 112 is a circuit that generates power to be supplied to each circuit of the camera 100, and is composed of a DC-DC converter circuit, an LDO (Low Drop Out), a charge pump circuit, etc. A voltage of 1.8V generated by the system power supply circuit 112 is constantly supplied from the battery 111 to the camera control circuit A101 as a camera microcomputer power supply VMCU_C. In addition, several types of voltages generated by the system power supply circuit 112 are also supplied to the camera control circuit B102 at any timing as a camera microcomputer power supply VMCU2_C. The camera control circuit A101 controls the system power supply circuit 112 to perform on / off control of the power supply to each circuit of the camera 100.

[0015] The optical lens (lens device) 121 is detachable from the camera 100. Light from a subject incident through the optical lens 121 is imaged on an image sensor (image pickup element) 122 such as a CMOS sensor or a CCD sensor. The optical lens 121 and the camera 100 may be integrated. The subject image imaged on the image sensor 122 is encoded into a digital image pickup signal. The image processing circuit 123 performs image processing such as noise reduction processing and white balance processing on the digital image pickup signal to generate image data, and converts the image data into an image file in JPEG format or the like to record it in the recording memory 126. The image processing circuit 123 also generates VRAM image data from the image data to be displayed on the display circuit 127. The image processing circuit 123 may also be configured to convert into other voltages.

[0016] The memory control circuit 124 controls the transmission and reception of image data generated by the image processing circuit 123 and other data. The volatile memory 125 is a memory capable of high-speed reading and writing, such as a DDR3 SDRAM, and is used as a workspace for image processing performed by the image processing circuit 123. The recording memory 126 is a readable and writable recording medium, such as an SD card or a CFexpress card, which is detachable from the camera 100 via a connecting part (not shown). The display circuit 127 is a display disposed on the rear surface of the camera 100, and is composed of an LCD panel, an organic EL display panel, or the like. The backlight circuit 128 adjusts the brightness of the display circuit 127 by changing the amount of light of the backlight of the display circuit 127.

[0017] The accessory power supply circuit A131 and the accessory power supply circuit B132 as power supply means are voltage conversion circuits that convert the voltage supplied from the system power supply circuit 112 to a predetermined voltage, and generate 3.3V as the accessory power supply VACC in this embodiment. The accessory power supply circuit A131 is a power supply circuit with low self-consumption power, which is composed of an LDO or the like. The accessory power supply circuit B132 is a circuit that is composed of a DC / DC converter circuit or the like, and can pass a larger current than the accessory power supply circuit A131. The accessory power supply circuit B132 has a larger self-consumption power than the accessory power supply circuit A131. Therefore, when the load current is small, the accessory power supply circuit A131 is more efficient than the accessory power supply circuit B132, and when the load current is large, the accessory power supply circuit B132 is more efficient than the accessory power supply circuit A131. The camera control circuit A101 controls the on / off of the voltage output of the accessory power supply circuit A131 and the accessory power supply circuit B132 according to the operating state of the accessory 200.

[0018] The protection circuit 133 as a protection means is configured with a current fuse element, a polyswitch element, or an electronic fuse circuit combining a resistor, an amplifier, and a switch element. The protection circuit 133 outputs an overcurrent detection signal DET_OVC when the power supply current value supplied to the accessory 200 from the accessory power supply circuit A131 and the accessory power supply circuit B132 exceeds a predetermined value and becomes excessive (abnormal). In this embodiment, the protection circuit 133 is an electronic fuse circuit, and notifies the camera control circuit A101 by the overcurrent detection signal DET_OVC when a current of 1 A or more flows. The overcurrent detection signal DET_OVC indicates an overcurrent by its Hi level. The predetermined value may be configured to be different from 1 A.

[0019] The camera connection unit 141 is a connector for electrically connecting to the accessory 200 via 21 contacts TC01 to TC21 arranged in a row. The contacts TC01 to TC21 are arranged in this order from one end to the other end in the arrangement direction.

[0020] The contact TC01 is connected to the ground (GND) and serves not only as a reference potential contact but also as a contact for controlling the wiring impedance of the differential signals D1N and D1P. The contact TC01 corresponds to a third ground contact. The differential signal D1N connected to the contact TC02 and the differential signal D1P connected to the contact TC03 are differential data communication signals that perform data communication in pairs and are connected to the camera control circuit B102. The contacts TC02, TC03, and the contacts TC07 to TC17, TC19, and TC20 described later are communication contacts.

[0021] Contact TC04 as a first ground contact is connected to GND and serves as a reference potential contact for camera 100 and accessory 200. Contact TC04 is disposed on the outside in the arrangement direction of the contacts relative to TC05, which will be described next. Accessory power VACC generated by accessory power circuits A131 and B132 is connected to contact TC05 as a power contact via protection circuit 133.

[0022] An accessory attachment detection signal / ACC_DET is connected to contact TC06, which serves as an attachment detection contact. The accessory attachment detection signal / ACC_DET is pulled up to the camera microcomputer power supply VMCU_C via a resistive element Rp134 (10 kΩ). The camera control circuit A101 can detect whether the accessory 200 is attached by reading out the signal level of the accessory attachment detection signal / ACC_DET. If the signal level (electric potential) of the accessory attachment detection signal / ACC_DET is a Hi level (predetermined electric potential), the accessory 200 is detected as not being attached, and if it is a Lo level (GND electric potential as described later), the accessory 200 is detected as being attached.

[0023] When the camera 100 is powered on, the signal level (electric potential) of the accessory attachment detection signal / ACC_DET changes from Hi level to Lo level, which serves as a trigger for various communications between the camera 100 and the accessory 200 via the contacts.

[0024] In response to detecting that the accessory 200 is in an attached state, the camera control circuit 101 supplies power to the accessory 200 via TC05, which serves as a power contact.

[0025] SCLK connected to contact TC07, MOSI connected to contact TC08, MISO connected to contact TC09, and CS connected to contact TC10 are signals for performing SPI communication with the camera control circuit B102 as the communication master. In this embodiment, the communication clock frequency of the SPI communication is 1 MHz, the data length is 8 bits (1 byte), the bit order is MSB first, and the communication method is full duplex.

[0026] In this embodiment, the camera 100 and the accessory 200 are compatible with two types of communication protocols (control methods) as SPI (Serial Peripheral Interface) communication methods. The first communication protocol (first control method) is a method in which the camera 100 does not check whether the accessory 200 is in a communication-enabled state (communication availability state of the accessory 200) before outputting SCLK, and is referred to as SPI protocol A in this embodiment. Fig. 2(a) is a schematic diagram of a communication waveform of the SPI protocol A. In Fig. 2(a), the CS signal is Lo active.

[0027] At timing A1, the camera control circuit B102 changes CS to Lo level to request SPI communication from the accessory control circuit (control means) 201. At timing A2, a predetermined time T_CS after timing A1, the camera control circuit B102 starts outputting SCLK and MOSI. Similarly, when the accessory control circuit 201 detects a falling edge change of SCLK, it starts outputting MISO. The camera control circuit B102 stops outputting SCLK at timing A3 when outputting one byte of SCLK is completed. The camera control circuit B102 stops outputting SCLK until a predetermined time T_INTERVAL has elapsed from timing A3, and resumes outputting SCLK at timing A4 when T_INTERVAL has elapsed, and communicates the next one byte.

[0028] 2(c) is a flowchart showing the operation of the camera control circuit B102 in the SPI protocol A. First, in step S101, the camera control circuit B102 stores a numerical value indicating the number of bytes to be communicated in an internal variable N. For example, when communicating 3 bytes, 3 is stored. Next, in step S102, the camera control circuit B102 changes CS to Lo level to request SPI communication. Next, in step S103, the camera control circuit B102 performs a wait process until a predetermined time T_CS has elapsed after changing CS to Lo level. After the predetermined time T_CS has elapsed, the process proceeds to step S104.

[0029] In step S104, the camera control circuit B102 performs SCLK output control to communicate 1 byte of data, and also performs MOSI data output control and MISO data input control. Next, in step S105, the camera control circuit B102 determines whether an internal variable N indicating the number of communication bytes is 0. If the internal variable N is 0, the process proceeds to step S106. On the other hand, if the internal variable N is other than 0, the process proceeds to step S107.

[0030] In step S107, the camera control circuit B102 subtracts 1 from the internal variable N indicating the number of communication bytes and stores the result as a new internal variable N. Then, in step S108, the camera control circuit B102 performs wait processing until a predetermined time T_INTERVAL has elapsed since the communication of 1 byte of data is completed in step S104. After the predetermined time T_INTERVAL has elapsed, the process returns to step S104, and the camera control circuit B102 executes the same process again. In step S106, the camera control circuit B102 changes CS to Hi level and ends the series of SPI communications.

[0031] 2(d) is a flowchart showing the operation of the accessory control circuit 201 in the SPI protocol A. First, in step S201, the accessory control circuit 201 determines whether CS has changed to Lo. If CS has changed to Lo, the process proceeds to step S202. On the other hand, if CS has not changed to Lo, the process returns to step S211.

[0032] In step S202, the accessory control circuit 201 controls the input of MOSI data and the output of MISO data in response to the SCLK signal input, and communicates 1 byte of data. Next, in step S203, the accessory control circuit 201 determines whether CS has changed to Hi. If CS has changed to Hi, the accessory control circuit 201 determines that the SPI communication has ended. On the other hand, if CS has not changed to Hi, the accessory control circuit 201 returns to step S202 to communicate the next 1 byte.

[0033] The second communication protocol (second control method) is a method in which the camera 100 checks whether the accessory 200 is in a communication-enabled state (communication availability state of the accessory 200) before outputting SCLK, and is referred to as SPI protocol B in this embodiment. FIG. 2(b) is a schematic diagram of a communication waveform of the SPI protocol B. At timing B1, the camera control circuit B102 changes CS to Lo level to request SPI communication to the accessory control circuit 201. Together with the communication request, the camera control circuit B102 checks the potential of MISO. When the potential of MISO is at Hi level, the camera control circuit B102 determines that the accessory control circuit 201 is in a communication-enabled state. On the other hand, when the potential of MISO is at Lo level, the camera control circuit B102 determines that the accessory control circuit 201 is in a communication-disabled state.

[0034] On the other hand, when the accessory control circuit 201 detects the falling edge of CS, it controls MISO to Hi level if SPI communication is possible, and controls MISO to Lo level if communication is not possible (B2).

[0035] At timing B3, the camera control circuit B102 confirms that MISO is at Hi level and starts outputting SCLK and MOSI. Similarly, the accessory control circuit 201 starts outputting MISO when it detects a falling edge change of SCLK. When the camera control circuit B102 completes output of one byte of SCLK at timing B4, it stops outputting SCLK.

[0036] After transmitting and receiving one byte of data, the accessory control circuit 201 controls MISO to Hi level if SPI communication is possible, and controls MISO to Lo level if SPI communication is not possible (B5, B6). At timing B7, the camera control circuit B102 checks the potential of MISO, and if it is Hi level, it determines that the accessory control circuit 201 is in a communication possible state, and if it is Lo level, it determines that the accessory control circuit 201 is in a communication not possible state.

[0037] 2(e) is a flowchart showing the operation of the camera control circuit B102 in the SPI protocol B. First, in step S111, the camera control circuit B102 stores a numerical value indicating the number of bytes to be communicated in the internal variable N. For example, when communicating 3 bytes, 3 is stored. Next, in step S112, the camera control circuit B102 changes CS to Lo level to request SPI communication. Next, in step S113, the camera control circuit B102 determines whether MISO has changed to Hi level. If MISO is at Hi level, the process proceeds to step S114. On the other hand, if MISO is not at Hi level, the process returns to step S113.

[0038] In step S114, the camera control circuit B102 performs SCLK output control, MSO data output control, and MISO data input control to communicate 1 byte of data. Next, in step S115, the camera control circuit B102 determines whether an internal variable N indicating the number of communication bytes is 0. If the internal variable N is 0, the process proceeds to step S116. On the other hand, if the internal variable N is other than 0, the process proceeds to step S117.

[0039] In step S117, the camera control circuit B102 subtracts 1 from the internal variable N indicating the number of communication bytes and stores the result as a new internal variable N. Then, in step S118, the camera control circuit B102 determines whether MISO has changed to Hi level. If MISO is at Hi level, the process proceeds to step S114. On the other hand, if MISO is not at Hi level, the process returns to step S118. In step S116, the camera control circuit B102 changes CS to Hi level and ends the series of SPI communications.

[0040] 2(f) is a flowchart showing the operation of the accessory control circuit 201 in the SPI protocol B. First, in step S211, the accessory control circuit 201 determines whether CS has changed to Lo. If CS has changed to Lo, the process proceeds to step S212. On the other hand, if CS has not changed to Lo, the process returns to step S211.

[0041] In step S212, the accessory control circuit 201 determines whether SPI communication is possible. If SPI communication is possible, proceed to step S213. On the other hand, if SPI communication is not possible, proceed to step S214. In step S213, the accessory control circuit 201 controls MISO to Hi level and proceeds to step S215. In step S214, the accessory control circuit 201 controls MISO to Lo level and returns to step S212.

[0042] In step S215, the accessory control circuit 201 controls the input of MOSI data and the output of MISO data in response to the SCLK signal input, and communicates 1 byte of data. Then, in step S216, the accessory control circuit 201 determines whether CS has changed to Hi. If CS has changed to Hi, the accessory control circuit 201 determines that the SPI communication has ended. On the other hand, if CS has not changed to Hi, the accessory control circuit 201 returns to step S212 to communicate the next 1 byte.

[0043] 3 is an explanatory diagram of communication contents when an operation execution command is notified from the camera 100 to the accessory 200 by SPI communication in this embodiment. In the first byte of communication, the camera control circuit B102 transmits information CMD indicating a command number as MOSI data. On the other hand, the accessory control circuit 201 transmits a value of 0xA5 as MISO data indicating a communication possible state. If the accessory control circuit 201 cannot execute the communication process of the first byte, it transmits a value other than 0xA5 as MISO data.

[0044] In communicating the second byte, the camera control circuit B102 transmits the argument MOSI_DATA1 corresponding to the command number CMD. Similarly, for the third byte to the (N-2)th byte and onwards, the camera control circuit B102 transmits the arguments MOSI_DATA2 to MOSI_DATA[N-3] corresponding to the command number CMD.

[0045] On the other hand, in the second byte of communication, the accessory control circuit 201 transmits the command number CMD received in the first byte as MISO data, which allows the camera control circuit B102 to determine that the accessory control circuit 201 has correctly received the MOSI data.

[0046] In communicating the third byte, the accessory control circuit 201 transmits the return value MISO_DATA1 corresponding to the command number CMD as MISO data. Similarly, for the fourth byte to the (N-2)th byte and onwards, the accessory control circuit 201 transmits arguments MISO_DATA2 to MISO_DATA[N-4] corresponding to the command number CMD. Note that the number of arguments and return values ​​is determined in advance for each command number. Also, either the argument or the return value, or both, may be omitted.

[0047] In the communication of the (N-1)th byte, the camera control circuit B102 transmits checksum data CheckSum_C as the MOSI data. CheckSum_C is calculated by the following formula (1).

[0048] CheckSum_C=EXOR(AND(SUM(CMD,MOSI_DATA1,…,MOSI_DATA[N-3]),0xFF),0xFF) ···(1) On the other hand, the accessory control circuit 201 transmits 0x00 as the MISO data.

[0049] In the Nth byte of communication, the camera control circuit B102 transmits 0x00 as the MOSI data. On the other hand, the accessory control circuit 201 transmits checksum data CheckSum_A as the MISO data. CheckSum_A is calculated by the following formula (2) or formula (3).

[0050] In the (N-1)th byte communication, if the value of CheckSum_C received by the camera control circuit B102 matches the value of CheckSum_C calculated by the camera control circuit B102, CheckSum_A is calculated by equation (2).

[0051] CheckSum_A=EXOR(AND(SUM(0xA5,CMD,MIS0_DATA1,…,MOSI_DATA[N-4]),0xFF),0xFF) ···(2) In the communication of the (N-1)th byte, if the value of CheckSum_C received by the camera control circuit B102 does not match the value of CheckSum_C calculated by the camera control circuit B102, CheckSum_A is calculated by equation (3).

[0052] CheckSum_A=AND(SUM(0xA5,CMD,MIS0_DATA1,…,MOSI_DATA[N-4]),0xFF) ···(3) A communication request signal / WAKE for requesting communication from the accessory 200 to the camera control circuit A101 is connected to the contact TC11. The communication request signal / WAKE is pulled up to the camera microcomputer power supply VMCU_C via a resistor. The camera control circuit A101 can receive a communication request from the accessory 200 by detecting the falling edge of the communication request signal / WAKE.

[0053] The SDA connected to the contact TC12 and the SCL connected to the contact TC13 are signals for performing I2C (Inter-Integrated Circuit) communication with the camera control circuit A101 as the communication master. The SDA and SCL are open drain communication signals pulled up to the camera microcomputer power supply VMCU_C, and the communication frequency is 100 kbps in this embodiment. In the I2C communication, both data transmission from the camera 100 and data transmission from the accessory 200 are performed via the SDA. The I2C communication has a lower communication speed than the SPI communication. In addition, the SPI communication has a higher communication speed than the I2C communication, so it is suitable for communication of information with a large amount of data. Therefore, in the communication between the camera 100 and the accessory 200 in this embodiment, information with a large amount of data is communicated using the SPI communication, and information with a small amount of data is communicated using the I2C communication. For example, data is first communicated using the I2C communication, and when SPI communication is possible or necessary to be performed based on this data, it is possible to control to perform the SPI communication further.

[0054] Figure 13 shows an example of an I2C communication waveform. Figure 13(a) shows an example of the waveform when the camera transmits N bytes of data (DATA[1] to DATA[N]) to the accessory, and Figure 13(b) shows an example of the waveform when the camera receives N bytes of data (DATA[1] to DATA[N]) from the accessory. In both Figures 13(a) and 13(b), the upper waveform is SCL and the lower waveform is SDA.

[0055] Below the SDA waveform, the meaning of the signal at each timing and whether the control circuit controlling the output level of the SDA signal is the camera control circuit A101 or the accessory control circuit 201 are shown. Since the communication data is composed of 1-byte data and 1-bit information indicating a response, for ease of explanation, the number of bytes of data from the start of communication is shown at the top of the figure. Details of the communication content will be explained using the flowcharts of Figures 14 to 16, so an outline will be given in Figures 13(a) and 13(b).

[0056] 13(a), in communication of the first and second bytes, the camera control circuit A101 notifies the accessory control circuit 201 of storage address information of the data to be transmitted. In communication of the third to (N+2)th bytes, the camera control circuit A101 transmits N bytes of data (DATA[ADDRESS] to DATA[ADDRESS+N]) to the accessory control circuit 201.

[0057] 13(b), in communication of the first and second bytes, the camera control circuit A101 notifies the accessory control circuit 201 of storage address information of the data to be received. In communication of the third to (N+3)th bytes, the camera control circuit A101 receives N bytes of data (DATA[ADDRESS] to DATA[ADDRESS+N]) from the accessory control circuit 201.

[0058] Next, a description will be given of the flowcharts of Fig. 14 to Fig. 16. The flowchart of Fig. 14 shows the process performed by the camera control circuit A101 when transmitting N bytes of data from the camera control circuit A101 to the accessory control circuit 201.

[0059] In step S3001, the camera control circuit A101 stores a numerical value indicating the number of bytes to be transmitted in the internal variable N. For example, when transmitting 3 bytes, 3 is stored. In this embodiment, 3 is stored.

[0060] In step S3002, the camera control circuit A101 changes SDA to Lo level while SCL is at Hi level (START condition), thereby notifying the accessory control circuit 201 of the start of communication.

[0061] In step S3003, the camera control circuit A101 sets in the upper 7 bits of the transmission data slave address information indicating the slave address of the accessory control circuit 201. In this embodiment, the slave address of the accessory control circuit 201 is assumed to be 1010000 in binary.

[0062] In step S3004, the camera control circuit A101 sets information indicating WRITE communication in the lowest bit of the transmission data. Setting this bit to 0 indicates WRITE communication.

[0063] In step S3005, the camera control circuit A101 transmits to the accessory control circuit 201 the data (10100000 in binary, 0xA0 in hexadecimal) set as the transmission data in steps S3003 and S3004.

[0064] In step S3006, the camera control circuit A101 outputs SCL for one clock after transmitting one byte of data, and checks the signal level of SDA. If the signal level of SDA is Lo, it is determined to be a data reception acknowledgement (ACK) from the accessory control circuit 201, and the process proceeds to step S3007. On the other hand, if the signal level of SDA is Hi, it is determined that the accessory control circuit 201 has not received the data normally, and the process proceeds to step S3014.

[0065] In step S3007, the camera control circuit A101 sets, as transmission data, information on the storage address of the data to be transmitted to the accessory control circuit 201 (start address information). In this embodiment, the size of the start address information is 1 byte, and the value is 0x00.

[0066] In step S3008, the camera control circuit A101 transmits the set 1-byte start address information (value 0x00) to the accessory control circuit 201.

[0067] In step S3009, the camera control circuit A101 outputs SCL for one clock after transmitting one byte of start address information data, and checks the signal level of SDA. If the signal level of SDA is Lo, it is determined to be a data reception acknowledgement (ACK) from the accessory control circuit 201, and proceeds to step S3010. On the other hand, if the signal level of SDA is Hi, it is determined that the accessory control circuit 201 has not received the data normally, and proceeds to step S3014.

[0068] In step S3010, the camera control circuit A101 stores 1 in the internal variable M. The internal variable M is a variable for counting the number of pieces of transmission data.

[0069] In step S3011, the camera control circuit A101 outputs one byte of SCL and changes SDA to a desired signal level while SCL is Lo, thereby transmitting one byte of data to the accessory control circuit 201. Here, the start address information is 0x00 and the internal variable M is 1, so one byte of data corresponding to the address 0x00 is transmitted.

[0070] In step S3012, the camera control circuit A101 outputs SCL for one clock after transmitting one byte of data, and checks the signal level of SDA. If the signal level of SDA is Lo, it is determined to be a data reception acknowledgement (ACK) from the accessory control circuit 201, and the process proceeds to step S3013. On the other hand, if the signal level of SDA is Hi, it is determined that the accessory control circuit 201 has not received the data normally, and the process proceeds to step S3014.

[0071] In step S3013, the camera control circuit A101 checks whether the internal variable M has the same value as the internal variable N. If the internal variable M has the same value as the internal variable N, it determines that transmission of all data has been completed, and proceeds to step S3014. If the internal variable M does not have the same value as the internal variable N, it determines that there is still data remaining to transmit, and proceeds to step S3015.

[0072] In step S3015, the camera control circuit A101 adds 1 to the internal variable M, and returns to step S3011.

[0073] In this way, after returning to step S3011, the camera control circuit A101 sequentially increments the address of the data to be transmitted and transmits one byte of data corresponding to each address. In this way, by repeatedly transmitting one byte of data until the internal variable M and the internal variable N have the same value in the process of step S3013, the camera control circuit A101 transmits N bytes of data to the accessory control circuit 201. When the internal variable N is set to 3 as in this embodiment, 3 bytes of data can be transmitted.

[0074] In step S3014, the camera control circuit A101 changes SDA to Hi level while SCL is at Hi level (STOP condition), thereby notifying the accessory control circuit 201 of the end of communication.

[0075] The flowchart in FIG. 15 shows the processing performed by the camera control circuit A101 when the camera control circuit A101 receives N bytes of data from the accessory control circuit 201.

[0076] In step S3101, the camera control circuit A101 stores a numerical value indicating the number of bytes to be received in an internal variable N. For example, when 3 bytes are to be received, 3 is stored. In this embodiment, 3 is stored.

[0077] In steps S3102 to S3106, the camera control circuit A101 performs the same processes as in steps S3002 to S3006, respectively, and therefore a description thereof will be omitted.

[0078] In step S3107, the camera control circuit A101 sets, as transmission data, information on the storage address of the data received from the accessory control circuit 201 (start address information). In this embodiment, the size of the start address information is 1 byte, and the value is 0x00.

[0079] In step S3108, the camera control circuit A101 transmits the set 1-byte start address information (value 0x00) to the accessory control circuit 201.

[0080] In step S3109, the camera control circuit A101 outputs SCL for one clock after transmitting one byte of start address information data, and checks the signal level of SDA. If the signal level of SDA is Lo, it is determined to be a data reception acknowledgement (ACK) from the accessory control circuit 201, and proceeds to step S3110. On the other hand, if the signal level of SDA is Hi, it is determined that the accessory control circuit 201 has not received the data normally, and proceeds to step S3122.

[0081] In step S3110, the camera control circuit A101 changes SDA to Lo level while SCL is at Hi level, similarly to step S3102, and notifies the accessory control circuit 201 of a START condition.

[0082] In step S3111, the camera control circuit A101 sets in the upper 7 bits of the transmission data slave address information indicating the slave address of the accessory control circuit 201. In this embodiment, the slave address of the accessory control circuit 201 is assumed to be 1010000 in binary.

[0083] In step S3112, the camera control circuit A101 sets information indicating READ communication in the lowest bit of the transmission data. Setting this bit to 1 indicates READ communication.

[0084] In step S3113, the camera control circuit A101 transmits to the accessory control circuit 201 the data (10100001 in binary, 0xA1 in hexadecimal) set as the transmission data in steps S3003 and S3004.

[0085] In step S3114, the camera control circuit A101 outputs SCL for one clock after transmitting one byte of data, and checks the signal level of SDA. If the signal level of SDA is Lo, it is determined to be a data reception acknowledgement (ACK) from the accessory control circuit 201, and proceeds to step S3115. On the other hand, if the signal level of SDA is Hi, it is determined that the accessory control circuit 201 has not received the data normally, and proceeds to step S3122.

[0086] In step S3115, the camera control circuit A101 stores 1 in the internal variable M. The internal variable M is a variable for counting the number of pieces of received data.

[0087] In step S3116, the camera control circuit A101 outputs one byte of SCL and reads the signal level of SDA at the timing when SCL changed from Lo to Hi. This makes it possible to receive one byte of data from the accessory control circuit 201. The received one byte of data can be stored in the volatile memory 125 as data corresponding to address 0x00, or can be used for predetermined processing.

[0088] In step S3117, the camera control circuit A101 determines whether one byte of data has been received normally. If the data has been received normally, the process proceeds to step S3118. If the data has not been received normally, the process proceeds to step S3119.

[0089] In step S3118, the camera control circuit A101 checks whether the internal variable M has the same value as the internal variable N. If the internal variable M has the same value as the internal variable N, it determines that reception of all data has been completed, and proceeds to step S3119. If the internal variable M does not have the same value as the internal variable N, it determines that received data still remains, and proceeds to step S3120.

[0090] In step S3120, the camera control circuit A101 outputs one byte of SCL and controls SDA to the Lo level to notify the accessory control circuit 201 of a data reception acknowledgement (ACK) and to notify that data communication will continue.

[0091] In step S3121, the camera control circuit A101 adds 1 to the internal variable M, and the process returns to step S3116.

[0092] In this way, after returning to step S3116, the camera control circuit A101 sequentially increments the address of the data to be received and receives one byte of data corresponding to each address. In this way, by repeatedly receiving one byte of data until the internal variable M and the internal variable N have the same value in the process of step S3118, the camera control circuit A101 receives N bytes of data from the accessory control circuit 201. When the internal variable N is set to 3 as in this embodiment, 3 bytes of data can be received.

[0093] In step S3119, the camera control circuit A101 outputs one byte of SCL and controls SDA to a Hi level, thereby notifying the accessory control circuit 201 that data communication has been completed (NACK).

[0094] In step S3122, the camera control circuit A101 changes SDA to Hi level while SCL is at Hi level (STOP condition), thereby notifying the accessory control circuit 201 of the end of communication.

[0095] Figure 16 is a diagram showing the processing performed by the accessory control circuit 201 when the camera control circuit A101 transmits N bytes of data to the accessory control circuit 201, and when the camera control circuit A101 receives N bytes of data from the accessory control circuit 201.

[0096] In step S3201, the accessory control circuit 201 waits for SDA to change to Lo level (START condition) while SCL is at Hi level. If the accessory control circuit 201 detects the START condition, it proceeds to step S3202.

[0097] In step S3202, the accessory control circuit 201 stores 0 in the internal variable M. The internal variable M is a variable for counting the number of pieces of transmitted and received data.

[0098] In step S3203, the accessory control circuit 201 receives the 1-byte data transmitted from the camera control circuit A101.

[0099] In step S3204, the accessory control circuit 201 determines whether the upper 7 bits of the 1-byte data received in step S3203 match the slave address of the accessory control circuit 201 (0x50 in this embodiment). If they match the slave address of the accessory control circuit 201, the process proceeds to step S3205. If they do not match the slave address of the accessory control circuit 201, the process proceeds to step S3221.

[0100] In step S3205, the accessory control circuit 201 controls SDA to a Lo level for the next SCL clock output after receiving one byte, thereby sending a data reception notification (ACK) to the camera control circuit A101.

[0101] In step S3206, the accessory control circuit 201 determines the type of data for the next 1-byte communication based on the lowest 1 bit of the 1-byte data received in step S3203. If the lowest 1 bit of data is 0, it determines that the data for the next 1-byte communication is start address information from the camera control circuit A101 to the accessory control circuit 201, and proceeds to step S3207. If the lowest 1 bit of data is 1, it determines that the data for the next 1-byte communication is transmission data from the accessory control circuit 201 to the camera control circuit A101, and proceeds to step S3209.

[0102] In step S3207, the accessory control circuit 201 receives one byte of data transmitted from the camera control circuit A101. The received one byte of data is information indicating an address where data to be transmitted / received in subsequent communications is stored. In this embodiment, the start address information is 0x00, as described in Figs. 14 and 15.

[0103] On the other hand, in step S3209, the accessory control circuit 201 uses, as the start address information, address information previously stored in the accessory control circuit 201 or address information previously notified from the camera control circuit A101.

[0104] In step S3208, if accessory control circuit 201 determines that one byte of data has been received successfully, it proceeds to step S3210. If it determines that one byte of data has not been received successfully, it proceeds to step S3221.

[0105] In step S3210, the accessory control circuit 201 controls SDA to Lo level for the next SCL clock output after receiving one byte of data, thereby sending a data reception notification (ACK) to the camera control circuit A101.

[0106] In step S3211, the accessory control circuit 201 checks whether SDA has changed to Lo level (START condition) while SCL is at Hi level. If a START condition is detected, the accessory control circuit 201 determines that the next 1-byte of data to be communicated is data to be transmitted from the camera control circuit A101 to the accessory control circuit 201, and is data indicating a slave address and communication type. Then, the process proceeds to step S3212. On the other hand, if a START condition is not detected, the accessory control circuit 201 determines that the next 1-byte of data to be communicated is data information to be received by the accessory control circuit 201 from the camera control circuit A101, and the process proceeds to step S3216.

[0107] In step S3212, the accessory control circuit 201 receives the 1-byte data transmitted from the camera control circuit A101.

[0108] In step S3213, the accessory control circuit 201 determines whether the upper 7 bits of the 1-byte data received in step S3212 match the slave address of the accessory control circuit 201 (0x50 in this embodiment). If they match the slave address of the accessory control circuit 201, the process proceeds to step S3214. If they do not match the slave address of the accessory control circuit 201, the process proceeds to step S3221.

[0109] In step S3214, the accessory control circuit 201 determines the type of data for the next 1-byte communication based on the lowest 1 bit of the 1-byte data received in step S3203. If the lowest 1 bit of data is 0, the process proceeds to step S3221. If the lowest 1 bit of data is 1, the process determines that the data for the next 1-byte communication is transmission data from the accessory control circuit 201 to the camera control circuit A101, and the process proceeds to step S3215.

[0110] In step S3215, the accessory control circuit 201 controls SDA to a Lo level for the next SCL clock output after receiving one byte, thereby sending a data reception acknowledgement (ACK) to the camera control circuit A101.

[0111] In step S3222, the accessory control circuit 201 transmits to the camera control circuit A101 one byte of data corresponding to the start address information received from the camera control circuit A101 in step S3207 or the start address information determined in step S3209.

[0112] In step S3223, the accessory control circuit 201 adds 1 to the internal variable M and proceeds to step S3224.

[0113] In step S3224, the accessory control circuit 201 checks the signal level of SDA after transmitting one byte of data. If the signal level of SDA is Hi, it is determined that the camera control circuit A101 has received all data (NACK), and the process proceeds to step S3225. On the other hand, if the signal level of SDA is Hi, it is determined that the camera control circuit A101 continues to request data transmission from the accessory control circuit 201, and the process returns to step S3222. In this way, after returning to step S3222, the accessory control circuit 201 sequentially increments the address of the data to be transmitted and transmits one byte of data corresponding to each address. In this way, the accessory control circuit 201 transmits N bytes of data to the camera control circuit A101 by repeatedly transmitting one byte of data until a NACK is notified from the camera control circuit A101 in the process of step S3224.

[0114] In step S3225, the accessory control circuit 201 waits for SDA to change to Hi level (STOP condition) while SCL is at Hi level. When the accessory control circuit 201 detects the STOP condition, it ends communication.

[0115] On the other hand, in step S3216, the accessory control circuit 201 receives one byte of data. The one byte of data is stored in a non-volatile memory (not shown) as data corresponding to the start address information received from the camera control circuit A101 in step S3207, or is used for predetermined processing.

[0116] In step S3217, the accessory control circuit 201 adds 1 to the internal variable M and proceeds to step S3218.

[0117] In step S3218, if accessory control circuit 201 determines that one byte of data has been received successfully, it proceeds to step S3219. If it determines that one byte of data has not been received successfully, it proceeds to step S3221.

[0118] In step S3219, the accessory control circuit 201 controls SDA to a Lo level for the next SCL clock output after receiving one byte, thereby sending a data reception notification (ACK) to the camera control circuit A101.

[0119] In step S3230, the accessory control circuit 201 checks whether SDA changes to Hi level (STOP condition) while SCL is at Hi level. If the accessory control circuit 201 detects a STOP condition, it ends communication. On the other hand, if the accessory control circuit 201 does not detect a STOP condition, it determines that the camera control circuit A101 will continue to transmit data to the accessory control circuit 201, and returns to step S3216.

[0120] In this way, after returning to step S3216, the accessory control circuit 201 sequentially increments the address of the data to be received and receives one byte of data corresponding to each address. In this way, by repeatedly receiving one byte of data until a STOP condition is notified in step S3220, the accessory control circuit 201 receives N bytes of data from the camera control circuit A101.

[0121] Fig. 4 is an explanatory diagram of accessory information that the accessory 200 has in a non-volatile memory (not shown). As shown in Fig. 4, the accessory information is mapped in a memory space of addresses 0x00 to 0x0F, and the accessory information can be read from the accessory 200 by I2C communication. In the I2C communication of this embodiment, a checksum value for the read data is added as the final data of the communication. The accessory information will be described in detail later.

[0122] The FNC1 signal connected to contact TC14, the FNC2 signal connected to contact TC15, the FNC3 signal connected to contact TC16, and the FNC4 signal connected to contact TC17 are function signals that change the function according to the type of attached accessory 200. For example, if accessory 200 is a microphone device, the signal communicated via TC15 is an audio data signal. If accessory 200 is a lighting device (strobe unit), the signal communicated via TC14 is a signal notifying the timing of light emission.

[0123] Depending on the type of the attached accessory, signals for realizing different functions may be communicated through the same contact. For example, when the accessory 200 is an accessory other than lighting, a synchronization signal for controlling a timing different from the light emission timing may be communicated through TC14. TC14 to TC17 correspond to function signal contacts. Communication using at least one of the function signal contacts is also referred to as function signal communication.

[0124] Function signal communication can be executed in parallel with I2C communication and SPI communication, at a timing independent of I2C communication and SPI communication.

[0125] The accessory types referred to here are the above-mentioned microphone devices, lighting devices, etc. Accessories that realize the same purpose, such as lighting devices with different performance, are the same type of accessory. Accessories that realize different purpose, such as microphone devices and lighting devices, are different types of accessory.

[0126] Functional signal communication is performed based on information obtained by I2C communication or SPI communication.

[0127] The contact TC18 as the second ground contact is also connected to GND, and like the contact TC04, it is a contact that serves as the reference potential of the camera 100 and the accessory 200. The differential signal D2N connected to the contact TC19 and the differential signal D2P connected to the contact TC20 are data communication signals that perform data communication in pairs, and are connected to the camera control circuit B102. For example, USB communication can be performed via TC19 and TC20. The contact TC21 is connected to GND, and serves not only as a reference potential contact, but also as a contact that controls the wiring impedance of the differential signal D2N and the differential signal D2P. TC21 corresponds to the fourth ground contact.

[0128] The contacts TC01, TC04, TC06, TC18, and TC21 are connected to, for example, a GND portion of a flexible substrate, and the GND portion of the flexible substrate is fixed with screws or the like to a metallic member that serves as the GND level of the camera 100. Examples of the metallic member that serves as the GND level include an engagement member that engages with the accessory 200 in the accessory shoe portion, a base plate (not shown) inside the camera 100, and the like.

[0129] In this embodiment, the attachment detection contact TC06 to which the accessory attachment detection signal / ACC_DET is connected is placed next to the contact (first clock contact) TC07 that transmits the clock signal SCLK (first clock signal). Generally, noise (clock noise) associated with potential fluctuations in the clock signal is transmitted to contacts adjacent to the clock signal contact, which can cause malfunction. In particular, in a configuration in which there are many contacts and the distance between the contacts is short, as in this embodiment, the impact is greater. Therefore, by placing the attachment detection contact TC06 next to the SCLK contact TC07, the impact of clock noise can be suppressed.

[0130] The accessory attachment detection signal / ACC_DET is pulled up before the accessory is attached, but is set to GND potential after the accessory is attached. On the other hand, the SCLK contact TC07 that transmits the clock signal does not transmit a clock signal before the accessory is attached, so there is no fluctuation in potential, but the potential fluctuates in order to transmit the clock signal only after the accessory is attached.

[0131] When the SCLK contact TC07 transmits the clock signal, the attachment detection contact TC06 is at GND potential. Therefore, even if the attachment detection contact TC06 receives clock noise, the potential of the control circuits of the camera 100 and the accessory 200 is unlikely to fluctuate, so malfunctions can be prevented. In addition, the clock noise can be prevented from being transmitted to positions farther away than the attachment detection contact TC06. As a result, there is no need to provide a GND terminal, so the effects of clock noise can be suppressed without increasing the number of contacts.

[0132] In addition, SCL (second clock signal) is also transmitted as a clock signal to contact (second clock contact) TC13. However, the SCLK transmitted to SCLK contact TC07 has a higher frequency than SCL, and more clock noise is generated from the SCLK contact TC07 than from the SCL contact TC13. For this reason, locating the attachment detection contact TC06 next to the SCLK contact TC07 rather than next to the SCL contact TC13 is more effective in preventing malfunctions caused by clock noise.

[0133] In addition to the difference in frequency, the SCL transmitted at the SCL contact TC13 is a clock signal conforming to the I2C communication standard, and the voltage fluctuations on the signal line are driven by an open-drain connection. On the other hand, the SCLK transmitted at the SCLK contact TC07 is a clock signal conforming to the SPI communication standard, and the voltage fluctuations on the signal line are driven by a CMOS output. For this reason, the edges of the voltage fluctuations at the SCL contact TC13 tend to be gentler than those at the SCLK contact TC07, making it less likely for clock noise to occur. Therefore, placing the attachment detection contact TC06 next to the SCLK contact TC07 rather than next to the SCL contact TC13 is more effective at preventing malfunctions caused by clock noise.

[0134] In addition, there are cases where a clock signal is transmitted by transmitting differential signals D1N, D1P in pairs to the first and second differential signal contacts TC19, TC20. In this case, a clock signal (third clock signal) having a higher frequency than the SCLK contact TC07 and SCL contact TC13 may be transmitted. However, since the differential signals D1N, D1P are paired signals, they emit less clock noise than the SCLK contact TC07 and SCL contact TC13, which transmit single-ended signals. For this reason, locating the attachment detection contact TC06 next to the SCLK contact TC07, rather than next to the first and second differential signal contacts TC19, TC20, is more effective in preventing malfunctions caused by clock noise.

[0135] Note that the contact (first data contact) TC08, located next to the SCLK contact TC07 on the opposite side from the attachment detection contact TC06, transmits MOSI (first data signal). Since MOSI is a data signal, it appears to be susceptible to the effects of clock noise. However, since MOSI is a data signal that conforms to the same SPI communication standard as the clock signal transmitted by the SCLK contact TC07, the timing of the potential fluctuation is synchronized with the clock signal and it is less susceptible to the effects of clock noise. For this reason, the contact TC08 does not need to be fixed to GND potential and can be used as the MOSI contact.

[0136] Accessory 200 has a battery 205 and receives power from battery 205, as well as from camera 100 via camera connection unit 141 and accessory connection unit 211. Accessory control circuit 201, which serves as a control means for accessory 200, is a circuit that controls accessory 200 as a whole, and is a microcomputer with a built-in CPU and the like.

[0137] The accessory power supply circuit 202 is a circuit that generates power to be supplied to each circuit of the accessory 200, and is composed of a DC-DC converter circuit, an LDO, a charge pump circuit, etc. A voltage of 1.8V generated by the accessory power supply circuit 202 is constantly supplied to the accessory control circuit 201 as the accessory microcomputer power supply VMCU_A. Note that the voltage generated by the accessory power supply circuit 202 may be a value different from 1.8V. By controlling the accessory power supply circuit 202, on / off control of the power supply to each circuit of the accessory 200 is performed.

[0138] The charging circuit 204 is a circuit for charging the battery 205 using power supplied from the camera 100. When the accessory control circuit 201 determines that sufficient power is being supplied from the camera 100 to perform a charging operation, it controls the charging circuit 204 to charge the battery 205. Note that, although the present embodiment describes a case in which the battery 205 is attached to the accessory 200, the accessory 200 may operate only with power supplied from the camera 100 without the battery 205 being attached. In this case, the charging circuit 204 is not necessary.

[0139] The differential communication circuit 207 is a circuit for performing differential communication with the camera 100, and can transmit and receive data to and from the camera 100. The external communication IF circuit 208 is an IF circuit for performing data communication with an external device (not shown), and is an Ethernet communication IF, a wireless LAN communication IF, a public network communication IF, or the like.

[0140] The accessory control circuit 201 controls the differential communication circuit 207 and the external communication IF circuit 208 to transmit data received from the camera 100 to an external device and transmit data received from the external device to the camera 100. The functional circuit 206 is a circuit having different functions depending on the type of the accessory 200. For example, if the accessory 200 is a strobe device, the functional circuit 206 is a light emission circuit, a charging circuit, etc. If the accessory 200 is a microphone device, the functional circuit 206 is an audio codec circuit, a microphone circuit, etc.

[0141] The external connection terminal 209 is a connector terminal for connecting to an external device, and is a USB TYPE-C connector in this embodiment. The connection detection circuit 210 is a circuit for detecting that an external device is connected to the external connection terminal 209, and the accessory control circuit 201 can detect the connection of an external device to the external connection terminal 209 by receiving an output signal from the connection detection circuit 210.

[0142] The power switch 203 is a switch for turning on and off the operation of the accessory 200, and the accessory control circuit 201 can detect the on position or off position by reading the signal level of the terminal to which the power switch 203 is connected.

[0143] The operation switch 212 is a switch for operating the accessory 200, and is composed of a button, a cross key, a slide switch, a dial switch, etc. When the operation switch 212 is operated, the accessory control circuit 201 can detect the operation and executes a predetermined process according to the operation.

[0144] The accessory connection unit 211 is a connector for electrically connecting to the camera 100 via 21 contacts TA01 to TA21 arranged in a row. The contacts TA01 to TA21 are arranged in this order from one end to the other end in the arrangement direction.

[0145] The contact TA01 is connected to GND and serves not only as a reference potential contact but also as a contact to control the wiring impedance of the differential signals D1N and D1P. The contact TA01 corresponds to the third ground contact.

[0146] A differential signal D1N connected to the contact TA02 and a differential signal D1P connected to the contact TA03 are data communication signals that perform data communication in a pair and are connected to a differential communication circuit 207. The contacts TA02 and TA03, and contacts TA07 to TA17, TA19, and TA20 described below are communication contacts.

[0147] The contact TA04 as a first ground contact is connected to GND and serves as a contact of the reference potential between the camera 100 and the accessory 200. The contact TA04 is disposed on the outside of the contact TA05 described later in the arrangement direction of the contacts. The accessory power supply circuit 202 and the charging circuit 204 are connected to TA05 as a power supply contact, and the accessory power supply VACC supplied from the camera 100 is connected to the contact TA05. The contact TA06 as an attachment detection contact is directly connected to GND. When the accessory 200 is attached to the camera 100, the contact TA06 sets the accessory attachment detection signal / ACC_DET described above to a GND level (ground potential) as a Lo level, thereby causing the camera 100 to detect the attachment of the accessory 200. The SCLK connected to the contact TA07, the MOSI connected to the contact TA08, the MISO connected to the contact TA09, and the CS connected to the contact TA10 are signals for the accessory control circuit 201 to become a communication slave and perform SPI communication.

[0148] A communication request signal / WAKE is connected to contact TA11, for requesting communication from accessory control circuit 201 to camera 100. When accessory control circuit 201 determines that communication with camera 100 is necessary, it issues a communication request to camera 100 by outputting communication request signal / WAKE at Lo.

[0149] When power is supplied from the camera control circuit 101 to the accessory 200 via TC5 in response to detection that the accessory 200 is in an attached state, the accessory control circuit 201 changes the signal level (electric potential) of the communication request signal / WAKE from Hi level to Lo level, thereby notifying the camera control circuit 101 that power has been supplied.

[0150] The accessory control circuit 201 can notify the camera 100 that a cause for the accessory 200 to communicate with the camera 100 has occurred by changing the signal level (electric potential) of the communication request signal / WAKE from Hi level to Lo level even without a request from the camera. With this configuration, the camera control circuit 101 can omit the operation of periodically checking whether a cause for the accessory 200 to communicate has occurred by polling. Furthermore, when a cause for communication has occurred, the accessory 200 can communicate that fact to the camera 100 in real time.

[0151] The SDA connected to the contact TA12 and the SCL connected to the contact TA13 are signals for the accessory control circuit 201 to function as a communication slave and perform I2C communication.

[0152] The FNC1 signal connected to the contact TA14, the FNC2 signal connected to the contact TA15, the FNC3 signal connected to the contact TA16, and the FNC4 signal connected to the contact TA17 are signals whose functions are variable according to the type of accessory 200. For example, if the accessory 200 is a microphone device, the signal is an audio data signal, and if the accessory 200 is a strobe unit, the signal is a signal that notifies of the timing of light emission.

[0153] The contact TA18 as a second ground contact is also connected to GND, and like the contact TA04, serves as a contact of the reference potential of the camera 100 and the accessory 200. The differential signal D2N connected to the contact TA19 and the differential signal D2P connected to the contact TA20 are data communication signals that are paired together to perform data communication, and are connected to the external connection terminal 209. The contact TA21 is connected to GND, and serves not only as a contact of the reference potential, but also as a terminal that controls the wiring impedance of the differential signal D2N and the differential signal D2P. The contact TA21 corresponds to a fourth ground contact.

[0154] The contacts TA01, TA04, TA06, TA18, and TA21 are connected to, for example, a GND portion of a flexible substrate, and the GND portion of the flexible substrate is fixed by a metal member that serves as the GND level of the accessory 200 with a screw (not shown) or the like. Examples of the metal member that serves as the GND level include a shoe mounting leg that engages with the accessory shoe portion of the camera 100 and a base plate (not shown) inside the accessory 200.

[0155] 5 is a sequence diagram showing the operations (processing) of the camera 100 and the accessory 200 when the accessory 200 is attached to the camera 100. Details of the respective processes of the camera 100 and the accessory 200 will be described later.

[0156] When the accessory 200 is attached to the camera 100, the accessory attachment detection signal / ACC_DET becomes GND level, and the camera control circuit A101 determines that the accessory is attached. When it is determined that the accessory is attached, the camera control circuit A101 sets the power supply control signal CNT_VACC1 to Hi level to turn on the output of the accessory power supply circuit A131. The accessory power supply circuit A131 outputs the accessory power supply VACC in response to the power supply control signal CNT_VACC1 becoming Hi.

[0157] In the accessory 200, when the accessory power supply circuit 202 receives power from the VACC, it generates a power supply VMCU_A for the accessory control circuit 201, and the accessory control circuit 201 starts up. After starting up, the accessory control circuit 201 initializes each block in the accessory 200. Thereafter, when the accessory becomes capable of communicating with the camera 100, the / WAKE terminal is set to Lo level.

[0158] In the camera 100, the camera control circuit A101 detects that the / WAKE terminal has become Lo level, and detects that the accessory 200 is in a communication-enabled state. The camera control circuit A101 requests accessory information through I2C communication.

[0159] In the accessory 200, the accessory control circuit 201 transmits accessory information in response to an accessory information request from the camera 100. After transmitting the accessory information, the accessory control circuit 201 sets the communication request signal / WAKE to a HI level.

[0160] In the camera 100, the camera control circuit A101 judges the received accessory information and judges whether the attached accessory can be controlled. It also turns on the accessory power circuit B132. When the camera control circuit A101 completes various settings of the camera 100, it notifies the camera control circuit B102 of the accessory information. Based on the accessory type information, the camera control circuit B102 notifies the accessory 200 of a control command via SPI communication and controls a function signal. The accessory control circuit 201 responds to the control command via SPI communication from the camera 100 and performs control according to the function signal.

[0161] The accessory information shown in Fig. 4 will be described below. The D7-D0 data at address 0x00 is information indicating the accessory type. Fig. 6 is an explanatory diagram of accessory type information as accessory information. For example, 0x81 indicates a strobe device, 0x82 an interface conversion adapter device, 0x83 a microphone device, and 0x84 a multi-accessory connection adapter device for attaching multiple accessory devices to the camera 100.

[0162] Here, the adapter device is an intermediate accessory that is attached between the camera 100 and an accessory such as a strobe device or a microphone device. The interface conversion adapter device is an adapter device that converts the interface to make the camera 100 and the accessory compatible when the interface of the camera 100 and the interface of the accessory are different. The multi-accessory connection adapter device is an adapter device to which multiple accessories can be attached.

[0163] The D7-D0 data at address 0x01 is information indicating the model number of the accessory 200. This information, together with the accessory type information described above, makes it possible to indicate the accessory model in one place. The D7-D0 data at address 0x02 is information indicating the firmware version of the accessory 200.

[0164] The D7-D6 data of the address 0x03 is information indicating whether or not the camera 100 requests the accessory power supply VACC to the accessory 200 when the camera 100 has turned off a power switch (not shown). When this information is 0, it indicates that no power supply is required, when this information is 1, it indicates that a power supply is required by the accessory power supply circuit A131, and when this information is 2, it indicates that a power supply is required by the accessory power supply circuit B132. The D5-D4 data of the address 0x03 is information indicating whether or not the camera 100 requests the accessory power supply VACC to the accessory 200 when in a power saving mode. When this information is 0, it indicates that no power supply is required, when this information is 1, it indicates that a power supply is required by the accessory power supply circuit A131, and when this information is 2, it indicates that a power supply is required by the accessory power supply circuit B132. The D3-D2 data of the address 0x03 is information indicating whether or not the accessory 200 is equipped with a battery 205. When this information is 0, it indicates that the accessory 200 is not equipped with a battery, and when this information is 1, it indicates that the accessory 200 is equipped with a battery. The D1-D0 data at address 0x03 is information indicating whether accessory 200 has a function for charging battery 205. When this information is 0, it indicates that it does not have the function, and when this information is 1, it indicates that it has the function.

[0165] The D7-0 data at address 0x04 is information indicating the power required by the accessory power supply VACC to the accessory 200, which is supplied from the camera 100. This information is multiplied by 10 to indicate the current value. For example, this information is 10 to indicate 100 mA, and this information is 100 to indicate 1 A.

[0166] As a method for reducing the amount of information, this information may be associated with an arbitrary current value. For example, this information may indicate a request for 100 mA when it is 0, a request for 300 mA when it is 1, a request for 450 mA when it is 3, and a request for 600 mA when it is 4.

[0167] The D7 data of the address 0x05 is information indicating whether the accessory 200 is in a firmware update mode (information indicating the operation mode of the accessory 200). When this information is 0, it indicates that the accessory is not in a firmware update mode, and when this information is 1, it indicates that the accessory is in a firmware update mode. The D6 data of the address 0x05 is information indicating whether the accessory 200 has a firmware update function. When this information is 0, it indicates that the accessory does not have the function, and when this information is 1, it indicates that the accessory has the function. The D5-D4 data of the address 0x05 is information indicating whether the accessory 200 permits operation when an intermediate connection accessory is attached. When this information is 0, it indicates that the operation is not permitted, and when this information is 1, it indicates that the operation is permitted. The D3-D2 data of the address 0x05 is information indicating whether the accessory 200 needs to check the attachment state of the intermediate connection accessory when the camera 100 starts up. When this information is 0, it indicates that confirmation is not necessary, and when this information is 1, it indicates that confirmation is necessary. The D1-D0 data of the address 0x05 is information indicating whether the accessory 200 supports command notification by I2C communication. If this information is 0, it indicates that command notification is not supported, and if it is 1, it indicates that command notification is supported.

[0168] The D5-D4 data at address 0x06 is information indicating a communication method capable of notifying the camera 100 of the cause of a communication request after the accessory 200 notifies the camera 100 of a communication request signal / WAKE. When this information is 0, it indicates that I2C communication is supported, when it is 1, it indicates that SPI communication is supported, and when it is 2, it indicates that both I2C communication and SPI communication are supported. The D3-D0 data at address 0x06 is information indicating whether the accessory 200 has functions by the FNC1 signal, the FNC2 signal, the FNC3 signal, and the FNC4 signal. The D0 data corresponds to the FNC1 signal, the D1 data corresponds to the FNC2 signal, the D2 data corresponds to the FNC3 signal, and the D3 data corresponds to the FNC4 signal, and when each value is 0, it indicates that the function is not provided, and when each value is 1, it indicates that the function is provided.

[0169] The D7 data at address 0x0A is information indicating whether or not to request the camera 100 to start up when the accessory 200 notifies the camera 100 of the communication request signal / WAKE. When this information is 0, it indicates that startup is requested, and when it is 1, it indicates that startup is not requested. The D6-D0 data at address 0x0A is information indicating the cause of the communication request signal / WAKE notified to the camera 100 by the accessory 200. FIG. 7 is an explanatory diagram of the cause number and cause content of the communication request, and shows an example of the cause of the communication request signal / WAKE. In this example, an example is shown in which the accessory 200 is a microphone device. For example, the cause number 0x00 is a number indicating that the menu call switch of the operation switch 212 has been pressed. Also, the cause number 0x01 is a number indicating that the accessory 200 has completed output control of the audio signal. Also, the cause number 0x02 is a number indicating that the accessory 200 has completed muting of the audio signal. In this way, information regarding the cause of the communication request signal / WAKE can be notified to the camera 100.

[0170] The D1 data at address 0x0C is information indicating the SPI communication protocol supported by the accessory 200, and when this information is 0, it indicates that the accessory supports SPI protocol A, and when this information is 1, it indicates that the accessory supports SPI protocol B. The D0 data at address 0x0C is information indicating the control logic of the CS signal of the SPI communication supported by the accessory 200, and when this information is 0, it indicates that the CS signal is Lo active logic, and when this information is 1, it indicates that the CS signal is Hi active logic. The D7-D0 data at address 0x0D is information indicating the time required as a communication byte interval when the accessory 200 communicates using SPI protocol A and when the D7 data at address 0x05 is 0, that is, when the accessory 200 is not in the firmware update mode state. The D7-D0 data at address 0x0E is information indicating the time required as a communication byte interval when the accessory 200 communicates using SPI protocol A and when the D7 data at address 0x05 is 1, that is, when the accessory 200 is in the firmware update mode state.

[0171] Fig. 8 is an explanatory diagram of communication data interval information of SPI communication, showing the relationship between the information of address 0x0D data and address 0x0E data and the time between communication bytes (communication interval). Fig. 8(a) shows the relationship with the time between communication bytes for 0x0D data, and Fig. 8(b) shows the relationship with the time between communication bytes for 0x0E data. The D7-D0 data at address 0x0F is information indicating the checksum.

[0172] FIG. 9 is a flowchart showing the operation of the camera control circuit A, and shows the processing of the camera control circuit A101 from when the accessory 200 is attached to the camera 100 until the functions of the accessory 200 are enabled.

[0173] First, in step S401, the camera control circuit A101 monitors the signal level of the accessory attachment detection signal / ACC_DET and detects (determines) whether the accessory 200 is attached. If the signal level is Hi, the camera control circuit A101 determines that the accessory 200 is not attached, and returns to step S401 to perform the detection operation again. On the other hand, if the signal level is Lo, the camera control circuit A101 determines that the accessory 200 is attached, and proceeds to step S402.

[0174] In step S402, the camera control circuit A101 controls the power supply control signal CNT_VACC1 to Hi level in order to turn on the output of the accessory power supply circuit A131, and proceeds to step S403. When the power supply control signal CNT_VACC1 becomes Hi, the accessory power supply circuit A131 outputs the accessory power supply VACC.

[0175] In step S403, the camera control circuit A101 monitors the signal level of the overcurrent detection signal DET_OVC and determines whether an overcurrent is flowing. If the signal level is Lo, the camera control circuit A101 determines that an overcurrent is not flowing and proceeds to step S404. On the other hand, if the signal level is Hi, the camera control circuit A101 determines that an overcurrent is flowing and proceeds to step S405 to perform error processing.

[0176] In step S404, the camera control circuit A101 monitors the signal level of a communication request signal / WAKE, which is a notification signal from the accessory 200, and determines whether initialization of the accessory 200 is complete. If the signal level is Lo, the camera control circuit A101 determines that initialization is complete, and proceeds to step S406. On the other hand, if the signal level is Hi, the camera control circuit A101 determines that initialization is not complete, and returns to step S404 to perform the detection operation (determination) again.

[0177] In step S406, the camera control circuit A101 performs I2C communication with the accessory 200, reads 15 bytes of accessory information, and proceeds to step S407. In step S407, the camera control circuit A101 determines whether the attached accessory 200 is a device compatible with the camera 100 based on the accessory information read in step S406. If it is determined that the attached accessory 200 is a compatible accessory, the process proceeds to step S408. On the other hand, if it is determined that the attached accessory 200 is an incompatible accessory, the process proceeds to step S409 and performs error processing.

[0178] In step S408, the camera control circuit A101 controls the power supply control signal CNT_VACC2 to Hi level in order to turn on the output of the accessory power supply circuit B132, and proceeds to step S410. When the power supply control signal CNT_VACC2 becomes Hi, the accessory power supply circuit B132 outputs the accessory power supply VACC. In this embodiment, when both the power supply control signal CNT_VACC1 and the power supply control signal CNT_VACC2 are controlled to Hi level, the output from the accessory power supply circuit B132 is output to the accessory power supply VACC. In step S410, the camera control circuit A101 notifies the camera control circuit B102 of the accessory information read out in step S406, and completes the startup flow associated with the attachment of the accessory 200.

[0179] FIG. 10 is a flowchart showing the operation of the camera control circuit B, and shows the processing of the camera control circuit B102 from when the accessory 200 is attached to the camera 100 until the functions of the accessory 200 are enabled.

[0180] First, in step S501, the camera control circuit B102 judges whether accessory information has been notified from the camera control circuit A101. If accessory information has not been notified, the process returns to step S501 and performs detection operation (judgment) again. If accessory information has been notified, the process proceeds to step S502.

[0181] In step S502, the camera control circuit B102 sets the function signals FNC1 to FNC4 based on the accessory information notified from the camera control circuit A101. For example, when it is notified that the accessory 200 is a microphone device, it sets FNC1 to function as the audio data clock signal BCLK, FNC2 to function as the audio data channel signal LRCLK, and FNC3 to function as the audio data signal SDATA. As another example, when it is notified that the accessory 200 is a strobe device, it sets FNC4 to function as the strobe light emission synchronization signal XOUT. Note that the camera control circuit B102 also performs predetermined settings on the function signals that do not require control for the accessory 200 so as not to interfere with the operations of the camera 100 and the accessory 200.

[0182] Next, in step S503, the camera control circuit B102 sets the control logic of the SPI communication CS signal based on the accessory information notified from the camera control circuit A101. Next, in step S504, the camera control circuit B102 detects (determines) whether a predetermined event has occurred for the accessory 200. If no event has occurred, the process returns to step S504, and the camera control circuit B102 performs the detection operation (determination) again. On the other hand, if an event has occurred, the process proceeds to step S505.

[0183] In step S505, the camera control circuit B102 determines whether the event detected in step S504 is an event that requires SPI communication with the accessory 200. If the detected event is an event that requires SPI communication, the process proceeds to step S506. On the other hand, if the detected event is not an event that requires SPI communication, the process proceeds to step S507.

[0184] In step S507, the camera control circuit B102 determines whether the event detected in step S507 is an event that requires control using a function signal with the accessory 200. If the detected event is an event that requires control using a function signal, the process proceeds to step S508. On the other hand, if the detected event is not an event that requires control using a function signal, the process proceeds to step S509.

[0185] In step S506, the camera control circuit B102 performs SPI communication with the accessory 200. For example, if the accessory 200 is a microphone device, the SPI communication performed in step S506 may include instruction communication for turning the microphone on or off, instruction communication for switching the sound collection directivity of the microphone, instruction communication for switching the equalizer function of the microphone, etc. If the accessory 200 is a strobe device, it may include communication for reading out setting information of the strobe, communication for notifying the setting information of the strobe, etc. When the predetermined SPI communication is completed in step S506, the process returns to step S504, and the camera control circuit B102 performs an event detection operation again.

[0186] In step S508, the camera control circuit B102 performs control on the accessory 200 using the function signal. For example, if the accessory 200 is a microphone device, the camera control circuit B102 starts outputting the audio data clock signal BCLK of FNC1 and the audio data channel signal LRCLK of FNC2, and also takes in the audio data signal SDATA of FNC3. This enables the camera 100 to acquire audio data from the accessory 200. In addition, if the accessory 200 is a strobe device, the camera control circuit B102 controls the strobe light emission synchronization signal XOUT of FNC4 at a predetermined timing. This makes it possible to notify the strobe of a light emission instruction. When the control using the predetermined function signal is completed in step S508, the camera control circuit B102 returns to step S504 and performs the event detection operation again.

[0187] In step S509, the camera control circuit B102 performs a predetermined in-camera control in response to the event detected in step S504. For example, in-camera control executed in step S509 includes control of starting and ending recording of audio data in the recording memory 126 and equalizer processing control for audio data when the accessory 200 is a microphone device. In addition, in case the accessory 200 is a strobe device, it includes photometry control for accumulating and acquiring light emitted by the strobe in the imaging sensor 122 and calculation control of the light emission amount indication value of the strobe. When the predetermined in-camera control is completed in step S509, the process returns to step S504, and the camera control circuit B102 performs an event detection operation again.

[0188] As described above, the camera 100 can control the attached accessory 200 according to the flows in FIGS.

[0189] FIG. 11 is a flowchart showing the operation of the accessory control circuit 201, and shows the processing of the accessory control circuit 201 from when the accessory 200 is attached to the camera 100 until the functions of the accessory 200 start operating.

[0190] First, in step S601, the accessory control circuit 201 waits for the accessory power supply VACC to be turned on from the camera 100. If the accessory 200 does not have a battery 205, power is supplied to the accessory control circuit 201, and the accessory control circuit 201 itself starts operating, so that it can detect that the accessory power supply VACC has been turned on. If the accessory 200 has a battery 205, it can also detect that the accessory power supply VACC has been turned on by configuring the accessory control circuit 201 to monitor the voltage value of the accessory power supply VACC, in addition to the above. If the accessory power supply VACC has been turned on, the process proceeds to step S602.

[0191] In step S602, the accessory control circuit 201 performs a predetermined initial setting. For example, this may include setting the operating frequency of the microcomputer, setting the input / output control port of the microcomputer, initializing the timer function of the microcomputer, and initializing the interrupt function of the microcomputer. When the initial setting in step S602 is completed, the process proceeds to step S603. In step S603, the accessory control circuit 201 controls the communication request signal / WAKE to Lo output, and notifies the camera 100 that the initial setting is completed.

[0192] Next, in step S604, the accessory control circuit 201 responds to the I2C communication from the camera 100 and transmits 15 bytes of accessory information. The accessory information includes the various pieces of information shown in FIG. 4 described above. When the communication in step S604 is completed, the process proceeds to step S605. In step S605, the accessory control circuit 201 controls the communication request signal / WAKE to a Hi output. When the initial communication is completed, the accessory control circuit 201 proceeds to step S606. In step S606, the accessory control circuit 201 detects (determines) whether a predetermined event has occurred. If no event has occurred, the process returns to step S606, and the accessory control circuit 201 performs the detection operation (determination) again. On the other hand, if an event has occurred, the process proceeds to step S607.

[0193] In step S607, the accessory control circuit 201 determines whether the event detected in step S606 is an event that requires SPI communication with the camera 100. If the detected event is an event that requires SPI communication, the process proceeds to step S608. If the detected event is not an event that requires SPI communication, the process proceeds to step S609.

[0194] In step S609, the accessory control circuit 201 determines whether the event detected in step S606 is an event that requires I2C communication with the camera 100. If the detected event is an event that requires I2C communication, the process proceeds to step S610. On the other hand, if the detected event is not an event that requires I2C communication, the process proceeds to step S611.

[0195] In step S611, the accessory control circuit 201 determines whether the event detected in step S606 is an event that requires control using a function signal. If the detected event is an event that requires control using a function signal, the process proceeds to step S612. On the other hand, if the detected event is not an event that requires control using a function signal, the process proceeds to step S613.

[0196] In step S613, the accessory control circuit 201 determines whether the event detected in step S606 is an event that requires notification to the camera 100 by a communication request signal / WAKE. If the detected event is an event that requires notification to the camera 100 by a communication request signal / WAKE, the process proceeds to step S614. On the other hand, if the detected event is not an event that requires notification to the camera 100 by a communication request signal / WAKE, the process proceeds to step S615.

[0197] In step S608, the accessory control circuit 201 performs SPI communication with the camera 100. If the communication request signal / WAKE is in a Lo output state during SPI communication, the communication request signal / WAKE is set to Hi output control after SPI communication. For example, if the accessory 200 is a microphone device, the camera 100 may perform command communication to turn on the microphone operation, command communication to turn off the microphone operation, command communication to switch the microphone's sound collection directivity, command communication to switch the microphone's equalizer function, and the like. If the accessory 200 is a strobe device, the command communication may include communication to read out strobe setting information, communication to notify the strobe of setting information, and the like. When the predetermined SPI communication is completed in step S608, the process returns to step S606, and the accessory control circuit 201 performs an event detection operation again.

[0198] In step S610, the accessory control circuit 201 performs I2C communication with the camera 100. If the communication request signal / WAKE is in a Lo output state when the SPI communication is performed, the communication request signal / WAKE is set to Hi output control after the SPI communication. The I2C communication performed in step S610 may be, for example, communication to read out the cause of the communication request in response to a communication request signal / WAKE signal notification sent from the accessory control circuit 201 to the camera 100. When the predetermined I2C communication is completed in step S610, the process returns to step S606, and the accessory control circuit 201 performs an event detection operation again.

[0199] In step S612, the accessory control circuit 201 controls the camera 100 using the function signals. For example, if the accessory 200 is a microphone device, it receives and controls the audio data clock signal BCLK of FNC1 and the audio data channel signal LRCLK of FNC2 output from the camera 100, and outputs and controls the audio data signal SDATA of FNC3 in synchronization with these signals. Also, if the accessory 200 is a strobe device, it receives and controls the strobe emission synchronization signal XOUT of FNC4 to control strobe emission. When the control using the function signals is completed in step S612, the process returns to step S606, and the accessory control circuit 201 performs an event detection operation again.

[0200] In step S614, the accessory control circuit 201 stores a communication request cause number for the camera 100 corresponding to the event that occurred in step S606 in a volatile memory (not shown) of the accessory 200, and controls the communication request signal / WAKE to be output at Lo. As described with reference to Fig. 7, a unique number is assigned to each communication request cause number for each cause. When the control of the Lo output of the communication request signal / WAKE is completed in step S614, the process returns to step S606, and the accessory control circuit 201 performs the event detection operation again.

[0201] In step S615, the accessory control circuit 201 performs control within the accessory in response to the event that occurred in step S606. Examples of the control within the accessory that is performed in step S615 include control to detect the remaining battery charge when the accessory 200 is configured to have a battery 205, and control to detect the operation switch 212. When the control within the accessory is completed in step S615, the process returns to step S606, and the accessory control circuit 201 performs an event detection operation again.

[0202] As described above, the accessory 200 can perform its functions after being attached to the camera 100 by following the flow of FIG.

[0203] Next, a process for the camera 100 and the accessory 200 to determine the SPI communication method will be described with reference to Fig. 9 to Fig. 11. Note that a description of the contents that have already been described will be omitted.

[0204] In step S406 in Fig. 9, the camera control circuit A101 performs I2C communication with the accessory 200 and reads the accessory information shown in Fig. 4 related to the SPI communication. Note that, as described above, all of the 15 bytes of accessory information may be read. Alternatively, part of the accessory information in Fig. 4, including the D1 data at address 0x0C, the D0 data at address 0x0C, and the D7-D0 data at address 0x0D, may be read from the accessory information that is information related to the SPI communication.

[0205] In step S410, the camera control circuit A 101 notifies the camera control circuit B 102 of the information on the SPI communication read in step S406. Note that the notified information may include information other than the read accessory information.

[0206] 10, the camera control circuit B 102 acquires information related to SPI communication from the camera control circuit A 101 through I2C communication. As described above, the acquired information may include information other than information related to SPI communication.

[0207] In step S503, the camera control circuit B102 sets the SCLK signal, CS signal, MOSI signal, and MOSI signal for SPI communication. For the CS signal, the initial state of the signal is set based on the D0 data at address 0x0C in the accessory information acquired in step S501. If the D0 data at address 0x0C in the accessory information is 0, the initial state of the CS signal is set to Hi. If the D0 data at address 0x0C in the accessory information is 1, the initial state of the CS signal is set to Lo.

[0208] In step S506, the camera control circuit B102 performs SPI communication control based on the D1 data at address 0x0C in the accessory information acquired in step S501 and the D7-D0 data at address 0x0D in the accessory information. If the D1 data at address 0x0C in the accessory information is 0, the camera control circuit B102 determines that the accessory 200 supports the SPI protocol A, and performs SPI communication according to the flow of FIG. 2(c) described above.

[0209] In step S103 in Fig. 2(c), the camera control circuit B102 performs a wait process for a predetermined time T_CS. The predetermined time T_CS is a predetermined value, and in this embodiment, a wait process of 50 μs is performed. In step S108 in Fig. 2(c), the camera control circuit B102 performs a wait process for a time period equivalent to the communication interval corresponding to the D7-D0 data at address 0x0D in the accessory information shown in Fig. 8(a) as the predetermined time T_INTERVAL. In this embodiment, when the D7-D0 data at 0x0D in the accessory information is 7, a wait process of 100 μs is performed.

[0210] In this way, when the D1 data at address 0x0C in the accessory information is 0, information regarding the communication interval (wait processing time) in SPI communication is uniquely set based on the D7-D0 data at address 0x0D in the accessory information acquired by I2C communication. This enables communication suited to the SPI communication function of the accessory 200.

[0211] In this embodiment, an example is shown in which the D7 data at address 0x05 in the accessory information is 0, that is, the accessory 200 is not in the firmware update mode. In contrast, when the D7 data at address 0x05 in the accessory information is 1, the following operation is performed. That is, as the predetermined time T_INTERVAL in step S108 in FIG. 2(c), a wait process is performed for a time period equivalent to the communication interval corresponding to the D7-D0 data at address 0x0E in the accessory information shown in FIG. 8(b). For example, when the D7-D0 data at 0x0E in the accessory information is 7, a wait process of 100 ms is performed.

[0212] Generally, firmware upgrades require programming of non-volatile memory such as a flash microcontroller. Since the processing time required for programming can be longer than accessory function processing, obtaining accessory information for the firmware upgrade mode state enables SPI communication suitable for firmware upgrades.

[0213] If the D1 data at address 0x0C in the accessory information is 1, the camera control circuit B102 determines that the accessory 200 supports the SPI protocol B, and performs SPI communication according to the flow in FIG. 2(e) described above. In this way, if the D1 data at address 0x0C in the accessory information is 1, it is confirmed whether the accessory 200 is in a state where SPI communication is possible, based on the potential of the MISO signal. This enables communication suitable for an accessory in which the communication interval (wait processing time) in SPI communication is not uniquely determined. As described above, by acquiring accessory information related to the SPI communication function of the accessory 200 through I2C communication and performing control based on that accessory information, communication suitable for the SPI communication function of the accessory becomes possible.

[0214] In step S602 in Fig. 11, the accessory control circuit 201 performs predetermined initial settings. Settings are made for the SCLK signal, CS signal, MOSI signal, and MOSI signal for SPI communication. For the CS signal, a communication request interrupt is set based on the D0 data at address 0x0C in the accessory information. If the D0 data at address 0x0C in the accessory information is 0, settings are made so that the Lo edge of the CS signal can be detected as an interrupt. If the D0 data at address 0x0C in the accessory information is 1, settings are made so that the Hi edge of the CS signal can be detected as an interrupt.

[0215] In step S604, the accessory control circuit 201 responds to the I2C communication from the camera 100 and transmits the accessory information. In step S608, the accessory control circuit 201 performs SPI communication control based on the D1 data at address 0x0C in the accessory information notified to the camera 100 in step S604 and the D7-D0 data at address 0x0D in the accessory information. If the accessory control circuit 201 supports SPI protocol A, the D1 data at address 0x0C in the accessory information is 0, and therefore the SPI communication is performed according to the flow of FIG. 2(d) described above. In this way, when the D1 data at address 0x0C in the accessory information is 0, communication is performed at a communication interval (wait processing time) according to the D7-D0 data at address 0x0D in the accessory information notified to the camera 100 by I2C communication in step S604. This enables communication suitable for the SPI communication function of the accessory 200. If the accessory control circuit 201 supports the SPI protocol B, the D1 data at address 0x0C in the accessory information will be 1, and so SPI communication will be performed according to the flow of FIG. 2(f) described above.

[0216] As described above, in step S212, the accessory control circuit 201 checks whether SPI communication is possible, and changes the level of the MISO signal depending on the check result (steps S213, S214). For example, if the accessory 200 is a strobe device, it is necessary to block communication with the camera 100 during light emission control in order to control the light emission timing with an accuracy of the order of several μs. In such a case, the accessory control circuit 201 can make the camera 100 wait for communication by controlling the MISO signal to Lo level, and can receive the next instruction by controlling the MISO signal to Hi level after the light emission control is completed. In this way, for accessories that need to control the operation timing of the accessory 200 with an accuracy of the order of several μs, a configuration in which control is performed using the SPI protocol B is preferable.

[0217] In this embodiment, an example is shown in which the D7 data at address 0x05 in the accessory information is 0, that is, the accessory 200 is not in the firmware update mode. In contrast, when the D7 data at address 0x05 in the accessory information is 1, the camera 100 performs SPI communication with the accessory 200 by performing a time wait process for the communication interval corresponding to the D7-D0 data at address 0x0E in the accessory information shown in Fig. 8(b). For example, when the D7-D0 data at 0x0E in the accessory information is 7, the camera 100 is notified of a wait process of 100 ms.

[0218] Generally, firmware upgrades require programming of non-volatile memory such as a flash microcontroller. Since the processing time required for programming can be longer than accessory function processing, obtaining accessory information for the firmware upgrade mode state enables SPI communication suitable for firmware upgrades.

[0219] Fig. 12(a) is a diagram showing an example of the relationship between communication contents and the operation of the accessory 200 in SPI protocol A, and Fig. 12(b) is a diagram showing an example of the relationship between communication contents and the operation of the accessory 200 in SPI protocol B. Fig. 12(a) is an example in which the camera 100 notifies the accessory 200 of commands 0x11 and 0x12, respectively. Note that in this embodiment, the accessory 200 is a microphone device. As shown in the diagram, this is an example in which communication is performed at a communication interval of 50 μs (D7-D0 data of 0x0D is 6).

[0220] The command 0x11 is a command indicating a volume change instruction, and the second byte of MOSI data indicates a volume value. In the example of FIG. 12(a), 0x60 is specified as the volume value. Upon receiving the volume change instruction, the accessory control circuit 201 controls the codec. In this embodiment, it is assumed that the time required for controlling the codec is 20 μs. Furthermore, command 0x12 is a command to instruct to turn audio data output on or off, and when the MOSI data in the second byte is 0, it means that audio data output is off, and when it is 1, it means that audio data output is on. In the example of Fig. 12(a), it instructs to turn off audio data output. Upon receiving the instruction to turn off audio data output, the accessory control circuit 201 controls the codec. The time required to control the codec is 20 μs, the same as command 0x11.

[0221] In general, the accessory control circuit 201 for implementing SPI protocol A can be constructed more inexpensively than SPI protocol B, so for accessories in which the difference in processing time for instructions from the camera 100 is small, a configuration for control using SPI protocol A is preferable.

[0222] 12(b) shows an example in which the camera 100 sends the command 0x01 twice to the accessory 200. In this embodiment, the accessory 200 is a strobe device.

[0223] The command 0x01 is a command indicating a light emission instruction, and the second byte of MOSI data indicates the amount of light emission. In the example of FIG. 12(b), the first command specifies a light emission amount of 0x80, and the second command specifies a light emission amount of 0x10. The accessory control circuit 201 that receives the light emission instruction prepares for light emission. The time required for light emission preparation depends on the amount of light emission, and assumes that 100 μs is required for a light emission amount of 0x80, and 70 μs is required for a light emission amount of 0x10. The accessory control circuit 201 controls MISO to a Lo level until light emission preparation is complete, and notifies the camera control circuit B102 that SPI communication is not possible. When light emission preparation is complete, the accessory control circuit 201 controls MISO to a Hi level, and notifies the camera control circuit B102 that SPI communication is possible.

[0224] Furthermore, when the transfer of the fourth byte is completed, the accessory control circuit 201 performs light emission processing. The time required for the light emission processing depends on the light emission amount, and is assumed to require 150 μs for a light emission amount of 0x80 and 30 μs for a light emission amount of 0x10. The accessory control circuit 201 controls MISO to a Lo level until the light emission processing is completed, and notifies the camera control circuit B102 that SPI communication is not possible. When the light emission processing is completed, the accessory control circuit 201 controls MISO to a Hi level, and notifies the camera control circuit B102 that SPI communication is possible.

[0225] In this way, for accessories where the time it takes to process commands fluctuates, configuring them to be controlled using SPI protocol A results in redundant control, as it becomes necessary to set the communication interval to the longest processing time. For this reason, it is preferable to configure accessories where the time it takes to process commands fluctuates to be controlled using SPI protocol B.

[0226] As described above, by notifying accessory information regarding the SPI communication function of accessory 200 via I2C communication and performing SPI communication control based on that accessory information, it is possible to perform communication control information suitable for the SPI communication function of the accessory.

[0227] As described above, in this embodiment, the imaging device (camera 100) is capable of mounting the accessory 200, and has a first control means (camera control circuit A101) and a second control means (camera control circuit B102). The first control means is capable of communicating with the accessory in a first communication method, and the second control means is capable of communicating with the accessory in a second communication method. The first control means acquires control information relating to the second communication method from the accessory. The second control means determines a control method for communication with the accessory based on the control information acquired by the first control means. The first control means and the second control means may be configured as a single integrated control means.

[0228] In this embodiment, the accessory 200 can be attached to the imaging device (camera 100) and has a control means (accessory control circuit 201) capable of communicating with the imaging device in a first communication method and a second communication method. The control means transmits control information related to the second communication method to the imaging device in the first communication method, and communicates with the imaging device in the second communication method according to a control method determined by the imaging device based on the control information.

[0229] Preferably, the second communication method is capable of communication at a higher communication speed than the first communication method. Also preferably, the first communication method is an I2C communication method consisting of two signals, a clock signal (SCL) and a data signal (SDA). Also preferably, the second communication method is an SPI communication method consisting of a clock signal (SCLK), a chip select signal (CS), a master output signal (MOSI), and a master input signal (MISO).

[0230] Preferably, the control method determined based on the control information includes a first control method for communicating without checking the communication availability state of the accessory, and a second control method for communicating after checking the communication availability state of the accessory. The second control means communicates with the accessory by the first control method or the second control method determined based on the control information. More preferably, the second control method is a control method for determining information on whether the accessory is in a state where it is capable of communicating by the second communication method from the level (potential level) of the master input signal.

[0231] Preferably, the control information includes information indicating a transmission interval of the communication data in the first control method. Also preferably, the control information includes information indicating a mode (operation mode) of the accessory.

[0232] In the above embodiment, the accessory 200 is directly attached to the camera 100, but other embodiments may be used. For example, the camera 100 and the main accessory may communicate with each other via an intermediate accessory such as a main accessory corresponding to the accessory 200 and an adapter device to which the camera 100 is attached. In such a case, the intermediate accessory may execute communication control similar to at least a part of the communication control executed by the accessory 200 and the communication control executed by the camera 100 described in the above embodiment. Alternatively, the intermediate accessory may function as a transmission path of information, such as outputting information corresponding to information input from the camera 100 to the main accessory and outputting information corresponding to information input from the main accessory to the camera 100. As described above, the accessory in the present invention includes various accessories such as a microphone device, a lighting device, and an adapter device. The adapter device may also be included in an electronic device.

[0233] (Other embodiments) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0234] According to each embodiment, it is possible to provide an imaging device, an accessory, a control method for an imaging device, a control method for an accessory, and a program capable of performing communication control suitable for each accessory.

[0235] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist of the present invention. [Explanation of symbols]

[0236] 100 Camera (imaging device) 101: Camera control circuit A (first control means) 102: Camera control circuit B (second control means)

Claims

1. An imaging device to which an accessory can be attached, a first control means capable of communicating with the accessory in a first communication method; and a second control means capable of communicating with the accessory in a second communication method, The first control means acquires control information related to the second communication method from the accessory, The second control means determines a control method for communication with the accessory based on the control information acquired by the first control means; The control method includes a first control method for performing communication without checking a communication availability state of the accessory, and a second control method for performing communication after checking a communication availability state of the accessory, The imaging device, characterized in that the second control means communicates with the accessory using the first control method or the second control method determined based on the control information.

2. 2. The imaging device according to claim 1, wherein the second communication method enables communication at a faster communication speed than the first communication method.

3. 3. The imaging apparatus according to claim 1, wherein the first communication method is an I2C communication method configured with two signals: a clock signal and a data signal.

4. 4. The image pickup apparatus according to claim 1, wherein the second communication method is an SPI communication method including a clock signal, a chip select signal, a master output signal, and a master input signal.

5. The imaging device according to claim 4, characterized in that the second control method is a control method in which information regarding whether the accessory is in a state capable of communication using the second communication method is determined based on the level of a master input signal.

6. 6. The imaging device according to claim 1, wherein the control information includes information indicating a transmission interval of communication data in the first control method.

7. The imaging device according to claim 1 , wherein the control information includes information indicating a mode of the accessory.

8. An accessory attachable to an imaging device, a control means capable of communicating with the imaging device in a first communication method and a second communication method; The control means transmitting control information regarding the second communication method to the imaging device in the first communication method; communicating with the imaging device in the second communication method according to a control method determined by the imaging device based on the control information; The control method includes a first control method in which the imaging device performs communication without checking a communication availability state of the accessory, and a second control method in which the imaging device performs communication after checking a communication availability state of the accessory, An accessory characterized in that the control means communicates with the imaging device using the second communication method by the first control method or the second control method determined by the imaging device based on the control information.

9. 9. The accessory according to claim 8, wherein the second communication method enables communication at a faster communication speed than the first communication method.

10. 10. The accessory according to claim 8, wherein the first communication method is an I2C communication method consisting of two signals: a clock signal and a data signal.

11. 11. The accessory according to claim 8, wherein the second communication method is an SPI communication method including a clock signal, a chip select signal, a master output signal, and a master input signal.

12. The accessory according to claim 11, wherein the second control method is a control method for determining information as to whether the accessory is in a state capable of communication using the second communication method from a level of a master input signal.

13. The accessory according to claim 8 , wherein the control information includes information indicating a transmission interval of communication data in the first control method.

14. The accessory according to claim 8 , wherein the control information includes information indicating a mode of the accessory.

15. A method for controlling an imaging device to which an accessory can be attached, comprising the steps of: acquiring control information related to a second communication method from the accessory in a first communication method; determining a control method for communication with the accessory in the second communication method based on the control information; and communicating with the accessory in the second communication method according to the control method; The control method includes a first control method for performing communication without checking a communication availability state of the accessory, and a second control method for performing communication after checking a communication availability state of the accessory, A control method for an imaging device, characterized in that the step of determining a control method for communication with the accessory includes communicating with the accessory using the first control method or the second control method determined based on the control information.

16. A method for controlling an accessory attachable to an imaging device, comprising: transmitting control information regarding a second communication method to the imaging device in a first communication method; and performing communication with the imaging device in the second communication method according to a control method determined by the imaging device based on the control information; The control method includes a first control method in which the imaging device performs communication without checking a communication availability state of the accessory, and a second control method in which the imaging device performs communication after checking a communication availability state of the accessory, A method for controlling an accessory, characterized in that the step of transmitting to the imaging device includes communicating with the imaging device using the second communication method by the first control method or the second control method determined by the imaging device based on the control information.

17. A program for causing a computer to execute the control method according to claim 15 or 16.

Citation Information

Patent Citations

  • Electronic apparatus

    JP2004118343A

  • Semiconductor device, human interface module on which the same is mounted and electronic apparatus on which the same is mounted

    JP2018101185A

  • Accessory device and imaging apparatus

    JP2018164229A

  • Camera, accessory device, communication control method, computer program, and camera system

    JP2018205719A

  • Accessory

    JP2020012978A