0 引言
近年来随着人们对电网安全的日益关注,便携式继电保护测试仪得到了很大程度的应用。 其主要优点在于携带方便、测试简单;缺点在于数据处理相对简单、无法存储更多的数据。 针对上述问题,提出利用 USB 芯片作为桥梁, 将微处理器系统的数据通过 U 盘读入、写出,以实现大容量数据存储以及数据处理的要求。
1 系统设计
本系统采用微处理器 MSP430F248 和 USB 接口芯片CH375 实现,如图 1 所示。 主控芯片 MSP430F248 同其它微控制器相比,采用低功耗设计,供电电源低;仅 3 种指令格式,全部为正交结构,尽可能做到 1 字/指令;ESD 保护,抗干扰力强;硬件乘法器;多达 48K ROM 和 4K RAM。
MSP430F248 为 FLASH 型芯片, 采用 FLASH 存储器作为程序代码及信息的存储,可以实现多次擦除和写入,也可以实现在线写入。其写入可以由 JTAG 接口来完成,也可以由芯片内的驻留软件实现,只需运行的程序代码存储区与待编程的存储区不在同一模块中。 FLASH 存储器的基本功能有:在程序执行时提供代码和数据;在软件或 JTAG 接口控制下作一段、多段或整个模块的擦除; 在软件或 JTAG 接口控制下写入数据,在 X000h~XlFFh 的 512 字节区域内可实现双倍编程速度。FLASH 存储器模块是一个可独立操作的物理存储器单元。 全部模块安排在同一个线性地址空间中,一个模块又可以分为多个段。
当对 FLASH 存储器段中的某一位编程时, 必须对整个段擦除, 因此,FLASH 存储器必须分为较小的段,以方便地实现擦除和编程。 该 FLASH 存储器模块包含如下部分:
(1)控制逻辑:控制 FLASH 擦除和编程时的机器状态和时序发生器;
(2) FLASH 保护逻辑:避免意外的 FLASH 擦除和编程操作;
(3)编程电压发生器:提供 FLASH 擦除和编程所需全部电压的集成电荷泵;
(4)3 个 16 位 控 制 寄 存 器 FCTL1、FCTL2、FCTL3控制 FLASH 模块的全部操作;
(5)存储器本身。
2 USB 接口电路
CH375 是一个 USB 总线的通用接口芯片, 支持USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。
在本地端,CH375 具有 8 位数据总线和读、写、片选控制线以及中断输出,可以方便地连接到微处理器的系统总线上。 在 USB 主机方式下,CH375 还提供了串行通信方式,通过串行输入、串行输出和中断输出与微处理器相连接。 其特点主要有:全速 USB-HOST主机接口,兼容 USB V2.0,外围元器件只需要晶体和电容。 主机端点输入和输出缓冲区各 64 字节,支持常用的 12Mbps 全速 USB 设备。 支持 USB 设备的控制传输、批量传输、中断传输。自动检测 USB 设备的连接和断开,提供设备连接和断开的事件通知。 内置控制传输的协议处理器,简化常用的控制传输。 内置固件处理海量存储设备的专用通信协议, 支持 Bulk-Only 传输协议和 SCSI、UFI、RBC 或等效命令集的 USB 存储设备(包括 USB 硬盘 /USB 闪存盘 /U 盘)。 通过 U 盘文件级子程序库实现单片机读写 USB 存储设备中的文件。
本系统中 CH375 采用串行连接方式, 芯片用于USB 主机方式。
串口信号线包括:串行数据输入引脚 RXD、串行数据输出引脚 TXD、中断输出引脚 INT。 通过串行接口,CH375 可以用*少的连线与微处理MSP430F248
进行较远距离的点对点连接。
CH375 芯 片 的 RXD 和 TXD 可 以 分 别 连 接 到MSP430F248 的串行数据输出引脚和串行数据输入引脚。 INT 输出的中断请**低电平有效,用于通知微处理器。 具体电路如图 2 所示。
CH375 的串行数据格式是 1 个起始位、9 个数据位、1 个停止位, 其中前 8 个数据位是一个字节数据,*后 1 个数据位是命令标志位。 第 9 位为 0 时, 前 8
位的数据被写入 CH375 芯片中,第 9 位为 1 时,前 8
位被作为命令码写入 CH375 芯片中。 CH375 的串行通信波特率默认是 9600bps,MSP430F248 可以随时通过 SET_BAUDRATE 命令选择合适的通信波特率。
3 软件设计
由于本系统中微处理器 MSP430F248 的程序空间和数据存储空间相对较大,在软件设计上采用 CH375
的 U 盘文件级子程序库来实现。
CH375 的 U 盘文件级子程序库具有的特性:支持常用的 FAT12、FAT16 和 FAT32 文件系统, 磁盘容量可达 100GB 以上,支持多级子目录,支持 8.3 格式的大写字母和中文文件名,可以支持小写字母或者长文件名,支持文件打开、新建、删除、读写以及搜索等。
CH375 的文件级子程序库需要大约 600 字节的随机存储器 RAM 作为缓冲区。 以普通的微处理器为例,文件系统的全部子程序有 4KB 到 8KB 代码,并且需要大 约 80 字 节 的 内 部 RAM 和 512 字 节 的 外 部RAM 作为缓冲区。
软件设计采用查询方式, 进入数据传输界面后,查询 U 盘状态,如果 U 盘已准备好,就进入后续数据处理的流程。 图 3 为继电保护测试仪将采集数据存入U 盘的程序流程图。
部分程序代码:
#define DISK_BASE_BUF_ADDR0x2000 /* 外部 RAM 的磁盘数据缓冲区的起始地址,从该单元开始的缓冲区长度为 SECTOR_SIZE */#define DISK_BASE_BUF_LEN512 /* 默认的磁盘数据缓冲区大小为 512 字节*/
#define FILE_DATA_BUF_ADDR
0x2200 /* 外部 RAM 的文件数据缓冲区的起始地址,缓冲区长度不小于一次读写的数据长度 */
#define FILE_DATA_BUF_LEN
0x0400 /* 外部 RAM 的文件数据缓冲区,缓冲区长度不小于一次读写的数据长度 */
void xWriteCH375Cmd (unsigned char cmd ) /* 向CH375 的命令端口写入命令 */
{
UTCTL1|=TXWAKE; // 发送地址位,375 第 9 位为 1 时写命令
TXBUF1=cmd;
while((UTCTL1&0X01)==0);
usdelay(20);
}
void xWriteCH375Data (unsigned char c ) /* 向CH375 的数据端口写入数据 */
{
TXBUF1 = c;
while((UTCTL1&0X01)==0);
usdelay(20);
}
4 试验测试及分析
不同环境数据传输如表 1 所示。 在实验室多次测试时数据传输均无差错,而在现场测试时,每连续测试 100 次,都有可能出现 1 次数据传输错误,但出现错误的位置点没有规律。 综合上述情况分析,可能是现场的电磁干扰造成数据传输错误,后续改进需要在硬件上加上屏蔽电磁干扰的措施。
图 4 为误码率与信噪比关系图, 从图中可以看出,误码率与信噪比成反比关系,即误码率随着信噪比的增大逐渐减小,当信噪比为 35 dB 时,系统的数据传输误码率达到 0 。 所以在设计该系统时要求在信噪比大于 35 dB 的信道中传输, 可以保证系统中数据传输的可靠性及稳定性。
相比其他便携式继电保护测试仪而言,本系统利用 USB 接口芯片 CH375 为测试仪处理复杂数据提供了可能性,也为存储扩展提供了良好的应用前景。