background image

    F2812 控制芯片除了负责对光伏你变系统电路的控制、数据的采集之外,还负责与上位机
之间实现数据的传输。

SCI 是 Serial Communica tion Interface 的简称,即串行通信接口。SCI

是一个 双线 的异 步串口,具有接收和发 送两 根信号线 的异 步串口,一般 可以看作是
UART(通用异步接收/发送装置),X281x 的 SCI 模块支持 CPU 与采用 NRZ(非归零)标准格
式的异步外围设备之间的数据通信。

RS-485 采用的是差分传输方式,使得在通信速率、抗干

扰和传输距离方面都有较大的改善和优点。本文中就是采用

SN65LBC184 芯片将 SCI 设计

成串口

RS485,控制芯片 F28 12 就能够和使用 RS232/USB/RS85 等接口的设备实现通信。

具体的转换电路如图

2 所示。 

2.2 RS485 到 RS-232 的转换
    目前大部分的工控 PC 机都只是提供 RS232 接口和 USB 接口,所以为了实现 RS-485 与监
控系统的通信,需要将

RS485 转换成 RS232 电平,这里选用 HIN232 和 MAX485 芯片设计

RS232 和 RS485 的电平转换电路,具体如图 3 所示。

3 监控系统的软件设计
3.1 软件通信协议
    监控软件显示的数据是由下位机按照一定的数据格式发送到 PC 上位机,为了保证数据
的正确性和安全性,我们这里采用的是

Modbus 协议。Modbus 协议是应用于电子控制器上

的一种通用的语言。控制器之间、控制器与网络以及和其他的设备之间都可以通过它进行相
互通信,

Modbus 协议已经成为一种工业标准。在 Modbus 通信网络中设备都必须选择相同

的传输模式和串口参数。
    本系统采用 RTU 模式:
    
    当控制器设为在 Modbus 网络上以 RTU(远程终端单元)模式通信,在消息中的每 8Bit 字
节包含两个

4Bit 的十六进制字符。这种方式的主要特点是:在同样的波特率下,可比 ASCII

方式传送更多的数据。
    代码系统
    ·8 位二进制,十六进制数 0、、、、9,A、、、、F
    ·消息中的每个 8 位域都是一个两个十六进制的字符组成每个字节的位
    ·一个起始位
    ·8 个数据位,最小的有效位先发送
    ·1 个奇偶校验位,无校验则无
    ·1 个停止位(有校验时),2 个 Bit(无校验时)错误检测域
    ·CRC(循环冗长检测)
    CRC 产生过程中,每个 8 位字符都单独和寄存器内容相或(OR),结果向最低有效位方向
移动,最高有效位以

0 填充。LSB 被提取出来检测,如果 LSB 为 1,寄存器单独和预置的值

或一下,如果

LSB 为 0,则不进行。整个过程要重复 8 次。在最后一位(第 8 位)完成后,下一

8 位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行

之后的

CRC 的值。CRC 添加到一帧数据中时,低字节先加入,然后高字节。

3.2 上位机的界面
3.2.1 主界面
    监控系统启动后,显示主界面。利用 VC 环境下的菜单控件在主界面添加监控系统的功能
菜单,有主运行界面、串口设置、逆变器数据、历史数据、参数设置等菜单项。主运行界面在下
面详细介绍。串口设置主要是负责设置

PC 上位机串口参数设置,串口的参数设置一定要和