基于usb的led点阵显示牌设计.docx
- 文档编号:25379847
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:65
- 大小:1.76MB
基于usb的led点阵显示牌设计.docx
《基于usb的led点阵显示牌设计.docx》由会员分享,可在线阅读,更多相关《基于usb的led点阵显示牌设计.docx(65页珍藏版)》请在冰豆网上搜索。
基于usb的led点阵显示牌设计
1.绪论
1.1课题的提出及意义
LED点阵显示牌是由LED点阵组成的显示信息的产品。
它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、视角大、可视距离远等许多优点,其显示的内容由PC机传送过来,可以是图形文件和文本文件并以多种模式显示之,具有技术的先进性和系统的可靠性,因而广泛应用于证券、交通、医院、银行等公共场合[1]。
现代生活对LED点阵显示牌的要求日益提高。
除了性能好以外,还要求LED点阵显示牌能有其它特点,如使用方便、经济合理、安全可靠、掉电显示等。
目前常用的LED点阵显示牌输入信息固定,一般都是利用取模软件生成点阵字模在点阵上显示,不便于更新信息,普遍存在掉电后不能工作的缺陷。
现在的UART串行口虽然支持外插,但不能给外设供电,其速度太慢,远不能适用现今高速设备的发展需求。
USB(通用串行总线)的普及使其成为在各类便携式设备中进行数据传输的一种较好的选择。
因此,可以应用USB总线设计LED点阵显示牌并同时对其供电,但USB总线电源断开时,系统便不能工作。
若用锂电池自动切换供电,则可以解决以上的缺陷[2]。
基于此,本文提出了基于USB的LED点阵显示牌,它具有传输速度快、更新信息方便、设备安装和配置容易、易于扩展、能够采用总线供电、使用灵活等优点;外接的锂电池可迅速充电,提供工作电源,便于携带,基本上完善了LED点阵显示牌的功能,具有良好的应用前景和很高的实用价值。
本课题介绍的LED点阵显示牌可应用于会议展牌、学生牌、电影院展示牌、广告显示牌,首先在上位机编辑汉字并通过USB适时发送汉字的点阵字模,然后由单片机控制汉字的静态与动态显示。
该显示牌可实现多个汉字的显示。
USB接口控制芯片采用Cygnal公司推出的一款新型USB微控制器芯片C8051F320,锂电池充电芯片采用凌力尔特公司新推出的多功能电源管理器件LTC3555。
1.2USB的发展状况
1.2.1USB的发展现状
USB(UniversalSerialBus)即通用串行总线,在传统的计算机组织结构基础上引入了网络的某些技术,可以说是计算机外设连接技术的重大变革。
1995年,由Compaq、DigitalEquipment、IBM、Intel、Microsoft、NEC和NorthernTelecom七个在计算机与通信工业领先的公司组成联盟,并建立USB-IF(USB实施者论坛)来推进采用USB标准的兼容设备的开发。
它最初是为将电话接入PC机而设计的,然而由于这种新的连接标准性能优良,USB-IF决定将USB推广为一种计算机标准。
在1996年,USB-IF公布了USB规范1.0,这是第一个为USB产品提出设计要求的标准。
1998年,在进一步对以前版本的标准进行阐述和扩充的基础上,发布了USB标准1.1。
而此时联盟仅剩四个核心公司,它们是Compaq、Intel、Microsoft和NEC。
由于USB的方向偏离了通信,IBM和NorthernTelecom退出了该联盟。
USB2.0发布于1999。
由于USB2.0的发布,HewlettPackard、Philips和Lucent三个公司加入了联盟,从而使联盟的核心成员数重新恢复为七个。
之后,USB一直持续不断地增长。
USB2.0向下兼容USB1.1,还支持宽带宽数字摄像设备及下一代扫描仪、打印机及存储设备。
在1998年8月,Apple公司推出了仅有USB端口的iMAC,曾引起整个业界的轰动,并使该公司的股票价格高涨。
今天的USB-IF已经拥有600多个成员公司,几乎包括所有世界上的PC和外设制造商。
在美国,100%的PC机与膝上型电脑配备有Windows98支持的USB接口。
尽管该操作系统不具备所有外设的驱动程序,用户却并不太在意这一点,因为USB仍可提供仅需一个步骤的简易安装。
过去两年内,其它的操作系统,.像MacOS和开放式UNIX,也已经加入了USB之中。
USB由于速度快、通用性好、扩展性强、功耗、稳定、易开发等众多优点,正逐步取代传统的接口总线而应用与计算机的各种外设中,特别是2000年第一季推出USB2.0标准后,USB接口的应用将会更加广泛。
1.2.2USB的优点
USB标准可以针对不同的价格性能比要求,提供不同的选择,针对相同的系统和部件提供不同的功能,可以说USB是外设发展的必然趋势,其特性在于以下几点:
1)速度快
USB有全速和低速两种模式。
主模式为全速模式,速率为12Mb/s,从而使一些要求高速数据的外设,如高速硬盘、摄像头等,都能统一到同一个总线框架下。
另外为了适应一些不需要很大吞吐量,但有很高实时性要求的设备,如鼠标、键盘、游戏杆等,USB还提供低速方式,速率为1.5Mb/s。
不管是全速还是低速模式,速度都比RS232接口快得多。
2)易扩展
USB采用的是一种易于扩展的树状结构,通过使用USBHub扩展,可连接多达127个外设。
标准USB的电缆长度为3米(5米,低速)。
通过Hub或中继器可以使外设距离达到30米。
3)支持热插拔和即插即用
在USB系统中,所有的USB设备可以随时接入和拔离系统,USB主机能够动态地识别设备的状态,并自动给接入的设备分配地址和配置参数。
这样一来,安装USB设备不必再打开机箱,加、减己安装过的设备完全不用关闭计算机,也不必像过去那样,需要手动跳线或拨码开关来设置新的外设。
4)USB提供总线供电和自供电两种供电形式
当采用总线供电时,不需要额外的电源。
USB主机和USBHub有电源管理系统,对系统的电源进行管理。
5)使用灵活
USB共有4种传输模式:
控制传输(Control)、同步传输(Synchronization)、中断传输(Interrupt)、批量传输(Bulk),以适应不同设备的需要。
6)支持多个外设同时工作
在主机和外设之间可以同时传输多个数据和信息流。
7)成本低
USB设备一般都比同类功能的设备成本低。
8)有很高的容错性能
它具有事务处理错误检测机制,能够对有缺陷的设备进行认定,对错误的数据进行恢复或报告。
总之,USB是一种方便、灵活、简单、高速的总线结构[3]。
1.3LED点阵显示牌简述
随着通信技术的迅猛发展,以嵌入式计算机为核心的LED点阵显示牌已经在LED点阵显示领域中占到了统治地位。
在生活工作中,可用来及时的传播信息和电视,尤其用来播放广告、产品介绍等更有良好的经济效益和社会效益。
现在常用的LED点阵显示牌有两种:
脱机型与联机型。
脱机型移动方便,适宜作广告、宣传牌、显示牌,但信息修改更新不便;联机型信息修改方便,时效性强,适用于要求快速发布信息的场合[4]。
本课题研究的LED点阵显示牌利用一台微机作为上位机,可实时地将上位机上用户输入的汉字生成汉字的点阵字模,并通过USB传输给单片机,存储在单片机片内FLASH,然后由单片机控制汉字在16块LED点阵上的显示(下位机),外带的锂电池支持掉电显示,集合了以上两种的优点。
故基于USB的LED点阵显示牌具有很大的应用前景。
1.4方案论证
在进行一个USB设备开发之前,首先要根据具体使用要求选择合适的USB控制器。
目前,市场上供应的USB控制器主要有两种:
带USB接口的单片机(MCU)或纯粹的USB接口芯片。
带USB接口的单片机在应用上又可以分成两类,一类是从底层设计专用于USB控制的单片机,比如Cypress公司的CY7C630(低速)、CY64X13(全速),但由于价格、开发工具以及单片机性能有限等问题,所以一般不选用。
另一类是增加了USB接口的普通单片机,例如Intel公司的8X931(基于8051)、8X930(基于高速、增强的8051)、Cypress公司的EZ-USB(基于8051),Cygnal公司的C8051F32X(基于高速,增强的8051),选择这类USB控制器的最大好处在于开发者对系统结构和指令集比较熟悉,开发工具简单。
纯粹的USB接口芯片仅处理USB通信,必须有一个外部微处理器来进行协议处理和数据交换。
典型产品有Philips公司的PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888等。
USB接口芯片的主要特点是价格便宜、接口方便、可靠性高,尤其适合于产品的改型设计(硬件上仅需对并行总线和中断进行改动,软件则需要增加微处理器的USB中断处理和数据交换程序、PC机的USB接口通信程序,无需对原有产品系统结构作很大的改动)。
但其明显的缺点是至少需要两个芯片(MCU和USB芯片),电路设计和调试比较复杂,不利于快速开发一个项目[5]。
根据本系统的设计要求和实际情况,选用Cygnal公司的C8051F320芯片来完成USB数据传输。
选用此芯片将大大简化硬件电路、减小外设体积,而且还可以提高产品的可靠性。
该芯片具有较快的处理速度和较大的存储容量,并且具有在系统可编程的功能,是比较理想的选择。
锂电池充电部分我们选用凌力尔特公司的LTC3555,它是一种应用于实现锂电池或聚合物电池快速充电的电源管理器件,速度快、低功耗,低噪声,使用灵活且体积小,支持I2C总线,采用它可以节省总线个数,节省C8051F320引脚。
使用该芯片作为电源管理是较理想的选择。
2.USB系统简介
2.1USB系统组成
一个USB系统主要由三个部分:
USB设备,USB主机和USB互联[6][7]。
1)USB设备
USB有两种设备类:
集线器(Hub)和功能部件(Function),如人机接口、打印机、图像扫描仪或海量存储器等各种设备。
当设备被连接、编号后,该设备就拥有一个唯一的USB地址,所有USB设备必须在零号端口上提供一个特殊的管道,用来连接USB设备的USB控制管道。
在零号端口上,控制管道中的信息应完整地描述USB设备,该信息分为标准信息、类别信息、USB厂商信息。
此外,每个USB设备均需提供USB的控制和状态信息。
集线器是将设备连接在一起的集中器,可让不同性质的设备连接在USB端口上。
集线器可将一个连接点转化成多个的连接点,只有集线器可以提供附加的USB的连接点,集线器极大简化了USB的互连复杂性。
功能部件是一种能通过总线进行发送、接收数据和控制信息的USB设备,为主机提供具体的功能。
它一般是一种分开的外设,通过一根电缆接插在集线器的某个端口上。
USB设备必须能提供标准的USB接口,包括能理解USB协议,响应标准USB操作,能对设备进行配置和复位。
此外,每个功能设备都应包含设置信息,用来描述该设备的性能和资源要求,以便在使用功能部件前主机对其进行设置。
2)USB主机
在任何USB系统中,只能有一个主机。
USB和主机系统的接口称作主控制器,主控制器可由硬件、固件和软件来组合实现。
根集线器集成在主机系统内,用来提供一个或多个连接点。
USB的主机通过主控制器与USB设备进行交互操作。
主机负责完成以下工作:
(1)检测USB设备的连接和移除;
(2)管理主机和USB设备之间的控制流;
(3)管理主机和USB设备之间的数据流;
(4)收集状态和动作信息;
(5)给接上的USB设备提供能量。
主机上USB的系统软件管理USB设备和主机上与该设备有关的软件之间的交互作用。
USB系统软件与设备软件间有五种相互作用方式:
(1)设备编号和设置;
(2)同步数据传输;
(3)异步数据传输;
(4)电源管理;
(5)设备和总线管理信息。
只要可能,USB系统软件就会使用当前的主机软件接口来管理上述几种方式。
3)USB的互连
USB的互连是指USB设备与主机之间进行连接和通信的操作,它决定了USB的体系结构。
主要包括以下几方面:
(1)总线的拓扑结构:
USB设备与主机之间的各种连接方式;
(2)内部层次关系:
USB的任务在系统的各个层次中执行时按照功能叠放的层次;
(3)数据流模式:
数据在系统中通过USB从产生方到使用方的流动方式;
(4)USB的调度:
通过对可使用的连接进行调度,提供资源共享并支持同步数据传输。
2.2总线拓扑结构
USB将USB设备和USB主机连接在一起,USB的物理连接是一个分层的星型拓扑结构。
通过网络集线器进行连接,集线器位于星型的中心。
从主机到集线器或功能部件,或从集线器到集线器或功能部件之间,每条接线段是点到点连接。
USB的拓扑结构如图2-1所示。
图2-1USB总线拓扑结构
由于集线器和电缆所能允许的传播时间上的限制,所允许的最大层数为7层,包括根层在内。
在这7层中,在主机和任何设备之间的通讯线路上可支持最大5个非根层的集线器。
所以,如图2-1所示,占有2层的一个组合设备将它接到第7层时,将不能工作。
在第7层只能接具体的功能器件。
2.3物理接口
USB采用四线电缆,其中两根用来作数据传送的串行通道,其余两根用来为下流(Downstream)设备提供电源如图2-2所示。
图中D+、D-是串行数据通信线,VBUS和GND作为电源线。
USB是基于令牌的总线,类似于像令牌环网络或FDDI基于令牌的总线,USB主控制器广播令牌,总线上设备检测令牌中的地址是否与自身相符,通过接受或发送数据给主机作响应,USB主机通过支持悬挂/恢复操作来管理USB总线电源[8]。
图2-2USB电缆
3.USB协议简介
3.1USB数据流模型
任何USB通信都是架构在主机的缓冲区与接收设备的端点之上的,数据在这两者之间的管道之间传输,其数据流模型见图3-1。
本节将依次介绍端点、管道、包、事务等概念[9]。
图3-1USB数据流模型
3.1.1端点
每个逻辑设备都可视为一系列端点的集合,端点标志着主机与设备通信的结束点。
每个端点都有一个序号,序号值的范围在0到14之间。
其中,0号端点专用于控制传输,不可为主机配置。
其他非零端点需在主机配置后,方可访问。
端点根据数据流动的方向又可分为IN端点和OUT端点,因此,0号端点又分为控制IN和控制OUT两类。
其他端点的属性,如方向、缓冲大小等的设置则在相应的寄存器中进行。
3.1.2管道
主机与设备的端点之间的连接称为管道。
USB系统软件与端点0之间的连接称为缺省控制管道(DefaultControlPipe),用于配置和控制设备;客户软件则使用一组管道与接口通信。
管道代表通过内存缓冲区在客户软件与设备端点之间移动数据的能力,其具有如下两种模式。
1)流(Stream)管道:
流管道中传输的数据不具有USB定义的结构,它可以用作批量传输、同步传输和中断传输,且通常是单向的。
因而,如果客户软件要完成同设备的IN传输和OUT传输,则必须使用两条管道分别进行IN传输和OUT传输。
2)消息(Message)管道:
在消息管道中传输的数据具有USB定义的结构,它一般只用作控制传输的管道,且是双向的,既支持IN传输又支持OUT传输。
USB设备中的0号端点所实现的缺省控制传输管道就是这样的消息管道。
USB系统软件确保不会有多个请求同时发送到消息管道。
设备每个消息管道在同一时刻只能响应一个请求。
主机上多个客户软件可以通过缺省控制管道提出请求,但是这些请求是按照先进先出的顺序发送到设备。
3.1.3包
“包”是USB通信的最基本数据单元。
每一个包,基本上包含了一个完整的USB信息。
按照包在整个USB数据传输中的作用不同,包主要分为3类:
令牌包、数据包和握手包。
包类型不同,其所包含的字段也不同,但第一个域都是同步域,且它在总线上传输时,总是以SOP信号开始、以EOP信号结束,如表3-1所示。
表3-1包的组成
同步域
具有特定格式的域
EOP
令牌包定义了数据传输的类型,数据包中包含需要传输的数据,握手包则用
于指明了数据接收的状态。
1)令牌包(TokenPacket)
由于USB的事务是由PC主机启动的,所以在每一个事务中必须以下列的5个数据域所组成的令牌包为开始,执行通信协议的前导工作。
令牌包格式如表3-2所示。
表3-2令牌包格式
8位
8位
7位
4位
5位
SYNC
PID
ADDR
ENDP
CRC5
2)数据包(DataPacket)
数据包由PID域、0-1023字节长度的数据域和16比特的CRC检查域组成,数据包格式如表3-3所示。
表3-3数据包格式
8位
8位
0-1023位
16位
SYNC
PID
DATA
CRC16
其中数据包的PID数据域包含两种类型:
DATAO和DATA1,根据USB协议规定,最初的数据封包都是以DATAO位开始,其后才是DATA1,然后以此方式交替切换,这个动作称为“DataToggle”。
如此就可以保持整个传输过程中主机能与设备维持同步。
3)握手包(HandshakePacket)
握手包用于表示事务(Transaction)处理的最后时相,用来报告事务处理过程中接收方的状态。
它的结构如表3-4所示,没有数据字段和CRC字段,只有同步字段和标识符字段用来表示数据传输状态。
握手信号封包的PID数据域包含ACK,NAK,STALL三种类型名称。
也就对应了ACK握手信号封包、NAK握手信号封包以及STALL握手信号封包。
表3-4握手包格式
8位
8位
2-3位
SYNC
PID
EOP
3.1.4事务
事务处理是USB总线上数据传输的基本单位,主机与USB设备之间的一次通信可能要用到1个或者多个事务。
事务处理由3个阶段组成:
令牌阶段、数据阶段和握手阶段。
事务又分为IN事务、OUT事务、SETUP事务、PING事务、SOF事务、SPLIT事务和PRE事务。
针对本课题,选取最为重要的IN、OUT、SETUP、SOF等4个事务来介绍[7][10][11]。
1、IN事务
IN事务用于完成USB设备到主机的数据传输。
其内容可由图3-2表示。
正常情况下,USB设备将向主机发出数据包。
USB设备不能成功地响应主机发出的IN令牌包时,USB设备的响应有:
当收到的IN令牌包已损坏,则USB设备不应答;如USB设备暂时不能向主机发送数据,则返回NAK握手包;当USB设备的这个IN端点被停止了,则向主机返回STALL握手包。
图3-2成功传输的IN事务处理
对主机而言,正常时应接收来自USB设备的数据,并以ACK握手。
但当主
机暂不能接收数据或检测到数据包已损坏,则会丢弃数据包,不做任何响应。
2、OUT事务
OUT事务用于完成主机到USB设备的数据传输。
正常情况下,USB设备成功接收来自主机的数据,并以ACK握手返回。
当USB设备收到已损坏的OUT令牌包和数据包,则设备将不做答。
当USB设备的该端点已被停用,它将会向主机返回STALL握手包。
当USB设备和该数据包的数据触发位不匹配,则USB设备则会丢弃数据,返回ACK握手。
3、SETUP事务
SETUP事务是一种特殊的事务,它用于定义主机到USB设备的数据传输。
由于它的数据格式较为特殊,只用于在USB控制传输的建立阶段。
当USB设备
接收到的SETUP令牌包有误,USB设备则忽略该信息包,且不做任何响应。
一旦USB设备接收了SETUP令牌包,则一定要接收后面的数据包并向主机返回ACK包握手。
与IN、OUT事务不同的是,USB设备不能对SETUP事务处理返回NAK或者STALL等握手包。
4、SOF事务
SOF事务表示USB帧/小帧的开始,它仅包含主机或者集线器事务翻译器发
出的SOF令牌包,而不需USB设备返回任何握手。
对低速/全速传输而言,帧的长度为1ms,即每1ms产生一次SOF令牌包。
对高速传输而言,帧长度为125μs,SOF令牌包每7个小帧产生一次。
3.2数据传输模型
USB定义了4种传输类型,即控制传输、中断传输、批量传输和同步传输。
表3-5是这4种数据传输类型在端点类型、传输方向、传输数据的特点等方面的比较[12]。
表3-5USB四种传输类型的比较
传输类型
端点类型
传输方向
所传输数据的特点
控制传输
控制端点
IN或OUT
少量、无传输时间要求、传输有保证
批量传输
批量端点
IN或OUT
大量、无传输时间和速率要求
同步传输
同步端点
IN或OUT
大量、速率恒定、周期性
中断传输
中断端点
IN或OUT
少量或中量、周期性
对FLASH等存储介质进行读写操作,一般没有时间和速率的要求,一般都
采用批量传输方式进行传输。
3.2.1控制传输(ControlTransfer)
控制传输作为最重要同时也是最为复杂的传输类型,是所有USB设备都必须支持的传输类型。
待USB设备连接到主机上之后,主机借助控制传输来与设备交换信息、配置设备、读取设备描述符等。
控制传输由初始设置、可选数据和状态信息三个阶段组成。
其中,初始设置
阶段中,主机向指定的USB设备发送SETUP令牌包。
可选数据阶段中,主机则
发送具有USB定义格式的数据包。
在最后的握手阶段,USB设备则接收主机发
送给它的令牌包和数据包,并向主机返回ACK握手包。
一旦SETUP令牌包出错,USB设备就会忽略该信息包,也不会对返回任何信息。
而当设备接收了来自主机的SETUP包时,就一定要接收后面的数据包,同时必需向主机返回ACK握手包。
3.2.2批量传输(BulkTransfer)
批量传输支持在不确定时间进行的大量的数据通信,在移动存储设备中使用
广泛。
用于批量传输的端点决定其接收或发送的最大数据净负荷区大小。
USB规定最大的批量传输净负荷区的长度为8、16、32或64字节。
所有主机控制器都必须支持这几种字节长度作为最大长度,而对于超过此范围的数据长度可以不支持。
以BULKIN传输为例,当主机做好准备接收数据时,就会向USB设备发送
IN令牌包,并根据USB设备返回的数据来握手。
当USB设备在接收到令牌包后,发现此包损坏,将不应答。
若令牌包有效,则USB设备将返回DATAx数据包、NAK或者STALL握手包。
主机接收到有效的DATAx数据包,就会向USB设备返回ACK包;相反,如果接收的数据有误,数据包将被丢弃,主机不做应答,并重试该IN事务,但最多3次。
批量传输格式如图3-3。
图3-3批量传输格式
3.2.3中断传输(InterruptTransfer)
中断传输适用于传输数据量少、但服务周期固定的数据,常用来传输鼠标、
键盘操作的数据。
同批量传输类似,中断传输包括IN和OUT事务,并可分为令
牌、数据和握手三个阶段,但不一定要经历所有3个阶段。
其传输格式见图3-4。
图3-4中断传输模式
中断传输的数据不具有USB定义的格式。
因此在总线上进行中断传输时,必须使用数据触发机制来保证数据包收发同步,从而使数据能被正确接收。
3.2.3同步传输(SynchronousTransfer)
对于大量的、速率恒定且对服务周期有要求的数据,适合采用同步传输。
通常,对于音视频设备,如CD机、MP3等都采用同步传输的方式进行数据的传输。
在同步传输中,数据的及时收发相对其正确性更为重要,因此,同步传输只包含令牌和数据2个阶段,省去了握手这一步。
鉴于USB总线传输的误码率很低,即使偶尔出现错误情况,也都是在可以接受的范围内。
同步传输格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 usb led 点阵 显示 设计