基于嵌入式FPGA系统USB通信接口硬件设计

2018-08-31 05:54广州海格通信集团股份有限公司郑超捷
电子世界 2018年16期
关键词:外设框图嵌入式

广州海格通信集团股份有限公司 郑超捷 郭 洋

与传统的x86结构CPU系统的通用USB设计相比较,嵌入式FPGA系统中的USB接口在使用中具有很好的针对性和专业性。在系统设计中,嵌入式FPGA系统更加趋向于集成化发展,在单片FPGA系统中具备系统需要最基本的CPU和存储器,为了完成整个系统需要的功能需求,还需要在系统内集成各种工程模块和接口。通过系统和模块的协调配合,才能实现系统的可编程性。该系统的设计和使用,能够比较便利的完成扩充以及升级等多种功能,而且在设计过程中还表现出良好的灵活性。由于,在FPGA系统中的I/O资源丰富,所以在应用的过程中可以设置成各种串行总线、并行总线,在传输速度方面可以通过PLL配置,实际应用中能够表现出良好的USB接口芯片适用性。

1.整体的系统设计

嵌入式系统的构成不仅包括了外围器件,而且还包括了最主要的主控器件,目前的CPU设计形式还是较多的,本文将对FPGA形式进行分析和研究。对于FPGA系统而言,除了最基本的主控器件,还要配备电源模块,也包括了USB模块,除此之外就是嵌入式模块。

所以,要进行嵌入式嵌入式FPGA系统USB通信接口硬件设计,首先要选择合适的电压,来设计合理的电源模块,最常用的就是DC/DC的系统电源。在通电之后,FPGA会根据系统要求进行相关的操作,完成对配制芯片的加载,最终才能完成整个系统的功能。整个系统的构架,也需要初始化驱动程序的驱动,在系统开始使用之后,如果将USB插入主机,FPGA可以接收显式中断信息。最终通过系统的处理,使得系统在接下来可以准确识别出USB。如果在使用中,将嵌入式系统插入外围设备,则USB的功能就变成了电源供应作用,所以在使用中要实现配置文件的加载,可以首先根据系统的初始化识别的基础上,通过FIFO来实现系统的数据传输。

因此,在嵌入式系统的通信接口的设计过程中,不仅要考量系统的整体功能要求,而且需要综合考虑FPGA系统的特点。

2.FPGA及USB主机/外设接口芯片选择

2.1 系统硬件总体框图

作为嵌入式系统,FPGA只是主控制CPU,需要SDRAM、nor flash等外围设备才能正常工作。基于嵌入式FPGA的USB通信接口系统硬件由嵌入式FPGA模块、USB模块和电源模块组成,其总体框图如图1所示。

通过上图的硬件框图也可以看出,FPGA系统的功能实现,需要借助配制芯片,只有借助配置芯片才能完成Nios II软核的加载,在此基础上保证系统在SDRAM中运行,该过程需要UC / OS - II操作系统的加载。在完成系统和程序的加载之后,此时如果有USB设备插入主机,将会中断通知max 3421 FPGA。一旦FPGA系统中断,此时的识别工作承担者将改变,将由max 3421实现。此时,max 3421通过配置来辅助系统进行后续的操作。如果外围设备插入的时候,USB的功能主要是完成外围设备的供电,然后借助配制文件的加载,实现内部寄存器的初始化。此时,设备能够正确、明确地识别出后续的数据,其传输是通过内部的FIFO操作完成的。

图1 系统总体硬件框图

2.2 FPGA的选择

一般而言,支持嵌入式系统的FPGA都满足要求。例如Altera公司的FPGA系列中,Cyclone系列及以上的FPGA系列都支持Nios II嵌入式CPU,都可以作为系统的主控CPU。

2.3 USB主机接p芯片

USB2.0是已经设置好的标准,因此不需要重复设计。在嵌入式模式中,经常使用USB主机芯片完成主机所需要的功能。可以结合MAXIM公司的MAX3421接口芯片实现USB2.0所需要的功能。

2.4 USB外设接口芯片

USB的外置接口芯片较多,但是既要保证外设功能的良好运行,还要保证良好的速度,这对于外设接口芯片的要求就更高了。所以,能够满足要求的芯片有很大的限制,具有代表性的像CPRESS公司的EZ-USBFX2系列。可以使用CPRESS公司的Cy7c68013芯片作为高速USB外设的接口芯片,实现数据的高速传递。

FPGA通过FX2实现USB2.0接口和通讯主机之间连接,它能从本质上带来Slave FIFO主控制器所需要的模块。所以可以依据Slave FIFO所需要的传输方式进行分析设计,在此基础上,FX2内嵌的8051部件仅仅作为Slave FIFO存在的寄存器同时控制FX2的运行。一旦相关的寄存器完成配置,FPGA根据Slave FIFO传递的信息,能够实现通讯,然而实际通讯中8051这一模块并不参与其中。

3.硬件设计的具体应用

3.1 选择适当的FPGA

FPGA的最基础的功能是能够支持嵌入式模式,不同种类的FPGA都有助于完善系统。系统的内部结构中,FPGA是系统的重心。

嵌入式模式应该同时含有等效逻辑单元以及芯片资源,所以能够满足接口芯片的基本要求,与此同时也可以通过对现有数据进行处理完成数据的实时性分析。最近,单片FPGA较传统的模式而言具有更好的灵活性,系统配有能够帮助接口组块和储存器实现信息处理的模块。同时,系统也含有能够并联或串联的通用线路,从而在根本上解决了通信中断等情况,进而保证了通信的连续性。

3.2 对于主机接口进行设计

根据现阶段的设计要求设计USB硬件的接口,在设计过程中对相同重复的接口设计一个即可。对于嵌入式系统,接口的芯片能够帮助实现主机需要的功能。USB在设计时,主要使用SPI当做硬件线路的接口。这主要是由于SPI接口在设计上的芯片引脚数目相比较其他的接口更少,就会使得接口能够很好的适用于模拟电路或数字逻辑电路。SPI接口的使用能够很好的辅助系统完成USB的连接或者断开时的识别。除此之外,USB的底层需求能够使用接口引擎来完成连接。

3.3 对于外设接口进行设计

工作人员在对USB外接口进行设计改进时,可以从不同角度出发,选用不同种类的芯片,进而设计出具有实时性的通讯设备的接口。正如最近几年设计的FX2存在不同于传统接口的内接口,极大程度的满足USB对于带宽的要求。FX2配有全智能的硬件处理功能,能够减少设计研发过程所需要的时间,在具有良好的兼容性的同时也使得整个设计得到了简化。设计外设接口也可以使用无缝接口,正如DSP或FIFO等。

4.结论

在嵌入式结构中,接口是该结构中的最重要的部分。设计人员应该借助FPGA系统的特点进行屁哦诶硬件,在此基础上准确的绘制整体框架图。通过一系列的设计完善后,USB的硬件组块就具有了更高的安全性,从而使得系统的通信安全得到了提升。在这里需要强调的是,设计通信接口的重点是保证完备的通信能力,进而为通信设备获得即时的信息提供保障。到目前为止,嵌入式系统的有关硬件接口的改进已经实现了巨大的进步,但是并没有到达终点。在将来,相关工作人员还可以从自身经验出发提高通信系统的时效性。

猜你喜欢
外设框图嵌入式
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
电路图2017年凯迪拉克XT5
搭建基于Qt的嵌入式开发平台
算法框图的补全
嵌入式软PLC在电镀生产流程控制系统中的应用
基于图表法构建《万有引力定律与航天》知识网络
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
外设天地行情