您当前的位置:首页 > 行业资讯

DSP/BIOS中的IO设备驱动编程技术

时间:2014-12-12  来源:扁平线圈电感厂家  点击:

介绍了DSP/BIOS中I/O设备驱动程序的编写,并给出了一个在TMS320C5402 DSK上开发语音处理程序的实例。

关键词:数字信号处理器(DSP) 实时操作系统 I/O设备驱动 应用程序接口(API)

近年来,随着信息技术的飞速发展,DSP在航空、航天、雷达、通信、消费类电子设备等方面都得到了广泛应用;同时,DSP的运算能力也越大越强大,TI公司新推出的TMS320C6400系列的运算能力可以达到8800MIPS。这些都要求开发DSP的应用程序要缩短开发时间,增加软件的可编护性和可重用性。语音压缩、语音识别、图像处理等方面的应用要求DSP的开发尽可能简单,还要求代码的执行效率高。

DSP/BIOS是TI公司推出的一个实时操作系统。DSP/BIOS与TI的CCS(Code Composer Studio)集成在一起。目前最新的版本是CCS 1.2中的DSP/BIOS II。应用DSP/BIOS可以大大简化DSP应用程序的开发和调试。与外部设备的I/O接口是DSP应用开发中不可缺少的重要部分。基于DSP/BIOS的I/O设备驱动将软件与硬件分离,提高了软件的可重用性,在软件或硬件改动时可使相互的影响降为最小。

1 DSP/BISO操作系统简介

DSP/BIOS实际上是一组可重复调用的系统模块API的集合。只占用DSP很少的资源,可以满足DSP实时运行时的调试性能分析,编写高效的程序。例如,在TMS320C6211上运行printf()函数需花费4000个周期,而运行LOG_printf()只花费36个周期,可printf()要比LOG_pfrintf()多花费100倍以上的时间。下面只对与I/O设备驱动有关的模块作简要介绍。

1.1 任务调度模块(HWI/SWI/TSK)

在DSP/BIOS中,任务的调度是通过H大功率电感贴片电感器WI、SWI和TSK三个模块实现的。HWI(硬件中断管理模块)管理硬件中断,主要负责DSP与外设的交互,从外设中读写数据。由于硬件中断直接与硬件打交道,对应的中断服务程序ISR应尽可能短小精焊。HWI不引起任务调度,它在处理完数据的输入输出后调用SWI_post()来调度相应的软件中断SWI完成数据处理工作。

DSP/BIOS提供两类优先线程:SWI(软件中断管理模块)和TSK(任务管理模块)。SWI是DSP/BIOS任务调度的核心,SWI任务是抢断式的,即高优先级的任务可以抢断低优先级的任务。但是SWI任务是不可阻扁平型电感塞的,所有SWI任务共享一个堆栈,SWI任务只能在程序编制时预先定义好。DSP/BIOS中对任务的动态产生和对阻塞状态的支持是通过TSK模块来实现的。TSK也是可以抢断的,但每个TSK任务使用独立的堆栈。

1.2 通讯模块(PIP/SIO)

PIP(带缓冲管道管理模块)和SIO(流输入输出管理模块)是DSP/BIOS提供的两个接口对象,用于支持DSP与外设之间 数据交换。PIP对象带有一个缓冲队列,可以执行带缓冲的读任务和写任务。SIO没有缓冲队列,SIO的操作get()和put()在应用程序和驱动程序之间交换缓冲的指针,而不是数据的拷贝,因此执行效率比PIP高。

PIP和SIO对象支持基于帧的信号处理系统的实现。在多速率系统中需要使用优先级线程来统一端口通信,在其它需要处理不同尺寸、不同速率的帧的系统中,优先级线程也是必须的。PIP对象可被SWI或TSK线程使用,而SIO对象只能被TSK使用。

2 低级设备驱动(LIO)

LIO(Low Level I/O)是一组基于DSP/BIOS设计的API函数。它由控制函数、I/O缓冲区管理函数、信令函数组成,如表1所示。应用程序可以通过LIO函数控制一个或多个外设通道。

表1 LIO API函数

函 数 函数类型 描 述

Open
Close
Cntl
Start
Stop
GetBuf
PutBuf
IsEmpty
差模电感 IsFull
SetCallback

控制
控制
控制
控制
控制
缓冲区队列
缓冲区队列
缓冲区队列
缓冲区队列
信令

分配资源,初始化设备
释放资源,复位设备
设备特殊操作
缓冲区传送使能
电感器的检测 缓冲区电感生产厂家传送使不能
从设备输出队列重新得到缓冲区
将缓冲区放入设备输入队列
若设备输出队列为空返回真
若设备输入队列为满返回真
当传送毕,设置函数为调用

大电流电感

关于LED电源次级恒流方案的总结随着LED照明现在越来越热,作为LED的生命支柱--LED驱动电源也越来越受到人们的关注。一直听到有很多人这么说:LED电源是个特殊的电源,跟普通电源有很大的不同,所以做LED电源要找专业的LED电源

电除尘电压采样相关问题电除尘高压输出采样遇到点问题,高压输出采用高压包,我想采样高压包的输出电压。高压包输出电压最高为20KV,我想采用电阻分压方式来采样(三个耐压值为5KV的1M玻璃釉电阻和一个1K

求教,mp1583 act4060 电感响 差模滤波后纹波反而power
最近做一个车上用的一个产品,12v降压输出3.3和1.8v,因为车上的电源噪声大,用了共模滤波和差模滤波,在稳压电源上测试,感觉纹波反而增大了;搭建一个迟滞比较器,控制mp1583的on

注塑加工厂


上一篇基于Blackfin533的CCSDS图像压缩算法编码优化

下一篇Verilog HDL与VHDL及FPGA的比较分析


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话