集成外设及DSPBIOS应用实例Word格式.docx

上传人:b****6 文档编号:15906632 上传时间:2022-11-17 格式:DOCX 页数:13 大小:27.92KB
下载 相关 举报
集成外设及DSPBIOS应用实例Word格式.docx_第1页
第1页 / 共13页
集成外设及DSPBIOS应用实例Word格式.docx_第2页
第2页 / 共13页
集成外设及DSPBIOS应用实例Word格式.docx_第3页
第3页 / 共13页
集成外设及DSPBIOS应用实例Word格式.docx_第4页
第4页 / 共13页
集成外设及DSPBIOS应用实例Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

集成外设及DSPBIOS应用实例Word格式.docx

《集成外设及DSPBIOS应用实例Word格式.docx》由会员分享,可在线阅读,更多相关《集成外设及DSPBIOS应用实例Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

集成外设及DSPBIOS应用实例Word格式.docx

(7)传输操作可以由选择的同步事件触发。

(8)每个通道都可以触发中断事件。

C621x/C671x内部集成的是EDMA外设,其特点如下:

(1)16个通道,EDMA可以对16个通道进行彼此独立的控制。

(2)连接:

EMDA通道可以被连接起来,构成一个传输链。

(3)事件同步:

每一个通道都有一个特定的事件来触发。

(4)主机接口HPI。

主机口(HPI)是一个16/32位宽度的并行端口,主机可以通过它直接访问CPU的整个存储空间,包括C6000片内存储映射的外围设备。

C62x/C67xHPI与CPU存储空间的互连是通过DMA控制器实现的。

借助专门的地址和数据寄存器,通过DMA辅助通道,完成HPI对存储空间的访问。

主机和CPU都可以对HPI控制寄存器(HPIC)进行访问,主机还可以访问HPI地址寄存器(HPIA)和HPI数据寄存器(HPID)。

对于C64x器件,CPU也可以访问HPIA寄存器。

2.多通道缓冲串口McBSP

C6000的多通道缓冲串口(McBSP)是存C2x和C54x的串口的基础上发展起来的,McBSP的功能包括:

(1)全双工通信。

(2)两级缓冲数据寄存器,允许连续的数据流。

(3)收发独立的帧信号和时钟信号。

(4)可以与工业标准的编/解码器、AICs(模拟接口芯片)以及其他串行A/D,D/A接口。

(5)数据传输可以利用外部时钟,或者是片内的可编程时钟。

(6)当利用DMA、McBSP服务时,串口数据读写具有自动缓冲能力。

3.外设存储接口EMIF

EMIF是实现外设存储器与DSP无缝连接的桥梁,EMIF支持的存储器包括:

(1)同步突发静态RAM(SBSRAM)。

(2)同步动态RAM(SDRAM)。

(3)异步器件(包括异步SRAM,ROM和FIFO等)。

(4)外部共享存储空间的操作。

EMIF整个外部空间最大容量为64MB,分为4个空间(2E0~CE3,每个CE空间彼此独立,可以进行不同的访问控制,但是某些控制信号线是复用的,使用时一定要注意。

数据总线宽度32bit,同时也提供8/16位存储器的读写支持。

4.扩展总线XBUS

扩展总线(XBUS)是一个32位宽度的总线,支持多种异步外设、异步或同步FIFOs、PCI接口芯片和其他类型的外部主机。

在主机口接口方面,扩展总线的功能较HPI有了很大增强。

XBUS提供了曲种模式,即同步和异步主机口模式。

异步模式相当于一个32位的HPI,同步模式支持多种协议的接口。

目前在C6202和C6203中具有扩展总线XBUS功能。

5.自举逻辑控制

TIC6000系列DSP芯片使用多种加载方式。

根据复位前管脚的状态执行相应的加载方式。

目前提供的3种加载方式如下:

(1)没有BOOT处理:

CPU直接从地址0处开始运行。

(2)ROM加载模式:

通过DMA控制器,把存储在外部存储器里的程序加载到内部首地址0处,在加载过程中,CPU已经脱离复位状态,但是仍处于stall状态。

对于C620x/C670xDSP,要求程序代码必须是以Little-Endian模式存储在外部存储器中,尤其是ROM设备。

(3)主机加载模式:

在主机加载模式下,外部主机可以通过HPI接口读写访问CPU的存储空间,包括内部配置的寄存器,如EMIF控制寄存器或其他外设。

一旦主机完成了所有的初始化工作后,必须置DSPINT为1,表示已经完成加载过程,同时使CPU脱离stall状态,CPU开始从地址0处运行程序。

在C6201/C6701有专门的管脚BOOTMODE[4:

O]决定DSP芯片复位后运行的加载方式,而C6211/C6711是利用主机口的HD[4:

0]管脚复用,C6202/C6203是利用扩展总线的XD[4:

0]管脚复用。

6.定时器

(26000系列集成了32位的通用定时器。

定时器的输入时钟可以由内部产生,也可以是外部时钟;

可以通过输出口TOUT输出时钟。

TINT和。

TOUT两个管脚也可以被配置为GPIO口。

定时器可以用于

(1)计时。

(2)事件计数。

(3)产生脉冲。

(4)产生CPU中断信号。

(5)产生DMA的同步信号。

DSP/BlOS

CCS(CodeComposerStudio)是一个完整的DSP集成开发环境,所有的TIDSP都可以使用该软件进行丌发。

在CCS中,不仅集成了常规的开发工具如源程序编辑器、代码生成工具(编译、连接器)以及调试环境外,还提供了DSP/BIOS开发工具。

DSP/BIOS是一个可裁剪的实时操作系统,方便用户编写多任务应用程序。

DSP/BIOS提供了类似于先占式的多线程运行方式、硬件驱动、实时分析和配置工具。

DSP/BIOS已经是DSP开发过程中重要的工具。

在本节将介绍DSP/BIOS工具的使用。

2.1 

DSP/BIOS概述

DSP/BIOS是一个可裁剪的实时操作系统,本身占用很少的CPU资源,被集成在CCS开发环境里。

该操作系统由TI公司免费提供。

DSP/BIOS提供底层的应用函数接口,可用于支持系统实时分析、线程管理、调度软件中断、周期函数idle函数(后台运行函数)以及外部硬件中断与各种外设的管理。

DSP/BIOS主要包括以下几个部分:

1.DSP/BlOS配置工具

CCS提供了DSP/BIOSGUI功能,即DSP/BIOS配置工具。

使用该工具,可以静态创建和配置程序中使用的DSP/BIOS对象,也可以配置存储器分配、线程管理和中断句柄。

2.DSP/BIOS实时分析工具

DSP/BIOS提供的一个强大的实时分析工具。

使用该工具可以实时观测程序的运行状况,如各个线程占用CPU运行时间、代码执行时间统计、显示输出信息等。

3.DSP/BIOS应用程序接口(API)

DSP/BIOS提供了超过150个API函数,其中有与C语言、C++语言和汇编语言接口的函数。

这些API函数是为在硬件目标的嵌入式程序工作的,包括实时统计、I/O模块、软件中断管理和时钟管理等模块。

由于应用程序的不同,DSP/BIOSAPI函数的代码长度从200~2000B不等。

程序通过调用API函数米使用DSP/BIOS的资源。

目前DSP/BIOS中主要的API模块有CLK模块、HST模块、HWI模块、IDL模块、LOG模块、MEM模块、PIP模块、PRD模块、RTDX模块、STS模块、SWI模块、DEC模块、SIO模块、MXB模块、QUE模块和SEM模块。

2.2 

DSP/BIOSGUI配置

在DSP/BIOS的程序里,有一个DSP/BIOS的配置文什,该配置文件的后缀名为.cdb。

这是一个图形界面的参数设置窗口,如图4-1所示。

主要有两种功能:

(1)确定DSP/BIOS使用的各种参数。

(2)可以静态说明需要调用的DSP/BIOS模块,包括中断、任务和内部集成的外设等。

1.系统设置项

系统设置项包括全局设置、存储器段管理器、系统设置和模块钩子管理器,如图4-2所示。

在全局设置的属性窗口中可以设置正使用的DSP型号、选择使用的片级支持库CSL、Endian模式和Cache模式等多种参数。

在存储器段管理器的属性窗口中可以进行系统程序存储段的管理。

通过该项设置,系统将自动生成系统程序连接时使用的.cmd文件。

2.实时分析工具

实时分析工具包括LOG管理器和统计类管理器,如图4-3所示。

用户可以利用LOG模块中的事件日志来记录实时的事件。

系统口志记录系统所有运行事件包括系统出错等事件。

用户可以用LOG_printf或LOG_event函数在用户日志中添加消息。

用户可以利用STS模块仝面了解中断、任务以及用户自己定义的代码段或函数的运行时间。

3.线程管理

DSP/BIOS是一个类似于先占式的多任务操作系统。

BIOS把任务称之为线程,一个线程是一个单独的控制点,可能包含一个子程序、一个宏或者足一个函数调用。

DSP/BIOS内核支持具有不同优先级的多种类型线程运行,高优先级的线程可以中断低优先级的线程,因此具有类似的先.占式特点。

DSP/BIOS提供了以下几种线程类型,优先级从高到低。

(1)硬件中断HWI(含CLK模块)。

(2)软件中断SWI(含PRD模块)。

(3)任务TSK。

(4)后台线程IDL。

线程管理的界面如图4-4所示,使用GUI可以很方便地增加/删除线程。

4.同步

同步主要的任务就是负责线程之间的协调,如同步通信、数据交换等。

其中包括旗语、邮箱、队列管理和资源锁定管理等部分,如图4-5所示。

5.输入输出

DSP/BIOS内核提供了丰富的数据交换途径。

利用BIOS可以方便地实现主机和DSP之间的实时数据交换(RTDX和HST)以及各种线程之间的数据交换。

DSP/BIOS的PIP模块

和SIO模块将主要用于I/O数据流的缓冲,这些数据流称为线程、DSP芯片和实时外围设备提供了牢固的数据软件结构。

输入输出界面如图4-6所示。

6.片级支持库

片级支持库(CSL)提供了一个C语言接口的配置和控制片内外设1具。

CSL集成在BIOS里,系统程序可以使用该功能,也可以不使用。

使用片级支持库(CSL)简化了DSP片上外设开发时间,可以加快项目开发进度。

片剂支持库(CSL)可以预先静态设置,也可以在程序运行时动态设置。

2.3 

DSP/BIOS编程实例

DSP/BIOS是一个嵌入式实时操作系统。

在BIOS基础上编程与普通的编写程序不同,下面将以TI的例了来介绍BIOS的编程特点。

(1)首先新建一个BIOS配置文件。

建市两个软件中断SWl0和SWll,SWl0的优先级设为1,SWll优先级设为2,如图4-7所示。

保存例子,名称为switest.cdb。

(2)新建一个工程,工程名switest.pit。

把配置文件switest.cdb加入到工程文件中去,同时把switestcfg.cmd文件也加入到工程文件中。

(3)新建switest.C文件。

源文件如下:

(4)编译连接工程,打开executiongraph、statisticsview和messagelog窗口,然后运行程序。

在实时分析工具中可以观察到线程SWIO和SWll运行一次,部分时间是其他线程和KNL-swi运行,如图4-8~图4-10所示。

TMS320C6000的HPl接口设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1