【摘 要】本文介绍了CIRRUS LOGIC公司生产的16位A/D转换芯片CS5523的主要特性以及和STC89C52RC单片机的接口电路,并设计了A/D转换程序,供大家参考。
【关键词】高精度串行A/D;CS5523;单片机
1.引言
在工业控制过程、医疗器械及仪器仪表等许多应用中,对系统的速度、功耗及成本等性能的要求越来越高。为了满足这些要求,迫使设计工程师进一步求助数字电路、尤其是模数转换器ADC。这些集成化的ADC包括了完整的前端系统,保证了低电压、低功耗方式工作,在更大程度上降低系统成本。下面介绍一种高精度、硬件电路简单、计量精确、抗干扰性好、性能稳定可靠、性价比高的A/D转换芯片CS5523。
2.CS5523简介
CS5523是CIRRUS LOGIC公司生产的16位高精度串行A/D芯片。其内部结构框***如***1所示。
CS5523芯片内集成了一个仪表放大器、一个可编程增益放大器、多路开关、数字滤波器、自校正和系统校正电路。通过简单的串行连接,CS5523可方便地由MCU控制,以实现多通道高精度的A/D转换。主要特性如下:
底输入电流(100pA)和用斩波器稳定的一仪器放大器;
可升级的输入跨距(双极/单级);
宽VREF输入范围(+1伏至+5伏);
4阶Delta-Sigma模/数转换器;
3线制串行接口;
系统校准和自校准;
8个可选择的输出率;
单电源+5V供电;
低功耗;5.5mW;
24脚SSOP和PDIP两种封装。
3.CS5523在MCS-51单片机系统中的应用
3.1 硬件接口
CS5523以串行接口方式与单片机接口。CS5523的SDI、SDO、SCLK、CS引脚分别和STC89C52RC单片机的P10~P13口相连。***2是CS5523与STC89C52RC单片机接口的硬件原理***。
单片机通过P10~P13口来控制CS5523,并读取转换结果。***2中采用32.768KHz外部时钟。CS5523的模拟信号有单端输入和差分输入两种,这里采用单端输入方式。AIN1-、AIN2-、AIN3-、AIN4-分别接地。外部模拟信号的调理和放大电路,以及基准电压电路这里不作为重点,并未给出。
3.2 软件设计
如***2所示,单片机STC89C52RC和CS5523的通信采用采用串行通信方式。STC89C52RC的P10~P13口对CS5523进行控制及数据传输。***3为STC89C52RC操作CS5523的总的时序***,对CS5523的操作软件都是以时序***为基础编写的。这里,只给出了几个基本的读写数据和命令的子程序,仅供参考。CS5523总的控制程序是在这几个子程序基础上实现的,这里不做介绍。
uchar SPI_HostReadByte()
{
uchar idata i,rByte;
rByte = 0;
for(i=0;i
{
SPISCK = 0;
SPISCK = 1;
rByte
rByte |= SPISO;
}
return rByte;
}
void
SPI_HostWriteByte(uchar wByte)
{
uchar idata i;
for(i=0;i
{
if(((wByte
{
SPISI = 1;
}
else
{
SPISI = 0;
}
SPISCK = 0;
SPISCK = 1;
}
}
void Cs5523ReadAdData()
{
uchar i;
SPISCK = 0;
NOP;
if (PartSelect == 1)
{
CS1 = 0;
CS2 = 1;
}
else if (PartSelect == 2)
{
CS1 = 1;
CS2 = 0;
}
else
{
CS1 = 1;
CS2 = 1;
}
PerformConver = 0x98;
SPI_HostWriteByte(PerformConver);
SPISO = 1;
while(SPISO == 1);
PerformConver = 0x00;
SPI_HostWriteByte(PerformConver);
for (i = 0;i < 12 ;i++)
{
ReadBuffer[i]=SPI_HostReadByte();
}
}
void Cs5523WriteData(uchar GeShu)
{
uchar i;
for (i = 0;i < GeShu ;i++)
{
SPI_HostWriteByte(ReadBuffer[i]);
}}
void WriteCommand(uchar Commandcs){
SPI_HostWriteByte(Commandcs);}
4.总结
该芯片以成功应用于油田采油现场数据采集系统。运行一年来,系统稳定。
参考文献:
[1]CIRRUS LOGIC公司CS5523芯片数据手册.
[2]马忠梅等,编著.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2005.
[3]戴佳,编著.51单片机C语言应用程序设计实力精讲[M].电子工业出版社,2006.
作者简介:申佳,男,现就读于西安外事学院工学院电子信息工程专业。