一种TTL液晶接口到LVDS接口的转换电路和转换方法与流程

文档序号:14304069阅读:2047来源:国知局
一种TTL液晶接口到LVDS接口的转换电路和转换方法与流程

本发明涉及一种ttl液晶接口到lvds接口的转换电路和转换方法。



背景技术:

tft-lcd(液晶模块)接口一般为ttl或lvds接口,显示时输入电平和时序符合要求的数据和控制信号,驱动液晶显示。如果液晶是lvds接口,而驱动液晶显示cpu输出是ttl电平的话,采用ttl转lvds专用转换芯片,转换为lvds供液晶使用。

目前的转换过程主要存在如下缺点:

(1)转换过程仅实现信号电平和接口并串的转换。

(2)转换时液晶控制信号(hsync,vsync,de,clk)等时序位置固定,对液晶有不同时序要求时容易出现显示位置偏移问题。

(3)转换不能修改刷新频率,有的液晶对刷新率要求高,如果cpu(和lcd连接为其显示提供数据和控制信号)不能输出符合要求的刷新率,会出现不显示或闪烁、亮线、杂点等情况。



技术实现要素:

本发明提供一种ttl液晶接口到lvds接口的转换电路和转换方法,以解决现有技术存在的问题。

本发明采用以下技术方案:

一种ttl液晶接口到lvds接口的转换电路,包括设置在cpu和液晶屏之间的转换电路,所述转换电路包括fpga,fpga上连接有存储器、晶振、电源模块。

所述存储器包括ddr3存储器和flash存储器。

所述存储器上还连接有vga转换模块,所述vga转换模块连接外部的vga设备。

所述晶振频率为200mhz。

一种ttl液晶接口到lvds接口的转换方法,包括:

cpu输出ttl电平格式的液晶显示数据发送给fpga;

fpga接收的液晶显示数据送入存储器中进行缓存;

fpga根据后级液晶屏或者vga所需的时序,计算后级液晶屏或vga的待显示像素点在后级显示端中显示的行、列位置,然后从存储器中缓存的数据中读取缓存的像素数据,形成后级显示端显示时需要的扫描时序和数据;

其中,当后级显示端为ttl液晶时,直接输出;如果后级显示端为lvds接口的液晶,则将扫描时序和数据转换为lvds信号输出;如果后级显示端为vga设备,则将扫描时序和数据通过vga转换模块转换为vga信号输出。

所述用于缓存像素数据的存储器为ddr3存储器。

当fpga接收到cpu发送的液晶显示数据时,首先判断液晶显示数据的有效性,有效对数据则获取当前像素所在的显示位置并将当前像素的数据存入ddr3进行缓存。

将ddr3的读操作设为高优先级,写操作设为低优先级,读ddr3的数据时通过每次预取4个128位数的方式进行读取;

当fpga对ddr3进行读操作时,通过七个状态完成读操作:首先fpga发出读命令、地址、使能总线信号三个状态开始读取数据,再读取四次数据,当读取数据有效且读取时间不超时,完成度操作,否则ddr3进入空闲态;

当fpfa对ddr3进行写操作时,通过六个状态完成读操作:fpga从接收缓冲区读取一次128位数据,并对ddr3发出使能总线信号,保持操作上述两个状态,随后发出ddr3的地址和需要缓存的数据,保持两个状态,然后发出写完成标志,关闭总线使能信号,完成写操作。

本发明的有益效果:

(1)能够实现对ttl到lvds电平和接口的转换,可以修改lcd的刷新率和扫描信号时序满足其指标要求。

(2)对原有cpu无影响,无需改变配置,对原cpu程序没有影响。

(3)如果想减轻cpu负担,可在不重新选型或提升性能的情况下,降低cpu输出显示信号的刷新率,减少cpu的显示开销,实现液晶的显示。

(4)若系统更换液晶,可用该方法灵活选用lvds接口液晶或ttl接口液晶。

(5)支持vga接口输出。

(6)本发明缓存了显示数据在ddr3中,即使cpu降低对液晶的刷新率,缓存数据不受影响,fpga从ddr3中取缓存的数据,实现对液晶刷新,cpu对刷新率的降低不影响显示。

附图说明

图1为本发明的原理框图。

图2为ddr3的线路分配示意图。

图3为vga接口的线路连接图。

图4为fpga接收数据和控制信号并送入ddr3缓存的线路连接图。

图5为本发明的转换方法的示意图。

图6为转换方法的流程图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细说明。

本发明是针对目前的转换电路存在的问题,提出的一种新的ttl液晶接口到lvds接口的转换电路,该电路无需改变cpu的配置和程序,在实现ttl电平液晶信号到lvds信号之间的电平转化内的同时,可以调整刷新率,还能够根据液晶时序的需求,改变液晶控制信号的时序,用于满足液晶时序的需求,达到驱动液晶正常显示的目的。另外,如果系统需要更换液晶,可以灵活的选择lvds接口液晶或者ttl液晶。

本发明的转换电路包括设置在cpu和液晶屏之间的转换电路,转换电路包括fpga,fpga上连接有存储器、晶振、电源模块。存储器包括ddr3存储器和flash存储器。

即本发明中,硬件电路部分采用的fpga为主的电路,外扩有ddr3存储器等必要电路。

本发明中,fpga上还连接有vga转换模块,所述vga转换模块连接外部的vga设备,用于进行vga显示。

上述的设备中:

fpga采用xilinx公司的artix7系列fpga,该款fpga能够支持ddr3接口,具有足够数量的io口,具有多路lvds接口。

cpu输出ttl电平的液晶驱动信号较多,本转换电路的实施方式中采用的是565格式的数据格式,即rgb信号通道分别为5bit,6bit,5bit。再加上clk、hsync和vsync及de信号,至少需要20根io口。ddr3(256mbyte)数据线16根,地址线16根,控制线6根,时钟线3对差分,再加上输出的lvds接口的4对共8根线,以及驱动vga信号输出至少需要20个io口,因此选用了bga234封装的xc7a35t作为fpga。fpga自身不能存储程序,上电时需要从外部加载程序执行,存储程序的flash选用spansion的s25fl512。

xc7a35tfpga分为4个bank,每个bankio电压不一样,如图2所示,本发明将bank34和bank35合在一起作为ddr3接口的访问bank,其中bank34为ddr3高8位数据线和高8位控制线的,bank35为ddr3时钟线、地址线、低8位数据线和低8位控制线访问bank。

vga接口选择fpga的bank15,bank电压2.5v,经过ttl转vga芯片adv7125后输出为vga接口。

bank14作为普通io口,bank电压3.3v,连接cpu输出的ttl液晶驱动信号,能够检测到行、场、数据有效等变化,对信号进行采集。

下面对各个模块进行详细说明:

ddr3模块:作为目前主流的存储器,具有较高的访问速率,较大的存储容量。本发明选择了镁光的mt41k256m16ha作为存储器,存储位宽16位,容量256mbyte。时序和容量能够满足方发明所需。

晶振:由于fpga需要有参考时钟200m,也需要主时钟,当主时钟和参考时钟频率相同时,可以省去一个参考时钟,而选择参考时钟为主时钟。又由于ddr3的时钟需要和ddr3的接口在同一个bank上,电平要兼容ddr3的电平,1.5v。因此本发明巧妙的采用了频率200mhz的差分输出的晶振作为主时钟,同时也是参考时钟,晶振2.5v供电,输出lvds差分信号电平符合bank34,bank35的电平要求。

电源:由于fpga需要多种电源,再加上模块所需电源,共计有:3.3v,1.5v,2.5v,1.8v,1.0v,0.75v等几种。选用了linear公司的ltc3370作为主电源,可输出4路电压,再配合其他电压芯片,生成符合使用要求的电源。

vga模块:fpga将存储在ddr3中暂存的视频数据,根据vga扫描时序要求,生成符合vga要求的数据线,场行扫描信号等,送到vga转换芯片adv7125的相应管脚,由其转换为符合vga接口的信号输出。

lvds液晶信号:为支持lvds接口液晶,需要输出为符合lvds电平要求,bank15采用2.5v电源,即支持cpu输出的ttl液晶驱动信号,又可以输出符合lvds电平信号的差分信号。需要注意的是,lvds信号的p、n要接在bank上的差分管脚上。

本发明还提供一种ttl液晶接口到lvds接口的转换方法,大体来说,利用fpga的并行特点,规划两个路线:

其一,cpu输出的ttl电平格式的液晶显示数据发送给fpga,该液晶显示数据分为控制信号和数据信号,fpga根据接收的控制信号,计算当前数据所在的行、列值,并把计算出来的行、列数据暂存在ddr3中相应的位置中进行缓存;

其二,fpga进行液晶扫描显示输出,根据后级显示端所需时序和刷新率,调整扫描clk值适合lcd的参数,进行自上而下,从左到右的扫描操作,对于扫描的位置,由行计数器和列计数器跟踪,根据计数器的值,计算得到在ddr3存储器中该扫描位置的值,然后从存储器中读取缓存的像素数据,配合适合液晶屏或者vga的扫描控制信号,发送给液晶屏,即可显示。

当后级显示端为ttl液晶时,直接输出;如果后级显示端为lvds接口的液晶,则将扫描时序和数据转换为lvds信号输出;如果后级显示端为vga设备,则将扫描时序和数据通过vga转换模块转换为vga信号输出。

具体来说,根据显示数据的转换过程,可将对显示数据的处理分为以下几个模块:如图6所示:

数据接收模块:位于fpga中,用于接收cpu发来的液晶显示数据,并自动判定数据的有效性,如有效则进行缓存,并根据控制信号计算当前显示数据(像素)的显示位置,暂存至接收缓冲区,数据接收每次是2字节(1个像素16位),而一次写入ddr3的数据宽度为128位,即fpga以burst方式访问ddr3一次需要8次,当数据量达到8个,且此时ddr3出于空闲状态,将数据写入ddr3,否则缓存继续。上述对液晶数据进行接收时,根据cpu发来的lcd控制信号中包含的de(数据有效)信号边沿检测,上升沿到来,开始接收有效数据,下降沿,接收有效数据结束。只有有效数据才放入ddr3中缓存,无效数据对显示没影响,忽视。

液晶刷新模块:位于fpga中,由fpga程序产生液晶所需刷新率的扫描时序,并将信号转换为lvds电平输出。即由fpga程序设置行计数器和列计数器跟踪扫描时序,得到当前扫描像素点的行、列值,根据液晶显示时序指标的要求,在需要产生clk、hsync、vsync、de控制信号的时候,改变控制信号的状态,另外,依据行计数器和列计数器的值,经过运算转换得到显示数据在ddr3中的相应位置,并从ddr3中预取数据,这样就形成液晶扫描时序和数据。如果后级的液晶屏是ttl液晶,直接输出至io即可。如果采用的液晶是lvds接口,需做lvds转换,lvds频率是7倍并行数据,即假设并行数据频率为40mhz,则lvds的频率要达到280mhz,本模块采用自己编制的倍频算法,形成7倍频的频率,将控制信号和数据按照lvds接口规范放入lvds数据流,由于fpga具有多路lvds管脚,采用verilog源语转换为lvds信号,驱动液晶显示。

vga模块:类似于液晶刷新模块,也需要产生符合vga实现的信号,产生方法基本相同,只是vga只需要hsync和vsync控制信号,产生的时机也和上述输出有所差异。

ddr3读写模块:ddr3访问较为复杂,读写切换机制也是整个程序的核心,因为只有一片ddr3,所以读写只能从这一片访问,不能切换访问,本发明采用了分时复用的方式进行ddr3的读写。

读写优先级,液晶刷新需要读ddr3数据,而刷新时序要求较高,因此设读为高优先级,而写则较低优先级,为保证接收到的书不丢失,采用接收缓冲寄存器的方式接收数据,当接收到足够的数据且ddr3不处于读过程的时候进行写操作。读写ddr3也需要burst方式,该过程需要时间,并且不能中断,而液晶刷新则按规定频率进行,为保证刷新数据的充分,读ddr3时程序采用了每次预取4个128位数的方式进行,这样可以保证在ddr3无论是读还是写过程,均能保证液晶扫描程序正常进行,不出现亮线或杂点。

ddr3的访问和数据接收模块和液晶刷新模块配合进行,采用有限状态机方式访问。

平时ddr3处于空闲状态,当有读需求时,按照ddr3的读访问时序,用7个状态完成读操作,首先送出地址、读命令、使能信号,保持上述3个状态,直到数据读有效,连续读取4次,考虑有可能出现干扰等,加入了超时判断,发生超时则强制退出读操作,进入空闲态,提高程序健壮性,正常情况下,读完成后,结束读操作,进入空闲态。

当有写需求时,按照ddr3的写时序,用6个状态完成,如下:首先从fpga内部的接收缓冲区读取一个128位数据,使能写ddr3信号并保持2个状态,发出地址和数据并保持2个状态,发出写完成标志并关闭总线使能信号,完成写操作。

采用上述技术方案的本发明:不但实现了从ttl电平到lvs接口信号、vga接口信号的转换,还可以改变刷新率和扫描信号时序满足液晶指标要求。且对原有cpu无影响,无需改变配置,对原cpu程序没有影响。本发明的转换电路相当于在cpu之后加了一个显卡,可以减轻cpu的负担,使其在不重新选型或提升性能的情况下,实现液晶的显示。若系统更换液晶,可用该方法灵活选用lvds接口液晶或ttl接口液晶。且本发明支持vga接口输出。

以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的技术人员来说,在不脱离本发明整体构思前提下,还可以作出若干改变和改进,这些也应该视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1