综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章接口电路正文
 
LED显示屏高速数据通讯接口设计
发布日期:2005-06-18 作者:虞鹤松 张 飙 范 刚 来源:国外电子元器件

     摘  要:本文阐述了利用CYPRESS公司EZ-USB FX2系列USB2.0集成芯片CY7C68013的高速Slave FIFO通用外部接口来实现PC机和LED点阵显示屏间数据通讯的设计方案,给出了其接口电路的硬件原理及底层软件的设计过程。

    关键词:USB2.0;CY7C68013;FIFO;LED显示

    1 引言

    LED显示屏具有亮度高,故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富等优点,可广泛用于公路、金融、证券、车站、码头、体育场馆等公共场合,其显示数据通常来自上位PC机,这就要求有一个高速通道来传输大量的显示数据,USB2.0接口无疑是一个很好的解决方案。

    USB由总线提供电源,传输时具有CRC检错、纠错能力,能实现真正的实时热插拔,并支持多个外设连接到同一个连接器上,从而缓解PC系统资源冲突,这些突出的优点使得USB1.x在PC机外部设备上得到了广泛的应用, USB2.0传输速度高达480Mb/s,是USB1.x的40倍,并向下兼容USB1.x。这样就使得快速大量的数据传输得以实现。

    在此强调一下两个下文将要用到的概念:IN端点和OUT端点。此处的IN、OUT都是相对于上位PC机而言,IN端点指用来接收上位PC机数据的端点,OUT端点则是往PC机发送数据的端点。


    2 CY7C68013简述

    带高速Slave FIFO通用外部接口的CY7C68013是CYPRESS公司推出的USB2.0集成微处理芯片,片上集成了USB收发器(SIE)、增强型8051单片机(其指令系统与普通8051单片机完全兼容)及8k程序存储区 共有4个支持USB2.0高速传输的“大”端点(2个IN端点和2个OUT端点)和4kB片内RAM该RAM 可配置为4个“大”端点的FIFO,其中2个“大”端点可以配置为双、三、四缓冲区(FIFO),一个“大”端点最大可配置为2kB FIFO,更重要的是该芯片提供了两个用于实现USB2.0高速传输的可编程外部设备接口以及Slave FIFO和GPIF,这2个通用外部接口可通过与4个“大”端点协调工作来实现USB2.0的高速传输,本文只讨论 Slave FIFO可编程外部设备接口的应用。

CY7C68013有56pin、100pin、128pin三种封装,其中56pin已具备所有USB2.0功能,而100pin则在56pin基础上增加了更多I/O和更多GPIF模式下的控制信号,128pin又在100pin基础上增加了用于扩充数据存储区的地址总线和数据总线。本应用就是基于可编程外部设备接口Slave FIFO,大量数据传输可直接由FPGA处理而无需扩充外部数据存储区,在此选择最经济的56pin CY7C68013 即可满足设计要求, 其体系结构如图1所示。

    3 Slave FIFO简介

    CY7C68013 虽然可以用内置增强型8051单片机直接处理USB2.0数据,但这样会受到单片机速度的限制而无法实现USB2.0的高速传输。通常为了解决这一矛盾,可使CY7C68013的片上增强型8051单片机仅用于辅助处理USB设备请求和设备列举以及协调内部“大”端点和外部数据处理设备(如 FPGA,ASIC DSP,IDE等)的工作,这样USB数据流就可绕过慢速的8051单片机而直接从“大”端点FIFO进入快速外部主设备或从外部主设备进入“大”端点FIFO,以实现USB2.0高速传输。由于CY7C68013“大”端点FIFO的读写是受外部数据处理设备控制的,所以这些FIFO称为 Slave FIFO,上述这种实现USB2.0高速传输的模式称为 Slave FIFO模式。

    4 CY7C68013固件程序设计

    为方便应用开发,CYPRESS 公司为CY7C68013所属的EZ-USB FX2系列提供了免费下载的Keil C环境下的USB固件库,以及C51编写的固件构架程序和一些典型应用的范例程序,这使得开发者只需理解USB数据传输原理,而不用钻入艰深的USB底层协议就可完成开发,从而大大缩短开发时间,以便把更多的精力放在外部接口设计上。

    下面仅就固件程序设计进行论述,整个固件应用程序通常包含3个程序文件:

    DSCR.A5——设备描述符表文件,该文件详细记录了USB外围设备的相关信息,这里需要注意的是设备描述符和端点描述符。设备描述符给出了USB的一般信息,其中VID/PID 码十分重要,上位PC机根据这个码值才能正确加载USB应用设备驱动程序。至于端点描述符,每个端点都有,上位PC机根据端点描述符的内容来决定每个端点的带宽要求。本设计用1个“大”端点EP2来接收上位PC机的显示数据;另用一个“小”端点EP1来处理上位机和通讯接口间开发者自定义的通讯协议,以使上位机可以在需要的时候查询已被传送的显示数据的接收状况,从而进一步保证显示数据的有序传输。

    FW.C——固件构架程序。该固件构架程序主要用于实现USB设备列举的诸多控制传输和USB总线协议的相关工作,完成了USB与外部兼容设备所需的基本功能。该程序的核心函数 void SetupCommandvoid 称作设备请求剖析器,用于处理上位PC机发送的标准USB设备请求以实现USB设置命令。

    APP.C ——开发者在相关范例应用程序的基础上通过修改或增加一些应用程序段而形成的面向实际的应用程序。本应用中主要修改了Slave FIFO的操作方式以使Slave FIFO接收数据的速度能够达到最大值,所采用的设置方法如下:

    通过寄存器EP2CFG可将EP2设置为OUT端点。当需要首先考虑数据准确性时,可将该端点传输模式设置为批量传输,其最大包长为512字节,4缓冲区(FIFO)。而当需要传输视频数据时,可将该端点的传输模式设置为同步传输,最大包长1024字节,双缓冲区(FIFO)。

通过寄存器EP2FIFOCFG设置下面的内容:将“大”端点EP2设置为16位操作模式(一次可以操作2个字节)以与FD 16位宽度总线匹配; 再设置该OUT端点为AUTOOUT模式,这样来自上位PC机的数据就可以不通过CY7C68013上的8051单片机,而是自动地填充相应的“大”端点FIFO。

    通过寄存器IFCONFIG设置这样的工作模式:用CY7C68013产生48MHz IFCLK时钟,将该时钟作为片上SlaveFIFO与外部主设备的工作时钟;数据的接收与发送设置为同步读写方式,这样在每个IFCLK 时钟的上升沿就可以读写2个字节,从而使数据读写速度可以达到96MHz byte/s。

    本设计只使用了EP2这个“大”端点,而且 已将其配置为AUTOOUT操作模式。因此,CY7C68013可绕过片上8051而自动将USB数据接收到EP2的FI-FO中。

    需要增加的程序段是CY7C68013片内8051单片机根据上位机查询回应当前数据接收状况,这个程序段和普通的8051单片机232串口通讯程序类似,不同的只是原来的232串行口中断被EP1 IN和EP1 OUT这两个USB2.0中断所替换,当EP1 OUT 端点收到上位PC机发来的数据时,将产生EP1 OUT中断来处理接收到的数据;同样当CY7C68013片内8051欲发往上位PC机的数据已通过EP1 IN发送完毕时,也会产生EP1 IN中断以使片内8051可以在该端点放入新的发送数据。

5 硬件设计

    图2所示是FPGA与CY7C68013 的连接图,除将IFCLK作为FPGA输入时钟外,其它信号均在FP-GA和CY7C68013之间互连。由于FPGA片内RAM很小,本系统还使用了一片128k×8的高速静态RAM(型号为IS63LV1024,读写周期为15ns)作为数据暂存器。FPGA与CY7C68013、RAM、VT6103的硬件连接见图2。

    从USB收到的来自上位PC机数据最终将被远端安装在LED显示屏屏体内的显示控制部件中,当RAM被填入预定数量的显示数据时,FPGA会从RAM中连续取出数据并送到与VT6103连接的4位数据输出端口,VT6103收到4位数据后,其内部会自动按照IEEE802.3规范对该数据进行4B5B转换4位数据数据码为5位数据码重新编码,然后将5B码送扰频器,再经片内整形后输出给以太网变压器,以驱动五类双绞线并将数据传给远端显示控制部件。

    6 软件设计

    本系统的外部主设备接口逻辑采用VHDL硬件描述语言,利用ALTERA公司QUARTUS II开发平台进行设计。软件设计是以FPGA为核心的,主要由下面3个并行执行的部分组成,在此每个部分分别设计为一个VHDL进程process:

    进程1:外部主设备FPGA同步读写CY7C68013“大”端点FIFO的时序逻辑 并把接收到的数据存入FPGA FIFO中。这部分只需要根据Slave FIFO读写时序进行设计,Slave FIFO时序图如图3所示。

这里需要引起注意的是两个建立时间:其一是tOEon,这个建立时间是从SLOE拉低到 Slave FIFO数据有效。其二是tSRD ,即从SLRD信号拉低到第1个同步读时钟上升沿的时间。这两个建立时间应大于等于CY7C68013数据手册规定的时间。由于该FPGA有59904 bit的片上RAM,这里使用其中4k byte的 RAM来生成FIFO结构,这样从Slave FIFO同步接收到的USB数据就可以直接存入FPGA片上的4k FI-FO中。图4是此进程的设计流程图。

    进程2:用于完成将FPGA的FIFO中数据写入128kB RAM的设计。只要FPGA的FIFO中有数据,则该进程启动,FPGA会连续地把片内FIFO中取出的数据存入片外128kB的高速静态RAM (IS63LV1024)中,这个片外的128kB RAM分为两个64kB区,两个区轮流接收来自FPGA片内FIFO的数据,当一个区接收完规定的显示数据后,FPGA会置位send data flag去启动进程3,如果FPGA片内FIFO中还有数据,则FPGA会把RAM切换到另一个区继续接收片内FIFO中的数据,其设计流程图如图5所示。

    进程3:此进程由send data flag信号启动,当发送数据标志被置位时,此进程启动。此后,FPGA开始从已完成显示数据接收的RAM区读取数据并送到4位宽度的数据输出口,此输出口与VT6103相连。VT6103以25MHz时钟每次接收半个字节(4bit),然后经片内4B5B编码、整形后将数据由差分输出口TX+和TX-串行输出,以把数据从USB2.0接口模块发给外部的显示处理模块。其设计流程图如图6所示。

    其中,VT6103 接收显示数据时序如图7所示。每次接收4bit后,芯片内部都将自动对每次接收到的4bit数据进行处理并以100MHz的时钟频率串行差分输出给以太网变压器。


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
DDR内存接口的设计与实现 (10-14)
基于DSP的高速数据采集与处理系统 (10-13)
ADSP-TS101外部总线接口技术 (10-19)
VICORDC/DC模块及其应用 (12-05)
基于共享存储体的多处理器间数据交换的几种方法 (12-05)
一种提高构件化嵌入式操作系统性能的方案 (09-28)
专用异步串行通信电路的FPGA实现 (09-05)
高速路由器的公平排队仿真模型的研究与实现 (06-16)
AD9764和高速FIFO在TMS320C6701系统中的应用 (06-23)
嵌入式数字存储示波器 (07-08)
基于LPM的高速FIFO的设计 (07-27)
一种12位双通道高速数据采集处理系统 (12-11)
基于FPGA的以太网MII接口扩展设计与实现 (12-12)
异步FIFO的VHDL设计 (01-03)
基于USB2.0的高速同步数据采集系统设计 (02-27)
基于蓝牙和多线程技术的网络化数采系统 (11-08)
USB2.0在视频压缩存储系统中的应用 (12-07)
在EPP模式下利用并口实现与DSP高速数据通信 (01-02)
高速大深度新型FIFO存储器IDT72V3680的应用 (12-26)
FLEX 10K系列EAD的应用 (12-14)
PCI 9054性能分析及外部FIFO的扩充 (12-17)
基于共享存储体的多处理器间数据交换的几种方法 (12-17)
异步FIFO设计 (12-21)
高速USB数据采集系统的设计 (08-14)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号