C6203B DSP系统中用FPGA实现UART的技术难点及解决方案

众所周知,TMS320C6203B DSP本身不带UART(RS232)口,在使用C6203B+FPGA的嵌入式系统中要实现UART通信有三种方案可选:
1、用DSP的McBSP(多通道缓冲串口)仿真UART,可参见TI的技术文档SPRA633B,网上也许多文章对此进行了较详细的介绍。但此方案的缺点是大部分模拟仿真工作需软件完成,且UART通信速度较慢(最大几百K)对实时处理系统的速度影响较大。
2、扩充外部专用UART芯片,特别可以利用DSP的SPI口可方便地与SPI-UART专用芯片(如NXP的SC16IS762)相连。此方案的缺点是需更改系统设计,没有充分利用系统现有资源(FPGA)。
3、利用系统中的FPGA实现UART通信,此方案弥补了上述2个方案的缺点。虽然用FPGA实现UART是件很简单的事,但由于C6203B DSP的特殊性,实现起来技术上却存在不少难点:
(1)C6203B与FPGA只能用XBUS扩展总线相连,读写FPGA不能使用普通I/O指令,必须使用DMA方式,这样就加大了读写操作的复杂性,调试起来也较麻烦。
(2)FPGA实现UART的免费IP核有很多,比较常见的有LAttice的8250UART、Xilinx的简易UART,以及网上很容易下载到的97版UART(与Xilinx的类似)。但这些IP源代码都要检测-RD、-WR信号的上升/下降沿,对应DSP的信号为:-XRE、-XWE。由于C6203B的主频达250M,其读写信号的负脉冲宽度只有10ns左右,而UART模块中检测读写信号边沿所用的同步时钟频率即使在115.4K高波特率时才1.83M(115.4Kx16),显然很难正确识别读写信号的边沿&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值