Dynamic Bus-Master Arbitration for Shared Half-Duplex Channels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In networked arrangements of host devices with asymmetric communication models, contentions over a shared data bus occur due to dynamic changes in the bus master role, which is inefficient and can lead to errors in high-bandwidth half-duplex communication.
Innovation Solution
A control channel separate from the data channel is used to establish a common time reference and dynamically arbitrate the bus master role between host devices, allowing for time slot allocation and communication schedules to maximize throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a master-slave relationship is established over a shared data bus, then contentions over the data bus are minimized, but the system cannot dynamically adapt to changing communication needs and traffic conditions
Solution Approach 1:
The patent implements dynamic master-slave role assignment where host devices can switch between master and slave roles based on current traffic conditions and communication needs. The system transitions from a static master-slave relationship to a dynamic one where roles are periodically exchanged or reassigned to optimize performance under varying conditions.
Solution Approach 2:
The system changes the parameter of master-slave assignment from fixed to variable. By periodically exchanging roles or adjusting master status based on traffic conditions, the system adapts to changing communication patterns while maintaining the benefits of controlled access to the shared data bus.
2Device complexity
If a static master-slave assignment is used, then the communication model is simple to implement, but throughput is limited due to inability to adapt to traffic conditions
Solution Approach 1:
The system introduces dynamic role assignment mechanisms that allow master-slave relationships to change over time based on traffic conditions. This dynamic approach increases throughput by optimizing who has master access at any given time, while the complexity is managed through standardized arbitration protocols.
Solution Approach 2:
The system incorporates feedback mechanisms where host devices monitor traffic conditions and use this information to determine when to exchange master roles. This feedback-driven approach optimizes throughput by adapting to real-time communication needs while maintaining implementation simplicity through rule-based decision making.
3Adaptability or versatility
If dynamic master role assignment is implemented, then adaptability to traffic conditions is improved, but contention arbitration complexity increases
Solution Approach 1:
The arbitration process is segmented into distinct phases: link establishment phase for initial configuration, arbitration phase for negotiating communication schedules, and data communication phase for actual data transfer. This segmentation simplifies the overall complexity by breaking down the dynamic master assignment process into manageable steps with clear responsibilities.
Solution Approach 2:
The system performs preliminary arbitration before data communication to establish communication schedules in advance. By negotiating and agreeing on master-slave assignments before actual data transfer, the system reduces real-time arbitration complexity and enables smoother dynamic role transitions during data communication.
4Adaptability or versatility
If a separate control channel is used for arbitration, then dynamic bus master assignment is enabled, but the system requires additional communication infrastructure
Solution Approach 1:
A control channel serves as an intermediary mechanism that facilitates dynamic master-slave arbitration between host devices. This separate control channel carries arbitration messages and coordination information, enabling dynamic role assignment without interfering with the primary data communication channel and simplifying the arbitration process.
Data Source
AI summary
A first and second host device are configured to communicate data via a data channel (e.g., a half-duplex channel). A control channel (e.g., a full-duplex channel) may be used to arbitrate the dynamic assignment of the respective roles of master and slave to the first and second host devices. The arbitration procedure may include transmitting a first message from the first host device to the second host device that specifies information for allocating one or more time slots to the first host device, and transmitting a second message from the second host device to the first host device that specifies information for allocating one or more time slots to the second host device. At each of the first and second host devices, a communication schedule for the data channel may be determined based on a rule set, the first message and the second message.


