|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-9-18 13:12:41
|
显示全部楼层
zxq6 发表于 2012-9-18 12:06 ![](static/image/common/back.gif)
感觉很可能不行,因为xmega最高速度才32M,需要采集80M的速度,不符合奈奎斯特定理 ...
呵呵,你误解我的意思了,我的目的是让单片机尽可能快的采集到数据线上的数据,并不是要每一个数据都采集到。比如数据线上数据是以0开始自加,1,2,3......可能单片机采集到的第一个是30,第二个是50,我的目的是要(50-30)尽可能的小。由于数据线是10位,而单片机PORT只有8位,所以,要采一个10位数据需要对两个I/O操作,而第一个I/O操作和第二个之间间隔会有好几个单片机周期,这样,两个port采集到的就不是同一时刻的数据。比如数据线上现在是00 1111 1111,PF采低8位 1111 1111,然后再操作PR口采高两位,但是,因为之前采低8位需要执行好几个单片机周期,此时,数据线的数据可能已经是01 0000 0000,这样,PR采到的就是01,那么,拼接起来是 01 1111 1111,而不是实际应该 采集到的 00 1111 1111。所以,要想两个PORT采到的是同一时刻的数据,就需要单片机在采之前,产生一个锁存信号,把这一时刻的数据线数据锁存,然后采;接着重复锁存,采.....。但是,这样以来,因为单片机本来就慢,现在又要额外产生锁存信号,就会更慢。所以,我的问题是,单片机能不能不同的I/O端口同时操作,或者其他可以实现提高速度的方法。 |
|