JAJU840 April   2022

 

  1.   概要
  2.   Resources
  3.   特長
  4.   アプリケーション
  5.   5
  6. 1System Description
  7. 2System Overview
    1. 2.1 Block Diagram
    2. 2.2 Design Considerations
      1. 2.2.1 Inductive Touch Buttons
      2. 2.2.2 Sensor Coil Placement
      3. 2.2.3 Collecting Data from Multiple LDCs
      4. 2.2.4 Magnetic Dial Implementation
      5. 2.2.5 CORDIC Algorithm
    3. 2.3 Highlighted Products
      1. 2.3.1 LDC3114-Q1
      2. 2.3.2 TMAG5273
      3. 2.3.3 DRV2605
      4. 2.3.4 TLV75518
      5. 2.3.5 TCA9534
      6. 2.3.6 PCA9543
      7. 2.3.7 Sensor Control Board
  8. 3Hardware, Software, Testing Requirements, and Test Results
    1. 3.1 Firmware and Programming
    2. 3.2 Test Setup
    3. 3.3 Test Results
      1. 3.3.1 ABS Force Response
      2. 3.3.2 ABS Gain Corrected
      3. 3.3.3 Nylon Force Response
      4. 3.3.4 Nylon Gain Corrected
  9. 4Hardware Components
  10. 5Design and Documentation Support
    1. 5.1 Design Files
      1. 5.1.1 Schematics
      2. 5.1.2 BOM
    2. 5.2 Tools and Software
    3. 5.3 Documentation Support
    4. 5.4 サポート・リソース
    5. 5.5 Trademarks

Firmware and Programming

This reference design uses the SCB to control the different ICs on board. The firmware for this design was developed using Code Composer Studio. Once the SCB is flashed with the proper firmware, it can be used along with this reference design. Since the SCB can be used with multiple EVMs, it can easily be flashed by using the GUI to upload the proper firmware.

Figure 3-1 Initialization Flowchart

The firmware for this design starts by initializing the different ICs on the board. The LDC3114s are setup for the button application and set the registers according to the coil design discussed above. The DRV2605 haptic driver is setup to perform haptic feedback when and I2C command is received. The device is also setup for the specific LRA that is attached to the board and runs a calibration check each initialization. The TMAG5273 is setup so that the X and Y components of the magnetic field are used for rotational calculations. This device can also be configured to send interrupts under specific conditions, but that is not used in this design. Additionally, each mode in this design uses the angle from the TMAG5273 to determine which LED to turn on for the dial position. Since this is acting like a 12-position selector, hysterisis is added to the dial angle output. This prevents cases where the angle could be right on the line between two LED outputs causing the two LEDs to flicker back and forth. This has the same impact as included a physical keep out method for the position between each of the 12 LEDs.

Figure 3-2 Operational Modes Flowchart

During normal operation, this reference design has three different operational modes that change the functions of the inductive touch buttons.

Operational Mode 1

The reference design defaults into operational mode 1 on startup. This mode uses the LDC3114's baseline tracking algorithm to implement eight different touch buttons. When each of these buttons are pressed, the digital output of the LDC3114s are monitored and correlate to an LED on the board. The digital outputs of the LDC3114 trigger when the baseline algorithm data gets higher than the button threshold. Once this happens, the pins on the device and the OUT register both show the button status as high depending on the polarity setting of the device. The LEDs used to show the button feed back will only light up one LED from a button press on each side of the board. This is because the MAXWIN feature of the LDC3114 is enables to prevent cases where two buttons on the same side can be pressed by putting hard enough on one button that the next button also triggers. Since this is applied by the LDC3114, a button press from each device can show on the LEDs at the same time. For more information on the LDC3114's internal algorithm, see the LDC211x and LDC3114 Internal Algorithm Functionality application note. When in mode 1, a press to the magnetic dial button puts the operational mode into mode 2.

Operational Mode 2

The second operational mode of this reference design is very similar to the first one. The LDC3114s are still setup in baseline tracking mode but the way the LEDs report is different. This mode looks at the data value from the baseline tracking algorithm on all buttons and determines which button has the highest force press. From there, LEDs are lit up depending on how hard the button is pressed with more force turning on more LEDs. Each time this mode is entered, a max force is reset to a standard value. If a button is pressed hard enough, a new maximum force value will be saved to compare against other button presses. For example, if the starting maximum is 200, a data value of 100 will light up the first four LEDs. If the button algorithm reports a result of 400, the new maximum value will be set to 400 while lighting up all the LEDs. Then, the next time the data value reads 100, only two of the LEDs will light up. The magnetic dial push button will change the operational mode to mode 3 when pushed.

Operational Mode 3

Operational mode 3 of this reference design disables the button algorithm in one of the LDC3114s and gives access to the raw data response for the buttons. The button LEDs go into a fixed state to showcase that operational mode 3 is active. The firmware waits for a command from the GUI to collect data. Once a streaming command has been received, the firmware will stream raw data results from all four channels from the LDC to the GUI. This can be used to take data on the graph similar to the way BOOST-LDC3114EVM works in raw data mode.