摘要 : 根据 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 个通道的 UART、2 通道
的 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) 即同步 DRAM。SDRAM 在系统中主要用作程序的运行空间 , 当系统启动时 , 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 基地址选择 ; 支持 10Base5、10Base2、10BaseT 并能自动的检测所连接的介质。 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 个字节 ; 再读出 1~16 单元的第 2 个字节 ; 然后读出 1~16 单元的第 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 显示控制系统提供了良好的解决方案。