[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bluetooth] Re: Clock Recovery in BT
Why not seperate out the function of locking onto the incomming data
stream and looking for an access code match? In my experience these
are two very very different tasks. Also the preamble can't be relied on
to provide the 1010 pattern. I have personally seen these preambles
missing, and in fact even sometimes some missing access code, in some
packets on a particular radio chip!
The first problem you have about the incoming data stream may be that
it's coming from a totally different clock, even if it is 1Mhz it does
have
a certain accuracy and our clock also must be within this accuracy. But
you can no garuntee the relasionship between them! Correct? I beleive
the 1Mhz clock accuracy requirement is spec'ed in the bluetooth 1.1
spec. This accuracy ensures that over the time taken for 1 maximum
sized bluetooth data packet, that any two 1Mhz clocks will not drift
far
enough appart as to cause setup/hold violations. But that is assuming
your clocks are aligned at the start of the packet!
So somehow you need to prevent this drifting of clocks resulting in us
either dropping a bit, where our clock is slightly slower, or gaining
an
extra bit, where our clock is slightly faster.
So how are you going to lock onto an asynchronouse data stream?
Perhaps have a small block running much quicker that 'oversamples' the
incomming data stream? We can then track when the transitions in the
incomming data stream occurs in relation to our clock. So we can
predict if we are going to drop or gain a bit. If we then run our
design at
say 2Mhz with the logic enabled every other cycle then we are
effectively running at 1Mhz. But now we can recover this 'dropped bit'
by leaving the enable high for 2 2Mhz cycles, and we can make up for
this gained, or phantom bit, by leaving the enable low for an extra
clock
cycle! I feel this can then result in a reasonably safe tracking of the
incomming data stream.
Now the detection of the correct transition in the incomming data
stream is a different matter. I have seen a 1Mhz data stream from a
particular manufacturers bluetooth radio chip that has noise at a
higher
frequency overlaid on the data. Especially near the beginning of the
packet when it is trying to lock onto the incomming data stream. I have
seen a radio chip, from an alternative manufacturer, that prevents this
happeneing and has a nice clean 1Mhz signal. So now we need to filter
out spuriouse transitions. This all gets pretty messy but I have an
idea
for a solution.
Now onto the correlator. You are not looking for the preamble anymore!
Shift the incomming data into a 68 bit shift register, compare on every
clock cycle the contets of this shift register with our access code. As
soon as they match we have a correlation! If the correlator is run at
the
incoming data stream speed we can provide a correlate signal
combinatorially in time for the next clock cycle.
A quick question. Why are you passing the incoming data stream
THROUGH the correlator to the FEC? Why not bypass the correlator, this
will reduce latency (68 clock cycles) on the incoming data path! If the
correlator merely monitors the incommind data and provides a correlate
signal (combinatorially) then the next clock cycle will be the first
data
bit after the access code! (Most probably the first bit of the trailer,
depending on the packet type!) So we could pass the data straight from
the 're-sync' block mentioned above to the FEC which merely ignores all
data until the correlate signal goes high.
Could this 68 clock cycle latency could be an issue in us hitting our
next
transmit time slot? It is easliy avoided using the method mentioned
above! Also the correlator can be run slow, so as to reduce power
consumtion..... (At the speed of the incomming data stream!)
I feel that a programmable threshold is important. I have seen
successfull corellations with 0 errors, I have also seen access codes
with 3 errors in it! We really still want to detect these packets with
say
3 errors! Say make the threshold programmable from 0 to say 15 errors
(just picking numbers from thin air!) I can see situations where we
could
have bit errors in the access code! (noisey enviroment! While popping
pop corn in the microwave????) But we want to reduce the chances of
correlating on incorrect access codes! Now I know this is unlikely. The
access codes are calculated in such a way as to ensure a high hamming
distance between any two valid access codes! But It's better to be safe
than sorry. The software could 'tune' this threshold accordign tot he
signal quality if an error count is fed abck from the correlator. This
could
tell the software how many errors are actually occuring in the access
codes!!!
Thats about it for my first installment... I could knock up a spec for
a
correlator explaining the reasoning behind features if you woudl
like...
Not necessarily as a part of your bluetooth spec, but merely to try and
explain my thoughts......
Cheers
Rob
Robert Openshaw
----- Original Message -----
From: Jamil Khatib <khatib@i... >
To: bluetooth@o...
Date: Thu, 26 Jul 2001 23:34:12 +0200
Subject: Re: [bluetooth] Re: Clock Recovery in BT
>
>
> Hi,
> Try to look at the access code correlator I designed (you can find
> it in the bluetooth project pages).
> the correlator keeps comparing hte inputs till both the input and
> the expected value are matched within
> certain threshold. Till now I do not know how to select this
> threshold.
> regarding the preamble ( and since the correlator does not look
> for the exact pattern) I think we can
> ignore them
>
> Note: the correlator is too slow and it needs lot of modifications
> to get faster
>
> Any comments
> Jamil Khatib
>
> > Hello Mr. Khatib
> >
> > Yes that symbol recovery is what I am talking about.
> > There is a preamble of 1010 or 0101 before 68-bit
> > access code which helps in determining the symbol
> > rate. In inquiry and other packets which have no
> > header or payload, access code is only 68 bits,
> > without any preamble. also due to settling time of
> > radio, it is less likely that we can receive all the 4
> > bits of preamble at receiver. In all these cases (that
> > is no preamble and unknown number of preamble bits)
> > how symbol recovery can be done? I will be thankful to
> > you if you can guide me on this.
> >
> > regards
> > Faisal
> > --- Ling Su <lingsu@p... > wrote:
> > > I guess it would't be access code correlator, it
> > > means the symbol recovery
> > > before you feed the data into your logic. Bluetooth
> > > need pretty fast
> > > recovery, since it only has 4 sync symbol.
> > >
> > > -Ling
> > >
> > > ----- Original Message -----
> > > From: "Jamil Khatib" <jamilkhatib75@y... >
> > > To: <bluetooth@o... >
> > > Cc: <faisalmaalik@y... >
> > > Sent: Wednesday, July 25, 2001 1:39 PM
> > > Subject: Re: [bluetooth] Clock Recovery in BT
> > >
> > >
> > > > Hi,
> > > > sorry for the delay.
> > > > do you mean the access code correlator?
> > > >
> > > > if not can you explain it to me because it seems
> > > the I
> > > > am missing something.
> > > >
> > > > regards,
> > > > Jamil
> > > >
> > > > --- Faisal <faisalmaalik@y... > wrote:
> > > > >
> > > > > Hello
> > > > >
> > > > > can any one help me in designing of the clock
> > > and
> > > > > data recovery sub-block of bluetooth baseband
> > > > > receiver. Any suggestions, ideas or relevant
> > > > > information would be welcome.
> > > > >
> > > > > Faisal
> > > > >
> > > > >
> > > > >
> > > > > ---------------------------------
> > > > > Do You Yahoo!?
> > > > > Make international calls for as low as
> > > $.04/minute
> > > > > with Yahoo! Messenger
> > > > > http://phonecard.yahoo.com/
> > > >
> > > >
> > > > __________________________________________________
> > > > Do You Yahoo!?
> > > > Make international calls for as low as $.04/minute
> > > with Yahoo! Messenger
> > > > http://phonecard.yahoo.com/
> > > > --
> > > > To unsubscribe from bluetooth mailing list please
> > > visit
> > > http://www.opencores.org/mailinglists.shtml
> > > >
> > >
> > >
> >
> >
>
> --
> Jamil Khatib
> OpenCores Organization
> http://www.opencores.org
>
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
--
To unsubscribe from bluetooth mailing list please visit http://www.opencores.org/mailinglists.shtml