5156|13

124

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

大家看看这个图怎么实现1秒自加显示! [复制链接]



先试着把原理说下
谢谢
此帖出自FPGA/CPLD论坛

最新回复

扫瑞,昨日看帖了,但要出门没时间写,现在补上。 1、关于电路,不是怕点不亮LED,相反在于正因CMOS的压降很小以致 VCC>(Vdrv1+Vled+Vdrv2) 难以控制电流。数码管不可能内置限流电阻,因为厂家不知用户会加多少伏电压,除非它不惜工本内置恒流电路。 2、关于计数器的做法可以是5花8门的,如果俺来做的话,会考虑做一个由移位时钟触发的2+4位计数器,低4位每走满一周锁存595输出一次(帧),高2位为数码管选通,全部时序控制都以这个计数器为中心。显示+1时钟比扫描速度慢n个数量级不足为虑,实际做起来还需有个字形变换程序相对稍麻烦些,把2进制转换成显示的7段码,不过只4位数码管的话,写6、70行怎么也拿下了。至于花费的时间放心好了,有FPGA的话处理1帧的时间怎么也不可能超过1ms。 另外,如再深究一点的话电路上还有个可改进的地方,就是595的空余输出脚应该放在最后,这样控制程序可以节省发4个CLK的时间。(对FPGA来说可能无所谓,CPU的话能省这4个CLK可就大了。)  详情 回复 发表于 2009-10-30 10:39
点赞 关注
 

回复
举报

1908

帖子

7

TA的资源

五彩晶圆(高级)

沙发
 

我感觉lz贴上来的只是一个显示电路

如果要实现1秒定时加1计数,需要单片机程序进行实现
此帖出自FPGA/CPLD论坛
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

板凳
 
这个图只是串转并显示,跟+1没任何关系。
此帖出自FPGA/CPLD论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

4
 
 再说,这个电路也够呛,且不提HC595有没那么大劲驱动4个数码管,显示连限流电阻都不串,分明是要IC或电源好看嘛。:o
此帖出自FPGA/CPLD论坛
 
 
 

回复

124

帖子

0

TA的资源

五彩晶圆(初级)

5
 
说点有用的啊
电路没问题的
此帖出自FPGA/CPLD论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

6
 

请看分析

原帖由 lixinsir 于 2009-10-28 10:21 发表
说点有用的啊
电路没问题的

LZ认为上面说的都没用吗?请看分析:
 假如电源、74HC和LED都是理想器件的话,Vdrv1、Vled、Vdrv2和VCC是常数,你无法精确地做到
VCC = Vdrv1 + Vled + Vdrv2

 省略限流电阻后只能依靠一些难以掌控的非理想化特性,比如LED的等效串联电阻、IC的驱动能力、电源的负载能力、以及扫描速度、实际电路的分布电容等参数强制等式成立,其结果是很难稳定地控制LED的驱动电流,器件的非均一性和电源电压误差对驱动电流强度非常敏感,弄不好还会对器件或系统造成损坏。
 因此,该电路即使能点亮数码管,也只能算是个很糟糕的设计,不值得效仿。

 另外上面已经说了,该电路只是显示,与显示内容无关,+1是控制器做的事。

DRV2.gif (2.76 KB, 下载次数: 0)

DRV2.gif
此帖出自FPGA/CPLD论坛
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

7
 

同意楼上意见

我也觉得本图不能自己实现自加1显示,SHcp是串行移位时钟,D_DATA就是在该时钟下串行输入,同时从Q7‘串行输出的,在STcp的控制下,移位数据被输入到输出寄存哭由Q0-Q7并行输出,从功能上说就是实现串行输入,串行/并行输出。具体数体还是得由主控制哭实现。
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

124

帖子

0

TA的资源

五彩晶圆(初级)

8
 
声明下
也怪我没说清楚
595的硅门cmos工艺,而cmos的高电平=0.9vcc 低电平=0.1vcc 595是线驱动的
这样讲相信大家不会再觉得驱动个数码管还会有什么问题吧
即便是8端全驱,也不会有什么问题,至于限流电阻,应该会在数码管的器件内有
这个不考虑
想问大家的是:用FPGA怎么样演绎这个经典的串并转换,时序控制,来实现+1自增(当然既然能增,自减就不在话下)
默认低电平进行位选
思路:首先通过clk计数实现一个一秒递增的counter,其结果放在一个(4*4 )寄存器内
紧接着,就是要考虑怎么样将其显示,数据的传送是必然要在这1秒内完成的(呵呵,这是必然的,大家想想多通道的AD转换,这一点是很重要的哦)
2 数据的传送,要考虑位选和段选,看图 第二个595 并行输出的数据作为段选信号,而第一个的低四位作为位选信号,这个大家要考虑下,怎么办。

当然这是我的思路,很平常,希望大家有好的思路。
FPGA的设计,计数器很重要,我想这个设计应该会有很多巧妙的设计在里面。
595 的串行存储和移位时钟 ,也应该由FPGA来产生,怎么样来产生这样的时钟,根数据有没有关系,这个我想是有点关系的,也请大家考虑考虑。。
好了
等大家的回帖
还是谢谢
此帖出自FPGA/CPLD论坛
 
 
 

回复

124

帖子

0

TA的资源

五彩晶圆(初级)

9
 
这个帖子怎么没人跟啊
想看看大家的意见和建议
此帖出自FPGA/CPLD论坛
 
 
 

回复

209

帖子

0

TA的资源

一粒金砂(高级)

10
 
多多支持,良师益友,好资料,彼此学习,共同进步,
真正有份量的专业技术帖,寥寥几个字也是要动足脑筋反复斟酌才写得出来
动足脑筋、反复斟酌,好在对网友、同仁的尊重;
动足脑筋、反复斟酌,好在对技术的尊重、迫使自己不断追求,不断提高,锻炼更加严谨的思维,吸收来自朋友的营养,不停止的拓宽视野;
此帖出自FPGA/CPLD论坛
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

11
 

支持一下吧

我觉得用四个计数器,四个8位计数暂存寄存器,一个4位选通寄存器,一个12位的移位寄存器。还有原理图感觉上会导致操作不方便,四个选通位和数据位之间隔了4位数据会导致移位寄存器需要16位。
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

12
 
扫瑞,昨日看帖了,但要出门没时间写,现在补上。

1、关于电路,不是怕点不亮LED,相反在于正因CMOS的压降很小以致 VCC>(Vdrv1+Vled+Vdrv2) 难以控制电流。数码管不可能内置限流电阻,因为厂家不知用户会加多少伏电压,除非它不惜工本内置恒流电路。

2、关于计数器的做法可以是5花8门的,如果俺来做的话,会考虑做一个由移位时钟触发的2+4位计数器,低4位每走满一周锁存595输出一次(帧),高2位为数码管选通,全部时序控制都以这个计数器为中心。显示+1时钟比扫描速度慢n个数量级不足为虑,实际做起来还需有个字形变换程序相对稍麻烦些,把2进制转换成显示的7段码,不过只4位数码管的话,写6、70行怎么也拿下了。至于花费的时间放心好了,有FPGA的话处理1帧的时间怎么也不可能超过1ms。

另外,如再深究一点的话电路上还有个可改进的地方,就是595的空余输出脚应该放在最后,这样控制程序可以节省发4个CLK的时间。(对FPGA来说可能无所谓,CPU的话能省这4个CLK可就大了。)
此帖出自FPGA/CPLD论坛

赞赏

1

查看全部赞赏

 
 
 

回复

124

帖子

0

TA的资源

五彩晶圆(初级)

13
 
我把这个帖子补完吧,拙见还望大家拍砖。
1:在上面的帖子里,我是想对clk(主时钟)计数器实现1s计数,而把结果放在4*4bit的寄存器内,这样是为了实现0000-ffff的显示,举个例子0012H
我要将这个数显示,那么要位选的是第1 2 3 4位,但是第2 3 4位的段选数据是不变的,变化的是第1位的段选数据,然后就是要送上段选数据,也就是 1 和2
对应的段选信号;0 0 1 2 对应的段选。
2 :要想实现上面的想法,先要进行位选,再进行段选,我用一个分时显示的计数器来实现,什么时候位选,什么时候段选,怎样设计这个计数器呢,我们依然用
clk作为计数激励,在这儿插一句,大家想想以前用单片机怎么样实现,多半会用扫描的方式和利用人眼的暂留效应,来实现,在这儿我们也同样要效仿这样
,也就是在1秒的时间内尽可能多的重复发送 0012 的位选和段选信号,这样我们的分时计数器选择8位,然后用高两位(7--6)来实现位选和段选
位选: 00  -> 第一位    0012H 寄存器的 低四位
    01  -> 第二位  0012H 寄存器的 7--4位
    10  -> 第三位  0012H 寄存器的 11--8位
    11  -> 第四位  0012H 寄存器的 15--12位
这样就在0--64clk内将第一位2 送出显示,统共4*64clk内将0012 全部送出一边,也可以认为其刷新周期是256clk。
3:同样我们用clk作为激励,在并行的进程内实现位选和段选的译码,译码的结果是要将来作为串行输入595的数据源,要不然怎么显示啊,对吧
4:现在数据源有了,最关键的是我怎么样在64个clk内送出位选和段选信号,补充一下595的移位和存储时序
Data is shifted on the positive-going transitions of the SHCP input. The data in each register is transferred to the
storage register on a positive-going transition of the STCP  input. If both clocks are connected together, the shift
register will always be one clock pulse ahead of the storage register.
看图,两个595 的shcp和stcp的时钟是分开的,所以只要shcp的上升沿将串行数据输入,然后在给一个stcp的上升沿,将数据并行输出。
5 : 那么shcp和stcp的时钟怎么样给出,才能和上面所提出的分时显示clk配合给出数据呢,上面指出在64个clk内位选和段选的数据会更新一次,
怎么样在64个clk内送出位选和段选信号,就将是我们设计这两个时钟的关键
看图:第二个595的并行数据是通过第一个595的串行送入的,也就是说要经过16个clk,第一批送出的8为数据才能被第二个595 锁存,所以在这儿应该先送
段选的信号8个shcp clk,这样第一位送入的数据,在第九个shcp的上升沿,被第二个595锁存,再经过8个clk,所有数据已经被第二个595锁存,在后8个clk
内,我们要将位选的data送入第一个595
这样就实现了在stcp的上升沿,同时将位选和段选data送出,在剩余的时间内保持电平
shcp和stcp的时钟可有分时计数器来给出触发信号。
6:另外大家也可以将分时计数器的位数改变,或大或小,来改变刷新周期,看看效果,当然不要忘了改变触发时钟哦
好了,帖子 编辑完了
希望大家多扔砖,以改进设计思路。
谢谢

[ 本帖最后由 lixinsir 于 2009-10-30 11:56 编辑 ]
此帖出自FPGA/CPLD论坛

赞赏

1

查看全部赞赏

 
 
 

回复

124

帖子

0

TA的资源

五彩晶圆(初级)

14
 

sianal-tap的实时图
大家看一下吧!

[ 本帖最后由 lixinsir 于 2009-10-30 17:56 编辑 ]
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表