I would like to know if there is someone working with AS3933 chip, 3D Low frequency Wake-up Receiver, to discuss about some issues I’m getting with data trasmission.
I contacted with AMS support and they gave me no support, directly. I got so astonished about their response.
I appreciate if someone knows any contact in AMS for contact and supporting.
Any suggestion/comments will appreciate.
I do have a couple people in house that have done some work with AMS and we do have contacts within AMS we can ask, however I would need to know a bit more about the issues you are having. If you could provide some more details I can get in contact with these people and see if we are able to help you out.
Thank you for you fast reply.
I’m working on a project using AS3933 as an active TAG. This is on: https://ams.com/as3933. Wireless sensor nodes/wireless sensor connectivity.
We have developped the HARDWARE and FIRMWARE and now I’m getting some problems decoding the data from an 125kHz emitter. Everything is working well at short distance, but getting wrong data at long distance. So, the system always wakes-up with the pattern and distance, but the data is not always correct.
I hope you can give a contact.
I am one of the application engineers here at Digi-Key. What distance do you start having issues decoding data correctly? Do you have the AS3933DemoKit and how does the distance compare to the kit performance? Have you followed the ams reference design? Any detailed information on the decoding issue and your design will be helpful so I can provide to ams for their feedback.
Thank you for your fast reply.
Let me prepare detailed information and oscilloscope captures to check the performance of the system.
I have DEMOKIT, but it’s not possible to work with data transmissions, you can only work in PATTERN detection.
I’m attaching schematics, PCB layouts, AS3933 setup and oscilloscope captures.
I’m trasmitting BURST + PATTERN + DATA
PATTERN = 0x9669
DATA = 21 / 0x0015 / 0b0000000000010101 / 01010101010101010101011001100110 --> 0x55555666
I’m using for transmitting an antenna from PREMO: KGEA-AFC Long Range.
Tag’s antenna from PREMO: 3DC15-1000J.
I used fine tunning for tank resonator as datasheet says.
I have the design guide line I downloaded from AMS website. I think I’ve followed it. I’m not sure about using the oscillator of 32.768kHz is critical instead of 31.25kHz working at 125kHz.
I’m quite confused about data-slicer setup, symbol rate (Manchester symbols/s), etc.
I’ve noticed that the enviroment at long distance de SNR is not so good, I read that the pattern decoding mechanism is different from data decoding mechanism, so I’m getting right wake-up (right pattern detection) but not good data decoding.
I think you have information to start checking and discussing with AMS support.
Don’t hesisate you ask me for as much information you need.
I will try to write my design following the design guide line… that will help.
We received information back from ams, unfortunately they are unable to provide any technical support on the AS3933. I will review the information and materials you provided and get back to you and try to offer suggestions on increasing the decoding range.
Ok. So you got the same answer as me from AMS.
Waiting for your feedback.
Have you tried implementing the bit rate and symbol rate register settings in the design guide (2232 b/s and 1130 symbol rate)?
R3<2:0> = 011 for 1130 symbol rate
R7<4:0> = 01101 for 2232 b/s
R3<5:3> = 111 to increase preamble
R4<3:0> = 0000 for no gain reduction
You could also try adjusting hysteresis R3<7:6>
I also found some FAQs on the AS3933 that may be relevant:
What can be done if there is seen a mismatch in range between Wakeup Pattern and Data?
Analyze the WAKE, CLK and DAT pin with the oscilloscope in the range where the Data seem to be corrupted. Most probably the data is interpreted wrong by the MCU. If this is not the case the following setting is recommended:
Change the Settings of the AGC: Try to set R1<6>=1 for setting AGC only on carrier burst and set R1<5> = 0 for setting AGC up only. The CLK cycle periods differ from time to time.
If this does not help, try to set the Data Slicer to a hard threshold by setting R1<7> = 1.
How can I select an appropriate antenna for the AS393x?
o Select a coil that is based on your resonance frequency (125kHz, 40kHz, 20kHz etc…)
o Choose a capacitance value between 100 to 200pF and calculate the appropriate inductance (e.g. 7.2mH).
o Calculate back correct capacitance value according to the final value of the inductance
o Tune the antenna with the automatic tuning algorithm (±16pF)
We use a crystal oscillator at 32.768kHz at a carrier frequency of 125kHz. Does it make a difference using a 32.768kHz crystal instead of a 32.25kHz crystal as defined by the table 26: Frc = Fcarr/4 = 31.25kHz?
Your calculations are correct and to be precise both the AS3932 and the AS3933 would need a 31.25 kHz crystal (or tuned RCO) working at 125kHz, but in the 110-150 frequency band you can use a 32.768 kHz crystal (which is standard and cheap in respect to a 31.25) and there will be no difference in terms of performances.
When defining the carrier frequency and the datarate on the transmitter side, how can I define the Bit Rate Setup of the AS3933 in R7<4:0>?
Let’s do an example: Fc = 20kHz, Data-rate = 3kbps
The transmitter sends the pattern with 20kHz carrier frequency, while one bit is 333us long. First calculate the clock frequency of the AS3933: Fclk = 20*(14/8) = 35kHz crystal (clock generator period = 1/35kHz = 28.57us. Then you calculate how many clock periodes you need to define one bit: N = 333us/28.57 us = 11.65 => you’ll take 12 = > R7<4:0> = 01010. In some case you might end up with N in between two integer settings (e.g. 17.5) you can chose both the upper and the lower setting (either 17 or 18); our correlator will adjust automatically the time clock to the received data-rate.
With ref to Figure 22: "When I start count bit duration?
At 50% of the amplitude (blue line in fig. 22: see the rising edge of the slicer data output signal represented in fig. 22). For correct bitrate selection in Reg7 one should measure the duration of the whole Manchester symbol which is comprised of one ‘0’ bit and one ‘1’ bit. The length of a Manchester symbol is not dependent on the shape of the envelope shape (picture below). Different shapes of the envelope rising and falling slopes can introduce some duty cycle distortion which ideally should be 50% but the receiver/decoder has built in resistance to duty cycle distortion.
For validating the transmitter system it can be recommended to observe the received digital signal on the DAT pin of the receiver. Adjust the pulse length of the transmitter so to achieve close to 50% duty cycle on the DAT pin of the receiver. (The chip will try to decode the data up to a duty cycle of 25%/75% where decoding becomes then impossible.) To verify the bitrate it can be recommended to measure the length of a Manchester symbol also on the DAT pin.
With reference to fig. 22 above: Since it’s not an ideal bit transfer and it can be moved what should be the tolerance that they should take into account?
TX time base is always based on an XTAL, which means very stable/accurate timing; the duty-cycle should be 50% -/+ max 10% (refer to the “duty-cycle distortion” represented in fig. 22).
The tolerance of the duration of a Manchester symbol (see the green dimension in fig 22 below) is ±5%.
How to improve the range?
o Improve TX power by reducing the value of the resistors limiting the current or increasing the supply voltage of the transistor circuitry. (Attention not to exceed the max current rating of the TX antenna).
o Choose a proper receiver antenna. The bigger the inductance and the sensitivity of the coil, the better.
o Tune the receiver antenna exactly to the carrier frequency with the help of the automatic antenna tuning.
o Choose a proper transmitter antenna. The bigger the size of the antenna and its inductance the better.
o Reduce the symbol rate, in order to increase the Q-factor of the receiver/transmitter antenna.
o Activate the gain booster
It can be worth doing the following test: Enable AGC only on carrier burst + AGC UP-DOWN disabled
o Separately, it is worth to ‘play’ with the time constants of the envelop detector and data slicer and see by experiment the result.
How can I better reject the noise picked up by the receiver?
First I would measure all the spectral disturbers that are close by, and center the transmission frequency where the disturbers are lowest.
If it is not possible to change the frequency:
- damp the receiving antennas and increase accordingly the transmitted power
- decrease the data rate, if possible
- increase time constant of the envelop detector and data slicer (means more filter, lower noise effect)
Does the gain reduction setting set the maximum gain available, or is it a starting point gain only. My experiments seem to indicate that it is the maximum gain available, but the datasheet says this is the starting gain which could imply the gain could be increased or decreased by the AGC.
The gain reduction setting reduces the maximum available gain. Even with AGC_UD=1, i.e. the AGC can reduce and increase the gain, the maximum gain that can be reached is specified with the gain reduction settings.
Ok! I will try implement the points you gave me. Just let me some days to check them.
I will give you a feedback of my results.
It seems I don’t have a 50% ±5% on a Manchester symbol. I think that’s the problem decoding data. I’ve checked some of your points and the performance has improved.
I will try to decrease data rate on trasmitter.
One point, Can I keep the form of burst + preamble + pattern and only change the bit rate on form of data??
My understanding is you should be able to just change the bit rate.
After following your comments and changing the bit rate the distace for data has improved.
Thank you for your support!
Glad that we could be of assistance!