基于DSP的PCI驱动程序开发

合集下载

用DSP进行语音压缩的一个开发实例(PCI总线)

用DSP进行语音压缩的一个开发实例(PCI总线)
ISA总线
微处理器的高速与总线的低速不同步,造成 数据I/O的瓶颈
1993年,INTEL提出PCI局部总线,与ISA ,EISA兼容 独特的中间缓冲器设计,独立于CPU和时钟 频率,PCI总线上的设备通过PCI桥与CPU相 连
PCI总线的特点
总线宽度32位,可扩展到64位 支持猝发成组工作方式,可提高传送速度 总线的工作频率为33MHz,PCI2.0达 66MHz 数据传送速率高达132MHz——264MHz
TMS320VC5402的特点 bootloader HPI接口与操作
‘C5402的特点(一)
增强型哈佛结构,一个程序总线,三个独立 的数据总线
40bit的算术逻辑单元ALU
可寻址的程序空间达1Mx16bit
4Kx16bit片内ROM
16Kx16bit双口片内RAM
‘C5402的特点(二)
移动电话
8
ISDN ,会 议电视 VCD
16
32 , 44.1 , 48
ISO/IEC10149
MPEG1
192/128/96
压缩技术
波形编码:直接对语音时域或频域波形样值 进行编码。PCM,ADPCM,SBC,ATC
参数编码:对人类语音的生成模型的参数进 行编码。 混合编码:结合波形编码和参数编码。 MPLPC,RPE/LTP,CELP,VSELP 可变速率编码:G.727嵌入式编码 无失真编码。霍夫曼编码
双缓冲区 地址:0100—04FF 0500—08FF
压缩编码缓冲区 地址:0A60H
总结
取得的成果 需改进的地方
取得的成果
实现了32路录音通道
完成了24K的ADPCM压缩,音质清晰,几 乎没有杂音
硬件实现上采用了较新的数字信号处理器, 并考虑了将来的可扩展性 基于PCI总线的设计,使得产品可广泛应用

基于DSPIC芯片和CAN总线的控制模块研发与设计

基于DSPIC芯片和CAN总线的控制模块研发与设计

基于DSPIC芯片和CAN总线的控制模块研发与设计一、项目背景随着现代汽车电子化的发展和智能汽车的崛起,控制模块的研发与设计变得愈发重要。

基于DSPIC芯片和CAN总线的控制模块可以实现高性能、高效能的控制和通信功能,因此成为了目前控制模块设计的主要方向之一二、技术原理1.DSPIC芯片DSPIC芯片是一种专门用于数字信号处理的微控制器,具有高性能、高灵活性和低功耗的特点。

它集成了DSP和微控制器的功能,在计算能力和处理速度方面有着明显优势。

2.CAN总线CAN(Controller Area Network)总线是一种广泛应用于汽车电子系统中的通信协议,它可以实现各个控制模块之间的高速数据传输和通信。

CAN总线具有较强的抗干扰能力,可靠性高,并且支持多主机和多设备的连接。

三、硬件设计1.DSPIC芯片选型根据具体需求,选择合适的DSPIC芯片,考虑计算能力、存储容量、功耗等因素。

2.CAN总线接口电路设计设计CAN总线接口电路,包括电气层和协议层。

电气层需要设计CAN收发器和电平转换电路,确保CAN总线与DSPIC芯片之间的电气兼容性;协议层需要实现CAN总线的数据通信和控制逻辑。

3.外围电路设计根据实际需要添加外围电路,如时钟电路、稳压电路、输入输出接口、扩展接口等。

四、软件设计1.DSPIC芯片固件开发使用C语言或汇编语言等进行DSPIC芯片的固件开发,包括初始化设置、各种算法实现和控制逻辑编写。

2.CAN总线协议栈开发设计CAN总线协议栈,实现CAN数据通信和控制逻辑,包括消息的发送和接收、错误处理、帧过滤等功能。

3.软硬件接口驱动开发根据硬件设计的接口,编写驱动程序,并提供统一的API接口,方便上层应用程序调用。

五、测试与验证1.单元测试对芯片固件、CAN协议栈和硬件接口驱动进行单元测试,验证其功能正确性。

2.集成测试将各个模块集成到一起进行测试,验证整个控制模块的性能和稳定性。

3.系统测试将控制模块连接到实际系统中进行测试,验证其在实际环境下的可靠性和适应性。

Linux下基于PCI接口的DSP驱动程序设计

Linux下基于PCI接口的DSP驱动程序设计

Linux下基于PCI接口的DSP驱动程序设计陈华锐;徐林杰【期刊名称】《计算机光盘软件与应用》【年(卷),期】2012(000)004【摘要】Comparing to traditional device exploitation,the PCI device exploitation based on TMS320C6416 decreases the difficulty in hardware and software design because of the inline PCI interface.This paper discussed PCI bus Linux Driver exploitation based on C6000 DSPs,posed a data transfer method based on DMA,submit the key source code.%TI公司的TMS320C6000系列DSP由于有了内置PCI接口,因此大大提高了数据传输速度,同时提高了数据传输的可靠性以及系统的稳定性。

本文以工程项目为背景,详细讨论了以TMS320C6416DSP为核心的PCI总线的Linux驱动程序开发方法,根据DSP PCI总线的特点,提出了基于DMA方式的数据传输机制,给出了关键源码。

【总页数】2页(P172-172,157)【作者】陈华锐;徐林杰【作者单位】武汉船舶通信研究所,武汉430079;武汉船舶通信研究所,武汉430079【正文语种】中文【中图分类】TP368.11【相关文献】1.Linux环境下 PCI接口卡设备驱动程序设计 [J], 邬依林2.Linux下基于MCP2515的CAN总线驱动程序设计 [J], 张才军;叶水生;王万兵3.嵌入式Linux下DSP扩展总线接口驱动程序设计 [J], 盛健;王锋;季晓勇4.Linux下基于PCI接口卡的AOS帧同步收发器的驱动程序设计 [J], 刘慧5.Linux下基于MCP2515的CAN总线驱动程序设计 [J], 张才军;叶水生;王万兵因版权原因,仅展示原文概要,查看原文内容请购买。

基于DSP的PCI接口设计与实现

基于DSP的PCI接口设计与实现

D S P芯 片不支 持 P C I 总线 接 口 , 无 法 与其他 P C I 总线 设备 通信 。 因此 文 中以 D S P芯 片外 部存 储 器 总线 为接 口设 计 实现 了

数据管理的 D P R A M, 使D S P 芯片可直接通过 P C I 总线访问外部设备并响应其他 P C I 设备发来的操作 , 实现通过 P C I 总线
d o i : 1 0 . 3 9 6 9 / j . i s s n . 1 6 7 3 — 6 2 9 X. 2 0 1 3 . 0 8 . 0 2 9
De s i g n a nd Re a l i z a t i o n o f PCI I n t e r f a c e Ba s e d o n DS P
第2 3卷
第 8期
计 算 机 技 术 与 发 展 源自C0MP UT ER T ECHNOL 0GY AND DEVEL OP MENT
2 0 1 3年 8月
Vo l _ 2 3 No . 8 Aug . 2 01 3
基 于 DS P的 P C I 接 口设 计 与 实 现
Abs t r a c t : P CI h a d b e e n c o n s i d e r e d a s o n e o f t h e mo s t wi d e l y u s d e p a r a l l e l b u s e s . DS P c h i p s a l s o h a d e x t e n s i v e a p pl i c a t i o n i n d i g i t a l s i g — n l a p r o c e s s i n g ie f l d. Ho we v e r . p r e s e n t l y mo s t DS P c ip h s d i ( h l ’ t s u p p o r t t h e P CI i n t e fa r c e n o t t O c o mmu n i c a t e wi t h o he t r PCI . i n t r o d u c d e

基于PCI总线和DSP的步进电机运动控制卡的设计和实现

基于PCI总线和DSP的步进电机运动控制卡的设计和实现
维普资讯
~ ~
■ 电子 科 技 大 学 电子 工 程学 院 夏 勇 韩 春 林 何 子 述
基于 P CI总 线 和 DS P的
步进 电机 运 动控 制卡 的设 计 和 实 现
摘 要 :本 文针 对 数控 系 统 的工 作 特 点 和 要 求 ,通 过 对 TI 司 DS 公 P芯 片 T S 2 L 2 0 A 和 C pe s 司 P I M 30 F47 y rs 公 C
制卡 中 ,由于 DS P采 用 多 总 线哈 佛 将 反 馈 信 息 传 输 给 P I 部 总 线 , 进 电机 变 速 过 程 动 力学 特性 ,以指 C 局 结 构 使 得 处 理 指 令 和 数据 可 以 同 时 并且 控 制 系 统 外 围 I / 块。 P O模 DS 芯 数 曲 线 前段 规 律 作 为 前 后 沿 的 近似 CI 进行 , 因此 相 比传 统 控 制 中的单 片 片 与 计 算 机 的 通 信 通 过 P 桥 接 芯 梯 形 波 ,进 而 确 定 升 降频 特 性 ,这 机 具 有 更 多 的优 势 。 同时 ,运动 控 片 CY0 4 9实 现 。 94 制卡与 P C机 通 过 P 局 部 总 线 通 CI 样 既 能保 证 步 进 电机 运 行 过 程 不 会 失 步 ,又 充分 发挥 了步 进 电机 的 固
C卡 CY 0 4 9 码 器 就 输 出 两相 相 差 为 9 。 的脉 冲 驱 动 器 上 驱 动 器 将 检 测不 到 该 信 P I 的功 率 。 9 4 在使 用 时 , 0
迭 代 运 算 ,而 定 步法 同样 需 要 进 行 迭 代 。这 两种 方法 在 D P 都 不 易 S上
实 现 且 灵 活 性 较 差 。 为此 本 文研 究

基于DSP和PCI总线的通用数字信号处理系统

基于DSP和PCI总线的通用数字信号处理系统

基于DSP和PCI总线的通用数字信号处理系统在信号处理系统中普通采纳数据采集卡实现数据采集,采纳微机软件处理的办法实现数据处理,采纳PC机实现数据管理。

因为PC机的CPU 采纳的是冯?诺依曼存储器结构,并不适用于数字信号的运算,若彻低用法PC机处理数字信号不仅造成处理速度慢,影响PC机对数据的管理,还会影响信号处理系统的实时性。

因此,提出一种计划把数字信号处理部分从PC机软件中分别出来交给处理,DSP处理完毕后再把数据交还PC机举行管理。

这样充分利用DSP对数字信号高速处理的优势,提高信号处理系统的实时性和稳定性。

本文以TMS320VC5402 DSP为例,赋予解释。

1 系统的硬件设计1.1 PCI接口芯片PCI9052PCI9052是一款面对低端应用的高性能、工作在目标(从)模式的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控制寄存器(H),地址寄存器(HPIA),数据寄存器(HPID)拜访DSP的片内RAM,从而实现与DSP通信的。

DSP只能拜访HPIC。

HPI寄存器的挑选由HCNTL[1:0]脚在PCI 总线地址有效期实现,解释如表1所示:在主机拜访DSP片内RAM过程中,主机首先按照拜访类型对HPIC寄存第1页共5页。

Linux下基于PCI接口的DSP驱动程序设计

Linux下基于PCI接口的DSP驱动程序设计

引言 三 、L nx驱动 程序 开 发 iu 数 字信 号处 理器 (S ) DP 在通 讯 、 音 图像处 理 、 据加 密等 各 语 数 L nx下对 TS 2C 46加密 卡进行 驱动 程序 开发 ,要完 成 iu M 306 1 方 面得 到越 来越 广泛 的 应用 。T 60 系列 DP芯 片 内嵌 P I I 00 C S C 接 的工作 主 要包 括 :对 P I C 设备 的查 找 、初始 化 、卸载 ,对字 符 设 口,支 持主/ 从模 式 的读 写, 以 3 Mz 的工作 频率 和 3 地址 / 备 的数 据读 写和控 制 , 中断处 理等 。 3t t 2位 ( )P I - C 设备 初始 化 数据 总 线进 行数 据传 输 , 论上 最 高可 以支持 12B t/ 的数 据 理 3 My e s 传输 , 速度 上远 远超 过 DP常用 的 H I M BP总线 , 全 可 以 在 S P 、 cS 完 在 Ln x . iu2 6内核 中,使 用 p id ie c—r vr结 构体来 定义 P I C 驱 动 。 设 备 查 找 时 通 过 i _ a l 结 构 体 中 的 的 V N E _ D、 dt be ED R I 满足 传 输实 时性 的要 求 。
规 方法 比 ,显著 地提 高 了传 输速度 ,具有较 高的应 用价 值 。
二 、T S 2 C 4 6的 P பைடு நூலகம் 口 M 30 6 1 CI
I 来 区别 不 同的设 备 , D 对于 T S 2 C 4 6 片 , E D R I M 30 6 1 芯 V NE _D 和 DV C. D分别 为 O l4 、0 a0 。 E IE I x 0 c x l6 pc d ie i rv r结构 体 中的 p o e rb 0函数 向内核提 供 了对硬 件进 行 探测 并 初始 化 的接 口 。p oe r b 0函数 完成 的功 能有 : 1 读取 D P 加 密 卡 B s O 2 空 间 基 地 址 和 中 断 号 ,通 过 . S ae 一

基于PCI总线通用DSP信号处理系统的设计

基于PCI总线通用DSP信号处理系统的设计

基于PCI总线通用DSP信号处理系统的设计1 引言1.1 DSP 简介及基本特点数字信号的处理离不开算法和实现手段。

数字信号处理器(digital signal processor 简称DSP)。

是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器,是实现实时数字信号处理的有力工具。

DSP 目前广泛应用于模式识别,数字通信,信号处理,工业控制等领域。

TI 公司的TMS320C54X 系列DSP 有着以下的特点:采用先进的修正增强型哈佛结构,片内共有8 条总线(1 条程序存储器总线,3 条数据存储器总线和4 条地址总线);高度并行和带有专用硬件逻辑的CPU 设计;高度专业化的指令系统;模块化结构设计;能降低功耗和提高抗辐射能力的新的静电设计方法。

因此它能高速实时以及灵活地应用于图像处理、语言处理、频谱分析、数字滤波、实时控制等各个领域。

TMS320VC5402 是54X 系列中应用比较广泛的一种芯片,它有着丰富的接口资源,是一种集数据处理和通信功能于一体的高速微处理器。

其操作速率为40~100MIPS。

1.2 PCI 局部总线的性能和特点PCI 总线是一种不依附于某个具体处理器的局部总线。

从结构上看,PCI 是在CPU 和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。

管理器提供了信号缓冲,使之能支持10 种外设,并能在高时钟频率下保持高性能。

PCI 总线也支持总线主控技术,允许智能设备在需要时取得总线控制权以加速数据传送。

2 信号处理系统的功能构成通用信号处理系统一般分为数据采集、数据处理和数据管理3 个部分(图1)。

采集部分可以采用通用的数据采集卡,数据管理部分则必须用PC 机才能完成。

基于DSP的PCI设备Windows驱动程序设计

基于DSP的PCI设备Windows驱动程序设计

文章编号:1007-1423(2020)25-0084-06DOI:10.3969/j.issn.1007-1423.2020.25.018基于DSP的PCI设备Windows驱动程序设计杨再明1,崔恒武1,曹洪龙2(1.92001部队,青岛266000;2.苏州大学电子信息学院,苏州215006)摘要:利用PCI接口的数据采集卡实现开关量信号采集在航海航天领域广泛应用。

以基于DSP的信号采集PCI设备为例,主要研究基于WDM的PCI驱动程序开发的基本框架和设计方法,并介绍基于WDK的WDM程序生成方法和测试程序设计方法,为WDM驱动程序设计人员提供参考。

关键词:Windows驱动程序模式;驱动程序;PCI2040;数字信号处理器基金项目:2019年教育部产学合作协同育人项目(No.201901238033);2019年教育部产学合作协同育人项目(No.201902096006);2019年苏州大学高等教育改研究课题(苏大教〔2019〕107号)0引言在现代航空航天和航海领域,通常需要同时监测多个信号并根据各个信号的状态和时序进行工作状态监测,从而为整体系统正常运转提供保障。

例如,采用便携式多路开关量信号检测仪同时对多路电磁继电器通断信号进行检测,很好的解决了多路开关量信号的并行实时检测和计时问题[1]。

在这类仪器设计中主要采用上位机+下位机的系统模式,其中上位机通常采用Windows系统的计算机,下位机为定制的信号采集板卡,考虑通信速率和实时性要求上位机和下位机采用PCI协议通信的方式被广泛应用。

该系统的软件开发主要分为上位机Windows应用程序开发、下位机嵌入式软件开发和Windows驱动开发三部分。

对于Win⁃dows XP或Windows7系统,微软公司(Microsoft)提供Windows驱动程序开发包WDK(Windows Driver Kit)简化了Windows驱动程序开发过程,可用于开发支持即插即用功能的WDM(Windows Driver Mode)驱动程序,实现上位机Windows应用程序基于PCI协议通过驱动访问下位机的功能[2-4]。

PCI驱动程序开发实例

PCI驱动程序开发实例

PCI驱动程序开发实例引言PCI总线广泛使用在计算机中,一方面是因为该总线的数据吞吐量大,另一方面是因为该总线与具体的处理器无关。

PCI硬件设备资源的分配不是硬件设计所决定的,而是由Windows操作系统根据PC机中所有硬件设备对资源的占有统一分配的。

这就要求设计设备驱动程序以跨越操作系统的边界,对物理硬件进行操作。

1 DSP芯片中集成的PCI接口特点1.1 PCI接口的内部结构DM642片内集成一个主/从模式的PCI接口,它相当于专用的PCI接口芯片,这样可以不必深究PCI总线规范,将工作重点放在系统功能的实现上。

DSP可以通过这个接口实现与PCI主机的互连。

从图1可以看出,PCI接口的内部结构包括7个部分:(1)PCI总线接口模块(PCI Bus Interface Unit,PBIN):该模块对主/从模式下的总线交易都不会插入等待周期,可以实现最大的总线传输带宽。

(2)E2PROM控制器模块:控制器与外部的4线串行E2PROM相连。

PCI接口复位时,控制器读取E2PROM中的数据,配置PCI接口。

DSP可以通过映射寄存器访问E2PROM。

(3)DSP从模式写模块:包括一个多路复用器和一个PBIN到DSP的FIFO。

它完成的功能是:外部PCI设备通过PCI接口写数据到DSP从设备。

外部主设备往DSP的Base0空间执行写操作时,PCI地址与DSPP寄存器中的固定偏移值结合,形成DSP目的地址,在传输过程中目的地址自动递增。

(4)DSP从模式读模块:包括一个多路复用器和一个DSP到PBIN的FIFO。

它完成的功能是:外部PCI设备通过PCI接口能够从DSP从设备读取数据。

在外部主设备从DSP的Base0空间执行读操作时,PCI地址与DSPP寄存器中的固定偏移值结合,形成DSP源地址,在传输过程中此地址自动递增。

(5)DSP主模式模块:包括读/写两个子模块,DSP是该模块的主控方。

DSP主模式读这个子模块,完成DSP主设备通过PCI接口从外部PCI从设备中读取数据。

SEED-VPM642 DSP端PCI 驱动程序 接口函数及使用说明

SEED-VPM642 DSP端PCI 驱动程序 接口函数及使用说明

SEED-VPM642 DSP端PCI驱动程序接口函数及使用说明Version 1.1一.概述为了与本公司提供的AVStream 视频流驱动程序相配套,简化用户DSP端应用程序对PCI外围接口的操作,确保视频数据和握手信号的高效、可靠传输,特设计了SEED-VPM642 DSP端PCI驱动接口库(SeedPciApi.lib)。

该驱动程序库基于TI DSP/BIOS设计,并且在最大限度上使用了TI 6000 CSL库接口函数开发,其使用范围和资源占用如下:使用范围:与本公司提供的AVStream视频流驱动配套使用,应用于视频采集、播放领域。

资源占用:1、内存空间,0x0001FF00~0x00020000片内ISRM空间,共0x100字节;2、中断资源,硬件中断13(HWI_INT13)用作PCI中断。

二.接口函数说明2.1 初始化SEED DSP端PCI驱动接口库/*----------------------------------------------------------------------------InitPciDrvLib函数名: void功能描述:初始化SEED-VPM642 DSP端PCI驱动程序库,在使用SEED-VPM642 DSP端PCI驱动接口库之前,必须使用该函数初始化该接口库。

参数:无返回值:无----------------------------------------------------------------------------*/void InitPciDrvLib(void);2.2 判断相应视频通道视频采集是否开始/*-------------------------------------------------------------------------IsCapStart函数名: Bool功能描述:判断相应视频通道视频采集是否开始,视频采集或停止由主机应用程序控制,只有视频采集开始,DSP端应用程序才可以提交视频数据帧就绪请求。

基于DSP的内嵌PCI设备WDM驱动程序开发

基于DSP的内嵌PCI设备WDM驱动程序开发

基于DSP的内嵌PCI设备WDM驱动程序开发
王乐;刘玉
【期刊名称】《微计算机信息》
【年(卷),期】2007(023)023
【摘要】采用内嵌PCI的DSP主芯片可以简化设备PCI接口的软硬件复杂度,缩短系统开发的周期,降低开发成本.本文以工程项目为背景,详细讨论了以
TMS320C6205为核心的内嵌PCI设备WDM驱动程序开发方法.该方法在实际中得到了很好的应用,满足了总体技术指标.
【总页数】3页(P161-163)
【作者】王乐;刘玉
【作者单位】430074,湖北省武汉市,华中科技大学电子与信息工程系;430074,湖北省武汉市,华中科技大学电子与信息工程系
【正文语种】中文
【中图分类】TP391.8
【相关文献】
1.基于PCI总线的振动控制系统WDM驱动程序开发 [J], 冯晨;袁宏杰
2.基于Driver Studio的PCI设备WDM驱动程序的设计 [J], 陈宇;张小艳
3.基于DSP内嵌PCI总线的卫星信号仿真器设计 [J], 杨家胜;刘光斌;范志良
4.用DriverWorks开发PCI设备的WDM驱动程序 [J], 孟华
5.基于TMS320C6416内嵌PCI设备驱动程序开发 [J], 李静;赵保军
因版权原因,仅展示原文概要,查看原文内容请购买。

基于DSP的PCI接口设计与实现

基于DSP的PCI接口设计与实现

基于DSP的PCI接口设计与实现张亮;田泽;楼晓强;王治【期刊名称】《计算机技术与发展》【年(卷),期】2013(000)008【摘要】PCI总线是目前应用最广泛的并行总线之一,DSP芯片在数字信号处理领域也有着广泛的应用,但目前大部分DSP芯片不支持PCI总线接口,无法与其他PCI 总线设备通信。

因此文中以DSP芯片外部存储器总线为接口设计实现了一种基于FPGA的PCI总线接口控制逻辑,通过在FPGA内集成EMIF总线接口、PCI总线接口、控制转换逻辑和一块用于数据管理的DPRAM,使DSP芯片可直接通过PCI总线访问外部设备并响应其他PCI设备发来的操作,实现通过PCI总线进行数据交互,扩展了DSP芯片的应用范围。

%PCI had been considered as one of the most widely used parallel buses. DSP chips also had extensive application in digital sig-nal processing field. However,presently most DSP chips didn't support the PCI interface not to communicate with other PCI. introduced the implementation of PCI interface control logics via the external memories bus of the DSP chip. The design integrated EMIF interface, PCI interface,control translated logic and a block of DPRAM for data management into a single FPGA chip,which enabled the DSP chip directly access the external devices through the PCI interface,responsed the operation from other PCI devices and implemented the data exchange through PCI interface,so it expanded the application area of the DSP chips.【总页数】5页(P114-117,148)【作者】张亮;田泽;楼晓强;王治【作者单位】中国航空计算技术研究所,陕西西安 710119;中国航空计算技术研究所,陕西西安 710119;中国航空计算技术研究所,陕西西安 710119;中国航空计算技术研究所,陕西西安 710119【正文语种】中文【中图分类】TP31【相关文献】1.基于TMS320C6455 DSP的PCI接口设计 [J], 熊璐;;2.基于TMS320C6455 DSP的PCI接口设计 [J], 熊璐3.Linux下基于PCI接口的DSP驱动程序设计 [J], 陈华锐;徐林杰4.一种基于PCI接口的1394B总线的设计与实现 [J], 周勇; 索晓杰; 白晨5.基于CompactPCI接口的DSP总线监控仪 [J], 陈全;苗克坚;刘艳霞因版权原因,仅展示原文概要,查看原文内容请购买。

基于DSP 的PCI 通用运动控制卡的硬件设计-中

基于DSP 的PCI 通用运动控制卡的硬件设计-中

基于DSP 的PCI 通用运动控制卡的硬件设计摘要:本文提出了一种基于TMS320F2812 的PCI 总线通用运动控制卡的设计方案。

详细介绍了运动控制卡的硬件结构,并对控制卡的配置进行了深入分析,给出了具体的配置参数。

最后,介绍了板卡驱动程序的设计方法。

采用DSP 和PCI 结合的方式,实现了上下位机的高速通讯,并充分发挥了DSP 强大的运算能力和极高的处理速度,以保证控制卡对实时性和精度的苛刻要求。

1 引言随着DSP 技术的飞速发展,以其为核心的多轴运动控制卡越来越广泛的应用在运动控制系统中。

上位机只需对被控对象实施总体的控制和管理,而位置反馈信号的采集、闭环控制的计算和控制量的输出均由运动控制卡完成,这极大地提高了运算速度和控制响应速度。

本文设计的运动控制卡以TI 公司的32 位定点DSP TMS320F2812 为核心处理器,辅以运动控制器LM628,通过PCI 总线专用接口芯片PCI9052 与上位机通信,实现3 轴(可扩成多轴)伺服电机的控制,完成位置、速度控制以及直线、圆弧插补功能。

本文将对运动控制卡的硬件设计进行详细的介绍。

2 运动控制卡的硬件结构TMS320F2812 是基于TI 公司最新的C28x 内核而设计的。

与其他的处理器相比,其具有如下一些特点:采用低功耗设计,核心电压仅1.8V~1.9V,显著降低了功耗,指令周期可达6.67ns;新增了扩展控制寄存器以实现各种增强功能;多达128K×16 位的Flash 存储器,足够用于存储程序和数据变量;56 个可编程或复用的通用I/O。

LM628 是NSC 公司专为使用增量式编码器作为位置反馈的伺服机构而设计的一种芯片,其集成度高,需要外围部件少,易于调试。

主要特点如下:具有32 位位置、速度和加速度寄存器;带有16 位参数的可编程数字PID 控制器;可编程微分采样间隔;运动过程中可改变速度、预期位置和PID 控制器参数;实时可编程的主机中断。

基于DSP与PCI的视频采集卡设计与实现

基于DSP与PCI的视频采集卡设计与实现

基于DSP与PCI的视频采集卡设计与实现【摘要】由于数字视频监控易于观看、便捷、信息储存量大等优点,其日益受到关注并被广泛使用于各个领域之中,已经成为安全保障体系中一个重要的构成。

视频采集子系统是实现视频数据的采集与压缩,它是数字视频监控的关键环节。

为了满足新一代视频监控系统对实时、实时、高品质的需求,本文提出了一种以DSP与PCI为核心的视频采集卡,简要介绍了MPEG-4的压缩编码理论,对整个系统进行了整体的设计同时对其进行了硬件和软件的设计并将其进行阐明。

【关键词】DSP;PCI;视频采集卡;设计;MPEG-4随着人们对居住和工作场所的安全以及隐私需求的日益增长,大容量信息处理成为关键技术[1],安全管理系统显得尤为重要。

其中,视频监控系统是集电脑、通讯、网络等多种技术于一体的综合应用型安防系统,其在社会的各个行业及领域中都得到了广泛的应用、推广并发挥其功能的基础上切实取得了良好的效果。

视频监控系统经历了模拟时代、半数字时代、全数字时代三大发展历程[2]。

1 MPEG-41.1 MPEG-4的说明MPEG-4并不仅限于特定的压缩算法,而是针对数字电视、互动绘图、交互式多媒体等的集成和压缩技术。

MPEG-4为应用程序提供算法和手段的基准,以实现在多媒体传输、存储和检索等应用中,形成一种统一的数据格式。

MPEG-4与以往的标准有很大的不同之处,是其采用了基于对象的编码思想,在进行编码时,将一个场景划分为多个视频音频物体,这些物体具有时空上的联系,将其单独进行编码,然后通过多路复用传送至接收机,再将不同的目标进行译码,最终形成所需的音频和视频。

其具有以下特点:(1)MPEG-4是以面向对象的方式实现的,它为用户提供了包括索引、超级链接、上下载和删除等多种多媒体数据的功能。

(2)MPEG-4是以高编码效率为基础的。

与现有或未来的其他标准相比,在同样的速率下,该方法能够提高视觉听觉的质量,从而可以在较低的带宽下进行视频和音频的传输。

DSP与PCI网卡接口设计

DSP与PCI网卡接口设计

DSP与PCI网卡接口设计基于DSP 的嵌入式系统的以太网接口设计一直是热门领域,目前利用的以太网控制器大多都是ISA 接口。

随着PCI 总线逐渐取代ISA 总线的趋势,使PCI 接口的以太网控制器也成为PC 机的主流,但在嵌入式领域中PCI 总线的应用目前并不多见。

本文将介绍利用Realtek 公司生产的具有PCI 接口的以太网控制芯片RTL8139 实现RTL8139 与DSP 接口的方案。

1RTL8139RTL8139 是带PCI 接口的10M/100M 自适应网卡控制芯片,它提供32 位PCI 总线控制,支持IEEE802.3u 100Base-T 和IEEE802.3x 的全双工流量控制;符合PCI 2.2 标准,支持高级配置和电源接口(ACPI)和PCI 对现代操作系统的电源管理(即对操作系统的直接电源管理),以提高电源管理的效率。

此外,RTL8139 还支持128KB 的Boot ROM,提供网络唤醒和远程唤醒功能;含有2 个2KB 的收发FIFO;能够降低网络维护成本,消除使用障碍,而且可以很方便地使网络由10M 升级到100M,且带宽可以达到200Mbps。

RTL8139 内部MAC 层结构如PCI 总线分为主(Master)、从(Target)二种类型,Master 可以控制PCI 总线,Target 不能控制PCI 总线。

标准的主设备至少有49 条线与PCI 总线相连;从设备至少有47 条线与PCI 总线相连。

RTL8139 所提供的PCI 接口有51 条引脚,其引脚简介如下。

(1)地址/数据信号AD31~0:地址、数据多路复用的输入/输出信号,在FRAMEB 有效时,是地址期;在IRDYB 和TRDYB 同时有效时为数据期。

C/BE3~0:总线命令和字节使能多路复用信号,负责传输总线命令。

在数据期,由传输字节使能信号来表示数据线上哪些字节是有效数据。

(2)接口控制信号FRAMEB:帧周期信号,表示访问的开始和持续时间。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 驱动程序功能实现
当把板卡第一次插到计算机的PCI插槽以后,计算机的系统总线会检测到有个新设备没有安装驱动程序,并提示安装驱动程序。正确地安装驱动程序以后,用户就可以在应用程序中与驱动程序进行通信。
3.1 打开设备
在应用程序中调用系统提供的函数CreateFile()。如果系统根据设备名确实检测到设备并成功打开了这个设备,则返回一个指向这个设备的有效句柄;如果调用失败,则返回一个错误信息。
3.2 读/写设备
读/写设备包括读/写设备的配置空间、读/写设备的非配置空间,其中,非配置空间包括I/O空间、存储空间。 设备被打开以后,应用程序就调用DeviceloCon-trol()函数来达到访问设备的目的。DeviceIoControl()函数有8个参数,其中第3个参数是应用程序传递给驱动程序的数据缓冲区地址,在这个数据缓冲区存放的是应用程序要读写的设备的空间、偏移量、长度,这些都需要在应用程序中配置好。
(1)PCI总线接口模块(PCI Bus InteRFace Unit,PBIN):该模块对主/从模式下的总线交易都不会插入等待周期,可以实现最大的总线传输带宽。
(2)E2PROM控制器模块:控制器与外部的4线串行E2PROM相连。PCI接口复位时,控制器读取E2PROM中的数据,配置PCI接口。DSP可以通过映射寄存器访问E2PROM。
I/O请求包(IRP)是驱动程序操作的中心,是一个预先定义的数据结构,带有一组对它进行操作的I/O管理器例程。一个IRP有固定的首部和可变数目的 IRP栈单元。IRP的固定部分含有IRP的固定属性,每个栈单元含有大多数有关的IRP参数。当IRP由多个驱动程序处理时,使用多个IRP栈单元。每个驱动程序从当前IRP栈单元得到它的IRP参数。如果把IRP沿当前设备的驱动程序栈向下传递,必须在当前驱动程序中使用正确的参数设置下一个栈单元,然后在此驱动程序中利用函数IoCalldriver()调用更低层的驱动程序。驱动程序不必处理所有的IRP,但至少需要处理“创建”和“关闭”这两个 IRP。I/O管理器接收I/O请求,然后在把它传递到合适的驱动程序栈中的最高驱动程序之前,分配并初始化IRP。驱动程序处理IRP的过程。
当应用程序读/写设备时,驱动程序工作的流程图。
首先,获取当前IRP栈单元的指针;然后再读取I/O控制代码,判断应用程序想达到什么样的目的:是读/写配置空间,还是读/写非配置空间,然后再调用相应的处理程序。
4 结 语
这里采用微软的驱动程序开发包Device Driver Kit(DDK)是因为它是其他几种工具的基础,它要求开发人员深刻了解驱动底层,虽然不易掌握,但开发出来的驱动程序通用性好,兼容性强。板卡与PC机的通信速度得到了很大的提高。
(4)分发例程(Dispatch):用于管理驱动程序与应用程序之间的通信,从而实现应用程序控制PCI设备的目的。
严格地说,驱动程序中只有“初始化”模块Drivet-Entry例程是一定不能少的。在实际工作中,所有驱动程序都有分发例程处理用户I/O请求。
2.2 IRP处理
IRP首先到达最高层的驱动程序1,驱动程序1使用函数IoGetCurrentIrpStackLocation()获得指向当前栈单元的指针。
然后驱动程序1使用IoCallDriver()函数调用下一个驱动程序。I/O管理器现在改变“当前IRF’栈单元”指针,所以驱动程序2看到向下的第二个IRP栈单元(驱动程序1为它设置的栈单元)。这个过程继续,直到最底层的的驱动程序4收到这个IRP。
驱动程序4现在处理这个IRP。当它完成IRP的处理时,驱动程序4调用IoCompleteRequest()函数。指示它已经完成IRP的处理。IRP再沿设备栈向上传递,直到它最终弹出栈顶,回到用户。
2.3 IRP的完成
当一个驱动程序完成对IRP的处理时,它必须告诉I/O管理器,这称为IRP完成。如下面代码所示,必须设置IRP IoStatus域结构中的几个域。IoStatus,Status设置为一个NTSTATUS状态码,IoStatus.In-formation通常存储传输的字节数。如:
与工业标准结构(Industry Standard Architecture,ISA)设备不同的是:PCI硬件设备资源的分配不是硬件设计所决定的,而是由Windows操作系统根据PC机中所有硬件设备对资源的占有统一分配的。为了保证系统的安全性、稳定性和可移植性,对应用程序访问硬件资源加以限制。这就要求设计设备驱动程序以跨越操作系统的边界,对物理硬件进行操作。
1 DSP芯片中集成的PCI接口特点
1.1 PCI接口的内部结构
DM642片内集成一个主/从模式的PCI接口,它相当于专用的PCI接口芯片,这样可以不必深究PCI总线规范,将工作重点放在系统功能的实现上。DSP可以通过这个接口实现与PCI主机的互连。
从图1可以看出,PCI接口的内部结构包括7个部分:
(5)DSP主模式模块:包括读/写两个子模块,DSP是该模块的主控方。DSP主模式读这个子模块,完成DSP主设备通过PCI接口从外部PCI从设备中读取数据。DSP主模式写这个子模块完成DSP主设备通过PCI接口写数据到外部PCI从设备。
(6)PCI I/O接口模块:它包括PCI的I/O寄存器,HSR,HDCR,DSPP。只能由PCI主机通过基址1寄存器或基址2寄存器的空间映射进行访问。
(2)AddDevice例程:在驱动程序初始化以后,PnP管理器调用驱动程序的Add Device例程来初始化由该驱动程序所控制的设备。在Add Device例程中,驱动程序创建一个设备对象作为目标设备,并将设备对象附着到设备堆栈中。
(3)PnP例程:PCI设备都是即插即用设备,PCI设备的驱动程序必须具备PnP例程。PnP管理器使用PnP例程来管理驱动程序启动、停止和删除设备。
(3)DSP从模式写模块:包括一个多路复用器和一个PBIN到DSP的FIFO。它完成的功能是:外部PCI设备通过PCI接口写数据到DSP从设备。外部主设备往DSP的Base0空间执行写操作时,PCI地址与DSPP寄存器中的固定偏移值结合,形成DSP目的地址,在传输过程中目的地址自动递增。
(4)DSP从模式读模块:包括一个多路复用器和一个DSP到PBIN的FIFO。它完成的功能是:外部PCI设备通过PCI接口能够从DSP从设备读取数据。在外部主设备从DSP的Base0空间执行读操作时,PCI地址与DSPP寄存器中的固定偏移值结合,形成DSP源地址,在传输过程中此地址自动递增。
Irp一>loStatus.Status=S T ATUS_SUCCESS
Irp一>IoStatus.Information=info;
IoCompleteRequest(Irp,IO_NO_INCREMENT);
调用IoCompleteRequest()表明低层驱动程序已经完成了IRP的请求,并将这个IRP返回给I/O管理器。IO_No_INCREMENT是个系统定义的常量,指定启动该IRP的优先级,需要驱动程序快速处理。
PCI接口中包括3类寄存器:
(1)PCI配置寄存器:只能被外部PCI主机(Host)访问。
这些寄存器提供了PCI接口的配置信息,只能由外部主机访问,可以从外部E2PROM自动加载,或者直接设置为默认值。
(2)PCI I/O寄存器:只能被外部PCI主机(Host)访问。
PCI I/O寄存器只能由PCI主机通过基址l寄存器(Basel Address Register)或基址2寄存器(Base2Address Register)的空间映射进行访问。
这个调用由I/O系统服务接收。I/O管理器从这个请求构造一个合适的I/O请求包(IRP)。在最简单的情况下,I/O管理器只是把IRP传递给一个设备驱动程序,这个驱动程序调用硬件,并完成IRP的处理。I/O管理器把数据和结果返回给Win 32和用户应用程序。现在一个分层的设备驱动程序栈是很常见的。每个驱动程序把该请求划分为更简单的请求。高层次的驱动程序调用低层次的驱动程序,最后,最低层的驱动程序与硬件直接打交道完成用户的请求。I/O管理器把数据和结果返回给Win 32和接口模块:包含DSP的映射寄存器,用于控制主模式接口,产生PCI中断以及电源管理。
其他几个模块都与PCI总线接口模块相连,而PCI总线接口模块对外通过PCI总线与外部设备相连,这样。DSP就可以通过主/从模式的读或写来完成与外部-设备之间的数据传输。
1.2 PCI接口中的寄存器
I/O管理器每收到一个来自用户应用程序的请求就创建一个I/O请求包(IRP)的数据结构,并将其作为参数传递给驱动程序。
2.1 设备驱动程序的组成部分
可以把一个完整的驱动程序看作是一个容器,它包含许多例程。当操作系统遇到一个I/O请求包(I/ORequest Packet,IRP)时,它就调用这个容器中的例程来执行该IRP的各种操作。驱动程序包含以下几个基本例程: (1)DriverEntry例程:它是驱动程序的初始化入口点,必须叫作DriverEntry。它负责驱动程序的初始化,用来初始化驱动程序范围内的数据结构和资源。它主要有以下三个功能:设置Adddevice,Unload和其他例程的入口指针;可以从注册表中获取一些需要的信息以初始化驱动程序;初始化其他的在驱动程序范围内的数据结构和资源。所有的驱动程序都必须包含它。当装载驱动程序时,PnP管理器为每个驱动程序调用一次 DriverEntry例程。
基于DSP的PCI驱动程序开发
0 引 言
计算机系统总是通过总线(Bus)实现相互间信息或数据交换的。这些定向的信息流和数据流在总线中流动,就形成计算机系统的各种操作,它能实现各种不同部件和设备之间的互连。
相关文档
最新文档