用SoC的DMA方式记录井下钻具的振动
软件设计
本文引用地址:https://www.eepw.com.cn/article/84906.htm在该测控系统中,采用VB语言编写上位机程序,采用C51语言编写下位机程序。通过上位机来控制下位机执行相应的任务。由于该系统的SoC集成有UART,可以通过PC机的RS232串口实现通信,下位机每次接收到任务命令后,下位机程序跳入到相应的串行中断程序中执行任务。下位机主程序包括连续启动DMA程序、调用片外存储器K9F2808UOC的写程序,将用DMA方式采集的512字节送到K9F2808中,实现采集与存储同步进行。主程序流程图如图3所示。子程序主要包括:晶振初始化、端口初始化、串口初始化、ADC初始化、DMA初始化、定时器3初始化、片外存储器K9F2808UOC的擦除程序、延迟程序等。
图3 下位机主程序流程图
这里,晶振初始化主要完成对外部振荡器使用的配置;端口初始化完成对端口p0~p7的初始化配置;串口初始化完成对定时计数器T0和T1的配置及对波特率的设定;ADC0初始化对ADC0进行配置;DMA0初始化主要完成对DMA0的配置,设置外部数据存储器开始值,ADC0开启模式等;定时器3初始化主要完成对重装载值的设定,激发ADC0进行采集;片外存储器K9F2808的擦除程序完成对K9F2808内数据的擦除。
性能测试与室内实验
硬软件调试结束后,我们把测试电路和传感器送到石油仪器仪表质量检验中心的标准振动台上,在(10g,1000Hz)、(25g,100Hz)、 (25g,200Hz)、(25g,1000Hz)条件下对测试系统进行标定,证明对振动幅度的测量精度为1%,振动频率的测量精度为5‰,这样的精度可以满足导向钻井系统对振动测量的要求。
参考文献:
1. 周静,付鑫生.利用敏感井底钻具振动传递地面信息的方法[J] . 石油学报,2005.2
2. 童长飞. C8051F系列单片机开发与C语言编程[M]. 北京:北京航空航天大学出版社,2005
3. C8051F060X Data sheet
4. K9F2808(16)Q(U)OC datasheet
评论