基于PC104总线的IMU信号通信控制系统的设计
基于PC104总线的IMU信号通信控制系统的设计(精选7篇)
基于PC104总线的IMU信号通信控制系统的设计 第1篇
基于PC104总线的IMU信号通信控制系统的设计
IMU(惯性测量单元)信号的传输控制是导航系统的重要组成部分,介绍了以PC104为核心、微控制器和复杂可编程逻辑芯片组成的IMU信号通信控制系统的设计方案,从硬件结构和软件设计方面说明了系统各个模块的.功能以及模块之间的通信方式.该系统体积小、低功耗、稳定可靠,在实际应用中达到理想的效果.
作 者:张涛 徐晓苏 扶文树 ZHANG Tao XU Xiao-su FU Wen-shu 作者单位:东南大学,仪器科学与工程学院,江苏,南京,210096刊 名:测控技术 ISTIC PKU英文刊名:MEASUREMENT & CONTROL TECHNOLOGY年,卷(期):26(8)分类号:V224关键词:PC104工控机 导航系统 惯性测量单元 复杂可编程逻辑器件 双口RAM
基于PC104总线的IMU信号通信控制系统的设计 第2篇
信号显示卡是雷达嵌入式故障诊断系统中的重要组件,主要完成系统工作过程中采集信号的显示和诊断流程的指示,是重要的人机对话窗口的执行部件。因此,显示卡功能的好坏,直接关系到整个系统最终能否完成工作。
1 系统硬件设计与实现
如图1所示,该显示卡的硬件电路主要由输入匹配网络、模数转换单元、时钟产生电路、时序产生电路、控制信号产生模块和显示单元组成。
输入的模拟信号经缓冲放大以后进入模数变换器AD9054,其最高采样速率为200Ms/s,具有380MHz的模拟输入带宽。它有两个采集数据输出端口(Port A和Port B),可以选用单端口输出或双端口交替乒乓输出。A/D转换后输出的数据经两路锁存器锁存以满足后续存储器的高速写入[1]。
如图1所示,系统时序产生控制电路产生系统时钟并协调系统各部分工作步骤,它根据A/D变换采样时钟以及A/D变换器输出接口时序的要求,产生锁存器的锁存时钟,并以适当的延迟量提供存储器的读写脉冲。时序产生电路还提供地址产生器和记录长度计数器的计数时钟。系统初始化后,A/D变换就开始进行,采集到的数据不断写入存储器,这时时序产生电路仅向地址产生器提供时钟源,使其作"+1"操作,这样存储器地址递增翻转。当触发逻辑被触发后,时序产生电路使能记录长度计数器工作,并提供采样时钟作为计数时钟源。记录长度计数器到用户设定的记录长度时,时序产生电路就关断时钟开关,使存储器停止翻转,同时向PC机申请数据传输。当PC机以某种形式读取采集数据时,时序产生电路又根据PC104总线读取操作提供存储器读出地址翻转时钟,将存储器的内容按采集记录的相反顺序读出。
图1中的虚线框内包含的逻辑被集成在一片大规模高速可编程逻辑器件EP1K30内[2]。其中触发逻辑、记录长度计数器和地址产生器密切配合使系统按设定的方式工作。触发方式由软件触发,示波器卡一经运行就自动地不断抓取波形;外输入触发需要一个外输入TTL逻辑信号,待设定的逻辑信号沿到来时产生触发;信号电平触发是根据被采集信号的幅度值到或超过设定的电平值时产生触发。信号电平触发的实现通过高速逻辑信号比较器实时监测A/D变换器的输出结果,当比较结果大于或小于设定基准值时产生触发。为了能够实现预期触发,地址产生器和记录长度计数器相互结合使用。地址产生器实质上是一个双向环形计数器,如图2所示,其顺时针方向地址递增数据写入,逆时针向地址递减数据读出[3]。
计算机通过PC104总线设置显示卡的工作方式和读取采集到的数据。为了多通道同时使用,每个显示器卡有一通道号,软件逐个设置好各通道状态后可以同时或分别使能触发。各通道的外触发输入可用于多通道在同一触发时刻采样记录。PC机可通过I/O、DMA、中断等多种方式与示波器卡进行通讯或采样数据读取[4]。
2 系统软件设计
显示卡的整个结构是由PC104总线接口电路和功能电路两部分构成的,而功能电路部分单片机是核心,因此单片机软件的编写也是一个很重要的部分。单片机的程序是用C语言编写的,主要结构如下:
(1)和上位机的通信程序。其中包括读取上位机的命令,把测试数据传送给上位机,报告功能电路的状态。
(2)功能函数。其中包括AD采集程序、设置量程、复位、自动调零、自检、中断服务程序等等。
因此,显示卡软件由主程序和中断程序组成,程序如框图3和图4所示。
主程序完成开辟与遥控帧格式一致的数据区域、芯片的初始化以及串行异步数据的发送和接收。串行异步数据发送接收期间,MPU会关闭中断0和1,但这并不会影响MPU对按键的相应和处理。当82C79检测到有按键按下时,要么能够在数据发送完毕后的时间空隙内申请中断并得到处理,要么多等待30ms,而后请求中断并得到处理。多出来的30ms与下一次按键的时间间隔(最少为几百毫秒)相比少得多,因此关闭中断的过程不影响按键的处理。
中断程序/INT0中,MPU将读取82C79中的键值,并判断按键类型。当按键为普通按键时,MPU并不改变82C79的工作方式,只将按键对应的指令代码填充到数据区域的相应字节位,并将R4赋值#01H。当按键为"长按"按键时,MPU将指令代码填充到数据区域的相应字节位后,会立即改变82C79的工作方式,将其设置在传感器扫描工作方式。当"长按"按键断开时,由于传感器矩阵发生了变化,82C79能再次通过IRQ信号通知MPU。再次进入中断程序时,MPU将82C79的工作方式再改回到键盘扫描方式后,才将R4赋值#01H,至此一个完整的按键过程完成。对于配合旋钮开关的"长按"按键,按键闭合的时候,MPU还需要打开A/D转换;按键断开时,MPU则要关闭A/D转换。
中断程序T0中,每经过两次中断即80ms(MPU的工作频率决定了其最大定时到达不了80ms),MPU就将串行数据发送指针置位。
3 结论
解决PC104总线数据传输的瓶颈问题,合理分配硬件资源。PC104总线的突出优点是结构简单、易于开发,但其传输速率较慢。通过实际应用证明基于PC104总线雷达信号显示卡的设计能克服以上设计缺陷,特别是能充分满足便携式设计特点的要求,适应维修训练要求。
参考文献
[1]范延,严程,李德胜,等.PC总线接口卡设计技术与字符液晶显示卡的实现[J].电子技术,1998(12):17-18.
[2]杨世新.高速数据存储示波卡的设计与实现[J].现代电子技术,2001(3):13-15.
[3]杨英,林连雷.雷达信号测量的虚拟示波器设计[J].电子测量技术,2007(12):70-72.
基于PC104总线的IMU信号通信控制系统的设计 第3篇
关键词:雷达故障检测仪;PC104总线;设计
1 传统雷达故障检测的缺陷
结合实际的雷达维修经验发现,目前各种信号的雷达故障检测仪虽然品种繁多,但是均存在以下缺陷[1]:
(1)检测功能单一化。某种检测仪只能用于某一型号雷达的单个系统或组合的故障检测,不能实现对整部雷达各个分系统或组合的故障检测。
(2)没有扩展功能,制作完成后,只能用于某一系统的检测,没有后续的扩展功能。故障检测仪制作完成后,只能对设定方式的故障进行检测,对于新出现的故障现象,该仪器则没有继续扩展的功能,不能进故障检测功能的持续更新和完善。
(3)传统的故障检测仪体积较大,特别是对于雷达全机的检测则需要多部仪器共同完成,不能满足基层机动作战中方便快捷的需求。
2 雷达故障检测仪器总线的选择方案
雷达嵌入式故障检测仪系统硬件可以采用自定义总线也可以采用标准总线。自定义总线是某个单位根据自身的特点和需求,制订的符合自身发展需要的总线标准。标准总线则是由多个厂商共同制订的具有一定通用性的总线标准。自定义总线开发难度低,成本不高,对于大批量产品可以带来很好的经济效益;但是由于缺乏其他厂商的支持,所有模块都需要自己开发完成,有时候会由于新模块的开发耽误了产品的研制进度,没能体现使用模块化的优越性,另外由于大家使用不同的产品规范,给部队的后勤保障也带来了不便,不适应未来战争的需要。标准总线产品支持的厂家众多,产品丰富,对于小批量的产品可以缩短研制周期,有更好的时效比。由于雷达系统的自身特点,批量往往不大,使用标准总线进行嵌入式系统硬件设计能获得更多的好处。
标准总线在结构形式上有采用堆叠结构形式的,也有采用插卡结构形式的。堆叠结构形式的典型代表是PC104总线,它的优点是不采用背板,成本较低,缺点是散热不易解决,而且容易由于错插导致模块烧坏[2]。
为了雷达故障检测仪器做到通用或基本通用,从总体上说,选择的标准总线体系结构至少需要具备以下能力[3]:
可编程能力:至少要做到在不改变进程个数及进程间相对关系的情况下,能适于各种应用,并提供对改变信号处理要求(如处理方式、算法、参数、系数等)的适用性。
构形能力:要能根据具体应用的信号流或各进程间的相对关系来改变系统的拓扑结构。实现这一能力实际上要求采用拓扑结构可变的分布式处理系统。
伸缩能力:要能根据具体应用的计算量大小改变系统的各种尺寸,因此要求系统采用模块化积木式结构。
发展能力:从总体上说要采用开放式设计,使其不强烈依赖于具体的芯片,以便能充分发挥各种通用及专用处理芯片的能力,并能方便地随着微电子技术的发展而发展,使其性能不断提高。
高速数据传输能力:选择的总线应具有足够的数据带宽以保证大量运算数据的传输。
对于雷达故障检测仪的总体设计而言,最关键的就是要解决多功能和便携式两方面的矛盾。对于便携式而言,要求检测仪器的体积尽量小,方便操作与使用。但是相对与多功能而言,这却是相矛盾的,多设计板卡才能尽可能保证多功能。
因此在总线的选择上我们采用了PC104总线,将信号显示卡、示波卡、多用表卡采用堆叠的方式集成在一块,这样最大限度的缩小检测仪的体积。同时通过计算机控制,有效解决PC-104总线数据传输的瓶颈问题,合理分配硬件资源。
3 硬件的设计
雷达故障检测仪的硬件模块化设计要满足以下要求[4]:
多任务性:高集成度的雷达故障检测仪需要做多种处理工作,如信号采集、数据处理、故障检测、定时、全机控制、通讯等。
实时性:雷达故障检测仪所要处理的数据是源源不断的,因此要求雷达嵌人式系统能实时响应,否则将发生数据堆积,影响故障检测仪的反应速度,甚至引起工作混乱。
阶段性:雷达故障检测仪的工作过程往往由若干个不同的任务阶段所组成,各阶段要采取各不相同的处理方式。例如,对信号的测试、故障模式的选择、故障定位与判断等。
依据以上要求,基于PC104总线的雷达故障检测仪的总体框图如图1所示。
对应于图1所示的雷达故障检测仪硬件设计的总体框图,相应实物硬件组成如图2所示。
4 软件总体设计
软件的设计主要考虑以下几个方面[5]:
(1)确保软件的实用性。力求做到界面友好、故障定位准确、引导提示清晰、专家知识完备。雷达的各分机系统及其相应故障现象的表达采用故障树表示法(用树形控件表示),故障定位引导、参数说明、测试点指示均采用选项卡方式,以保证各画面之间的快速切换。对于在故障定位时需要进行实时测量的,则通过调用外部可执行程序方式调用示波器卡等虚拟仪器卡引导用户进行测试。
(2)自动判断与人工智能相结合。目前雷达上测试点电压(或电流)正常与否的判断容差还是不确定值,人工参与可能达到更为准确、快捷的效果。
(3)为便于模块间的信息交换,采用读写文件方式传递信息。
基于PC104总线的雷达故障检测仪的软件总体框图如图3所示。
5 结束语
采用PC104总线设计雷达故障检测仪,能满足便携式和多功能两方面的要求。同时检测仪后续功能可以进行扩展,特别是采用专家系统进行故障判断后,整体提高了故障检测仪的使用范围,目前可以扩展到整部雷达甚至是多种信号雷达的故障检测,适应了部队实际需求。
参考文献
[1] 高晓庄,张 鹏,刘才斌,等.LLP33雷达原理与维修[M].北京.国防工业出版社,2006:32-36
[2] 王涛涛,危自福,毕笃彦.基于PC104PLUS总线的MPEG-4机载数字音频记录系统[J].电子元器件应用.2007,2:39-41
[3] 杨雪冬,景 华.雷达嵌入式系统硬件模块化研究[J].火控雷达技术.2010,3:41-43
[4] 李俊杰,何 友,宋 杰.基于嵌入式系统的雷达信号模拟器[J].电子技术应用.2009,10:45-47
[5] 朱 斌,程明霄.嵌入式Linux的PC104数据采集卡的驱动设计[J].计算机工程.2008,11:236-238
作者简介
基于PC104总线的IMU信号通信控制系统的设计 第4篇
PC104总线是一种专门为嵌入式控制而定义的工业控制总线,它秉承了IBM-PC开放式总线结构的优点,与IBM-PC完全兼容,同时可满足嵌入式控制的特殊要求:体积小、功耗低、可靠性高、编程调试方便,并采用模块化结构,总线易于扩充,紧固堆栈方式安装,因此在控制和检测领域得到了广泛应用[1]。多轴运动控制卡广泛应用于开放式数控系统、机器人控制等工业自动化装备,但常用的运动控制卡多以DSP为核心,不仅开发周期长,而且需与工业PC配合使用,应用成本较高。而采用嵌入式工控机PC104+运动控制接口卡的形式,则可很好地满足小型便携式设备的运动控制应用需求,不仅成本低、便于开发,应用也更灵活。但PC104模块的小尺寸给接口卡的设计带来了一定的困难。为此以现场可编程门阵列FPGA为核心,通过软件编程实现其与PC104主机的总线接口以及与外部多轴运动控制、开关量控制等功能接口,显著减少了接口器件、节省了硬件布线空间,并且使接口卡的性能更稳定,抗干扰能力更强。
1 运动控制接口卡总体设计
根据对常用运动控制卡的功能需求分析,拟定了运动控制接口卡的总体框图如图1所示。实线框内为接口卡内部电路,它由核心器件FPGA和一些必要的外围电路组成。其中,FPGA采用Altera公司的Cyclone系列FPGAEP1C6Q240C8,其工作电压为3.3V,内核电压1.5V,采用0.13μm工艺制造,内部有锁相环、RAM块,逻辑容量有5980个逻辑单元,支持多种I/O标准和低成本串行配置器件,可很好地满足本接口卡的应用需求。
主机通过PC104总线向接口卡发出动作指令,地址译码模块对总线地址进行译码,为FPGA内部其他模块的寄存器分配地址。本卡的运动控制指令采用脉冲形式输出,可直接应用于步进电机和伺服电机的运动控制。各轴的运动控制脉冲信号由FPGA内部的DDA精插补器产生。DDA精插补器根据PC104主机发送来的各控制轴粗插补指令,产生相应的方向控制和均匀的位移脉冲输出。各运动轴的位置编码器反馈信号经差分接收转换为单端信号后被送入FPGA内部的编码器接口模块,进行四倍频、鉴向,并产生计数脉冲和方向信号给可逆计数器进行计数,计数结果存于位置寄存器中,供PC104读取。考虑到实际应用需求和可扩展性,本卡共设计了24路数字量输入通道和24路数字量输出通道,输入通道可根据用户具体要求来定义其用途,如作为控制轴位置传感器接口,用于原点、限位等,而输出通道则可以用于一些外部设备的启停控制等。
2 功能模块的FPGA内部实现
本运动控制接口卡的主要功能完全由FPGA通过内部逻辑实现。下面按功能模块分别介绍其实现方法。
2.1PC104总线接口模块设计
PC104主板与本接口卡组成应用系统时,首先要为该卡设置与主板内的其他设备不相冲突的I/O地址。PC104的标准规定,外设的操作地址线为A[9:0]。把PC104地址线的A0~A9,IOCS16,IOR和IOW连接到FPGA,A0~A9为PC104的低10位地址总线,IOCS16为IO空间16位操作信号线,IOR,IOW分别为系统总线的读、写选择信号线。A0~A9,IOR相与产生了FPGA内部其他各功能模块状态寄存器的片选信号,供PC104读取;A0~A9,IOW相与产生了FPGA内部其他各功能模块数据锁存器的片选信号,供PC104写入。由于接口卡只用到了PC104总线的16位方式,没有用到它的8位总线方式,使得PC104在访问该卡上的任何资源时,IOCS16必须一直保持为低,否则将得不到其高8位数据[2,3]。图2是PC104总线接口模块框图。
2.2 数控精插补器模块设计
为使本接口卡能够方便地应用于步进电机和伺服电机的运动控制,接口卡的运动控制指令采用脉冲形式输出。为保证其运动控制的实时性,应用系统的轨迹插补采用PC104粗插补加FPGA精插补的两级插补方法。PC104经过粗插补,得到各个运动轴在一个插补周期的位移增量指令,并传送给接口卡。经过FPGA精插补,把各轴位移增量指令转化为相应轴的方向控制信号和均匀的位移脉冲输出,粗插补与精插补同步进行,这样一方面减轻了PC104的负担,另一方面发挥了FPGA的并行处理能力,保证了输出脉冲均匀性,提高了运动控制的实时性和平稳性。
精插补模块主要由时序发生电路、DDA积分器电路等子模块组成。
2.2.1时序发生电路设计
整个精插补电路必须在时钟信号的严格控制下运行才能保证准确产生和输出进给脉冲。如图3所示,此电路的主要功能是将FPGA时钟引脚输入的30MHz时钟信号经过分频后送给DDA积分器电路,作为DDA积分器的累加控制时钟。该模块还包括终点判别计数器,其对累加时钟进行计数。当计数值为2n(n为被积函数寄存器位数,见下文)时,其向DDA积分器发停止信号,停止本次插补并加载下一个周期的精插补数据,并产生中断信号发给PC104,申请新的插补数据。
2.2.2DDA积分器电路设计
本模块的结构如图4所示。为保证各轴运动控制的连续性,减少对主机的实时性要求,在精插补脉冲转换模块中设计了一个缓冲器,用于在进行本次精插补运算时,存储PC104发送来的下一次插补数据,以便本次插补停止信号的触发下及时将保存在缓存器中的新插补数据立即送入DDA积分器,进行精插补,确保两次插补之间的连续性。
现以x轴精插补为例,讨论DDA插补器的基本原理。x被积函数寄存器JVX存放x向终点坐标xe,x积分累加器为JRX。另外还有一个终点判别计数器JL作为长度计数器。每当脉冲源发出1个插补迭代脉冲时,xe向其积分累加器中累加一次,当累加果超出积分累加器容量(2n)时,就溢出1个进给脉冲Δx。经过N=2n次累加后,溢出脉冲总数就等于被积函数值xe。终点判别计数器JL初始值为0,插补运行时将对插补迭代脉冲计数,当JL=N=2n时,则发出停止信号,说明到达了终点[4]。对于多轴联动,只要同时设计若干个积分器就可实现多轴联动的精插补运算。图5为最终完成的精插补模块时序仿真图。
2.3 编码器接口模块设计
此信号处理电路由四倍频及鉴向电路、可逆计数器以及位置寄存器等组成。旋转编码器输出的差分信号经26LS32转换为单端信号后被送入四倍频及辨向电路。四倍频及辨向电路产生的计数脉冲和方向信号给可逆计数器进行计数,计数结果由位置寄存器存储,供PC104读取。
旋转编码器典型输出为两个相位差为90°的方波信号A, B以及零位脉冲信号Z。对A, B两相信号的脉冲计数可得轴的转角;判断它们之间的相位关系可得转向,即当A相超前B相90°时,旋转编码器正转,当B相超前A相90°时,旋转编码器反转。如果能够将A或B信号四倍频,则角位移测量精度将提高4倍[5]。图6为设计的四倍频细分及鉴向电路原理图。
2.4I/O接口模块设计
本接口卡提供了24路数字量输入和24路数字量输出,供用户扩展使用。所有I/O数字量都用TLP521光耦进行了光电隔离,以有效抑制尖脉冲和各种噪声干扰,提高过程通道的信噪比[7]。
当需要输入外部开关量信号时,由PC104将输入开关量寄存器的地址、读控制信号、命令信号发送给FPGA,FPGA译码后将外部输入开关量输入至指定寄存器,并将其中的数据送到PC104数据线上,供PC104读取。当要输出设定的开关量状态时,PC104就将输出开关量寄存器的地址、写控制信号、命令信号发送给FPGA,FPGA译码后将PC104数据线上的数据保存到输出开关量寄存器里,从而控制开关量的断开或闭合。
3 结束语
介绍了一种可用于多轴闭环运动控制的PC104接口卡,它能够以脉冲加方向的信号形式输出多轴运动控制指令,便于直接应用于步进电机、伺服电机的运动控制,并能对增量式光电编码器等位置传感器输出的正交编码脉冲进行反馈检测,实现闭环运动控制,同时还设计了24路数字量输入和24路数字量输出,供用户扩展使用。由于整个接口卡以FPGA器件为核心,将多个接口模块集成于其中,硬件结构十分简洁,可靠性高,抗干扰能力强;而且与主机接口符合PC104的总线标准,可作为标准的运动控制接口模块使用。
参考文献
[1]PC/104 Specification Version2.4-August[Z].2001:5-7.
[2]Advantech Corporation.PCM-3350[Z].UserManual,2004.
[3]王友权.基于EPF10K30的ISA接口设计[J].现代电子技术,2004(24):64-68.
[4]陈蔚芳.机床数控技术及应用[M].北京:科学出版社,2005.
[5]顾越州.增量式编码器的接口设计[J].机电工程,1997(4):33-34.
[6]杨恒.FPGA/CPLD最新实用技术指南[M].北京:清华大学出版社,2005.
基于PC104总线的IMU信号通信控制系统的设计 第5篇
基于PC104总线的IMU信号通信控制系统的设计 第6篇
随着现代雷达功能多样化、复杂化, 要求研制和装备的周期越来越短, 为保障装备部队的雷达系统充分发挥出优越的性能, 雷达测试设备的作用显得非常重要。本文提出了一种适用于雷达测试设备的数据采集板设计方案, 能够有效地对I/Q模拟基带信号进行数据采集和处理, 并能满足雷达测试设备小型化的要求。
数据采集板组成及设计原理
数据采集板由A/D转换电路、数据FIFO缓存电路、CPLD、PC/104CPU模块等四部分组成, 其原理框图如图1所示。
A/D转换电路
在本设计中, A/D转换器选用ADI公司生产的12位高速模数转换器AD10242。它是一种全双工、带有模拟输入信号调节的A/D转换器, 集成了放大器、基准电压源、模数转换器和输出缓冲器, 其采样速率可达40MSPS, 采样延迟为1ns。由于雷达模拟基带信号电压变化范围较宽, 而AD10242的输入电压只有三档可调:±0.5V、±1.0V、±2.0V, 因此为了减小转换误差, 使模拟信号在A/D转换器输入的允许范围内尽可能大, 就需要对模拟信号的幅值进行必要的调整, 即在信号进行模数转换之前对信号进行滤波和降压等信号调理, 使其电压符合A/D转换器的要求。本设计中, I/Q模拟基带信号通过2片ADI公司的箝位放大器AD8036, 使其信号电压箝位在±1.0V以内。
数据FIFO缓存电路
I/Q模拟基带信号经A/D转换后变为2路12位数字信号, 分别连接至2片IDT7203的输入数据总线上。IDT7203是IDT公司生产的高性能FIFO芯片, 该芯片是一个双端口的存储缓冲芯片, 具有2k9位的RAM阵列, 结构简单, 易于操作, 其内部的读、写指针可在先入先出的基础上对数据自动写入和读出。IDT7203通过外部电路提供的写信号WR和读信号RD进行数据的读写操作, 并提供了三种标志位:全满标志位FF、半满标志位XO/HF和全空标志位EF来标明数据的写入情况, 以防止数据的空读和溢出。在本数据采集板中, 4片FIFO缓存器均工作在单一器件模式下, 用来存储I路和Q路模拟基带信号从启动A/D转换到PC/104总线读取数据的时间内经A/D所转换的数据。在实际使用时, 可以通过PC/104软件编程设定FIFO的使用深度, 这样可以大大减少A/D转换的中断次数, 保证较高的采样频率和较低的中断频率。
CPLD
CPLD是数据采集板的核心, 可完成多种逻辑功能。在本设计中CPLD选用La ice公司的高密度可编程逻辑器件ispLSI 1048E, 它可以进行系统内编程, 可用门单元为8000个, 具有96个通用I/O管脚。CPLD外围电路框图如图2所示。
PC/104 CPU模块
数据处理板的PC/104 CPU模块采用盛博公司的SCM/LX-3060, 它是一款高性能的“A L L I N O N E”P C/1 0 4 C P U模块, 采用AMD Gedoe LX800 CPU, 工作频率500MHz, 具有128KB一级高速缓存和128KB二级高速缓存。该模块集成了PS/2键盘、PS/2鼠标、CRT、IDE、USB 2.0、两串一并、100M网等接口, 可在极小空间里实现PC机几乎所有的功能。运行在该模块上的程序可通过PC/104总线实现对数据采集的开启和关闭、FIFO数据的读取等功能, 并可对采集到的数据作进一步处理。
CPLD逻辑功能设计
CPLD内部逻辑功能模块包括地址译码模块、A/D采样控制模块、FIFO控制模块、中断响应模块等。
地址译码模块
地址译码模块可对PC/104的地址总线的A15~A0位和IOW、IOR、AEN等信号进行译码。当PC/104软件通过地址总线和数据总线发出开始数据采集、停止数据采集、FIFO复位等控制命令后, CPLD内相应的地址译码模块被选中, 为A/D采样控制模块和FIFO控制模块送出逻辑控制信号。在这两个模块内, 由PC/104数据总线上读取的控制字与逻辑控制信号进行逻辑变换, 产生A/D转换器和FIFO的控制信号。PC/104软件控制命令的地址可根据PC/104 CPU模块的资源分配表自行定义, 当数据采集板和PC/104 CPU模块的其它硬件资源发生冲突时, 可改用新的地址。表1列出了PC/104控制命令的定义。
A/D采样控制模块
数据采集板选用20.000MHz晶振。A/D采样控制模块将20MHz的时钟信号进行二分频和适当的逻辑变换后, 送入AD10242作为采样时钟。当数据采集停止时, 采样时钟变为高电平。
FIFO控制模块
该模块主要对FIFO缓存的输入输出进行控制, 提供的信号包括FIFO读信号RD1和RD2、FIFO写信号WR、FIFO复位信号RS等。RD1信号用来读取I路数据, RD2信号用来读取Q路数据。
中断响应模块
中断响应模块可根据FIFO芯片的FF标志位变化, 向PC/104总线发出中断请求, PC/104 CPU模块处理中断请求, 通过数据总线从FIFO读入数据。
C P L D的硬件控制逻辑使用ispExpert System软件, 采用原理图与ABEL语言结合的方式编写。设计的关键是分析各个器件的工作时序和采样保持时间, A/D转换时间以及数据存入FIFO的时机等。因此在时序处理的过程中, 要根据CPLD工作的频率计算各个等待周期, 在程序中适当加入延迟, 待器件准备好后再进行下一个处理。
数据采集板工作流程
数据采集板的工作命令由PC/104软件程序自动执行, 其工作流程如图3所示。在每次数据采集开始前, 程序首先下达FIFO复位命令。此时, A/D转换器的时钟信号为高电平, A/D转换停止。4片FIFO芯片的RS信号有效, 使它们的读指针和写指针均指向第一个物理地址。随后A/D转换器的时钟信号和FIFO的写信号有效, A/D转换开始, 由I/Q模拟基带信号转换得到的采样数据被存入4片FIFO中。当FIFO所存的数据已满时, FF标志位变化, CPLD内的中断响应模块通过IRQ9向PC/104总线发出中断请求。PC/104 CPU模块接到中断请求后, 下达读取FIFO数据命令, A/D转换器的时钟信号又变为高电平, PC/104总线的IOCS16信号变为低电平, FIFO的RD1信号有效, I路的
FIFO数据通过数据总线被读取。I路数据读取完毕后, FIFO的RD2信号有效, 继续读取Q路的FIFO数据。由于FIFO器件的读和写是完全独立的, 所以PC/104 CPU模块在每一次中断时都一次性地从FIFO中读取所有采样数据, 放入其内存区域以供处理。当FIFO中所有数据读取完毕后, FIFO被重新复位, 等待下一次数据采集。
小结
本文基于PC/104总线, 采用CPLD和FIFO器件设计了一种雷达数据采集板, 该采集板上的大部分控制逻辑被集成到CPLD芯片中, 大大减少了采集板上的器件数量, 同时降低了硬件成本, 提高了可靠性。该数据采集板能对I/Q模拟基带信号进行快速、实时的数据采集和分析, 非常适合搭建高密度、小体积的便携式雷达测试设备。
摘要:介绍了一种基于PC/104总线的雷达数据采集板的设计。硬件上采用CPLD进行逻辑控制, 简化了硬件电路。该采集板具有精度高、成本低等优点, 为雷达测试设备的数据采集提供了一套可行的硬件设计方案。
关键词:数据采集,PC/104总线,CPLD
参考文献
[1]SysCentreModule/LX-3060技术手册[Z].盛博公司
[2]任家富, 庹先国, 陶永莉.数据采集与总线技术[M].北京:北京航空航天大学出版社, 2008
[3]马明建, 周长城.数据采集与处理技术[M].西安交通大学出版社, 1998
[4]张毅刚.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社, 2001
[5]周淑阁.FPGA/CPLD系统设计与应用开发[M].电子工业出版社, 2011
基于PC104总线的IMU信号通信控制系统的设计 第7篇
本调制器是一种基于PC104总线的嵌入式系统的外围设备, 嵌入式计算机系统通过PC104总线将数据发送到端口, 调制器接收数据并进行调制后, 将信号输出到受控设备, 从而对相应设备起到控制的功能。在本调制器的硬件电路中使用FPGA, 提高了系统的通用性。
1 总体结构
该调制器实现的功能主要包括:识别并接收总线发送的数据;根据不同地址控制信号将数据按路区分 (共四路) ;每路分别将数据按照连续调制的方式进行2FSK调制;对调制后的信号进行放大整形并发送到端口。
因此, 该调制器的电路部分分别包括数据接收部分、FPGA及外围电路 (实现数据分路及数字调制功能) 、D/A转换电路、放大滤波电路等。系统总体结构如图1所示。
2 PC104总线及数据接收电路
PC104总线是专门为嵌入式系统开发的系统总线, 是一种自堆栈式、模块化的总线, 它基于ISA总线发展而来, 有16位和8位两种接口方式 (分别为64+40引脚和64引脚端口结构) , 该总线具有结构紧凑、便携、可靠、功耗低、易扩展等优点[2]。对于工程开发而言, 常用的引脚主要有以下几个:
SD0~SD7, SD8~SD15:数据总线, 当采用8位接口方式时, 只有SD0~SD7工作;
SA0~SA19, LA17~LA23:地址信号, 对端口进行操作时使用SA0~SA9;
AEN:DMA选通信号, 为高电平时表示处于DMA模式;
IOW, IOR:端口写、读信号, 低电平有效;
SYSCLK:系统提供的基准时钟信号, 是标准的方波信号, 约为8 MHz;
VCC, GND, +12 V, -12 V:系统提供的电源接口[3]。
数据接收电路就是要在正确的时序上将所需的数据进行提取, 还要实现将电路工作状态传送回总线, 以便总线决定是否发送下组数据的功能。由于PC104总线最高支持约8 MHz的时钟频率, 而受控设备所需的2FSK信号频率为几千赫兹, 因此这里只用8位数据总线就完全能够满足要求。
总线接收电路如图2所示。其中SD0~SD9, SA0~SA9是从总线发来的数据、地址信号, SEL0~SEL3为分路选择信号, ANSWER0~ANSWER3为FPGA的状态返回信号, 由于总线速度要比2FSK输出速度高得多, 因此, 总线要对FPGA数据缓存器是否为空进行查询, 当FPGA没有完成数据转换时, 总线要等下个周期, 直到状态返回信号显示FPGA内部为空时, 总线才可以发送下组数据到FPGA。74LS273负责将每路的数据分别进行锁存, 4路数据共使用4个。OUT1D0~D7为第一路8位数据输出, LOCK0为其控制信号, 表示数据的更新。
3 FPGA及其外围电路
FPGA具有集成度高、设计灵活、易于修改、节省空间、通用性高等优点。本调制器中FPGA采用的是Altera公司的EPF10K20TC144-4器件, 该器件具有20 000个典型门, 1 153个逻辑单元, 144引脚, 包括2个全局输入时钟, 4个全局输入, 86个通用可编程I/O引脚。该芯片采用TQFP封装, 芯片面积较小, 功耗低, 其输入、输出与TTL与PC104总线电平完全兼容。FPGA电路主要实现的功能为:接收数据提取电路发送的分路数据;以总线上的SYSCLK时钟为基准, 通过分频产生受控设备能识别的频率;为每路输出进行2FSK的数字调制, 保证信号的连续性;完成本身的FPGA电路配置[4]。
FPGA配置电路如图3所示。
FPGA的配置使用PS和JTAG两种方式, 既能实现JTAG方式下电路在线调试, 又能保证调试完成后能够正确使用相应的配置器件。其中JP5*2插座为JTAG配置端口, TDI、TDO、TMS、TCK为JTAG配置引脚, 该配置方式采用BlasterMV线, 通过配置计算机的并口与电路板配置端口进行连接, 用于将编写好的配置数据实时传送到FPGA, 该方式主要用于电路调试;EPC1PC8为FPGA配置器件, 采用PS (被动串行) 配置方式, 由于FPGA内部存储器属于易失性RAM存储, 因此每次加电后都要将程序重新写入FPGA, 配置器件本身就是存储器, 其主要作用就是在每次加电后将程序写入FPGA, 保证调试完毕的电路能够正常单独进行工作[5,6]。
来自前级电路的数据及控制信号、发到D/A转换电路的数据都连接到FPGA芯片的通用I/O引脚, 通过编程实现所需功能。对FPGA的编程使用Altera公司的Quartus Ⅱ软件, 该软件采用图形化与VHDL语言混合编程, 易于调试修改[7]。编程实现的主要功能为:对输入数据进行锁存移位, 确保每位数据都能得到正确处理;产生两组分频时钟参与2FSK调制, 并使分频后的时钟按照时序进入数字调制器;数字调制器负责将不同频率始终按照顺序依次产生连续量化的8位正弦波数字量输出到端口。
本设计中由于采用两种频率分时产生, 按时序进入调制器, 而正弦波数字调制器单独工作的方法, 保证了输出正弦波具有连续的相位, 不会产生相位突变。
4 D/A转换电路
D/A转换共包括四路, 其主要功能是将FPGA输出的已调制好的2FSK数字信号转换为正弦波信号。由于FPGA在进行数字调制时产生的是连续量化的正弦波形, 两个频率之间不存在相位的突变, 不会存在大量的高频杂波, 因此, 后期的信号处理电路使用放大电路与简单的π型滤波器对信号进行处理即可得到比较理想的2FSK信号[8]。
D/A转换电路如图4所示。
此电路采用AD7524作为D/A转换器, AD7524属于T型电阻网络型DAC, 电流输出, 8位数字输入, 输出建立时间0.2 μs/0.15 μs, 其数字输入端可采用5 V/15 V两种输入, 本电路采用兼容TTL电平的5 V输入[9]。电路中将其输入控制端CS、WR同时接地, 当有来自FPGA的数据AD1O1~7输入时无需锁存, 直接进行转换, 因此要求FPGA的输出要具有锁存功能, 此接法可减少输出控制线, 减少时序干扰。R1AD1和R1AD2为D/A输出波形调整电阻, 主要用于调整波形位置, 不致产生失真[10]。D/A输出采用双极性接法, 通过两路LM324通用放大器进行电压放大, 输出2FSK信号。图5 (a) 为经过D/A转换后输出的波形在示波器上的截图, 由图中可以看到, 数字调制并经D/A转换后, 波形是一种阶梯状正弦波, 且波形连续, 频率变换交界处无相位突变。该信号经过双极性放大器放大并通过π型滤波器后变成如图5 (b) 所示的连续正弦波。
5 结 语
采用FPGA进行2FSK调制不但能产生连续相位, 还能通过软件直接修改其调制方式、产生频率等一系列参数, 具有很好的通用性。
本电路中数据提取电路属于原理性电路, 实际设计中可将该部分电路置于FPGA内部进行设计, 而系统参考时钟SYSCLK可接在FPGA的全局时钟输入端, 减少延迟差异。
参考文献
[1]何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社, 2006.
[2]陈再秀.PC-104嵌入式系统综述[J].自贡师范高等专科学校学报, 2002, 17 (3) :71-73.
[3]陈芳.基于PC-104的ARINC429通讯总线的设计与实现[D].南京:南京航空航天大学, 2005.
[4]刘爱荣, 王振成.EDA技术与CPLD/FPGA开发应用简明教程[M].北京:清华大学出版社, 2007.
[5]王诚, 吾继华, 范丽珍, 等.Altera FPGA/CPLD设计 (基础篇) [M].北京:人民邮电出版社, 2005.
[6]李洪伟, 袁斯华.基于QuartusⅡ的FPGA/CPLD设计[M].北京:电子工业出版社, 2006.
[7]郑燕, 赫建国, 党建华.基于VHDL语言与QuartusⅡ软件的可编程逻辑器件应用与开发[M].北京:国防工业出版社, 2007.
[8]康华光.电子技术基础 (模拟部分) [M].4版.北京:高等教育出版社, 1999.
[9]何希才.常用集成电路简明速查手册[M].北京:国防工业出版社, 2006.
基于PC104总线的IMU信号通信控制系统的设计
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


