
With HV1, each bit is transmitted 3 times and a simple voting algorithm is used at the other
end to correct for any bit errors. This means that only 10 bytes of actual audio data can be
transmitted in a SCO packet. To maintain the 64 kbits/sec data rate, all 6 timeslots have to
be used for the SCO link, leaving no bandwidth available for data.
With HV2, an FEC algorithm is used to correct for 1 bit errors. This increases the data packet
size by 50%. This means that only 20 bytes of actual audio data can be transmitted in a SCO
packet. To maintain the 64 kbits/sec data rate, 4 out of every 6 timeslots are used for the
SCO link.
AT+BTA1 enables HV3
AT+BTA2 enables HV2
AT+BTA4 enables HV1
AT+BTA7 allows the link manager to negotiate which packet type to use, the default is HV1
4.2
Enhanced SCO
Enhanced SCO or eSCO was implemented as part of the 1.2
Bluetooth
Core Specification
Release. The main driving factor was to improve audio quality. This has been achieved by:
1)
including a CRC as part of the audio data packet to allow error detection and a re-
transmission request.
2)
allowing higher data rates by using packets that span more than 1 timeslot
3)
allowing asymmetric links to allow high quality audio to be streamed in one
direction.
eSCO offers significantly better audio quality, but has to be configured at both ends of the
link before a unit is enabled to accept incoming connections or enquiries.
To try out eSCO, add the ATS584=1 command to the commands listed in the quick start
section immediately after the AT&F* and ATZ commands.
Both ends of the link must be configured for eSCO for the audio link to be established. If one
end is set to eSCO and the other to SCO, you will get an “AUDIO FAIL” when the AT+BTA1
command is issued.
The following are the packet types associated with the AT+BTA commands for eSCO.
AT+BTA1 – EV3 packet. Up to 30 bytes + CRC. Uses up 1 timeslot
AT+BTA2 – EV4 packet. Up to 120 bytes + CRC + 2/3 FEC. Up to 3 timeslots
AT+BTA4 – EV5 packet. Up to 180 bytes + CRC. Up to 3 timeslots. Currently
Unsupported
4.3
SCO / eSCO Transport Delays
The following delays have been measured between incoming audio and audio output at the
other end of a
Bluetooth
link.
Normal SCO:
AT+BTA1 7.84
ms
AT+BTA2 9.24
ms
AT+BTA4 10.8
ms
Enhanced SCO
AT+BTA1 12.1
ms
AT+BTA2 33.4
ms
AT+BTA4 41.2
ms
As can be seen, the additional error correction of eSCO comes with a transport delay penalty.
This is because a buffer is needed to ensure that there is still data to output while waiting for
a corrupted data packet to be re-transmitted.
APN_06002_1v03 Winbond Audio Board Application Note
6