widesoft1 发表于 2011-1-16 20:22:53

CPLD驱动TFT交流.

CPLD驱动TFT, EPM24O使用54M晶振.如何写18M写入与读出速度的8080总线接口,带片选使能。

widesoft1 发表于 2011-1-16 20:27:44

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_611460RSW6B4.jpg
(原文件名:img0116_202504191.jpg)
上海众贤的屏达到了18M的读入与写入速度.本人测试了一下。有懂的人交流一下。

zgq800712 发表于 2011-1-17 08:24:39

回复【楼主位】widesoft1
    cpld驱动tft, epm24o使用54m晶振.如何写18m写入与读出速度的8080总线接口,带片选使能。
-----------------------------------------------------------------------

又见54M晶振,看来是有什么讲究。
54M时钟,27M刷屏的时钟
54M/18M=3

widesoft1 发表于 2011-1-17 08:56:44

点击此处下载 ourdev_611614H9VSP4.pdf(文件大小:1.22M) (原文件名:AT043TN24资料.pdf)

这个是4.3寸的屏.

widesoft1 发表于 2011-1-17 09:22:50

点击此处下载 ourdev_611616HUI6F9.rar(文件大小:732K) (原文件名:TFT4.3寸(群创).rar)

EPM240驱动群创TFT4.3成功.

widesoft1 发表于 2011-1-17 09:28:30

此VHDL程序缺点就是外部8080总接口速度只有10M.按道理是可以实现18M的.我只实现了10M.高手指点一下。

embeddev 发表于 2011-1-17 10:20:15

mark!

xorX 发表于 2011-1-17 19:16:48

cpld 驱动4.3TFT

Oliver 发表于 2011-1-17 20:13:43

我是上海众贤的.

请问楼主是用哪家公司名义购买了我们的产品.是要仿照自己生产还是学术研究啊.

TigerRay 发表于 2011-1-17 21:46:07

回复【8楼】Oliver 老易(TFT产品)
-----------------------------------------------------------------------

哈哈,你要完了!快点加密!呵呵!

widesoft1 发表于 2011-1-17 22:21:41

制版费太贵了,把你的液晶屏当学习板了。

widesoft1 发表于 2011-1-17 22:30:08

STM32的测试代码部分的FMSC设置改一下.
        p.FSMC_AddressSetupTime                        = 0;
        p.FSMC_AddressHoldTime                         = 0;
        p.FSMC_DataSetupTime                         = 2;//上海众贤为1,
        p.FSMC_BusTurnAroundDuration         = 0;
        p.FSMC_CLKDivision                                 = 0;
        p.FSMC_DataLatency                                 = 0;
p.FSMC_AccessMode = FSMC_AccessMode_B;

widesoft1 发表于 2011-1-17 22:33:46

上海众贤的兄弟,此液晶屏内部CPLD程序就是3楼附的文档.交流才有进步。

Oliver 发表于 2011-1-18 08:54:22

【9楼】 TigerRay:
呵呵,有道理.

【12楼】 widesoft1 :
这种事我们也挡不住,不过如果您动了我们产品的话,保修是没有了.

Oliver 发表于 2011-1-18 08:55:52

我已经查到您是哪一家"公司"的了.

zgq800712 发表于 2011-1-18 09:13:24

回复【14楼】Oliver 老易(TFT产品)
我已经查到您是哪一家"公司"的了.
-----------------------------------------------------------------------

查户口的来了。

tomlingyu1 发表于 2011-1-18 09:16:41

这个做学习板好吗?好的话买个

_yuming 发表于 2011-1-18 09:50:52

呵呵,我也知道楼主是哪家公司的了。

ndt2000 发表于 2011-1-18 10:27:35

这么好的贴子怎么没人顶,我顶

widesoft1 发表于 2011-1-18 11:21:47

我们公司是会继续购买你的产品。

widesoft1 发表于 2011-1-18 11:24:44

说实在话,上海众贤的CPLD驱动TFT作为学习板真的很好.要是把JTAG口引出,另外TFT的信号做几个测试点就好了,方便大家学习。如果想仿制的话就不会交流代码了。

widesoft1 发表于 2011-1-18 12:21:33

我把写SRAM的时序贴出来:


http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_611791AEVOTV.gif
(原文件名:ourdev_584364.gif)

图上可以看出WE=0后SRAM的DB会维持一个时间的输出.问题就出在这里了.

写SRAM通常是通过状态机实现.
在写数据时刻:
   ADD=写地址,
   DB_BUS=写数据,
   DB_BUS=输出,
   WE=0;
而这时SRAM的DB口还处于输出状态,会持续输出5ns,这个时间和CPLD的DB口输出打架,造成冲突.
(SRAM由空闲转入写则无这个问题,只会出现在读SRAM状态下直接切换到写).


至于加大电源就好些就比较好理解了.

我现在的解决方法也很简单.
原来为:assign sram_db = (sram_db_out_oe) ? sram_db_out:16'hz;
改为:assign sram_db = (sram_db_out_oe && !clk) ?sram_db_out:16'hz;

时钟54MHZ,半周期9ns,可以躲过5ns的输出状态,只让在写周期的后半周期输出总线数据.


学习上海众贤的先进经验.代码中的一个进程作了一点修改.只让在写周期的后半周期输出总线数据.
--内部SRAM总线控制
    process (SysRst,InBusOut,RamTriState,Clk54)
                variable TriSw : std_logic_vector (1 downto 0);
    begin
                TriSw := (RamTriState & Clk54);
                case TriSw is
                when "00"=>
                        RamDataBus <= InBusOut;
                when others=>                       
                        RamDataBus <= (others => 'Z');
                end case;

--                if RamTriState = '0' then
--                        RamDataBus <= InBusOut;
--                else
--                        RamDataBus <= (others => 'Z');
--                end if;
        end process;

widesoft1 发表于 2011-1-18 18:01:18

仔细看了,坛子里 Oliver 老易(TFT产品)的帖子,较有感触,我的这个程序虽然表面上实现了他的所有功能.但是在8080总线读入这块,可靠性还不是很高.   哪位兄弟研究一下总线读入.打2拍的方案是初学级的,练练手的,有哪位兄弟跟上高级的异步总线读入。

embeddev 发表于 2011-1-18 18:02:41

没有verilog的版本吗?

widesoft1 发表于 2011-1-18 19:28:53

VHDL更像C语言,本人喜欢这种风格.verilog本人能看懂,但重来没写过啊。

arodnap 发表于 2011-1-18 20:27:12

走入误区了,多打两拍保证时序是最可靠的方法,试图通过某种方法凑时序是相当不可靠的,不断改变整体设计,使各个子逻辑部分协调统一才是正道

曾经也做过能达到1/2写速率的刷屏程序,重写了4次才搞定,要点是照着时序写程序,不是写好了再凑时序……

widesoft1 发表于 2011-1-18 21:21:58

数据写WR与RD,CS,这三个都是异步时钟.如何高速、用较少的宏单元,可靠处理。直接上代码大家才明白。讲讲大道理帮不了大家,直接上代码给大家研究。

arodnap 发表于 2011-1-18 21:40:18

直接让Oliver出代码吧,我等代码不材,现在自己都看不懂细节了……你说你能看懂,佩服佩服!

WR、RD、CS不需要看作时钟,可看作为不同时域的信号,直接用本地时钟同步就可以,之前Oliver有个贴子讨论过,你找找看(论坛里有的东西自己都不知道好好去找!类似的还有华为及大唐西安的内部交流资料下载)。

CS一定程度上只控制总线,甚至可以不用同步CS,但同步CS的好处在于可以提前为读写操作调整好状态机,这样有利于降低功耗(很小,但仍是值得注意的细节)

天_朝的朝情是饭都吃不上,没几个人有闲功夫分析你的代码

bone 发表于 2011-1-18 21:48:08

第一次听说VHDL像c的……

widesoft1 发表于 2011-1-18 21:59:34

27楼的。 arodnap
    Oliver 液晶板是54M晶振,而WR信号是低平脉宽是 1/72M. 比主时钟还快,照样能写入数据。关键是想了解这种技术。

arodnap 发表于 2011-1-18 22:21:26

汗一个……

还是不同时域的信号同步问题,Oliver怎么做的不知道,但都大差不差

WR进CPLD之后,并不是直接就被同步到本地时域的,而是先进行了缓冲处理:将WR信号当作时钟,WR有跳变时触发器动作,相当于打了一个
跳变标志,等本地状态机反应过来时,处理这个标志,然后才把以WR为锁存时钟、并在WR跳变时锁存了总线上数据的寄存器中的数据转移到了RAM中

低电平多长无所谓,只要满足570的时钟条件就可以了,10ns都OK,关键是两次WR之间的间隔肯定不能超过54M,除非加入FIFO逻辑

-------------------------
ps:
原来Oliver的屏也用这了种方式,应该和Oliver握握手,同道中人啊!

Oliver 发表于 2011-1-18 22:27:57

了解又如何?理解又如何?能写能复制能抄能生产又如何?

理解市场需求,不要把心思花在书本和电脑屏幕上.

在疯狂的当今社会每个人都该为自己的将来想想,不然难说了...


看我说了一堆废话...

eworker 发表于 2011-1-18 22:33:59

回复【30楼】arodnap
汗一个……
还是不同时域的信号同步问题,oliver怎么做的不知道,但都大差不差
wr进cpld之后,并不是直接就被同步到本地时域的,而是先进行了缓冲处理:将wr信号当作时钟,wr有跳变时触发器动作,相当于打了一个
跳变标志,等本地状态机反应过来时,处理这个标志,然后才把以wr为锁存时钟、并在wr跳变时锁存了总线上数据的寄存器中的数据转移到了ram中
低电平多长无所谓,只要满足570的时钟条件就可以了,10ns都ok,关键是两次wr之间的间隔肯定不能超过54m,除非加入fifo逻辑
-------------------------
ps:
原来oliver的屏也用这了种方式,应该和oliver握握手,同道中人啊!

-----------------------------------------------------------------------

说得好

arodnap 发表于 2011-1-18 22:38:05

【31楼】 Oliver 老易(TFT产品)
——————————————————————
说得好!

eworker 发表于 2011-1-18 22:38:42

回复【31楼】Oliver 老易(TFT产品)
了解又如何?理解又如何?能写能复制能抄能生产又如何?
理解市场需求,不要把心思花在书本和电脑屏幕上.
在疯狂的当今社会每个人都该为自己的将来想想,不然难说了...
看我说了一堆废话...
-----------------------------------------------------------------------

将来难测,又能如何?除了书本和电脑,啥都不会。

widesoft1 发表于 2011-1-19 09:48:55

兄弟们都要接受洗脑了。 上海有各种各样的培训会,一般来说1200元/天,去听听会有感受的。
   各种各样的能力要提前准备,但准备好了不一定能用到。

widesoft1 发表于 2011-1-19 09:54:41

有市场没技术,有技术没市场都是扯谈。

zgq800712 发表于 2011-1-19 11:19:15

回复【26楼】widesoft1
    数据写wr与rd,cs,这三个都是异步敝?如何高佟⒂媒仙俚暮甑ピ煽看怼V苯由洗氪蠹也琶靼住=步泊蟮览戆锊涣舜蠹遥苯由洗敫蠹已芯俊?
-----------------------------------------------------------------------

对,我也很困惑



http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_612098FPNJ9L.JPG
(原文件名:异步同步微分.JPG)






这个图片我是网上看到然后我自己画了下。大家点图片看

红框是打2次触发器,蓝框是个微分电路(也不知道哪里看来的,说是微分,还上升沿下降沿微分什么的)

GCLK是高频时钟,打2次触发器来同步,红框里面的就是打2次,说能减少亚稳态什么的,记得IC设计基础书里有说这个    网上有 MTBF即平均无故障时间有计算公式 也是过2次触发器 不知道这个和亚稳态什么关系? 数值相等?

蓝框是一个边沿检测的东西,有边沿发生会输出,平时WR RD多是1的,所以这个蓝框输出的多是0,这个电路时WR从1到0,再从0到1,会输出一个高电平脉冲
然后就回0了,我没有记错的话,有本台湾的书上叫这个是微分电路


我们还是得看看IC设计方便和结构方面的书,现在遇到问题基本=傻眼

lm78l05 发表于 2011-1-19 12:09:58

回复【24楼】widesoft1
   vhdl更像c语言,本人喜欢这种风格.verilog本人能看懂,但重来没写过啊。
-----------------------------------------------------------------------

说反了吧!

zgq800712 发表于 2011-1-19 13:16:51

回复【25楼】arodnap
走入误区了,多打两拍保证时序是最可靠的方法,试图通过某种方法凑时序是相当不可靠的,不断改变整体设计,使各个子逻辑部分协调统一才是正道
曾经也做过能达到1/2写速率的刷屏程序,重写了4次才搞定,要点是照着时序写程序,不是写好了再凑时序……

-----------------------------------------------------------------------

不是说跨时钟域请用 FIFO,FIFO是最可靠的?

widesoft1 发表于 2011-1-19 13:55:05

32楼的   eworker
汗一个……
还是不同时域的信号同步问题,oliver怎么做的不知道,但都大差不差
wr进cpld之后,并不是直接就被同步到本地时域的,而是先进行了缓冲处理:将wr信号当作时钟,wr有跳变时触发器动作,相当于打了一个
跳变标志,等本地状态机反应过来时,处理这个标志,然后才把以wr为锁存时钟、并在wr跳变时锁存了总线上数据的寄存器中的数据转移到了ram中
低电平多长无所谓,只要满足570的时钟条件就可以了,10ns都ok,关键是两次wr之间的间隔肯定不能超过54m,除非加入fifo逻辑
-------------------------

能给出具体的例子吗?
整合好的程序能帮助大家。好多想弄CPLD驱动TFT的,就到上海众贤买块屏,用我的代码进行测试,不足之处,大家提意见再修改。

widesoft1 发表于 2011-1-19 16:59:58

声明本人未破_解上海众贤芯片,如果损伤到贵公司利益,则表示歉意。

Oliver 发表于 2011-1-19 17:00:59

感谢楼主及各位大侠的关注与支持.

希望大家DIY取得更多乐趣,同时也希望大侠们手下留情,不要对我们产品做深层次的解剖,谢谢.

只要是公司产品有需求的可与我联系,提供公司资料后可提供样品.

------------------------
上海众贤电子科技有限公司

cicnx 发表于 2011-1-19 23:19:21

主时钟同步wr, 写入一个FIFO缓冲区。

FIFO中有数据则写入SRAM中。

SRAM是100M的速度,54MHZ的主时钟写入18M很正常。 还有剩下的带宽用于刷屏就可以了。 屏点时钟应该是9MHZ就可以了。

具体细节就不说了。。。

myhonour 发表于 2011-1-20 06:17:13

mark

sxndwg 发表于 2011-1-20 08:00:39

最经由于工作需要也开始研究这门技术。学习了

huike 发表于 2011-1-20 08:58:43

SSD1963一片搞定。成本更底,缺点就是刷屏慢了一点。

hwdpaley 发表于 2011-1-24 10:42:54

学习了

widesoft1 发表于 2011-1-24 11:00:48

遭遇AVR式的缺货。
         公司因生产需要向众贤公司购买1楼图中所示液晶屏,可是此公司此款液晶屏处于缺货状态,怎么办呢?万能的坛支支招吧!

widesoft1 发表于 2011-1-24 12:45:00

路过的朋友给个建议吧?

zgq800712 发表于 2011-1-24 15:05:57

多在这里找TFT LCD半年了,

widesoft1 发表于 2011-1-24 16:23:03

50楼的,你们公司也需要用CPLD驱动TFT。遇到过供应商缺货的情况吗?
产品上需要低成本驱动TFT的朋友都跟个帖吧。学习提高“低端CPLD”应用技术的也跟帖吧。

cicnx 发表于 2011-1-24 16:43:46

是找不到屏? 还是驱动板没有呢?

flyingcys 发表于 2011-1-24 20:27:50

MARK

jielove2003 发表于 2011-1-24 20:35:56

mark

durgy 发表于 2011-1-24 20:44:09

mark一下

Oliver 发表于 2011-1-24 23:19:20

TO:【48楼】 widesoft1
综合本贴此前跟进,及我们多方面了解之信息(贵研究所同行),贵研究所很显然不是我们的目标客户群,当然我们也不符合贵所供货商标准.

如果明知道对方只采购一块样品是为了评估/研究技术性能,再决定是否自己研发,自行生产(不是说贵所开发来对外销售这么个小产品),那我们为什么还要去伸头让人宰呢?

贵处硕大一研究所,根本瞧不上我们这类自足创业的小公司吧,据说贵所连热敏打印机都要参考别人的,然后自己生产,可见贵所势力雄厚,当然也看出贵所极不愿意整合社会资源,更多时候是什么都要自己做.

我们还得养活一二十号人,还得为员工,客户利益考虑,当然我们自身利益也是要的,创业赚钱天经地义嘛.
资本家难道就要被技术DIY所排斥?(我们还不算资本家)

并非我们缺货,我们每月都要为客户供应上K的4.3寸产品,会缺一块样品吗?
我们每个型号最起码都有几十块以上库存.

是我们不敢卖给您了,不敢卖给贵公司,我们毕竟要为我们的员工考虑,如果您们自己生产自己使用我们最多就是牺牲1个客户,如果您们对外肆意传播就是一个行业,历史证明中国人参与的行业都会萎缩得相当快.

我们是专业化公司,只会做这个行业产品,做一款产品也要想想为客户带来了什么价值,也许对于贵公司我们带来的价值只有样品参考?

我相信这里很多大侠伙计也都是公司里的员工,请原谅我们作为一个民营小公司的考虑,谢谢.

您可联系我,我可以为您推荐几个可信,可持续的供货商,本贴里面就有位deng先生,他们产品与我们兼容(具体性能如何我们没评估过,据非企业客户反映比我们便宜,但推广企业客户是我们的特长,我们价格在正规企业里面绝对是最有优势的).
您可考虑.

widesoft1 发表于 2011-1-25 13:16:16

原来是遇到拒售了。
    据说(只是道听途说),
    贵所连热敏打印机都要参考别人的,然后自己生产。 (我们电路是公司原创)
    本公司产品被克隆之后,没有采用对客户拒售策略,而是提高性价比,提高客户克隆成本。
   
    是朋友就不会误解,否则越解释越误会。
    到此打住,这里只谈技术(阿莫规定)。

c65193145 发表于 2011-1-26 21:01:06

回复【42楼】Oliver 老易(TFT产品)
-----------------------------------------------------------------------

老易 我们公司 可能要用 相关的产品,不过是平达EL--CPLD--51 与VGA差别不是很大,HS VS为高电平同步,同步时期, 移位时钟无效,无消隐信号。。如有意 与我联系,mcafee.v@139.com

lin9909 发表于 2011-1-28 08:17:04

楼主是怎么弄到众贤的源码的?

li20030505 发表于 2011-1-31 14:13:38

mark

june4th 发表于 2011-2-26 15:40:55

make

HYFAVR 发表于 2011-2-26 17:25:43

mark

expressme 发表于 2011-2-26 23:36:23

回复【楼主位】widesoft1
-----------------------------------------------------------------------
mark 学习一下

lanseiboy 发表于 2011-2-27 11:05:15

mark

sankunchai 发表于 2011-3-5 15:38:14

楼主厉害

astute11 发表于 2011-3-22 21:23:47

mark

icengineer 发表于 2011-3-22 23:57:18

make

longren_gd 发表于 2011-3-23 16:54:06

还是有点限制的啊。了解一下。

june4th 发表于 2011-4-12 18:57:10

mark!

wd8031 发表于 2011-4-17 15:30:01

回复【43楼】cicnx
主时钟同步wr, 写入一个fifo缓冲区。
fifo中有数据则写入sram中。
sram是100m的速度,54mhz的主时钟写入18m很正常。 还有剩下的带宽用于刷屏就可以了。 屏点时钟应该是9mhz就可以了。
具体细节就不说了。。。
-----------------------------------------------------------------------

说的是,我早就做到了:36M读写sram的速度,9M的屏扫描速度,只是加上8点快速写入后,EPM540的容量不够。不好意思,为了不砟老易的饭碗,在这里不具体说了。

nick2329 发表于 2011-4-25 19:31:31

怎么不能下载啊?

ldqmoon 发表于 2011-4-25 20:25:59

好东西,支持一下

fetish 发表于 2011-5-5 01:18:40

请教楼主这一句怎么理解啊?你的VHDL代码就这一句看不懂。
            SramAddr(12 downto 0) := SramAddr(12 downto 0) - ("0000" & SramAddr(12 downto 4));

fetish 发表于 2011-5-5 20:11:09

楼主大人在吗?

liguan1024 发表于 2011-5-14 09:34:01

mark

shiguiyuan 发表于 2011-5-23 14:07:35

mark

niba 发表于 2011-6-4 17:28:25

回复【74楼】fetish
请教楼主这一句怎么理解啊?你的vhdl代码就这一句看不懂。
            sramaddr(12 downto 0) := sramaddr(12 downto 0) - ("0000" &amp; sramaddr(12 downto 4));

--------------------------------------------------------------------
同问,这个地方的减去地址的(12到4)位是啥意思呢?

wx2k 发表于 2011-6-4 19:01:16

记号

RLCIC 发表于 2012-2-29 19:54:07

看来要写好FPGA程序,不仅要理解时序还要懂算法才行啊

kuailexiaorenwu 发表于 2012-7-15 16:22:36

MARK                              

tschennan 发表于 2012-11-9 17:44:29

谢谢!兄弟开源精神!表示支持!

huatong 发表于 2012-11-10 10:59:05

虽然现在已经用不到了,但还是顶一下,别说什么盗版,在中国,起码有一半的人在使用盗版的东西,反正你现在又不是为自己谋取金钱利益.
当初也被上海众贤拒售了一次,所以自己狠下心搞了一个玩玩,为此还学了点FPGA.
页: [1]
查看完整版本: CPLD驱动TFT交流.