摘 要:本文介绍了一种基于 ARM9 微处理器 S3C2410A 的嵌入式 pH 值测控系统,包括 S3C2410A 自带的 A/D 转换器ADC,D/A转换芯片DAC8420 等接口芯片的软硬件设计。利用微处理器S3C2410A 丰富的I/O 接口,通过74LS245 电平转换芯片,解决了S3C2410A 嵌入式处理器I/O 接口输出电平与外设驱动电平不匹配的问题。
1 引言
pH 值是工业生产过程中的一个十分常见的控制参数, 保持被控过程的 pH 值稳定, 对稳定生产过程, 提高产品质量, 减少原材料消耗等多方面均起到非常积极的作用。因此, 在糖厂、选矿厂、化工等企业实施pH 值自动控制系统具有很重要的意义[1]。而pH 值控制器的性能对 p H 值控制效果起到至关重要的作用。为此, 本文设计了一种以 3 2 位高性能 A R M 9 处理器S3C2410A 为核心的嵌入式 pH 值测控系统。
2 pH 值测控系统简介
一般 pH 值测控系统主要由 pH 值控制器、pH 值测量电极、pH 值测量电极除垢装置、加酸 / 碱装置和上位机等几个部分组成。以蔗糖生产的中和、澄清工段的pH 值测控系统为例,其结构如图 1 所示:

甘蔗压榨后的蔗汁中附着有大量的杂质,蔗汁呈酸性,根据我国蔗糖生产的亚硫酸法工艺,蔗汁在蒸煮之前必需进行中和、澄清,以便去除蔗汁中的非糖成份。通过在蔗汁中加入石灰乳来调节蔗汁的pH 值,pH 值的控制效果直接影响产糖的产量和品质。由于蔗汁粘稠度较高,容易造成 pH 值测量电极被污染、结垢,从而造成 pH 值测量的精度降低,因此通常采用的是两个电极轮换工作的办法,即一个电极在测量 pH 值的时候,另外一个进行清洗除垢,设置一个合理的轮换时间,进行清洗除垢工作。通过 pH 值测量电极,可以获得蔗汁的 pH值,控制器根据获得的 pH 值与设定值相比较,调节石灰乳的加入量,使其满足生产要求(一般澄清后蔗汁的 pH值在7.0~7.2 之间)。
3 基于 S3C2410A 的嵌入式 pH 值测控系统硬件设计
本文所设计的基于S3C2410A 的嵌入式pH 值测控系统硬件部分主要包括以下几个部分:S3C2410A 核心控制板,电平转换电路,D/A 转换电路,其结构图如图2 所示。

3.1 硬件系统设计
p H 值测控系统 A R M 核心控制板包括 A R M 芯片、Nand Flash 存储器、Nor Flash 存储器、SDRAM 存储器、RS-232 串行接口、USB Host、USB Device、CS8009A 以太网网络接口、JTAG 调试接口以及用于人机交换的触摸屏等。其中, A R M 芯片采用的是三星公司生产的 3 2 位嵌入式处理器 S 3 C 2 4 1 0 A , 采用ARM920T 内核,工作频率可以达到203MHz,并且内部集成了丰富的功能模块;Nand Flash 采用了三星公司生产的 64M × 8 位存储器 K9F1208U0B;SDRAM 采用的是现代公司生产的 HY57V561620FTP-H,存储容量为 4Banks × 4M ×16 位(32M 字节),本系统使用两片16位的 HY57V561620FTP-H 并联成为 32 位数据宽度的SDRAM 存储系统,总容量为 64M。
3.2 A/D转换电路
A/D 转换电路采用 S3C2410A 微处理器自带的 A/D 转换器,它提供了1 个8 通道的模拟输入转换器,可以将模拟输入信号转换成为 10 位数字编码,A/D 转换的最高时钟频率为2.5MHz,其最大转换率为500KSPS,输入电压的范围是0~3.3V。同时S3C2410A 的 A/D 转换器支持片上操作,具备采样保持功能以及掉电模式[2],可以满足整个系统的精度要求。
3.3 D/A转换电路
由于S3C2410A 芯片本身并没有集成 DAC 转换器,因此本文采用外扩的 DAC8420 作为 DAC 转换器,它是Analog Devices 公司生产的4 路输出12 位DAC,其特点是低功耗、转换精度高。DAC8420 与处理器采用高速串行接口通信.

S3C2410A 共有117 个多功能复用输入/ 输出口(I/O 接口),分成 8 组,即 GPA~GPH,其中除了第一组只能用作输出口之外,其余7 组 I/O 接口都是输入 / 输出接口,为了满足系统设计的需求,可以通过软件对I/O 口进行配置。S3C2410A 的 I/O 接口直流供电电压为 3.3V,与 D/A 转换电路的 5V 电压不匹配,因此需要使用电平转换电路解决电平匹配的问题,实现3.3V 电平和5V 电平的相互转换。选择 S3C2410A 的 GPE 口的 GPE14(IICSCL)和GPE15(IICSDA)作为74LS245 选择信号,控制电平转换。然后通过 GPE 的 GPE5~GPE10 作为DAC8420 的控制信号,实现 D/A 功能。
4 pH 值测控系统软件设计
pH 值测控系统软件设计包括:I/O 接口驱动程序、A/D 转换程序、D/A 转换程序、数据的转换及显示程序以及控制算法等。限于篇幅原因, 本论文只介绍 p H值测控系统的 A / D 转换程序和 D / A 转换程序。
4.1 A/D转换程序设计
S3C2410A 的 A/D 转换器包含8 个通道,在接外部电压信号时,必须要共地,并且信号的电压范围必须是0~2.5V。该 A/D 转换器包含两个 ADC 转换数据寄存器:ADCDAT0 和 ADCDAT1,这两个寄存器为只读寄存器,对于普通 A/D 转换,通常使用 ADCDAT0 来保存转换后的数据,下面用程序说明使用 A/D 转换器的通道 1采集模拟数据的具体情况。(由于篇幅原因,省略 A/D转换寄存器相关的定义)。获取 A/D 的转换值。ch 表示选择的通道号,代码如下:
int ReadAdc(int ch){
int i;
static int prevCh=-1;
rADCCON = (1<<14)|(preScaler<<6)|(ch<<3);
// 设置通道
if(prevCh!=ch){
rADCCON = (1<<14)|(preScaler<<6)|(ch<<3);
// 设置通道
for(i=0;i
// 延迟并且设置下一个通道
prevCh=ch;
}
rADCCON|=0x1;
// 配置寄存器,启动A/D 转换
while(rADCCON & 0x1);
// 避免第一个标志出错
while(!(rADCCON & 0x8000));
// 避免第二个标志出错
return ( (int)rADCDAT0 & 0x3ff );
}
通过串口和串口工具可以看到采集到的转换数据,程序如下:
while(Uart_GetKey()==0){
a0=ReadAdc(0);
a7=ReadAdc(7);
Uart_Printf("AIN0: %04d AIN1: %04d AIN2:
%04d AIN3: %04d AIN4: %04d AIN5: %04d AIN6:
%04d AIN7: %04d ", a0,a1,a2,a3,a4,a5,a6,a7); }
rADCCON=(0<<14)|(19<<6)|(7<<3)|(1<<2);
// 待机方式减少功率损耗
Uart_Printf(" rADCCON = 0x%x ",
rADCCON);// 串口输出此时的 rADCCON 的值
运行结果如图 4 所示。

4.2 D/A转换程序设计[3][4]
S3C2410A 通过 DAC8420 进行控制信号数据转换时,首先将片选信号 CS 置 0,将异步 DAC 寄存器载入控制信号LD 置1。通过串行输入接口SDI 将符合DAC8420格式的数据分为两个字节输入串 / 并转换寄存器,头两位A1、A2 用于选择寄存器 A~D,后 12 位D11-D0 是具图 4 串口工具显示采集到的转换数据体数字。数据转换完毕后,将 LD 置 0,在 LD 的下降沿,串行输入寄存器里面的数据将被移到寄存器A~D,将LD置1,完成一次的数据转换。(注:由于篇幅关系,对于程序中涉及到的 I/O 地址以及延时子程序省去)
void DA_OUT(void)
{ unsigned char i=0,m=128 ;
while(1)
{ DA_CLS=0;
DA_CLR=0; //DAC 输出清零
DA_CLR=1;
DA_CS=0; // 片选信号置 0
DA_LD=0;
DA_LD=1;
m=128;
for(i=0;i<8;i++) // 高8 位串行输
{if(m&DA_DATA[0])
SDI_DATA=1;
else
SDI_DATA=0;
DA_SDI= SDI_DATA; // 串行输出数据
DA_CLK=0; //DAC 时钟脉冲
delay(1); // 延时子程序
DA_CLK=1;
m=(m>>1);}
m=128;
for(i=0;i<8;i++) // 低8 位串行输出
{if(m&DA_DATA[1])
// 省略和上面相同的if-
else部分}
DA_LD=0; // 将数据移入DAC 寄存
器 A~D
delay(1);
DA_LD=1;}}
5 结束语
本文将 S3C2410A、DAC8420 运用于 pH 值测控系统中, 利用 A R M 9 处理器强大的数据处理能力, 以及S3C2410A 处理器丰富的I/O 接口,通过74LS245 电平转换芯片解决了微处理器 I/O 输出电平与外设电平不匹配问题,利用 S3C2410A 的 ADC 控制器以及外扩 D/A转换电路,实现了控制功能,系统有一定的应用价值。
参考文献:
[1] 李文光,黄宋魏.新型糖厂混合液pH值控制系统[J].云南冶金,2005,34(3):63-66.
[2] S3C2410A:User Manual revision 1.0[Z], SamsungElectroNIcs,2004,9-1~9-28,16-1-16-12.
[3] 吕秋霞.四路输出D/A 转换器DAC8420 及其应用[J].国外电子元器件,2004,8,62-63.
[4] 张彦,吴昌才,刘暾东等.基于串行DAC8420 芯片的模拟量输出卡设计[J].工业控制计算机,2006,19(3):19-20.
作者简介:谷海涛(1982-),男,硕士研究生,研究方向:智能检测、嵌入式系统。




