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

  我们知道,当我们的微处理器(单片机、FPGA、DSP等)要和电脑进行通信的时候一般会采用串行通信方式,而最常用的串行通信协议的物理层接口是RS232串行口,这时候为满足RS232串行通信协议,常常需要一个电平转换芯片,比如MAX232\233等。但是这些年随着计算机技术的发展,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上的端口,就两个--TXD\RXD,看来我们只需要在FPGA里实现一般串口的收发机就能完成与PC之间的通信了!

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

最新文章

  1. combobox实现模糊查询自动填充
  2. mvc+mysql+EF
  3. 地理围栏算法解析(Geo-fencing)
  4. imx6 u-boot.bin 和 u-boot.imx
  5. SQL Server 2008 Express 安装或卸载时提示“重启计算机失败"的解决办法
  6. js倒计时 网上流传最多的
  7. vim使用大全
  8. web页面的优化
  9. 外部样式OL LI的定义 影响到了富文本框内的UL LI的定义,使用内部样式对其还原
  10. Golang测试技术
  11. 让我的分页类获取sessionFactory
  12. XSS分析及如何预防
  13. WebServices 之 WSDL
  14. LeetCode 110. Balanced Binary Tree (平衡二叉树)
  15. Linux根目录详解-转自鸟哥的私房菜
  16. Arduino 开源库 u8glib2 之 图标显示【原创】
  17. 用python给html里的css及js文件链接自动添加版本号
  18. 【一天一道LeetCode】#116. Populating Next Right Pointers in Each Node
  19. webpack2入门概念
  20. k8s 1.12.6版的kubeadm默认配置文件

热门文章

  1. Linux内核设计基础(四)之虚拟文件系统
  2. Java从零开始学十一(类和对象)
  3. 算法笔记_121:蓝桥杯第六届省赛(Java语言C组部分习题)试题解答
  4. 在VC中创建DLL文件的方法步骤
  5. spring的applicationContext.xml中的DBCP配置如下:
  6. 11个强大的 Visual Studio 调试技能
  7. 感谢CSDN赠送的图书和杂志(5月份)
  8. IDEA 开发环境中 调试Spark SQL及遇到问题解决办法
  9. rlwrap插件,实现sqlplus上下翻页
  10. C-常用字符串操作函数详解