dsp作业第二题.doc_第1页
dsp作业第二题.doc_第2页
dsp作业第二题.doc_第3页
dsp作业第二题.doc_第4页
dsp作业第二题.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

LF24x的SCI的应用及设计摘要本文采用PC机做主机、DSP做从机得方式,通过PC机和TMS320LF240之间串行通信的模式,介绍一个处理PC机和DSP进行串行通信的方法,从而实行DSP与PC机之间有效可靠的通讯。1 绪论DSP 的一个突出特点是实时性, 在实时信号处理中已经离不开DSP, 这些处理系统中包含了各种数据通信, 例如DSP 与DSP 间数据通信, DSP 与PC 机间数据通信等。如何能够快速、准确的完成通信是每个硬件工程师所关心的问题。由于DSP 的工作频率较高, 故其数据读写周期很短, 然而PC 机串口读写速度较低, 最大数据吞吐量约为115kbps, 尽管DSP 从这些冗长的等待周期中解放出来, 将其时间重点放在处理关键的实时任务中去, 有着重要的实际意义。故DSP 与PC 机之间串口通信的速度匹配是保证快速、准确通信的关键。TMS320LF240是TI公司推出的一种功能很强、性价比高的新型芯片,它采用高速并行多总线结构,寻址能力强、运行速度高、片内资源丰富,具有很强的数值运算能力,在数据处理和过程控制领域受到特别关注。TMS320F240 系列是美国TI 公司于1997 年推出的, 专为数字电控制和其他控制应用系统而设计的16 位定点数字信号处理器。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起, 从而成为传统的多微处理器单元和多片设计系统的理想替代品。F240 片内外设包括双10 位A/D 转换器, 带有锁相环PLL 时钟模块, 带中断的看门狗定时器模块, 串行通信接口SCI 及串行外设接口SPI, 另外, 还集成了一个事件管理模块EVM。因此, TMS320F240 不仅具有高速数据处理能力, 还具有控制和事件管理能力, 可完成人机界面, 与上位机进行串行通信等功能。TMS320LF240器件包括串行通信接口SCI模块。SCI模块支持CPU与其他使用标准格式的异步外设之间的数字通信。SCI接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位。两者都可以独立工作,或者在全双工的方式下同时工作。为了确保数据的完整性,SCI对接收到的数据进行间断检测、奇偶性校验、超时和帧出错的检查。通过一个16位的波特率选择寄存器,数据传输的速度可以编程为65535多种不同的方式。2 TMS320LF240 DSP片内外设2.1 DSP片内外设概述TMS320LF240 DSP的片内外设是集成在芯片内部的外部设备。CPU核对片内外设的访问是通过对相应的控制寄存器的访问来完成的。外部设备集成在芯片内部主要有以下优点:(1)片内外设访问速度快。因为片外外设必须通过与程序、数据总线共用的外部总线来访问,访问速度慢,而片内外设的访问或操作速度大大快于存在于外部I/O空间中的片外外设。(2)可以简化电路板的设计。如将AD转换、DA转换、定时器集成在片内。(3)提供一些必须的特殊功能。这些特殊功能必须以片内外设的方式来实现,如JTAG口、等待状态发生器等。TI公司将相关的片内外设分为两大类:片内外设和增强型片内外设。其中片内外设主要包括串行接口、定时器、通用I/O引脚和标准主机接口(HPI8)。增强型外设主要包括多通道缓冲串口(McBSP)、主机接口(8位增强HPI-8、16位增强HPI-16)、DMA控制器。 所有的LF240 DSP的CPU结构及功能完全相同,但是片内的外设配置多少不同。任何一款LF240 DSP拥有的片内外设都只是以上列举的片内外设的一部分。片内外设的操作是通过相关的控制寄存器来实现的,寄存器被映射到数据存储空间的第0页(地址20h5Fh)。具体的映射关系如表2-1所示。表2-1 LF240外设存储器映像寄存器地址(16进制)名称描述20DRR20McBSP0数据接收寄存器221DRR10McBSP0数据接收寄存器122DXR20McBSP0数据发送寄存器223DXR10McBSP0数据发送寄存器124TIM定时器0寄存器25PRD定时器0周期计数器26TCR定时器0控制寄存器27保留28SWWSR软件等待状态寄存器29BSCR块切换控制寄存器2A保留2BSWCR软件等待状态控制寄存器2CHPICHPI控制寄存器2D2F保留30TIM1定时器1寄存器31PRD1定时器1周期计数器32TCR1定时器1控制寄存器3337保留38SPSA0McBSP0 串口子块地址寄存器39SPSD0McBSP0 串口子块数据寄存器3A3B保留3CGPIOCR通用I/O引脚控制寄存器3DGPIOSR通用I/O引脚状态寄存器3E3F保留40DRR21McBSP1数据接收寄存器241DRR11McBSP1数据接收寄存器142DXR21McBSP1数据发送寄存器243DXR11McBSP1数据发送寄存器14447保留48SPSA1McBSP1串口子地址寄存器49SPSD1McBSP1串口子数据寄存器4A53保留54DMPRECDMA通道容许与优先控制寄存器55DMSADMA子块地址寄存器56DMSDI带子块地址递增的DMA数据寄存器57DMSDNDMA子地址寄存器58CLKMD时钟模式寄存器595F保留2.2 可编程定时器LF240有两个片内定时器,主要用来产生周期性的中断。它们的动态范围由16位计数器和4位预定标计数器来确定。计数频率来自于CPU的时钟频率。每个定时器都具有软件可编程的3个控制寄存器。LF240内部有定时器0和定时器1两个定时器。这两个定时器的结构都是一样的,每个定时器有3个控制寄存器,它们是:TIM 定时器寄存器,是减1计数器,可加载周期寄存器PRD的值,并随计数减少;PRD 定时器周期寄存器,PRD中存放定时器的周期计数值,提供TIM重载用;TCR 定时器控制寄存器,TCR包含定时器的控制和状态位,控制定时器的工作过程图2-1所示为定时器的逻辑框图,它由两个基本的功能块组成,即主定时器模块(由PRD和TIM组成)和预定标器模块(由TCR的TDDR和PSC位组成)。图2-1 定时器的逻辑框图定时器是一个片内向下(递减)计数器。预定标器PSC由CPU提供时钟,TIM由PSC减为0后产生的信号为时钟。每次当计数器TIM减少到0时,会产生一个定时器中断(TINT),计数器同时重载周期值。DSP定时器有以下的主要特点:(1)由16位计数器和4位预分频计数器组成。16位计数器的触发脉冲由预分频计数器提供,预分频计数器由CPU工作时钟决定。(2)定时器是一个减计数器。(3)有复位功能。(4)可以选择调试断点时定时器的工作方式。DSP核通过访问或控制TIM、PRD和TCR这3个寄存器来控制定时器的工作。其中TCR控制定时器的工作过程,其各位的意义描述如表2-2所示表2-2 TCR定时器控制寄存器位名称复位值功能1512Reserved保留1110SoftFree00Soft和Free位一起决定在调试中遇到断点时的定时器工作状态。Free Soft 定时器状态0 0 定时器立即停止工作0 1 当计数器减到0时停止工作1 x 定时器继续运行96PSC定时器预定标计数器。当PSC中的数值减到0后,TDDR中的数加载到PSC,TIM减15TRB定时器重新加载控制位。复位片内定时器。当TRB置位时,TIM重新装载PRD的值,PSC重新装载TDDR中的值。TRB总是读为0。4TSS0定时器停止位,TSS0,定时器开始工作,TSS1定时器停止。30TDDR0000当PSC减为0时,TDDR中的值被装载到PSC中。DSP定时器的工作过程:主定时器模块由PRD和TIM组成。在正常工作情况下,当TIM减计数到0后,PRD中的内容自动地加载到TIM。当系统复位(SRESET输入信号有效)或者定时器单独复位(TRB有效)时,PRD中的内容重新加载到TIM。TIM由预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减l。主计数器块的输出为定时器中断(TINT)信号,该信号被送到CPU和定时器输出TOUT引脚。 预定标模块由预定标计数器(PSC)和定时器分频系数(TDDR)组成。PSC和TDDR都是定时器控制寄存器(TCR)的位。在正常工作情况下,当PSC减计数到0时,TDDR的内容加载到PSC。当系统复位或者定时器单独复位时,TDDR的内容重新加载到PSC。PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1。通过读TCR,可以读取PSC,但是它不能直接被写。 通过TSS位的控制可以关闭定时器的时钟输入,停止定时器的运行。当不需要定时器时,停止定时器的操作以降低DSP功耗。DSP定时时间的计算:每次当定时器计数器减少到0时,会产生一个定时器中断(TINT),定时器中断(TINT)周期可由如下公式计算:定时器的中断周期通过读TIM,可以读取定时器的当前值;读TCR可以读取PSC。由于读这两个寄存器需要两条指令,就有可能在两次读之间因为计数器减而发生读数变化。因此,如果需要精确的定时测量,就应当在读这两个值前先停止定时器。DSP定时器的初始化步骤如下:将TCR中的TSS位置1,停止定时器;加载PRD;重新加载TCR以初始化TDDR;重新启动定时器。通过设置TSS位为0,并设置TRB位为l以重载定时器周期值,使能定时器。使能定时器中断的操作步骤如下(假定INTM=1):将IFR中的TINT位置1,清除尚未处理完(挂起)的定时器中断。将IMR中的TINT位置l,使能定时器中断。可以将STl中的INTM位清0,使能全局中断。复位时,TIM和PRD被设置为最大值FFFFh,定时器的分频系数(TCR的TDDR位)清0,并且启动定时器。注意复位后定时器是工作的,如果不用可以在初始化中停止其运行。2.3 串行口一般TI公司的DSP都有串行口,LF240系列DSP集成在芯片内部的串口分为4种:标准同步串口(SP)、带缓冲的串行接口(BSP)、时分复用(TDM)串行口和多通道带缓冲串行接口(McBSP)。其中McBSP属于增强型片内外设。芯片不同串口配置也不尽相同,表2-3列出了LF240系列DSP的片内接口数量和种类。串行接口一般通过中断来实现与核心CPU的同步。串行接口可以用来与串行外部器件相连,如编码解码器、串行A/D或D/A以及其它串行设备。准同步串行口是一种高速、全双工同步串行口,用于提供与编码器、A/D转换器等串行设备之间的通信。标准同步串行口发送器和接收器是双向缓冲的,并可单独屏蔽外部中断信号。它有2个存储器映像寄存器用于传送数据,即发送数据寄存器(DXR)和接收数据寄存器(DRR),另外还有一个串口控制寄存器SPC。每个串行口的发送和接收部分都有独立的时钟、帧同步脉冲以及串行移位寄存器。串行口由16位数据接收寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)以及控制电路所组成。标准串行口的组成框图如图2-2所示。图2-2 标准串行口的组成框图串口共涉及到6个引脚,与接受数据有关的是:接收时钟信号CLKR 、串行数据接收DR、接收帧同步信号FSR。与发送数据有关的是:发送时钟信号CLKX、串行数据发送DX、发送帧同步信号FSX。标准同步串口有以下一些特点:1. 发送与接收的帧同步和时钟同步信号完全独立。2. 发送和接收部分可独立复位。3. 串口的工作时钟可来源于片外或片内。4. 独立的发送和接收数据线。5. 具有数据返回方式,便于测试。6. 在程序调试时,工作方式可选。7. 可以以查询和中断两种方式工作LF240串行口的操作是由串行口控制寄存器(SPC)决定的。SPC寄存器的控制位及功能如表2-4所示:表2-4 串口控制寄存器SPC位名称复位值功能1514FreeSoft00Free Soft 串行口时钟的状态0 0 立即停止串行口时钟,结束传送数据。0 1 接收数据不受影响。若正在发送数据,则等到当前字发送完成后停止发送数据。 1 x 不管Soft位为何值,一旦出现断点,时钟继续运行,数据照常移位。13RSRFULL0接收移位寄存器满。当RSRFULL=1,表示RSR满,暂停接收数据。如果DRR中的数据被读取,RSRFULL为012XSREMPTY0发送移位寄存器空。为0时,说明DXR没有被加载,而XSR中的数据已移空。为1时,暂停发送数据,并停止驱动DX。11XRDY1发送准备好位,XRDY位由0变到l,表示DXR中的内容已经复制到XSR,可以向DXR加载新的数据字,并产生一次发送中断XINT10RRDY0接收准备好位, RRDY位由0变到l,表示RSR中的内容已经复制到DRR中,可以从DRR中取数了,并产生一次接收中断RINT。9IN1X输入CLKX当前状态8IN0X输入CLKR当前状态7RRST0接收复位控制位6XRST0发送复位控制位5TXM0发送方式位,用于设定帧同步脉冲FSX的来源。当TXM=1时,将FSX设置成输出。每次发送数据的开头由片内产生一个帧同步脉冲。当TXM=0时,将FSX设置成输入。由外部提供帧同步脉冲。发送时,发送器处于空转状态直到FSX引脚上提供帧同步脉冲。4MCM0时钟方式位,用于设定CLKX的时钟源。当MCM=O时,CLKX配置成输入,采用外部时钟。当MCM=1时,CLKX配置成输出,采用内部时钟。片内时钟频率是CLKOUT频率的1/4。3FSM0帧同步方式(FSM)位。这一位规定串行口工作时,在初始帧同步脉冲之后是否还要求帧同步脉冲。当FSM=0时,在初始帧同步脉冲之后不需要帧同步脉冲。当FSM=1时,串行口工作在字符组方式。每发送接收一个字都要求一个帧同步脉冲FSX/FSR。2FO0数据格式位,用它规定串行口发送接收数据的字长。当FO=0时,发送和接收的数据都是16位字。当FO=1时,数据按8位字节传送,首先传送MSB,然后是LSB。1DLB0数字返回方式(DLB)位。用于单个LF240测试串行口的代码。当DLB=1时,片内通过一个多路开关,将输出端的DR和FSR分别与输入端的DX和FSX相连。 当工作在数字返回方式时,若MCM=1(选择片内串行口时钟CLKS为输出),CLKR由CLKX驱动;若MCM=0(CLKX从外部输入),CLKR由外部CIKX信号驱动。 如果DLB=0,则串行口工作在正常方式,此时DR、FSR和CLKR都从外部输入。0RES0保留注意:要想复位和重新配置串行口,需要对SPC寄存器写两次。第一次,对SPC寄存器的RRST和XRST位写0,其余位写入所希望的配置。第二次,对SPC寄存器的RRST和XRST位写1,其余位是所希望的配置,再一道重新写一次。标准同步串口的操作过程:在发送数据时,先将要发送的数写到DXR。若XSR是空的(上一字已串行传送到DX引脚),则自动将DXR中的数据复制到XSR。在FSX和CLKX的作用下,将XSR中的数据移到DX引脚输出。当DXR中的数据复制到XSR后,就可以将另一个数据写到DXR。在发送期间,DXR中的数据复制到XSR后,串行口控制寄存器(SPC)中的发送准备好(XRDY)位由0变为1,随后产生一个串行口发送中断(XINT)信号,通知CPU可以对DXR重新加载。接收数据时,来自DR引脚的数据在FSR和CLKR的作用下,移位至RSR,然后复制到DRR,CPU从DRR中读出数据。当RSR的数据复制到DRR后,SPC中的接收数据准备好(RRDY)位由0变为l,随后产生一个串行口接收中断(RINT)信号,通知CPU可以从DRR中读取数据。由此可见,串行口是双缓冲的,发送和接收都是自动完成,用户只需检测RRDY或XRDY位来判断可否继续发送或接收数据。当然,也可利用中断来完成。缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元(ABU),并以CLKOUT频率计时。它是全双工和双缓冲的,以提供灵活的数据串长度,如可使用8、10、12、16位连续通信流数据包,为发送和接收数据提供帧同步脉冲及一个可编程频率的串行时钟。自动缓冲单元支持高速传送并能降低服务中断的开销。缓冲串行口(BSP)是一种增强型串行口。ABU利用独立于CPU的专用总线,让串行口直接读写LF240内部存储器。这样可以使串行口处理事务的开销最省,并能达到较快的数据率。BSP有两种工作方式:非缓冲方式和自动缓冲方式。当工作在非缓冲方式(即标准方式)时,BSP传送数据与标准串行口一样,都是在软件控制下经中断进行的;当工作在自动缓冲方式时,串行口直接与LF240内部存储器进行16位数据传送。ABU具有自身的循环寻址寄存器组,每个都与地址产生单元相关。发送和接收缓冲存储器位于一个指定的LF240DSP内部存储器的2K字块中。该块可作为通用的存储器,但却是惟一的自动缓冲能使用的存储块。使用自动缓冲,字传输直接发生在串行接口部分和LF240DSP内部存储器之间。在自动缓冲寻址时,使用ABU可以编程缓冲区的长度和起始地址,可以产生缓冲满中断,并可以在运行中停止缓冲功能。缓冲串行口共有6个寄存器:数据接收寄存器BDRR、数据发送寄存器BDXR、控制寄存器BSPC、控制扩展寄存器BSPCE、数据接收移位寄存器BRSR、数据发送移位寄存器BXSR。在标准模式时,BSP利用自身专用的数据发送寄存器、数据接收寄存器、串行口控制寄存器(BDXR、BDRR、BSPC)进行数据通信,也利用附加的控制扩展寄存器BSPCE处理它的增强功能和控制ABU。BSP发送和接收移位寄存器(BXSR、BRSR)不能用软件直接存取,但具有双向缓冲能力。如果没有使用串行口功能,BDXR、BDRR寄存器可以用作通用寄存器,此时BFSR设置为无效,以保证初始化可能的接收操作。缓冲串行口在标准串行口的基础上新增了许多功能,如可编程串行口时钟、选择时钟和帧同步信号的正负极性,除了有串行口提供的8、16位数据转换外,还增加了10、12位字转换,允许设置忽略同步信号或不忽略。这些特殊功能受控制扩展寄存器BSPCE控制,其各位的定义如表2-5。表2-5 控制扩展寄存器BSPCE位名称复位值功能15HALTR0自动缓冲接收停止位。HALTR=0,当缓冲区接收到一半数据时,继续操作。HALTR=1 当缓冲区接收到一半数据时,自动缓冲停止。此时BRE清零,串行口继续标准模式工作。14RH0指明接收缓冲区的哪一半已经填满,RH=0表示前半部分缓冲区被填满,当前接受的数据正存入后半部分缓冲区。RH=1 表示后半部分缓冲区被填满,当前接受的数据正存入前半部分缓冲区。13BRE0自动接收使能控制。BRE=0 自动接收禁止,串行口工作于标准模式。BRE=1 自动接收允许。12HALTX0自动发送禁止。HALTX =0,当一半缓冲区发送完成后,自动缓冲继续工作。HALTX =1,当一半缓冲区发送完成后,自动缓冲停止。此时BRE清零,串行口继续工作于标准模式。11XH0发送缓冲禁止位。XH=0 缓冲区前半部分发送完成,当前发送数据取自缓冲区的后半部分。XH=1 缓冲区后半部分发送完成,当前发送数据取自缓冲区的前半部分。10BXEX自动发送使能位。 BXE=0禁止自动发送功能。BXE=1 允许自动发送功能。9PCMX脉冲编码模块模式。PCM=0清除脉冲编码模式, PCM=1设置脉冲编码模式。8FIG0帧同步信号忽略。在连续发送模式且具有外部帧同步信号,以及连续接收模式下有效。 FIG=0 在第一个帧脉冲之后的帧同步脉冲重新启动时发送。 FIG=l忽略帧同步信号。7FE0扩展格式设置位6CLKP0时钟极性设置位。用来设定接收和发送数据采样时间特性。CLKP=0在BCLKR的下降沿接收采样数据,发送器在BCLRX的上升沿发送信号。CLKP=l 接收器在BCLKR的上升沿采样数据,发送在BCLKX下降沿发送数据。5FSP 帧同步极性设置位。用来设定帧同步脉冲触发电平的高低。FSP=0帧同步脉冲高电平激活。 FSP=1帧同步脉冲低电平激活。04CLKDV 0内部发送时钟分频因数。当BSPC的MCM=1,CLKX由片上的时钟源驱动,其频率为CLKOUT/(CLKDV+1),CLKDV的取值范围是031。当CLKDV为奇数或0时,CLKX的占空比为50;当CLKDV为偶数时,其占空比依赖于CLKP;CLKP=0时,占空比为(P+1)/P,CLKP=1时,占空比为P/(P+1)。注意:PCM位设置串行口工作于编码模式,只影响发送器。BDXR到BXSR转换不受该位影响。在PCM模式下,只有它的最高位(15)为0, BDXR才被发送,为1时,BDXR不发送。BDXR发送期间BDX处于高阻态。FIG位可以将16位传输格式以外的各种传输字长压缩打包,可用于外部帧同步信号的连续发送和接收。初始化之后,当FIG=0时,如果帧同步信号发生,发送重新开始。当FIG=l时,帧同步信号被忽略。例如,设置FIG1,可在每8、10、12位产生帧同步信号的情况下实现连续16位的有效传输。如果不用FIG,每一个低于16位的数据转换必须用16位格式,包括存储格式。利用FIG可以节省缓冲内存。第3章 LF240DSP串行通信设计3.1 LF240DSP与TLC320AD50语音接口芯片的主从串行通信设计在实际应用中,一般将TLC320AD50C接至DSP的同步串行口,并将TLC320AD50C设置在主动工作方式,即由TLC320AD50C提供帧同步信号和移位时钟。另外不同型号DSP的管脚电压可以为3.3V或5V,因此可根据DSP的电源特性为TLC320AD50C选择3.3V的电平,以实现管脚的直接连接。硬件电路包括DSP芯片TMS320 LF240DSP,TLC320AD50、滤波放大电路TLC2272,音频放大电路LM386;数据存储器使用DSP芯片内DRAM,其硬件电路如图3-1所示。图3.1 LF240DSP与TLC320AD50连接硬件电路原理框图3.2 LF240DSP串口与PC机通信设计DSP广泛采用同步串口的传输方式,最高传输速度可以达到40MB/S,需要6根信号线,只有TMS320C2XX系列DSP带有与RS232标准一致的异步串口(UART)。异步串口连线最少,最少仅两根,但是传输速率低,一般小于38.4KB/S。没有异步串口的DSP为了能与计算机等的RS232串口通信,可以采用一定的措施才能完成。DSP的同步串口功能在不断增强。缓冲串口是在同步串口的基础上增加了自动缓冲功能,数据从串口自动存到一块指定的存储器中,或者从存储器输出到串口,每传送一个字,存储器地址能自动调整(如自动加1)。带有DMA功能的DSP在存储器和串口之间可建立一个DMA通道,数据块的传送更加方便。时分多路(TDM)串口是一个允许数据时分多路传送的同步串口,允许多个DSP的串口连接在一起,每一个DSP分时占用串口。同步串口的发送/接收数据时钟、发送/接收帧同步信号可以由DSP片内设备提供,也可以由外部输入,其速率由内/外时钟基准按任意分频比例产生。传送字长可以设置为不同位宽。同步、异步串口的工作既可由指令读写串口数据寄存器触发,也可由DMA触发,而且在每个字或每块数据传送后都可产生中断请求。当传送数据的速度很高时(例如大于1MB/S),应采用同步串口的中断方式成批传送数据块。当传送数据的速率较低时(例如小于38.4KB/S),可以用DSP的指令查询方式来传送单个数据,这时异步串口就可以满足要求。设计内容:TMS320LF240 DSP芯片带有同步缓冲串口,这里我们用同步缓冲串口来模拟异步缓冲串口。相关程序及原理电路见附录。4. 参考文献1 张勇.C/C+ 语言硬件程序设计M. 西安:西安电子科技大学出版社,2002.2. 周霖. DSP通信工程技术应用M. 北京: 国防工业出版社,2003.3. Texas Instruments.TMS LF240 DatasheetM. 2001.4. Texas Instruments. TLV320AIC23B Datasheet M. 2000.5. Texas Instruments. TPS767D301 DatasheetM. 2000.6. Cypress.SST VF400 Datasheet M. 2000.7. Cypress. CY7C1021 Datasheet M. 2000.8. 樊昌信等 编著,通信原理M.北京:国防大学出版社,2005.9. 清源科技.TMS320 LF240 DSP硬件开发教程 M. 北京:机械工业出版社,2002.10.郑红, 吴冠. TMS320 LF240 DSP应用系统设计M. 北京:航空航天大学出版社, 2003.11.TI技术讲座. 一套数字音频采集、播放和传输系统的实现,2003.12.黄正瑾等. CPLD系统设计技术入门与应用M.北京:电子工业出版社,2003. 13.宋万杰,罗丰等.CPLD技术及其应用M.西安:西安电子科技大学出版社,1999.14. 赵明忠 编著,现代通信系统M,西安:西安电子科技大学出版社,2004.15. 赵明忠 编著,DSP应用技术M,西安:西安电子科技大学出版社,2004.附录一:源程序串口发送函数*函数名称:void serialbyte_send(unsigned int byte)*利用TMS320 LF240 DSP芯片的同步串口来模拟异步缓冲串口*利用串口发送1字节(8bit)数据*void serialbyte_send(unsigned int byte) /*串行数据发送函数*/ unsigned int i,k,a; a=byte&0x00ff; TXD=TXD_bitclear; /*发送起始位*/ PRD1=0x1df; /*利用定时器设波特率,波特率设置为9600bit/s*/ TCR1=0x02eb; /*波特率=11.0592M*5/(11+1)*(479+1)=9600bit/s*/ for(;timer1_over=0;); timer1_over=0; for(i=0;i1; TXD=TXD_bitset; /*发送停止位*/ PRD1=0x1df; /*利用定时器设波特率,波特率设置为9600bit/s*/ TCR1=0x02eb; /*波特率=11.0592M*5/(11+1)*(479+1)=9600bit/s*/ for(;timer1_over=0;); timer1_over=0;串口接收函数*函数名称:int serialbyte_receive()*利用TMS320 LF240 DSP芯片的同步串口来模拟异步缓冲串口*利用串口接收1字节(8bit)数据*int serialbyte_receive() /*串行数据接收函数*/ unsigned int i,a; a=0; for(;RXD!=0;); PRD1=0xef; TCR1=0x02eb; while(timer1_over=0); timer1_over=0; if(RXD=0) /*判断是否为起始位*/ for(i=0;i1; if(RXD!=0) a=a|0x8000; PRD1=0x1df; /*利用定时器设波特率,波特率设置为9600bit/s*/ TCR1=0x02eb; /*波特率=11.0592M*5/(11+1)*(479+1)=9600bit/s*/ for(;timer1_over=0;); timer1_over=0; if(RXD=0) return 0; /*判断是否为停止位,不是则此次接收无效*/ else return 0; a=a8; serial_temp=a; return 1;发送程序 Test6.c*发送程序名:Test6.c*并行从逻辑输入单元读入8bit数据,把这8bit数据发送给DSP处理器*DSP把数据通过模拟的异步缓冲串口发送给上位机*#include REG240x.hint timer1_over;int read;*vo

温馨提示

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

评论

0/150

提交评论