duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2559回复:20

基于USB的数据采集(郁闷)

楼主#
更多 发布于:2003-07-19 20:11
我的A/D转换是通过读写信号控制的,单片机的读写信号同时与A/D转换器的读写端和D12的读写端相连,数据线共用,这种接法是否有问题?我得到的采集数据始终不是希望的值.是不是可能由于USB的中断优先级高,当A/D转换完成产生中断,就要输出数据时,D12又产生中断,这时读到的信号可能是D12发过来的数据,而不是/AD输出的数据,但想不到如何解决,ADC的电路图如附件,D12的接法基本按照标准的接法。现在得到的数据大都是00和08,可能这些数据正是D12发过来的数据。望各位帮帮忙,谢谢!!!!

[编辑 -  7/21/03 by  duanjong]

最新喜欢:

sunmaculasunmac...
wang_jingfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-07-13
  • 最后登录2003-09-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-20 10:30
全部电路图才能看出来错误
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-20 20:52
休息了两天,搞了个USB通讯板,很快搞定,但前几天搞的基于USB的数据采集还是存在问题,真是郁闷?问题如上,大家来分析分析,谢谢!!!
wang_jingfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-07-13
  • 最后登录2003-09-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-21 17:52
我问你详细电路图????????????
估计是片选的问题,你的D12到底是怎么接的?片选最重要了。注意要用译码实现,或者线选法,你的,明白?
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-21 19:30
我想哪个中断高都没问题的,只要把地址分配好。你说的usb通信板是怎么回事啊?怎么接的?还有你单跳采集有问题吗?
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-21 20:07
我提到的基于USB的数据采集和USB通讯板是两块板子,由于前一段时间一直在调试基于USB的数据采集系统,但调试的过程中遇到了问题,很久没能搞定,自己感觉很是郁闷,所以换换口味,搞了个USB通讯板,主要是完成USB和232通讯,现已经搞定,但前一块板子还是存在问题,单独调试时都是正确的,但当把数据采集和USB连调时,数据输出始终不是实际的值,我想通过片选来控制数据采集和USB芯片,但如果在采集时不选择USB芯片,枚举就不成功,如果选择上,数据输出又不对,郁闷的很,大家有何高见?duanjong@163.com

[编辑 -  7/21/03 by  duanjong]
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-21 20:25
是不是你把片选弄错了啊,不然2个器件都是中断的实现的应该互不影响才对啊。我做的usb板上还有个液晶显示,都没问题的,能把你的电路给我看看吗?
EMAIL:YXP@QIXIANGC.COM
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-21 20:26
wang_jingfeng 你好:
                   我用的是片选法,通过单片机的P1.6控制D12的CS,通过P2.7控制数据采集芯片,但我觉得D12的片选没有太大用途,除了在枚举起始阶段调用外,一般都得置其为零,当我试图在数据采集时把CS置为1时,枚举马上失败,所以CS必须一直选上(置为零)
wang_jingfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-07-13
  • 最后登录2003-09-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-23 20:39
你犯的大错误,片选怎么能一直选中呢?这样的话,读写都会对D12起作用。哪能不出错?另外,你一定要记住,在枚举的时候,不能开采集中断,枚举成功后再开采集中断。因为枚举需要单片机快速响应。否则就会出错。注意中断的现场保护。否则你会很难看
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-23 22:32
但当我在数据采集中断中不选择D12的片选信号的话,枚举马上失败???
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-23 22:48
你可以试试只有在读写ad的时候时候将d12的cs置1,其余时候都是0,我做的板子还有一个液晶显示,d12只占了2个地址空间,枚举时好象对设备响应速度要求不是很高吧,我将主机对设备的请求通过232口发回pc机,同时在液晶屏上显示出来都来的及。
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-23 23:17
我试过了,枚举总是失败
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-07-23 23:27
你也太夸张了,现在哪有哪个学校因为做东西不成功不让毕业的啊!
对了,现在都7月底了,你们还没毕业??
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-07-24 09:36
我明年四月份毕业,前一段时间在搞USB通信板,现已成功,但现在的基于USB的数据采集板,虽然枚举可以成功,但采集数据输出一直不对,这已经花了我好长时间,很是郁闷。当单独调试数据采集时,只有在模拟电压为0和5V时输出是正确的,其余的都不对,我想是不是干扰的缘故?郁闷!!!
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-07-24 09:49
硬件就是这样了,不一定那里出了让自己都接受不了的错误,再仔细检查一下吧。
wang_jingfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-07-13
  • 最后登录2003-09-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-07-24 19:49
你用的什么AD啊?枚举只有在刚接入设备时才有,你怎么搞的这么混乱。我要是你老师的话,肯定痛骂你一顿。
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-07-25 00:27
昨天没注意你的email还有附件,今天看了一下,我先指出你设计中一个严重错误,就是0809OE,还有0809ALESTART,应该是用p2.7和RD、WR与得到,而不是或,不然你一读0809的OE就有效了,所以你连枚举都不能成功了!先把这个问题解决了,再看其他问题。
随便问一下,你是哪个学校的研究生啊?
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-07-25 00:43
纠正一下说法,是我看错了,应该没问题的。
不知道你分配给d12和0809的地址分别是什么?
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
wang_jingfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-07-13
  • 最后登录2003-09-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-07-25 12:26
我又仔细的研究了你的电路,AD是没有问题的。单独采集不好用估计就是芯片是坏的。另外USB枚举过程在开始已经分配了。应该不会和采集中断混在一起。你是采集一个数据就上传吗?枚举成功灯会一直亮。传输数据时会闪。可以初步判断下硬件的错误。你D12的A0是接地址线了吗?如果用ALE来锁存的话要出问题。这我实验时发现了。用AO要好一些,片选是必须有的,否则会对D12胡乱操作,肯定出错。
blue_wind
驱动中牛
驱动中牛
  • 注册日期2002-11-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-07-26 01:21
用ale真的会出问题吗?我没试过,d12就做得这么差啊!
datasheet上不是将A0接VCC嘛,你怎么接地啊。不过他枚举能成功说明没问题啊!
好东西大家共享,没必要做从复的劳动! 冒着微软的炮火前进!前进!前进!进!
上一页
游客

返回顶部