当前位置:首页 > 工业控制 > 工业控制
[导读]可编程片上系统(SOPC)是一种特殊的嵌入式系统,它设计方式灵活,具备软硬件在系统可编程功能。SOPC 在设计上以集成电路IP 核为基础,而自行开发的SOPC IP 核,根据实际硬件资源和功能任务需求来定制显示控制功能,

可编程片上系统(SOPC)是一种特殊的嵌入式系统,它设计方式灵活,具备软硬件在系统可编程功能。SOPC 在设计上以集成电路IP 核为基础,而自行开发的SOPC IP 核,根据实际硬件资源和功能任务需求来定制显示控制功能,可以增强系统可靠性和设计灵活性,降低了成本。目前针对LCD 显示设计的控制器IP 核文章较多[1-2],但对于TFT-LCD 触控屏设计的控制器IP 核文章较少[3],而且这类文章中很少见对控制器各个模块进行仿真验证内容。

  文中提出一种针对TFT-LCD 触控屏控制器IP 核的设计方法。该控制器具有Avalon 总线接口,与其他标准IP 核一起构成以NiosⅡ为核心的片上系统。针对本设计中触控屏帧缓存读操作的特点,选择以Avalon 主端口接口的形式对模块进行开发,大大提高了处理器运行效率,同时实现了触控屏控制器IP 核的参数化设计, 提高了控制器对于不同LCD 屏的可复用性,最后通过对输出缓冲FIFO 的使用,解决了数据读出时钟与像素时钟不同步问题。

  1 触控屏控制器总体结构

  在SDRAM 中开辟一段储存空间, 用来存放屏幕图像数据,称之为帧缓存。通过设计适当的硬件逻辑来建立帧缓存与屏幕图像像素之间的一一对应关系,并配合触控屏显示所必需的行、场时序信号,将帧缓存中的数据不断地输送给触控屏, 完成最终的显示刷新, 其总体结构如图1所示。

  触控屏控制器刷新周期开始时,主端口模块根据帧缓存地址生成逻辑所产生的地址,完成主端口的读操作,实现帧缓存中数据读取,并将该数据输送给输出缓冲模块。同时,时序信号生成模块依据触控屏的时序规范生成行、场同步信号,以及与像素同步的相关显示点的横、纵坐标。触控屏控制器数据显示模块不断从缓存中读取屏幕显示数据。

  2 触控屏控制器模块设计

  2.1 Avalon-MM Slave 接口模块

  本模块挂载在Avalon 总线上作为从设备使用,用来对所有的用户逻辑进行配置和控制, 核心功能是寄存器操作,包括读、写以及一些特殊指示与状态信号的产生与转换。通过从端口得到的数据分别赋值给相应的寄存器,寄存器分为:FIFO 地址寄存器、坐标寄存器、一帧数据长度寄存器。本模块是最后在触控屏上实现图形显示功能的接口电路。

  2.2 Avalon-MM Master 接口模块

  LCD 控制器的本功能是产生LCD 时序信号,将帧缓存中的图像信息进行有序输出。由于图形是一帧一帧地输出到触控屏上,而且显示刷新过程是无限循环的,所以必须反复执行帧缓存读操作,因此本设计对上述读操作进行了硬件加速。可以不断地从FIFO 读取图像数据,并且在行、场和触控屏显示有效时间段读取图像数据,其它时间不读图像数据,这样减少了Avalon 总线的使用,有利于图像显示并减少了总线负担。分析读帧缓存的操作可以发现,该过程总是按照一定的顺序,将存储器中的数据读出来进行显示输出,规律性非常强。本模块主要完成地址及操作时序的产生、像素数据缓存写操作控制、数据宽度的变换等功能。

  2.3 触控屏时序产生模块

  本文的触控屏引出信号线有5 根:像素数据信号、触控屏时钟信号、行同步信号、场同步信号、使能信号。为了实现触控屏的正常显示,必须对以上信号按照规范的时序进行驱动,其中,行、场同步信号分别用来标记屏幕上一行和一帧图像的显示时间,屏幕扫描线从上到下、从左到右依次扫描。在这个过程中,只需将帧缓存中的图像像素数据依次输出,就可以实现屏幕图像显示。

  2.4 FIFO 帧缓存模块

  DDR 控制器随着系统时钟不断往FIFO 写数据, 当一帧数据写满时就不再进行写状态,而等待LCD 控制器进行读状态, 颜色处理器从FIFO 中获取数据, 每次从FIFO 中读取32 bit 数据并不断送给LCD.颜色处理器将每一个字节作为一个像素数据,并将一个字节的像素数据转换为3 个字节的RGB 数据。颜色处理器从同步FIFO 缓冲器中读取数据,当同步FIFO 缓冲器写和读相互不冲突时,同步FIFO 缓冲器产生读请求,让Avalon 主端口向Avalon 总线发起读传输,从总线上获取的数据将写入同步FIFO 缓冲器,颜色处理器从FIFO 中读取像素值,并且传给LCD 显示模块。

  3 Modelsim 仿真与测试

  1)Avalon 从端口仿真与测试

  由图2 可知,从端口一位地址对应一位数据。当写信号有效时,将数据写入相应的寄存器;当读信号有效时,对应寄存器地址将数据输出。通过从端口数据写入来控制LCD 模块,控制LCD 读取图像的首地址和读取数据的长度。

  图2 从端口仿真波形图

 

2)Avalon 主端口仿真与测试

  Avalon 模块的作用是响应Avalon 主端口的读请求,并将FIFO 中的相应数据输出给Avalon 主端口。通过读信号和相应地址主端口,不断地从FIFO 中读取图像数据,并按照LCD时序将图像数据输送给LCD.图3 为Avalon 主端口从显存中读取数据时的仿真波形图。

  3)LCD 图像显示模块测试

  LCD 显示模块是将从FIFO 中读出的图像数据在触控屏上显示出来。从图4 可以看出, 当DEN 有效时, 将像素数据分为R、G、B 传送给LCD,HCount 和VCount 为行计数器和场计数器,随着LCD 时钟将各个像素点传送给触控屏。

  图4 LCD 显示的数据

  4 基于SOPC 触控屏系统硬件设计

  基于SOPC 触控屏系统硬件设计如图5 所示, 其中,SDRAM 控制器实现处理器和SDRAM 之间的数据存取,包括SDRAM 存储程序和字符、图形以及颜色等数据;JTAG UART实现PC 和开发板通信, 主要用于调试, 从键盘输入相应数据,然后通过NiosⅡ软件调试处理器,将数据通过LCD 接口传输到触控屏上显示出来[4].开发板采用大连宇华公司的H3C40-V6 开发板。板上的FPGA 芯片为EP3C40F484C6, 触控屏为4.3 英寸彩色数字TFT-LCD 触控屏,分辨率800×484,可以显示文字、彩图等。板上自带触控屏显示驱动器。

  根据所用到的外设和器件特性,在SOPC Builder 中建立系统所要添加的外设模块, 主要包括:NiosⅡ、SDRAM 控制器、JTAG UART、时钟桥、三态桥、锁相环PIO 等[5-6].设定好各个参数,再添加LCD 控制器,将LCD 控制器的Avalon 主端口接口连接到SDRAM 上。

  创建的包含NiosⅡ系统的QuartusⅡ顶层模块,如图6所示。

  5 基于SOPC 触控屏系统软件设计

  根据硬件设计编写软件测试程序,以验证LCD触控屏显示。首先往显存中写入预定的数据来初始化显存,然后通过编程将相应的参数写入LCD 的各个控制寄存器, 最后使能-LCD 控制器,以观察显示屏的显示输出是否正确。本设计采用C 语言编程,让触控屏显示彩条。在NiosⅡIDE 软件平台上, 创建C/C++ 工程, 配置工程的系统属性,然后编译及运行程序。在编译成功后,自动下载到硬件平台上开始运行程序,这时在触控屏上观察到效果如图7 所示, 图中彩条颜色从上至下分别为红、浅绿、蓝、绿、粉、红、紫、白、蓝。

  6 结论

  采用自定义添加触控屏接口控制模块来定制用户逻辑外设。使用硬件描述语言建立控制器模块并进行仿真测试;采用参数化组件设计,使其具有较强的通用性和兼容性。该控制器IP核设计有效利用FPGA 资源,节约成本,增强系统可靠性和设计灵活性,并且可移植性强。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭