From f36415c1652e5813ac1c480982b9d33d42a936fc Mon Sep 17 00:00:00 2001
From: magesep <1059659339@qq.com>
Date: Tue, 15 Aug 2023 19:23:03 +0800
Subject: [PATCH] update Slogic logic value
---
.../combo8/use_logic_function.md | 166 +++++++++++-------
.../logic_i2c_0x68_write.jpg | Bin 0 -> 89337 bytes
.../use_logic_function/logic_i2c_select.png | Bin 0 -> 71451 bytes
.../use_logic_function/logic_i2c_set.png | Bin 0 -> 87734 bytes
.../use_logic_function/logic_spi_10mhz.jpg | Bin 0 -> 118046 bytes
.../use_logic_function/logic_spi_26mhz.jpg | Bin 0 -> 134201 bytes
.../use_logic_function/logic_spi_select.png | Bin 0 -> 96750 bytes
.../use_logic_function/logic_spi_set.png | Bin 0 -> 121595 bytes
.../use_logic_function/logic_uart_rx.jpg | Bin 0 -> 99112 bytes
.../use_logic_function/logic_uart_select.png | Bin 0 -> 75920 bytes
.../use_logic_function/logic_uart_set.png | Bin 0 -> 94085 bytes
.../use_logic_function/logic_uart_tx.jpg | Bin 0 -> 101492 bytes
.../set_Logic_cfg_of_pulseview.png | Bin 27520 -> 0 bytes
.../combo8/use_logic_function.md | 122 +++++++++----
14 files changed, 189 insertions(+), 99 deletions(-)
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_0x68_write.jpg
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_select.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_set.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_10mhz.jpg
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_26mhz.jpg
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_select.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_set.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_rx.jpg
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_select.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_set.png
create mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_tx.jpg
delete mode 100644 docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/set_Logic_cfg_of_pulseview.png
diff --git a/docs/hardware/en/logic_analyzer/combo8/use_logic_function.md b/docs/hardware/en/logic_analyzer/combo8/use_logic_function.md
index 501f7cc3f3..ed94184e13 100644
--- a/docs/hardware/en/logic_analyzer/combo8/use_logic_function.md
+++ b/docs/hardware/en/logic_analyzer/combo8/use_logic_function.md
@@ -25,86 +25,69 @@ Use the lsusb command to see the USB TO LA USB device appear
## Using USB TO LA
-> Currently, the logic analyzer only supports Linux systems
+> 1. When using the host computer, ensure that the sampling bandwidth does not exceed 320MHz, which means the channel count multiplied by the sampling rate must be less than 320MHz. For example: if the channel count is 8, then the sampling rate can only be set to 40MHz or lower, otherwise it may cause issues with the host software.
+> 2. If there is a disconnection during the startup process of the host software, please rescan and reconnect the device before performing other operations, otherwise it may lead to software crashes.
-Attention!!!
+### Quick Start
-> 1. When using the host computer, ensure that the sampling bandwidth does not exceed 320MHz, i.e., the number of channels * sampling rate must be less than 320MHz. For example, if you set the number of channels to 8, the sampling rate can only be set to 40MHz or lower; otherwise, it may cause host computer malfunctions.
-> 2. If there is a disconnection issue with the device during the host computer's startup process, please rescan and reconnect the device before performing any other operations; otherwise, it may result in software crashes.
-
-### Quick Use
-
-#### Pin sequence
+#### Pin Connections
![slogic_line_order](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/slogic_line_order.png)
-The diagram above shows the pinout for the SLogic 8-channel logic analyzer. Connect the test signals from the target device to any available CH (Channel) port on the SLogic, and ensure that the GND (Ground) of the target device is connected to the GND of the SLogic.
+The above diagram shows the pinout for the 8 channels of SLogic. Connect the target device's test signal points to any available CH port on SLogic, and ensure that the ground of the target device is connected to the ground of SLogic.
+
+#### Download the Host Software
-#### Connect SLogic and Computer
+1. Download the latest version of the [host software](https://dl.sipeed.com/shareURL/SLogic/SLogic_combo_8/4_application/PulseView) for data decoding and visualization.
-You need to download the host computer software for data decoding and visualization from the [here](https://dl.sipeed.com/shareURL/SLogic/SLogic_combo_8/4_application/PulseView).Please make sure to use the latest uploaded version of the software for optimal performance.After downloading, go to the directory where the file is located, use `CTRL+ALT+T` to open the Linux terminal, and enter the following command to **add permissions** and **run** the program **as administrator**::
+2. After downloading, navigate to the directory where the software is located. Open a terminal using the shortcut `CTRL+ALT+T` and use the following command to give the software execution permissions and run it as an administrator:
```bash
chmod +x PulseView-x86_64-032323-1101.AppImage
sudo ./PulseView-x86_64-032323-1101.AppImage
```
-**Connection Steps**
-1. Select the device to connect
-2. Select the driver **Sipeed Slogic Analyzer(sipeed-slogic-analyzer)**
-3. Select the connection mode as USB
-4. Scan for devices that meet the requirements
-5. Select the device that has been found
-
-![set_connect_cfg_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_connect_cfg_of_pulseview.png)
-
-> If no device is found in the third step, you can try to switch the module function, switch back to the logic analyzer mode, and repeat the third step
-### Start Sampling
+### Starting Sampling
-1. Configure the number of channels, number of samples, and sampling rate of PulseView
+1. Configure the channel count, sample count, and sampling rate in PulseView.
-The figure below sets the number of channels to **8**, the number of samples to **1M samples**, and the sampling rate to **10Mhz**
+ _In the following example, the channel count is set to **8**, the sample count is **1M samples**, and the sampling rate is **10MHz**._
+ ![equ_selec_complete_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/equ_selec_complete_of_pulseview.png)
-![equ_selec_complete_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/equ_selec_complete_of_pulseview.png)
+2. Set the trigger type for channel D0 to **Rising/Falling Edge Trigger**.
-2. Set the trigger mode of channel D0 to **rising and falling edge trigger**
+ _Click on the label icon of channel D0 to set the trigger type._
+ ![set_channel_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_channel_of_pulseview.png)
-Click on the label icon of channel D0 to set the trigger mode
+3. Start the capture to obtain the sampling result.
-![set_channel_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_channel_of_pulseview.png)
+ ![waveform_fast_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/waveform_fast_of_pulseview.png)
-3. Start acquisition and get sampling results
-
-![waveform_fast_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/waveform_fast_of_pulseview.png)
+> If you're not using channel D7 during the sampling process, you might observe a level inversion phenomenon on that channel. This phenomenon is normal and does not affect regular usage.
### Detailed Configuration
-#### Channel Settings
-
-Open the **"red probe"** icon in the top toolbar, select the channels you want to enable, and the number of sampling channels for the logic analyzer. The optional options are 1ch, 2ch, 4ch and 8ch. There are also shortcut keys for quick switching of channels that meet the corresponding conditions
-
-![set_Logic_cfg_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_Logic_cfg_of_pulseview.png)
-
#### Sampling Parameters
-Sampling parameters include sample quantity, sampling frequency and sampling time
+Sampling parameters include the sample count, sampling frequency, and sampling time.
-1. Sample quantity: select an appropriate value according to your needs
-2. Sampling frequency: select according to the frequency of the signal to be measured, **recommended to choose more than 10 times the frequency of the signal to be measured**
-3. Sampling time: sampling time is calculated based on the **sample quantity** and **sampling frequency**, the calculation formula is:**Time (seconds) = Number of samples / Sampling rate**For example, when 1M samples and 1Mhz, the sampling time is 1s
+1. Sample Count: Choose an appropriate value for the sample count based on your requirements.
+2. Sampling Frequency: Select a value greater than 10 times the frequency of the signal under test (**recommended** to adhere to Nyquist theorem).
+3. Sampling Time: Calculate the sampling time based on the **sample count** and **sampling frequency** using the formula:**Time (seconds) = Sample Count / Sampling Rate**For example, with 1M samples and 1MHz sampling rate, the sampling time would be 1 second.
-![set_total_sampling_time_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_total_sampling_time_of_pulseview.png)
+ ![set_total_sampling_time_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_total_sampling_time_of_pulseview.png)
-> After setting the sample quantity and sampling frequency, place the mouse over the sample quantity selection box, and it will display the sampling time for the current parameters
+> After setting the sample count and sampling frequency, placing the mouse cursor over the sample count selection box will display the calculated sampling time for the current parameters.
#### Channel Parameters
-Click on the channel label to set the channel parameters, which include label name, label color, channel waveform display window width and signal trigger mode
+Click on a channel's label to set its parameters. Channel parameters include label name, label color, channel waveform display window width, and signal triggering mode.
-1. Label name: can be set according to the meaning of the sampling signal, for easy distinction of multiple signals
-2. Label color: set according to personal preference, for easy distinction of different signals
-3. Channel waveform display window width: set according to the signal amplitude, unit is pixels, when the signal amplitude changes greatly, you can increase this parameter to observe the signal amplitude change
-4. **Signal trigger mode**: has **direct sampling**, **high level trigger**, **low level trigger**, **falling edge trigger**, **rising edge trigger** and **edge trigger**
+1. Label Name: Set based on the meaning of the sampled signal to facilitate distinguishing between multiple signals.
+2. Label Color: Set according to personal preference to differentiate between different signals during multi-signal sampling.
+3. Channel Waveform Display Window Width: Adjust based on the signal amplitude. This value is in pixels. When the signal amplitude changes significantly, increasing this parameter can help observe amplitude changes more clearly.
+4. **Signal Triggering Mode**: Choose from **Direct Sample**, **High Level Trigger**, **Low Level Trigger**, **Falling Edge Trigger**, **Rising Edge Trigger**, and **Edge Trigger**.
+ (Prior to signal collection, there might be many irrelevant signals. Setting the triggering mode based on the signal pattern can effectively filter out irrelevant signals, thereby improving sampling efficiency and accuracy.)
![set_channel_cfg_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_channel_cfg_of_pulseview.png)
@@ -112,34 +95,87 @@ Click on the channel label to set the channel parameters, which include label na
#### View Operations
-> - **Waveform zoom**: mouse wheel (middle button) scroll up to zoom in waveform, scroll down to zoom out waveform
-> - **Drag waveform**: mouse left button hold can drag the waveform display area left and right up and down
-> - **Area zoom**: mouse double click on an area can zoom in the waveform of that area
-> - **Channel scroll**: "waveform display area" use Ctrl+mouse wheel (middle button) can quickly scroll channels up and down
-> - **Time measurement**: You can mark a position by right-clicking on the desired position and clicking "Create Marker Here". When you repeat marking another position, the software will automatically calculate and display the time length between the two markers on the time axis
-> - **Adjust channel order**: mouse drag channel label can drag channel to specified position
+Through view operations, you can observe waveforms in more detail.
![tag_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/tag_of_pulseview.png)
+**Waveform Zoom**: Use the mouse scroll wheel (middle button) to zoom in and out of the waveform.
+**Drag Waveform**: Hold down the left mouse button to drag the waveform display area horizontally and vertically.
+**Region Zoom**: Double-click on a specific region to zoom in on that area of the waveform.
+**Channel Scroll**: In the waveform display area, use Ctrl + mouse scroll wheel (middle button) to quickly scroll the channels up and down.
+**Time Measurement**: You can create marker points by right-clicking the desired position and selecting "Create Marker Here." The software will automatically calculate and display the time length between two marker points on the time axis.
+**Adjust Channel Order**: Drag and drop a channel's label to rearrange the order of channels as needed.
+
#### Protocol Decoding
-> Clicking on the **yellow-blue waveform icon** from the top toolbar will list the currently supported protocol list, you can directly search for the protocol you want to decode on the list to add a new protocol, new protocol can be viewed in the waveform display area
+After capturing the required data, protocol decoding can be used to analyze the data more effectively. Below are the decoding processes for some common protocols.
+
+##### UART Protocol Data Decoding
+
+1. Connect the TX pin of the UART to the D0 channel.
+
+2. Click on the **Yellow and Blue waveform icon** in the top toolbar, search for "UART," and double-click to select the UART option.
+
+ ![uart_select](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_select.png)
+
+3. Click on the **protocol label** of the newly added UART channel in the waveform display window.
+ Set the TX corresponding channel, data format, signal baud rate, and byte order.
+
+ ![uart_set](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_set.png)
+
+4. Capture the data and the decoded result will be displayed:
+
+ Example: UART's TX pin sends data "Hello SLogic!" (ASCII data format, baud rate 115200, little-endian byte order)
+
+ ![uart_tx](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_uart_tx.jpg)
+
+##### I2C Protocol Data Decoding
+
+1. Connect the SCL pin of the I2C to the D0 channel and the SDA pin to the D1 channel.
+
+2. Click on the **Yellow and Blue waveform icon** in the top toolbar, search for "I2C," and double-click to select the first option.
+
+ ![i2c_select](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_select.png)
+
+3. Click on the **protocol label** of the newly added I2C channel in the waveform display window.
+ Click on the added I2C **protocol label** and set the SCL and SDA channels.
+
+ ![i2c_set](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_set.png)
+
+4. Capture the data and the decoded result will be displayed:
+
+ Example: I2C sends 0x68
+
+ ![i2c_value](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_0x68_write.jpg)
+
+##### SPI Protocol Data Decoding
+
+1. Connect the MISO, MOSI, CLK, and CS pins of the SPI to the D0, D1, D2, and D3 channels respectively.
+
+2. Click on the **Yellow and Blue waveform icon** in the top toolbar, search for "SPI," and double-click to select the SPI option.
+
+ ![spi_select](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_select.png)
+
+3. Click on the **protocol label** of the newly added SPI channel in the waveform display window.
+ Set the CLK, MISO, MOSI, and CS corresponding channels, and specify the active level of the chip select signal.
+
+ ![spi_set](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_set.png)
-![decoder_selector_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/decoder_selector_of_pulseview.png)
+4. Capture the data and the decoded result will be displayed:
-> On the waveform chart, a new protocol will occupy a row of channel waveform display window, click on the **protocol label**, you can set the basic parameters of the protocol. Taking UART protocol as an example, set UART protocol frequency to 115200, data bits to 8 bits, use ascii format decoding. After setting, the system will decode the waveform of the selected channel, so that you can more intuitively observe and analyze the communication data.
+ Example: SPI sends 0x00~0x09 (clock 10MHz, low-active chip select)
-![set_decoder_cfg_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/set_decoder_cfg_of_pulseview.png)
+ ![spi_10mhz](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_10mhz.jpg)
-> After setting, the waveform display area will show the corresponding protocol decoding results of the waveform
+ Example: SPI sends 0x00~0x09 (clock 26MHz, low-active chip select)
-![value_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/value_of_pulseview.png)
+ ![spi_26mhz](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/logic_spi_26mhz.jpg)
### Precautions
-When connecting logic analyzer to test system, pay attention to the following points:
+When connecting the logic analyzer to the system under test, please note the following precautions:
-1. **The logic analyzer and computer are grounded together. If the device under test is a strong electric system, be sure to use a "USB isolator" for isolation measures. Otherwise, there is a high risk of damaging the logic analyzer or computer**
-2. GND channel and GND of test system must be reliably connected, as short as possible
-3. Signal channel must be reliably connected to the test signal position of test system, not randomly "grafted", causing interference introduction
-4. If you do not pay attention to wiring method, it may introduce a lot of glitches, causing software unable to analyze data
\ No newline at end of file
+1. The logic analyzer shares a common ground with the computer. If the system under test is a high-voltage system, be sure to use a "USB isolator" for isolation. Otherwise, there is a risk of damaging the logic analyzer or computer.
+2. The GND channel must be reliably connected to the ground of the system under test and kept as short as possible.
+3. The signal channels must be securely connected to the test points of the system under test. Avoid haphazard "tapping" that could introduce interference.
+4. Improper wiring may introduce glitches that could prevent proper data analysis in the software.
diff --git a/docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_0x68_write.jpg b/docs/hardware/zh/logic_analyzer/combo8/assets/use_logic_function/logic_i2c_0x68_write.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..65316368537afccefd4c446fb760c3c8909b90bd
GIT binary patch
literal 89337
zcmeFZ1y~$Q*DgA^LvRQhBzOq!7J`Rh!7Tw2EQ1D@K>`F1p5X58F2NzV1$TG%;Wo*)
z_s;(Qd;Gumocr88JUw(xcUP_T*0Nev)ptMc7C;YVC1oT*Ffbqx4DbiKn+A!45aAIJ
z5#SLK5fG7(5Rp+IprWFnpyFX-p+6wRBO)TiBOrK4MoaOKgqoCqfRdS#`Y{~?BLgu7
z%TpHmr?m78^!Js(AR!^4BBSD>qT
wKm56C24N$^=D>f0gP{V!V#B~;!`!uj
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