zoukankan      html  css  js  c++  java
  • NEXYS 3开发板练手--USB UART(一)

      接上一篇文章,今天来讲讲这个USB UART串口发送机。

      我们知道,当我们的微处理器(单片机、FPGA、DSP等)要和电脑进行通信的时候一般会采用串行通信方式,而最常用的串行通信协议的物理层接口是RS232串行口,这时候为满足RS232串行通信协议,常常需要一个电平转换芯片,比如MAX232233等。但是这些年随着计算机技术的发展,RS232串行接口在好多电脑上已经找不到了,特别是笔记本电脑(我的本本上就已经找不到这种接口了),取代它的往往是更常见的USB口。但是这种异步串行通信协议简单啊,往往只要规定波特率,然后按它的数据格式收发就可以了,不像USB协议,据说需要厚厚的几百页书阐述,这种工作量可不是一般的开发人员能够胜任的。所以人们就开发出一种折中的方式--用USB接口来实现异步串行通信协议,个人认为这个就是所谓的USB UART。好了,闲话不多说,让我们就以NEXYS3这块板子为例来看看是怎么实现这两种协议的转换的。

      老规矩,先上硬件原理图。这里要说明一下,我们在Digilent官网上能弄到两份pdf,一份叫NEXYS3_sch,这个是详细的硬件原理图,还有一个参考手册,叫Nexys3_rm,这里面的连接图往往是简化了的,但是也很重要,特别是对于一些比较复杂的器件的使用,会有一些文字上的描述。我们今天就用这份pdf做参考。

      找到标题USB-UART Bridge,pdf上的描述很简单,短短的几行文字,再加上下面的这个图:

                             

      连接接口跟FPGA的是一块FT232,而文字描述第一句话的意思就是这块FT232允许PC与开发板之间通过标准的Windows COM端口进行通信。原来如此,就是这么一块小小的芯片帮助我们完成了串行通信协议到USB协议之间的转换。这块芯片具体的工作原理我们暂且不去深究,对于我们这个开发来说,我们只需要搞清楚怎么使用它。那到底接下来怎么继续呢?似乎不太有头绪,那就先连接上电脑再说吧!将J13跟电脑的USB口连接上去,会发现这时电脑正在安装一个驱动,就像一般的U盘这些USB设备第一次连接电脑一样。既然如此,那我们不妨打开电脑的设备管理器,看看它到底装了些什么。然后我们会发现,多了的东西并不在USB设备里,反而在端口处多了一个COM3,如下图所示:

                                  

      这一下我们不妨大胆预测了--原来FT232是在我们的计算机上虚拟出了一个COM,然后利用USB端口完成数据的传输!后来经过查找FT232的相关资料验证了我这个想法,真相大白后一切就变的简单多了,原来我们虽然用的是USB口,但我们根本不用去理会USB协议,我们最后操作的还是异步串行传输协议!再看看FT232连接到FPGA上的端口,就两个--TXDRXD,看来我们只需要在FPGA里实现一般串口的收发机就能完成与PC之间的通信了!

      没想到光原理就废话了这么多,鉴于篇幅,具体怎么实现这个收发机,我将在下一篇文章中具体叙述。

  • 相关阅读:
    C#中的cookie编程
    C# 键值对数据排序
    C#操作json类型数据
    深刻理解C#的传值调用和传引用调用
    .Net程序员玩转Android开发--ListView单击事件
    C#与Visual Basic的异与同
    初识C#程序结构
    【转】Java学习---线程间的通信
    【转】Mysql学习---MySQL悲观锁中的排它锁
    Linux uptime命令详解
  • 原文地址:https://www.cnblogs.com/lwybky/p/3509380.html
Copyright © 2011-2022 走看看