原创 基于ADSP-BF533和EPM7160实现的多路UART接口电路设计

2009-9-14 09:47 1427 4 5 分类: 处理器与DSP
作者:    时间:2008-12-09    来源: 
 
       摘要: 在介绍了ADSP- BF533处理器的基础上, 给出了基于ADSP- BF533和CPLD设计具有
多路UART接口的系统设计方法, 该方法克服了一个系统中的ADSP- BF533不能满足多个
UART接口的缺点。文章最后还给出了基于ModelSim的仿真波形。
关键词: 异步串口; 分频; ModelSim; 多路UART接口

0 引言
目前, 在数字信号处理技术中, DSP+CPLD
是控制接口设计中比较常用的方式。然而, ADSP-
BF533虽有异步串口, 但该芯片只有一个异步
串口, 当一个系统中出现多个UART接口时,
ADSP- BF533就显得无能为力了。为此, 本文采
用CPLD来实现多路UART接口的设计, 以满足
ADSP- BF533与多路UART接口的通信。
1 ADSP- BF533简介
ADSP- BF533处理器是Blackfin系列产品中的
一员。其最大工作频率可达600 MHz。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端口的波特率、串行
数据格式、错误代码的产生和状态、中断等均可
编程设置。
2 ModelSim仿真工具
ModelSim为HDL仿真工具, 利用该软件可对
所设计的VHDL或Verilog程序进行仿真。Model-Sim
支持IEEE常见的各种硬件描述语言标准。
Modelsim仿真工具是Model公司开发的。它
可以支持Verilog、VHDL以及它们的混合仿真,
也可以将整个程序分步执行, 使设计者直接看到
自己程序的下一步要执行的语句, 而且在程序执
行的任何步骤、任何时刻, 都可以查看任意变量
的当前值, 也可以在Dataflow窗口查看某一单元
或模块输入输出的连续变化等情况, 因而比quartus
自带的仿真器功能强大的多, 是目前业界最通
用的仿真器之一。
3 异步串口原理
UART(Universal Asynchronous Receiver/Transmitter)
通用异步收发器是用于控制计算机与串行
设备的芯片。它提供有RS- 232C数据终端设备接
口, 因此, 可以通过计算机和调制解调器或其它
使用RS- 232C接口的串行设备进行通信。UART
内部结构原理如图1所示。图2所示是其系统总体
结构框图。图2中的总线控制逻辑主要用于完成
数据总线的方向控制。
UART发送模块中16位并行数据的高4位用来
控制是发向第几路的数据, 低八位则是要发给该
路异步串口的数据。发送模块中还有一部分用来
把并行低8位数据转化成串行8位数据, 然后再根
据并行数据的高4位判断发往哪一个异步串口。
UART接收模块中, 把接收到的8位串行数据
转化成并行数据送到总线控制逻辑, 然后通过中
断通知DSP来读取。
这样就实现了通过DSP的并行数据总线来控
制10路异步串口的收发数据。

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发出的中断请求信
号, 以便DSP通过读信号read_strobe 读取数据;
rxclk_enable是接收串行数据时钟使能; rxclk是接
收串行数据时钟。
点击看大图
点击看大图
从图5的放大图可以看出, 在串口没有接收
数据时, data_o为高阻状态, txclk_enable是低电
平, 因而不使能, txclk没有接收时钟, received
是低电平, 没有置高; 而当开始接收数据时,
data_o是高阻态, txclk_enable为高电平使能, txclk
有接收时钟; 此后再当接收完数据时, received
为高电平并向DSP发送中断请求信号; 此
时, DSP响应中断, 并通过read_strobe置低来读
取数据, 从而使数据10出现在并行数据线上。
现在可以从serial10_in结合rxclk来分析接收
到的数据, 串行数据依次是0010100001, 因为第
一位0是起始位, 故数据从第二位算起的八位数
据是01010000, 又因数据是低位先发, 因此, 真
正的数据是00001010 (十进制数是10), 由图中可
以看到, data_o上输出的确实是10。
5 结束语
当一个系统中存在多个异步串行接口时, 基
于ADSP- BF533和CPLD设计的、具有多路UART
接口的系统, 可以方便的分别与多个异步串口进
行通信, 而且灵活性比较强, 成本也很低, 功能
也比较完善。目前, 该设计经实际板子验证, 结
果证明完全可行。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户188034 2009-9-14 19:36

要这么多串口做什么
相关推荐阅读
用户1414655 2012-11-28 16:09
给你们介绍一些毛骨悚然的骗人技术
星期六下午 2 点多, 我一个人乘70 路至四川路,当中我在和我老公通电话的时候发觉有人拍了下我的肩膀,刚开始我以为是遇到认识的人和我打招呼的,后来一看旁边是40 多岁的...
用户1414655 2009-11-24 23:01
通信电源蓄电池温度监测系统设计
0 引 言    在通信系统的设计和建设中,通信电源被称为通信系统的心脏,电源系统将直接影响通信系统的可靠性和稳定性。美国APC公司的一项调查结果表明,大约有75%以上的通信系统故障都是由于电源设备故...
用户1414655 2009-09-23 08:53
各种白光LED驱动电路特性评比
作者:    时间:2008-12-02    来源:52RD硬件研发         1996年日亚化学的中村氏发表蓝光LED之后,白光LED就被视为次世代照明光源最具发展潜力的元件,因此有关白光L...
用户1414655 2009-09-23 08:52
论机器视觉与图像分析技术
作者:    时间:2008-12-02    来源:52RD硬件研发         也许你仍然希望能得到咨询专家的帮助,不过紧缩包裹型(Shrink-Wrapped)开发工具包现在已经使得缺乏专业...
用户1414655 2009-09-23 08:52
LCD TV视频解码器技术概述
作者:    时间:2008-12-03    来源:52RD硬件研发          CD TV属于高整合性电子产品,它涵盖了演算法、软体、韧体、硬体、晶片、无线射频等领域,且许多专利仍是属于国外...
用户1414655 2009-09-23 08:52
液晶显示器的自动调光技术
作者:    时间:2008-12-03    来源:52RD硬件研发          最近几年大型液晶显示器的应用,从笔记型电脑、PDA、桌上型电脑用监视器,持续扩展至家用液晶电视等领域,液晶电视...
我要评论
1
4
关闭 站长推荐上一条 /3 下一条