Encryption Dongle Self-Adaptive Communication Mode Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dongles can only effectively communicate with a host using one specific communication mode, limiting compatibility with different host systems that may require either 32-byte or 64-byte communication modes.
Innovation Solution
A self-adaptive method that allows the dongle to detect and adapt to the communication mode of the host by setting and resetting its communication mode identification through a series of steps involving enumeration and communication instructions sent via control and interrupt transmission channels, ensuring effective communication in both 32-byte and 64-byte modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the dongle supports only one communication mode (e.g., 64 bytes), then the communication reliability with matching hosts is ensured, but the adaptability to different host types (32-byte or 64-byte modes) deteriorates
Solution Approach 1:
The dongle dynamically adjusts its communication mode identification through a state machine that transitions between different operational states (initialization, enumeration, mode matching, communication). The system changes its behavior based on host detection and enumeration results, allowing it to adapt to different communication modes while maintaining reliable communication once matched.
Solution Approach 2:
The dongle changes its communication mode parameter (32-byte or 64-byte mode) based on the host's requirements detected during enumeration. The system modifies its operational parameters dynamically rather than being fixed to a single mode, enabling compatibility with different host types while ensuring reliable communication in the selected mode.
2Device complexity
If the dongle uses a fixed communication mode, then the device complexity is reduced, but the versatility to work with different main board types deteriorates
Solution Approach 1:
The dongle performs self-configuration by automatically detecting the host type during enumeration and setting its own communication mode accordingly. The system uses its own resources (enumeration capabilities, state machine) to determine and configure the appropriate communication mode without external intervention, maintaining simplicity while achieving versatility.
Solution Approach 2:
The dongle is designed to support multiple communication modes (32-byte and 64-byte) within a single device, making it universally compatible with different main board types. The state machine architecture allows the same hardware to perform multiple communication functions by dynamically switching between modes based on host requirements.
3Adaptability or versatility
If the dongle implements mode detection and switching logic, then the adaptability to different hosts is improved, but the device complexity increases
Solution Approach 1:
The communication control logic is segmented into distinct states within a state machine (initialization state, enumeration state, mode matching state, communication state). Each state handles specific tasks independently, making the overall complex system manageable through modular state-based control rather than monolithic logic.
Solution Approach 2:
The state machine acts as an intermediary layer between the host and the dongle's communication interface. It mediates the interaction by detecting host characteristics during enumeration and translating these into appropriate communication mode selections, simplifying the control logic through this intermediate decision-making layer.
Data Source
AI summary
A self-adaptive communication method for an encryption dongle, comprising: an upper-layer software platform sets communication mode information of self, when connection of an encryption dongle to a host is detected, acquires communication mode information of the encryption dongle, determines whether or not the communication mode information of self matches the communication mode information of the encryption dongle, if yes, then communicates with the encryption dongle via an interrupt transmit pipeline, and if not, then transmits a communication instruction to the encryption dongle via a control transmit pipeline; the encryption dongle sets a communication mode identifier on the basis of the communication mode information of the upper-layer software platform in the communication instruction, and, the encryption dongle resets and resets communication mode information of self on the basis of the communication mode identifier. As such, when connection of the encryption dongle to the host is re-detected, the upper-layer software platform re-acquires the communication mode information of the encryption dongle, determines that the communication mode information is a match, and then communicates via the interrupt transmission pipeline, thus solving the technical problem that an existing encryption dongle can only support one communication mode of the host, and implementing self-adaptive communication for the encryption dongle.


