李少杰 2010-3-24
1.概述
光伏逆变器inverter(DSP)和LCD显示板(MCU)之间数据交互是通过SPI通信方式进行,通过过程中,MCU是主机,DSP为从机,通信速率从2.5M, 625K,200K可设,目前采用了200K的速率(DSP最低只能到200K)。通信规约可见表1。
表1 SPI通信规约
主机 | LCD MCU |
从机 | Inverter DSP |
时钟频率 | 2.5M,625K,200K(Timer2/2) |
数据单位 | 字节(8bit) |
通信周期 | 100ms,500ms |
每帧长度 | 16Bytes定长 |
校验方式 | 8位求和 |
数据形式 | 16进制数据(0-9,A-F) |
图1 电网电压调理电路
调试目的:
(1)验证通信距离在2m左右时的可靠性;
调试方法:
(1) 通过示波器勾取SPI总线信号,看波形。
(2) LCD显示SPI故障及显示内容与DSP实际值是否一致。
2.调试步骤
2.1 SPI调试结果
测试条件及平台:使用屏蔽线,625Kbps通信频率,通信周期100ms。
测试点波形:1,2,4是在DSP端钩取的clk,cs,so信号线,3是在MCU端抓取的SI波形。(SO,SI是依据MCU来定义)
图1不加功率时通信波形
图2 1KW功率时通信波形
图3 3KW功率时通信波形
图4 5KW功率时通信波形A(1,3在DSP端抓取)
图5 5KW功率时通信波形B(信号在MCU端抓取)
测试结果,从以上抓取的图片可看出,随着inverter功率的增加,SPI信号线上的波形受干扰度也跟随着增加,当功率加到5KW时,会出现通信不稳定,LCD断续地显示SPI故障,当功率加到8KW时,SPI通信完全失败,LCD一直显示SPI故障。
原因分析:
1)随着功率的增加,电磁干扰过大,SPI抗干扰能力差;
2)通信线路加长后,DSP和MCU的地可能出现不在同一个平面(0.5m内不会出现通信失败);
3)电源干扰,从波形可看出很明显的周期性纹波,见图6。
图6 电源周期纹波
2.2.改进方案
根据2.1节原因分析,做以下3方面硬件改进:
1)对电源进行滤波,并对SPI信号线加上总线驱动;
2)降低通信频率,在SPI总线上加滤波电容。
3)对SPI的4根信号线进行隔离。
2.2.1 电源滤波总线驱动方案
在DSP提供给MCU的电源线上,串上共模电感,并在SPI总线加上74LVC125驱动,原理图见图7。
图7
按上述方案的调试结果,与未改进前调试结果基本一样,未有明显改善通信质量。这里不再给出抓图,只给出电源滤波后的效果图。
图7 增加TDK滤波效果
2.2.2 降低通信频率方案
MCU系统的主频Fosc为40MHz,SPI模块的通信频率可为Fosc/4, Fosc/16, Fosc/及Timer2/2,DSP的SPI通信频率最低在195.3Kbps。
MCU由原来选用主频Fosc/改为选用Timer2/2方法为SPI提供通信时钟,设置Timer2定时值,可将通信频率CLK从原来的625Kbps,降低到200Kbps。
由于200Kbps通信频率,可接的滤波电容较小,就不考虑在SPI通信信号线上增加滤波电容,而是沿用以前的滤波电容(容值<=100pF)。
降低通信频率的调试结果,与625Kbps的调试结果基本一样,未有明显改善通信质量。这里不再给出抓图。
2.2.3 信号隔离方案
本方案待谭钧承给出原理图后,再测试。
结论
对SPI模块在通信距离达到2m时进行测试,测试结果显示,随着功率的增加,SPI通信稳定性降低,在达到5KW功率时,就会出现报SPI故障现象。通过电源滤波并增加SPI信号线总线驱动;或是降低通信频率,由625Kbps降低到200kbps,通信质量的改善不明显。下步方案将采取SPI信号隔离,降低通信频率到200K,并在电源上增加小型电感滤波。