产品 求购 供应 文章 问题

0431-81702023
LED
基于 ARM 和 FPGA 的 LED 显示屏控制系统的设计

摘要 : 根据 L ED 显示模块的结构特点 , 结合 CPLD 技术实现 L ED 屏的动态扫描显示 , 设计了基于 ARM FPGA L ED 显示屏控 制系统 ; 该系统以 ARM 芯片 S3C2440 为控制核心 , 在可编程逻辑器件 EP1C6 辅助下 , 完成了数据存储与更新、显示画面的刷新、动画 处理、循环显示 ; 并通过以太网实现与上位机的通信 ; 该系统支持 256 灰度级全彩 L ED 屏的文字、图片和动画的显示 , 同时可以存储丰 富的显示内容 , 能进行远程传输数据。

 关键词 : L ED 显示 ; 嵌入式 ; 可编程逻辑器件 ; 以太网

0 引言

近年来 , 随着平板显示技术不断进步 , 大屏幕 L ED 显示 屏己广泛用于体育场馆、机场、车站等场所 , 用于显示文字、 图形、动画及动态视频影像等多媒体信息[1 ] 。为满足显示区域 较大、显示内容切换频繁等相对较复杂的应用场合 , 目前以 FPGA 为核心的 L ED 屏控制系统[2 ]和以 32 位微处理器为核心 的 L ED 显示屏控制系统[3 ]已经应用于大屏 L ED 控制 , 但是以 FPGA 为核心的 L ED 显示屏控制系统设计实现起来比较复杂 , 并且需要以高性能的 FPGA 芯片作为基础。而以 32 位微处理 器为核心的 L ED 显示屏控制系统不够灵活 , 在改变 L ED 屏幕 显示尺寸时 , 需要大幅修改系统设计。

 本文提出了一种新型的嵌入式 L ED 彩色显示屏控制器的 设计方案 , 该方案采用 ARM9 芯片为主控制单元 , FPGA 芯 片为扫描控制单元 , 采用这个方案 , 可以有效简化显示屏的电 路结构 , 提高整个控制系统的灵活性和可靠性。

1 系统的组成和工作原理

该系统采用基于 ARM 核的新一代 32 位嵌入式 RISC 微处 理器和 SDRAM 组成控制中心 , FPGA 和双体 RAM 组成扫 描控制模块 , FLASH 作为存储器模块 , 采用以太网传输数据 , 组成 L ED 屏的控制系统。系统框图如图 1 所示。图片烧 写程序大致过程为 : 主机通过 TFTP 协议将图片传输给系统 以太网接口模块 , 以太网接口模块解析协议 , 接收图片数据 , 然后将数据传输给 S3C2440 , S3C2440 将接收到的数据写入存 储模块 NAND FLASH。在显示时 , S3C2440 读取 FLASH 中 的数据 , 通过 SPI 接口将数据传输给扫描控制模块 , 经扫描控 制模块处理后传输到 L ED 屏幕上显示。

2 系统的硬件设计

2.1 ARM 微处理器的选型

S3C2440 是基于 ARM920 T 核的一款处理器。它的特点具 体如下 :

( 1 ) ARM920 T 核 由 ARM9 TDMI , 存 储 管 理 单 元 (MMU) 和高速缓存三部分组成[4 ] 。其中 MMU 可以管理虚 拟内存 , 高速缓存由独立的 16 KB 地址和 16 KB 数据高速Cache 组成。

(2) 片上有一个 LCD 控制器 , 3 个通道的 UART2 通道 的 SPI 4 通道的 DMA

(3) 支持 NAND FLASH 系统引导 , 系统管理器 (片选逻 辑和 SDRAM 控制器)

(4) 处理器工作频率最高可以达到 400 M Hz

综合上述特点 , S3C2440 处理器的工作频率极大地提高系 统的运行速度 , 这个频率能够使处理器轻松的运行于 Win2 dows CE , Linux 等操作系统以及较为复杂的信息处理 , 可以 大大减少软件开发时间 ; S3C2440 强大的内部中断 , 便于 TCP/ IP 的轮询调用 ; S3C2440 117 个通用可编程多功能的 I/ O 端口可方便与以太网控制器 RTL8019AS 连接 ; S3C2440 有着丰富的外设资源 , 可以大大简化外围电路中的扩展部分 , 降低了系统的复杂度 , 所以选定 S3C2440 为该系统的 CPU

2.2 SDRAM 接口电路的设计

SDRAM (Synchronous DRAM) 即同步 DRAMSDRAM 在系统中主要用作程序的运行空间 , 当系统启动时 , MCU 首 先从复位地址 0x0 处读取启动代码 , 在完成系统的初始化后 , 程序代码调入 SDRAM 中运行 , 以提高系统的运行速度。同 时 , 系统及用户堆栈、运行数据也都放在 SDRAM 中。

本系统中 SDRAM 选用 SAMSUN G公司的 K4S561632D , 它是 4Mxl6bitx4bank 的同步 DRAM , 容量为 32MB [5 ] 。用 2 K4S561632D 并联构建 32 SDRAM 存储器系统 , 其中一 片为高 16 , 另一片为低 16 , 使数据总线宽度达到 32bit , 总容量达到 64MB , 将其地址空间映射在 S3C2440 bank6 , 即将 S3C2440 bank6 片选信号接至两片 K4S561632D CS 端。S3C2440 与其中一片 SDRAM 的连接如图 2 所示。

2.3 以太网接口电路设计

为解决数据的远程传输问题 , 设计了以太网接口。以太网 电路模块采用 Real Tek 公司生产的、带有即插即用功能的全双 工以太网控制器 RTL8019AS , S3C2440 进行以太网扩展 , 其主要特征包括 : 支持 IEEE802. 3 ; 全双工收发同时可达 10Mb/ s; 内置 16 KB 的用于收发缓冲的 SRAM ; 支持 8/ 16 位 数据总线、8 个中断申请线及 16 I/ O 基地址选择 ; 支持 10Base510Base210BaseT 并能自动的检测所连接的介质。 RTL8019AS S3C2440 选择跳线模式 , 不使用 EEPROM , 也 不使用 ISA 总线 , 各引脚接线方式为 J P 接高电平 , BS [ 4. . 0 ] 接地 , 只使用 BROM ; IOS [ 2. . 0 ] 接地 , 内部寄存器基地址从 300 H 开始 ; 使用 IRQ2/ 9 做中断请求引脚 ; AUI 接低 电平 , 接口采用 BNC 方式 , 使用双绞线或同轴电缆 ; PL1 , PL0 接低电平 , 自动检测以太网接口类型 ; TPIN TPOU T 信号经耦合器 FB202 , 通过 RJ45 连接到外部以太网。

2.4 存储模块的设计

屏控制系统需要存储二进制可执行代码 , 还需要存储大量 文字和图片等数据。它要求在系统掉电之后数据不丢失 , 而且 需要较大的存储容量 , 因此系统选用 FLASH 存储器。考虑到 大容量的 NOR FLASH 成本较高 , NAND FLASH 具有良 好的性价比和系统接口 , S3C2440 支持 NAND ROM 启动 方式 , 所以本系统存储模块选用了三星公司的大容量、高可靠 NAND FLASH 存储器 K9F1208。该器件存储容量为 64MB , 除此之外还有 2048 KB 的空闲存储区[6 ] 。其 I/ O 口为数据线和 地址线的复用端口。S3C2440 NAND FLASH 的接口电路如 图 3 所示。

2.5 扫描控制模块的设计

扫描控制模块是 L ED 显示控制系统中的重要组成部分 , 由 于 L ED 屏显示是连续高速进行的 , 在实时地完成图像的高速扫 描的同时要接收新的数据 , 以便更新屏幕 , 因此要有高速数据 缓存处理电路 , 以防止在扫描过程中丢失数据。该模块由一片 FPGA 和双体 RAM 构成。实现对 S3C2440 输出的 RGB 数据进 行缓冲 , 然后在同步信号的控制下 , 对双体 RAM 进行乒乓读 写操作。所谓乒乓操作就是当 FPGA 读取 X RAM 中的数据 时[7 ] , 同时往 Y RAM 中写入数据 , 反过来 FPGA X RAM 时进行 Y RAM 的读操作 , 这样提高了 FPGA 处理数据 的速度 , 实现了图像的高速扫描和新数据的同时接收。

速度 , 实现了图像的高速扫描和新数据的同时接收。 其中 , 模块中的 FPGA 选用的是 Cyclone EP1C6 [8 ] , 它是 Altera 推出的一款高性价比 FPGA , 其密度为 5980 个逻辑单元 (L E) , 包含 20 128 ×36 位的 RAM (M4 K 模块) , 总的 RAM 空间达到 92160 位。内嵌 2 个锁相环 ( PLL) 电路和一个 用于连接 SDRAM 的特定双数据率接口 , 工作频率高达 200 MHz。用户可用 I/ 0 管脚为 185 , 很好地满足了系统需要。

系统 L ED 的显示分辨率 128 3 64 , 每帧图像需要容量为 192k , 系统 选 择 IDT 公 司 的 型 号 为 IDT71V3577 的 高 速 SRAM , 它的容量是 128 Kx32bit , 所以需要 2 IDT71V3577 方可存储一帧图像。因此系统采用 4 IDT71V3577 组成双体 RAM 存放显示数据。

扫描控制逻辑电路设计结构如图 4 所示。地址控制器产生 写显示存储器的写入地址和存储器的读出地址 , 由读写控制器 来决定是把写数据及写地址同存储器连接还是把读数据及读地 址同存储器连接。为满足该屏图像显示的需要 , 显示控制电路设计成灰度显示模式。经过灰度译码将 4 位并行数据转换为 16 L ED 显示屏所需的有灰度信息的串行数据。

由于 X , Y两组存储器进行乒乓操作 , 在接收一帧并行数 据的时间内把译码后的 16 位串行数据流送往 L ED , 输入的 有效数据流速率为 2 Mbit/ s , 读出数据流的速率就达到 32 Mbit/ s。若将 32Mbit/ s 的串行数据流直接送给显示屏 , 则速 率太高而使得无法处理。此系统的显示屏为 128 ×64 , 系统采用 8 行扫描方式 , 整个扫描区域由 16 8 ×64 列的 扫描单元组成。16 个扫描单元同时进行扫描 , 则可以降低数 据流的速率。数据按时序写入存储器 , 读出后经灰度译码变为 红、绿、蓝三条 32 Mbit/ s 的串行数据流 , 供扫描显示用。处 理后的串行数据流的速率为 32/ 16 = 2 (Mbit/ s) , 可供显示电 路使用。当时序写入存储器后[9 ] , 不能按原地址顺序读出。要 控制读出时序 , 让地址跳动地读出数据 , 即读出顺序为 : 1 扫描单元中的第 1 个字节 , 2 个单元的第 1 个字节 , …, 16 个单元的第 1 个字节 ; 再读出 116 单元的第 2 个字节 ; 然后读出 116 单元的第 3 个字节 , 以此类推 , 直至读完为 止。这些操作都由读写控制器和地址控制器完成。同步控制器 同时产生时钟信号、锁存信号及行扫描信号。

3 系统软件设计

整个系统的软件包括两部分 : 上位机应用软件和嵌入式控 制单元软件。上位机软件编辑在 L ED 显示屏上显示的数据信 息 , 并实现与下位机的通信 ; 嵌入式控制单元软件实现了数据 接收和存储、数据输出和图像显示方式变换 , 从而实现了对 L ED 屏的控制。

3.1 上位机应用软件

上位机应用软件用 Visual C + + 编写 , 主要实现显示信息 的编辑与通讯的功能。该软件运行于 Windows 98/ N T 环境下 , 有友好的图形用户界面 , 方便用户使用。完成的功能有 :

(1) 对显示信息进行编辑、修改功能 , 也可以直接调用 WINDOWS 中的 256 色画图文件 ( 3 . bmp)

(2) 在上位机上对显示的内容进行预览 , 以保证有较好的 显示效果。

(3) 依照上位机与以太网接口模块的协议 , 将信息传输给 系统以太网接口模块 , 从而实现显示数据的更新。

3.2 嵌入式控制单元的软件

嵌入式控制单元的软件实现以下三大功能 : 数据接收和存 储、数据输出和图像显示方式变换。

(1) 依照显示屏与上位机之间的通讯协议 , 与上位机进行 通讯 , 接收显示数据 , 存入 Flash 存储器。

(2) 将待显示的数据从 Flash 存储器中取出 , 对数据进行 处理 , 实现上移、下移、左移、右移等丰富多彩的图像显示 效果。

(3) 通过 SPI 接口将数据传输给扫描控制模块 , FPGA 通 过串并转换等将数据转换成适合 L ED 屏驱动电路格式的数据 , 然后传到 L ED 屏幕上显示出来。

4 总结

与传统的基于普通单片机的 L ED 屏控制系统相比较 , 该 系统在不显著增加系统成本的情况下 , 可支持 256 灰度级的全 彩图文信息的显示 , 可以播放全彩动画 ; 可存储较大容量的数 据 (64MB) ; 通过以太网快速传输数据 , 还可以组建局域网 , 实现远程控制和管理。该系统为显示区域较大、显示内容切换 频繁的大屏幕 L ED 显示控制系统提供了良好的解决方案。