基于dsp数字信号处理器的串口通信设计与实现内容摘要:
使能 TXRDY 中断; 毕业设计(论文) 10 完整的字符发送到接收缓冲器 (SCIRXEMU 和 SCIRXBUF)后,状态标志位刷新。 每次缓冲器被读取时,标志位被清除。 图 7给出了寄存器位的关系, 表 7给出了SCI 接收状态寄存器的功能定义。 图 7 SCI接收器状态寄存器 (SCIRXST) 表 7 SCI接收器状态寄存器 (SCIRXST)功能描述 在空闲线模式下, SCI 发送或者接收一帧的数据格式如图 3所示,其中 LSB 是数据的最低位, MSB 是数据的最高位如图 8所示。 位 名称 功能描述 1 RXRDY 接收器准备好标志位 2 OE 超时错误标志位 在前一个字符被 CPU 或 DMAC 完全读走前,当字符被发送到 SCIRXEMU和 SCIRXBUF时, SCI 就置位该位。 前一个字符将会被覆盖或丢失。 0 没有检测到超时错误; 1 检测到超时错误; 3 FE 帧错误标志位 当检测不到一个期望的停止位时, SCI 就置位该位。 丢失停止位表明没有能够和起始位同步,且字符帧发生了错误。 0 没有检测到帧错误; 1 检测到帧错误; 4 RXRDY 接收器准备好标志位 当准备好从 SCIRXBUF 寄存器中读一个新的字符时,接收器置位接收器准备好标志位,并且如果 RX/BK INT ENA 位( )是 1则产生接收器中断。 0 在 SCIRXBUF中没有新的字符; 1 准备好从 SCIRXBUF中读取字符; 5 保留 读返回 0,写操作没有影响 毕业设计(论文) 11 图 8 空闲线模式下 SCI帧的数据式 具体的定义如图 3所示的这些数据格式的寄存器是通信控制寄存器 SCICCR,其内容如图 4所示。 使用 SCICCR 进行数据格式编程如图 9所示。 图 9 SCI通信控制寄存器 SCICCR 使用 SCICCR 进行数据格式编程如表 8所示 : 表 8 SCICCR数据编程 空闲线模式中数据格式里没有额外的地址位,在处理 10个字节以上的数据块时比地址位模式更为有效,被应用于典型的非多处理器 SCI 通信场合。 而地址位模式由于有专门的位来进行识别地址信息,所以数据块之间不需要空闲时间等待,所以这种模式在处理一些小的数据块的时候更为有效。 SCI 通信波特率 TMS320F2812的每个 SCI 都具有两个 8位的波特率寄 存器 ,SCIHBAUD 和SCILBAUD,通过编程 ,可以实现达 64K 不同的速率。 波特率的计算公式如下所示: (1) 使用 SCICCR进行数据格式编程 =8。 //选择数据长度,为 8 个数据位 =1。 //开启极性功能,值为 0的时候取消极性功能 =0。 //在开启极性功能的前提下,该位值为 0 时选择偶极性,值为 1时选择奇极性 =0。 //选择停止位,该位为 0时有 1 个停止位,该位为 1 时有 2 个停止位 当然,上述这几个语句,我们也可以合并成如下的语句: =0x13。 18 SCILS PCLKBRR毕业设计(论文) 12 因此 (2) 其中 BRR=波特率选择寄存 器中的值,从十进制转换成十六进制后,高 8位赋值给 SCIHBAUD ,低 8 位赋值给SCILBAUD。 值得注意的是,式 1 所示的波特率公式适用于 1≤ BRR≤ 65535,当BRR=0是,波特率如公式( 3)所示: (3) BRR 的值是 16 位波特率选择寄存器内的值,其选择值如表 9 所示: 表 9 波特率值选择表 在 SCI 通信时双方都必须以相同的数据格式和波特率进行通信,否则通信会失败。 SCI FIFO 描述 1. 复位:在上电复位时 , SCI工作在标准 SCI模式,禁止 FIFO功能。 FIFO 的寄存器 SCIFFTX、 SCIFFRX和 SCIFFCT都被禁止。 2. 标准 SCI:标准 F24xSCI模式, TXINT/RXINT 中断作为 SCI的中断源。 3. FIFO使能:通过将 SCIFFTX寄存器中的 SCIFFEN位置 1,使能 FIFO模式。 在任何操作状态下 SCIRST都可以复位 FIFO模式。 4. 寄存器有效:所有 SCI寄存器和 SCI FIFO寄存器( SCIFFTX, SCIFFRX和理想波特率 LSPCLK时钟频率, BRR 实 际波特率 错误百分比 /% 2400 1952( 7A0H) 2400 0 4800 976(3D0H) 4798 9600 487(1E1H) 9606 19200 243(00F3H) 19211 38400 121(0079H) 38422 8)1( BRRLSPCLKSCI16LSPCLKSCI 毕业设计(论文) 13 SCIFFCT)有效。 5. 中断: FIFO模式有两个中断,一个是发送 FIFO中断 TXINT,另一个是接收 FIFO中断 RXINT。 FIFO接收、接收错误和接收 FIFO溢出共用 RXINT中断。 标准 SCI 的 TXINT 将被禁止,该中断将作为 SCI发送 FIFO中断使用。 6. 缓冲: 发送和接收缓冲器增加了两个 16级的 FIFO, 发送 FIFO寄存器是 6位长度,接收 FIFO寄存器都是 10位长度。 标准 SCI的一个字的发送缓冲器作为发送 FIFO和移位寄存器间的发送缓冲器。 只有移位寄存器的最后一位被移出后,一个字的发送缓 冲才从发送 FIFO装载。 在使能 FIFO后,经过一个可选择的延迟( SCIFFCT), TXSHF被直接装载而不使用 TXBUF。 7. 延迟发送: FIFO 中的数据传送到发送移位寄存器的速率是可编程的,可以通过 SCIFFCT 寄存器的位 FFTXDLY( 70)设置发送数据间的延迟。 FFTXDLY( 70)确定延迟的 SCI波特率时钟周期数, 8位寄存器可以定义 0个波特率时钟周期的最小延迟到 256个波特率始终周期的最大延迟。 当使用 0延迟时, SCI模块的 FIFO数据移出时数据没有延时,一位紧接一位地从 FIFO移 出,实现数据的连续发送。 当选择 256个波特率时钟延迟时, SCI模块工作在最大延迟模式, FIFO移出的每个数据字之间有 256个波特率时钟延迟。 在慢速 SCI/UART的通信时,可编程延迟减少 CPU对 SCI通信的开销。 :发送和接收 FIFO都有状态位 TXFFST或 RXFFST(位 120),这些状态位显示当前 FIFO内有用数据的个数。 当发送 FIFO复位位 TXFIFO和接收复 位位 RXFIFO将 FIFO指针复位为 0时,状态位清零。 一旦这些位被设置为 1,则 FIFO从开始运行。 编程的中断级:发送和接收 FIFO都能产生 CPU中断,只要发送 FIFO状态位 TXFFST(位 128)与中断触发优先级位 TXFFIL(位 40)相匹配,就能产生一个中断触发,从而为 SCI的发送和接收提供了一个可编程的中断触发逻辑。 接收 FIFO的默认触发优先级为 0x11111,发送 FIFO的默认触发优先级为 0x00000。 0x00000。 FIFO模式下 SCI中断的操作和配置如图 10所示: 毕业设计(论文) 14 图 10 SCI FIFO 中断标志和使能逻辑位 大多数的 SCI硬件模块不支持自动波特率检测 ,而在 TMS320F2812处理器上 , 增强功能的 SCI模块硬件支持自动波特率检测逻辑和发送 /接受 FIFO操作。 自动波特率检测逻辑主要解决中断过程中波特率的确定问题。 16字的 FIFO可极大减少通信中断次数以提高通信速率。 通过设置 SCIHBAUD, SCILBAUD 的值可到 64K种不同的波特率 ,本系统的外部晶振 20MHz 经过 PLL5 倍频后达 100MHz, 该系统中的PC 与 DSP 的通信速率设置为 19 200 bps, 通过对 SCI 的进行初始化即可。 计算机端利用串口调试助手实现接收显示 , 将其设置成与 DSP 相同的波特 率、有无校验位、数据位长度、停止位长度以及数据位数即可正常显示收 / 发数据。 在两个不同时钟域中传送数据时 ,异步先进先出 ( FIFO, First In FirstOut)通常被用来保证数据传送的安全性。 将某一个时钟域中的数据安全地传送到另一个时钟域中 ,需要多异步时钟设计技术。 在同步 FIFO中的应用 设计同步 FIFO时 ,首先要充分认识到它的特点 —— 所谓“同步”是指读写时钟是同步的。 根据这个特点 ,设计者可以使用一个计数器来记录 FIFO的使用情况 ,并把计数器的值作为产生 FIFO状态信号的判据。 当计数器的值为 0时 , EMPTY信号有效。 当计数器的值达到 FIFO的最大深度时 , FULL信号有效。 在异步 FIFO中的应用 在异步 FIFO的设计中 ,由于 FIFO两端的时钟不是同步的 ,上面介绍的设计方法就行不通了。 异步 FIFO的空满信号只有通过比较读写指针来生成。 通常使用毕业设计(论文) 15 “超前”的指针工作方式 ,即读写指针指向的是下一个应该被读或应该被写的地址。 当 FIFO执行写操作的时候 ,首先 ,将数据写入指针指向的存储地址。 随后 ,写指针增加 ,指针指向下一个写操作时数据需要存放的地址。 为了保证异步 FIFO 设计的安全性和正确性 ,需要注意以下几点 : (1) 在设计指针控制逻辑的时候 ,所设计出的指针控制逻辑能够保证读写操作的绝对正确和安全。 能够保证读写逻辑同存储器通信时 ,能及时、高效地传输数据。 能够对亚稳态的出现有一定抑制作用。 (2) 对读写指针、握手信号进行比较的时候 ,必须保证信号是在同一个时钟域中进行比较 (可以是写时钟域同步到读 ,也可以是读时钟域同步到写 )。 也必须保证数据同步所引入的延时对 FIFO 状态信号的正确性没有影响。 只有严格把握上面几点 ,才有可能设计出符合要求的异 步 FIFO。 毕业设计(论文) 16 第三章 串口通信硬件与软件设计 基于 TMS320F2812 的 DSP最小系统设计 一个典型的 DSP 最小系统如图 11 所示,包括了复位电路、时钟电路及 JTAG接口电路等等。 图 11 DSP最小系统 电源及复位电路的设计 DSP 系统一般都采用多电源系统 ,电源及复位电路的设计对于系统性能有重要影响。 TMS320F2812 是一个较低功耗芯片 ,核电压为 , IO 电压为。 本设计采用 TI 公司的 TPS767D318 电源芯片。 该芯片属于线性降压型 DC/DC 变换芯片 ,可以由 5V 电源同时产生两种不同的电压 ( 、 或 ) ,其最 大 输出电流为 1000mA ,可以同时满足一片 DSP 芯片和少量外围电路的供电需要 ,如图 12 所示。 该 芯片自带电源监控及复位管理功能 ,可以方便地实现电源及复位电路设计。 复位电路原理图如图 13所示。 毕业设计(论文) 17 1122334455667788991010111112121313141415151616171718181919202021212222232324242525。基于dsp数字信号处理器的串口通信设计与实现
相关推荐
述的规范性、设计条件的约束性、设计过程的综合性、设计结果的实用性等工程设计的特点外,还具有毕业设计任务的确定首先考虑教学基本要求、毕业设计时间的限定性及学业的规定性、毕业设计是在指导教师指导下独立完成的等特点。 ②毕业设计的功能 教学与教育功能 毕业设计教学过程是高等院校培养计划的重要组成部分;是进行设计科学教育,强化工程意识,接受工程基本训练,提高工程实践能力的重要培养阶段;是培养优良的思维
一手资 料,请尽快联系 BOSCH 公司。 BMP085 的低功耗、低电压的电学特性使它可以很好的适用于手机、 PDA、 GPS导航器件以及户外装备上。 BMP085 在低的高度噪声( merely )快速转换的情况下,表现很好。 BMP085 是基于压阻效应技术的,具有稳定的电磁兼容性、高精度、线性性以及稳定性。 Bosch 公司的气压传感器(在自动控制应用领域)是世界市场上的领军,基于
(例如压控振荡器 vco)改变频率。 具有 PFM 控制的开关电源的结构框图如图 29 所示。 PFM 控制的基本原理是 :当输出电压升高时,控制器输出信号的脉冲宽度不变,而工作周期变长,使占空比减小,输出电压降低。 波形如图 210 所示。 调频式开关电源的输出电压的调节范围很宽,调节方便,输出可以不接假负载。 PFM 控制模式的主要缺点是开关周期成为负载的函数,开关转换器显得比较无序
0X0200。 if(k==0x0200) break。 // 如果 T3 的中断标志建立 ,则停止等待 } } } } // 如果由于干扰引起中断 ,则执行此直接返回程序 void interrupt nothing() { return。 } include include include unsignedint period。 unsignedint duty。
( 3)课题类型应多样化,能使学生针对各自的情况来选择选题,以有利于发挥学生的积极性,有利于课题的 ( 4)课题应力求有益于学生综 ( 5)课题应具有可完成性。 课题的确定程序及学生选题 ( 1)课题确定程序为: ① 指导教师在深入实际调查研究的基础上,结合自身研究开发实际提出课题,并填写《毕 ②经教研室(课题组)主任初审后,由院系组织同行专家评审,并报送院系主任批准; ( 2)学生的选题。
ilter_ANALOG_AUDIO_CTL, 0x10)。 //使能 DAC。 若为传声器输入 ,0x10,若为MIC 输入,则为 0x14 Myfilter_Config(Myfilter_DIGITAL_AUDIO_CTL, 0)。 // Turn on volume for line inputs Myfilter_Config(Myfilter_LT_LINE_CTL,0x18)。