视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
基于ADSP_BF533和EPM7160实现的多路UART接口电路设计
2025-10-02 13:50:09 责编:小OO
文档
ElectronicComponent&DeviceApplications

Vol.10No.4Apr.2008

第10卷第4期

2008年4月2008.4www.ecda.cn

0引言

目前,在数字信号处理技术中,DSP+CPLD

是控制接口设计中比较常用的方式。然而,AD-

SP-BF533虽有异步串口,但该芯片只有一个异步

串口,当一个系统中出现多个UART接口时,

ADSP-BF533就显得为力了。为此,本文采

用CPLD来实现多路UART接口的设计,以满足

ADSP-BF533与多路UART接口的通信。

1ADSP-BF533简介

ADSP-BF533处理器是Blackfin系列产品中的

一员。其最大工作频率可达600MHz。Blackfin处理器内核包含有2个16位乘法器、2个40位累加器、2个40位ALU、4个视频ALU和1个40位移位器,可处理来自寄存器组的8位、16位或32位数据。

该处理器包含有丰富的外设,可通过不同的高速宽带总线与内核相连。该系统不但配置灵活,而且有极好的性能。通用外设包括UART、带有PWM(脉冲宽度调制)和脉冲测量能力的定时器、通用I/O标志引脚、实时时钟和看门狗定时器等。

该处理器有多个的DMA控制器,能够以最小的处理器内核开销自动完成数据传输。

DMA传输可以发生在ADSP-BF533处理器的内部

存储器和任一有DMA能力的外设之间。此外,

DMA传输也可以在任一有DMA能力的外设和已

连接到外部存储器接口的外部设备之间完成(包括SDRAM控制器、异步存储器控制器)。有DMA传输能力的外设包括SPORTs、SPI端口、UART和PPI端口。每个的、有DMA能力的外设至少应有一个专用DMA通道。

ADSP-BF533处理器有16个双向通用可编程I/O引脚(PF15-0)。每一个可编程引脚对标志控制

寄存器、标志状态寄存器和标志中断寄存器的编程均可控制。标志方向控制寄存器可规定每个的PFx引脚的方向,并可用作输入或输出。

ADSP-BF533该处理器提供有1个全双工的通

用异步接收/发送(UART)端口,并与PC标准的

UART完全兼容。UART端口可为其它外设或主机

提供一个简化的UART接口,并可支持全双工、有DMA能力的异步串行数据传输。UART端口可支持5~8个数据位、1或2个停止位以及无校验、奇校验、偶校验位。UART端口的波特率、串行数据格式、错误代码的产生和状态、中断等均可编程设置。

2ModelSim仿真工具

ModelSim为HDL仿真工具,利用该软件可对

所设计的VHDL或Verilog程序进行仿真。Model-

收稿日期:2007-11-29

基于ADSP-BF533和EPM7160实现的

多路UART接口电路设计

程小震,,唐宏

(西安电子科技大学信息对抗研究所,陕西

西安

710071)

要:在介绍了ADSP-BF533处理器的基础上,给出了基于ADSP-BF533和CPLD设计具有

多路UART接口的系统设计方法,该方法克服了一个系统中的ADSP-BF533不能满足多个

UART接口的缺点。文章最后还给出了基于ModelSim的仿真波形。

关键词:异步串口;分频;ModelSim;多路UART接口

26

Vol.10No.4Apr.2008

第10卷第4期

2008年4月

www.ecda.cn

2008.4

Sim支持IEEE常见的各种硬件描述语言标准。

Modelsim仿真工具是Model公司开发的。它

可以支持Verilog、VHDL以及它们的混合仿真,也可以将整个程序分步执行,使设计者直接看到自己程序的下一步要执行的语句,而且在程序执行的任何步骤、任何时刻,都可以查看任意变量的当前值,也可以在Dataflow窗口查看某一单元或模块输入输出的连续变化等情况,因而比quar-

tus自带的仿真器功能强大的多,是目前业界最通

用的仿真器之一。

3异步串口原理

UART(UniversalAsynchronousReceiver/Trans-

mitter)通用异步收发器是用于控制计算机与串行

设备的芯片。它提供有RS-232C数据终端设备接口,因此,可以通过计算机和调制解调器或其它使用RS-232C接口的串行设备进行通信。UART内部结构原理如图1所示。图2所示是其系统总体结构框图。图2中的总线控制逻辑主要用于完成数据总线的方向控制。

UART发送模块中16位并行数据的高4位用来

控制是发向第几路的数据,低八位则是要发给该

路异步串口的数据。发送模块中还有一部分用来把并行低8位数据转化成串行8位数据,然后再根据并行数据的高4位判断发往哪一个异步串口。

UART接收模块中,把接收到的8位串行数据

转化成并行数据送到总线控制逻辑,然后通过中断通知DSP来读取。

这样就实现了通过DSP的并行数据总线来控制10路异步串口的收发数据。

波形仿真

4.1

发送模块的仿真波形

本设计中的EPM7128采用24.576MHz的晶振

输入,使用时应根据外部的串口波特率在内部通过编程对此输入时钟进行相应的分频处理。其发送模块的仿真波形图如图3所示。图中,data_in是DSP输入的并行16位数据,reset可用来复位,高电平有效;

write_strobe是DSP的写信号;

s1_out~s10_out分别是异步串口1~10的输出。为

了验证本设计的灵活性,可以控制不同的串口让其输出不同的数据,也就是由串口1~10分别输出

1~10的数据。

在发送模块中,通过检测write_strobe的下降沿可以把并行数据存储到CPLD中,再使能发送时钟,并给数据加上起始位0、校验位、停止位

1,然后按照发送时钟的节拍把数据一位一位的

发送出去。

4.2接收模块的仿真波形

在EPM7128中编程检测输入串口数据的下降

沿,并使能接收时钟,然后即可开始接收数据。接收数据时,要把接到的第一位数据去掉,然后取第2~9位数据,这样就把起始位去掉了,从而得到八位数据。接收模块的仿真波形如图4所示。

serial1_in~serial10_in是第一路到第十路串口

的接收端口,它们的输入数据依次是1~10;clock是系统时钟;reset是系统复位,高电平有效;

read_strobe是DSP的读信号;flag是通道选择,用1~10分别对应开通第1路到第10路串口通道,图5

是第10路串口所接收的信号局部波形放大图;

data_o是并行数据输出;received8位串行数据接

收完毕后,通过高电平向DSP发出的中断请求信

图1

UART内部原理结构图

图2

系统总体结构框图

新特器件应用

27

Electronic

Component&DeviceApplications

Vol.10No.4Apr.2008

第10卷第4期

2008年4月2008.4www.ecda.cn

号,以便DSP通过读信号read_strobe读取数据;rxclk_enable是接收串行数据时钟使能;rxclk是接

收串行数据时钟。

从图5的放大图可以看出,在串口没有接收数据时,data_o为高阻状态,txclk_enable是低电平,因而不使能,txclk没有接收时钟,received是低电平,没有置高;而当开始接收数据时,

data_o是高阻态,txclk_enable为高电平使能,tx-clk有接收时钟;此后再当接收完数据时,re-ceived为高电平并向DSP发送中断请求信号;此

时,DSP响应中断,并通过read_strobe置低来读取数据,从而使数据10出现在并行数据线上。

现在可以从serial10_in结合rxclk来分析接收到的数据,串行数据依次是0010100001,因为第一位0是起始位,故数据从第二位算起的八位数据是01010000,又因数据是低位先发,因此,真正的数据是00001010(十进制数是10),由图中可

以看到,data_o上输出的确实是10。

5结束语

当一个系统中存在多个异步串行接口时,基

于ADSP-BF533和CPLD设计的、具有多路UART接口的系统,可以方便的分别与多个异步串口进行通信,而且灵活性比较强,成本也很低,功能也比较完善。目前,该设计经实际板子验证,结果证明完全可行。

参考文献

[1]苏涛,何学辉,吕林夏.实时信号处理系统设计[M].西安:西安电子科技大学出版社,2006.

[2]任晓东,文博.CPLD/FPGA高级应用开发指南[M].北京:电子工业出版社,2003.

[3]

廖日坤.CPLD/FPGA嵌入式应用开发技术白

金手册

[M].北京:中国电力出版社,2005.

28

下载本文

显示全文
专题