尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

基于AD9959与STM32的AM调幅信号发生器与无线发射系统设计

发布时间:2026/9/29 18:33:23

资讯中心
01
ARTICLE

基于AD9959与STM32的AM调幅信号发生器与无线发射系统设计

基于AD9959与STM32的AM调幅信号发生器与无线发射系统设计
1. 项目缘起与整体方案拆解1.1 为什么选这个题目从一道赛题说起做电赛或者各类电子设计竞赛的朋友应该都有体会信号类题目几乎是每年必出的常客而信号模拟与生成又是其中最能拉开差距的方向。当年拿到这道题的时候核心要求其实很朴素构建一个能够产生AM调幅信号、并且能够通过无线方式发射出去的模拟系统同时要求参数可调、波形干净、频率稳定。听起来不难但真正动手做的时候才发现坑远比想象中多。我最初的想法是用分立元件搭一个简单的振荡电路再加一个乘法器做调制。实测下来这种方案在低频段勉强能用但一旦频率上到几百千赫兹以上波形就开始严重失真载波泄漏、边带不对称、谐波干扰全都冒出来了。更麻烦的是分立方案的频率稳定度完全依赖LC谐振回路的品质因数温度一变频率就飘根本没法满足竞赛对稳定度的要求。后来果断转向**DDS直接数字频率合成**方案。DDS的核心优势在于频率由数字控制字决定理论上可以做到极高的频率分辨率和稳定度而且相位连续、切换速度快。市面上常见的DDS芯片里AD9959是我最终选定的方案原因后面会详细说。主控方面STM32几乎是这类项目的标配资源丰富、生态成熟、资料多调试起来心里有底。这套方案最终拿到了国赛一等奖但说实话方案本身并不神秘真正决定成败的是细节——电源怎么处理、滤波器怎么设计、调制深度怎么标定、无线发射怎么做阻抗匹配。这些才是我想在这篇博文里重点聊的东西。1.2 系统整体架构四大模块的职责划分整个系统我把它拆成了四个相对独立的模块每个模块各司其职模块之间通过标准接口连接方便单独调试和替换。第一块是主控与显示交互模块。核心是STM32F103系列我用的是C8T6资源够用且便宜负责整个系统的逻辑控制、参数计算、人机交互。按键用来调节载波频率、调制频率、调制深度这几个关键参数OLED或者LCD负责实时显示当前状态。STM32本身不直接产生信号它的角色是大脑把用户设定的参数转换成AD9959能理解的寄存器配置。第二块是DDS信号生成模块。这是整个系统的心脏核心芯片AD9959。它负责产生高频载波和低频调制信号并且内部集成了乘法器可以直接输出AM调幅信号。AD9959有四个独立的DDS通道这意味着我可以用一个通道产生载波另一个通道产生调制信号然后通过内部或外部的方式完成调制灵活性非常高。第三块是模拟前端与滤波模块。DDS输出的信号是阶梯状的含有大量高频谐波必须经过低通滤波器才能得到干净的模拟波形。这部分我用的是无源LC椭圆滤波器截止频率根据载波频率动态设计。滤波之后还要经过一级缓冲放大保证输出阻抗足够低能驱动后面的发射级。第四块是无线发射模块。把调制好的AM信号通过天线发射出去。这里涉及到阻抗匹配、天线选型、发射功率控制等问题。我用的是一个简单的Class-E功率放大器加环形天线覆盖中波波段实测传输距离在几米范围内信号清晰可辨。提示模块化设计最大的好处是调试时可以逐个击破。我建议先把DDS单独调通用示波器确认波形正确再接滤波再接功放最后接天线。千万不要一上来就全部焊好再通电出了问题根本不知道是哪一级的锅。1.3 关键器件选型背后的逻辑选AD9959而不是AD9833或者AD9850是经过仔细权衡的。AD9833便宜、简单但只有单通道输出频率上限也只有12.5MHz而且没有内置的调制功能要做AM调制还得外挂模拟乘法器增加了电路复杂度和噪声来源。AD9850稍微好一点但同样是单通道调制还得靠外部电路。AD9959的核心优势有三个四通道独立输出、内置频率/相位/幅度调制能力、高达500MSPS的采样率。四通道意味着我可以同时产生载波和调制波甚至可以做IQ调制内置调制能力意味着AM、FM、PM都可以通过寄存器配置直接实现不需要额外的模拟乘法器500MSPS的采样率保证了输出频率上限足够高中波波段完全覆盖。STM32选F103C8T6也是类似的逻辑。这颗芯片主频72MHzFlash 64KBRAM 20KB对于这个项目来说绰绰有余。它有丰富的SPI、I2C、USART接口驱动AD9959用SPI最合适。而且F103的资料铺天盖地遇到问题随便一搜就有答案开发效率极高。2. 核心原理与关键技术点拆解2.1 AM调制的数学本质与DDS实现路径AM调幅的数学表达式其实很简单s(t) [A₀ m·cos(2πf_m·t)] · cos(2πf_c·t)其中A₀是载波幅度m是调制深度0到1之间f_m是调制信号频率f_c是载波频率。展开之后可以看到AM信号由三部分组成载波分量、上边带、下边带。这就是为什么AM信号的频谱图上会有三个峰。用DDS实现AM调制有两条路可走。第一条路是数字乘法用两个DDS通道分别产生载波和调制信号然后在数字域相乘再送DAC输出。AD9959内部支持这种操作通过配置寄存器可以让通道0和通道1的输出在内部进行幅度调制。第二条路是模拟乘法DDS只产生载波调制信号由STM32的DAC或者PWM产生然后用模拟乘法器芯片比如AD835完成调制。我最终选了第一条路原因是数字乘法没有模拟器件的温漂和非线性问题调制深度可以精确控制而且AD9959内部已经集成了这个功能省去了外部电路。具体配置的时候把载波通道设为目标频率调制通道设为调制频率然后在控制寄存器里使能幅度调制模式调制深度通过设置调制通道的输出幅度来实现。这里有个细节需要注意AD9959的幅度调制实际上是乘性的也就是说输出信号的包络等于调制通道的瞬时值。如果调制通道输出的是纯正弦波那么包络就是正弦波标准AM。如果调制通道输出的是带直流偏置的正弦波那么包络就会在零以上波动这就是我们想要的不出现过调幅的AM信号。所以调制通道的直流偏置设置非常关键偏置太小会导致过调幅偏置太大则调制深度不足。2.2 AD9959的寄存器配置逻辑AD9959的寄存器配置是整个项目里最容易出错的地方我在这上面卡了整整两天。它的寄存器分为两大类通道寄存器和全局寄存器。通道寄存器每个通道独立控制该通道的频率、相位、幅度全局寄存器所有通道共享控制工作模式、调制方式、时钟配置等。配置流程大致是这样的先复位芯片然后配置系统时钟包括PLL倍频系数接着配置各通道的频率调谐字FTW再配置调制相关寄存器最后使能输出。每一步都有严格的时序要求特别是复位之后需要等待至少1ms才能进行下一步操作。频率调谐字的计算公式是FTW (f_out × 2^32) / f_sys其中f_out是目标输出频率f_sys是系统时钟频率。举个例子如果系统时钟是500MHz目标输出是1MHz那么FTW (1×10^6 × 2^32) / (500×10^6) 8589934.592取整就是8589935。这个值需要拆成4个字节分别写入FTW0到FTW3寄存器。注意FTW的计算一定要用浮点数算完再取整不要用整数运算否则精度损失会很大。我一开始用整数除法结果输出频率偏差了几十赫兹后来改成浮点才解决。SPI通信的时序也很讲究。AD9959的SPI最高支持25MHz但实际用的时候我建议降到10MHz以下走线长的时候甚至要降到5MHz否则容易出现数据错位。每次写寄存器之前要先拉低CS然后发送寄存器地址最高位表示读/写再发送数据字节最后拉高CS。数据是高位先出这个和标准SPI一致。2.3 低通滤波器的设计与参数计算DDS输出的信号是阶梯波含有丰富的谐波分量。以1MHz载波为例500MSPS的采样率意味着每个周期有500个采样点阶梯效应相对较小但依然会有采样时钟泄漏和高次谐波。低通滤波器的任务就是把这些高频分量滤掉只保留基波。我选用的是五阶椭圆滤波器原因是椭圆滤波器在通带和阻带都有纹波但过渡带最陡用较少的阶数就能获得很好的滤波效果。截止频率设定在载波频率的1.5倍左右这样既能保证基波通过又能有效抑制二次谐波。电感电容的计算用的是标准椭圆滤波器归一化表格。以截止频率1.5MHz、特性阻抗50欧姆为例归一化后的元件值需要按照以下公式换算L (R × g) / (2π × f_c)C g / (2π × f_c × R)其中g是归一化元件值R是特性阻抗f_c是截止频率。实际选元件的时候电感和电容都要选高Q值的特别是电感最好用空心电感或者高频磁芯电感普通工字电感的高频损耗太大会导致通带衰减严重。这里踩过一个坑一开始我用的是普通的色环电感结果通带内衰减了将近6dB信号幅度严重不足。后来换成空心电感衰减降到1dB以内。电容也是一定要用NP0或者C0G材质的X7R的容量随电压变化太大会导致滤波器特性漂移。2.4 无线发射级的阻抗匹配无线发射这部分核心是把功放的输出阻抗匹配到天线的输入阻抗。我用的是Class-E功放理论效率可以到90%以上但对负载阻抗很敏感。天线我用的是环形天线直径约20cm在中波波段的阻抗大约是几欧姆的电阻加上几十欧姆的感抗。匹配网络用的是L型匹配一个串联电感和一个并联电容。串联电感抵消天线的感抗并联电容把阻抗变换到功放需要的负载值。具体数值需要用矢量网络分析仪实测天线阻抗后才能确定没有仪器的话可以用驻波比表慢慢调目标是驻波比小于1.5。提示调试功放的时候一定要先接假负载50欧姆大功率电阻确认功放工作正常再接天线。我见过太多人直接接天线结果天线没调好反射功率把功放管烧了。3. 实操过程与核心环节实现3.1 硬件搭建从原理图到PCB的注意事项硬件部分我前前后后打了三版板子第一版问题最多第二版基本能用第三版才算是比较满意。这里把每一版遇到的问题和解决方案都列出来希望能帮大家少走弯路。第一版的问题主要是电源。AD9959对电源噪声非常敏感我一开始用普通的AMS1117线性稳压器供电结果输出频谱上全是杂散载波旁边一堆不知道哪来的峰。后来换成LT3042这种超低噪声LDO杂散直接降了20dB以上。数字部分和模拟部分也要分开供电中间用磁珠或者0欧姆电阻隔离地平面也要分开最后在一点连接。第二版的问题是SPI走线太长。STM32和AD9959之间的SPI线走了将近10cm而且没有做阻抗控制结果高速通信时经常出错。第三版我把AD9959尽量靠近STM32SPI线控制在3cm以内并且做了包地处理问题就解决了。第三版主要优化了滤波器和功放的布局。滤波器部分要远离数字电路避免数字噪声耦合进来。功放部分要注意散热Class-E功放的效率虽然高但输出功率大的时候还是会有可观的发热PCB上要留足够的铜皮散热。PCB布局还有几个通用原则晶振尽量靠近芯片负载电容对称放置去耦电容要贴近电源引脚容值从大到小排列模拟地和数字地分开最后单点连接信号线避免直角走线用45度或者圆弧。3.2 STM32固件开发SPI驱动与参数计算STM32这边的固件我是在Keil MDK环境下开发的用的是标准外设库。整个固件分为几个模块SPI驱动、AD9959配置、按键处理、显示刷新、参数计算。SPI驱动部分我配置的是主机模式时钟极性CPOL0时钟相位CPHA0数据宽度8位波特率预分频设为8对应9MHz的SPI时钟。这个速率实测下来很稳再高就容易出错了。void SPI_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE); // SCK, MOSI 复用推挽输出 GPIO_InitStructure.GPIO_Pin GPIO_Pin_5 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStructure); // CS 推挽输出 GPIO_InitStructure.GPIO_Pin GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP; GPIO_Init(GPIOA, GPIO_InitStructure); SPI_InitStructure.SPI_Direction SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode SPI_Mode_Master; SPI_InitStructure.SPI_DataSize SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler SPI_BaudRatePrescaler_8; SPI_InitStructure.SPI_FirstBit SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial 7; SPI_Init(SPI1, SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); }AD9959的写寄存器函数是这样的void AD9959_WriteReg(uint8_t reg_addr, uint8_t *data, uint8_t len) { uint8_t i; AD9959_CS_LOW(); SPI_WriteByte(reg_addr); for(i 0; i len; i) { SPI_WriteByte(data[i]); } AD9959_CS_HIGH(); }频率调谐字的计算函数uint32_t CalcFTW(double freq, double sys_clk) { double ftw (freq * 4294967296.0) / sys_clk; return (uint32_t)(ftw 0.5); }这个函数里4294967296就是2的32次方加0.5是为了四舍五入。实测下来用这个函数算出来的FTW输出频率误差在1Hz以内完全满足要求。3.3 AD9959初始化流程与调制配置AD9959的初始化流程我整理成了一个固定的顺序每一步都不能少硬件复位拉低RESET引脚至少1ms然后拉高等待1ms让内部电路稳定。配置系统时钟设置PLL倍频系数我用的参考时钟是25MHz晶振倍频20倍得到500MHz系统时钟。配置通道频率分别设置载波通道和调制通道的FTW。配置调制模式使能幅度调制设置调制通道为调制源。配置输出幅度设置各通道的幅度控制字载波通道满幅输出调制通道根据调制深度设置。使能输出打开各通道的输出使能位。调制深度的控制是通过设置调制通道的幅度来实现的。假设载波通道幅度为满幅1023调制通道幅度设为m×1023那么调制深度就是m。但实际测试发现由于AD9959内部乘法器的非线性实际调制深度会略小于设定值需要做一点补偿。我的做法是实测几个点然后拟合一条校正曲线在代码里做线性补偿。注意AD9959的幅度控制字是10位的范围0到1023。设置的时候不要设成0否则输出完全关断。最小建议设成1最大设成1023。3.4 滤波器调试与频谱验证滤波器焊好之后我用信号发生器和示波器逐级验证。信号发生器输出一个扫频信号从100kHz扫到10MHz示波器接滤波器输出观察幅频特性。实测下来通带内波动小于1dB截止频率处衰减3dB二次谐波处衰减超过40dB效果符合预期。频谱验证用的是频谱分析仪。DDS直接输出的频谱上除了基波之外还有采样时钟泄漏500MHz和各次谐波。经过滤波器之后500MHz的泄漏被压到了噪底以下二次谐波也被压了40dB以上频谱非常干净。这里有个小技巧如果手头没有频谱分析仪可以用示波器的FFT功能代替。虽然动态范围不如专业频谱仪但看个大概足够了。把示波器调到FFT模式时基设成合适值就能看到频谱分布。3.5 无线发射测试与距离评估无线发射测试是在一个空旷的房间里做的。发射端接环形天线接收端用一个简单的AM接收机就是普通的收音机调到对应频率。发射功率大约100mW接收距离在3米以内信号清晰5米左右开始有噪声8米以外基本听不清了。这个距离对于竞赛演示来说足够了但如果想传得更远有几个方向可以优化一是提高发射功率但要注意法规限制二是优化天线设计用更大的环形天线或者加磁棒三是降低接收机的噪声系数。我当时时间有限没有深入优化但理论上做到几十米是可行的。4. 常见问题与排查技巧实录4.1 调试过程中踩过的坑与解决方案问题一AD9959无输出。这是最常见的问题原因可能有多种。首先检查电源AD9959需要1.8V和3.3V两组电源缺一不可。然后检查复位时序RESET引脚必须拉低足够长时间。再检查SPI通信用示波器看CS、SCK、MOSI三根线有没有波形。最后检查输出使能位有没有打开。我遇到过一次是SPI的CPHA设错了数据完全错位改成正确的相位就好了。问题二输出频率偏差大。一般是FTW计算错误或者系统时钟配置错误。先确认系统时钟是不是设成了预期的值可以用示波器测AD9959的SYNC_CLK引脚这个引脚的频率是系统时钟的1/4。如果系统时钟对了再检查FTW计算注意要用浮点数。问题三频谱杂散大。电源噪声是最大的嫌疑。先用电池供电试试如果杂散明显减小那就是电源问题。换低噪声LDO加LC滤波数字地和模拟地分开。如果电源没问题检查PCB布局特别是晶振和DDS芯片的接地。问题四调制深度不对。检查调制通道的幅度设置以及调制模式是否使能。AD9959的幅度调制有一个调制电平寄存器这个寄存器的值决定了调制通道对载波通道的影响程度设错了会导致调制深度异常。问题五无线发射距离短。先检查天线匹配用驻波比表测一下驻波比大于2的话肯定有问题。然后检查功放的工作点Class-E功放的偏置电压和输入驱动功率都要合适。最后检查接收机换个好点的收音机试试。4.2 常见问题速查表问题现象可能原因排查方法解决方案AD9959无输出电源缺失、复位异常、SPI错误、输出未使能逐项检查电源电压、复位波形、SPI波形、使能寄存器补齐电源、修正复位时序、修复SPI配置、打开使能位输出频率偏差大FTW计算错误、系统时钟错误测SYNC_CLK频率、核对FTW计算用浮点计算FTW、重新配置PLL频谱杂散大电源噪声、PCB布局差电池供电对比、检查接地换低噪声LDO、优化布局、分开地平面调制深度异常调制通道幅度错误、调制模式未使能检查幅度寄存器、调制控制寄存器重新设置幅度、使能调制模式发射距离短天线失配、功放工作点不对测驻波比、测功放输出功率重新匹配天线、调整功放偏置波形失真滤波器截止频率不对、功放非线性测滤波器幅频特性、测功放线性度重新设计滤波器、降低功放输出功率4.3 独家避坑经验分享经验一电源一定要舍得下本钱。我一开始为了省钱用了几毛钱的LDO结果调试了一个星期都在跟噪声作斗争。后来换了LT3042虽然一颗芯片就要十几块钱但问题一下子就解决了。在模拟电路里电源的质量直接决定了系统的性能上限。经验二SPI通信速率不要贪高。AD9959手册上说SPI最高支持25MHz但实际用的时候走线稍微长一点就不稳定。我建议先用低速比如1MHz调通确认功能正常后再逐步提高速率找到稳定工作的最高速率。经验三滤波器一定要实测。理论计算出来的元件值实际焊上去之后由于元件公差和寄生参数特性会有偏差。一定要用扫频的方式实测幅频特性必要时微调元件值。我为了调一个滤波器换了三次电容才达到满意的效果。经验四功放调试先接假负载。这是血泪教训。我第一版功放直接接天线结果天线没调好反射功率把功放管烧了一颗管子几十块钱心疼了好久。后来学乖了先用50欧姆假负载调好功放确认输出功率和效率都正常再接天线。经验五代码要加保护。参数计算的时候要加范围检查防止用户输入超出范围的频率导致FTW溢出。SPI通信要加超时检测防止死循环。显示刷新要加缓冲防止闪烁。这些细节虽然小但能大大提高系统的可靠性。经验六多留测试点。PCB上多留几个测试点电源、地、关键信号线都留上。调试的时候用示波器一搭就能看波形不用到处找地方焊线。这个习惯让我在调试的时候省了很多时间。5. 系统优化与扩展方向5.1 性能优化的几个着力点这套系统虽然拿到了国赛一等奖但说实话还有不少优化空间。如果让我再做一版我会从这几个方向入手。第一是电源的进一步优化。虽然LT3042已经很低噪声了但AD9959对电源的敏感度极高可以考虑用电池供电加超级电容的方案彻底隔绝电网噪声。或者用多级LC滤波把电源噪声压到更低。第二是滤波器的升级。现在的五阶椭圆滤波器在通带边缘的群延迟变化比较大对于AM信号来说群延迟失真会导致包络变形。可以考虑用贝塞尔滤波器虽然过渡带没那么陡但群延迟特性平坦得多对AM信号更友好。第三是功放效率的提升。现在的Class-E功放效率大约70%还有提升空间。可以尝试用GaN器件开关速度更快导通电阻更低效率可以做到85%以上。不过GaN器件的驱动电路比较复杂成本也高需要权衡。第四是增加自动增益控制AGC。现在的输出幅度是固定的如果要做更复杂的调制方式比如QAM就需要AGC来保证输出幅度的稳定。可以用AD8367这类可变增益放大器配合检波电路构成AGC环路。5.2 功能扩展的可能性这套系统的框架其实很通用稍加修改就能支持多种调制方式。FM调制AD9959本身就支持频率调制只需要把调制模式从幅度调制改成频率调制调制通道的输出控制频率偏移量即可。代码改动量很小主要是寄存器配置的调整。ASK/FSK这两种数字调制方式在物联网领域应用很广。ASK就是幅度调制的一种特例调制信号是方波FSK是频率调制的一种特例调制信号也是方波。用STM32的GPIO产生方波调制信号送到AD9959的调制通道就能实现。扫频信号源AD9959支持线性扫频和步进扫频可以配置成扫频信号源用于滤波器测试或者雷达模拟。扫频范围和步进值都可以通过寄存器配置非常灵活。任意波形生成AD9959的四个通道可以独立配置如果配合外部DAC或者PWM理论上可以生成任意波形。不过AD9959本身没有波形存储功能只能生成正弦波要生成任意波形需要额外的存储和播放电路。5.3 从竞赛到产品的距离竞赛作品和实际产品之间还有很大的距离。竞赛的时候只要功能演示通过就行不用考虑成本、体积、功耗、可靠性这些问题。但如果要把这套系统做成产品需要考虑的东西就多了。成本控制AD9959一颗芯片就要一百多STM32也要十几块加上其他元器件物料成本轻松超过两百。如果要量产必须想办法降成本比如用国产替代芯片或者简化设计。体积优化竞赛的时候板子大小无所谓但产品必须考虑体积。可以把STM32和AD9959集成到一块小板上用四层板甚至六层板把体积压缩到名片大小。功耗优化现在的系统功耗大约1W左右如果用电池供电续航是个问题。可以选用低功耗版本的STM32AD9959也有低功耗模式不用的时候可以关掉。可靠性设计产品要经过高低温测试、振动测试、EMC测试这些在竞赛里都是不考虑的。PCB布局要符合EMC规范元器件要选工业级甚至汽车级的软件要有看门狗和异常恢复机制。6. 写在最后的一些个人体会这个项目从选题到最终演示前后花了将近三个月时间。中间经历了无数次失败和返工但也正是这些失败让我对DDS技术、模拟电路设计、无线发射有了更深入的理解。如果让我给准备做类似项目的朋友提几条建议我会说第一先把原理搞透再动手不要急着焊板子把AD9959的数据手册从头到尾读一遍把AM调制的数学原理搞清楚后面会省很多时间。第二模块化调试不要指望一次成功把系统拆成小块逐个调通再联调。第三善用仪器示波器、频谱仪、万用表、驻波比表这些仪器能帮你快速定位问题比盲猜高效得多。第四多记录每次调试的参数、波形、问题、解决方案都记下来这些都是宝贵的经验下次遇到类似问题就能快速解决。这套方案的核心思路其实并不复杂就是数字生成模拟滤波无线发射三段式。但真正做好需要在每一个环节都下功夫。电源要干净滤波器要匹配功放要调好天线要谐振任何一个环节出问题整体性能都会大打折扣。最后分享一个我在调试过程中总结的小技巧当你遇到一个奇怪的问题怎么都找不到原因的时候不妨停下来把系统恢复到最简状态从零开始一步一步往上加。很多时候问题就藏在某个你忽略的细节里。我在调试AD9959的时候就是因为忘记配置一个全局寄存器导致调制功能一直不工作查了两天才发现。这种时候回归基础、逐项检查往往比盲目尝试更有效。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。