基于FPGA的LCD显示远程更新的设计方案及原理图
扫描二维码
随时随地手机看文章
一 设计概述
1.1目标领域和主要应用
如今,交通在现代人的生活中所占比重越来越重要。如何安全,高效的利用道路资源是每个人都要面对的问题。现有车载GPS导航只能查看到道路走向信息,却不能查看到道路上的各种突发情况,比如交通事故、堵车现象、交通临时管制、禁止部分车辆通行、临时禁止左右转、道路维修、道路更改的情况。这时如果有能够实时更新并对外发布和显示交通信息、道路状况信息和设施状况等,能起到减少堵塞程度,提高道路通行能力的作用。也间接提高了交通运输,人们出行的效率。
该项目是基于FPGA的LCD显示远程更新就可以用于智能交通提示,实时发布和显示各路段路况信息。为交通运输业及人们的出行带来极大的便利。
1.2市场分析
改革开放30多年来,我国经济持续快速发展,城市化、现代化的进程不断加快,很多城市的机动车保有量以年平均20%的速度飙长,导致了目前国内交通供求关系的严重失衡、交通拥挤、交通事故增多、环境日益恶化等已经成为我国城市面临的严重问题。如何治理交通拥堵也成了一个重大的国计民生问题,面对国内大中城市的接连“暴堵”,“十二五”交通规划或将在年初推出。智能交通也应运而生,迎来了新时代。现有的交通提示系统主要体现在GPS、交通信息网、铁质广告牌、交通广播台等方面,每种设计都有他自身的优势与劣势。
下面是对市场上一些常用的智能交通的应用分析:
GPS:
优点:GPS是目前应用最为广泛的智能交通,它最强大之处是道路导航功能,在汽车上装一个GPS就可以知道自己的所在位置。输入终点,它会显示最近的最为便捷的路线图。而且GPS操作起来方便快捷,所以一直都得到了广大司机的青睐。
缺点: GPS的成本较高,不是每辆车都可以配备上的,而且GPS对于道路情况的更新较慢,对于突发的路况信息如临时交通管制等不能及时的反馈给司机,从而导致不必要的麻烦。
交通信息网:
优点:各地交通网等信息要到各地网站上去看,信息会每天进行实时更新,只要有网络就可以查询,无论是台式机还是笔记本,又或者是手机都可以查询,使用起来比较方便。网络查询可以根据自己的需求进行查找,针对性和自主性较强。
缺点:如司机当时没有电脑,或者没有网络就不能及时查看到路况信息;并且在行车中上网会影响行车安全。
铁质广告牌:
优点:铁质广告牌适合反馈一些因大型的道路整修而导致的道路不通,铁质广告牌体积较大,放置在重要路段的绿化带上,清晰醒目,并且不会应为天气原因而影响广告牌的正常显示。
缺点:过程比较繁琐,首先要通过工作人员确定道路整修,将信息传达给工人,工人再根据情况制作广告牌,完成后放置到指定的路段,道路畅通后还要将广告牌移走,会消耗大量的人力、物力、财力。不能做到实时更新。
交通广播台:
优点:交通广播台可以发布一些及时的路况信息,司机可以开着车收听最新的路况信息,也不会影响司机的正常驾驶,而且交通台可以接听司机的提问,司机将一些路况的信息反馈给交通台,有交通台去提醒其他要通过此路段的司机,从而形成了资源共享模式。
缺点:交通广播电台可以发布一些及时的路况信息,但司机在驾车时收听广播容易发生危险,造成交通事故。并且广播电台不能针对分布在各个路口的司机发布他们需要的路况信息。导致司机依旧不可以及时的调整路线。
基于FPGA的LCD显示的远程更新,可以将公路总监控中心的服务器上的路况信息通过IP编码的方式传输到LCD上显示。在重要的路段可以提醒司机调整路线,FPGA运算速度快,可以降低系统的响应时间。在重要的路段都有LCD显示,当有路段因抢修或堵车等需要暂停通行时,只需要在公路总监控中心的服务器上修改一下相应内容即可。不再需要花费大量的时间及人力,物力,财力来制作广告牌放在路口进行提示;及时的更新也可以弥补GPS导航不能及时显示路况的不足;避免了司机在行车中时刻收听交通广播而分散注意力,从而消除了潜在的危险。
1.3方案特征
该项目叫做基于FPGA的LCD显示的远程更新,主要功能如下
用一台电脑通过网线就可以对远程的LCD显示器进行显示内容的更新。
可以通过终端操作来重点显示某路段的突发情况。
可以根据需要重点查看一个路段的路况信息。
采用网线传输路况信息进行显示,有利于对各个LCD模块进行网络化管理。
1.4 系统亮点
畅通的网络数据传输及实时内容更新。
采用TCP/IP协议及FTP协议传输数据,降低维护及升级成本。
采用PFGA来进行远程LCD显示更新,有效降低系统的响应时间。
支持特殊路段重点显示
支持用户根据需要重点查看某路段。
二 设计模型
2.1 应用场景
智能交通提示最重要的应用场合就是城市公路系统。比如在一个路段的十字路口,在正常情况下司机会按照即定的路线行走。但如果有一个LCD显示牌,提前告知司机四条路段的路况信息,比如某路段有临时交通管制,禁止车辆通行,这时司机就可以提前避开,绕路而行,这样就可以为司机节省大量的时间及不必要的往返路途。也能起到减少能源的消耗,汽车尾气的排放等。再比如,如果有LCD显示牌能提前提示某一路段有堵车现象。司机们就可以提前绕开堵车路段,避免堵车越来越严重的情况,减轻堵车的程度,使道路更加的流畅。
对于即将要发生的因修路等需禁止通行的路段,LCD的远程更新系统也可以通过按键操作重点提示。有四个按键对应着十字路口的四个方向,当有某个键被按下时,LCD显示远程更新系统就中断正常的循环显示,直接跳转到对应路段的信息显示一段时间后回正常循环显示模式。
图1功能演示图
2.2结构和系统模型
(1)基本结构图
要显示的内容通过TCP/IP进行传输与更新,没有了距离的限制,可以在远程实现更新。需要更新的LCD显示内容共有四部分组成,在一段时间内LCD只能显示其中的一个部分,并循环进行显示。由Nexys3开发板上的四个按键控制跳转。Nexys3 FPGA开发板通过RJ45口接收到信号后,PHY模块对IP包进行拆分,恢复成原始信号。由 MicroBlaze 软核存入Cellular RAM中,并按照顺序在LCD上进行分段显示。当MicroBlaze 检测到有按键按下时,MicroBlaze软核处理器响应中断,并进行中断处理,显示相应按键对应的部分信息,一段时间后,返回中断前的状态。
图2 基本图
(2)MicroBlaze结构图
图3 MicroBlaze软核结构图[!--empirenews.page--]
Ethernet MAC 接收计算机发送的数据后拆分IP包,然后送入MicroBlaze处理,由MultriProt Memory Controller控制存入 Local Memory中,然后按照顺序进行循环显示,显示时间由 Timer/PWM控制,当有按键按下时,通过GPIO传送入MicroBlaze软核,由 Interrupt Controller 控制进行中断,将当前信息存入堆栈,后跳转到按键指定处进行显示Timer/PWM控制显示一段时间后,返回中断前的状态继续正常循环显示.Customer Coprosser协助 MicroBlaze处理数据.
(4)以太网模块图
图4 以太网结构图
Nexys3基本系统生成器(BSB)支持包自动生成一个测试应用程序的以太网MAC。ISE的设计可以使用IP内核发生器用向导来创建一个以太网MAC控制器IP核。如果COL此信号置位时表示碰撞条件的检测MLL模式。在MLL模式中:
1.传输数据时的控制信号为TXCLK,当TXCLK为上升沿时控制器同步传输数据,TXEN为高电平时表明此时控制器传输的数据是有效的,若TXER为高电平时,说明传输检测到错误。
2.接受数据时,在RXCLK为上升沿时RXD[3:0]开始接受数据。控制信号RXCLK为上升沿接收数据时,接受信号RXDV为高电平。如果RXER为高电平时说接受检测到错误。
MDIO信号是表明串行管理接口的数据输入/输出,MDC是串行管理接口的时钟信号
(3) LCD模块的结构图
图5 LCD模块结构图
为尽可能减少针脚数从而达到管脚复用的目的,FPGA通过四位数据线接口控制LCD,由于在初始化之后,所有的数据和命令都以8位传送,故每8位命令被分成2个四位即高4位和低4位,先传高4位,后传低4位,其间间隔只是1us。数据线上的四个390Ω电阻是用来防止管脚超载起到保护的作用。下图是LCD的初始化流程图
图4 LCD初始化流程图
(5)按键模块
图6 按键模块图
系统完成初始化后,Spartan-6 FPGA的C4,D9,A8,C9管脚都是低电平,当有一个按键按下时,对应的管脚会变成3.3V高电平,按键扫描程序检测出高电平后跳转到相应的中断地址,执行中断程序。
(6)存储器模块
图7 存储器模块
本设计使用Nexys3 SPARTAN6开发板上的存储资源Cellular RAM 作为存储器,采用同步模式进行传输,时钟信号CLK低电平时有效。 在读模式时,写使能引脚WE为高电平,ADV,CRE,CE,OE,LB,UB为低电平,地址信号从ADDR[25:0]输入,保存的数据从DQ[15:0]输出;在写模式时,WE,ADV,CRE,CE,LB,UB为低电平状态,OE可以为任何状态。地址信号从ADDR[25:0]输入,需要存储的数据从DQ[15:0]端输入。[!--empirenews.page--]
2.3流程图
(1)系统流程图
系统流程图是描述了系统整个的工作流程。由于远程更新LCD,所以要用到以太网的传输,具体就是要使用TCP/IP协议,FTP协议对LCD远程更新。程序设计的时候默认状态是在LCD显示器循环播放信息,此外该项目利用开发板上的四个按键可以控制根据个人的需求重点显示特定的信息。因此软件系统的结构流程框图如下所示:
图8 系统流程图
从上面的软件流程图可知软件执行流程如下:如果交通总控室有需要更新的路况信息,则将需要更新的内容通过网线发送到Nesxy3开发板,经过信息处理模块对LCD显示内容进行更新。按键扫描程序如果检测到某个键按下,则进行相应的中断,跳转到相应的程序处执行特定显示。如果没有按键,则正常循环显示。
(2)数据流图
数据流图它以图形的方式描绘了信号数据(数据流)在系统中流动和处理的过程。数据流图对整个项目模块划分起到了关键性的作用,它反映出了系统必须完成的逻辑功能。其数据流图如下:
图9 数据流图
2.4技术指标
表1 技术指标
开发板 |
Nexys3 |
处理器 |
MicroBlaze |
通讯协议 |
TCP/IP FTP |
传输设备 |
网线 |
存储介质 |
Cellular RAM |
显示器 |
LCD |
三 设计实施方案
3.1队伍构成及分工
表2队伍分工
成 员 |
分 工 |
雷 健 |
TCP/IP及FTP协议开发 |
杨洪吉 |
MicroBlaze软核的开发 |
张作彤 |
LCD显示及各种文档的编辑 |
朱于增 |
TCP/IP及FTP协议开发 |
3.2 工具集
3.2.1硬件和软件需求
表3硬件需求表
Hardware |
Exact Version |
Xilinx Nexys3开发板 |
Nexys3 |
台式机 (可选) |
Windows XP SP3 Intel Celeon 2.8GHz 1G DDR2 |
usb jtag下载线 |
N/A |
串口延长线 |
N/A |
存储 |
Cellular RAM |
网线 |
RJ45 |
LCD |
12864 |
表4软件需求表
Software |
Exact Version |
Xilinx ISE foundation |
10.1 |
Xilinx EDK |
10.1 |
Modelsim |
6.1eSE |
Micro blaze |
V8.20A |
3.2.2硬件描述
Nexys3 Spartan6 开发板:由Digilent公司设计的基于Spartan-6芯片的FPGA开发板,板子上有丰富的外设,可以给此次项目的设计带来很大的灵活性.
台式电脑:装有Xilinx工具软件及modelsim软件.可以对PFGA进行开发.及对LCD显示内容进行更新.
各种线缆:网线用来与FPGA开发板进行通信,进行网络数据传输.USB用来下载bit文件进行FPGA的配置.
LCD:用来显示文字信息.
3.2.3软件描述
ISE Foundation : Xilinx集成开发环境,是与PFGA硬件交流的桥梁.它能够根据硬件描述语言或者电路模块连接图等等信息生成用于配置FPGA的配置文件,并下载到片子上去.
EDK:这是Xilinx用于嵌入式开发的工具套装,它主要用来对Nexys3板子的MicroBlaze软核进行配置和连接,搭建硬件系统.
ModelSim:VHDL或者Verilog 硬件描述语言的调试和仿真工具,可在ISE里面直接调用.在此次项目的设计里面它用来编写测试向量和测试该项目小组自己设计的IP模块
MicroBlaze:一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器软核,32位软处理器核是支持CoreConnect总线的标准外设集合非常适合设计针对网络,电信,数据通信等的嵌入式系统.