欢迎来到天天文库
浏览记录
ID:10361520
大小:54.50 KB
页数:5页
时间:2018-07-06
《简述dsp软件uart的实现方法与调试结果》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、简述DSP软件UART的实现方法与调试结果Abstract:Hoplementsoftunicateethodsandgavetheirmerits.Finallyitte(rUART);serialport摘要:软件工程论文介绍了ANALOGDEVICE公司的16位定点DSP与标准RS-232设备进行数据交换时,如何采用软件模拟的方式实现通用异步收发器,并就两种方式的优缺点进行了讨论,给出了主要程序流程图。关键词:DSP;通用异步收发器;串口1前言ADSP218X作为16位的定点数字信号处理器,以其低成
2、本、低功耗的特点在实际中有着广泛的应用。它主要面向通信系统等对处理数据精度和动态范围适中、更强调产品成本和功耗的应用领域。ADSP218X系列定点DSP相对于其他定点DSP的突出优点是片内高速存储器容量大,寻址能力强,运算速度快,对于需要较大存储器(40~80kB)的应用,ADSP218X可以构成外围设备最少的系统[4]。除此之外,ADSP218X还有强大的系统接口,有两个带有自动压扩功能的双缓冲串口。ADSP218X的串口属于同步串口,与标准的异步串行接口不同,要想实现ADSP218X与PC机串口的通信
3、,我们必须在DSP中采用软件模拟通用异步收发器(UART)的方法来实现两者的通信。2串行通信和DSP串口目前,大部分PC机上的串口采用RS-232标准。该标准规定采用一个25脚的DB25连接器,对连接器的每个引脚的信号内容以及各种信号的电平加以规定[1]。在通信距离较近时(<12m),可以用电缆线直接连接标准RS-232端口,若距离较远,需附加调制解调器。实际上RS-232的25条引线中有许多是很少使用的,所以目前较为常用的串口有9针(DB9)和25针串口(DB25)。而在普通电路设计中最为简单且常
4、用的是三线制接法,即在通信中不需要RS-232的控制联络信号,地(GND)、接收数据(RX)和发送数据(TX)三脚相连,便可实现全双工异步串行通信。本文即采用这种方法实现PC与DSP的串口通信。在典型的RS-232接口中,由于没有时钟信号,所以数据按照设定的固定波特率传送。在一帧信号中通常包括开始位、停止位和数据位,校验位可选。其中数据位为5~8bits;奇偶校验位共有5种方式可选:奇校验、偶校验、始终为1、始终为0以及空;停止位也有3种选择:1位、11/2位以及2位。串口传数时低位优先,由开始位表示数据
5、的传送。ADSP218X有两个双向双缓冲的同步串口,通过帧信号来控制数据流。每一个串口有5个信号:串行时钟SCLK、接收帧同步(RFS)、发送帧同步(TFS)、串行数据接收(DR)和串行数据发送(DT)。两个串口都可以使用外部时钟,也可以利用DSP的内部时钟,内部产生串口时钟时频率由串行时钟除法寄存器SCLKDIV确定。帧同步信号也有内外选择,既可以自己产生,也可以由外部设备提供,它用于指示串行数据字的开始。串口数据的字长在3~16bit之间任意设置,共有4种格式:右对齐高位零填充、右对齐高位符号位填充、
6、μ率压缩及A率压缩。SPORT在DR上接收数据,在DT上发送数据,可实现双工操作。数据比特利用串口时钟同步。在ADSP218X的两个串口中,SPORT1除了可以作为普通串口,还可以作为外部中断和标志位使用。通过设置系统控制寄存器(0X3FFF)的bit10,DR1和DT1相应可作为FLAGIN(标志位输入)和FLAGOUT(标志位输出),这两个管脚在软件UART的过程中可以作为数据的输入和输出管脚。ADSP218X的串口在传输时高位优先。ADSP218X的串口使用主要是通过设置各内存映射控制寄存器来
7、实现,各寄存器的具体含义及设置请参阅文献[2]。3DSP软件UART的实现由以上看出,DSP的串口和PC机的串口在数据格式以及传送控制上有区别,但是通过软件模拟以及必要的硬件控制,就可实现DSP与标准串口间的通信。在ADSP218X上软件模拟UART有3种主要的方法:直接利用DSP的串口,通过控制串口的传送模式来实现;利用DSP的定时器,通过标志位管脚的输入输出来实现;利用DSP的外部中断,通过中断处理程序来实现。本文主要介绍前两种方法。3.1DSP串口实现的软件UART通过对DSP的串口控制寄存器进行设
8、置以及对接收和传送数据进行必要的处理,利用图1所示的电路,DSP就可以与PC进行数据交换。接收数据时,设置DSP串口为内部时钟和外部产生帧同步信号。内部时钟信号用来提取接收数据。由于DSP串口进行数据接收时,只知道数据率而不知道它们与内部时钟的相位关系,因此为了保证数据的正确性,内部时钟频率设为PC串口波特率的奇数倍,本方案中取3,也就是说串口的一位数据DSP接收3次,这样就可以确保在3bit接收数据中至少有2bit是正确的。
此文档下载收益归作者所有