打印

经过努力,终于将C8051驱动640x480的驱动方案搞的差不多了。

[复制链接]
楼主: 草履虫
手机看帖
扫描二维码
随时随地手机跟帖
21
请问楼主C8051F 运行在多少MHz频率?

C8051F如果没问题,

估计stm32F103 应该也没有问题

使用特权

评论回复
22
草履虫|  楼主 | 2009-11-9 20:45 | 只看该作者
100MHz

使用特权

评论回复
23
cool_coder| | 2009-11-10 13:30 | 只看该作者
16楼的算法不对,不需要乘以16
xwj 发表于 2009-11-9 16:54

16位色为什么不乘16? 不乘就是1-bit象素了吧?

使用特权

评论回复
24
草履虫|  楼主 | 2009-11-10 13:40 | 只看该作者
16bti表示一个点。一次就送16bit。

使用特权

评论回复
25
xlsbz| | 2009-11-10 17:01 | 只看该作者
交叉开关XBR1的bit1是T0E。
我不设置交叉开关,就是T0E采用默认的不配置到端口,竟然定时器0可以使用。???
请问这是为什么?

使用特权

评论回复
26
草履虫|  楼主 | 2009-11-10 23:24 | 只看该作者

使用特权

评论回复
27
xwj| | 2009-11-11 00:33 | 只看该作者
是不是相机问题?
貌似颜色失真很严重哦 ~

使用特权

评论回复
28
wangkj| | 2009-11-11 08:32 | 只看该作者
如果lz没有用cpld的话,确实很有创意。软件编程很下了一番功夫。
如果lz的方法能行,俺推断一下:
1 行扫描啥也不能干,只能刷屏
2 c8051F能实现,估计stc之类的单片机问题也不大,都是单周期的。
3 既然51没问题,stm32都arm7更是小意思啦。

使用特权

评论回复
29
草履虫|  楼主 | 2009-11-11 09:53 | 只看该作者
1. STM32如果是70MHz的速率的话,问题是没有,但一定要用汇编才行。单纯的C肯定是不行的。
2. 读写SRAM, Flash大量使用了汇编模块。
3. 为了实现功能大量采用了嵌入ASM的方式。
如果使用STM32本身没有TFT驱动模块的话,采用嵌入式操作系统估计是不行。
前面有我KEIL C嵌入汇编的方法,方法简单实用。不需要特殊设置编译参数,不需要采用SRC编译的方法。

使用特权

评论回复
30
草履虫|  楼主 | 2009-11-11 09:57 | 只看该作者
回26楼。
1. 交叉开关和定时器工作不工作没有关系。T0E只是话不连接到管脚,和定时器0使用完全是两码事。
2. 只要将TR0设置为1,定时器0就能够起动。

使用特权

评论回复
31
zjucsd| | 2009-11-11 11:20 | 只看该作者
顶顶吧

使用特权

评论回复
32
coreduo| | 2009-11-11 11:39 | 只看该作者
想问一下,100M的51要多少钱?啥型号啊?
纯粹是好奇。
因为我算了下 640×480×60fps ×2 =35Mhz,加上消隐大概40M吧,消隐期间可以不送数据,处理别的工作。
为啥×2呢,我想是16bit数据出一次,行场同步出一次,那么要操作两次io口。
40m的io速度算快了,但是也有很多芯片能达到。据说stm32可以到50m。

但是个人感觉还是cpld好,稳定可靠。
软件做的时间无法精确控制,图像质量肯定比不上cpld+sdram的。

使用特权

评论回复
33
xlsbz| | 2009-11-11 12:10 | 只看该作者
回26楼。
1. 交叉开关和定时器工作不工作没有关系。T0E只是话不连接到管脚,和定时器0使用完全是两码事。
2. 只要将TR0设置为1,定时器0就能够起动。 ...
草履虫 发表于 2009-11-11 09:57


那么请问将T0E配置到端口有什么用?

使用特权

评论回复
34
wangkj| | 2009-11-11 13:03 | 只看该作者
VGA Signal 640 x 480 @ 60 Hz Industry standard timing

Interested in easy to use VGA solution for embedded applications? Click here!

General timing
Screen refresh rate        60 Hz
Vertical refresh        31.46875 kHz
Pixel freq.        25.175 MHz
Horizontal timing (line)
Polarity of horizontal sync pulse is negative.

Scanline part        Pixels        Time [µs]
Visible area        640        25.422045680238
Front porch        16        0.63555114200596
Sync pulse        96        3.8133068520357
Back porch        48        1.9066534260179
Whole line        800        31.777557100298
Vertical timing (frame)
Polarity of vertical sync pulse is negative.

Frame part        Lines        Time [ms]
Visible area        480        15.253227408143
Front porch        10        0.31777557100298
Sync pulse        2        0.063555114200596
Back porch        33        1.0486593843098
Whole frame        525        16.683217477656

使用特权

评论回复
35
wangkj| | 2009-11-11 13:09 | 只看该作者
这个是vga 640*480的参数,如果用arm估计不用汇编可能问题也不大。
arm有cache,可能能行。而且,arm有很多高主频的cpu。
如果用51,恐怕必须得用汇编了。
8 bit,出16位数字,还有读取啥的,时间相当紧张。
lz这个思路倒是相当不错,如果用arm,可能用内置的ram就能实现640*480*256模式。
内置128K ram的arm很多。
但扫描过程绝对都不能中断,啥也不能干。
要想跑os,那是非常非常困难的,至少行扫描,不能干活。

还有一种思路:利用硬件dma输出数据,这样就可以在行扫描干活了。

使用特权

评论回复
36
草履虫|  楼主 | 2009-11-11 13:17 | 只看该作者
1. 这个主要和计数器有关。
2. 当你将timer 0设置为计数器模式后,计数器的计数由外部管脚的跳变决定,这时候就需要通过交叉开关将T0或INT0连接至管脚才能实现。

使用特权

评论回复
37
wangkj| | 2009-11-11 13:33 | 只看该作者
640*480*2= 614400
单片sram 至少1M的显存啊。
1M的sram,单片好像得80元。
25M主频,40ns的显存,这个好像很贵。
一般的sram普遍是100ns的。一般100ns的,可能得用流水线方式驱动,提前输入信号。
另外,这个成本太高了吧?
刚才我也算错了显存,后来感觉不对,重新计算,果然是算错了。

干脆lz开源得了,毫无商业价值的玩意。
至少可以获得过好名声。

如果你真的能驱动sram的话,换sdram也是可能的。但,sdram的控制比sram 更复杂,
你时序安排更困难。

使用特权

评论回复
38
草履虫|  楼主 | 2009-11-11 14:27 | 只看该作者
错了。你的价格完全是小批量的价格。
商业价值不全是因为价格,只要有市场需求就有产品价值。
至于选用sram和SDRAM,这个要和整个系统设计相关。驱动SDRAM不存在技术问题,但用在此设计中恐怕不行。

开源,决对不会的。
我所见过开源的东西大部分还是别人或前人积累的东西,真正自已做的产品开源的有几个。

使用特权

评论回复
39
machunshui| | 2009-11-11 14:28 | 只看该作者
不知道100M c8051F什么价格,
lpc2478带lcd控制器,70元左右。

当然最好是用CPLD,
等王会计开源。。。。,

王会计的劳动成果还是产生价值再说吧

使用特权

评论回复
40
wangkj| | 2009-11-11 14:57 | 只看该作者
我问的是上海那家做ram的工厂,大约批量价格是30-50。
sram sdram驱动好了,都一样用。
设计中不行,恐怕是你搞不定而已。
俺那个技术含量很高,绝对是不能开源的。
基于sram的有开源的,你嗖嗖看。

如果作为专用设备,不在乎价格,那倒是无所谓,反正有人掏钱。
方案合理与否无所谓,只要能接到单子,赚钱了才是真理。

不合理、没啥技术含量的方案,可能能赚大钱,
辛苦很久做出来的好东西没人看得上,都很正常。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则