Serial Bus Node Signaling to Cut Request-Response Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing serial data transfer protocols, such as SPI, suffer from high overhead due to a rigid request/response scheme, leading to redundant data transfers and inefficiencies when responses are not immediately available, particularly when addressing functional units that require calculation or retrieval of data.
Innovation Solution
Implementing a responder bus node with a communication interface and processor unit that evaluates commands and message indices, allowing for the generation of response data frames with a Ready For Transfer (RFT) signal to decouple responses from requests, and a commander bus node that uses this signal to initiate data transfers efficiently, reducing redundant polling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a request/response scheme is used for data transfer, then data can be transferred between bus nodes, but overhead increases to 50-75% of transferred payload
Solution Approach 1:
The responder bus node generates and stores the response data frame in advance by executing the command from the request data frame, before the commander bus node sends the request. This preliminary action allows the response to be ready immediately when needed, eliminating the need for repeated requests and reducing overhead to only the necessary data payload.
Solution Approach 2:
A ready signal mechanism is introduced as an intermediary between the request and response data frames. The responder bus node sets a ready signal when the response data frame is prepared, allowing the commander bus node to efficiently retrieve the response without continuous polling. This intermediary signal decouples the request and response timing, reducing communication overhead.
2Loss of time
If the commander bus node repeatedly sends requests to check for response availability, then it can retrieve data when ready, but redundant data transfers occur
Solution Approach 1:
The responder bus node provides feedback by setting a ready signal in the response data frame when the response is available. This feedback mechanism allows the commander bus node to immediately know when data is ready without repeated polling requests, eliminating redundant data transfers while ensuring timely retrieval.
3Reliability
If CRC checksums are used for error detection, then transmission errors can be detected, but the entire request/response sequence must be repeated
Solution Approach 1:
The error detection mechanism (CRC checksum) is extracted and integrated into the response data frame itself. When an error is detected, only the necessary correction actions are taken rather than repeating the entire request/response sequence. This extraction allows for more efficient error handling that maintains reliability while improving productivity.
4Measurement precision
If the responder bus node generates responses that require calculation or retrieval time, then accurate data is provided, but the rigid request/response timing causes inefficiency
Solution Approach 1:
The responder bus node executes the command and prepares the response data frame in advance, during the time the commander bus node is processing or before the response is needed. This preliminary execution ensures data accuracy through proper calculation while eliminating waiting time and communication overhead.
Solution Approach 2:
The system transitions from rigid synchronous request/response timing to a more dynamic approach where the response data frame is prepared independently and signaled as ready. This dynamic timing allows the responder to take the necessary calculation or retrieval time while maintaining efficient communication through the ready signal mechanism.
Data Source
AI summary
A responder bus node includes a communication interface and a processor unit. The communication interface is configured to receive a data frame from a commander bus node and send a stored response data frame to the commander bus node. The processor unit is configured to evaluate the data frame in order to determine a command and a message index, and execute a function identified by the command, with this function providing one or more data words as a function response if the command is not a no operation command. The processor unit is configured to produce a new response data frame having a header field, containing the message index, and a payload field containing at least the function response, update the stored response data frame with the new response data frame, and output a logic signal indicating that the stored response data frame is ready for transfer.


