DSP的异步串口扩展问题解决方案BF561SPORT口精_第1页
DSP的异步串口扩展问题解决方案BF561SPORT口精_第2页
DSP的异步串口扩展问题解决方案BF561SPORT口精_第3页
DSP的异步串口扩展问题解决方案BF561SPORT口精_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP的异步串口扩展问题解决方案BF561 SP OR口摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大 器-电容(OTA-C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程 电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz阻带抑制率大于35 dB,带内波纹小于0. 5 dB,采用1. 8 V电源,TSMC 0 18卩m CMO工艺 库仿真,功耗小于21 mVy频响曲线接近理想状态。关键词:Butte 在各种DSP应用系统中,经常需要与其他的设备或系统进行数据通信,通用异 步收发器 UART

2、(univetsaI Asynchronous Receiver /Transmitter) 是比较常用 的一种通信模式。当应用系统要求多路 UART或者基于性能、成本综合考虑选 用了不带UART的 DSP时,可以考虑利用原有的同步串行口,用软件模拟 UART在硬件上只需简单的连接便可构建 UART以实现系统的数据通信要求。1 ADSP-BF561ADS BF561处理器是ADI公司推出的针对多媒体和通信应用的一款高性能产 品,具有丰富的外设接口,集成了 2 个 BIackfIn 处理器内核。它内部集成了 2 个并行外部接口 (PPI) ,为同时进行图像采集、处理和显示提供了一个系统级片 上解

3、决方案,成为各种网络多媒体应用经济、高效的选择。ADSBF561提供2个双通道同步串行端口(SPORTO口 SPORTI),主要有下面几 个特点。 双向操作:每个SPOR都有2套独立的发送和接收引脚。 缓冲的发送和接收端口:每个端口都有 1个数据寄存器,用以同其他 DSP部 件进行双向数据传输;多个移位寄存器用于数据寄存器内数据的移入和移出。 时钟:每个发送/接收端口或者使用外部串行时钟,或者使用自己产生的时 钟频率。 字长:每个SPOR都支持332位长度的串行数据字,以最高有效位在前或 最低有效位在前的格式传送。 帧:无论数据字有无帧同步信号,每个发送和接收端口都能运行;帧同步信 号能够从内

4、部或者外部产生,可以高有效或低有效,要求 2 个脉冲宽度,可以 前帧或后帧同步。2 串行通信原理串行传送是在 1 根传输线上一位一位地传送。异步串行通信是以字符为信息单 位进行传送。每个字符作为一个独立的信息单位 (1 帧数据) ,可以随机出现在数据流中。一旦传送开始,收发双方以预先约定的传输速率 (波特率,表示每 秒传送的二进制位数 ) 在时钟的作用下传送这个字符的每一位。为了确保异步通 信的正确性,需要在字符数据格式中设置起始位和停止位。而同步串行通信是 以数据块为信息单位传送,每帧信息包括成百上千个字符,一旦传送开始,要 求每帧信息内的每一位都同步。通用异步收发器 所示。UART是 PC

5、中最主要的串行通信接口之一,其数据帧格式如下UAR数据帧包含分的意义如下:4 部分:起始位、数据位、奇偶校验位 ( 可选) 和停止位,各部起始位,先发出1 个逻辑“ 0”(低电平 )信号,表示开始传输字符。数据位,紧接着起始位之后,是要传送的有效信息。数据位的个数可以是 5、6、7、8 等,构成 在前,高位在后,靠时钟定位。1 个字符。通常采用 ASCII 码,低位奇偶校验位,数据位加上这一位后,使得“ ( 奇校验 ) ,以此来校验数据传送的正确性。1”的位数应为偶数 ( 偶校验 ) 或奇数停止位, 1 个字符数据的结束标志。可以是1 位、15 位、2 位的高电平。空闲位,不定长,处于逻辑“

6、1”(高电平 ) 状态,表示当前线路上没有数据传 送。3 驱动的实现SPOR只提供同步串行数据传送, ADS BF561通过UART提供异步RS一 232数 据传送。通过软件设置和处理,SPOR口可以作为UAR异步串口来使用。在应 用程序中,写入开发板上SP OR0的内容可以通过简单的硬件转接,在主机端 用超级终端等软件接收,使用起来与 UARTq 一样。出于产品开发的需要,本设 计利用DSP的同步串口输出调试信息,与 PC机进行异步通信。该产品是一款网 络视频监控终端,以 ADSP-BF561为硬件核心,卩Clinux2 . 6为软件核心。31 设备驱动原理设备驱动程序是操作系统内核与机器硬

7、件之间的接口,为应用程序屏蔽了硬件 的细节。在应用程序看来,硬件设备只是一个特殊的设备文件,应用程序可以 像操作普通文件一样对硬件设备进行操作。而事实上,对硬件的所有实际操作 都是由用户空间的应用程序调用内核空间的驱动程序完成的。卩Clinux内核驱动架构如图1所示。卩Clinux使用数据结构structfile_operations 为所有的设备文件提供了统一的操作函数接口。该数据结构 中包括许多操作函数的指针,如 open() 、cIose() 、 read() 和 write() 等。不 同类型的文件有不同的。 fiIe_operations 成员函数。每个进程对设备的操作 最终都会转换

8、成对 fiIe_operations 结构的访问。在驱动程序中,首先要根据 驱动程序的功能完成 fiIe_operations 结构中各函数的实现,不需要的函数接 口可直接在 fiIe_operations 结构中初始化为 NULL。 fiIe_operations 变量会 在驱动程序初始化时,注册到系统内部;当操作系统对设备进行操作时,会调 用驱动程序注册的 fiIe_opera tions 结构中的函数,实现相应功能。32 主要函数实现ADSBF561的SPOR口是全双工的,可以同时发送和接收数据。本驱动主要 通过软件设置和处理,利用 SPOR0的发送功能,发送16位的串行数据字。其 中有

9、效数据位8位,最低位在前,拥有与UART#步数据相同的数据格式,在 主机端可用超级终端等软件接收。驱动中需在 fiIe_operations 结构里实现的主要接口函数有 open() , write() 和 ioetI() 。(1)open() 函数 在open()函数中,需初始化SPORT口相应的寄存器。以下是几个重要的寄存 器设置。SPORTI TCLKD:SPORT口发送时钟频率设置。SPORTI_TCLKDIV=(SYS_CLOCK_FREQUENCIO- DEM_BAUD_RATE)1 ; /*SYS_CLOCK_FREQUE为系统时钟频率,通过测试,此处应取值为98 390000。

10、MODEM_BAUD_R为波特率,用户可通过调用iootl() 进行设置*/ SPORTI_TFSDIV SPORTI口的发送帧同步频率设置,确定在 TFS脉冲前要计 数的发送时钟周期数。SP ORTI_TFSDIV=0x000fSPORTI_TCR2设置串行通信字长。SPORTI_TCR2=OxOO0f /设置串行通 信字长为 16 位 SPORTI_TCRI SPORT口的主要控制寄存器。SPORTI_TCRI=0x0613 /*传 输使能。发送数据时,设置低位优先,设置串口为内部时钟,内部产生帧同步 信号,传送时可按照实际的波特率发送数据 */ (2)write() 函数writeO函数的主要功能是将应用程序中写入 SPOR0的数据转换成UART的数 据格式输出,主要实现流程如下: 分配缓冲区以存放转换后的数据 (用 kmalloc 实现)。数据格式的转换。要用SPORT口模拟UARm,就要使从SPORT口发出的数据 与从UARTq发出的数据具有相同的数据格式。在驱动中将从SPORE发出的SP ORT勺数据设置为1位起始位、8位数据位、1位停止位,即“ O DO D1 D2 D3 D4 D5 D6 D7 l ”。停止位与起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论