摘要: 在分析了现有系统问题的基础上,提出了基于PC/104总线的、以C8051F060MCU为核心的动态称重测量接口板的设计,C8051F060具有独立的双通道16 位逐次比较型A/D转换器等功能。经一年多的实际使用证明该设计具有简化了硬、软件设计、增强了系统的工作可靠性、降低了造价等优势。
关键词:PC/104总线;动态称重;模数转换器
被测对象处于非静止状态,即被称重或测力的物体在运动则形成了动态称重测量状态[1],如对公路上行驶的汽车或铁道上运行的火车进行实时称量测量等被称为动态称重。货物汽车超重载荷已是货运领域一个共知的事实。货物汽车的超重载荷对公路运输安全、公里路面保养状况影响巨大,国家有关部门已专项加以整顿,而汽车动态称重测量系统是治理货物汽车超重载荷的有力的技术武器之一。
在汽车动态称重测量领域已有一些动态称重仪器在使用中,但它们主要以单片机为核心、采用低精度、低速度、多元件来构成系统,这虽制造成本较低,但其可靠性、工作性能和指标等受到了极大的限制[2,3,4]。鉴于工程的实际需求,我们设计了与便携式PC/104总线计算机相配合的高性能的汽车动态称重测量接口板,克服了上述缺点并达到了预期的设计指标。
与便携式PC/104总线计算机相配合的高性能的汽车动态称重测量接口板的硬件电路由两部分组成:信号采集部分和与PC/104总线的接口部分。
当前测控仪器中采用的高分辨率A/D转换器多为独立的集成电路芯片,如此构成的高精度测控系统不免在抗干扰、转换精度、电路板体积以及价格等方面存在着众多的、难以解决的实际问题。使用将高分辨率A/D转换器与MCU(微控制器或称为单片机)集成到一起的集成芯片不失为解决上述问题的一种好方法。C8051F060是一个由CYGNAL公司生产的、高速的、数字与模拟电路混合的集成电路MCU芯片,它具有25MIPS的峰值工作速度、灵活的外部存储器接口和59条数据I/O接口线及两个片内的、独立通道的16 位逐次比较型A/D转换器等 [5]。这两个独立通道的16位逐次比较型A/D转换器具有如下特点:
Ø 16 位分辨率。
Ø ±0.75 LSB INL,保证无失码。
Ø 可编程的转换速率,最大可达1 Msps。
Ø 芯片内部集成了模拟输入量的跟踪保持及采样电路。
Ø 可软件设定为两个单端输入的或一个差分输入的A/D转换器。
Ø 偏移和增益在一定范围内可调整。
Ø 可进行直接存储器存取操作,数据直接存储到RAM 中,不需要额外的软件开销。
Ø 具有与数据相关的窗口中断发生器。
Ø 专用的内部电压基准或可使用外部电压基准源。
两个独立通道的16 位逐次比较型A/D转换器表达为ADCn(n=0是第一个A/D转换通道ADC0,n=1是第二个A/D转换通道ADC1)。其中,ADC0有4种转换启动方式;ADC1有5种转换启动方式。可以通过查询ADnINT位或以中断的方式来确定A/D转换何时转换结束并加以处理。
图1是动态称重测量板的信号采集部分原理图。在图中,通道1的ADC0 IN端子接于测重传感器的电桥输出端,用于采集汽车动态重量信号,该电桥输出为毫伏级的直流电压信号。因此,采用仪用放大器AD620——AMP2作为放大元件将信号放大到MCU(这里指C8051F060)内部A/D转换器通道0(ADC0)能够接受的模拟量转换范围(0-2.4V)。在AMP2前后的C5、R3和C9用于抗干扰滤波;D1和D2用于MCU内部A/D转换器通道ADC0的电压输入过载保护。放大通道的放大倍数由电阻R4的阻值(RG)决定,当RG=∞(未接放大电阻)时,通道的放大倍数(G)为1。
图1 动态称重测量板的信号采集部分原理图
AMP2的输出经滤波后送到C80C51F060片内的16位A/D转换器通道(ADC0)的外部输入引脚AIN0(MCU的18脚),数据的采样、保持和A/D转换等全部在MCU芯片内部通过软件的控制来完成。
在图1中,起始于ADC1 IN端子的A/D通道2的信号处理过程和原理与上述的相同。
C80C51F060片内的16位A/D转换器(通道0和通道1)的参考电压取自MCU内部的电压基准电路。MCU内部的电压基准电路由一个1.2V的、温度稳定性好(典型值为15ppm/℃)的、负载调整率优(典型值为0.5ppm/µA)的带隙电压基准发生器和一个两倍增益的输出缓冲放大器组成。内部基准电压可以通过VREF引脚(MCU的4脚)连到器件的外部。将VREF引脚与通道0参考电压端的VREF0引脚(MCU的21脚)和通道1参考电压端的VREF1引脚(MCU的6脚)相连,为两个16位ADC提供参考电压。该参考电压值(典型值是2.43V)决定了ADC的模拟量输入范围。
接于测重传感器电桥输入端的给定电压也源自于MCU内部的基准电压源,由双运算放大器AMP3以及R7、R8、R6和V1等组成参考电压放大、稳幅和扩流输出等电路,完成测重传感器电桥输入电压的精密给定。
由图1中可以看到,包括放大电路和测重传感器电桥输入电压的精密给定在内,该动态称重测量板的信号采集部分的硬件电路设计非常简洁。显而易见,它与传统的由多片器件组成的A/D转换器相比具有工作可靠、抗干扰能力强等优点,且价格也极具竞争能力(一片C80C51F060MCU仅售不足300元人民币)。
当二个通道的A/D转换器的启动工作由MCU的Timer3的溢出来启动并采用中断方式来取转换结果值时, ADC0或ADC1的转换结果值在相应通道的中断子程序中读取,根据需要再进行保存或做进一步的处理。在设置中应注意使Timer3的定时时间要大于或等于ADC的转换时间与转换结果值的读取时间(中断子程序的运行时间)之和。
PC/104是嵌入式PC的机械标准,他秉承了IBM PC开放式总线结构的优点,与IBM PC完全兼容,它具备嵌入式控制的特殊要求:体积小、高可靠性、长寿命、编程调试方便,所以在测试领域基于PC104的智能仪器得到了广泛应用[6]。由于PC/104总线装置具有体积小、高可靠、长寿命、编程调试方便等特点,适合于制作高密度、小体积的便携式测试仪器或控制装置。PC/104总线系统的开发平台与现有的其它通用计算机系统完全相同,故现有的所有开发软件均可以使用,所以,在测控领域基于PC/104的智能测控系统得到了广泛应用。为了便于系统的开发与使用,本动态称重测量系统采用了PC/104总线系统作为系统的设计、开发和使用平台,测量板与之配合来完成信号的采集、存储和传输等工作。
由于MCU与PC/104总线在信号工作频率和接口时序等方面很难一致,因此,MCU与PC/104总线的I/O数据接口应采用异步并行缓冲接口方式,即采用74HC373、74HC374等器件锁存PC/104总线一方数据总线的输出数据及握手信号,MCU一方依据握手信号来进行数据的读取或传送;而MCU一方的输出数据多采用通用并行口,其带有数据保持功能,因此,可用74HC244、74HC245等总线驱动芯片来进行MCU向PC/104总线的数据隔离与驱动,如此可实现双方向的异步数据传送功能[7]。
C8051F060的外部存储器接口接有一个128KB的RAM(IS62LV1024)芯片用于数据存储, MCU与PC/104总线的数据接口在C8051F060一侧由通用并行接口(P0、P1、P2和P3等)来完成,其通用并行口带有数据保持功能,因此,采用了8位总线驱动器74HC245来进行MCU指向PC/104总线的电平转移(C8051F060为3V工作电源,PC/104总线为5V工作电源)与数据驱动、而PC/104的数据总线不具有数据保持功能,因此,采用了具有三态输出控制功能的8D数据锁存器74HC374来进行PC/104总线指向MCU的数据传送、保持工作(C8051F060可直接接收5V信号电平)。由于C8051F060的P2口需双向操作功能,因此,PC/104总线与MCU的数据传送方向由来自PC/104总线的锁存信号来决定和指明。
由于测量板需要的不止是一个译码地址,为此,在使用了8位模似比较器——74HC688作为比较译码芯片进行地址译码的基础上又增加了74HC393(二——四译码器)进行细分地址译码[8]。设计中为了节省芯片而放弃了地址线A0参与译码,因此,地址译码输出R1/W1及R2/W2各占二个地址,如R1/W1可通过改变JUM1的跳线设定为200H——3C0H或201H——3C1H。这样,通过MCU与PC/104总线计算机的软件配合即可实现微机之间的命令与数据的传送。
图3 MCU程序处理流程简图
3控制软件设计
MCU与PC/104总线间的数据传送采用主/从方式,PC/104总线系统为主机,MCU为从机。为了保证主/从方式的数据传送能顺利实施, MCU采用中断方式(对应于PC/104总线D3位的MCU的P02引脚已预编程为中断响应引脚INT0并采用边缘触发方式)响应PC/104总线系统的数据传送启动,可随时进行任意字节值的双向数据传送。PC/104总线系统用C语言操作接口读、写分别采用inportb()函数和outportb()指令,其工作流程框图如图2所示。
在C8051F060MCU的程序设计中,接收PC/104总线微机的命令和与之进行数据交换采用外部程序中断方式;数据采样采用ADC中断的方式。其中,数据采样包括基值采样(无车轮压下条件的两路测重传感器输出)和轴重采样(两路测重传感器一次测汽车一个轴的重量)。C8051F060MCU程序处理流程简图如图3所示。在轴重采样中,MCU根据所给定的车辆轴数和采样门限条件自动判断车轮和测重传感器之间的位置并自动进行重量值采样。当车轮停在测重传感器上面时,MCU将根据设定的超限时间值大小自动停止数据采样。
4 结束语
现今市售的PC/104总线的接口板种类有限且价格较高,随着PC/104总线系统的大量采用,PC/104总线的接口板设计将成为了系统成败的瓶颈。提升PC/104总线的接口板的性能并降低其价格,对PC/104总线系统的应用会起到极大的推动作用。
基于PC104总线的动态称重测量板的设计经一年多的实际使用证明具有如下优点:
ü 使用的元件少并简化了硬、软件设计;
ü 增强了系统的抗干扰能力和工作可靠性;
ü 充分利用了MCU的资源;
ü 具有产品价格的竞争优势。
参考文献
[1] 施昌彦.动态称重测力技术的现状和发展趋势[J]. 计量学报.2001,22(3): 201-205.
[2] 魏鲁原,伍斌,崔霞. 动态称重系统的设计[J]. 自动化仪表. 2002,23(8): 34-37.
[3] 徐志玲. 动态公路车辆电子秤的设计[J]. 衡器. 2002,31(6): 18-20.
[4] 李业德,贾茂盈. AD7705在汽车重量测量中的应用[J]. 山东工程学院学报. 2002,16(2): 51-54.
[5] CYGNAL Integrated Products Inc. C8051F060/1/2/3 Mixed-Signal ISP FLASH MCU Family [EB/OL]. http://www.xhl.com.cn, 2004-12.
[6] 姚志军,张平,白向林. 一种基于PC104的测试仪器[J]. 现代电子技术. 2003,1(1): 57-58.
[7] 王明顺. PC/104总线与MCU之间的接口设计[J]. 工业控制计算机. 2004,9(9): 41-43.
[8] 张国范,顾树生,王明顺. 计算机控制系统[M] . 北京:冶金工业出版社,2004:25-26.