A data transmission apparatus for sending out a transmission request signal to a data receiver unit and transmitting, on receiving a transmission permission signal from said data receiver unit, data to said data receiver unit, said data transmission apparatus comprising:
- a data transmitter for transmitting data input thereto to said data receiver unit;
- a transmission time calculator for calculating a transmission time period up to a time when the data transmitted reaches an amount determined in accordance with a plurality of parameters, which are input from an outside of said data transmission apparatus;
- and
- a control circuit for setting, based on the transmission time period, a maximum amount of data to be transmitted next and controlling transmission of the data;
- said control circuit comprising:
- a management time calculator for converting the transmission time period to a unit management time period representative of a transmission in unit time for management, determining allowable unit management time periods allowable for the unit management time, selecting one of said allowable unit management time periods as a management time period, calculating the maximum amount of data, and generating a timing signal indicative of an elapse of the management time period;
- an accumulator manager for holding and managing a total amount of data transmitted;
- a maximum transmission amount generator for generating the maximum amount of data to be transmitted next as a limit while updating the limit;
- and
- a monitor/controller for comparing the total amount of data with the maximum amount, inhibiting, based on a result of comparison, said data transmitter from transmitting data or canceling an inhibition while holding, when the total amount exceeds the maximum amount, a difference between the total amount and the maximum amount, and feeding the difference to said maximum transmission amount generator.