概述
本说明文档介绍的CS32A010-Start_ V1.0仿真评估板(EVB)为使用芯海科技CS32A010 高性能SOC应用开发设计的一块仿真评估板,也叫CS32A010 Demo Board,可以用来对CS32A010 SOC压力变送器、TC/热电偶测温、血氧检测、电压/电流检测、热敏电阻测量等应用产品的仿真、开发、设计、调试和功能演示。
CS32A010是一颗高性能SOC芯片,芯片内置24位高精度SD-ADC,采用32位ARM Cortex-M0内核、内置12位DAC、低温漂基准源、电源管理、低失调运放、l6bit 定时器、LED驱动、恒流源和恒压源输出等功能模块。另外CS32A010内置64KBytes Flash和 8KBytes SRAM,最高工作频率24MHz,芯片还提供标准的通信接口(I2C、SPI和UART),图1为芯片各模块框图。
CS32A010系列微控制器的工作温度范围为-40℃~105℃,工作电压范围2.0V~5.5V。芯片提供一系列电源工作模式,以满足不同的低功耗应用。
CS32A010系列微控制器适用于多种应用场景,例如气体传感器、压力变送器、TC/热电偶测温、RTD测温等。
标号1红色框:可共用为SWD仿真调试接口,烧录接口,3.3V供电接口。
标号2黄色框:可共用5V供电接口,内部集成USB转串口接口,用作USB转串口功能时需要选择下面黄色框用跳线帽连接,右边是USB转串口选择,左边是外部串口选择。
标号3蓝色框:跳线帽接左边3.3V供电,跳线帽接右边5V供电,烧录时接3.3V供电。
标号4绿色框:左边PB0、PB1 IO口灯,接跳线帽可选择连通,右边串口指示灯。
标号5红色框:左边为32.768KHZ外部晶振,右边是24MHZ外部晶振通过焊接0欧连接。
白色框:白色框为外设接口,IO口、信号采集口、电源接口等接口。
客户使用CS32A010开发包例程进行芯片性能评估,拿到开发包第一步进行解压,先在Keil里面安装芯片包,然后可以看到如图5所示的一个 .Pack后缀的芯片包,双击开发包会出现芯片包安装界面,修改芯片包的后缀名为 .Zip,修改后缀名后可以看到图6所示文件夹Board,点击进去再点击Examples文件夹即可以打开CS32A010 SDK例程,各模块例程如图8所示,后续再确认Pack版本,选择对应的仿真型号即可使用SDK进行芯片性能评估,Pack包安装和例程编译下载设置如下:
图10 Pack包版本选择
客户使用一个新的CS32A010开发包经常会出现CMSIS(微控制软件标准)库出现图12所示的情况,出现这种情况会出现编译不了例程,此时需要点击图10的图标1进行CMSIS库安装,根据图13的步骤1-5依次选择SDK里面的例程库的选择,选择电脑已经安装的版本点击确定即可,灵活选择电脑中已经安装的库。
客户在使用CS32A010进行评估板进行信号采集时会看到ADC评估例程里面分别有三个滤波器函数adc_data_convert_low_latency、adc_data_convert_sinc2、adc_data_convert_sinc3,这三个函数是选择不同滤波器时调用的函数,因为在ADC采集的时候硬件截位存在一定的误差,需要通过软件进行校正,图14为软件校正系数表。软件校正系数是根据DATA采样速度配置和哪款滤波器的选择来确定的,图15函数方框里为软件校正系数,不同的采样速度与滤波器选择配置会有不同的软件校正系数,具体值通过下图查表修改。
打开CS32A010 SDK包中DAC例程,通过图23所示软件配置能使DAC,配置DAC寄存器数值即可进行DAC输出,从数据手册引脚描述中可查阅DAC输出引脚如图22所示DAC直接输出引脚为PA9,PA9不需要进行任何IO口配置即可输出电压,在例程中改变While(1)循环里面的DAC寄存器配置值可在PA9得到相应的电压输出,配置DAC寄存器值为0X7FF如图24,左可输出1.236V电压,配置DAC寄存器值为0X1FF如图20,右可输出0.309V电压且输出电压通过万用表测试电压波动在1MV左右,12bitDAC输出精度为1mv左右精度属于合理范围。
本试验评估智能模拟组合使用ADC例程与DAC例程结合,把OPA输出电压输入ADC通道中通过串口打印出来。如图27所示选择DAC作为运放输入的正端,PA5与OPA输出端相连(PA4)作为运放输入的负端,此时OPA为电压跟随的作用,输出电压即DAC电压,不会对DAC输出的电压做放大或加偏置处理,把OPA运放输出的电压输入到ADC输入通道0,1里面,输入通道1接PA4,输入通道0接地,图26为SAC初始化软件配置,配置PA5为OPA负端,配置DAC为OPA运放输入正端,配置DAC寄存器值0X7FF,此时可以通过串口打印出如图28所示的ADC数据1.471V即为电压跟随的DAC输出电压,根据串口打印数据保持在1mv左右的精度,由于是12Bit DAC作为运放输入,SAC精度在合理范围。
图30 OPA模拟组合输出电压