基于FPGA的石油测井控制系统
扫描二维码
随时随地手机看文章
摘要:针对石油测井仪器须将地下传感器发送的不同数量级信号进行识别并恢复原始数值,从而方便地面分析地下情况,本文介绍了一种基于FPGA和DSP的石油测井控制系统的软硬件设计与实现的新方法,采用FPGA芯片EP1C6T144C8进行主要时序控制,DSP做算法运算,不依靠GPIO而用数据总线来控制放大模式位。调试以及现场试验结果表明,该系统能够准确的实现对整支测井仪器的控制,并且恢复原始数据。
关键词:EP1C6T144C8;数据总线;FPGA;DSP;GPIO
随着测井技术的日益发展,针对地质构造的复杂性,以及传感器采集信号数量级的差异,对测井仪器实时性,可靠性以及运算速度要求的不断提高,为了能够实时准确的实现整只测井仪器的控制以及原始数据的恢复,本研究利用FPGA和DSP为主要芯片设计完成了测井控制系统。本研究采用数据总线和地址总线共同传输放大倍数状态位,从而节省了DSP有限的外部接口,经验证该方法稳定性的实现了数据的恢复和硬件的简化。
1 方案设计
兼顾本系统的处理速度以及功耗与扩展需要,本系统采用ALTERA公司的Cyclone系列EP1C6T144C8型FPGA作为本系统的主要逻辑控制器,该芯片完全可以适合测井系统的处理速度,功耗和扩展性完全满足系统需要。
针对石油测井仪器采集端采集的数据有不同的放大倍数,FPGA和DSP数据处理端要根据不同的放大倍数恢复原始数据,由于FPGA的GPIO接口有限,EP1C6T144C8有70个I/O,DSP芯片TMS320F28335地址线20根,数据总线16根,片选信号3个,写和读使能3个,XREADY信号1个,XCLO CKOUT时钟1个,FPGA要产生的控制信号16个,跑马灯信号6个,加起来还剩4个I/O,即用于放大倍数位的I/O不够,为了达到采集速率要求和简化电路要求,故采用数据总线和地址总线共同传输放大倍数状态位,从而节省了DSP有限的外部接口,以至于可是完全放弃GPIO接口的应用。
2 系统硬件设计
整个系统以FPGA为逻辑时序控制芯片,DSP为算法运算芯片,主要有3个模块组成,包括DSP和FPGA模块,电源模块,CAN收发模块。系统详细构成如图1所示。
2.1 控制信号硬件设计
系统由FPGA产生测井仪器的控制信号,包括扫描模式信号,复位信号,采集时钟信号,三电平控制信号等。控制信号硬件设计如图2所示。
其中多路开关芯片为HI1—5051,该芯片有+15 V和-15 V电平,通过control3和control4来控制多路开关的开和关,从而输出所需要的三电平,实现命令字的发送。放大器由两个三极管2N2222组成,由control1和control2控制基极的输入,从而控制开断,生成所需要的updata go信号,同时updatago也承载着由接口输入的数据,连着三极管的集电极,经过比较器LM111,输入到FPGA进行处理。
2.2 放大倍数运算硬件设计
系统由DSP进行算术运算,由FPGA将数据传入DSP,计算出测井仪器不同数据的放大倍数,并发送到FPGA,由FPGA按一定时钟发送到下一短节进行识别,从而控制测井仪器的精确动作。原电路由DSP产生不同的放大倍数,分由GPIO的逻辑1或0来发送到FPGA,根据不同的GPIO口定义不同的放大倍数然后完成下发。当放大倍数过多时,FPGA的GPIO口就不够用了,为了减少GPIO口资源的浪费,本系统采用直接由数据总线发送,这样既减少了资源浪费,又提高了发送效率。
放大倍数运算硬件设计如图3所示。
其中写RAM中存放数据,RAM用的是双端口RAM,由数据总线,地址总线,写使能,读使能和写时钟,读时钟等信号组成。读RAM中存放由DSP运算得出的放大倍数,通过片选信号和读、写使能信号控制数据的传输。本系统中/xzcs6控制写片选,即由FPGA写入DSP的数据存在/xz cs6片选的存储映射区域。/xzcs7控制读片选,即DSP下传的放大倍数存放在DSP中由/xzcs7片选的存储映射区域。
2.3 CAN总线硬件设计
在C28X DSP忠使用的增强型控制器区域网络(eCAN)模块与现行的CAN2.0标准兼容。它可使用已制定的协议在存在电子噪声的环境中与其他控制器进行串行通信。借助32个完全可配置的邮箱和事件标志(time-stamping)特性,eCAN模块提供了一种具有通用性和鲁棒性的串行通信接口。
系统除了计算放大倍数,还要将由井底传过来的数据上传到地面计算机进行地况估计,该系统用CAN总线传输数据,CAN总线硬件设计如图4所示。
该系统CAN传输速率为800K,由三电平的命令字决定传输数据模式。
3 系统软件实现
3.1 DSP软件实现
DSP把FPGA写过来的数据进行分析,然后判断出数据实际放大倍数,进行还原,然后再将放大倍数发送到FPGA,具体步骤如下:
1)根据数据的放大倍数位,判断数据实际数值,将6个极板数据进行还原平均,算得平均值;
2)与门限比较,得出具体放大倍数,并写入到XZCS7片选映射存储区域内;
3)将传感器数据通过CAN发送到上位机;
这样就将放大倍数存起来,当WE和XZCS7同时使能时,按FPGA的读时钟通过数据总线写入到FPGA中。这样就省去了不同放大倍数由不同的GPIO控制的麻烦。
3.2 FPGA软件实现
经调试,系统控制和数据传输都完美实现,现只将放大倍数的形成时序写出,如图5所示。
写使能信号WE和片选信号XZCS7共同决定放大倍数是否从DSP发送到FPGA,其中DADDR是地址,由于FPGA还要将放大倍数发送到位移位存储总线寄存器CD4094中所存,其中D味锁存端,START为CD4094的数据输入,即放大倍数,CLK为锁存时钟。
4 系统验证与结论
整支仪器组装完成后,进行联调,不同的传感器和不同的放大倍数,该系统都完整的精确的将数据恢复出来,并且传到上位机,上位机结果如图6所示。
数据首位表示不同的放大倍数,其中2表示放大2倍,RawView为原始数据。2E66代表4 V,与试验所加电压完美对应。对每个放大倍数都做了试验,结果令人欣喜。
5 结束语
文中阐述了由FPGA和DSP采用数据总线传输放大倍数的方法,实现了石油测井系统放大倍数的发送和原始数据的恢复。