基于FPGA的接口转换电路设计
2014-09-21郭鑫马俊
郭鑫 马俊
摘 要:21世纪是信息化的世纪,计算机技术迅速发展,越来越多的计算机采用传输速率更快且性能更加优良的USB接口,而个人计算机上的RS232,正在逐渐被淘汰。但在工业领域中RS232应用仍十分广泛。本文在此应用背景下,研究和设计USB与RS232之间的接口转换电路,硬件开发采用了SOPC设计思想,添加不同功能的模块,构建NIOS II系统,在Quartus II中完成硬件开发,而软件开发在NIOS II IDE中完成,利用FPGA平台,实现USB与RS232之间的接口转换,实现上位控制计算机与底层设备之间的数据通信。
关键词:USB接口;RS232接口;FPGA;SOPC
随着计算机科学技术的迅速发展,如今对计算机的数据通信速度有了更高的要求,因此计算机的外围接口也发展迅速。由于USB在个人计算机上应用越来越广泛,逐渐淘汰了RS232,但目前仍然很多采用RS232串行接口的工业设备、仪器仪表领域中,考虑到可行性和成本原因,立即将这些设备改造成USB接口是不可行的。因此本文选择在FPGA开发平台下实现USB转RS232接口,通过这样将计算机与传统的设备相连,实现USB与RS232接口的双向数据传输,同时也扩大了USB的传输距离。
一、基于FPGA嵌入式IP的SOPC系统
基于FPGA的嵌入式IP硬核SOPC系统是在FPGA中预先植入NIOS处理器。为了更好的通用性,必须将常规的嵌入式处理器集成诸多通用和专用的接口,但这样又不得不增加芯片的成本和功耗。但如果将ARM或者其他处理器核以IP硬核的方式植入FPGA中,利用FPGA的可编程逻辑资源和可擦除性,按照系统功能需求来添加接口功能模块,如USB模块和RS232模块,既能实现目标系统功能,又能实现系统的低成本和低功耗。这样使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,更有效地实现SOPC系统。
虽然基于FPGA嵌入IP硬核能有效降低系统成本和功耗,但也有不足之处:(1)IP硬核多来自第三方公司。(2)这些IP硬核是预先植入系统的。(3)设计者无法根据实际需要改变处理器的结构。(4)无法根据实际设计者的需求在同一FPGA开发板中集成多个处理器。根据以上不足,FPGA生产商设计了嵌入式系统IP软核。利用Quartus II和SOPC Builder,对NIOS II及其外围设备进行模块构建,使得系统能够满足设计者在硬件结构、功能特点、资源占用方面的要求,而且不同于IP硬核,NIOS II软核在同一FPGA下可以添加多个IP软核,只要FP
GA的逻辑资源够用就行。在成本方面,因为NIOS II是Altera公司直接提供,因此省下支付第三方厂商的知识产权费用。
二、接口硬件电路设计
本文采用的是CH376芯片作为USB接口的芯片。CH376芯片是文件管理控制芯片,用于单片机系统读写U盘或者SD卡中的文件,本文主要用到了CH376芯片的USB设备方式。其中CH376采用8位并口接口方式连接到FPGA上进行控制。
根据CH376手册,了解CH376的特点,设计出在3.3v电源电压下USB的外围电路。本文设计的USB电路有一下几个特点:(1)自供电:5VVCC;(2)传输速度:12Mbps;(3)USB芯片:CH376。(4)时钟电路:12MHz晶振。
接口转换主要思想是在FPGA上面构建NIOS II系统平台,这样在SOPC Builder中已经添加了RS-232模块,因此串口可以直接连接到FPGA上,只需要保证电气的相容性即可。在RS-232外围电路设计中,采用了MAX3232芯片来完成RS232总线电平与TTL电平的转换。
三、基于NIOS II IDE系统软件开发
USB分主机模式和设备模式,本文主要用到了USB的设备模式。FPGA开发板通过USB接口与电脑相连,电脑里面的上位机来发送、接收USB数据,实现FPGA开发板与电脑的数据通信。本论文通过设计的USB接口连接到FPGA上,用FP
GA来控制USB芯片的接收、发送数据,这样在FPGA NIOS II系统内完成USB接口与RS232接口的数据交换。基于FPGA的SOPC设计思想,在开发过程中主要使用到了Quartus II9.0、SOPC Builder、NIOS II IDE9.0软件。
将所做的USB接口、RS232接口通过导线连接到黑金FP
GA开发板的扩展引脚上,同时将USB接口通过USB数据线连接到电脑上,RS232接口通过串口线连接到电脑上,通过上位机串口调试助手和USB调试助手来验证调试转换电路设计是否实现。
图1 硬件电路低连接图
如图2所示,打开串口调试助手,串口设置为COM1,波特率设置为115200,校验位为NONE,数据位为8,停止位为1。当在串口调试助手中发送数据“西南交通大学电气工程学院”时,数据经过FPGA,在NIOS II系统内完成数据转换,由USB接收,在USB调试助手上显示出来“西南交通大学电气工程学院”。在USB调试助手中输入“Southwest jiaotong University”,点击“Send”,数据经过FPGA,在NIOS II系统内被串口接收,并在上位机程序串口调试助手中正确显示出来。经过在上位机程序USB调试助手和串口调试助手中的调试,能够完成USB接口转换RS232接口,正常实现接口之间的数据转换。
图2 USB接口与RS232接口调试窗口图
结论:本文在查询翻阅国内外关于接口转换的期刊文献的基础上,阐述了本文基于FPGA的接口硬件电路设计的理论基础和可行性。在阐述了USB接口和RS232接口通信原理后,从3个主要部分入手:首先是自行设计外围硬件电路,通过跳线连接到FPGA上;然后是硬件开发中实现将外围硬件电路USB接口和RS232接口与FPGA连接起来构成一个NIOS II系统,最终实现硬件电路的开发;最后是接口电路的软件开发,在实现USB接口、RS232接口与FPGA互连后,主要软件编程驱动实现USB与RS232的接口数据通信,完成接口转换。
参考文献:
[1] 周立功等.SOPC嵌入式系统基础教程.北京:北京航空航天大学出版社,2006
[2] 孙源.基于FPGA的多功能串行通信测试系统设计:[硕士学位论文].南京:南京理工大学控制理论与控制工程,2010