一种DSP处理器接口驱动程序设计方法

2018-07-09 09:00
无线互联科技 2018年13期
关键词:驱动程序信号处理处理器

李 莉

(南京交通职业技术学院 电子信息工程学院,江苏 南京 211188)

数字信号处理(Digital Signal Processing,DSP)是一种用来实现某种数字信号处理任务的专用处理器。该型处理器能够进行模拟信号的高速采样和模电信号转换,并进行快速时频处理。DSP在自动控制、信号处理等领域发挥了至关重要的作用。近年来,随着机器人技术的飞速发展和市场需求不断扩大,人们对机器人控制功能、精度和时效性方面的要求也越来越高。在机器人控制系统中大量采样DSP处理器进行环境感知和机器人自身工作状态控制正在变得越来越普遍。因此,在机器人系统中大量采用DSP处理平台对各种信号进行高速处理和分析也变得非常迫切。为了提高DSP处理器的工作效率,有必要采用实时操作系统对DSP资源进行有效管理。DSP操作系统有专用和通用两大类。专用操作系统性能稳定,但可移植性差。通用操作可移植性好,但一般都由商业公司开发维护,因此使用成本较高[1]。因此,本文设计了一种基于开源uC/OS II系统的DSP处理器接口驱动程序,在此基础上能够实现DSP的高效管理。

1 uC/OS II系统接口驱动框架

μC/OS-II是一款开源、实时性好、移植性好的多任务操作系统。μC/OS-II提供了完善的接口驱动框架,如图1所示。

图1 μC/OS-II接口驱动框架

其中,上层访问抽象接口层对设备访问操作进行了封装,为上层应用提供了5个访问接口,分别包括打开设备、读和写设备、设备控制和关闭设备。设备管理核心数据结构层通过为硬件设备分配设备名,从而确定相应设备的核心管理数据结构,最终定位到相应的设备驱动模块。硬件设备驱动模块层负责实际访问硬件设备,实现了打开设备、读和写设备、设备控制和关闭设备接口的具体功能。DSP接口驱动程序的设计必须遵循μC/OS-II的驱动程序框架[2-3]。

2 DSP接口驱动

2.1 DSP接口

DSP处理器的接口取决于处理器的类型,本文选择为DSP处理器型号为TMS320LF2407A。该型处理器采用SPI接口。SPI是一种同步串行接口,能工作于主动和从动方式[4]。其接口电路示意如图2所示。

图2 SPI接口电路示意

2.2 DSP接口驱动

DSP接口驱动的基本任务就是实现对SPI接口的访问接口,然后基于SPI访问接口和DSP核心控制器进行交互,完成相应的数字信号处理任务[5]。其基本思路框架如图3所示。

图3 DSP接口驱动设计思路示意

DSP接口驱动的代码模块如下。

2.2.1 UDFOpen

该接口负责打开DSP设备,具体包括DSP处理器初始化,存储空间设置等。

2.2.2 UDFRead

该接口负责读取DSP设备中指定存储空间内的数据,具体包括DSP存储器寻址和数据读取。

2.2.3 UDFWrite

该接口负责将数据写入DSP设备中指定存储空间内,具体包括DSP存储器寻址和写数据。

2.2.4 UDFIoctrl

该接口负责控制DSP设备的运行状态,具体包括DSP设备激活、挂起、可读写状态控制等。

2.2.5 UDFClose

该接口负责控制DSP设备的关闭,具体包括DSP设备注销流程实现。

3 实验

为了验证本文DSP驱动设计方法的有效性,将其运行于TMS320LF2407A处理器上,进行汽油机转速信号(电磁感应模拟信号)采样和FFT实验。并将其结果和Matlab环境下的实验结果进行比对[6]。

实验环境搭建:对编写的DSP驱动程序文件dsp.c和dsp.h文件进行编译,并链接到uC/OS II内核的镜像文件中。然后将其烧写入TMS320LF2407A的固化存储器中。汽油机转速信号通过车载OBD信号采样装置来获取。本文所用实验车辆为长安福特2011款福克斯汽车。图4所示为某一样本集合。

图4 某采样样本

对于DSP而言,信号处理速度是非常重要的指标[7]。图5所示的是200次FFT转换实验的时间(对随机选取的汽油机转速信号)。

图5 FFT实验时间

整个DSP信号处理精度如表1所示。

表1 DSP信号处理精度结果

由表1可知,本文所提算法的平均正确率达到了98.4%,取得了较好的结果。

4 结语

本文在uC/OS II系统上设计了一种型号为TMS320 LF2407A的DSP处理器驱动程序。该程序能够实现数字信号的采样和各种数字计算,实验结果表明该驱动程序具有有效性。

[1]王保华,杨正才.基于ARM及CAN总线的汽车行驶记录仪的开发[J].仪表技术与传感器,2008(2):27-29.

[2]陈华锐,徐林杰.Linux下基于PCI接口的DSP驱动程序设计[J].计算机光盘软件与应用,2012(4):172.

[3]张绍游,张贻雄.石江宏.基于μC/OS-Ⅲ的CC1120驱动程序设计[J].单片机与嵌入式系统应用,2013(1):42-45.

[4]徐海龙,邱建,王晓娜,等.μC/OS-Ⅱ的优化移植和设备驱动框架[J].计算机测量与控制,2012(9):2501-2503.

[5]何岸,林水生,李广军.μC/OS-Ⅱ的设备驱动程序管理模块设计[J].电脑知识与技术(学术交流),2007(6):179-180.

[6]杨怀德,朴希南.基于SPI的SD卡驱动软件设计[J].现代计算机(专业版),2012(4):76-80.

[7]范缜煜,董福庆,廖明栋.基于DSP的直流伺服电机驱动电路研究与分析[J].国外电子测量技术,2013(8):77-80.

猜你喜欢
驱动程序信号处理处理器
计算机硬件设备驱动程序分析
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
基于MPC8280的CPU单元与内部总线驱动程序设计
AItera推出Nios II系列软核处理器