background image

去;另一方面接收模块在接收无线数据之后,由

MCU 单元将数据整合重组,

在接收端总线恢复

DMX512 控制信号。这样设计的好处是可以将有线和无线传

输相结合。在接收端架设一个无线接收模块就可以保证该区域

DMX512 控制信

号得到有效传输,并不需要为每个设备都安置一个无线接收模块。
  

2.2 微控制器单元

  本系统的微控制器采用了

STC 系列单片机

 

     STC12C5410

 

 。该单片机含有

12KB 的 Flash

 

     存储器

 

 、512 字节 RAM、异步串口(UART)和内部 PLL 单元等。

内置的

SPI 总线控制器可以方便地与射频芯片 CC1100  通信,而内部的 ISP(在

线可编程)模块允许用户直接通过串口下载程序,给系统软件升级带来便捷条
件。由于

DMX512 的数据波特率为 250kbps,所以选取 16MHz

 

     晶振

 

 作为时钟源,

以便产生同频波特率。
  

2.3 射频收发单元

  

CC1100 是一款低功耗单片射频收发芯片,具有通信距离远、功耗低、接口灵

活等优点。该芯片主要设定工作在

315MHz、433MHz、868MHz 和 915MHz 的工业、

科学和医学波段;数据速率支持

1.2~500kbps 的可编程控制;提供-30~10dBm

的输出功率;最大空地发射距离大于

200m,工作电压为 1.8~3.6V;最大支持

64 字节的接收和发送 FIFO。设计人员可以通过 SPI 接口完成内部寄存器配置,
读写接收/发送

FIFO 等内部控制。

  

2.4 接口电路设计

  接口电路的设计主要包括

2 部分:DMX512 总线与单片机之间的通信,以

及单片机控制

CC1100 射频模块收发数据。由于 DMX512 总线数据帧格式与通用

异步串口(

UART)格式基本兼容,因此系统与 DMX512 总线的通信利用串口

通信接口。但

DMX512 信号的电气接口标准是 EIA-485,与单片机的 TTL 电平

接口不兼容,要实现相互通信,需要采用电平转换芯片作为桥接电路。在分解和
还原

DMX512 总线数据上,分别采用 MC3486 和 MC3487。在系统发送端,通过

MC3486 将 DMX512 总线的差分数据转换为 TTL 电平数据,由单片机的串口接
收数据;另外,串口的该引脚还同时连接到单片机的

P3.2/INTO 口,用于识别

DMX512 总线的起始标志(Break),提前通知单片机准备接收总线数据。在系
统接收端,通过

MC3487 将单片机串口 TTL 电平数据转换为 DMX512 差分数据。

  对

CC1100 的内部寄存器配置和 FIFO 单元读写都通过单片机 4 线 SPI 总线

接口来完成。

MISO 和 MOSI 分别是数据发送、接收端口,SCLK 是同步时钟,SS

用作器件的片选信号。

CC1100 的 GD02 信号用作内部 FIFO 的状态信号,用于提

示单片机

FIFO 空间已满。发射和接收模块接口示意图如图 3 所示,发射模块与

接收模块的结构基本一致,只是通信数据流方向相反。

  

3  系统软

件实现
  

3.1 主要程

序流程
  系统上电后
首先进行初始化
配置,包括

I/

O 端口输入/输
出状态配置、串口配置、

SPI 接口设置、CC1100 寄存器配置,以及无线传输数据