US20160179746A1

Coordinating multiple real-time functions of a peripheral over a synchronous serial bus

Claim Score by NHIP

Read claim 9, the broadest

Abstract

Time-critical actions of peripherals sharing a synchronous serial bus can be coordinated flexibly in real time by transmitting the messages through the bus well in advance of the scheduled execution time rather than “just in time.” The messages include an action code addressed to the peripheral's shadow register and a time-to-strobe, measured in bus-clock cycles, calculated by a time protocol engine in the system controller and addressed to the peripheral's counting register. The action code is stored in the shadow register while the counting register counts up or down to the time-to-strobe using the bus-clock signal. When the count reaches zero, the action code is written to the function-control register, triggering immediate execution of the action. Because the time-to-strobe can be any number of clock cycles within the counting register's capacity, the transmission timing is decoupled from the execution timing, relaxing transmission-timing constraints.

US20160179746A1, drawing sheet 1
Sheet 1 of 7

Term

Projected expiry 4 January 2037.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

33 claims: 4 independent, 29 dependent

  1. 1
    A system controller, comprising:a microcontroller to generate a first message, the first message to comprise a first action and a first deadline time chosen from a stored group of actions and their deadline times;a system timer;a bus clock to produce a clock signal;a transmission buffer;and a time protocol engine to convert the first deadline time to a first number of bus-clock cycles between the time to write the message to the transmission buffer and the first deadline time.
  2. 9
    Broadest claimClaim Score 79, broad(NHIP)A peripheral, comprising:a counting register to receive and store a number of bus-clock cycles contained in a first message, to sense cycles of a bus-clock signal, and to change the stored number by a constant increment after sensing each of the cycles;wherein the constant increment is positive or negative;a shadow register to receive and temporarily store an action contained in the first message;a function control register to receive the action from the shadow register when the counting register reaches a triggering value;wherein the action is to be executed immediately after being written to the function control register.
  3. 15
    A system, comprising:a system controller to generate a first message;a first peripheral;and a serial bus connecting the system controller and the first peripheral;wherein the system controller comprises a transmitter to transmit the message to the first peripheral over the serial bus;wherein the first message comprises a portion;wherein the portion is to associate an address of the first peripheral with an action to be executed by the first peripheral and with a first deadline time for executing the action;wherein the system controller is to transmit the portion in advance of the first deadline time;and wherein the first peripheral is to temporarily store the portion until the first deadline time, and then to execute the action at the first deadline time.
  4. 26
    A non-transitory machine-readable information storage medium comprising code that, when executed, causes a machine to:generate a first action telegram comprising an address of a first shadow register in a first peripheral and a first action code;generate a first timing telegram comprising an address of a first counting register in the first peripheral and a first number of clock cycles, transmit the first action telegram and the first timing telegram through a synchronous serial bus to the first peripheral;write the first action code to the first shadow register;write the first number of clock cycles to the first counting register;change a value in the first counting register by a constant increment after each subsequent cycle of a bus clock;when the value in the first counting register is to reach a triggering value, write the first action code to a function-control register of the first peripheral;and immediately execute a first action corresponding to the first action code.