1 Overview
This article describes how to test the Tx/Rx performance of the AH module on the solution board with or without a test instrument. The test results can be used as a basis for improving the performance of the solution board.
2 Test preparation
2.1 Serial port settings
The serial port configuration is performed according to the figure below.
Figure 2-1 Serial port parameter configuration
In addition, please note that the new line mode is selected. Take
Figure 2-2 Select the new line mode
To test whether the serial port is normal, enter AT+, and it will print as shown below:
Figure 2-3 Echo of inputting AT+
If this is not printed, it means the serial port input is incorrect and you need to contact us
2.2 Introduction to serial port commands
(1) Enter/exit test mode
at+test_start=1 or 0
After entering test mode, the default is rx mode;
This command is not saved when power is off;
(2) Set center frequency
at+lo_freq=908000
The unit is Khz, 908000 means 908M, 921500 means 921.5M;
This command is not saved when power is off;
(3) Set bandwidth
at+bss_bw=8 or 4 or 2 or 1
The 4 supported bandwidths are 8M, 4M, 2M, and 1M. It is recommended that the setting value be consistent with the actual situation of the solution;
This command is saved when power is off. Please note that it should be restored after modification;
(4) Set to enter/exit Tx mode
at+tx_start=1 or 0
This command is not saved when power is off;
(5) Set MAC address
at+mac_addr=0
Enter test mode to do Rx The test requires setting mac_addr to 0;
This command is not saved when the power is off;
(6) at+tx_mcs=255 or any value from 0 to 7
By default, tx_mcs=255, which means that mcs is automatically switched according to the channel conditions; setting it to any value from 0 to 7 means that this mcs is fixed; In test mode, 255 will be sent using mcs7. When doing Tx/Rx tests, it is recommended to set mcs=1, that is, fixed to 1, to avoid mcs7 not being able to be decoded when Rx performance is poor, resulting in incorrect test results; This command will be saved after power failure. Note that after the test is completed, mcs should be restored to 255 to avoid being fixed to mcs1 in actual use. Fixed to mcs1 will affect actual use;
(7) Set Channel list at+chan_list=9080, 9160, 9240 This command is to set the channel list to be used, the unit is 100Khz, 9080 means 908M; Set according to the actual situation of the solution; The configuration result of this command will be saved when the power is off. Please note that it will be restored to the original value after testing;
(8) Start background noise scanning at+acs_start=1 This command starts the automatic background noise scanning, and you can see the minimum value (min), average value (avg), and maximum value (max) of the background noise (bgr, backgroundrssi) of each channel; This command will not be saved when the power is off;
3 Test items
3.1 Test items based on instruments
3.1.1Tx cable single tone test
1. At+test_start=1 //Enter test mode
2. At+lo_freq=915000 //Here, 915M is used as an example. It is recommended to cover the upper and lower limits of the working frequency band
3. At+tx_start=1 //Enable tx
4. at+tx_type=S //S means single tone. By default, a signal of -500kHz should be sent. Nmeans Normal (modulation signal)
5. at+tx_cont=1 //Continuous transmission. Note that if you want to modify the parameters of Tx, you need to exit continuous transmission first.
3.1.2Tx cable modulation signal test
Figure 3-1 Modulation model test (spectrum analyzer is N9020 with AH license)
Test command:
1. At+test_start=1 //Enter test mode
2. At+bss_bw=8 //Set bss_bw, default is 8M, can also be changed to 2/4M;
3. At+lo_freq=915000 //Here, 915M is used as an example, it is recommended to cover the upper and lower limits of the working frequency band
4. At+tx_pwr_super=1 //Enable superpwr, it can output 25dbm in mcs0, and 20dbm in mcs7
5. At+tx_mcs=0 //Configure tx-mcs, test mcs0 and mcs7
6. At+tx_start=1 //Enable tx
Spectrum analyzer operation
1. Press mode to select wlan
2. Press input, compensate -31db (because it needs to connect a 30db attenuator and about 1db line loss)
3. Press mode setup to select 11ah Submode
4. Modify freq center to be consistent with lo_freq of DUT
5. Select modulation analysis as the test item, and set the search time in measure setup/advance to 50ms (the default value is too small, it cannot be locked, and the constellation diagram will flash)
Notes,
1. The spectrum analyzer must be connected to an attenuator (30db), otherwise the instrument will burn out
2. Pay attention to the print to see if the chip temperature is relatively high. If it is relatively high, it means that the heat dissipation is poor;
3.1.3Rx cable sensitivity test
Test command
1. At+test_start=1 //Enter test mode
2. At+bss_bw=8 //Set bss_bw, the default is 8M, and it can also be changed to 2/4M;
3. At+lo_freq=908000 //Here we take 908M as an example. We cannot test only one point, but need to cover all channels of the working frequency band
4. At+tx_start=0 //Turn off tx test mode, which is off by default Signal source operation (signal source is E4438C, with AH license)
1. Connect the PC to the signal source via a network cable, check the IP address of the signal source in the utility option of the signal source, and connect to the signal source via wlan software;
2. Load the ah configuration file, which can be obtained by contacting Taixin FAE;
3. Modify the packet interval to be no less than 1ms, set the frequency,transmission power (set to -40dbm first), bw,mcs and other parameters, and download them to the signal source;
4. Observe the DUT After receiving the packet successfully, record the current number of received packets as the number of packets sent by the signal source in each cycle; 5. Press the local button to release the remote mode of the signal source, debug the output power, and check when the output power is reduced to 90% of the number of packets sent by the signal source (due to errors and packet loss), and observe rssi and evm; usually the sensitivity of 8M mcs7 is around -81dbm, and 8M mcs0 can reach -95dbm; if the measured value is quite different from the expected value, you need to find out the reason; 6. Modify the test frequency to cover all channels in the working frequency band; 3.1.4Rx air interface sensitivity test Put the DUT (with antenna) in the shielding box, and the signal source is also connected to another antenna built into the shielding box through a cable. Use the sensitivity test method to see if there is any abnormality in the sensitivity of each frequency point in the working frequency band. Note that the antenna of the DUT should be consistent with the actual usage, so that the test result is closer to the normal usage. 3.1.5 Use a test box to replace the instrument for testing
If there is no instrument, you can use the AH test box to replace the instrument to perform cable or air port performance testing. For specific methods, please refer to the instructions for use of the test box and the previous instrument-based test items;
You can also treat the test box as a golden device and directly use the serial port to operate the Tx-Rx pair test (described in the following chapters).Note that about 48db of attenuation is added inside the test box (the markings on the document and the box may not be consistent, and the actual attenuation is about
48db).
3.2 Test items not based on instruments
3.2.1Tx-Rx pair test
In the absence of AH dedicated test instruments, in order to facilitate the testing of the solution board and troubleshoot the problem of poor Tx and Rx performance, you can consider using two solution boards Tx-Rx pair test.It is recommended to ensure that the Rx side is ok when testing the Tx side, and vice versa.
If the Tx-Rx side is connected via an RF cable, it is recommended to connect an attenuator of about 50db in the middle. If the attenuator is not connected, the received energy will be too large, resulting in inaccurate testing; if the Tx-Rx side is connected to an antenna, it is recommended that the two prototypes be separated by more than 1 meter to avoid being too close to each other and causing too much received energy. The test command sequence of the Tx side is as follows:
a) at+test_start=1 //Enter test mode
b) at+lo_freq=908000 //Here, 908M is used as an example, and the actual frequency supported by the AH module shall prevail
c) at+bss_bw=8 //Here, the bandwidth is 8M, and the actual bandwidth used by the solution shall prevail
d) at+mac_addr=0 //Clear mac address to 0
e) at+tx_start=1 //Enable tx and enter tx mode
f) at+tx_mcs=1 //Set mcs=1
The test command sequence of the Rx side is as follows:
a) at+test_start=1 //Enter test mode
b) at+lo_freq=908000 //Here, 908M is used as an example, and the actual frequency supported by the module shall prevail
c) at+bss_bw=8 //Here, the bandwidth is 8M, and the actual bandwidth used by the solution shall prevail
d) at+mac_addr=0 // Clear the mac address to 0
Result analysis:
(1) If the reception and transmission of both Tx-Rx are normal, the printout will be as shown in Figures 3-2a and 3-2b.
Figure 3-2a Printing of the Tx side when both Tx and Rx are normal
Figure 3-2b Printing of the Rx side when both Tx and Rx are normal
(2) If the number of packets received by the Rx side is very small, it may be that the transmission of the Tx side is abnormal;
(3) If the number of packets received by the Rx side is normal, but the number of response packets received by the Tx side is very small, it means that there may be a problem with the transmission of the Rx side;
(4) If one party can confirm that the transmission is fine, but the other party's RSSI and EVM are not good, it may be that the receiving performance of this party is problematic;
3.2.2 Sensitivity test
The Tx-Rx test method can be used to test the sensitivity of the receiver. It requires the help of a test box, a variable attenuator and a shielding box (if there is no shielding box, interference will occur, resulting in inaccurate sensitivity testing; if there is no variable attenuator, the transmission power of the test box can be adjusted).
When testing the sensitivity, first let the test box do Tx (placed outside the shielding box) and the DUT do Rx (placed inside the shielding box). First, let the RSSI of the DUT be around -40dbm, and record the number of received packets in a printing cycle (under normal circumstances, they should all be correct).
Then increase the attenuator to see how small the RSSI is, and when the number of correct packets received (received packets minus incorrectly received packets) is reduced to 90% of the number of received packets when the signal was large just now, and observe the RSSI and EVM (no need to pay attention to the PER of the test box, this is caused by the DUT not responding to ACK). Figure 3-3 shows the cable sensitivity test value of the AH module.
For prototypes, you can consider directly testing the sensitivity of the air interface. The test box is connected to the shielding box through a cable, and then the antenna is connected inside the box to radiate the signal of the test box to the DUT. The air interface sensitivity will usually deteriorate by several db compared to the cable sensitivity. If the deterioration is too much, it is recommended to troubleshoot the problem and optimize the hardware design. It is recommended to test all alternative channels.
Figure 3-3 Cable sensitivity test value of AH module
If there is no adjustable attenuator, you can adjust the Tx power level inside the test box to reduce the transmission signal to achieve the purpose of attenuation. Use at+tx_pwr_max=5 or 4 or 3 for coarse adjustment (level 4 is 15db lower than level 5, level 3 is 15db lower than level 4), and then use at+txpower=6~20 for fine adjustment (step=1, valid for levels 5/4/3). If the signal is not small enough, you can add a fixed attenuation. At the same time, you can also pay attention to the frequency characteristics of the prototype antenna, that is, the default transmission power of the test box (tx_pwr_max=5, at+txpower=20) is used to send packets, traverse all the candidate channels, and see how the RSSI consistency of each channel of the prototype is. If the consistency is not good, the RSSI of some frequency points is too small, which may cause communication abnormalities.
3.2.3 Background noise scanning
The background noise bgr brought by the solution board emi can be scanned through the at+acs_start=1 command.
Usually, the antenna is connected to perform BGR scanning, because the antenna can receive the EMI noise of the solution board, and the RF cable will shield the EMI noise, resulting in much better results than the antenna. When testing, try to stay away from external interference sources, such as interference from base stations and other boards. If there is a shielding box, It would be better if there is a shielding box.
Input at+acs_start=1, and you can see the serial port echo as shown in Figure 2-5.All frequency points in the Channel list will be scanned. The number of scans for each frequency point depends on the bandwidth. For example, 8M bandwidth will be scanned 8 times, 4M bandwidth will be scanned 4M, etc. The Bgr scan results can be seen in the min/avg/max columns. It is recommended to focus on avg, followed by max. Usually, under 8M bandwidth, bgr-avg is relatively ok when <-90. If it is >-90, it is recommended to consider rectifying the EMI of the hardware. For 4M, it should be viewed at -3db on 8M, that is, bgr-avg is relatively ok when <-93. If it is >-93, it is recommended to consider rectification. For 2M, it should be viewed at -6db on 8M, that is, bgr-avg is relatively ok when <-96. If it is >-96, it is recommended to consider rectification. For 1M, it should be viewed at -9db on 8M, that is, bgr-avg is relatively ok when <-99. If it is >-99, it is recommended to consider rectification.
Figure 3-4 acs scan results
Here is an example of a bad solution board caused by EMI: the frequency sweep results of the screen machine when the screen is on and when the screen is off are very different, as shown in Figure 3-5a and Figure 3-5b.
Figure 3-5a Frequency sweep when the screen is on
Figure 3-5b: Frequency sweep with screen off
In this case, the bgr-avg value does not differ much when the screen is turned on and off, but the bgr-max value differs greatly, close to 15db. The Rx sensitivity of the board actually tested with an instrument is also 15db different, which is basically consistent with the difference of bgr-max. Therefore, in this case, it is recommended to find the source of EMI when the screen is turned on and how to avoid it.
3.2.4 Actual measurement of each channel
The background noise is tested in the shielded box using the AH test mode. The test mode may not be close enough to the actual background noise of the solution, because the interface with the main control is not fully activated, and there may be some EMI on the main control side that will only appear in the actual operation of the solution. Therefore, you can consider traversing each channel for testing under the actual solution to see if the operation of each channel is normal. Since this test is not easy to test in a shielded environment, you must first confirm that there is no obvious interference in the environment.
The general test idea is to pull a distance required by a solution, which does not need to be extremely extreme, but it must be far enough away, and the signal is not strong, such as rssi-70dbm, to see the communication situation of each channel. The smoothness of the picture or the packet loss rate of the application layer statistics can be used to evaluate whether each channel can work normally. If it is found that some channels are normal and some channels are obviously stuck, further analysis can be done to determine whether it is caused by external environmental noise interference or board-level noise EMI. If it is caused by board-level EMI, you can see if it is easy to eliminate. If it is easy to eliminate, try to eliminate it to make as many channels as possible available; if it is difficult to eliminate, you can consider deleting this channel from chan_list (note that the chan_list of AP and STA should be consistent, and the bad channels should be deleted synchronously).
The following introduces the method of manually switching channels in the normal solution to implement channel traversal testing. Through the following AT+ commands:
1, AT+CS_EN=0: turn off automatic frequency switching to avoid affecting the test results of manual frequency switching;
2, AT+CS_NUM=xxx: manually set the frequency point of frequency switching, with 700M as the base point, if you want to set the frequency point to 906, it is =206, if you set it to 922, it is =222; step 1Mhz (because the number of bits defined by the protocol is only 8bit, so it can only represent 1M step); after setting CS_NUM, AP will communicate with STA to switch to the frequency point corresponding to CS_NUM after CS_CNT;
3, AT+CS_CNT=10: manually set the countdown beacon cycle number of frequency switching (the default is 10), set AP and STA to synchronously perform frequency switching after 10 beacon cycles, and can maintain connection; these commands are all in AP After all settings are completed, you can see that the frequency is cut successfully after printing for a while, and then observe whether the image is stuck.
1 comment
Where on the AH_NETBRIDGE_V2.1 PCB are the UART pads?
Or which pins on the SOC are the UART pins?