dsp调音时总是断开

dsp调音时总是断开,第1张

dsp调音时总是断开原因:

1、遇到无效地址了,可以看一下停止的地方是不是NMI中断,或是其他什么地方。

2、设置断点,看看程序是否有进入主程序,最好能看到停止前执行到那部分程序。

3、把管脚重新焊一遍,保证没有虚焊。

4、检查复位管脚的信号

5、检查晶振信号。

6、自己想办法测试一下仿真器是否正常工作。

#include "myapph"

#include "ICETEK-VC5509-EDUh"

#include "scancodeh"

// :-- Define Timer 0 's Registers ---//

ioport unsigned int tim0;

ioport unsigned int prd0;

ioport unsigned int tcr0;

ioport unsigned int prsc0;

// :-- End of Define -----------------//

void InitMcBSP(); //函数声明

unsigned int uN,nCount,nCount1; //定义外部变量

main() //主程序

{

unsigned char dbScanCode,dbOld; //定义内部变量

dbScanCode=dbOld=0;

nCount=nCount1=0;

PLL_Init(20); //初始化PLL

SDRAM_init(); //初始化SDRAM

InitCTR(); //初始化CTR

InitMcBSP(); //初始化McBSP

uN=60;

CTRGR=1;

InitInterrupt(); //初始化中断

TIME_init(); //初始化定时器

while ( 1 )

{

if ( nCount1==0 )

{

dbScanCode=GetKey(); //读取键盘输入的信息

if ( dbScanCode!=dbOld ) //如果键盘输入信息改变,执行

{

dbOld=dbScanCode;

if ( dbScanCode==SCANCODE_9 )

break;

else if ( dbScanCode==SCANCODE_7 )

PCR1|=2;

else if ( dbScanCode==SCANCODE_8)

PCR1&=0x0fffd;

else if ( dbScanCode==SCANCODE_1 )

uN=60;

else if ( dbScanCode==SCANCODE_2 )

uN=40;

else if ( dbScanCode==SCANCODE_3 )

uN=20;

else if ( dbScanCode==SCANCODE_4 )

uN=10;

else if ( dbScanCode==SCANCODE_5 )

uN=0;

}

}

}

CloseCTR(); //关显示器

exit(0);

}

void InitInterrupt(void)

{

// 设置中断控制寄存器

IVPD=0x80;

IVPH=0x80;

IER0=0x10;

DBIER0 =0x10;

IFR0=0xffff;

asm(" BCLR INTM");

}

void interrupt Timer() //中断响应函数

{

nCount++; nCount%=100;

if ( nCount>uN ) PCR2|=4;

else PCR2&=0x0fffb;

nCount1++; nCount1%=5120;

}

void InitMcBSP()

{

// IOPin: McBSP2FSR S22

//SPCR1RRST_=0,PCRRIOEN=1,PCRFSRM=1,PCRFSRP=0/1

SPCR1_2&=0x0fffe;

PCR2|=0x1400;

// IOPin: McBSP1CLKX S14

//SPCR2XRST_=0,PCRXIOEN=1,PCRCLKXM=1,PCRCLKXP=0/1

SPCR2_1&=0x0fffe;

PCR1|=0x2200;

}

void TIME_init(void)

{

tim0 = (unsigned int )0x1000;

prd0 = (unsigned int )0x1001;

tcr0 = (unsigned int )0x1002;

prsc0 = (unsigned int )0x1003;

tcr0 = 0x04f0;

tim0 = 0;

prd0 = 0x0100;

prsc0 = 2;

tcr0 = 0x00e0;

}

涉及到外设部分就得看具体的DSP型号了,查查数据手册吧。

下面是C语言的

这是软件仿真,放大倍数成2的指数幂增加(可修改放大倍数),然后在read_signals处设置断点,插入正弦数据,然后设置图像观察两个缓冲数组,inp_buffer,out_buffer

CMD文件也有,但是我再硬件上调试过,这种放大倍数增加的方法,在单步程序跑到最后就不动了。也就是放大倍数不变了。要放大100用我的2812应该不行。软件仿真完全行得通。

//-------------------------------相关头文件------------------------------------//

#include "stdioh"

#include "volumeh"

//-------------------------------工作变量定义----------------------------------//

int inp_buffer[BUFSIZE]; / processing data buffers 100 /

int out_buffer[BUFSIZE];

int volume = 2; // BUF_SIZE的定义见volumeh

//-------------------------------调用子程序规则--------------------------------//

int read_signals(int input);

int write_buffer(int input,int output,int count);

int output_signals(int output);

void Delay(void);

//-----------------------------------主程序------------------------------------//

main()

{

int num = BUFSIZE;

int input;

int output;

input=inp_buffer;

output=out_buffer;

read_signals(input); // 加软件断点和探针

// ======无限循环======

while ( TRUE )

{

write_buffer(input, output, num);

input=inp_buffer;

output=out_buffer;

}

}

// 读取输入信号

int read_signals(int input)

{

// 在此读取采集数据信号放到输入缓冲区input[]

return(TRUE);

}

// 将数据进行处理后搬移到输出缓冲区

int write_buffer(int input,int output,int count)

{

int i;

for ( i=0;i<count;i++ )

{

output[i]=input[i] volume; // 处理:将输入数据放大volume倍放到输出缓冲区

}

volume = 2;

return(TRUE);

}

// 输出处理后的信号

int output_signals(int output)

{

// 在此将输出缓冲区out_buffer中的数据发送到输出设备(比如DA)

return(TRUE);

}

DSP系统的引导程序(BOOT)是系统加电或复位时,DSP将一段存储在外部的非易失性存储器的程序代码通过DMA方式拷贝到内部的高速内存中运行。这样既能扩展DSP有限的存储空间,又能充分发挥DSP内部资源的效能。用户的代码也可以通过掩膜方式写入到DSP内部ROM中,但这样受容量和价格的限制,且不便于扩展和升级。 DSP的引导过程如下: 1) DSP复位后,通过DMA方式将外部CE1空间的数据读入到内部程序空间地址0处,读入数据的多少因芯片而异(TMS320C6712一次只拷贝1KB)。 2) DSP推出复位状态,开始执行内部程序空间地址0处的程序,这段程序先将外部主程序数据读入到DSP内部程序空间相应地址,然后跳转到主程序运行。 第一步是由芯片自动完成,关键是第二步:用户需要编写相应的汇编程序,实现二次引导,即用户主程序的装载

上面格式出错,不好意思。有一个对Cache的 *** 作函数如下:/ Cache Settings /XDAS_Void TestApp_EnableCache(void){ BCACHE_Size size; sizel1psize = BCACHE_L1_32K; / L1P cache size / // 32 sizel1dsize = BCACHE_L1_16K; / L1D cache size / // 16 sizel2size = BCACHE_L2_64K; / L2 cache size / // 64 / Set L1P, L1D and L2 cache sizes / BCACHE_setSize(&size); / Cache Enable External Memory Space / / BaseAddr, length, MAR enable/disable / / Cache 0x80000000 --- 0x8FFFFFFF / BCACHE_setMar((Ptr )EXT_MEM_BASE, EXT_MEM_SIZE, BCACHE_MAR_ENABLE); BCACHE_wbInvAll(); / No need to call BCACHE_wait() /} / TestApp_EnableCache /主程序如下:For (){SIO_reclaim(inStream,(Ptr )&rcv, NULL));SIO_issue(inStream, rcv, SIO_bufsize(inStream), NULL);}如果在for前调用TestApp_EnableCache(),会在SIO_reclaim阻塞,不调用则不会阻塞。不知道有没有人遇到过怎样的问题??

刘科满 刘修善 杨春国 张进双

(中国石化石油工程技术研究院,北京 100101)

摘 要 针对电磁波随钻测量系统易于受到井场噪声影响的现象,提出一种基于ZigBee协议的远程微弱低频电磁波阵列接收处理方法,用于电磁波随钻测量系统的电磁波信号远程接收及井下信息实时测量领域,以提高随钻测量系统地面接收机的检测性能。实验结果表明,该方法较传统的接收方法可提高处理增益10dB左右,在随钻测量领域具有良好的应用前景。

关键词 电磁波随钻测量 阵列信号 电磁波 ZigBee协议

Research of Remote Electromagnetic Signal Reception andProcessing Based on ZigBee Technology

LIU Keman,LIU Xiushan,YANG Chunguo,ZHANG Jinshuang

(SINOPEC Research Institute of Petroleum Engineering,Beijing 100101 ,China)

Abstract An algorithm of reception and processing of remote electromagnetic signal of Electromagnetic Measurement While Drilling System based on ZigBee technology is presentedThe proposed method measured the electromagnetic signal by using an electrode array far away from a well site,which can enhances the communication receiver's ability to extract very weak signals from amounts of ambient environmental noiseThe experimental results taken from a well site show that the proposed method can enhance the processing gain of10dB,and has good prospects for applying it to an Electromagnetic Measurement While Drilling system

Key words Electromagnetic Measurement While Drilling;array signal processing;electromagnetic wave; ZigBee protocol

电磁波式随钻测量系统(Electromagnetic Measurement While Drilling,简称EM -MWD)作为解决气体钻井及各种充气钻井中随钻测量问题的主要技术手段,一直备受国内外石油服务公司的关注。然而,由于EM -MWD工作环境的特殊性,低频电磁波在地层介质中传播时不可避免地受到信道介质的影响,特别是在非均匀性分布地层传输信道介质中,电磁波传播的衰减、畸变更为严重,导致EM -MWD系统的传输性能急剧退化,使得其传输深度大大降低[1~4]。因此,在井场噪声和信道噪声干扰下,低频电磁波信号的接收与处理技术研究一直是EM -MWD系统研究的重点与难点。

目前,EM -MWD系统的地面接收机主要是采用检测地面电极与井架间携有井下信息的电磁信号来获取井下信息,电极与井架间距离约100m。其工作原理是:耦合变压器来感应携有井下信息的微弱电磁信号,然后通过前置放大器、低通滤波器等对数据进行处理,最后采用数字信号处理技术对携有井下测量信息的电磁信号解码,获取井下信息。专利申请号200810101407发明了一种使用两幅天线分别接收井下发送的电磁信号和井场噪声信号的EM-MWD系统,其地面接收机具有处理井下发送上来的携带有测量数据信息的电磁信号功能[5]。专利申请号200410005527X发明了一种能够处理媒质中的电磁波信号的随钻测量遥测系统[6]。专利申请号201020985700发明了一种用解决井上测量系统拾取微弱电磁信号困难的问题。以上这些专利都是在井场电磁干扰环境下处理微弱电磁信号,然而这些方法不同程度地易受井场电磁噪声干扰,特别是这种接收方式易于受到井场各种电气设备如钻机、柴油机、发电机、泥浆泵、传动链条、振动筛等设备产生的电磁噪声的影响,使得EM -MWD系统地面接收机处理低频电磁信号的性能严重退化,接收灵敏度大大降低。

基金项目:国家重大专项《海相油气井井筒环境监测技术》(2011ZX05005-006)。

针对电磁波随钻测量系统易于受到井场噪声影响的现象,作者提出了一种基于ZigBee协议的远程微弱低频电磁波阵列接收处理方法,该方法以阵列信号处理为核心,用传感器阵列方式接收处理携有井下测量信息的微弱电磁波信号,采用ZigBee协议芯片实现信号的远程传输。该方法可有效地降低井场噪声对EM-MWD的影响,提高EM-MWD系统地面接收机的处理增益和灵敏度。

1 EM-MWD远程接收系统设计

11 EM-MWD远程接收系统工作原理及主要完成功能

EM-MWD远程接收系统由井场接收机和远程接收机组成;其中远程接收机包括传感器阵、耦合变压器、前置放大器、带通滤波器、DSP信号处理器和无线收发器。电磁波随钻测量系统远程无线接收系统如图1所示。

图1 电磁波随钻测量远程无线接收系统

电磁波随钻测量远程无线接收系统工作原理如下:定向探管测量井下信息,并按照指定的协议方式将测量信号传输至井下发射机,井下发射机在对测量信息进行编码和调制后,将携有井下测量信息的电磁波发出去,电磁波通过钻杆、裸露的井壁以及地层将电磁波传输至地面,安装在地面的远程传感器阵接收电磁波信号,接收到的电磁波信号经过滤波、放大、解调等处理后,再进行编码、加密等环节,通过基于ZigBee技术的无线收发器发射出去,井场接收机接收无线信号,将接收到的数据进行保存管理,并在司钻指示器上井下显示。

远程接收完成的主要功能有:(1)采用传感器阵列接收远离井场的井下EM -MWD系统发射的信号;(2)对接收到的微弱电磁波信号进行信号、消噪、叠加等处理;(3)将处理后的信号打包、加密,采用ZigBee协议模块发射。

远程无线接收系统与现有的电磁波随钻测量系统的不同在于:(1)增加了ZigBee技术,即使得地面电极远离井场,可有效地降低井场噪声干扰;(2)采用阵列接收方式,即采用多通道信息采集技术,并利用阵列信号处理技术,进行信号处理,降低噪声干扰。

12 传感器阵设计及阵列信号处理技术

现有的EM -MWD系统采用单通道差分接收方式接收井架与地面电极间的信号。为了有效地降低井场噪声的干扰,采用地面电极阵列接收携有井下信息的电磁信号。

假设接收装置的传感器组为N个阵元的天线阵,如图2所示。多通道的远程接收装置信号处理框图如图3所示。

图3 远程接收装置信号处理框图

阵元编号为1#、2#……N#,等间距阵元间距为d(图4),发射机载波频率为ω,波长为λ,传播速度v,信号到达2#阵元较1#阵元的传播时间延迟为τ,延迟路程为u,则相邻阵元间延迟为

图4 远程地面接收线阵

油气成藏理论与勘探开发技术:中国石化石油勘探开发研究院2011年博士后学术论坛文集4

假设所接收信号为X(t),有用电磁信号为s(t),噪声为n(t),则有

油气成藏理论与勘探开发技术:中国石化石油勘探开发研究院2011年博士后学术论坛文集4

则观测到的信号的总响应为

油气成藏理论与勘探开发技术:中国石化石油勘探开发研究院2011年博士后学术论坛文集4

油气成藏理论与勘探开发技术:中国石化石油勘探开发研究院2011年博士后学术论坛文集4

λ0是X(t)的中心频率对应的波长。

根据发射机发射频率、阵元间距、延迟等参数,可布设合适的传感器阵。从信号分析的观点来说,接收到的含有井下信息的电磁信号和干扰波之间存在以下不同:(1)载波信号的谱与噪声谱不同;(2)统计规律不同。因此,可采用数字信号处理技术如信号叠加法、时频滤波法等,从而有效地降低噪声干扰,提高处理增益和接收灵敏度。在EM-MWD远程接收系统中采用阵列设计的目的是为了最大限度地提高接收数据的信噪比,降低井场噪声的影响。在实际实施过程中,需合适地安排和选择接收点及其相互位置。采用线列阵而不是面阵,避免了调试的复杂性,降低了成本。

对于电磁波随钻测量系统的远程接收系统来说,远程接收系统采用单片机或DSP系统,构建远程主控单元,利用DSP强大的信号处理能力,对接收到的阵列信号进行处理,将处理结果通过ZigBee协议模块发送至井场接收机。本设计选用TMS320LF2812和含有ZigBee协议模块的芯片构建远程小型接收装置,井场接收机也配置同样ZigBee协议模块即可。这样,远程接收装置即可将远程的传感器阵列接收微弱电磁信号传输至井场接收机,完成远程信息的采集、接收和处理功能。电磁波随钻测量系统的远程接收系统监控软件设计包括DSP主程序、算法处理程序和监控程序。其中DSP程序和算法处理程序采用C语言编写,监控程序采用Labview编写。地面接收机软件包括DSP程序和地面监控程序。采用C语言编程实现,主要完成信号与噪声数据采集、A/D转换、数字滤波、解码,并通过RS-232接口与数传模块连接,数据由数传模块发送出去。此处不再赘述。

2 实验结果分析

2010年10月该系统在华北大牛地气田D66-129井进行了现场实验。电磁波随钻测量系统的远程接收系统的主要工作参数如下:EM-MWD远程接收系统的前置放大器放大倍数为1~100000倍可调,带通滤波器的频带范围为1~35Hz,带宽可调;井下发射机发射信号频率为3~25 Hz(根据地层特性可调);地面电极距井架500~1000 m,共用电极8组;采样8通道数据;观测灵敏度在-120dBV左右。图5给出了实时采集的井场噪声波形。采样频率fs=2000Hz。从图5可以看出,EM-MWD系统工作频带内存在两根线谱,即6Hz和116Hz。井场发电机组及相关钻井设备的50Hz工频也是井场噪声的主要组成部分。而发射机发射信号频率10Hz线谱很难从噪声谱中发现。

图5 D66-129井井场噪声波形

采用8通道数据采集后,利用式(6)和式(7),可得到图6所示噪声谱,明显看出,图7发射机频率的10Hz线谱较图6的10Hz线谱提高10dB左右。需要说明的是,由于井场工作设备仪器的启停在很大程度上会影响原有的EM-MWD系统的工作性能,特别是当较大功率的用电设备(如发电机组、泥浆泵)工作时。

图6 D66-129井井场噪声谱

图7 经过阵列信号处理后观测到的噪声谱

通过对D66-129井和DPS-2井的井场噪声分析,发现当关闭转盘或顶驱时,井场噪声近似平稳高斯分布;而当开启转盘或顶驱时井场噪声具有明显的非平稳、非高斯特性。这种非平稳、非高斯特性的噪声,直接影响着目前国内外EM-MWD系统的地面解码性能,特别是当转盘开启或顶驱开启时,数据误码率升高,数据的可信度降低。本文提出的远离井场的接收方法,虽然在一定程度上使得接收信号的幅度降低,但是噪声幅度的下降程度较信号的下降程度更明显。通过阵列信号处理及多通道数据叠加,可以有效地提高远程接收系统的处理增益。ZigBee远程接收装置,采用纽扣电池供电,这种采用ZigBee远程接收的方式,既省去了野外远距离布线的不便,又大大降低了成本。

3 结 论

本文提出的基于ZigBee协议的远程微弱低频电磁波阵列接收处理方法,用于解决目前EM -MWD系统的电磁波信号易于受到井场噪声干扰的问题。

通过现场试验表明:

1)在距离井架100m以外安放地面电极时,随着电极距离井场位移的增大,在相同的工作条件下,噪声的衰减幅度较信号的衰减幅度明显。

2)布设合适的传感器阵时,需考虑井下发射机以及井眼位置,特别是发射机发射频率、阵元间距、延迟等参数。实验结果表明,本文提出的方法较传统的接收方法可提高处理增益10dB左右。

参考文献

[1]刘修善,杨春国,涂玉林我国电磁随钻测量技术研究进展[J]石油钻采工艺,2008,30(5):1~5

[2]刘修善,侯绪田,涂玉林电磁随钻测量技术现状及发展趋势[J]石油钻探技术,2006 34(5):4~9

[3]McDonald W JFour different systems used for MWD[J]Oil &Gag,1978,76(14):115~124

[4]Soulier,Louis,Lemaitre,MichelE M-MWD Data Transmission Status and Perspectives[C]SPE/IADC 25686,1993:121~128

[5]刘修善,高炳堂,杨春国,等一种电磁随钻测量系统的地面信号接收装置及其接收方法[P]中国:200810101407,2008

[6]苏义脑,盛利民,李林一种随钻测量的电磁遥测方法及系统[P]中国:200410005527X,2004

[7]弓志谦一种用于电磁波随钻测量的地面信号接收仪[P]中国:2010202985700,2010

以上就是关于dsp调音时总是断开全部的内容,包括:dsp调音时总是断开、DSP直流电动机程序注释、关于dsp内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9828131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存