Design method of ink screen electronic price tag with low power consumption and anti-interference
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-10
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]为解决上述技术问题,提供低功耗抗干扰的墨水屏电子价签设计方法,本技术方案解决了上述的现有墨水屏电子价签的固定周期唤醒侦听机制,易因信道干扰出现前导码误判、数据包丢包,引发无效唤醒与重复重传,增加设备功耗;同时数据接收与屏幕刷新同步执行易出现刷新失败,重传调度自适应能力不足,难以平衡复杂环境下的通信可靠性与功耗控制的问题
本发明提出的墨水屏电子价签设计方法,通过分级唤醒与前导码预匹配的管控逻辑,大幅缩减无效唤醒时长,非工作时段快速进入深度休眠,同时将数据接收与墨水屏刷新流程解耦,避免刷新驱动电路的无效上电,有效降低设备全周期运行功耗,延长终端使用寿命,通过信道干扰实时检测、自适应随机退避与编码冗余度动态调整的闭环机制,提升密集部署场景下的通信抗干扰能力,降低数据包丢包概率,减少重复重传带来的额外功耗与传输延迟,同时采用集中刷新指令触发与超时兜底刷新的双重设计,避免传输异常导致的刷新失败,提升终端运行可靠性,适配批量终端集中管控需求,降低规模化部署后的运维成本。
Smart Images

Figure CN122554931A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, specifically to a design method for a low-power, interference-resistant e-ink electronic price tag. Background Technology
[0002] E-ink electronic shelf labels are core terminal devices for digital management in smart retail, warehousing, and logistics scenarios. Leveraging the characteristics of e-ink screens—maintaining display even when powered off, low power consumption, and visual friendliness—and combined with wireless communication technology, they enable remote batch updates of product information and warehouse data. They have already achieved large-scale application in supermarkets, unmanned retail, and industrial warehousing. As deployment scale continues to expand, the battery life of the shelf label terminals and communication stability in complex electromagnetic environments have become key indicators restricting the optimization of this technology's implementation. The industry has a continuous need for optimization of shelf label designs that combine low power consumption and strong anti-interference capabilities.
[0003] Current mainstream e-ink electronic shelf label solutions mostly employ fixed-cycle wake-up monitoring and data transmission mechanisms. In complex electromagnetic environments with dense deployments of multiple devices, these mechanisms are prone to problems such as preamble misinterpretation and data packet reception failure due to channel interference, leading to invalid wake-ups and repeated retransmissions, increasing device power consumption. Furthermore, existing solutions often synchronize data reception and screen refresh, making them susceptible to refresh failures due to transmission anomalies. The retransmission scheduling mechanism also lacks sufficient adaptive capability, making it difficult to balance communication reliability and power consumption control in interference environments, and thus failing to fully meet the long-term stable operation requirements of large-scale deployment scenarios. To address these issues, we propose a low-power, interference-resistant e-ink electronic shelf label design method. Summary of the Invention
[0004] To address the aforementioned technical issues, this technical solution provides a low-power, anti-interference design method for e-ink electronic price tags. This solution overcomes the limitations of existing e-ink electronic price tags' fixed-period wake-up and listening mechanisms, which are prone to preamble misjudgment and data packet loss due to channel interference, leading to invalid wake-ups and repeated retransmissions, thus increasing device power consumption. Furthermore, the synchronous execution of data reception and screen refresh is prone to refresh failures, and the retransmission scheduling adaptive capability is insufficient, making it difficult to balance communication reliability and power consumption control in complex environments.
[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows: A low-power, interference-resistant e-ink screen electronic shelf label design method includes the following steps: S1. The price tag wakes up at a preset period and listens for the anti-interference coding preamble broadcast by the base station within a preset wake-up window to determine whether the preamble matches. If it matches, it remains awake; otherwise, it enters deep sleep. S2. The price tag remains in a wake-up state, receives the complete data packet sent by the base station, sends an acknowledgment frame back to the base station after receiving the data packet, stores the data packet in the local non-volatile buffer, and does not perform e-ink screen refresh operation; S3. When the price tag fails to receive a data packet, collect the channel RSSI value and noise variance within the current wake-up window, calculate the local interference intensity, match the corresponding random backoff duration according to the interference intensity, and send a retransmission request to the base station after the backoff is completed; the base station adjusts the coding redundancy of the next round of broadcast according to the number of retransmission requests received. S4. The base station collects confirmation frames of the target price tag within a preset time window, and broadcasts a refresh instruction after completing the retransmission process. After receiving the refresh instruction, the price tag retrieves the locally cached data packets to drive the e-ink screen refresh. If the refresh instruction is not received within a preset time, the refresh is performed after the local timeout timer is triggered.
[0006] Preferably, determining whether the preamble matches specifically involves: After the price tag is woken up, unnecessary peripherals and functional modules are turned off, leaving only the RF receiver module and system clock running, and the RF receiver module is configured to low power time-slot listening mode. The standard sequence of the anti-interference coding preamble, the correlation matching threshold, and the time slot interval for time slot listening are preset. Within the wake-up window, the radio frequency receiving module is periodically activated according to a preset time slot interval to collect the baseband signal in the channel; Synchronous acquisition is performed on the acquired baseband signal, and the received preamble sequence is extracted; Calculate the correlation coefficient between the received preamble sequence and the standard sequence; The correlation value is compared with the preset correlation matching threshold to determine the preamble matching result.
[0007] Preferably, the switching of the working state based on the preamble matching result is as follows: When the current preamble matching result is determined to be a match, the RF receiving module remains continuously powered on, the system clock frequency is maintained, and the wake-up state is maintained. If the current precode matching result is determined to be a mismatch, the RF receiving module will be immediately shut down, and the baseband signal acquisition and processing process will be stopped. Configure the system clock to the lowest sleep frequency, shut down all unnecessary peripherals and functional modules, and enter deep sleep mode; Load the preset wake-up cycle parameters, configure the overload value of the sleep timer, and start the sleep timer; After the sleep timer is triggered, the next cycle wake-up process is executed.
[0008] Preferably, the price tag remains in a wake-up state to receive complete data packets sent by the base station. This process is only performed if the preamble is successfully matched and the price tag is in a continuously wake-up state. Throughout the data packet reception and storage process, the e-ink screen refresh driver circuit remains in a power-off locked state and no e-ink screen refresh-related operations are performed.
[0009] Preferably, receiving the complete data packet sent by the base station and replying with an acknowledgment frame to the base station after receiving it specifically involves: Preset standard frame structure, address verification rules, and cyclic redundancy check rules for data packets; It continuously receives baseband data from the base station, completes frame synchronization according to the standard frame structure, and extracts the received data packets; Perform a destination address matching check on the received data packet; if the check fails, discard the received data packet. After the address verification passes, a cyclic redundancy check is performed on the received data packet; if the verification fails, the received data packet is discarded. After the cyclic redundancy check passes, it is determined that the data packet reception is complete, and an acknowledgment frame with a unique price tag identifier and data packet sequence number is generated; Configure the radio frequency module to transmit mode and send acknowledgment frames to the base station within the preset uplink time slot.
[0010] Preferably, storing data packets in a local non-volatile cache specifically involves: Parse the received data packets to extract the sequence number, data length, and payload content. Allocate contiguous memory addresses in local non-volatile memory that match the data length; Write the sequence number and payload content of the data packet to the allocated storage address; After writing is complete, the written data is read back from the storage address and compared with the corresponding content of the original received data packet; If the comparison matches, the data packet storage is completed, and the mapping relationship between the data packet sequence number and the storage address in the local cache directory is updated; If the comparison is inconsistent, the data packet writing operation is re-executed until the comparison is consistent upon readback.
[0011] Preferably, the local interference intensity is calculated, and the corresponding random backoff time is matched according to the interference intensity, specifically as follows: After a data packet reception failure, the channel parameter acquisition process is triggered, and a fixed number of acquisition time slots are divided within the current wake-up window. In each acquisition time slot, the received signal strength indication value of the channel is acquired. After the acquisition of all time slots is completed, smoothing filtering is performed on all acquired received signal strength indication values to obtain the channel RSSI value. Within each acquisition time slot, baseband noise samples of the channel are acquired, and the variance of all noise samples is calculated to obtain the channel noise variance. A preset interference intensity quantization calculation model is used. The channel RSSI value and channel noise variance are input into the quantization calculation model, and the local interference intensity value is output. The system pre-defines the rules for classifying interference intensity levels and the corresponding random backoff time intervals for each level. It then compares the local interference intensity values with the classification rules to determine the corresponding interference intensity level. Within the corresponding level's random backoff duration range, generate a unique random backoff duration value, configure the backoff timer's timing value, and start the backoff timer.
[0012] Preferably, after the backoff is completed, a retransmission request is sent to the base station. The base station adjusts the coding redundancy of the next round of broadcast based on the number of received retransmission requests. Specifically: After the backoff timer is triggered, a retransmission request frame is generated with a unique price tag identifier, the sequence number of the lost data packet, and the local interference intensity value. Configure the radio frequency module to transmit mode and send the retransmission request frame to the base station within the preset uplink retransmission time slot; Within a preset retransmission request collection window, the base station continuously receives retransmission request frames sent by each price tag and counts the total number of valid retransmission requests. A pre-defined retransmission request number threshold and coding redundancy mapping rule is established. The total number of valid retransmission requests obtained by statistics is compared with the number threshold to determine the corresponding coding redundancy level. The determined coding redundancy level is configured as the coding parameter for the next round of packet broadcasting, thus completing the adaptive adjustment of coding redundancy.
[0013] Preferably, the broadcast refresh command after the retransmission process is completed is as follows: The base station has a preset time window for collecting confirmation frames, a target price tag list, and a maximum number of times the retransmission process can be executed. Within the confirmation frame collection time window, continuously receive confirmation frames sent by the target price tag and update the data packet reception status of the corresponding price tag in the target price tag list; After the confirmation frame collection time window ends, check the data packet reception status of all tags in the target tag list and count the number of tags that have not completed data packet reception; If the number of unreceived price tags is not zero and the number of retransmission attempts has not reached the maximum number of attempts, the next round of data packet retransmission will be initiated. When the number of unreceived price tags is zero or the number of retransmissions reaches the maximum number of executions, the retransmission process is deemed complete, and a refresh instruction frame with the target price tag list identifier is generated. Within the preset broadcast time slot, the refresh instruction frame will be executed to perform multiple rounds of continuous broadcasting.
[0014] Preferably, S4 further includes: Price tag preset refresh instruction verification rules, local timeout timer duration, and e-ink screen refresh driver parameters; The price tag continuously receives downlink data broadcast by the base station while in wake-up mode, extracts the received instruction frames, and performs address matching and format verification on the instruction frames; When the verification passes and it is determined to be a refresh instruction frame, the power-off lockout state of the e-ink screen refresh driver circuit is turned off, and the power supply to the driver circuit is turned on. The payload content of the corresponding data packet is retrieved from the local non-volatile cache, and the payload content is written into the e-ink screen driver chip according to the preset driver parameters to start the e-ink screen refresh process. After the e-ink screen refresh process is completed, the power supply to the driver circuit is turned off, the power-off lock state is restored, and the system is configured to enter deep sleep mode. If a valid refresh instruction frame is not received within the preset time, the local timeout timer is triggered, the e-ink screen refresh process is executed, and the system is configured to enter a deep sleep state after the refresh is completed.
[0015] Compared with the prior art, the beneficial effects of the present invention are as follows: The e-ink screen electronic price tag design method proposed in this invention significantly reduces the invalid wake-up time through hierarchical wake-up and preamble pre-matching control logic, allowing the device to quickly enter deep sleep during non-working periods. Simultaneously, it decouples data reception from the e-ink screen refresh process, avoiding invalid power-ups to the refresh driver circuit, effectively reducing the device's total power consumption and extending terminal lifespan. Through a closed-loop mechanism of real-time channel interference detection, adaptive random backoff, and dynamic adjustment of coding redundancy, it enhances communication anti-interference capabilities in densely deployed scenarios, reduces the probability of data packet loss, and minimizes the additional power consumption and transmission delay caused by repeated retransmissions. Furthermore, the dual design of centralized refresh command triggering and timeout fallback refresh avoids refresh failures caused by transmission anomalies, improving terminal operational reliability, adapting to the centralized management needs of batch terminals, and reducing maintenance costs after large-scale deployment. Attached Figure Description
[0016] Figure 1 This is a flowchart of the design method for the e-ink screen electronic price tag of the present invention. Detailed Implementation
[0017] The following description is intended to disclose the invention and enable those skilled in the art to implement it. The preferred embodiments described below are merely examples, and other obvious variations will occur to those skilled in the art.
[0018] Reference Figure 1 As shown, the design method for a low-power, interference-resistant e-ink screen electronic price tag includes the following steps: S1. The price tag wakes up according to a preset cycle, ranging from 1 second to 3600 seconds. This cycle is set based on the frequency of price updates in retail scenarios and the balance between the price tag's battery capacity and expected lifespan. A longer cycle of 300 to 3600 seconds is used for regular static pricing scenarios, while a shorter cycle of 1 to 300 seconds is used for promotional price adjustments. Within the preset wake-up window, the system listens for the anti-interference coding preamble broadcast by the base station. The wake-up window duration is... The calculation formula is:
[0019] in To ensure the duration of continuous transmission of the anti-interference coding preamble, The time slot interval for time-slotted listening ensures that the wake-up window fully covers at least one preamble transmission cycle and one listening time slot, preventing preamble misses. It checks if the preamble matches; if it matches, the system remains awake; otherwise, it enters deep sleep mode. The specific steps to determine if the preamble matches are as follows: After the price tag is woken up, unnecessary peripherals and functional modules are turned off, leaving only the RF receiver module and system clock running, and the RF receiver module is configured to low power time-slot listening mode. The standard sequence of the anti-interference coding preamble, the correlation matching threshold, and the time slot interval for time slot-based monitoring are preset. The standard sequence of the anti-interference coding preamble is generated by concatenating an m-sequence and a Gold sequence. First, an m-sequence of order 12 is generated, with the primitive polynomial being... A basic pseudo-random sequence with a period of 4095 bits is generated. Then, two sets of Gold sequences generated by primitive polynomials are XORed and concatenated with the basic m-sequence to finally generate a standard preamble sequence with a length of 512 bits. The sequence has good autocorrelation and cross-correlation characteristics, reducing the probability of misjudgment caused by multipath interference and co-frequency interference.
[0020] In the time-slotted listening mode, the typical time slot interval is 10ms to 100ms. The single-time activation duration of the RF receiver module is 100μs to 2ms, corresponding to a duty cycle range of 0.1% to 20%. The adjustment rule is as follows: when no matching preamble is detected within three consecutive wake-up cycles, the time slot interval is increased by 20% in increments, and the duty cycle is decreased to reduce power consumption. When the detected preamble correlation value is close to the matching threshold but not yet met, the time slot interval is decreased by 20% in increments, and the duty cycle is increased to improve the preamble acquisition probability. The correlation matching threshold is determined by combining theoretical derivation with actual channel measurements. The theoretical derivation formula is:
[0021] in, This is the relevance matching threshold. The autocorrelation peak of the standard preamble sequence, The standard deviation of the channel's white Gaussian noise is used. In practical applications, channel measurements are performed in typical commercial scenarios, collecting over 1000 noise correlation samples under different interference environments. Samples with a false detection rate lower than [value missing] are selected. The false negative rate is lower than The corresponding relevance value is used as the final relevance matching threshold, typically ranging from 65% to 75% of the peak relevance value.
[0022] Within the wake-up window, the RF receiving module is periodically activated according to a preset time slot interval to acquire baseband signals within the channel. The typical activation duration of the RF receiving module is 500 μs, and the sampling rate is set to four times the preamble symbol rate, with a typical symbol rate of 100 kbps, corresponding to a sampling rate of 400 kbps. The baseband signal processing flow is as follows: after the RF receiving module is activated, the received signal is first down-converted to obtain a zero-IF baseband signal. Then, DC offset cancellation and quadrature imbalance correction are performed on the baseband signal. After preprocessing the baseband signal, sampling is performed. During channel acquisition, adjacent channel interference is suppressed by the second-order active RC low-pass filter built into the RF receiving module. The filter cutoff frequency is set to 1.2 times the signal bandwidth. Simultaneously, an image frequency suppression mixer structure is used, in conjunction with a front-end surface acoustic wave filter, to increase the image frequency rejection ratio to over 45 dB, avoiding the impact of image frequency interference on baseband signal acquisition.
[0023] Synchronization acquisition is performed on the acquired baseband signal to extract the received preamble sequence. Synchronization acquisition is implemented using a sliding correlation detection algorithm. First, the acquired baseband signal is downsampled according to the sampling rate to obtain a baseband sampling sequence that matches the symbol rate of the standard preamble sequence. The length of the standard preamble sequence is used as the sliding window length, and the baseband sampling sequence is slid symbol by symbol. After sliding one symbol position, the correlation value between the sequence in the current window and the standard preamble sequence is calculated. After traversing all sliding positions, the sequence corresponding to the peak point of the correlation value is selected as the received preamble sequence. At the same time, the symbol synchronization position of the preamble is locked to complete the synchronization acquisition.
[0024] Calculate the correlation coefficient between the received preamble sequence and the standard sequence; The correlation value is compared with the preset correlation matching threshold to determine the preamble matching result.
[0025] The specific steps for switching the working state based on the preamble matching result are as follows: When the current preamble matching result is determined to be a match, the RF receiving module remains continuously powered on, the system clock frequency is maintained, and the wake-up state is maintained. If the current precode matching result is determined to be a mismatch, the RF receiving module will be immediately shut down, and the baseband signal acquisition and processing process will be stopped. Configure the system clock to the lowest sleep frequency, shut down all unnecessary peripherals and functional modules, and enter deep sleep mode; Load the preset wake-up cycle parameters, configure the overload value of the sleep timer, and start the sleep timer; After the sleep timer is triggered, the next cycle wake-up process is executed.
[0026] S2. The price tag remains in a wake-up state, receives the complete data packet sent by the base station, sends an acknowledgment frame back to the base station after receiving the data packet, stores the data packet in the local non-volatile buffer, and does not perform e-ink screen refresh operation; The price tag remains in a wake-up state to receive complete data packets sent by the base station. This process is only performed if the preamble is successfully matched and the price tag is in a continuously wake-up state. Throughout the data packet reception and storage process, the e-ink screen refresh driver circuit remains in a power-off locked state and does not perform any e-ink screen refresh-related operations.
[0027] The process of receiving a complete data packet from the base station and then replying with an acknowledgment frame to the base station after receiving the packet is as follows: The standard frame structure, address verification rules, and cyclic redundancy check rules for the preset data packets are defined as follows: the standard frame structure of the data packets consists of a frame header synchronization word, an address field, a control field, a data field, and a check field, in the order of transmission. The frame header synchronization word is 2 bytes long and uses a fixed encoding of 0xAA55 for frame synchronization locking. The address field is 8 bytes long and contains the destination address field. The control field is 1 byte long and contains the data packet sequence number, frame type identifier, and high-order data length information. The data field is 0 to 256 bytes long and is used to carry the valid image data and configuration parameters for price tag refresh. The check field is 2 bytes long and is used to carry the cyclic redundancy check result.
[0028] The address field uses UTF-8 encoding, the control and data fields use binary encoding, and the frame header synchronization word and check field use fixed hexadecimal encoding. In the address verification rules, the unicast address is the globally unique hardware address of the price tag. The matching logic is that the address field content of the received data packet is completely consistent with the unique hardware address stored locally on the price tag, indicating that the address verification is successful. The multicast address is a preset scenario group address; when the highest bit of the address field is 1, it is identified as a multicast address. The matching logic is that when the multicast address of the received data packet matches any address in the group address list added locally to the price tag, the address verification is successful. The multicast address wildcard uses a mask matching method; the last 4 bytes of the address field are mask bits, and the address bits corresponding to mask bits of 0 do not participate in the matching verification. The broadcast address is a fixed full address 0xFFFFFFFFFFFFFFFF; all data packets from the broadcast address are considered to have passed address verification. Cyclic redundancy check uses the CRC16-CCITT standard, and the generator polynomial is:
[0029] The initial value for the checksum calculation is 0xFFFF. The calculation range covers all bytes of the address field, control field, and data field. After the calculation is completed, the result is filled into the checksum field in the order of low byte first and high byte last.
[0030] It continuously receives baseband data from the base station, completes frame synchronization according to the standard frame structure, and extracts the received data packets; Perform a destination address matching check on the received data packet; if the check fails, discard the received data packet. After the address verification passes, a cyclic redundancy check is performed on the received data packet; if the verification fails, the received data packet is discarded. After the cyclic redundancy check passes, it is determined that the data packet reception is complete, and an acknowledgment frame with a unique price tag identifier and data packet sequence number is generated; Configure the radio frequency module to transmit mode and send acknowledgment frames to the base station within the preset uplink time slot.
[0031] Storing data packets in the local non-volatile cache specifically involves: Parse the received data packets to extract the sequence number, data length, and payload content. A contiguous storage address matching the data length is allocated in the local non-volatile memory. The local non-volatile cache uses ferroelectric random access memory. Before the write operation, the write enable switch of the memory is first turned on, and the hardware write protection mechanism is triggered to unlock the process. The data write operation can only be performed after the unlock verification is passed. During the write process, the built-in power failure protection circuit maintains power supply through the energy storage capacitor. When the system power supply voltage is detected to be lower than 2.5V, the current write operation is immediately terminated to protect the integrity of the written data and avoid data corruption.
[0032] Write the sequence number and payload content of the data packet to the allocated storage address; After writing is complete, the written data is read back from the storage address and compared with the corresponding content of the original received data packet; If the comparison matches, the data packet storage is completed, and the mapping relationship between the data packet sequence number and the storage address in the local cache directory is updated; If the comparison is inconsistent, the data packet writing operation is re-executed until the readback comparison is consistent. After the readback consistency comparison fails, the data packet writing operation is re-executed. The preset maximum number of write retries is 3. If the readback comparison is still inconsistent after 3 consecutive write operations, it is determined to be a memory write failure. The current write process is terminated, a local fault log is generated, and a fault reporting frame is sent to the base station. Then, the memory power supply is turned off, and the system enters a deep sleep state, waiting for the next wake-up cycle to re-execute the data reception and write process.
[0033] S3. When the price tag fails to receive a data packet, collect the channel RSSI value and noise variance within the current wake-up window, calculate the local interference intensity, match the corresponding random backoff duration according to the interference intensity, and send a retransmission request to the base station after the backoff is completed; the base station adjusts the coding redundancy of the next round of broadcast according to the number of retransmission requests received. Calculate the local interference strength, and match the corresponding random backoff time based on the interference strength as follows: After a data packet reception failure, the channel parameter acquisition process is triggered, and a fixed number of acquisition time slots are divided within the current wake-up window. The fixed number of acquisition time slots is preset to 16, the duration of each acquisition time slot is 1ms, the number of sampling points in each time slot is 32, and the sampling rate is set to 32kHz to ensure full coverage of the channel bandwidth. During the acquisition process, the transient states of the radio frequency module being turned on and off are avoided, and the sampling operation is only performed in the middle of the stable phase of each acquisition time slot.
[0034] Within each acquisition time slot, the received signal strength indication (RSSI) value of the channel is acquired. After completing the acquisition across all time slots, a smoothing filter is applied to all acquired RSSI values to obtain the channel RSSI value. The smoothing filter uses an exponentially weighted moving average algorithm, the expression of which is:
[0035] in, The filtered channel RSSI value. The received signal strength indicator sample value for the current acquisition time slot. This is the RSSI value after filtering in the previous time slot. The weighting coefficient is typically 0.3. The sliding filter window length is set to 16, which is consistent with the number of acquisition time slots. After iterative filtering of the full window sample values, the final channel RSSI value is output.
[0036] Within each acquisition time slot, baseband noise samples of the channel are acquired, and the variance of all noise samples is calculated to obtain the channel noise variance. The formula for calculating the channel noise variance is:
[0037] Where N is the total number of noise samples, Let be the amplitude of the i-th baseband noise sample. The mean of all noise samples is the output after calculation. This is the channel noise variance.
[0038] A preset interference intensity quantization calculation model is used. The channel RSSI value and channel noise variance are input into the quantization calculation model, and the local interference intensity value is output. The mathematical expression of the interference intensity quantization calculation model is:
[0039] in, The signal-to-interference-plus-noise ratio (SI) is the channel signal-to-interference-plus-noise ratio (SIRR), and RSSI is the filtered received signal strength indication value, in dBm. The channel noise floor power is calculated from the channel noise variance and is expressed in dBm. The interference signal power is calculated from the difference between the RSSI and the received useful signal power, in dBm. I is the final output local interference strength value, in dB. The larger the value, the stronger the channel interference.
[0040] The system pre-defines the interference intensity level classification rules and the corresponding random backoff time intervals for each level. It compares the local interference intensity value with the classification rules to determine the corresponding interference intensity level. The interference intensity levels are divided into four levels: Level 1 corresponds to an interference intensity value less than 5dB, with a random backoff time interval of 0ms to 10ms. The upper and lower bounds of this interval are set based on the low collision probability under low interference conditions, using a short backoff time to reduce retransmission delay. Level 2 corresponds to an interference intensity value of 5dB to 15dB, with a random backoff time interval of 10ms to 50ms. Level 3 corresponds to an interference intensity value of 15dB to 25dB, with a random backoff time interval of 50ms to 200ms. Level 4 corresponds to an interference intensity value greater than or equal to 25dB, with a random backoff time interval of 200ms to 1000ms. Under high interference conditions, a long backoff interval is used to significantly reduce the collision probability of multiple tags being sent simultaneously. The upper and lower bounds of the intervals are set based on the measured channel collision probability results under the corresponding interference level, ensuring a retransmission request success rate higher than 95%.
[0041] Within the corresponding level's random backoff duration range, generate a unique random backoff duration value, configure the backoff timer's timing value, and start the backoff timer.
[0042] After the backoff is completed, a retransmission request is sent to the base station. The base station adjusts the coding redundancy of the next round of broadcast based on the number of received retransmission requests. After the backoff timer is triggered, a retransmission request frame is generated, containing a unique price tag identifier, the sequence number of the lost data packet, and the local interference intensity value. The standard frame structure of the retransmission request frame, in the transmission order, consists of a frame synchronization word, a unique price tag identifier field, a lost data packet sequence number field, an interference intensity value field, and a check field. The frame synchronization word is 2 bytes long and is fixedly encoded as 0x55AA. The unique price tag identifier field is 8 bytes long and uses a globally unique hardware address encoding consistent with the data packet address field. The lost data packet sequence number field is 1 byte long and is located in the 11th byte of the frame structure, used to identify the sequence number of the lost data packet. The local interference intensity value field is 1 byte long and uses 8-bit unsigned quantization encoding with a quantization step size of 0.5dB and a quantization range of 0dB to 127dB. The check field is 2 bytes long and uses the same CRC16-CCITT check standard as the data packet.
[0043] The radio frequency module is configured to transmit mode, and retransmission request frames are sent to the base station within the preset uplink retransmission time slot. The uplink retransmission time slot adopts an access mechanism combining time slot ALOHA and carrier sense multiple access. The base station divides the uplink retransmission time slot into 32 equal-length sub-time slots, each with a duration of 2ms. After generating a random backoff duration, the price tag is mapped to the corresponding sub-time slot number according to the backoff duration value. The retransmission request frame transmission operation is only performed within the mapped sub-time slot. Before transmission, a 200μs carrier sense is performed. If other uplink signals are detected in the channel, the transmission operation of the current sub-time slot is abandoned, and the transmission is postponed to the next idle sub-time slot to avoid signal collisions caused by multiple price tags being transmitted at the same time.
[0044] Within a preset retransmission request collection window, the base station continuously receives retransmission request frames sent by each price tag and counts the total number of valid retransmission requests. A pre-defined retransmission request number threshold and coding redundancy mapping rule are established. The total number of valid retransmission requests is compared with the threshold to determine the corresponding coding redundancy level. The base station adjusts the coding redundancy using a forward error correction coding rate adaptive adjustment method. The forward error correction coding adopts a convolutional code coding scheme with a constraint length of 7 and a base code rate of 1 / 2. The coding redundancy level is divided into 4 levels: Level 1 corresponds to a base code rate of 1 / 2 and a redundancy of 100%, which is suitable for low-interference scenarios with no retransmission requests; Level 2 corresponds to a code rate of 1 / 3 and a redundancy of 200%; Level 3 corresponds to a code rate of 1 / 4 and a redundancy of 300%; and Level 4 corresponds to a code rate of 1 / 8 and a redundancy of 700%, which is suitable for strong-interference scenarios with high retransmission requests. The mapping table between the retransmission request number threshold and the coding redundancy level is as follows: when the total number of valid retransmission requests is 0, it corresponds to level 1; when the total number of valid retransmission requests is 1 to 10, it corresponds to level 2; when the total number of valid retransmission requests is 11 to 50, it corresponds to level 3; and when the total number of valid retransmission requests is greater than 50, it corresponds to level 4.
[0045] The determined coding redundancy level is configured as the coding parameter for the next round of data packet broadcasting, completing the adaptive adjustment of coding redundancy. After the coding redundancy is adjusted, the broadcast data packets are encoded using convolutional codes with the corresponding code rate, and a block interleaving scheme is adopted. The interleaving depth is set to 16 bytes. The encoded symbols are written into the interleaving matrix row by row, read out column by column, and then broadcast to reduce the impact of sudden interference on data packet transmission.
[0046] S4. The base station collects confirmation frames of the target price tag within a preset time window, and broadcasts a refresh instruction after completing the retransmission process. After receiving the refresh instruction, the price tag retrieves the locally cached data packets to drive the e-ink screen refresh. If the refresh instruction is not received within a preset time, the refresh is performed after the local timeout timer is triggered.
[0047] The specific broadcast refresh command after the retransmission process is completed is as follows: The base station has a preset time window for collecting confirmation frames, a target price tag list, and a maximum number of times the retransmission process can be executed. Within the confirmation frame collection time window, continuously receive confirmation frames sent by the target price tag and update the data packet reception status of the corresponding price tag in the target price tag list; After the confirmation frame collection time window ends, check the data packet reception status of all tags in the target tag list and count the number of tags that have not completed data packet reception; If the number of unreceived price tags is not zero and the number of retransmission attempts has not reached the maximum number of attempts, the next round of data packet retransmission will be initiated. When the number of unreceived price tags is zero or the retransmission process reaches its maximum execution count, the retransmission process is considered complete, and a refresh instruction frame with a target price tag list identifier is generated. The standard frame structure of the refresh instruction frame consists of a frame synchronization word, an instruction type identifier field, a target price tag list field, and a check field. The frame synchronization word is 2 bytes long and has a fixed encoding of 0xAA55. The instruction type identifier field is 1 byte long and has a fixed encoding of 0x01, indicating a refresh instruction. The target price tag list field uses bitmap encoding, with each bit corresponding to a group number of a target price tag. A bit value of 1 indicates that the price tags in the corresponding group need to be refreshed. The length of the target price tag list field can be dynamically adjusted according to the number of target price tags, with a typical length of 8 bytes. The check field is 2 bytes long and uses the CRC16-CCITT check standard, with the calculation range covering the entire contents of the instruction type identifier field and the target price tag list field.
[0048] Within the preset broadcast time slots, the refresh command frame will be broadcast continuously in multiple rounds. The preset number of repetitions for the multiple rounds of continuous broadcasting is 8, with an interval of 10ms between each round. During the broadcast, a fixed transmission power and encoding parameters are used to ensure that all tags in the awakened state can stably receive the refresh command frame.
[0049] The price tag preset refresh instruction verification rules, local timeout timer duration, and e-ink screen refresh driver parameters; the preset duration of the local timeout timer ranges from 500ms to 5000ms, with a typical value of 2000ms. The duration is determined by a comprehensive calculation based on the base station confirmation frame collection window duration, the maximum number of retransmission process executions, and the maximum duration of a single retransmission process. The calculation formula is as follows:
[0050] in, The duration of the base station confirmation frame collection window. This is the maximum number of times the retransmission process can be executed. This represents the maximum duration of a single retransmission process. To protect the duration, a typical value of 500ms is used to compensate for communication delays and base station processing time. The local timeout timer uses a low-speed external crystal oscillator of 32.768kHz as the clock source. Clock drift compensation adopts a digital compensation method. Within each wake-up cycle, the timing frequency of the local timer is calibrated according to the synchronization clock of the base station broadcast preamble, keeping the clock drift within ±10ppm to avoid refresh timing errors caused by timer timing errors. The e-ink screen refresh driver parameters include drive voltage amplitude, refresh timing parameters, waveform lookup table, temperature compensation coefficient, and refresh mode configuration. The drive voltage amplitude is set to ±15V to adapt to the driving requirements of mainstream e-ink screens. The refresh timing parameters include stage drive duration, pulse width, and interval, all set according to the e-ink screen driver chip's specifications. The waveform lookup table is stored in local non-volatile memory and contains drive waveform data corresponding to full refresh mode and partial refresh mode. The temperature compensation coefficient is matched by the ambient temperature collected by the built-in temperature sensor. When the ambient temperature is below 5℃, the drive pulse width increases by 5% for every 1℃ decrease; when the ambient temperature is above 40℃, the drive pulse width decreases by 3% for every 1℃ increase. The refresh mode configuration is selected through control bits in the data packet. Full refresh mode is used for updating the entire screen content, while partial refresh mode is used for updating content only in the changing areas, reducing refresh power consumption and time.
[0051] The price tag continuously receives downlink data broadcast by the base station while in wake-up mode, extracts the received instruction frames, and performs address matching and format verification on the instruction frames; When the verification passes and the frame is determined to be a refresh instruction frame, the power-off lockout state of the e-ink screen refresh driver circuit is turned off, and the driver circuit power supply is turned on. The specific timing requirements for the driver circuit to restore power from the power-off lockout state are as follows: first, the logic power supply of the driver circuit is turned on, after a delay of 100μs, the high-voltage power supply of the driver circuit is turned on, and after a further delay of 200μs, the reset signal of the driver chip is released, thus completing the power supply restoration timing. This ensures that the driver chip starts up stably and avoids e-ink screen refresh abnormalities caused by power supply timing errors.
[0052] The payload content of the corresponding data packet is retrieved from the local non-volatile cache, and the payload content is written into the e-ink screen driver chip according to the preset driver parameters to start the e-ink screen refresh process. After the e-ink screen refresh process is completed, the power supply to the driver circuit is turned off, the power-off lock state is restored, and the system is configured to enter deep sleep mode. If a valid refresh instruction frame is not received within the preset time, the local timeout timer is triggered, the e-ink screen refresh process is executed, and the system is configured to enter a deep sleep state after the refresh is completed. If a price tag fails to detect a matching preamble within five consecutive wake-up cycles, it is determined to be a synchronization loss caused by strong interference or clock drift, triggering a synchronization recovery mechanism. The price tag first expands the listening bandwidth of the RF receiving module and sequentially scans the four preset backup broadcast channels of the base station. The listening duration of each channel is one complete wake-up window. During the scanning process, preamble synchronization capture is continuously performed. When a matching preamble is detected, the current channel is locked, symbol synchronization and clock calibration are re-completed, and the normal periodic wake-up and data reception process is restored. At the end of each main broadcast cycle, the base station sends a 20ms synchronization recovery frame. The synchronization recovery frame uses the same encoding sequence as the standard preamble to assist the price tag that has lost synchronization in re-completing synchronization capture. If the price tag still fails to complete synchronization recovery within 30 consecutive wake-up cycles, it enters a protective sleep state, adjusts the wake-up cycle to 3600s, and performs a full-channel scan and synchronization capture once every hour to reduce battery power consumption and avoid battery depletion caused by continuous invalid listening.
[0053] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely principles of the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the claimed invention. The scope of protection claimed by the appended claims and their equivalents is defined.
Claims
1. A method for designing a low-power, tamper-resistant ink screen electronic price tag, characterized by, Includes the following steps: S1. The price tag wakes up at a preset period and listens for the anti-interference coding preamble broadcast by the base station within a preset wake-up window to determine whether the preamble matches. If it matches, it remains awake; otherwise, it enters deep sleep. S2. The price tag remains in a wake-up state, receives the complete data packet sent by the base station, sends an acknowledgment frame back to the base station after receiving the data packet, stores the data packet in the local non-volatile buffer, and does not perform e-ink screen refresh operation; S3. When the price tag fails to receive a data packet, collect the channel RSSI value and noise variance within the current wake-up window, calculate the local interference intensity, match the corresponding random backoff duration according to the interference intensity, and send a retransmission request to the base station after the backoff is completed; the base station adjusts the coding redundancy of the next round of broadcast according to the number of retransmission requests received. S4. The base station collects confirmation frames of the target price tag within a preset time window, and broadcasts a refresh instruction after completing the retransmission process. After receiving the refresh instruction, the price tag retrieves the locally cached data packets to drive the e-ink screen refresh. If the refresh instruction is not received within a preset time, the refresh is performed after the local timeout timer is triggered.
2. The method of claim 1, wherein the method further comprises: In step S1, determining whether the preamble matches specifically involves: After the price tag is woken up, unnecessary peripherals and functional modules are turned off, leaving only the RF receiver module and system clock running, and the RF receiver module is configured to low power time-slot listening mode. The standard sequence of the anti-interference coding preamble, the correlation matching threshold, and the time slot interval for time slot listening are preset. Within the wake-up window, the radio frequency receiving module is periodically activated according to a preset time slot interval to collect the baseband signal in the channel; Synchronous acquisition is performed on the acquired baseband signal, and the received preamble sequence is extracted; Calculate the correlation coefficient between the received preamble sequence and the standard sequence; The correlation value is compared with the preset correlation matching threshold to determine the preamble matching result.
3. The method of claim 2, wherein the method further comprises: In step S1, switching the working state based on the preamble matching result specifically involves: When the current preamble matching result is determined to be a match, the RF receiving module remains continuously powered on, the system clock frequency is maintained, and the wake-up state is maintained. If the current precode matching result is determined to be a mismatch, the RF receiving module will be immediately shut down, and the baseband signal acquisition and processing process will be stopped. Configure the system clock to the lowest sleep frequency, shut down all unnecessary peripherals and functional modules, and enter deep sleep mode; Load the preset wake-up cycle parameters, configure the overload value of the sleep timer, and start the sleep timer; After the sleep timer is triggered, the next cycle wake-up process is executed.
4. The method of claim 3, wherein the method further comprises: In step S2, the price tag remains in a wake-up state to receive complete data packets sent by the base station. This process is only performed if the preamble is successfully matched and the price tag is in a continuously wake-up state. Throughout the data packet reception and storage process, the e-ink screen refresh driver circuit remains in a power-off locked state and no e-ink screen refresh-related operations are performed.
5. The method of claim 4, wherein the method further comprises: In step S2, receiving the complete data packet sent by the base station and replying with an acknowledgment frame to the base station after receiving the packet specifically involves: Preset standard frame structure, address verification rules, and cyclic redundancy check rules for data packets; It continuously receives baseband data from the base station, completes frame synchronization according to the standard frame structure, and extracts the received data packets; Perform a destination address matching check on the received data packet; if the check fails, discard the received data packet. After the address verification passes, a cyclic redundancy check is performed on the received data packet; if the verification fails, the received data packet is discarded. After the cyclic redundancy check passes, it is determined that the data packet reception is complete, and an acknowledgment frame with a unique price tag identifier and data packet sequence number is generated; Configure the radio frequency module to transmit mode and send acknowledgment frames to the base station within the preset uplink time slot.
6. The method of claim 5, wherein the method further comprises: In step S2, storing the data packet in the local non-volatile buffer specifically involves: Parse the received data packets to extract the sequence number, data length, and payload content. Allocate contiguous memory addresses in local non-volatile memory that match the data length; Write the sequence number and payload content of the data packet to the allocated storage address; After writing is complete, the written data is read back from the storage address and compared with the corresponding content of the original received data packet; If the comparison matches, the data packet storage is completed, and the mapping relationship between the data packet sequence number and the storage address in the local cache directory is updated; If the comparison is inconsistent, the data packet writing operation is re-executed until the comparison is consistent upon readback.
7. The method of claim 6, wherein the method further comprises: In step S3, the local interference strength is calculated, and the corresponding random backoff time is matched according to the interference strength, specifically as follows: After a data packet reception failure, the channel parameter acquisition process is triggered, and a fixed number of acquisition time slots are divided within the current wake-up window. In each acquisition time slot, the received signal strength indication value of the channel is acquired. After the acquisition of all time slots is completed, smoothing filtering is performed on all acquired received signal strength indication values to obtain the channel RSSI value. Within each acquisition time slot, baseband noise samples of the channel are acquired, and the variance of all noise samples is calculated to obtain the channel noise variance. A preset interference intensity quantization calculation model is used. The channel RSSI value and channel noise variance are input into the quantization calculation model, and the local interference intensity value is output. The system pre-defines the rules for classifying interference intensity levels and the corresponding random backoff time intervals for each level. It then compares the local interference intensity values with the classification rules to determine the corresponding interference intensity level. Within the corresponding level's random backoff duration range, generate a unique random backoff duration value, configure the backoff timer's timing value, and start the backoff timer.
8. The method of claim 7, wherein the method further comprises: In step S3, after the backoff is completed, a retransmission request is sent to the base station. The base station adjusts the coding redundancy of the next round of broadcast based on the number of received retransmission requests as follows: After the backoff timer is triggered, a retransmission request frame is generated with a unique price tag identifier, the sequence number of the lost data packet, and the local interference intensity value. Configure the radio frequency module to transmit mode and send the retransmission request frame to the base station within the preset uplink retransmission time slot; Within a preset retransmission request collection window, the base station continuously receives retransmission request frames sent by each price tag and counts the total number of valid retransmission requests. A pre-defined retransmission request number threshold and coding redundancy mapping rule is established. The total number of valid retransmission requests obtained by statistics is compared with the number threshold to determine the corresponding coding redundancy level. The determined coding redundancy level is configured as the coding parameter for the next round of packet broadcasting, thus completing the adaptive adjustment of coding redundancy.
9. The method of claim 8, wherein the method further comprises: In step S4, the broadcast refresh instruction after completing the retransmission process is specifically as follows: The base station has a preset time window for collecting confirmation frames, a target price tag list, and a maximum number of times the retransmission process can be executed. Within the confirmation frame collection time window, continuously receive confirmation frames sent by the target price tag and update the data packet reception status of the corresponding price tag in the target price tag list; After the confirmation frame collection time window ends, check the data packet reception status of all tags in the target tag list and count the number of tags that have not completed data packet reception; If the number of unreceived price tags is not zero and the number of retransmission attempts has not reached the maximum number of attempts, the next round of data packet retransmission will be initiated. When the number of unreceived price tags is zero or the number of retransmissions reaches the maximum number of executions, the retransmission process is deemed complete, and a refresh instruction frame with the target price tag list identifier is generated. Within the preset broadcast time slot, the refresh instruction frame will be executed to perform multiple rounds of continuous broadcasting.
10. The method of claim 9, wherein the method further comprises: S4 further includes: Price tag preset refresh instruction verification rules, local timeout timer duration, and e-ink screen refresh driver parameters; The price tag continuously receives downlink data broadcast by the base station while in wake-up mode, extracts the received instruction frames, and performs address matching and format verification on the instruction frames; When the verification passes and it is determined to be a refresh instruction frame, the power-off lockout state of the e-ink screen refresh driver circuit is turned off, and the power supply to the driver circuit is turned on. The payload content of the corresponding data packet is retrieved from the local non-volatile cache, and the payload content is written into the e-ink screen driver chip according to the preset driver parameters to start the e-ink screen refresh process. After the e-ink screen refresh process is completed, the power supply to the driver circuit is turned off, the power-off lock state is restored, and the system is configured to enter deep sleep mode. If a valid refresh instruction frame is not received within the preset time, the local timeout timer is triggered, the e-ink screen refresh process is executed, and the system is configured to enter a deep sleep state after the refresh is completed.