打印

这个问题有点难,急!

[复制链接]
楼主: yezhenyu
手机看帖
扫描二维码
随时随地手机跟帖
41
iC921| | 2008-11-21 10:46 | 只看该作者 回帖奖励 |倒序浏览

楼主说说吧

你到底能提供多少个IO口?!

使用特权

评论回复
42
yezhenyu|  楼主 | 2008-11-21 20:13 | 只看该作者

回楼上,说出来一定会让您晕倒

只有1个IO口可用。

使用特权

评论回复
43
yezhenyu|  楼主 | 2008-11-21 20:30 | 只看该作者

re:41楼

思路很好,电路很精简,脉冲信号宽是20-60US,F340的AD采集转换再加上程序上的处理,时间已经game over 了。速度不快的话此方案极佳。

使用特权

评论回复
44
iC921| | 2008-11-22 13:31 | 只看该作者

请楼主将IO口分配方案交代一下

想一晚上都想不通,怎么能通过一个IO口就能完成这样的任务。

信号幅度的信息,不管怎样都是要通知MCU的。一个IO口又要接收电平信息,又要判断多个幅值信息,不是单总线,还真不知道谁能实现。可是,就是不考虑转换电路的问题,单总线有那么快的速度吗?

yezhenyu 发表于 2008-11-21 20:13 模拟技术 ←返回版面    

43楼: 回楼上,说出来一定会让您晕倒 

只有1个IO口可用。

http://focus.ti.com/lit/ds/symlink/sn74hc148.pdf 

使用特权

评论回复
45
ljm810010| | 2008-11-22 13:46 | 只看该作者

同意iC921观点

除非AD速率有100K以上,且程序可以10US内处理完运算,否则1个IO不可能实现该功能。别的IO总能复用吧!

使用特权

评论回复
46
yezhenyu|  楼主 | 2008-11-22 21:54 | 只看该作者

哎,做电子民工累死了,加了一天班调程序

总算调通了,总结一点:编程序的逻辑思维一定要缜密。怀疑编译器或机器有毛病时,往往是自己的逻辑错了或者不严密造成的。
还有一点就是算法很重要,尤其在代码量上体现显著。
忘了说了这个程序不是本主题的程序,改日给出楼上2位所问,今天该歇歇了,要不会崩溃的,哈哈。

使用特权

评论回复
47
iC921| | 2008-11-22 23:15 | 只看该作者

楼主好幸福啊,有那么多的事干

忙都忙不完

使用特权

评论回复
48
fzyuan| | 2008-11-23 20:12 | 只看该作者

Re: 44楼

如果说只有1个IO可用,那么41的方案无用。
但是你说时间不够应该不至于,AD的时间为5us,并且可自动启动,足以作2次AD,所以时间不是问题,倒是中断太过频繁。

使用特权

评论回复
49
yezhenyu|  楼主 | 2008-11-24 20:39 | 只看该作者

图来了

RE:49楼时间够用,在60US内能查询8个幅值的脉冲吗?嘿嘿

使用特权

评论回复
50
yezhenyu|  楼主 | 2008-11-24 20:44 | 只看该作者

再传

忘了怎么上传的了,点击下面的上传图片为啥没反映啊

使用特权

评论回复
51
bald| | 2008-11-25 15:14 | 只看该作者

把信号分两路

一路做脉冲识别,一路做幅度识别。
脉冲识别可以钳位后送比较器,对前沿稍做积分后启动A/D转换
幅度识别的一路可以分压后送A/D,然后由软件判别记数
如果脉宽最窄20uS,A/D采样速率应不低于100K samples/S

使用特权

评论回复
52
fzyuan| | 2008-11-25 18:58 | 只看该作者

楼主:到底是怎样的脉冲呀?

你在楼顶说:“有周期为110us的电压幅度有300mv、500mv、1.2v、3v、5v、7v、8v、10v的脉冲信号在一段时间内需要测量它的脉冲个数,”

这个周期“110us”到底是什么意思:
1:是每过隔约110us来一串幅度为“300mv、500mv、1.2v、3v、5v、7v、8v、10v”的8个脉冲?
2:还是每隔约110us来1个幅度为“300mv、500mv、1.2v、3v、5v、7v、8v、10v”中其中之一的脉冲?
3:或是每隔约110us来一串幅度为“300mv、500mv、1.2v、3v、5v、7v、8v、10v”中任意个脉冲?

如果铁定是“1”,那么很简单,只要计10V的那个脉冲就可以了,以一代八;
如果铁定是“2”,那么时间就来得及了;
如果可能“3”,那么,我之前的方案没辙。

使用特权

评论回复
53
yezhenyu|  楼主 | 2008-11-25 19:05 | 只看该作者

楼上的请详细说说

比较、微分清楚,但保持的图看的有点晕。为什么不能上传呢?还是我的IE有问题。当前网页的左下角有个黄色的叹号,然后是完毕

使用特权

评论回复
54
yezhenyu|  楼主 | 2008-11-25 19:15 | 只看该作者

re:54楼

上周末实际测了一下是每隔80US来1个幅度为“300mv、500mv、1.2v、3v、5v、7v、8v、10v”中其中之一的脉冲即第二种情况,脉宽窄的20US,宽的50US。要求是实时检测实时显示。

使用特权

评论回复
55
fzyuan| | 2008-11-27 23:41 | 只看该作者

大概的想法:

假设在时刻“0”来了一个脉冲(宽度不小于20us,幅度未知),
脉冲经F340内部比较器整形后通过CNVSTR启动ADC,
5~8us(不占用CPU时间)后,ADC结束并给出中断,
根据AD结果进行分别计数。
以f340的速度,10us内(真正占用CPU的时间)肯定可以处理完成1个脉冲的计数,如此,CPU至少还7/8的空闲用于系统的其他事件处理。
另外,CEX可以不用。

使用特权

评论回复
56
yezhenyu|  楼主 | 2008-11-28 20:24 | 只看该作者

多谢FZYUAN大侠

问题是地主又要求除了上述8种脉冲外,还需增加8种脉冲的计数测量,比如说电压幅度为20MV,50MV,100MV等,这还有辙吗?俺分析没戏,因为一个脉冲至少5US内完成还要实时显示,oh,my god!

使用特权

评论回复
57
fzyuan| | 2008-11-30 15:36 | 只看该作者

理论上有辙,可以一次类推,但是AD的分辨力可能有问题

使用特权

评论回复
58
yezhenyu|  楼主 | 2008-11-30 21:39 | 只看该作者

re:fzyuan大侠

俺实际编程试验过,就用340的AD频率跑到100K都不行啊,跟实际情况相差极大。实际是电压幅度高的脉冲少和电压幅度低的脉冲多,但是根据AD采集转换的情况恰恰相反。看来得加硬件来解决了。

使用特权

评论回复
59
fzyuan| | 2008-12-3 13:18 | 只看该作者

不明白你说的AD频率跑到100K都不行啊

不行是什么意思?
1.是AD时钟到不了100k?
2.还是100k的转换频率时,AD结果已经没谱了?

1是不可能的,除非你就用了他的低频振荡器做系统时钟了;
2有可能,而这正是需要进行调整的地方,AD端口可以增加小电容,而且尽量将CNVSTR信号进行几个us的延时,以使AD能够在输入脉冲的中间位置进行转换。

使用特权

评论回复
60
yezhenyu|  楼主 | 2008-12-3 21:15 | 只看该作者

回楼上一贯的支持,Thanks.

100K当然是AD的转换时钟啦,AD端口增加了小电容也不行,“而且尽量将CNVSTR信号进行几个us的延时,以使AD能够在输入脉冲的中间位置进行转换”这个可没准了吧。FZYUAN大侠有没有增加硬件的好点子,当然8253不能用了,太老了,比较器肯定行,就是用的太多;还有其他的点子不?

使用特权

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

本版积分规则