spxwh 发表于 2007-3-22 20:22:21

我将要做的用于虚拟示波器的数据采集卡,大家给点意见,过几天做板。

我想做一个能采样2M以下的虚拟示波器,采样点10个/周期,有些地方要大家帮一下。下面是我的设计构想和原理图。

这是全局原理图:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147569.JPG

具体思路是模拟输入信号由输入级输入,经阻抗匹配和放大后进入ICL5510进行模数转换,出来的数据存放到FIFO高速缓存芯片IDT7203,单片机将数据读出再经由D12 USB发到电脑显示,上位机打算有NI公司的LabWindowsCVI来开发(也可以用VB,VC等)。

下面我分别介绍我的各部分电路:

1.输入级

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147570.JPG

运放采用NE5532,第一个运放是接成跟随器,目的是提高输入阻抗,由于NE5532的输入偏置电流比较大所以输入阻抗不是太大,300K欧,下面是NE5532 data(敏感词0373)的截图

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147571.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147572.JPG

   如果大家觉得输入阻抗不够大可以采用JFET的高输入阻抗运放,如TL082,它的封装与NE5532兼容。

第二级输入是加法放大电路,通过选取不同的反馈电阻进行小信号的放大。由于ICL5510的输入电压范围是2V,所以大家根据需要,自行计算。不过要说明的是由于运放采用+/-15V供电,最大输出可达+/-12V左右,所以放大倍数不能太大,输入的电压也要在自己设计的范围内。也可以加一个稳压管进行限压保护。

下面讨论一下一个很重要的问题,输入带宽。NE5532接成跟随器的带宽有10M,但在放大模式下会降低很多。如9倍放大,跟理论放大倍数一致的带宽只能达到1M。输入信号的频率再大,放大倍数就会相应变低,100倍放大带宽只有100KHZ。下面是NE5532 data(敏感词0373)的截图:

测试电路如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147573.JPG

频率响应如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147574.JPG

所以本设计的采集频率范围定为1M,如果你想设计更高速的输入通道那你就要采用更高速的运放,不过这些运放价格不菲,而且封装是一个元件一个运放(5532有两个)。

这里要说明的是为什么采用加法器,因为输入的信号有正负,如果输入一负信号,那经放大输出也是负信号,不满足5510的采样输入电压范围。举个例:假如你输入一个+/-0.1v的信号,经加法器加上一个1v的电压,那得出的是+0.9~+1.1的电压信号,满足输入要求。



2.AD转换ICL5510

   ICL5510是CMOS,8位,20MSPS高速模数转换器,它采用半闪结构,5V电源供电,功率100mW。具有内部采样保持电路,这一点是非常好的,因为采样保持电路对AD的采样精度有着莫大的关系,因为只有高速的采样保持电路才能减少采样的孔径时间(这个概念很重要),这对高速信号的采样精度起很大作用。既然它内部自带,那最好不过了。5510还有高阻抗的输出并行接口和内部基准电阻。5510我认为有两个应用要点:

(1)输入采样脉冲

采样输入脉冲最大为20MSPS,占空比要求为50%,这里采用分频电路来提供不同的采样频率。分频电路原理图如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147575.JPG

分频电路采用计数芯片74HC590。选用计数器还真的花了我很大功夫,原先准备采用CD4060。后来发现其频率最多达到10MHZ左右,而且要提高供电电压,后来就用74HC4060速度达到20MHZ以上,5V供电。画好图后,偶然发现它是不连续分频的。只好重来,打算换74HC161,不过只有4分频,更多的要级联,很麻烦。最后才在一本书中看到有这款器件。74HC590是8位分频器,最低将20MHZ分为78.125KHZ。它还带三态门输出。运行频率也达到要求。输入时钟采用20M有源晶振。

这里要提出的问题是问什么要采取分频电路?直接用20M的频率输入到5510不就得了吗?其实这与实时采样有关。试想一下20MSPS的AD产生的数据可不是闹着玩的。每秒将有20Mbyte的数据产生,USB1.1的最大速率是12MBit(注意这可是byte与Bit,20与12的较量),况且USB除去校验码,桢头,桢尾的,远远达不到12MBit的速率。所以这么多的数据根本不可能实时输送。在高速转换下,只能采用存满缓存器,传送一次,存满缓存器,传送一次…..这样的非实时方法,类似于我们的数字示波器。(这里要穿插一点东西,在OURAVR的仪器类贴里,一位仁兄批评这个非实时的采样方法。其实数字示波器高速的时候采样的速率远远大于20MSPS,达到的是GSPS等级,这样高的速率,显示屏这样的慢速设备根本没法一次显示出来,就算能显示出来,如此快速变化的波形,估计最好的乒乓球选手也看不出来(乒乓球据说是达到人类反应极限的体育运动),那就显得没意义了。数字示波器有技术参数就是存储深度,将高速下的数据暂存,再慢速回放。这是我的个人经验和看法,具体的我还没有系统看过专业书籍,不对的地方望高手指正。)言归正传,再20MSPS的工作状态下,如果采样一个低频信号就只能看到部分波形,因为存储深度的限制,这一点是非常不好的。通过高频采用高频率时钟驱动,低频采用低频率时钟驱动就可以解决这个问题。而且在低频采样的数据比较少,在一定程度下就可以达到实时采样和传输了。

   关于频率的切换为了简单采用机械旋钮。由于接线要引出,可能是波形变差,所以在频率输入再用一个与非门进行整形。CHX_CS接单片机,作输入选通。

(2)基准电压

5510只有内部基准电阻,注意不是基准电压。要取得2v的参考电压,须按一定的接线方法,组成分压电路。如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147576.JPG

由于VDDA的电压稳定精度影响着参考电压的精度,建议与数字供电分离,并在靠近VDDA的地方接一个0.1u的滤波电容。经分压后在中间电阻的两端产生2V的压降。另外刚才说5510的输入电压范围是0~2V,事实上并不是这样,输入电压的范围是Vrefb~Vreft。Vrefb的典型值为0.6v。如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147577.JPG

3.FIFO缓冲器IDT7203

   由于在20MSPS的采样输出下,单片机根本没有那个接受能力(当然是51或AVR)。因为AVR的RAM的读写要两个周期,加上控制信号的操作就更不用说了。就算超到32M也不行(传说meg16有人超到这个值)。原本打算采用双口RAM的,不过写入地址信号要用到计数器产生,十分的不便。用FIFO就省去了这个麻烦。每存一个数据,地址自动加一,还有溢出信号输出。所以选用了IDT7203 ---2K*9bit的FIFO。控制信号简单,在WR或RD送进一个低脉冲就写入或读入数据,下面是它的读写时序:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147578.JPG

tRC为读周期(read cycle),典型值为45ns,tWC为写周期(write cycle),典型值也为45ns。

在读或写为高电平时器件端口为高阻态。



下面有一个很重要的点就是5510和7203的时序匹配。下面分别是7203(上)和5510(下)的时序图:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147579.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147580.JPG

从第一幅图可以看出在7203的写有效发生在W的上升沿,之前数据必须保持tDS的数据建立时间(Data Set-up Time),7203的tDS最小要18ns,tDH为数据保持时间(Data Hold Time)这个时间很小,可忽略。从5510的时序图来说在上升沿的数据保持稳定,能与7203匹配,所以我把7203的写和5510的CLk直接接在一起。这里我还有一点保留,不知道分析的对不对。为什么呢?

下面的也是5510的功能时序图:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147581.JPG

从图上可知在上升沿,数据还不稳定,下降沿数据才稳定。我不知道这两幅图有何区别,不过我认为5510的第一时序图更具有代表性,它把上升沿这样的细节都描绘出来,更接近于实际。而第二幅图像是功能解说图。这需要大家给点意见。

4.AVR单片机

   这个没什么好说的,cpu一个,论坛上大把高手,我不献丑了。

5.USB芯片D12

   关于与上位机的通信方式的选择是最费心的。原本就打算用USB,后来发觉USB太难了,程序调试来调试去都不行。后来打算用RS485,不过后来又发现RS485的芯片一般只支持到250kbps左右(更高的要采用profilebus的通讯芯片才行,估计很难买到),而且上位机的串口通信速率也不能支持到12Mbps这么高(没找到资料,知道的朋友可以说一下吗?)。最后由用回USB,不过连续调试了几天还是过不了枚举(在这里要谢谢bozai++的帮助)。希望大家能帮一下。原理图如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147582.JPG

6.上位机程序设计

   上位机的程序设计推荐使用ni公司的LabWindowsCVI,也可用vb,vc。下面是它的简介:

LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台。它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。



   采用LabWindowsCVI编程你只需要调用其中的函数和设置控件属性就可设计出专业的界面了,有点类似于vb的编写操作。不过LabWindowsCVI是面向于仪器的,当然就更方便了。想知道更多的朋友用百度搜一下,很多的。



下面是附件;

点击此处下载armok01147583.rar



由于现在做毕业设计时间比较紧,不一定能做出来,不过希望对对这方面有兴趣的朋友有帮助。
-----此内容被spxwh于2007-03-22,20:25:36编辑过

diannaoza 发表于 2007-3-22 21:09:21

支持下这类制作...

alien2006 发表于 2007-3-22 21:31:04

强烈支持啊,呵呵。一直对虚拟仪器比较感兴趣,自己也想动手DIY,可惜自己水平有限,现在只做过简单的数据采集的东西,做虚拟示波器一直是我的理想啊,可惜里面涉及的相关内容太多,难度非常大,呵呵。看了上面的帖子受益菲浅,非常感谢,期待楼主早日推出作品。另外也强烈希望楼主能够及时把进度贴上来,好让大家学习学习,谢谢:)

bozai 发表于 2007-3-22 21:33:54

严重支持啊!

fsclub 发表于 2007-3-23 08:39:29

运放不成问题,AD827好买,音响店里都有,轻松上到50M.20元一片.

但模拟部分稍有不慎,最后的波形....

yang_nr 发表于 2007-3-23 11:42:38

支持

spxwh 发表于 2007-3-23 23:32:37

今天开始画PCB,估计明天可布好线(密度比较大,要手工布线)。后天制板。

Recoochang 发表于 2007-3-24 00:44:28

支持!

ilikemcu 发表于 2007-3-24 08:00:12

这么复杂的板子今天开始画PCB,明天就可以布好线,厉害!

joylight 发表于 2007-3-24 10:28:23

好贴,谢谢lz



D12周立功有一本书,写的还可以,周立功网站上有介绍,你可以参考一下。

y2kloach 发表于 2007-3-24 11:05:01

不是太懂!不过要顶,关注中。。。。。。。。。。。。。。。。。

spxwh 发表于 2007-3-24 20:06:24

谢谢joylight,我也去图书馆找过那本书,不过给人借走了,可能要买一本才行。

spxwh 发表于 2007-3-25 14:33:31

今天才画好的PCB,修改了原图的很多错误.

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147997.JPG

这是铺铜后的:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01147998.JPG



protell99的文件:

点击此处下载armok01147999.rar

spxwh 发表于 2007-3-25 14:39:59

板子其实不复杂,因为是双通道,所以有一半的电路是重复的,不过密度太大,要纯手工布线,而且用的跳线也多。没办法,只会做单面板。大家能否给点意见?

spxwh 发表于 2007-3-26 01:08:57

做板:

今天晚上花了一个晚上做板。本以为2个钟就能搞定的。原先用的是金电子公司的感光板。感光7分钟,显影。效果很好的。谁知在冲洗前摇多了几下,很多线都断了。真是太悲惨了。图片如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148077.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148078.JPG

由于这是最后一块金电子的板。没办法只好换瑞邦电子的感光板。按着前面的步骤重复,谁知显影的时候老是显不好,总有半透明的黑色的物质附在上面,刚开始以为是显影剂不够。后来放了很多还是老样子。急起来就把它扔进三氯化铁腐蚀,最后成了废品(很多地方腐蚀不了)。第三块的时候就慢慢来了,但半透明的黑色的物质还是附在上面。最后显影久了。也报废了。哎!!做了这么多次板,最倒霉是这次了。静下心想了一下,怀疑是显影时间不够,可能牌子不同的原因。最后延长了曝光时间,显影。这次好多了,但还是有一点半透明的黑色的物质附在上面,最后用纸巾轻轻的抹掉了。倒热水,加三氯化铁,很快的就把板腐蚀好了。还不错,没断线(很多线在12mil~14mil之间),只是有点地方连线了,用小刀划掉就行了。下面是一些图片:

同学自做的晒板箱:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148079.JPG

打印出来的硫酸纸:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148080.JPG

战斗场面:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148081.JPG

第四块板:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148082.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148083.JPG

spxwh 发表于 2007-3-26 01:14:08

注意,上面最后一幅图的是为了隔离的外包地线,不是断线。

wenhuaxiao 发表于 2007-3-26 08:42:58

哦,还做成了单面板,关注中,我用的CPLD和M64的去年就做了,效果还好.

spxwh 发表于 2007-3-26 09:17:41

wenhuaxiao做的采样频率是多少?可一测最高的频率呢?能给点意见吗?

shusheng 发表于 2007-3-26 10:04:05

严重支持这类制作

mahui625 发表于 2007-3-26 15:43:31

不错,我拆了公司的坏示波器看了,他的模拟部分是没有铺铜的。只是数字部分大面积铺地。

spxwh 发表于 2007-3-26 20:25:17

各位,求救。在做usb的时候单片机不断的复位,程序好险跑飞了。这在我以前发的

“可怕的avr复位”遇到的问题一样。本来bozai说我的熔断丝设错了,我也以为是这样,但现在熔断丝里没开jtag,d12接pa口还是复位。熔断丝图如下:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148162.JPG



实物图:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01148159.JPG

电路图在上面的附件



pa----d0~d8   pd2---d12_cs   pd3----int pd4----A0pd5---wrpd6---rdpd7---res



急切希望大家拉一把。

-----此内容被spxwh于2007-03-26,20:38:56编辑过


-----此内容被spxwh于2007-03-26,20:43:51编辑过

spxwh 发表于 2007-3-26 20:50:07

程序:

点击此处下载armok01148163.rar

spxwh 发表于 2007-3-26 21:21:07

换了一块芯片,基本恢复正常,没复位了。想不到两块自己的avr都坏了,编号是0403的

借了同学的编号0539的就没复位了。怪阿。自己那两块不接pa口运行都正常的(pa

口作端口显示也正常)。但读d12的id还是错。偶尔会显示发现未知设备。

cpu100 发表于 2007-3-26 21:32:15

牛人! 支持!

spxwh 发表于 2007-3-26 23:04:36

我是菜鸟,希望大家多给点帮助阿!

sdmmqy 发表于 2007-3-28 09:15:31

我问了北京的价格,IDT7203,40YUAN

icl7650 发表于 2007-3-28 10:05:36

输入极那个偏压建议不要使用7805应该使用基准源。7805漂移能够达到上百毫伏而且会有纹波处理不好会把50Hz公频干扰引入。

spxwh 发表于 2007-3-28 11:52:17

回 sdmmqy 我的7203才买15yuan一块,我买了两块,30元,有一家要20元我没买.我在广州赛格买的。





icl7650,我也知道用7805不好,但找不到稳5v的,只好拿它暂代。你有什么好器件建议的吗?

谢谢!

spxwh 发表于 2007-3-31 20:28:18

硬件是m16+d12,程序是移植周立功的,经过多天奋战,枚举成功。本文主要讲叙移植修改和调试,过程比较详细。其中也出现一点问题,希望高手指正。

由于内容较多,就不粘贴出来了。请下载附件:

点击此处下载armok01148739.rar

eddia2000 发表于 2007-4-7 11:11:36

东西好,尽管现在还用不上,楼主这种分享精神值得顶顶!

spxwh 发表于 2007-4-7 23:41:50

开始做上位机了,由于刚开始想采用labwindowscvi的,但由于dll在那里老是提示编译出错,而且labwindowcvi的资料极少,尽管软件很好。迫不得已采用vb+measurement studio

下面只是设计好的界面,功能代码还没加上。现在在进行USb的传输速率测试,过几天才能补上代码。其中的fft可能还要大家帮忙(信号分析学得不好)。上张图看看:

http://cache.amobbs.com/bbs_upload782111/files_large/armok01149537.JPG

redpig 发表于 2007-4-8 08:17:03

辛苦了!顶你一下。

alien2006 发表于 2007-4-8 12:49:07

呵呵,搂主的进度还是挺快的嘛。再顶一下。

我也一直在关注SPXWH兄弟的进展,上位机的程序是不大好写,前些日子我也下了套labwindowscvi简单用了下,编起来到确实还算方便,不过总感觉停便扭,编译好的程序环台机器就不能用了,开始报什么库找不到,考过去后又报一大堆的错误,干脆再另外台机器上重新装了套labwindowscvi再试还是不行,真受不了,这也太折腾了,也就不高兴去玩它了。还是老老实实用会VC的好,不过labwindowscvi里面封装的那些库控件这些倒是真比较方便啊,不知道怎么能脱离labwindowscvi在VC里面给直接用起来就好了,毕竟那些都是专业的,自己编写下层的函数还是吃力不讨好啊。

    另外请问下measurement studio 是什么啊?见笑了

   还有,关于DIY电路板前2天我也刚刚用金电子感光板做了块双面的,效果还真不错,线条到0.2MM,我用的是激光打印机+透明胶片,第一块做的时候发现打印出来的胶片黑色部分还是有透光的,腐蚀好了有的地方还是不太满意,尤其是大面积铜的地方总会有点坑坑洼洼的。后来实验了下打印3张胶片,然后把3片胶片对准叠起来(实际上胶片会之间会有点自粘,所以很好对准连胶水都不用)这样黑色部分就非常完美了,不透光,腐蚀出来的PCB非常满意

spxwh 发表于 2007-4-8 19:51:34

measurement studio 正是你需要的那些可以用vc,vb调用的控件库了,他和labcvi没两样。

labcvi由于本身的问题,如果你指针稍用错了,就会死机的。这也是它最大的缺点之一

alien2006 发表于 2007-4-9 09:20:04

在网上找到了measurement studio的FLASH演示,感觉不错,不知道哪里可以下载到啊,想试试。

spxwh 发表于 2007-4-10 13:25:47

你可以到ni得主业下载使用版,或用百度搜索,还是有的下载的。不过新版的要用到vb studio.net,支持vb6.0的我也找不到。你也可以用电驴搜索软件和破解包也能找到的。

今天,基本完成速度测试了.不过经优化最多也只能达120kB左右,迟点把调试的过程文档传上来。不过基本符合我的要求了,按每秒50次的刷新速率,一次传2k的采集数据。这时波形不会闪烁太大。

那些朋友有提高传输速率的好建议,给出来参考一下可以吗?谢谢!

spxwh 发表于 2007-4-11 23:25:20

今天,基本完成速度测试了.至此基本完成整个数据通道的搭建。这里我要说一下,真切希望大家给点进一步提高传输速率的建议(会的朋友就赐教一下吧!),128kB/s还是不满意啊。迟点把measurestudio的使用要点发上来。虽然采集部分还没搞,但大家也可以利用m16的内部ad来设计自己的虚拟仪器了。附件如下;

点击此处下载armok01150098.rar

spxwh 发表于 2007-4-13 22:42:57

alien2006 ,对虚拟仪器有兴趣吗?大家可以在measurement studio 方面多交流。一个人的能力毕竟有限,而且measurement studio基本没中文资料,我都是看英文资料的,他的帮助文档很不好,连例子都没有。有一次为了一个问题,我搜索了大半天都没结果。最后才在ni的主页找到几个例子。控件方面好办,但还有一些比较好的功能,像FFT类似的频率分析,我不是很在行,资料很难看懂。有兴趣的朋友可以一起讨论,如果有好资料的就共享下。希望大家能积极参与。

spxwh 发表于 2007-4-15 23:14:49

感觉好像大家对这个不是太感兴趣,我提出的问题也没什么人给意见的。下面是上位机的程序例子,如果大家不感兴趣,那以后我就不再把后面进程贴上了。其实到了这里也基本完成采集显示了。

点击此处下载armok01150519.rar

eagle2006 发表于 2007-4-15 23:26:03

刚才看了楼主制板的阳台,有点熟悉啊。



楼主是不是在广州大学城的啊?

diannaoza 发表于 2007-4-15 23:41:41

在关注着进展...

spxwh 发表于 2007-4-16 00:39:51

我是广工的

xusp 发表于 2007-4-16 09:41:41

TLC5510跟IDT7202好买么?

xusp 发表于 2007-4-16 09:50:00

特别TLC5510好买不?

spxwh 发表于 2007-4-16 11:00:17

TLC5510很容易买到,15块左右。

xusp 发表于 2007-4-16 12:56:56

谢谢

alien2006 发表于 2007-4-16 20:58:22

spxwh写的文档真是详细啊,可见是花了很大精力的,spxwh同学做事认真的态度值得大家学习,不顶不行啊。看了你的那些文档搞得我的心也痒痒的,呵呵,也想动手做一个,不过我是业余爱好,菜鸟一个,原来喜欢玩音响,后来发现玩音响那些家伙有真才实学的人少,尽是些不讲科学不务实专门搞玄学的家伙,很鄙视,于是就不玩了,又学起了单片机,呵呵。

    虚拟示波器做起来难度真是不小,看了那些文档后了解了不少,在这里要感谢spxwh同学。现在心里总算有了点底,也打算开始准备下手了,到时候还要向spxwh同学请教。我现在打算上MAXIM申请MAX1181这个片子,双通道10BIT/80MSPS采样率的,数据存储部分我手头上有些以前386上面的32K×8的SRAM缓存芯片,15NS的,原来是打算用一个计数器,后来看到你用FIFO的方案确实感觉方便了很多,不过IDT7203这些片子估计不大好买,不知道哪里能买到啊,另外我想最好能把存储深度大些,反正芯片也要买干脆就找点容量大点的,比方说16K的7206这些了,呵呵,是不是有点贪心啊:)

alien2006 发表于 2007-4-16 21:05:36

另外,关于measurement studio前几天在网上找到了8.01的版本,支持VS2005和VS2003的,不过没有找到注册码,只能几天试用。简单编了个界面,用起来还是挺方便的,确实不错,还有里面的很多信号分析的函数。不过编译好的程序,放到另外的机器上执行好像还是有问题,还是跟它的授权和库有关系,时间关系没有深入研究了,过些日子有时间慢慢再研究了

xusp 发表于 2007-4-17 14:20:21

我也想动手做一个,你的板子已经发给PCB厂做去了,我把你的PCB整了一下,看有什么问题么,楼主不介意吧

点击此处下载armok01150743.rar

spxwh 发表于 2007-4-17 20:52:54

to alien2006:如果你想要注册码,你最好用电驴搜索一下,可能会找到。编译好的程序,不一定就能在别的机器运行,因为别的机器可能缺少库文件,还有编程软件本身的运行环境

等(以前编的串口程序就发生过类似情况)。不过你可以制作安装包,把用到的库文件还有其他必要的文件打包到一起,就解决问题了。

to xusp:你的文件是用什么软件的我的protell99打不开。不过我要说明的是这些资料大家可以任意修改。不过电路原理我也说了,有些地方还没验证过,不一定可行。大家最好用感光板试做一下。xusp 也太勇敢了还没试验就拿去制版了。不过我要提出点要求的是无论大家做得怎样(成功也好失败也好)要把你的经验,建议,体会和大家分享一下。谢谢大家支持了。



以后我改做工控了,这是我毕业前做得最后关于仪表仪器的(这不是我的毕业设计)。其实我对这个很有兴趣,断断续续收集了有2年的资料了,现在也为完成自己这个心愿付出点努力吧!希望有兴趣的朋友继续下去。谢谢!

redpig 发表于 2007-4-17 21:28:20

只懂支持!!



其实有好多人在注视着你!

xusp 发表于 2007-4-18 09:09:25

呵呵,因为做感光板不会,估计你原理图基本上对的,有一点错误,就割线飞线咯,反正在阿莫这里买了细的焊线

xusp 发表于 2007-4-18 09:11:46

99SE啊,把它导进去就可以拉

spxwh 发表于 2007-4-18 09:57:35

看了,呵呵。双面板就是省事(估计你拿去做的是双面板把),以前要绕来绕去的地方,很容易就搞定了。 xusp 记得把你的进度也贴上来阿,分享下,呵呵。

xusp 发表于 2007-4-18 12:55:10

是的,板子好做,就是那几个元件还不晓得去哪里买,阿莫这里没得买,

diannaoza 发表于 2007-4-18 13:01:43

下位机不难,难的是上位机的功能。

spxwh 发表于 2007-4-18 18:33:13

to xusp :这些元件不难找的。我在广州赛格很容易买到。可能那个FIFO芯片难找一点。

to diannaoza 天比:我觉得采集卡的关键还是硬件和下位机的程序,上位机只是负责数据的显示而已,高级一点就加个频谱分析。有measurementstudio,这是很容易的事。

spxwh 发表于 2007-4-18 18:39:56

今天花了好大一阵子才把板基本焊完,零件类别比较多,找来找去挺费时间的。

http://cache.amobbs.com/bbs_upload782111/files_large/armok01150960.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01150961.JPG



在焊接的过程中发现有些地方还是不合理,大家可参照下文件进行修改。这是本网站的一位朋友提供的,你也可以去看看那个帖子。



点击此处打开armok01150962.pdf

spxwh 发表于 2007-4-18 18:58:24

那些松香不是太干净,又没有酒精,所以底面没办法洗干净,有点难看,见谅了。

221008 发表于 2007-4-18 19:16:58

楼主牛人,做事的认真态度非常值得我们学习.

wudi 发表于 2007-4-18 20:42:13

狂顶!!!太牛了,小弟PF!

alien2006 发表于 2007-4-19 12:39:06

今天用measurement studio控件编了个简单的显示波形的界面,用MEGA32的ADC进行8BIT的数据采集,通过CH341串口转USB方式传送到上位机,波特率为1Mbps,界面刷新每秒10次,用它检测了下自己做的信号发生器输出的低频波形,呵呵,庆祝下:)虽然还很原始,离实际的示波器还很远,关键元件也没有到,毕竟先开个头先,嘿嘿

http://cache.amobbs.com/bbs_upload782111/files_7/armok01151041.GIF

spxwh 发表于 2007-4-19 18:34:03

好!记得把进度补上来阿。呵呵./emotion/em102.gif

alien2006 发表于 2007-4-20 09:03:24

昨天晚上睡觉的时候想到关于ADC分频器的问题,ADC依赖分频器的时钟来进行转换,对于不同的速度需采用不同的频率来进行采样,我想,是不是有什么器件可以通过单片机控制产生任意频率的1:1占空比方波的,这样就不用用开关来切换时钟频率了,做到全部由软件来控制?比方说DDS类芯片或者还有其它的什么时钟发生器可以采用,另外高速ADC比方说5510这个可以在20Msps下采样,那我如果把时钟放到很低,比方说1HZ,这样是否也能正常工作,只是转换频率变成1sps呢?谢谢

    还有昨天发现通过CH341 1Mbps串口通讯的时候还是会有丢数据之类的情况啊,后来只好自己定义了个简单的通讯协议来解决丢数据的问题.原先我打算按照它的PDF上用到2Mbps来通讯,看来还是不稳妥啊,感觉用这么高速率的串口不是正道啊.现在在想或者还是得改用USB或者以太网来传输数据才行啊,我的目标还是以太网.

    虚拟示波器的各个模块涉及的相关知识技术还真不少啊,要一个个慢慢啃啊.

spxwh 发表于 2007-4-20 10:55:36

这样的芯片还是有的,发这个帖之前我已找到。但由于这款芯片市场上没得买,考虑到通用性没有采用。今天才从美信把它申请回来,真巧你就提起了。芯片型号ds1307。还有申请了高速ad,不过我还是按照先前的思路把作品完成才会考虑重新制作升级版,毕竟东戳一下西戳一下,是不行的。

http://cache.amobbs.com/bbs_upload782111/files_large/armok01151103.JPG

http://cache.amobbs.com/bbs_upload782111/files_large/armok01151104.JPG



以太网也考虑过不过例子资料好像不多,而且协议应该比用usb复杂,我也曾经考虑过用它。不过好像普遍的以太芯片都是10Mbps的速率,高速的我找不到例子。当然如果能做出来

我觉得是非常好的。alien2006 到时记得发个教程来,让我也学习一下。

毕业设计开始忙起来了,以后进度可能减慢。alien2006 你就多发点进度上来哦。


-----此内容被spxwh于2007-04-20,10:58:49编辑过

spxwh 发表于 2007-4-22 19:48:22

花了两天测试了一下板子,可以说电路基本是没问题的。时序也正确,一楼所说的时序匹配正常。过几天把调试结果传上来。

今天发现了数据传输时数据丢失的现象,不过基本知道原因了。他与上位机的缓冲有关,如果你想一次接受2k的数据而不发生错误,那你的缓冲要为2k,2k过后会发生错误,大家可以用调试助手观察一下。上次在做速度测试的时候没发觉,如果给你带来不便,请原谅。

找了个好资料,大家有空看看。

点击此处打开armok01151508.pdf



从资料可知5540的采样频率有40M,而且引脚与5510兼容,如果大家嫌5510慢,可更换。呵呵,5510的通用性不赖阿。

spxwh 发表于 2007-4-22 22:41:53

芯片型号ds1307不是时钟芯片,美信好像寄错了,下面的才是:

http://para.maxim-ic.com/cache/en/results/30097.html

alien2006 发表于 2007-4-23 19:27:31

采集部分的FIFO芯片实在是买不到啊,并且时钟也是个问题,想来想去还是考虑了下面2种方案

    1:用CPLD型片连接高速ADC和SRAM芯片,用CPLD来实现ADC的时钟任意分频和SRAM缓存地址控制,这种方案的话灵活性比较高,通常高速SRAM芯片的容量还是稍微比FIFO大些,正好手头上有几片15NS的32K缓存芯片可以利用起来,并且现在ALTERA的MAXII芯片 像EPM240T100C5(5NS)这些才20元左右(淘宝上找到的,如果老的MAX 7000系列的更好找),用CPLD来实现方式很灵活简单,并且速度很快,可以达到100MHZ以上,只要SRAM的速度足够.换SRAM可以实现更大容量的缓存,

    2:采用FPGA方式,FPGA内部有比较多的RAM可以方便的实现缓存功能,通过编程可以实现小容量的缓存,并且速度非常快,按照ALTERA的手册看可以到200MHZ以上的频率,可以轻松实现更高速度的采集,缺点是价格比较高些,找到的CYCLONE II EP2C5(8NS)价格大约70元不到(淘宝上),并且需要外置一个专门的EPCS1N存储芯片,实现上电时将EEPROM的内容写到FPGA上去.

    用CPLD/FPGA方式都可以用编程方式实现时钟任意分频,并且布线起来更灵活,因为除了电源和几根全局以及JTAG引脚,剩下的IO脚全部是可以自己任意定义的,自己更倾向与使用FPGA方式,毕竟SRAM或者FIFO这些都可以在FPGA芯片内部编程实现,只要将ADC全部的数字IO脚和FPGA连接起来,再将AVR芯片部分IO口连接到FPGA,当然了还有EPCS1N,JTAG这些,硬件部分就完成了,剩下的就全部是软件编程了,布线应该是最简单的,应该自己用双面感光板就可以实现.

alien2006 发表于 2007-4-23 19:33:51

打算明天上电子市场去找找,记得以前逛的时候感觉有不少地方有CPLD和FPGA卖的,实在不就上淘宝买了,在过些日子把数字实现部分的图画一下

alien2006 发表于 2007-4-23 19:45:29

http://cache.amobbs.com/bbs_upload782111/files_7/armok01151677.GIF



简单画了下思路,过几天再详细画图

spxwh 发表于 2007-4-23 19:47:32

也好!不过我这里的cpld比较贵,二手的7128要40元。而且我没学过cpld,呵呵。估计以后也不会用到。有cpld确实方便很多。如果你要7128的资料(下载线,开发板),我可以给你。希望你成功。

alien2006你在哪里的?我估计FIFO应该很容易找到的。还有你上次说的申请的样品到了吗,什么型号阿。

出于采集的自动化,我现在设计采用cd4051的多通道切换来选择频率和运放放大倍数,我看了4051的文档,应该没问题的。所以要做多一块控制板(用meg8),负责采样频率的选取,运放反馈电阻的选择。还有测量5510的参考电压,控制78L05产生的温漂误差。还有用meg8产生一基准方波。等板子作好后,统一进行测试。分立元件比较多,不过通用,适应性比较好。

sudayan2006 发表于 2007-4-23 21:48:54

在广州赛格有maxII全系列的卖,EPM240要30块。是100脚TQFP封装的。建议用CPLD做

spxwh 发表于 2007-4-23 23:08:22

EPM240比7128的资源多吗?cpld的资源是怎样计算的。(以前同学曾说过,像与非门的,锁存器,不过后来忘了)。sudayan2006 可以大概说一下吗?

alien2006 发表于 2007-4-23 23:24:18

用CPLD和FPGA这些来做的话可以把那些外围的逻辑电路都省了,就是CPLD没法实现数据缓冲,这个只能用FPGA来做了.7128这些是比较贵的,慢慢都要淘汰了,现在的MAX II系列价格非常好啊,而且性能也提高了不少,并且速度很快最慢的也达到5NS.像EPM240这些好像大批量的话才1.25美元一片,

    上次申请的是MAX1181 双通道80Msps 10bit 的片子,到手了.还有新出的MAX1301 MAX1303这些新的16BIT 可以输入正负信号的单电源ADC,不过这个都没有给,现在没有样片,新产品到国内还是要延迟比较长时间啊.

    CD4051这个片子做交流通道的型号切换还是得考虑考虑啊,在直流环境下用还不错的,不过做示波器前端信号衰减控制还有反馈电阻切换的话,可能高频的时候带宽衰减会大些,并且它的RON大了点,而且阻值差别有点大的.示波器前端电路可以说是示波器硬件中最困难实现的,不但要保证带宽还对失真度其它的要求很高,就拿方波来说,稍微处理不好就会导致放大后的信号有过冲这些情况.具体的电路我也在考虑当中,正收集资料.

    还有ADC的基准电压为什么不用TL431呢,78L05的噪音和温飘都比较大,注意下那些ADC的DATASHEET,不但最好是低噪音的基准源而且还要加上一级RC低通滤波才行的,建议你把这个基准部分稍微改下TL431很简单的,线路板也不用怎么改

sudayan2006 发表于 2007-4-23 23:29:45

EPM240有240个LE(宏单元),大概比7128多一倍吧。我也是刚学的,我上传个资料吧

点击此处打开armok01151717.pdf

alien2006 发表于 2007-4-23 23:42:57

像EMP240这些MAXII系列的芯片现在都是采用FLASH的,不像以前的7128这些是EEPROM,只能写100次以下,还有啊,MAXII系列的价格真不错,便宜多了.用CPLD控制的话实际上可以连MCU都不用,用CPLD实现2M波特率的UART然后用CH341转USB上传到PC,呵呵

spxwh 发表于 2007-4-24 00:55:16

有CH341的资料吗?经常听人提起,但不知是什么咚咚?

spxwh 发表于 2007-4-24 01:38:45

其实并不是不知道7805的稳定性差,而是刚开始考虑到8位的ad精度有限,而且自己做这个卡的目的是可以观察波形,对采集的精度要求不高,所以就没有找稳5v的参考电压源(有偷懒的嫌疑,呵呵)。不过我会在第2块板上设计一个自动校正电路,可以减少温漂的影响(在一定温度下7805的稳定度还是不差的,所以在一定温度下对通道采样进行校正,可以去掉温漂的影响了)。剩下的只是噪声了,加多个滤波电容估计问题就不大了,对于8位ad这样几乎可以了。

今天晚上花了几个钟研究4051,发觉还是可以的。在衰减-40db(即0.01倍),带宽10M.RON(导通电阻)大了点(100欧左右),但如果供电电压采用10v以上,这个阻值变化非常缓慢,所以整体阻值可以看作不变(就算变化几十欧,相比于和他串连的k欧级的反馈电阻可以忽略)。只要你确定了通道的放大倍数后,这个值就确定了。设计个自动校正电路将会对各通道在开机时对各通道的放大参数进行扫描,这样就可以避免误差了。当然这还是理论,还要进行试验调试修正。

上个资料:

点击此处下载armok01151727.rar

roasn 发表于 2007-4-24 09:03:15

CH341是国产的USB转RS232的芯片

jacobhere 发表于 2007-4-24 10:04:33

CH341资料

点击此处打开armok01151747.PDF

点击此处打开armok01151748.PDF

spxwh 发表于 2007-4-24 12:01:49

谢了!呵呵。

alien2006 发表于 2007-4-24 20:28:11

CH341的片子用着还不错的,外围电路非常简单,我是以前从南京沁恒申请的样片,一直在用它,笔记本上的一个串口不够用,就是用它转接的,PDF上最大波特率是2M,前些日子用M32的ADC做简单采集的时候用了1.5Mbps的波特率进行实验的(手头上没有16M的晶体,因此M32的2Mbps实现不了),就是偶尔发现PC串口接受到的数据会少,当时以为是CH341串口通讯的问题,看了你关于通讯丢数据的问题,仔细想想也应该是PC缓冲区设置不对的关系,不过后来我是在PC上加了一段校验的程序判断数据接受是否正确.如果不正确就丢弃.

    另外要达到这么高的波特率,上位机的串口程序还是得自己编才行,现成的像串口精灵这些都只有几个固定的波特率.

    另,今天下午去了电子市场找了找,还真发现几家卖ALTERA期间的店铺,问到了一家北京恒昌杭州办事处的铺子,货很全,都有现货,EPM240T100才18元一片,CYCLONE II EPM2C5比淘宝上贵点要70左右都是开票的价格.真没想到这些CPLD FPGA的器件倒是挺好买的,呵呵.气愤的是离它几个店面的一家店面EPM240T100居然要价40,真敢开口啊.幸好多问了几家,不如真被这些黑心JS给杀猪了

alien2006 发表于 2007-4-24 20:45:28

CH341的片子用着还不错的,外围电路非常简单,我是以前从南京沁恒申请的样片,一直在用它,笔记本上的一个串口不够用,就是用它转接的,PDF上最大波特率是2M,前些日子用M32的ADC做简单采集的时候用了1.5Mbps的波特率进行实验的(手头上没有16M的晶体,因此M32的2Mbps实现不了),就是偶尔发现PC串口接受到的数据会少,当时以为是CH341串口通讯的问题,看了你关于通讯丢数据的问题,仔细想想也应该是PC缓冲区设置不对的关系,不过后来我是在PC上加了一段校验的程序判断数据接受是否正确.如果不正确就丢弃.

    另外要达到这么高的波特率,上位机的串口程序还是得自己编才行,现成的像串口精灵这些都只有几个固定的波特率.

    另,今天下午去了电子市场找了找,还真发现几家卖ALTERA期间的店铺,问到了一家北京恒昌杭州办事处的铺子,货很全,都有现货,EPM240T100才18元一片,CYCLONE II EPM2C5比淘宝上贵点要70左右都是开票的价格.真没想到这些CPLD FPGA的器件倒是挺好买的,呵呵.气愤的是离它几个店面的一家店面EPM240T100居然要价40,真敢开口啊.幸好多问了几家,不如真被这些黑心JS给杀猪了

spxwh 发表于 2007-4-25 00:30:46

我的天啊,我苦苦追寻的d12竟然比你的CH341慢一倍有多。那位兄弟教教我如何再提高速率阿,好让我不要那么伤心阿!

roasn 发表于 2007-4-25 08:54:03

to spxwh:

D12做好了绝对比CH341快的,据说zlg的程序做得不是十分好,所以速度上不去。CH341的波特率即使到了2M,也只是200kB/s而已,而用D12,有人已经做到1MB/s了。所以,要想提高速度,还是需要下点功夫的。

另外,关于USB,你可以去驱动开发网看看,那里的USB版不少关于D12的文章。

如果想更快,建议用USB2.0,推荐带USB的ARM,如s64、LPC214x,或者CY7C68013。

spxwh 发表于 2007-4-25 19:25:02

谢谢关照正努力着。呵呵

spxwh 发表于 2007-4-26 01:31:40

好不容易完成采样通道的设计,不过还没测试,板子还没做。先上个资料,这里有些东西是我个人理解的,大家觉得不妥的地方请指出。

点击此处下载armok01152041.rar

点击此处下载armok01152042.rar

diannaoza 发表于 2007-4-26 02:50:10

He...完成的进度如何啦,可以当工具用了没有。

spxwh 发表于 2007-4-26 10:18:05

如果通道放大倍数要求不高,且采用手调就没问题了。只是现在采用通道放大倍数自动调节和频率自动选择,需要做多一块板了。没cpld做起来确实有点复杂了。

jacobhere 发表于 2007-4-26 10:22:24

加油,我也一直想搞这个

Wilson_Mok 发表于 2007-4-26 15:27:46

采样2M以下的虚拟示波,我支持你,但能不能再高点啊?

roasn 发表于 2007-4-26 15:58:14

我有意做个采样100M的,计划用FPGA+ARM。

也许还会加上逻辑分析仪的功能。

不过可能没有那么快完成,因为还在尝试的阶段。

spxwh 发表于 2007-4-26 19:38:23

“采样2M以下的虚拟示波,我支持你,但能不能再高点啊?”

to Wilson_Mok:高速的采集卡并不是搞不出来,而是器件选取非常难,市面上这样的高速器件,很难找到。20M采样频率已经不慢了,视频信号也是采用这块芯片转换的。如果你的模拟通道部分够快,加上一个高速的采样保持器,根据香农定理,就可以测量10M的稳定频率了(注意频率稳定才能测出)。其中的原理你要参考有关资料,我就不说了,长编大论的很恐怖。有时候一味的追求高品质,不从实际出发我想只会一事无成。

   其实我何曾不想提高性能,只是高性能器件很难买到(有钱也不行啊,况且我没那么多钱,呵呵)。做出来的东西也没有通用性。没什么意思。只要你阅读一下我发的文档,会明白我的意思的。这里面有我的个人见解,如果冒犯了各位,请原谅。

你说的“采样2M以下的虚拟示波”说法不对,2M是可以观察到的正弦波形,每个周期有10个采样点。ni公司的采集卡,很多也只是在2M的采样频率以下,比起20M算是小了。

spxwh 发表于 2007-5-5 11:06:29

休息了几天,准备开工了。各位的进度如何?

jia_xuan 发表于 2007-5-5 19:29:07

支持楼主

zng4 发表于 2007-5-8 21:48:38

高质量的帖子,顶.
-----此内容被zng4于2007-05-08,21:52:30编辑过

cpcgdut 发表于 2007-5-18 00:29:45

文档armok01148739.rar中Keil C源程序连接通不过,错误提示如下,不知道什么原因,请高手指点:

===============================================================================



礦ision2 Build Log

Project:

E:\Documents and Settings\GQY\桌面\USB\usb_final\D12原程序\PDIUSBD12.uv2

Project File Date:03/19/2007



Output:

Build target 'PDIUSBD12'

compiling Chap_9.c...

compiling D12CI.c...

compiling D12Driver.c...

compiling D12HAL.c...

compiling Descriptor.c...

compiling Main.c...

MAIN.C(26): warning C280: 'a': unreferenced local variable

MAIN.C(28): warning C280: 'i': unreferenced local variable

linking...

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

    SEGMENT: ?PR?GET_D12_FIRMWAREVER?D12DRIVER

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

    SEGMENT: ?PR?INIT_SPECIAL_INTERRUPTS?MAIN

*** WARNING L15: MULTIPLE CALL TO SEGMENT

    SEGMENT: ?PR?_OUTPORTB?D12HAL

    CALLER1: ?PR?USB_EXCEPTION?D12DRIVER

    CALLER2: ?C_C51STARTUP

*** WARNING L15: MULTIPLE CALL TO SEGMENT

    SEGMENT: ?PR?_INPORTB?D12HAL

    CALLER1: ?PR?USB_EXCEPTION?D12DRIVER

    CALLER2: ?C_C51STARTUP

*** WARNING L15: MULTIPLE CALL TO SEGMENT

    SEGMENT: ?PR?_SINGLE_TRANSMIT?CHAP_9

    CALLER1: ?PR?USB_EXCEPTION?D12DRIVER

    CALLER2: ?C_C51STARTUP

*** WARNING L15: MULTIPLE CALL TO SEGMENT

    SEGMENT: ?PR?_D12_WRITEENDPOINT?D12CI

    CALLER1: ?PR?USB_EXCEPTION?D12DRIVER

    CALLER2: ?C_C51STARTUP

*** WARNING L15: MULTIPLE CALL TO SEGMENT

    SEGMENT: ?PR?_D12_SETENDPOINTSTATUS?D12CI

    CALLER1: ?PR?USB_EXCEPTION?D12DRIVER

    CALLER2: ?C_C51STARTUP

*** ERROR L107: ADDRESS SPACE OVERFLOW

    SPACE:   DATA   

    SEGMENT: ?DT?CHAP_9

    LENGTH:0019H

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

    SYMBOL:CONTROLDATA

    SEGMENT: ?DT?CHAP_9

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

    SYMBOL:BEPPFLAGS

    SEGMENT: ?DT?CHAP_9

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 06ADH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 06EDH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 089CH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 08C3H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 07DEH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 080DH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0860H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0889H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 09A9H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 09C9H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0976H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0996H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 090FH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0932H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 02C8H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 02EAH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 034FH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0509H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12CI.obj (D12CI)

    ADDRESS: 0573H

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL

    SYMBOL:TIME_COUNT

    MODULE:D12Driver.obj (D12DRIVER)

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL

    SYMBOL:LED_TEM

    MODULE:D12Driver.obj (D12DRIVER)

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0700H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 070FH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0714H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 071BH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0727H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 072CH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0733H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0741H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0746H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0ADCH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0AE1H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0AFCH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0B01H

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

    SYMBOL:TIME_COUNT

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A19H

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

    SYMBOL:TIME_COUNT

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A1BH

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

    SYMBOL:TIME_COUNT

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A20H

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

    SYMBOL:LED_TEM

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A23H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A26H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0A2BH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0236H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 023BH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 024FH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0254H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0263H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 0268H

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 029AH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:D12Driver.obj (D12DRIVER)

    ADDRESS: 029FH

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL

    SYMBOL:BEPPFLAGS

    MODULE:Main.obj (MAIN)

    ADDRESS: 0A47H

Program Size: data=223.0 xdata=0 code=3111

Target not created



================================================================================

spxwh 发表于 2007-5-18 10:45:14

你的单片机的资源不够,你用的是51吧

greencamel 发表于 2007-5-18 21:57:14

spxwh 大学城广工的吧,东区还是西区啊?

我西区的,你是我师兄哦,有空指导一下

spxwh 发表于 2007-5-19 09:52:47

./emotion/em003.gif
页: [1] 2
查看完整版本: 我将要做的用于虚拟示波器的数据采集卡,大家给点意见,过几天做板。