您的位置 首页 产品

高速PCI信号采集卡规划与完成归纳实例之:样机的调试办法和技巧

不管是复杂的电子系统还是简单的电路,样机的调试都是有一些基本步骤的。对于本案例的信号采集设备同样如此。最先进行的就是电源系统的调试,包括是否有短路、断路,是否有虚焊,各电压系统是否正常,电源模块输出电

13.8样机的调试办法和技巧

不管是杂乱的电子体系仍是简略的电路,样机的调试都是有一些根本进程的。关于本事例的信号收集设备相同如此。

最早进行的便是电源体系的调试,包括是否有短路、断路,是否有虚焊,各电压体系是否正常,电源模块输出电流是否满足驱动负载等。只要电源体系正常作业,才干谈得上完结体系功用。

完结了电源体系的调试后,PCI信号收集卡的下一个作业便是对PCI954进行装备。用户可以经过编程器或许PLXMon东西在线进行烧写。这个装备进程确保主机操作体系可以辨认出硬件设备。

主机可以正确地辨认硬件设备后,需求进行设备驱动程序的装置。

经过上述进程,主机现已可以正确地辨认设备,并为用户供给了可供操作的API接口。接下来要做的调试作业便是硬件工程师要完结的FPGA逻辑规划和软件工程师要完结的运用软件规划。但这两部分并不能肯定分隔进行规划,由于不管是对设备的I/O操作仍是DMA操作都需求进行地址空间映射,因而都需求在软件和硬件进步行相应的规划。

在本体系的FPGA调试和软件联调中,咱们运用了两个简略的例子来验证体系是否可以正常的作业。一个是直接用FPGA操控的跑马灯实例,另一个是经过运用软件操控的跑马灯实例。

13.8.1没有PCI操控的跑马灯

本实例仅用FPGA内部逻辑对LED进行操控,完结跑马灯。经过本实例可以查验FPGA的两种装备形式是否正常作业,一起可以学习运用QuartusII软件开发和装备FPGA的流程。

如图13.23是本实例的体系框图。

图13.23跑马灯体系框图

其间计数分频器是经过计数器将晶振的40MHz时钟进行分频,发生的低频时钟作为LED状况机的操控时钟。LED状况机运用4个状况别离表明4个LED的亮灭,状况转化经过状况机的时钟上升沿触发,完结跑马灯。

下面是这个实例FPGA内的首要Verilog源代码。

//–计数分频————————————-

always@(posedgeclkin)

count=count+1; //分频计数器

assignclk=count[24]; //状况机时钟

//–LED操控——————————–

always@(posedgeclk)begin

case(state)//跑马灯状况操控量

2d0: led=4b0001; //D1亮

2d1: led=4b0010; //D2亮

2d2: led=4b0100; //D3亮

2d3: led=4b1000; //D4亮

endcase

state=state+1;//跑马灯状况改变

end

13.8.2根据PCI操控的跑马灯

本实例运用运用程序经过PCI总线(PCI9054)来对FPGA内部逻辑参数进行装备,完结对LED的操控。经过本实例可以查验开发板的驱动以及PCI的实时操控,一起学习运用程序和PCI9054进行通讯的办法。

如图13.24所示为本实例的体系框图。

图13.24根据PCI操控的跑马灯体系框图

其间PCI本地操控器完结与PCI9054的接口通讯,获取LED操控运用程序宣布的触发信号。LED操控器包括LED状况机并承受PCI本地操控器的触发信号,经过判别LED触发的类型决议发动单个LED操控或LED状况机。

下面是这个典范FPGA内的首要Verilog源代码。

//–计数分频————————————-

always@(posedgeclkin)

count=count+1; //分频计数器

assignclk=count[24]; //状况机时钟

//–LED操控——————————–

always@(posedgeclk)begin

case(LEDByControl) //状况操控量

8d1: led=4b0001; //PCI操控D1亮

8d2: led=4b0010; //PCI操控D2亮

8d3: led=4b0100; //PCI操控D3亮

8d4: led=4b1000; //PCI操控D4亮

8d5: case(state) //跑马灯状况操控量

2b00: led=4b0001; //跑马灯D1亮

2b01: led=4b0010; //跑马灯D2亮

2b10: led=4b0100; //跑马灯D3亮

2b11: led=4b1000; //跑马灯D4亮

endcase

default:led=4b0000; //跑马灯全灭

endcase

state=state+1; //跑马灯状况改变

end

//–PCI本地操控器——————————-

always@(posedgeclkin)

lholda=lhold; //PCI本地总线占用恳求及应对

always@(posedgeclkinornegedgelrst)begin

if(!lrst)begin//PCI9054复位

readyflag=1b0;

LEDByControl[7:0]=8b0;

end

elseif(!adslwrblastla[13:0]==14b1)

readyflag=1b1;//开端建议LED操控字IO装备

elseif(adslwrblastreadyflag==1b1la[13:0]==14b1)

readyflag=1b1;//捕获建议操作

elseif(adslwr!blastreadyflag==1b1la[13:0]==14b1)begin

LEDByControl[7:0]=ld[31:24];//进行LED操控字IO装备操作

readyflag=1b0;

end

else begin

LEDByControl[7:0]=LEDByControl[7:0];//坚持LED操控字

readyflag=1b0;

end

end

在进行FPGA的逻辑规划时,选用一种叫做虚拟逻辑分析仪的技能,可以增强咱们诊断体系的才能。AlteraFPGA供给的虚拟逻辑分析仪称为SignalTap,Xilinx中也有相同功用的产品称为ChipScope。

SignalTapII逻辑分析仪是Altera第二代体系级调试东西,可以获取、显现可编程片上体系(SOPC)的实时信号,协助工程师在其体系规划中调查硬件和软件的交互作用。在可编程逻辑市场上,SignalTapII逻辑分析仪专用于QuartusII软件,与其他嵌入式逻辑分析仪比较,它支撑的通道数最多,抽样深度最大,时钟速率最高。

如图13.25所示为操控其间一个LED时的PCI本地时序图。

图13.25操控1个LED的PCI本地时序图

如图13.26所示为操控4个LED进行跑马灯时的PCI本地时序图。

图13.26操控4个LED跑马灯的PCI本地时序图

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/199773.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部