打印

DIY一台史上最“烂”的示波器!(连载中……)

[复制链接]
楼主: 程序匠人
手机看帖
扫描二维码
随时随地手机跟帖
141
xwj| | 2010-1-2 11:00 | 只看该作者 回帖奖励 |倒序浏览
原理图很简单,就在140楼。
关键还是要理解时序,理解时间和空间的对应关系,然后确保时间正确就可以了。

使用特权

评论回复
142
踢球老越位| | 2010-1-2 11:13 | 只看该作者
按照原理图,莫非只有9种颜色?

使用特权

评论回复
143
程序匠人|  楼主 | 2010-1-2 11:21 | 只看该作者
应该只有7种,如果要实现更多颜色,就得把输出电路再搞复杂一些。理论上是可以的,不过鉴于整体资源有限,觉得没有必要去做了。

使用特权

评论回复
144
ma9453| | 2010-1-2 13:41 | 只看该作者
本帖最后由 ma9453 于 2010-1-2 13:47 编辑

搬个板凳慢慢学习

使用特权

评论回复
145
ma9453| | 2010-1-2 13:59 | 只看该作者
请教几个问题
1、通过Vsync,Hsync可以控制场和行,可是每个像素是如何控制?是把一行的有效时间平均分配来控制的么?
2、106楼的BLANK和DCLK代表什么呢?

使用特权

评论回复
146
peterwei2010| | 2010-1-2 14:11 | 只看该作者
呵呵,学习了

想当年也做过VGA显示的(CRT或者LCD) , 是用FPGA( NIOSII)的, C+VERILOG的

使用特权

评论回复
147
peterwei2010| | 2010-1-2 14:11 | 只看该作者
PC 控制,传送数据

使用特权

评论回复
148
peterwei2010| | 2010-1-2 14:12 | 只看该作者
PC 控制,传送数据

使用特权

评论回复
149
ma9453| | 2010-1-2 15:13 | 只看该作者
149# peterwei2010
也就是说这两个信号时给视频DA的?

使用特权

评论回复
150
lht3956093| | 2010-1-2 18:38 | 只看该作者
占座来了

使用特权

评论回复
151
kegaank| | 2010-1-2 19:05 | 只看该作者
多一些解说,少一些比拼。皆大欢喜

使用特权

评论回复
152
程序匠人|  楼主 | 2010-1-2 22:17 | 只看该作者
请教几个问题
1、通过Vsync,Hsync可以控制场和行,可是每个像素是如何控制?是把一行的有效时间平均分配来控制的么?
2、106楼的BLANK和DCLK代表什么呢? ...
ma9453 发表于 2010-1-2 13:59


1、像素用三基色信号来控制,你可以理解为“是把一行的有效时间平均分配”。每一个像素的点亮时间其实很短(对于VGA 640*480 60HZ 只有0.04us);然后顺着电子束的扫描,把一行逐点扫描完毕后,换行(每行大概需要31.75us);在逐行扫描完毕后,再换帧(每帧大概需要16.67ms); 具体数据可以参考本贴第6页的第105楼

2、BLANK那根线代表的是三基色信号,其实是三根线,这里被简化为一根线了。DCLK就是时钟,每个DCLK正好扫描一个像素点。

使用特权

评论回复
153
牛牛特工| | 2010-1-3 01:01 | 只看该作者
本帖最后由 牛牛特工 于 2010-1-3 10:37 编辑

匠人 我觉得没有必要每次都刷新整幅画面 所以你的点数完全可以更高
而且仅8色 所以整个320*240 应该不成问题 那么输出点频率是
估计问题应该不大 看了你的帖子
我也想实践一下~~ 这个满好玩的 明天照你的电路用PIC16做一个看看 很好很强大
正好这两天我买的开发板怎么都跑不起来 郁闷中 整整这个也好

昨天的观点取消 那肯定会斜的厉害
应该这样搞 隔行 60HZ 奇数帧扫奇数行 偶数帧扫偶数行
不晓得行不行 唉 先不管这个 我先看看能否跑起来

使用特权

评论回复
154
xwj| | 2010-1-3 01:15 | 只看该作者
电路图就是142楼那个图啊。

EM78P418可只有144字节RAM,3*320*240 =230400,就算只用3位也得28800字节,这可差得太远了点哦~

使用特权

评论回复
155
牛牛特工| | 2010-1-3 10:33 | 只看该作者
本帖最后由 牛牛特工 于 2010-1-3 11:08 编辑

不需要那么大RAM的 只需要一行或两行的数据 或者更少 仅N个Byte的数据 如3*320
只是我在想如果示波器的话 那采样点往哪存 这比较郁闷 比如存储深度为320个采样点 那咋办 ~~
刚看了表格 640*480 66HZ 每个像素点时间是0.03us

使用特权

评论回复
156
程序匠人|  楼主 | 2010-1-3 10:50 | 只看该作者
匠人 我觉得没有必要每次都刷新整幅画面 所以你的点数完全可以更高
而且仅8色 所以整个320*240 应该不成问题 那么输出点频率是
估计问题应该不大 看了你的帖子
我也想实践一下~~ 这个满好玩的 明天照你的电路用PIC16做一个看看 很好很强大
正好这两天我买的开发板怎么都跑不起来 郁闷中 整整这个也好

昨天的观点取消 那肯定会斜的厉害
应该这样搞 隔行 60HZ 奇数帧扫奇数行 偶数帧扫偶数行
不晓得行不行 唉 先不管这个 我先看看能否跑起来
牛牛特工 发表于 2010-1-3 01:01


回复:
“没有必要每次都刷新整幅画面 ”——这个由不得我们,是扫描时序规定了的。
“而且仅8色 所以整个320*240 应该不成问题 那么输出点频率是估计问题应该不大”——如果是静态画面当然没问题,但如果是动态画面,够呛。这个前面已经讨论过了。
“隔行 60HZ 奇数帧扫奇数行 偶数帧扫偶数行”——建议先看懂时序图再说。
“明天照你的电路用PIC16做一个看看”——PIC16的指令周期速度是否足够?请确认。我的印象中好像每条指令要4个震荡周期。

使用特权

评论回复
157
程序匠人|  楼主 | 2010-1-3 11:01 | 只看该作者
牛牛特工 以及其他 想参考这个原理图(140楼)的童鞋们请注意,我的RGB信号输出口是被设置为集电极开路模式的。

也就是说,输出1时为高阻态输出,实际上是靠外部上拉电阻(430欧姆)和显示器端的内部下拉电阻(75欧姆)分压得到的信号去驱动的。

输出0时为低电平输出,把RGB上电平拉到地。

使用特权

评论回复
158
牛牛特工| | 2010-1-3 11:10 | 只看该作者
本帖最后由 牛牛特工 于 2010-1-3 11:27 编辑

那么320*240 应该是 0.12us 10M左右速率 俺的IO最快可以达到5M 除非隔行扫 不然貌似是达不到时间要求
并且只能单色 PIC16貌似确实比较挫 参数得再降降 先跑起来再说咯
隔行需要这样做的: 基数场和偶数场 的行同步 相对场同步要有一定时间的偏移 那么这两场的显示内容就不会重叠在一起了 我不晓得能否这么理解 场同步信号产生后的时间点 代表该行同步在屏体上的纵向位置

使用特权

评论回复
159
牛牛特工| | 2010-1-3 11:16 | 只看该作者
本帖最后由 牛牛特工 于 2010-1-3 11:20 编辑

关于动态组织数据的问题 每行前肩+后肩+脉冲宽度 对于640*480来说 共有7us的“空闲时间”
如果换到320*240的情况 不晓得是否可以乘4 即28us
我的PIC16估计肯定不行了 不晓得匠人的EM怎么样 用这段时间能做多少运算。够不够把320个点组织出来

VGA那边信号只有0.7V啊? 我的IO不是OC的 还的加个三极管才行

使用特权

评论回复
160
程序匠人|  楼主 | 2010-1-3 11:18 | 只看该作者
隔行扫描这条路在逐行扫描的显示器上大概是走不通的,因为时序是定死了,就得一行一行扫描。

使用特权

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

本版积分规则