2 dsPIC30F6010A简介
16位dsPIC30F6010A数字信号控制器是16位处理器系列。它是dsPIC30F电机控制和电源转换系列,用于支持电机控制应用,也适用于不间断电源、逆变器、开关电源及相关设备。
内部有144 KB片上闪存程序空间,8 KB片上数据RAM,4 KB非易失性数据EEPROM:工作速度最高可达30MI/s;5个16位定时器/计数器;可选择将16位定时器配对组成32位定时器模块;16位捕捉输入功能;8个PWM输出通道:具有互补或独立输出模式、边沿对齐模式和中心对齐模式,4个占空比发生器、互补模式的死区时间控制:2个UART、2个SPI、1个I2C总线和2个CAN总线:最大I/O引脚数为68个。
dsPIC30F601OA处理器采用改进的哈佛架构,具有独立的程序和数据存储器总线。在执行访问数据RAM当前指令的同时可从程序存储器中预取下一条指令,这就加快了处理速度。数据空间为64 KB,大多数指令将其看作一个线性地址空间。当使用某些DSP指令,如DSP乘法指令时,该存储空间被分成2块,分别称为X和Y数据空间。因此,这些DSP指令支持双操作数读操作,即,同一条指令可同时从X存储空间和Y存储空间中取数据。
3 系统设计
本采样系统主要分为硬件部分设计和软件部分设计。硬件部分是以dsPIC30F601OA为控制和处理核心,去控制AD7862和SD卡来实现数据的高精度、实时采集和实时存储。信号的高精度和实时模数转换由AD7862来实现,数据的存储由控制器通过SPI接口访问SD卡来实现。软件部分主要由控制器I/O引脚的初始化、模数转换开始控制、数据读取和数据存储等部分组成。
3.1 硬件部分实现
数据采集系统以16位dsPIC30F6010A数字信号控制器作为系统的控制和数据处理核心,产生控制信号控制AD7862实现高精度的实时数据采集。AD7862共需4个控制信号,分别为、AO、和。为转换开始控制信号,A0为读取通道选择控制信号,它控制该通道进行A/D转换和读取其A/D转换结果。为片选信号,低电平有效,在本系统中使其直接与地相连。为读控制信号,低电平有效,当为低电平时可以按顺序读取VA1、VA2或VBl、VB2上的A/D转换结果。通过以上分析共需3个控制信号,即dsPIC230F6010A的I/O接口RB8、RB9和RBl0,通过软件产生。
AD7862还产生BUSY信号,通过它告知控制器A/D转换完成,可以读取结果。dsPIC30F6010A的中断控制器支持5种外部中断请求信号:IN-T0~INT4。这些输入是边沿敏感的;它们要求一个由低到高或由高到低的跳变以产生一个中断请求。INTCON2寄存器具有5个位(INTOEP~IN-T4EP),用于选译边沿检测电路的极性。本系统中采用由高到低的跳变产生中断请求,BLISY控制信号与dsPIC30F60lOA的INTO相连。数据转换结果通过dsPIC30F60IOA的I/O口,读到控制器内部。AD7862与控制器的电路连接图如图3所示。
3.2 软件部分实现
软件部分流程如图5所示,系统启动后先初始化I/O、SD卡、AD7862和设置INT0中断,为A/D采样和数据存储做准备。由于AD7862有两个通道。需对这两个通道分别进行A/D转换,先采样A通道后采样B通道,具体是哪个通道由AO决定,也就是控制器的RB8引脚。