dsp的软件uart实现

dsp的软件uart实现

ID:22724587

大小:55.50 KB

页数:8页

时间:2018-10-31

dsp的软件uart实现_第1页
dsp的软件uart实现_第2页
dsp的软件uart实现_第3页
dsp的软件uart实现_第4页
dsp的软件uart实现_第5页
资源描述:

《dsp的软件uart实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、DSP的软件UART实现

2、第11前言ADSP218X作为16位的定点数字信号处理器,以其低成本、低功耗的特点在实际中有着广泛的应用。它主要面向通信系统等对处理数据精度和动态范围适中、更强调产品成本和功耗的应用领域。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)。而在普通电路设计中最为简单且常用的是三线制接法,即在通信中不需要RS-232的控制联络信号,地(GND)、接收数

4、据(RX)和发送数据(TX)三脚相连,便可实现全双工异步串行通信。本文即采用这种方法实现PC与DSP的串口通信。在典型的RS-232接口中,由于没有时钟信号,所以数据按照设定的固定波特率传送。在一帧信号中通常包括开始位、停止位和数据位,校验位可选。其中数据位为5~8bits;奇偶校验位共有5种方式可选:奇校验、偶校验、始终为1、始终为0以及空;停止位也有3种选择:1位、11/2位以及2位。串口传数时低位优先,由开始位表示数据的传送。ADSP218X有两个双向双缓冲的同步串口,通过帧信号来控制数据流。每一个串口有5个信号:串行时钟SCLK、接收帧同步(RFS)、发送帧同步(TFS)、串行数据接

5、收(DR)和串行数据发送(DT)。两个串口都可以使用外部时钟,也可以利用DSP的内部时钟,内部产生串口时钟时频率由串行时钟除法寄存器SCLKDIV确定。帧同步信号也有内外选择,既可以自己产生,也可以由外部设备提供,它用于指示串行数据字的开始。串口数据的字长在3~16bit之间任意设置,共有4种格式:右对齐高位零填充、右对齐高位符号位填充、μ率压缩及A率压缩。SPORT在DR上接收数据,在DT上发送数据,可实现双工操作。数据比特利用串口时钟同步。在ADSP218X的两个串口中,SPORT1除了可以作为普通串口,还可以作为外部中断和标志位使用。通过设置系统控制寄存器(0X3FFF)的bit10,

6、DR1和DT1相应可作为FLAGIN(标志位输入)和FLAGOUT(标志位输出),这两个管脚在软件UART的过程中可以作为数据的输入和输出管脚。ADSP218X的串口在传输时高位优先。ADSP218X的串口使用主要是通过设置各内存映射控制寄存器来实现,各寄存器的具体含义及设置请参阅文献[2]。3DSP软件UART的实现由以上看出,DSP的串口和PC机的串口在数据格式以及传送控制上有区别,但是通过软件模拟以及必要的硬件控制,就可实现DSP与标准串口间的通信。在ADSP218X上软件模拟UART有3种主要的方法:直接利用DSP的串口,通过控制串口的传送模式来实现;利用DSP的定时器,通过标志位管

7、脚的输入输出来实现;利用DSP的外部中断,通过中断处理程序来实现。本文主要介绍前两种方法。3.1DSP串口实现的软件UART通过对DSP的串口控制寄存器进行设置以及对接收和传送数据进行必要的处理,利用图1所示的电路,DSP就可以与PC进行数据交换。接收数据时,设置DSP串口为内部时钟和外部产生帧同步信号。内部时钟信号用来提取接收数据。由于DSP串口进行数据接收时,只知道数据率而不知道它们与内部时钟的相位关系,因此为了保证数据的正确性,内部时钟频率设为PC串口波特率的奇数倍,本方案中取3,也就是说串口的一位数据DSP接收3次,这样就可以确保在3bit接收数据中至少有2bit是正确的。外部帧同步

8、信号通过硬件来实现,来自RS-232的TX信号同时接到DSP的DR和RFS信号管脚,因为DSP工作在有帧模式时只在等待新数据时检测RFS信号,传送开始后就忽略RFS信号,所以可以利用RS-232传输时的开始位来实现RFS信号。通常串口信号在无校验位时为10bit,以3倍的速率对其进行抽样就会得到30bit数据,除去第一位作为RFS信号,最后得到29bit数据。但DSP串口接收缓冲区通常是16bit,所以必须接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。