PCI总线实现通用数字信号处理系统

发布者:SereneMelody最新更新时间:2012-09-26 来源: 21ic 关键字:PCI总线  数字信号  处理系统 手机看文章 扫描二维码
随时随地手机看文章

  1 系统的硬件设计

  1.1 PCI接口芯片PCI9052

  PCI9052是一款面向低端应用的高性能、工作在目标(从)模式的PCI接口芯片,支持PCI 2.1总线规范。该芯片的局部总线可以通过编程设置为8/16/32位的(非)复用总线,且局部总线时钟与PCI总线时钟相互独立运行,便于高、低速设备的兼容,并可支持相对慢的局部总线在PCI总线上的突发传输速率达到132 Mb/s。同时,PCI9052提供5个本地地址空间和4个本地地址片选,基址和地址范围可由串行E2PROM编程设置。选择PCI9052作为PCI-DSP桥可以降低PCI总线开发的难度,增加系统的可靠性和稳定性。

  1.2 DSP的HPI通信协议

  TMS320VC5402 DSP具有8位的增强型HPI接口,其专门用于DSP与其他总线或CPU进行通信。主机是通过HPI控制寄存器(HPIC),地址寄存器(HPIA),数据寄存器(HPID)访问DSP的片内RAM,从而实现与DSP通信的。DSP只能访问HPIC。HPI寄存器的选择由HCNTL[1:0]脚在PCI总线地址有效期实现,说明如表1所示:

  在主机访问DSP片内RAM过程中,主机首先根据访问类型对HPIC寄存器进行初始化操作,然后再对HPIA寄存器进行操作,将要访问存储单元的地址写入HPIA,最后对HPID寄存器进行读写操作,此刻HPID寄存器的内容为HPIA指定存储器的内容,这样便实现主机和DSP的一次通信过程。

  1.3 DSP与PCI的接口设计

  DSP与PCI的接口是实现DSP与主机进行通信的关键。由于TMS320VC5402 DSP的HPI口是8位并口,所以PCI9052局部总线设定为8位非复用总线模式,并将其LAD[7..0]与DSP的HD[7..0]连接,实现数据总线的连接。接口电路如图1所示。在8位总线模式下,LBE[1:0]分别对应于地址的LA[1:0],将LBE0与HBIL相连,用于区分当前传输的是第1字节还是第2字节。LA[3:2]分别与HCNTL[1:0]相连,用于选择HPI寄存器。利用PCI9052芯片的读写控制信号LBE0#,LBE1#,LW/R,LRDY#和部分地址信号LA[3:2]经过CPLD进行时序和逻辑转换便可生成HPI口的控制信号HBIL,HC-NTL0,HCNTL1,HDS1#,HR/W#。HPIENA脚接“1”表示选用HPI模块。这样PCI9052就可在地址有效期决定访问哪个HPI寄存器,实现DSP与PCI的通信。

  1.4 系统的电路设计

  如图2所示系统电路主要由3部分组成:第一部分是PCI9052与PCI插槽间的信号连接电路,包括地址数据复用信号AD[31::0];总线命令信号C/BE[3::0]#;接口控制信号FRAME#,TRDY#,IRDY#,STOP#;IDSEI#,DEVSEL#,错误报告信号PERR#,SERR#;系统信号CLK,RST#。这些信号是局部总线设备保证与PCI总线正确通信的必要信号。第二部分是和串行E-2PROM的信号连接电路,E2PROM内存储的是用于PCI加载的配置信息,这些信息在PCI9052硬件复位时的正确加载是保证PCI局部总线设备正常工作的前提。第三部分是PCI9052与DSP HPI接口的信号连接电路,包括数据线、地址线、读写控制信号线、中断信号线等。此外该系统还可根据DSP的其他功能扩展相应的外设电路。

  2 系统的软件设计

  2.1 PC机与DSP通信驱动程序设计

  PC机上应用软件不能直接对底层硬件进行访问,为实现PC机与DSP的通信还应编写设备驱动程序。WDM(Windows Driver Model)是NT3.51和NT4.0内核模式设备驱动程序模型的扩展形式,是一种PnP驱动程序,能在Windows 98,Windows 2000和Windows XP间实现源代码级兼容。为了便于在多操作系统中均能应用本系统,需编写WDM驱动程序。

  在PCI设备驱动程序中主要是完成PCI设备的内存、端口的读写功能和中断处理功能。若采用DDK开发,需要软件人员对计算机底层知识熟悉、开发难度大、为简化驱动程序的开发,可以使用NuMega推出的DriverStudio设备驱动程序开发工具包。通过DriverStudio开发者很容易生成驱动程序框架,同时,DriverStudio与VC++有很好的接口。生成的驱动框架可以在Microsoft VC++6.0环境下添加驱动代完成驱动编写。驱动程序设计内容如下:

 

(1)设备初始化

  PCI设备的硬件资源由PCI配置机构动态分配,由PCI设备实现PCI配置寄存器,提出需要配置的硬件资源,驱动程序只有获取这些资源才能对硬件进行操作。设备初始化环节使PCI设备驱动程序实现识别PCI器件,寻址PCI器件的资源。如果m_MemoryRange0,m_IoPortRange1分别为KMemoryRange类、KIoRange类的实例,则初始化操作可通过调用其成员函数实现:

  (2)端口操作

  对于X86处理器I/O空间是一个64 B的寻址空间。当初始化完毕后,可直接调用KIoRange类成员函数对端口进行操作。如从端口读/写一个双字数据可调用成员函数ind(),Outd()实现。[page]

 

  (4)中断操作

  在本系统中的PCI中断是由PCI设备发出的要求上位机接收数据的中断请求,中断服务程序要完成的功能是上位机从DSP的片内RAM中读取数据。对硬件的中断处理可通过调用KInterrupt类的相关成员函数实现。

  此函数完成了初始化中断类实例操作并实现了与中断服务例程的连接。驱动程序安装好以后,在应用程序中调用Create-File()函数打开设备,通过调用API函数De-viceloControl就可实现应用程序与DSP之间的通信。 2.2 下位机软件

 

  下位机软件为运行在DSP内的客户端程序。该软件主要功能是接收上位机发送的数据并按照用户的要求进行处理,并把计算结果返回给上位机或根据计算结果驱动其他外设工作。该软件的核心部分为对数据进行处理的算法,应按照数据处理的具体要求选用相应的算法实现。软件的设计思想是:在系统复位后,首先对DSP进行初始化设置,如设置工作频率为100 MHz,设置状态寄存器ST0,ST1,设置软件等待状态寄存器等,以使DSP工作在最优状态。上位机在向下位机发送完毕数据后对DSP发出中断请求,DSP立刻响应中断,转去执行中断服务程序,进行数据处理。当数据处理完毕后,DSP再将数据的处理结果送还给上位机,结束本次中断服务,程序返回到断点处,直至下一次中断的到来。软件流程图如图3所示。

  3 DSP系统的自举加载(BootLoader)

  DSP系统的自举加载目的是使系统上电后程序代码能从外部存储介质引导装载到DSP内部或外部程序存储器中脱机运行。自举加载的实现方式常用的有外部并行自举加载和HPI自举加载两种。

  由于主机可以通过HPI口访问DSP的片内RAM资源,所以下位机程序可以在系统上电复位的时候通过上位机加载到DSP中。采用自举加载模式,在硬件上需要将DSP的INT2脚与HPI的中断输出HINT脚相连,以保证在系统复位后选择HPI加载模式,通信原理和前面讲述的方法一致。在加载过程中,上位机首先将程序搬移到DSP的片内RAM,然后再将程序的人口地址写到DSP的数据空间007FH内,DSP一旦监测到007FH处的数据不再为0即判断为代码转移完毕,并跳转到007FH里存放的地址去执行,从而完成启动。采用HPI加载方式不仅免去了外接E2PROM或FLASH等掉电非易失性存储器件,而且可以根据数据处理要求不同载入不同的下位机程序,从而简化了硬件结构,增加使用的灵活性,是本系统理想的自举加载模式。

  4 结语

  实践证明,该方案所用硬件简洁,系统工作稳定,数据传输可靠。本系统由于具有高速实时数据运算能力,可广泛应用于语音处理、数字加密、图像处理、多路数据采集处理等领域,可升级能力强,具有很广阔的应用前景。

关键字:PCI总线  数字信号  处理系统 引用地址:PCI总线实现通用数字信号处理系统

上一篇:基于INTERBUS总线的GD包装机控制系统设计
下一篇:ISA总线实现多路同步DDS信号源设计

推荐阅读最新更新时间:2024-05-02 22:21

第1章 PCI总线的基本知识
PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器。但是PCI总线、系统总线和处理器体系结构之间依然存在着紧密的联系。 PCI总线作为系统总线的延伸,其设计考虑了许多与处理器相关的内容,如处理器的Cache共享一致性和数据完整性,以及如何与处理器进行数据交换等一系列内容。其中Cache共享一致性和数据完整性是现代处理器局部总线的设计的重点和难点,也是本书将重点讲述的主题之一。 独立地研究PCI总线并不可取,因为PCI总线仅是处理器系统的一个组成部分。深入理解PCI总线需要了解一些与处理器体系结构相关的知识。这些知识是本书所侧重描述的,同时也是PCI总线规范
[嵌入式]
基于FPGA的网络图像采集处理系统设计
1 总体设计 总体框图如图1所示,系统采用Altera公司推出的StratixⅡ系列EP2S60F484型号FPGA作为图像采集处理和网络传输的核心,视频A/D采用ADV7181B芯片,支持PAL,NTSC和SECAM多种制式视频输入。图像采集处理在FPGA内部实现,主要有3部分,分别为图像采集模块、RAM控制模块和JPEG编码器。NiosⅡ处理器作为主处理器,主要是通过I2C模块对ADV7181B进行配置,控制JPEG编码器和实现图像的网络传输功能。   2 主要功能模块设计   2.1 图像采集模块 图像采集模块主要实现图像信号检测和图像裁剪的功能。 CCD摄像头输出的视频信号经过ADV7181B芯片解码,输出符合I
[单片机]
基于FPGA的网络图像采集<font color='red'>处理系统</font>设计
数字信号发生器的软件设计
本仪器的程序主要由键盘、显示程序、AT24C01A读写程序、信号产生程序等部分组成。以下对部分功能作一些分析。一、键盘程序  本仪器需要调整的数值范围较大,因此,“增加”和“减少”键必须具有快速连加和快速连减的功能,否则调整速度太慢。这种键盘可以用多种方法来实现,关键在于设计一个正确的程序结构,图1是一种实现方法的流程图。 图1 流程图  程序工作时,不断地扫描键盘,第一次扫描到有键按下后如常规键盘一样,进行键值处理,处理完毕,不等待键盘释放,直接退出键盘程序。当又一次执行到键盘程序,如果检测到键还被按着,就不再直接去键值处理程序,而是将一个计数器加1,直接返回主程序,如此循环,直到计数到一个定值(如500,表示键盘程序
[单片机]
Altivar38变频器在水处理系统中的应用
引言   变频节能技术原理:一般电气拖动设备设计上考虑有短时过载运行的情况,在电动机的功率配置上往往要大于负载最大功率的l0%左右,甚至更大一些。     1 问题的提出   轧钢区水处理中心是新余钢铁有限责任公司二期技改的一部分,主要负责处理并供给中厚板厂和线材,一所需的浊环水和净环水。中厚板厂浊环水系统是24 h不间断运行供水,运行以来,由于经常换辊以及生产工艺要求的不同,造成用水量不稳定,导致冷水池水位时高时低,运行不稳定、不安全且常溢流造成资源浪费、环境污染。为此,须通过频繁操作回流阀及开、停泵来调整水池水位。经统计,2006年6~8月,平均每天调整回流至少18次,启停泵至少3次。泵机频繁工频启动缩短了电动机的使用寿命,工
[电源管理]
Altivar38变频器在水<font color='red'>处理系统</font>中的应用
VLSI芯片-数字信号测试
数字信号测试作为VLSI芯片测试的基础,已经是一项应用十分广泛的技术。各个EDA供应商、ATE供应商都有着十分成熟的解决方案,包括功能测试仿真向量的产生,转换和实际测试操作,以及芯片的AC/DC参数测试。作为高速信号测试的基础和芯片测试的基石,我们将在本文中介绍通用的数字信号测试技术、难点和各种解决方案,为下一次文章介绍的高速信号测试抛砖引玉。 数字信号测试中最基本的是功能测试,也就是模拟芯片在实际工作中的状态,输入一系列的信号,在输出端检测输出信号是否和预测的正常输出相符。以最简单的存储器单元为例,输入时钟、写信号、地址、数据,然后再输入读信号、地址,最后在输出端观察输出的数据是否正确。 要将功能测试实际应用在ATE上,需要
[测试测量]
嵌入式指纹处理系统模块电路设计
  人体的指纹由于具有长期不变性、稳定性和难于伪造等特点,已经成为现代生物识别技术的首选, 自动指纹识别系统(AFIS)是指集指纹图像的采集、识别并给出身份验证结果为一体的软硬件相结合的系统。目前,自动指纹识别系统可以分为两类:一类是用专门的硬件设备来采集指纹图像,然后将采集到的图像传送给上位机,利用上位机强大的运算能力和海量的指纹特征库,来实现指纹的识别。一类是将指纹的采集与识别在一个嵌入式系统中完成,这类系统通常是用DSP这类具有高速运算能力的器件来构建。由于嵌入式指纹识别系统存在价格低廉、使用灵活方便等优点,越来越受到人们的重视。   采用了MBF200的MCU模式获取指纹图像。它与DSP和CPLD的硬件连接如下:传感器的8
[电源管理]
嵌入式指纹<font color='red'>处理系统</font>模块电路设计
用混合信号示波器探测模拟和数字信号
既然眼球决定商机,那么首先我们看看下面几张产品照片,这些很炫的UI是怎样开发的呢,这些产品是什么操作系统呢?Android ? 图1 多彩UI设计 不知道你心里的答案是什么,是Android也好,其他的系统也罢,不知你是否想到了WinCE系统?Android 使用XML 语言来划分这应用程序开发者和UI设计者的界限。这种思想在QT 和WinCE 上也得到了快速的借鉴和推广。 Windows Embedded高级产品经理David Wurster曾表示,微软丰富的工具提供差异化的用户体验。UI方面,面向Windows Embedded的SilverLight技术能够发挥非常大的作用,基于SilverLight的UI框架恰恰
[模拟电子]
用混合信号示波器探测模拟和<font color='red'>数字信号</font>
PCI总线通用接口芯片CH361及其应用
摘要:CH361是一个简便易用的PCI总线通用接口芯片。可用于制作低成本的PCI总线的计算机板卡,同时也可以利用它把原来的ISA总线卡移植到PCI总线上。文中在介绍了CH361的特点、功能和工作模式的基础上,重点介绍了CH361与PCI总线、存储器、扩展ROM和I/O端口的接口电路。 关键词:PCI总线;CH361;I/O端口映射;扩展ROM映射 1 主要特点 CH361是一个简便易用的PCI总线通用接口芯片。该器件在本地端提供了通用的8 位数据总线。由于其支持I/O 端口映射和扩展ROM 映射,因而可广泛应用于制作低成本的基于PCI总线的计算机板卡,或者用于将原先基于ISA 总线的板卡移植到PCI总线上。 C
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved