欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > DSP/BIOS环境下的数据通信

DSP/BIOS环境下的数据通信

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


  引言:在DSP/BIOS提供的3种通信方式中,由于PIP对象的效率很高,因此使得它在基于DSP应用系统的输入输出中得到了广泛的应用。但是,我们在利用其所提供的便利的同时,一定要妥善处理好通知读/写函数的编写工作,以免发生递归调用,产生灾难性的后果。

  DSP/BIOS 实时操作系统介绍

  TI公司的DSP开发软件包括集成开发系统(CCS), 实时操作系统(DSP/BIOS),第三方算法库标准(eXpressDSP)。下面重点介绍DSP/BIOS。

  DSP/BIOS是一个用户可剪裁的实时操作系统,主要由三部分组成:多线程实时内核(抢占式多线程);实时分析工具;芯片支持库。利用实时操作系统开发程序,可以方便快速的开发复杂的DSP程序。操作系统维护调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置;实时分析工具可以帮助分析算法实时运行情况。

  DSP/BIOS以模块化方式提供给用户对线程、中断、定时器、内存资源、所有外设资源的管理能力都可以根据需要剪裁。实际应用中需要的定制算法作为一个线程插入DSP/BIOS的调度队列,由DSP/BIOS进行调度。

  使用前需阅读了解DSP/BIOS用户手册和DSP/BIOS设备驱动的开发与使用,具体内容包括DSP/BIOS概述、程序生成、监测、线程调度、存储器和低级函数、I/O概述和管道、流I/O和设备驱动;设备驱动开发工具包(DDK)简介、DSP/BIOS设备驱动的结构和使用、使用DSP/BIOS设备驱动、GIO类驱动、微型驱动的开发步骤、IOM接口、PIO适配器、LIO模型到IOM模型的移植和GIO API的ASYNC扩展。

  通信方式简介

  2.1主机通信

  主机通信方式下,由HST对象完成主机与目标机之间通信。HST对象静态配置为输入/输出,每一个HST对象内部是用数据管道对象来实现。

  开发DSP应用时,可以应用HST对象来模仿数据流和测试程序算法对数据处理。在程序开发早期,特别是在测试信号处理算法时,程序使用输入通道对象访问来自主机文件中数据,以及使用输出通道对象把算法处理过结果反馈回主机一侧,以供查验或比较。在程序开发后期,当算法开发完毕时,可以把HST对象改回到PIP对象,通过利用PIP对象完成外设真实数据与目标应用程序之间通信。

  2.2管道通信

  管道(PIP)对象用于管理块I/O(也称为基于流I/O或者异步I/O)。每一个PIP对象维护着一个分为固定数量和固定大小缓冲区(称为帧)。所有I/O操作在每一刻只处理1帧。尽管每一帧长度是固定,但是应用程序可以在每一帧中放置可变数量数据(但不能超过最大值)。管道有两端,一端为写线程,一端为读线程。写线程一端用于向管道中添加数据,读线程一端用于从管道中读取数据。管道能够用于在程序内任意2个线程之间传递数据。经常地,管道一端由ISR控制,另一端由软件中断函数控制。数据通知函数(也称为回调函数)用于同步数据传输,包括通知读函数和通知写函数。当读或写1帧数据时,这些函数被触发,以通知程序有空闲帧或者有数据可以利用。

  2.3流通信

  流是一个通道,通过它,数据在应用程序与 I/O设备之间传输。流通道可以是只读(用于输入)或者只写(用于输出)。它对所有I/O设备提供了一个简单通用接口,允许应用程序完全不用考虑每个设备操作细节。流I/O一个重要方面是它异步特性。当应用程序正在处理当前缓冲区时,一个新输入缓冲区正在被添充和以前缓冲区正在被输出。流交换是指针而不是数据,这就大大减少了开销,使得程序更能满足实时约束要求。流模块(SIO)通过驱动程序来与不同类型设备打交道。驱动程序由DEV(Device)模块管理。

  设备驱动程序是管理一类设备软件模块。这些模块遵从通用接口(由DEV提供),因此,流函数能够发出普通请求。

  2.4各种通信方式比较

  DSP/BIOS支持两种不同数据传输模型,一种是管道模型,由PIP与HST模块使用;另一种是流模型,由SIO与DEV模块使用。2个模型都要求1个管道或者流具有1个读线程和1个写线程。2个模型都通过拷贝指针而不是数据来完成数据拷贝。一般来说,管道模型支持低级通信,而流模型支持高级、与设备无关I/O。具体情况如表1所列。

  表1 DSP/BIOS环境下通信方式的比较

  3.需注意的问题

  PIP_alloc和PIP_put由PIP对象的写线程调用,PIP_get和PIP_free由PIP对象的读线程调用,这种调用顺序是非常重要的。若打乱这种调用顺序,将会产生不可预测的后果。因此,每一次对PIP_alloc的调用都要跟着对PIP_put的调用才能继续调用PIP_alloc;对于PIP_get,情况也是如此。

  另外,为了避免PIP调用过程中产生递归,作为通知读/写函数的一部分,应该避免调用PIP?API函数。如果为了效率起见必须要这样做,那么对诸如此类的调用应该加以保护,以阻止同一管道对象的重入以及错误的PIP?API调用顺序。例如,在发送管道的通知读函数以及接收管道的通知写函数的开始部分,我们添加了如下语句,以避免递归调用:static?Int?nested?=?0;…if?(nested){/*防止由于调用PIP_get函数而产生的递归调用*/return;}nested?=1。

  4.结束语

  对于数字信号处理应用来说,数据的通信很关键。在TI公司的DSP/BIOS环境下有3种通信方式,即基于管道(PIP,pipe)的通信、基于流(SIO,stream I/O)通道的通信以及基于主机(HST,host)通道的通信。每一种通信方式都是通过调度其相应的内核对象来完成的。DSP/BIOS提供了管理每一种通信方式的模块及相应地API调用,通过这些模块及调用,可以完成DSP环境下的输入/输出 (I/O)。

  参考文献

  1.丁宜栋,骆万文,丛剑飞,王海城. DSP/BIOS环境下的数据通信. 单片机与嵌入式系统应用

  2.张雄伟,曹铁勇. DSP芯片的原理与开发应用. 电子工业出版社,2000

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/262535.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学