基于PIC单片机的便携式测试记录仪设计
的表头参数判断当前数据片是否已写满。若已写满,则在LCD上显示无写空间标记代码,然后返回休眠状态;否则,将记录写入记录指针所指向的数据片中,同时对表头参数进行修改。在写过程中,重要的是处理疵点单元。尽管24LC65在写过程中出现的疵点概率极少,但若不正确处理,则会导致目标数据丢失甚至出现系统死机现象。作者曾采用数据轮询技术进行容错处理,收到了良好的效果。其基本思想是:每当在数据线上写完1字节数据后,便反复查询24LC65回送的应答信号,但最多不超过50次(此数足够24LC65写入时间);若超过查询次数仍无应答信号,便认为该单元为疵点单元,将其地址记入疵点单元地址队列,并使疵点单元计数器加1,然后在下一比邻单元继续写入原数据。如果连续两单元为疵点单元,则认为整个芯片有问题,此时,在LCD上显示该单元所在的芯片号(芯片号参见图1),然后,返回休眠状态。
对读来说,首先判断数据片是否为空。若为空,则在LCD上显示无记录标记代码,然后返回休眠状态。否则,继续判断数据片是否有疵点,如果无疵点,则从数据片首址开始按序读出所有记录;否则,在按序读记录过程中,根据疵点单元地址队列内容,跳过所有疵点单元,以保证读出的记录连续、真实、可靠。
2.2.2采集驱动程序设计
A/D转换器MAX189所带串口与单片机PIC16C74的SPI口完全兼容。因此,在A/D转换完成后,只要启动单片机SPI口产生13个同步时钟脉冲便可连续两次从SPI数据缓冲器上获得12位转换结果。由于本记录仪采集的参数个数依现场安装的传感器数不同而不同,因此,驱动程序必须能予以自动识别。图2为采集驱动程序流程,其基本设计思想是:首先读识别片,以确定实际安装的传感器数量,然后从0通道传感器开始进行采集,直到实际安装的最后一个传感器采集完毕为止。图2中:CHAN:通道寄存器;COUNT:传感器数量寄存器。
3测试设计
测试设计是通过测试程序完成对记录仪本身各功能硬件的性能测试。测试程序独立于实际应用程序,在单独的单片机中,使用时只要拔掉记录仪模板上的单片机而用其代之即可。测试程序设计的基本思想是:首先根据不同测试对象(即部件)产生不同的测试数据和测试期望数据,然后以测试数据为入口参数,调度相关驱动程序产生目标数据,最后用测试期望数据与目标数据进行比较,以此判断所测硬件性能之良劣。
3.1E2PROM测试设计
E2PROM测试需要与PC机通讯。其基本原理是:首先产生8种测试数据:0x00、0xff、0x55、0xaa、0x0f、0xf0、0x5a、0xa5(0x表示16进制数),然后分别以此8种测试数据为入口参数,交替调度写、读E2PROM驱动程序3次(即先写后读3次)。每读一次,与测试期望数据(此处测试数据与测试期望数据相同)进行比较,若不相等,则对相应片错误计数器加1。测试结果实时地显示在记录仪LCD和PC机上。LCD只显示总错误个数,PC机则依次显示、保存总错误个数及错误单元地址。
3.2A/D测试设计
A/D测试也需要与PC机通讯。由于本记录仪最多可采集8路传感器参数,因此,测试程序对键盘重新定义如下:当手动、自动、通讯、打印、清零键有键按下时,对应测试0~4通道传感器;当手动、自动、通讯键其中之一与清零键同时按下时,则对应测试5~7通道传感器。测试只对放大器满量程的10%、50%、90%等3点进行采集 《基于PIC单片机的便携式测试记录仪设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/171303.html
对读来说,首先判断数据片是否为空。若为空,则在LCD上显示无记录标记代码,然后返回休眠状态。否则,继续判断数据片是否有疵点,如果无疵点,则从数据片首址开始按序读出所有记录;否则,在按序读记录过程中,根据疵点单元地址队列内容,跳过所有疵点单元,以保证读出的记录连续、真实、可靠。
2.2.2采集驱动程序设计
A/D转换器MAX189所带串口与单片机PIC16C74的SPI口完全兼容。因此,在A/D转换完成后,只要启动单片机SPI口产生13个同步时钟脉冲便可连续两次从SPI数据缓冲器上获得12位转换结果。由于本记录仪采集的参数个数依现场安装的传感器数不同而不同,因此,驱动程序必须能予以自动识别。图2为采集驱动程序流程,其基本设计思想是:首先读识别片,以确定实际安装的传感器数量,然后从0通道传感器开始进行采集,直到实际安装的最后一个传感器采集完毕为止。图2中:CHAN:通道寄存器;COUNT:传感器数量寄存器。
3测试设计
测试设计是通过测试程序完成对记录仪本身各功能硬件的性能测试。测试程序独立于实际应用程序,在单独的单片机中,使用时只要拔掉记录仪模板上的单片机而用其代之即可。测试程序设计的基本思想是:首先根据不同测试对象(即部件)产生不同的测试数据和测试期望数据,然后以测试数据为入口参数,调度相关驱动程序产生目标数据,最后用测试期望数据与目标数据进行比较,以此判断所测硬件性能之良劣。
3.1E2PROM测试设计
E2PROM测试需要与PC机通讯。其基本原理是:首先产生8种测试数据:0x00、0xff、0x55、0xaa、0x0f、0xf0、0x5a、0xa5(0x表示16进制数),然后分别以此8种测试数据为入口参数,交替调度写、读E2PROM驱动程序3次(即先写后读3次)。每读一次,与测试期望数据(此处测试数据与测试期望数据相同)进行比较,若不相等,则对相应片错误计数器加1。测试结果实时地显示在记录仪LCD和PC机上。LCD只显示总错误个数,PC机则依次显示、保存总错误个数及错误单元地址。
3.2A/D测试设计
A/D测试也需要与PC机通讯。由于本记录仪最多可采集8路传感器参数,因此,测试程序对键盘重新定义如下:当手动、自动、通讯、打印、清零键有键按下时,对应测试0~4通道传感器;当手动、自动、通讯键其中之一与清零键同时按下时,则对应测试5~7通道传感器。测试只对放大器满量程的10%、50%、90%等3点进行采集 《基于PIC单片机的便携式测试记录仪设计(第3页)》