Maker Pro
Maker Pro

HT-12E encoder question

S

sommes

Jan 1, 1970
0
There is four input in HT-12E, can I only use one input and ignore other
three inputs to input a 10bits serial digital data from ADC?

Thank you very much.
 
D

Donald

Jan 1, 1970
0
sommes said:
There is four input in HT-12E, can I only use one input and ignore other
three inputs to input a 10bits serial digital data from ADC?

Thank you very much.
I think you need to read the data sheet.

Just in case here it is:
http://www.commlinx.com.au/HT12E.pdf

This device take 12 parallel bits and converts them to a serial data stream.

Thats all.

You still need some sort of transmitter.

From the first page "General Description":

" The programmed addresses/data are transmitted together with the header
bits via an RF or an infrared transmission medium upon receipt of a
trigger signal."

SO you need to provide the "transmission medium".
You also need to provide a "trigger signal" (TE)

When the TE signal is low, the HT-12E will transmit the 12 bits over and
over again till TE goes high.

I do not think this device will you what you expect.

By the way, what is it you are trying to do ???

donald
 
A

Alan Nishioka

Jan 1, 1970
0
sommes said:
There is four input in HT-12E, can I only use one input and ignore other
three inputs to input a 10bits serial digital data from ADC?

Yes, you could do this, but how are you going to reassemble the bits on
the other end?
What happens if a packet is duplicated or dropped?

This chip is really designed as a four button remote control, so you
are using it in a way it was not intended, which is often a problem.

You might get it to work with a parallel ADC, sending all 10 bits at a
time. This way, each packet would contain the entire 10 bits. But you
would only have 2 bits left for addressing.

Alan Nishioka
 
S

sommes

Jan 1, 1970
0
Thank you Donald, Alan

Thank you for your reply. I am going to list what I try to do.

1) Input 0 to 5V to Atmel AVR AT90S8535

2) 10bit ADC conversion by 8535

3) Encode with HT-12E and transmit by TLP-343

4) Recieve by RLP-343 and Decode with HT-12D

5) Display infomation by 7 Segment display.

I would lik to ask.

Q1) Can Atmel 8535 do the 10bit ADC and output data from RS-232(serial
output)?

Q2) Do I need encode HT-12E if serial data is achieved?

Q3) Can I just input the serial data from ADC to TLP-343 transmitter?
 
S

sommes

Jan 1, 1970
0
transmitter should be TLP-434
reciever should be RLP-434
 
A

Alan Nishioka

Jan 1, 1970
0
sommes said:
Q1) Can Atmel 8535 do the 10bit ADC and output data from RS-232(serial
output)?
Probably


Q2) Do I need encode HT-12E if serial data is achieved?

Probably not. It does seem silly to convert to parallel then back to
serial.

Q3) Can I just input the serial data from ADC to TLP-343 transmitter?

Probably.

http://www.serasidis.gr/circuits/RF_remote_control/RF_remote_control.htm
used an avr directly connected to tlp434a for his project.

www.laipac.com would not let me download datasheets.

Alan Nishioka
 
D

Donald

Jan 1, 1970
0
sommes said:
Thank you Donald, Alan

Thank you for your reply. I am going to list what I try to do.

1) Input 0 to 5V to Atmel AVR AT90S8535
Ok

2) 10bit ADC conversion by 8535
OK

3) Encode with HT-12E and transmit by TLP-343
Why ?

Connect the TLP-343 to a port bit and create a 10 bit serial data stream.
4) Recieve by RLP-343 and Decode with HT-12D
Again why the HT-12D ?

Output of RLP-3433 into port bit of another 8535.
5) Display infomation by 7 Segment display.
8535 can do this as well.
I would lik to ask.

Q1) Can Atmel 8535 do the 10bit ADC and output data from RS-232(serial
output)?
Yes


Q2) Do I need encode HT-12E if serial data is achieved?
NO


Q3) Can I just input the serial data from ADC to TLP-343 transmitter?
Yes

Alan, nice link.

To get ideas for transmit/receive encoded data, google for "manchaster
coding".

All this sounds like it will be a lot of work. ( well, for the first
time it will be).

There are a lot of projects out on the net to help you along.

Good Luck

donald
 
S

sommes

Jan 1, 1970
0
Thank you Donald and Alan again.

Can I ask you one more question?

I am using HT-12E, becuase my industry partner told me the encoder is doing
some kind of encoding which enable to get rid of noise and the reciever
could recieve the encoded data correctly, therefore my partner suggest me to
use HT-12E and using the 4 bits input from the chip to send 10bits with 3
cycles(4 bit for one cycle).

Please correct me if it was wrong.
 
D

Donald

Jan 1, 1970
0
sommes said:
Thank you Donald and Alan again.

Can I ask you one more question?

I am using HT-12E, becuase my industry partner told me the encoder is doing
some kind of encoding which enable to get rid of noise and the reciever
could recieve the encoded data correctly, therefore my partner suggest me to
use HT-12E and using the 4 bits input from the chip to send 10bits with 3
cycles(4 bit for one cycle).

Please correct me if it was wrong.
I am sorry, but this does not make any sense.

But, if thats what the client wants......

donald

PS: noise is what the "manchaster encoding" will help with.
 
A

Alan Nishioka

Jan 1, 1970
0
sommes said:
I am using HT-12E, becuase my industry partner told me the encoder is doing
some kind of encoding which enable to get rid of noise and the reciever
could recieve the encoded data correctly

The HT-12E encodes a 1 as a short pulse and a 0 as a long pulse. This
allows clock recovery at the receiving end. But there is nothing
special about this code that gives it better noise immunity. That
would depend on what is built into the decoder.

And any kind of coding/decoding could be done in the AVR.
But you would also have to do any decoding for noise immuity on your
own too.

therefore my partner suggest me to
use HT-12E and using the 4 bits input from the chip to send 10bits with 3
cycles(4 bit for one cycle).

I still don't see how you will be able to tell where the beginning of
an ADC data word is using this method. If you want to use the HT-12E,
I still suggest sending 10 bits in parallel in a single packet.

Alan Nishioka
 
D

Donald

Jan 1, 1970
0
Alan said:
The HT-12E encodes a 1 as a short pulse and a 0 as a long pulse. This
allows clock recovery at the receiving end. But there is nothing
special about this code that gives it better noise immunity. That
would depend on what is built into the decoder.

And any kind of coding/decoding could be done in the AVR.
But you would also have to do any decoding for noise immuity on your
own too.





I still don't see how you will be able to tell where the beginning of
an ADC data word is using this method. If you want to use the HT-12E,
I still suggest sending 10 bits in parallel in a single packet.

Alan Nishioka

Hello Alan,

I think we agree that the HT-12E is not needed in this application.

But, I am confused about "sending 10 bits in parallel in a single packet".

Sending 10 bits in a Manchester Encoding scheme would give a
self-clocking data stream.

http://en.wikipedia.org/wiki/Manchester_encoding

donald

PS: Now its up to the OP to decide how much work he wants to do.
I think the amount of work to get the HT-12E working is much more
difficult.
So I hope the OP is charging by the hour. ;-)
 
A

Alan Nishioka

Jan 1, 1970
0
sommes said:
I am using HT-12E, becuase my industry partner told me the encoder is doing
some kind of encoding which enable to get rid of noise and the reciever
could recieve the encoded data correctly, therefore my partner suggest me to
use HT-12E and using the 4 bits input from the chip to send 10bits with 3
cycles(4 bit for one cycle).

I finally read the HT12D datasheet to see what it does for noise
immunity.
The HT12E sends the same address/data four times in a row.
The HT12D compares the four transmissions to see if they are all the
same.

Also, my suggestion of sending 10bits at a time won't work because it
compares the address bits.

I think it would be easier to use the AVR to do any encoding / decoding
/ noise immunity.

Alan Nishioka
 
A

Alan Nishioka

Jan 1, 1970
0
Donald said:
I think we agree that the HT-12E is not needed in this application.
Yes.


But, I am confused about "sending 10 bits in parallel in a single packet".

The receiver needs to know where the MSB of the ADC data is. I was
trying to use the address bits on the HT-12E to send more data (the
whole 10bit word in one burst). I did not realize that the decoder
treated these address bits specially, so this won't work.

self-clocking data stream.

Yes, that would be good to get the bits across, but that doesn't tell
you where the MSB is. I believe the project I referenced earlier just
used RS232 signaling, which should work and give you the MSB too.

PS: Now its up to the OP to decide how much work he wants to do.
I think the amount of work to get the HT-12E working is much more
difficult.

I agree.

So I hope the OP is charging by the hour. ;-)

Perhaps we should be charging him! :)

Alan Nishioka
 
S

sommes

Jan 1, 1970
0
Thank you Alan and Donald again, I really learnt a lot from you guys...By
the way.

I will talk to my partner but it is little bit hard to change his mind. It
is becuase he think

1) Using HT-12E and HT-12D could get rid of noise, and data can send
correctly

2) I can output 10bits ADC serials data to1 of the 4 input from HT-12E to
send the data easily, however it would be very slow to do in this way,
therefore, my partner suggest me to use all 4 input from HT-12E to send at
same time.

What is the best solution to radio transmission 10bit ADC data from Atmel
AT90S8535?

Sorry for my bad knowledge of RF
 
T

Tim Wescott

Jan 1, 1970
0
sommes said:
Thank you Alan and Donald again, I really learnt a lot from you guys...By
the way.

I will talk to my partner but it is little bit hard to change his mind. It
is becuase he think

1) Using HT-12E and HT-12D could get rid of noise, and data can send
correctly

2) I can output 10bits ADC serials data to1 of the 4 input from HT-12E to
send the data easily, however it would be very slow to do in this way,
therefore, my partner suggest me to use all 4 input from HT-12E to send at
same time.

What is the best solution to radio transmission 10bit ADC data from Atmel
AT90S8535?

Sorry for my bad knowledge of RF
Looking at the data sheet from Laipac for the transmitter and receiver,
you _should_ be able to hook up asynchronous serial output from the
micro to input pin of the transmitter, and see more or less the same
signal on the receiver pin of the matching receiver. You'll have to
take the 10 bit number and split it up -- the easiest thing to do might
be to just send two bytes, wait a while, then send the next reading, etc.

Better would be to send it with a checksum of some sort because with
radio you're practically guaranteed bad data at some point. If I just
wanted to send one channel of analog data I'd probably have a five-byte
packet: an unambiguous header (0x55?), two data bytes, then a CRC16
checksum. If you don't want to do CRC16 and don't mind a greater chance
of error you could use CRC8, or even a sum-of-bytes, but a CRC would be
significantly better.

The next time you ask one of these questions you may get better response
if you:

* say what you're doing beyond just sending data
* include pertinent details, like data rates and frequencies
* tell us what you _do_ know
* don't assume that we know what company's products you're using
* don't assume we know everything about that company's products
* don't assume that we want to go read their website

Something like "I want to send data at 4800 baud on a 434MHz data link.
I'm going to use an Laipac HT-whatever plus a TRX-whatever else, and I
need to know how to make it all work."

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Posting from Google? See http://cfaj.freeshell.org/google/
 
K

Ken Taylor

Jan 1, 1970
0
Tim said:
Looking at the data sheet from Laipac for the transmitter and receiver,
you _should_ be able to hook up asynchronous serial output from the
micro to input pin of the transmitter, and see more or less the same
signal on the receiver pin of the matching receiver. You'll have to
take the 10 bit number and split it up -- the easiest thing to do might
be to just send two bytes, wait a while, then send the next reading, etc.

Better would be to send it with a checksum of some sort because with
radio you're practically guaranteed bad data at some point. If I just
wanted to send one channel of analog data I'd probably have a five-byte
packet: an unambiguous header (0x55?), two data bytes, then a CRC16
checksum. If you don't want to do CRC16 and don't mind a greater chance
of error you could use CRC8, or even a sum-of-bytes, but a CRC would be
significantly better.

The next time you ask one of these questions you may get better response
if you:

* say what you're doing beyond just sending data
* include pertinent details, like data rates and frequencies
* tell us what you _do_ know
* don't assume that we know what company's products you're using
* don't assume we know everything about that company's products
* don't assume that we want to go read their website

Something like "I want to send data at 4800 baud on a 434MHz data link.
I'm going to use an Laipac HT-whatever plus a TRX-whatever else, and I
need to know how to make it all work."
If noise is seriously considered a problem would it be worth trading off
some throughput speed by using all four of the inputs for one-bit data,
with two bits inverted and two bits non-inverted. Check at the receiver
to derive a confidence bit.

Ken
 
D

Donald

Jan 1, 1970
0
sommes said:
Thank you Alan and Donald again, I really learnt a lot from you guys...By
the way.

I will talk to my partner but it is little bit hard to change his mind. It
is becuase he think

Some how I do not think thats the real problem.

1) Using HT-12E and HT-12D could get rid of noise, and data can send
correctly
Is it that, he thinks a tiny piece of cheap hardware is better than 4
weeks of software development ?

After the software is developed, there are no HT chips at all.

2) I can output 10bits ADC serials data to1 of the 4 input from HT-12E to
send the data easily, however it would be very slow to do in this way,
therefore, my partner suggest me to use all 4 input from HT-12E to send at
same time.
Silly, but doable. Just takes time.

What is the best solution to radio transmission 10bit ADC data from Atmel
AT90S8535?

Its been stated several times already.

One bit out to Tx, one bit in from Rx.
Sorry for my bad knowledge of RF

This is has not been an RF problem, its a software problem.

How much software ( in other words, how much will it cost ) do you eant
to develop ?

Show your partner these posts. Tell him it will be cheaper with the
software method.

donnald


Let us know what you end up doing.
 
S

Steve

Jan 1, 1970
0
What is the best solution to radio transmission 10bit ADC data from Atmel
AT90S8535?

I have done this with a PIC, not an Atmel chip, on the PIC serial
interface you have the option of sending a 9 bit byte instead of the
usual 8. So you can use that extra bit as a way to code whether the
byte you are sending is the high or low byte of your 2 byte data
sample. It's not as good as sending in frames and doing proper
checksums, but it's a simple way to send 10-16 bit data over a radio
link, you can check at the receiver that you are getting pairs of
bytes, generate an error if not, discard some data and then
resynchronise. I have no idea if the Atmel chip can also do this in
it's hardware, maybe not, though if you write your own serial output
code to drive a pin on the Atmel then you could implement this method.

Steve
 
Top