Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how a 11 bit data is sent by a 13 bit absolute encoder?

Status
Not open for further replies.

sagar0205

Newbie level 3
Newbie level 3
Joined
Sep 24, 2012
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,320
i have to use an absolute encoder which can give upto 13 bit data for the input clock provided by the master.
so i am writing the code for master as whenever i need data from encoder the master will supply 14 clocks to slave(absolute encoder),
and the slave will latch its data with the clock and send the 13 bits of data to master.

my question is the encoder i'm using will give 13 bits of data for 2500rpm and if the speed is increased to 5000 rpm it will provide only 12 bit, this continues and for the speed of 20000 rpm it will give only 10 bit data.
the following waveform shows for 13 bit data.

clk---------------___----___----___----___----___----___----___----___----___----___----___----___----___--------------
(13-bit)data''''''''''''''d12----d11----d10-----d9-----d8-----d7-----d6------d5-----d4-----d3------d2-----d1-----d0
--------------------MSB------------------------------------------------------------------------------------------LSB

lets take an example of 10000 rpm, the encoder will provide a 11 bits of data,

clk---------------___----___----___----___----___----___----___----___----___----___----___----___----___--------------
(11-bit)data -------d10-----d9-----d8-----d7-----d6------d5-----d4-----d3------d2-----d1-----d0
--------------------MSB--------------------------------------------------------------------------LSB

as shown in the above wave form the master doesnt know at what speed the encoder shaft is rotating so the master will send the 14 clocks as usual
and reads the data even for last two clocks where the data is zero '0' which changes the value sent by encoder, i.e., 11111111111(binary for 2047) the master will receive the data as (1111111111100) binary value for 8188.
please provide me solution for my problem
Q.how a 11 bit data is sent by a 13 bit absolute encoder?
 

If I read correctly the bits you'll miss are d11 and d12 but these are the two MSB not LSB as you show in your example so what you'll receive is not 1111111111100 but 0011111111111 which is no problem at all.

- - - Updated - - -

Are you sure that your encoder doesn't send two 0 for d12 and d11 before it sends d10...
It seems strange for the MSB to be truncated based on the result.
 
Are you sure that your encoder doesn't send two 0 for d12 and d11 before it sends d10...
It seems strange for the MSB to be truncated based on the result.

Thanks alaxan

actually I'm new to this encoders I've read the data sheet and didn't understand about how the data is truncated, so according to you if the msb bits are not truncated and in their place if zeroes are added, I have no problem with it.
View attachment RE22D01.pdf this is the data sheet for the encoder what i have to use, hust attached this for your concern. thanks
 

There are six models in the datasheet, from your description I assume you have RE22S - synchro serial interface (SSI)

The communication protocol is SSI (RS422A) which I haven't used but you can read about it https://en.wikipedia.org/wiki/Synchronous_Serial_Interface

I'm not sure that the output bit length is variable, did you get that result in the hardware testing?
 

The behaviour observed comes from the codedisc of optical encoders. With high rotating speeds the Last Significant tracks (LSB) of the Code are changing so fast that the photodiodes cannot recognise the changes, so the LSB are starting to to be blanked out. It doesn`t matter for your evaluation, because the correct position at high speed is normally not needed, the MSBs are still valid. So your code will still start with the MSB.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top