1. 项目概述:用STM32+SI4463复刻TACS模拟基站
作为一名通信技术爱好者和复古电子产品收藏者,最近我偶然得到了一台经典的摩托罗拉8800X模拟大哥大手机。但令人遗憾的是,支持这种手机的TACS模拟蜂窝网络早已退网。为了让这台历史文物重获新生,我决定自己动手搭建一个微型TACS模拟基站系统。
这个项目的核心目标是:使用现代嵌入式硬件和开源软件,完整复刻中国TACS标准的基站功能,实现两台大哥大手机之间的双向通话。与传统的SDR方案不同,我选择了更接近原版基站的纯硬件实现方式——基于STM32微控制器和SI4463射频芯片组,打造一个便携式的模拟蜂窝基站。
2. 技术方案设计
2.1 TACS系统原理与参数
TACS(Total Access Communication System)是上世纪80-90年代中国广泛使用的第一代模拟蜂窝通信标准,其核心特点包括:
- 工作频段:890-915MHz(上行)、935-960MHz(下行)
- 双工间隔:45MHz
- 信道带宽:25kHz(FDMA)
- 调制方式:
- 语音信道:FM调制(±9.5kHz频偏)
- 信令信道:FSK调制(1200bps)
- 典型手机发射功率:0.6-3W
- 基站发射功率:1-5W
中国TACS系统(ETACS)在原始TACS基础上进行了本地化改进,增加了1000个信道编号(0-999),并优化了信令系统以适应国内网络需求。
2.2 硬件架构设计
为了实现一个完整的TACS基站功能,我们需要复现以下关键子系统:
-
射频收发系统:
- 信令信道:负责处理手机注册、呼叫建立等控制信令
- 语音信道:负责承载实际的语音通话
-
信令处理系统:
- 实现TACS协议栈
- 处理呼叫流程控制
-
语音交换系统:
- 实现两部手机之间的语音桥接
考虑到便携性和成本,我选择了如下硬件方案:
- 主控芯片:STM32F103C8T6(性价比高,资源充足)
- 射频芯片:4片SI4463(两片用于信令,两片用于语音)
- 音频处理:LM358运放构建的模拟语音桥接电路
- 电源管理:AMS1117-3.3稳压芯片
2.3 系统工作流程
整个基站的工作流程可以分为以下几个阶段:
-
初始化阶段:
- 配置各射频芯片的工作频率
- 启动信令信道的广播
-
待机阶段:
- 持续发送系统广播信息(BCCH)
- 监听手机接入请求(RACH)
-
呼叫建立阶段:
- 处理主叫手机的呼叫请求
- 寻呼被叫手机
- 分配语音信道
-
通话阶段:
- 桥接两部手机的语音通路
- 监控挂机信令
-
呼叫释放阶段:
- 回收语音信道资源
- 返回待机状态
3. 硬件实现细节
3.1 射频子系统设计
射频部分采用4片SI4463无线收发芯片,具体分工如下:
-
信令下行链路:
- 工作频率:935.0125MHz
- 功能:发送系统广播、寻呼、信道分配等信令
-
信令上行链路:
- 工作频率:890.0125MHz
- 功能:接收手机发起的接入请求、呼叫请求等
-
语音下行链路:
- 工作频率:935.0375MHz
- 功能:向手机发送语音信号
-
语音上行链路:
- 工作频率:890.0375MHz
- 功能:接收手机发送的语音信号
每片SI4463通过独立的SPI接口与STM32连接,使用不同的片选信号进行区分。射频芯片的关键配置参数包括:
- 调制方式:FSK(信令)/FM(语音)
- 数据速率:1200bps(信令)
- 频偏:±4.5kHz(信令)/±9.5kHz(语音)
- 发射功率:+20dBm(最大)
3.2 主控系统设计
STM32F103C8T6作为系统主控,主要承担以下任务:
-
信令处理:
- TACS协议栈实现
- 信令编解码
- 呼叫流程控制
-
射频控制:
- 配置各SI4463芯片工作参数
- 信令的发送与接收
- 信道切换控制
-
语音处理:
- 语音通路的建立与维护
- 音频增益控制
-
系统管理:
- 状态机维护
- 异常处理
- 用户接口
主控芯片的资源分配如下:
- SPI1:信令下行SI4463
- SPI2:信令上行SI4463
- SPI3:语音下行SI4463
- ADC:语音信号采样
- DAC:语音信号重建
- 定时器:信令时序控制
3.3 语音通路设计
语音通路采用模拟直通方式,无需数字信号处理,最大程度降低延迟。具体实现如下:
-
上行链路:
- SI4463解调出音频信号
- 经LM358运放缓冲放大
- 送入下行SI4463进行调制发射
-
下行链路:
- 反向对称处理
- 保持全双工通信能力
运放电路设计要点:
- 增益可调(适应不同手机音量)
- 带通滤波(300Hz-3.4kHz)
- 阻抗匹配(600Ω)
3.4 电源设计
系统采用单电源供电(5V USB或锂电池),通过AMS1117-3.3稳压芯片转换为3.3V供给各芯片。关键考虑:
- 总电流需求:约500mA(峰值)
- 电源去耦:每芯片0.1μF+10μF组合
- 射频部分独立供电滤波
- 低功耗设计(待机时可降频)
4. 软件实现
4.1 系统初始化流程
系统上电后,需依次初始化各硬件模块:
- 时钟系统配置(72MHz主频)
- GPIO初始化(SPI、控制线等)
- SPI接口配置(4路独立SPI)
- SI4463射频芯片初始化:
- 设置工作频率
- 配置调制参数
- 校准射频参数
- 音频通路初始化
- 定时器配置(信令时序)
- 启动系统状态机
4.2 TACS协议栈实现
TACS协议栈主要处理以下信令:
-
系统广播消息(BCCH):
- 周期发送(每秒2-4次)
- 包含网络标识、信道信息等
-
随机接入信道(RACH):
- 监听手机接入请求
- 响应确认消息
-
寻呼消息(Paging):
- 呼叫被叫手机
- 包含被叫MIN号码
-
信道分配消息(Assign):
- 指定语音信道
- 包含信道编号等信息
-
呼叫控制消息:
- 振铃控制
- 接听/挂机确认
- 呼叫释放
信令帧格式统一为48bit:
- 同步头:16bit(0x55E7)
- 消息体:32bit(包含MIN、信道、命令字等)
4.3 状态机设计
系统采用有限状态机模型,主要状态包括:
-
IDLE:
- 发送BCCH广播
- 监听RACH接入
-
CALL_SETUP:
- 处理主叫请求
- 寻呼被叫
- 分配语音信道
-
TALKING:
- 维护语音通路
- 监控挂机信令
-
RELEASE:
- 发送拆线信令
- 释放信道资源
状态转换由信令交互触发,每个状态都有超时保护机制。
4.4 关键算法实现
-
FSK调制解调:
- 软件实现1200bps FSK
- 使用定时器产生精确位定时
- 数字滤波提高信噪比
-
语音处理:
- 自动增益控制(AGC)
- 背景噪声抑制
- 回声消除(简易算法)
-
射频控制:
- 自动频率校准
- 功率控制
- 信道切换
5. 系统调试与优化
5.1 硬件调试要点
-
射频部分:
- 频谱分析确认频率精度
- 测量发射功率
- 检查邻道泄漏
- 验证双工隔离度
-
语音通路:
- 测试频率响应
- 调整增益匹配
- 验证全双工性能
-
电源系统:
- 测量各节点电压
- 检查纹波噪声
- 评估热设计
5.2 软件调试技巧
-
信令调试:
- 逻辑分析仪抓取SPI数据
- 信令交互日志记录
- 模拟手机端测试
-
性能优化:
- 关键代码段效率分析
- 中断响应时间测量
- 内存使用优化
-
稳定性测试:
- 长时间运行测试
- 边界条件测试
- 异常恢复测试
5.3 实测性能指标
经过优化调试,系统达到以下性能:
- 频率稳定度:±1kHz
- 信令误码率:<10^-5
- 语音质量MOS:3.8(主观评价)
- 呼叫建立时间:<2s
- 待机电流:<50mA
- 通话电流:<300mA
6. 应用与扩展
6.1 实际应用场景
-
电子博物馆展品:
- 展示早期移动通信技术
- 互动式通话体验
-
教学实验设备:
- 通信原理教学
- 协议分析实践
- 射频技术实验
-
影视道具:
- 历史场景复现
- 真实通话效果
6.2 可能的扩展方向
-
多信道支持:
- 实现小区切换
- 支持更多手机
-
网络互联:
- 连接PSTN网络
- VoIP网关集成
-
历史模式复现:
- 模拟特定年代网络
- 复现经典故障现象
-
可视化界面:
- 呼叫流程展示
- 信令交互动画
- 频谱显示
7. 合规与安全注意事项
-
频率使用:
- 严格控制在实验室环境
- 使用屏蔽箱测试
- 最小必要功率原则
-
设备认证:
- 仅供实验研究
- 不干扰公共网络
- 遵守无线电管理规定
-
安全操作:
- 避免长时间大功率发射
- 注意射频辐射防护
- 良好的接地设计
-
历史准确性:
- 忠实复现原始技术
- 标注现代实现部分
- 保持技术真实性
这个项目不仅成功复活了老式大哥大手机,更让我深入理解了早期蜂窝通信技术的精妙设计。通过现代嵌入式技术复刻历史系统,既是对技术发展的致敬,也是创新思维的良好实践。