基于Ethernet的测井数据采集板卡设计
2016-05-30许磊
许磊
摘 要:设计一款测井数据采集板卡,用来处理单芯曼彻斯特编码测井仪器信号。板卡以TI公司TMS320C6745芯片为核心,利用DSP强大的数字信号处理能力,实现曼彻斯特编码信号的采集和解码,在DSP/BIOS实时操作系统下,移植NDK实现Ethernet接口。
关键词:NDK DSP/BIOS 网络接口 曼彻斯特编码
中图分类号:TP933.11 文献标识码:A 文章编号:1672-3791(2016)01(c)-0001-03
Abstract: This paper designed a well-logging data acquisition board which used to process the Manchester code signals of single conductor logging tools. The board utilized the powerful processing ability of TMS320C6745 to acquire and decode the Manchester signals, and implemented the Ethernet interface through transplantation of NDK under the real time operating system DSP/BIOS.
Key Words: NDK;DSP/BIOS; Ethernet interface; Manchester code
在网络化智能测井系统中,地面数据采集系统板卡及外围设备需具备独立IP,地面PC软件可通过路由器直接访问,同时板卡间可进行数据交互。选用TI公司浮点型数字处理芯片TMS320C6745,完成Manchester信号滤波及解码,同时芯片具备片上EMAC和MDIO,较易移植网络开发包(NDK),减小了网络接口的设计难度,大大缩短了开发周期。
1 硬件设计
1.1 硬件电路结构
采集板卡的硬件电路功能主要包括对曼彻斯特编码信号的调理和采集,下行命令的控制和驱动、网络接口等功能,硬件电路功能框图如图1所示。
板卡处理单芯测井电缆Manchester信号,速率为20.833 kbps,同时兼容工程测井仪器,模拟GR、CCL仪器。工程测井仪器信号为模拟信号,频率约2 kHz和20 Hz,且大多数时候同时工作,信号叠加。传统处理方式是通过开关切换,信号由不同电路进行前端滤波,然后数字化。这需额外开关切换面板,且使用复杂,该板卡取消前端模拟滤波和开关切换面板,增加通道选择模块,切换Manchester信号和模拟信号,通过软件滤波方式进行后续处理,设计开发上更加灵活可靠。
1.2 网络接口电路
DSP本身硬件集成EMAC和MDIO,大大简化硬件设计难度,只需PHY接口和网络变压器即可实现硬件网络接口。PHY选用NS公司的网络接口芯片DP83640。此芯片支持IEEE1588精密时间协议,为高速网络测井系统不同节点间的时间同步提供硬件解决方案。同时,芯片支持精简媒介接口RMII,为空间受限应用提供更加灵活的选择[1]。网络接口功能框图如图2所示。
PHY的网络接口连接是通过发送端(TD+、TD-)和接收端(RD+、RD-)差分对引脚实现的。他们先被连接至一个网络终端,然后连接至1∶1的磁芯变压器和一个RJ-45接口。另外,磁芯变压器对PHY的性能有很大影响,在布局布线时,注意禁止在磁芯变压器下放布信号线,防止噪声串扰[1]。网络变压器和PHY硬件接口电路如图3所示。
2 软件设计
2.1 NDK及DSP/BIOS
NDK是TI公司提供的网络编程套件,核心是TCP/IP协议栈,可实现Telnet、HTTP等应用层的TCP/IP服务,支持标准Socket编程。NDK的使用对缩短开发周期,降低开发难度,提高产品可靠性有很大帮助[2-3]。
NDK采用紧凑设计方法,用较少的资源消耗支持常规的TCP/IP服务,与操作系统和底层硬件的接口由OS.LIB和HAL.LIB等函数库提供支持,准确说,NDK由几个软件层组成,借助实时操作系统DSP/BIOS,对DSP本身硬件集成的MAC进行配置、控制等,实现网络接口功能[3-5]。
NDK移植需要DSP/BIOS操作系统支持。DSP/BIOS是TI提供的用户可裁剪实时内核,主要由三部分组成:多线程实时内核、实时分析工具及芯片支持库。主要面向实时线程调度与同步、主机与目标系统通讯以及实时监测等应用[6-8]。在DSP/BIOS下用户可为不同的任务指定不同优先级,任意时刻,内核会将CPU分配给处于就绪状态的最高优先级任务运行,大大保证了任务的实时性需求。
2.2 网络接口软件
要使用NDK,需要DSP/BIOS以及NDK本身的初始化,其中DSP/BIOS的一些配置,主要包括:(1)在DSP/BIOS配置文件CBD中创建100 ms的周期函数PRD,用来驱动时间函数llTimerTick()。(2)在DSP/BIOS中创建钩子函数,NDK_hookInit()和NDK_hookCreate(),用来保存和加载用户变量指针。(3)头文件、库函数文件等的链接指向,以及内存缓冲空间指定等。
NDK初始化包括:(1)堆栈配置和初始化,调用NC_SystemO
pen()函数进行网络组件的堆栈和存储环境初始化。(2)调用CfgNew()函数完成配置句柄的创建,加载配置信息,包括IP地址、子网掩码、主机名称等。(3)调用NC_NetStart()函数启动网络,并生成回调函数。
3 软件滤波及解码
曼彻斯特编码是一种同步时钟编码技术,数据传输时,时钟和数据同时传输到目的端,而且每位编码用“跳变”表示“0”或“1”。这样,在数据传输过程中,信号不存在直流分量,而且具有自同步能力和良好的抗干扰性能[9-10],在石油领域的测井电缆信号传输系统中有广泛的应用。信号表示形式如图4所示。
由高到低跳变表示“1”,由低到高跳变表示“0”,曼彻斯特编码的字由20位组成,3位同步,16位数据和1位校验。同步分命令同步和数据同步,命令同步用由高到低3位跳变表示,数据同步用由低到高3位跳变表示。
单芯电缆上行曼彻斯特编码信号每个字由3位数据同步开始,后面有16位数据和1位奇偶校验,AD采样率250Khz,每位数据采集12个采样点,整个数据字共采样240个点。采样点存储到FPGA的FIFO中,FIFO深度为1 024,在FIFO半满后中断DSP,DSP读取FIFO数据,然后进行滤波、解码。为了更好地适配DSP的解码算法,设计一个截止频率6Khz的高通滤波器,对AD采样数据进行数字滤波。滤波前后波形如图5、图6所示。
要对数据进行正确解码,首先要寻找同步头,寻找同步头的基本思路:通过合理门槛的设置,寻找到数据同步的正峰值,根据滤波后的同步头特点以及每位数据的采样点数,寻找前后两个负峰值,以此完成同步头的寻找,然后跳过同步头和数据之间的“间隙”,正确解码测井数据,这个“间隙”是由特定数据串经过训练得到。通过图5和图6对比可以看出,经过高通滤波后的波形更倾向于三角波,更易于峰值的判断。
4 结语
测井数据采集板卡硬件部分采用多级滤波和信号调理,以及高精度高速率A/D,数据采集处理稳定可靠,同时结合软件滤波,使得Manchester信号解码灵活准确。在网络接口设计方面,利用DSP本身集成的EMAC硬件资源,移植NDK网络开发包,缩短开发周期和硬件电路复杂度,大大提高了板卡本身的可靠性。
参考文献
[1] Brad Kennedy,David Miller. PHYTER Design and Layout Guide [Z].USA:National Instrument,2008.
[2] 曾蓉,许永辉.基于TMS320DM642的嵌入式Web服务器设计[J].电子测量技术,2013,36(5):73-74.
[3] Texas Instruments.Getting Started With the C6000 Network Developers Kit [Z].USA:Texas Instruments,2008.
[4] 张枫,郑力新,周凯汀.基于NDK的DSP网络接口移植开发设计[J].微型机与应用,2013,32(1):46-47.
[5] 梁讯.基于NDK的DSP网络编程[J].计算技术与自动化,2005,24(3):79-80.
[6] 邹昕光,谢东周,魏长安.基于DSP/BIOS的TENA中间件通信实现[J].电子测量技术,2012,35(8):130-132.
[7] 赵加祥.DSP系统设计和BIOS编程及应用实例[M].北京:机械工业出版社,2008:96-97.
[8] 鲁昌华,蔡磊,李艳红.基于DSP/BIOS II的机器视觉检测系统的研究[J].电子测量与仪器学报,2007,21(4):63-64.
[9] 陈焕光,许瑞年,沈天健,等.基于FPGA的Manchester编解码及快速化数字电源通信的实现[J].核电子学与探测技术,2008,28(3):637-638.
[10] 王铁男.基于FPGA的曼彻斯特编解码器的实现[J].石油仪器,2011,25(5):71-72.