经济型袖珍示波器DS0201V1.1版硬件中的全套源程序
终于实现了我之前说过的开源许诺,在这里我衷心希望凡是下载了这个程序的朋友,能多多给我意见,好坏不拘,只言片语也好,让我能从中汲取经验,技术上更加完善。千万千万,拜托大家了!
该程序分为两部分,第一部分是DFU(Device Firmware Upgrade)程序,也就是一个用USB的Boot Loader程序。安装上它以后,就可以不用JTAG
等专用编程工具,直接通过USB从PC下载更新目标程序。第二部分才APP是示波器的控制程序。这些程序都是在iar4.42环境下编译的,全套的工程
文件一并附上。
如果不想通过DFU程序,直接用专用编程工具将目标程序写入,则APP部分的程序相关起始地址需要修改,具体操作可以参考我以前发的帖子:
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=1916386&bbs_page_no=1&search_mode=3&search_text=wood88&bbs_id=9999
点击此处下载 ourdev_466683.zip(文件大小:1.07M) (原文件名:袖珍示波器DS0201V1.1版源程序.zip)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466737.jpg
(原文件名:DS0201_2.jpg) 沙发,支持 不错。有套件时考虑支持一套。 支持,要套件 不错,支持! 等套件 顶~~ 漂亮 等套套 如此袖珍 http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466801.gif
(原文件名:767a891ad6c7993ced801340ab4896c0.gif)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466802.gif
(原文件名:767a891ad6c7993ced801340ab4896c0.gif) 俺定一份您的套件,与您共同学习.出套件时一定要留一份给我.做得太棒了! 多少钱??我也想要一套 终于在bure那给蹭到了一套
经过“改装”后,成为了我第一套有真正“手持”意义的示波器,哈哈、、
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466841.jpg
(原文件名:2-1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466842.jpg
(原文件名:2-2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466843.jpg
(原文件名:2-3.jpg)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466844.jpg
(原文件名:2-4.jpg) 可以叫产品了,不仅仅是产品还开源“定购两套”支持!再次说声“牛”,发行时邮件通知diannaoza@163.com 很强~ 强啊,不知道性能怎么样,好像第一次看到。 强人 好东西啊,顶楼主。啥时发行套件啊? 一个小秘密!
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466871.jpg
(原文件名:2-5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466872.jpg
(原文件名:2-6.jpg) 不错,支持! 我订一套,发行时邮件通知tgp6188@163.com 订购一套 很好很强!请问楼主,产品的带宽是多少?如果出售,价位大约是多少? 喜欢,想订购一套 goldrained@163.com 很不错啊,支持 支持 支持,做的太漂亮了。 做的非常漂亮!信号源做的很隐蔽啊,呵呵! 太漂亮了,支持!~!! 不说别的了,等套件 太酷了 经过【13楼】 yijian 大大的改进,看来这个袖珍示波器可以改名叫做“腕戴式”示波器了,看来这回爬上信号机架时不愁没地方放示波器了!对了,看看谁可以提供更小一点的外壳,我觉得有把握再做一个“手表式”示波器出来,不知道有没有市场? mark mark 这个很不错。 你好,楼主!我要一个,想换成3.5”屏方便吗? 【36楼】 njstarman :想换成3.5”屏方便吗?
复:不考虑外壳安装的话,只要是带控制器(9320、9325、7781等)的320×240TFT屏,不论大小,稍微修改一下驱动程序就可以用。
我会尽量帮你参谋参谋。 太漂亮了,佩服 学习了,感谢您的无私,期待套件,我的建伍说实话快不行了。。有了套件吐血支持,来两套,留下邮箱471661781@qq.com good 出套件吧! 这么漂亮的东西,值得拥有! 我想买!! 不错 做的简直是太漂亮了!!!!
真是厉害得恐怖!!!! 很漂亮!很厉害! 这个要支持 太漂亮了 mark一下 太棒了 Mark,太强啦。 很好!!! 我看到taobao上面有,不知道是不是楼主出售的,http://favorite.taobao.com/collect_channel-1-hot----40-.htm;两家的价格相差的还真大,如果楼主有出售,那就更好了,预定一个。 【53楼】 snow_person01:
本人未做过网上销售,这个“经济型袖珍示波器DIY套件”的销售工作全权委托给了两个网友开的淘宝小店:
http://shop36212219.taobao.com/
http://shop58663480.taobao.com/
其他的我就不知道是怎么回事了。 很漂亮啊! 此次配机的2G的SD卡不能读写文件的问题已经解决!我以前手上的各种SD卡都是512字节/扇区的,谁知道该批2G的SD卡不是。抱歉!
1. 该批2G的SD卡在SPI模式下的扇区映射与在并行模式下不同,因此要插在袖珍示波器上,用电脑通过USB对其进行格式化,格式化选择FAT格式,快速格式化即可。注:凡是用电脑读写这种卡上的波形文件时,必须插在袖珍示波器上,通过USB读写。
2. 格式化完成后,再拷入波形文件模板,此时在电脑上应该可以看到这些拷入的文件。
3. 修改固件程序中的Files.c文件“char FAT_Info(void)”函数中的内容:
SecPerClus = SectorBuff;
RsvdSecCnt =(SectorBuff<<8)+(SectorBuff);//0x0001
FAT_Size16 =(SectorBuff<<8)+(SectorBuff);//0x001F
Hidden_Sec =(SectorBuff<<24)+(SectorBuff<<16)+(SectorBuff<<8)+(SectorBuff);
FAT_Size32 =(SectorBuff<<8)+(SectorBuff);
if(FAT_Size16==0)
Root_Addr =(DiskStart + RsvdSecCnt + 2*FAT_Size32)*512;
else
Root_Addr =(DiskStart + RsvdSecCnt + 2*FAT_Size16)*512;
return 0;
修改为:
SecPerClus = SectorBuff;
SectorSize =(SectorBuff<<8)+(SectorBuff);
RsvdSecCnt =(SectorBuff<<8)+(SectorBuff);//0x0001
FAT_Size16 =(SectorBuff<<8)+(SectorBuff);//0x001F
Hidden_Sec =(SectorBuff<<24)+(SectorBuff<<16)+(SectorBuff<<8)+(SectorBuff);
FAT_Size32 =(SectorBuff<<8)+(SectorBuff);
if(FAT_Size16==0)
Root_Addr =(DiskStart + RsvdSecCnt + 2*FAT_Size32)*SectorSize;
else
Root_Addr =(DiskStart + RsvdSecCnt + 2*FAT_Size16)*SectorSize;
return 0;
另外在该文件开始的变量定义部分增加:
unsigned short SectorSize;
即将发布的V2.01版固件中,将包含这一修改。
lwy86 和 Paul :
能不能详细描述一下你们遇到的情况?(卡的规格、故障现象、电脑是是用XP吗?我用的是VISTA) 补充:
修改固件程序中的Files.c文件“char FAT_Info(void)”函数中的内容,使该牌子2G的SD卡在FAT32模式下能用:
原:
if(FAT_Size16==0)
DirSecNum =0;
else
DirSecNum = 0x20;
修改为:
if(FAT_Size16==0)
DirSecNum = SecPerClus;
else
DirSecNum = 0x20;
原:
for(SectorCnt=0;SectorCnt<DirSecNum;++SectorCnt){
Rvalue=MSD_ReadBlock(SectorBuff, Root_Addr + SectorCnt*512, 512);
修改为:
for(SectorCnt=0;SectorCnt<(DirSecNum*SectorSize/512);++SectorCnt){
Rvalue=MSD_ReadBlock(SectorBuff, Root_Addr + SectorCnt*512, 512);
原:
File_Addr = Root_Addr +(DirSecNum +(ClusterNum -2)*SecPerClus)*512;
return 0;
修改为:
if(FAT_Size16 ==0) File_Addr = Root_Addr +((ClusterNum -2)*SecPerClus)*SectorSize;
else File_Addr = Root_Addr +(DirSecNum +(ClusterNum -2)*SecPerClus)*512;
return 0;
注:经试验发现,该SD卡插在袖珍示波器上,用电脑通过USB对其进行FAT32快速格式化时,有时完成后
不能自行退出格式化程序。但强行中断后,仍然可以正常使用。 Bure:
能不能传授一下怎样去掉高速率档边沿毛刺,你的1.1有,而2.0固件就没有了.
要是能贴一段代码就更好了。 外表很漂亮,佩服一下
LZ,此宝贝既然是示波器,那能否提供示波器的参数? 【58楼】 Paul :能不能传授一下怎样去掉高速率档边沿毛刺,你的1.1有,而2.0固件就没有了.
要是能贴一段代码就更好了。
复:能不能将场景描述的更详细点,我还不大明白。能给个照片吗?
【59楼】 sunny1500 晨辉:那能否提供示波器的参数?
复:参考http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3392609&bbs_page_no=1&bbs_id=3053 同59L 想知道采样率 等参数 1MHz 偏低了点希望有后续版本 回【60楼】 bure:
问题找到了,是我的问题
由于没搞懂各档采样缓冲区内数据与实际电压换算的系数,就用显示缓冲区内的数来算,又怕显示缓冲区精度不够,就放大了256倍,然后显示时再缩小256倍.导致小于256的数被256除全为0.
Vr=Km]*(Scan_Buffer-Scan_Buffer)/16;
Vs=(Km]*(2048-Scan_Buffer))/16+30720
-(((i*1024*256)%Ks])*Vr)/Ks];//转换当前波形点的值
if(Vs>MAX_Y*256)
Vs=MAX_Y*256;
else if(Vs<MIN_Y*256)
Vs=MIN_Y*256;
Signal_Buffer1=Vs;
Signal_Buffer=Vs/256;
这便是那段代码。
现在正努力分析你的代码,争取搞懂各档采样缓冲区内数据与实际电压换算的系数,这样就可以直接计算电压而不用这个笨办法了。 关于电池容量测量的BUG,修改如下:
HW_V1_Config.c文件中ADC_configuration函数:
原:
ADC2_SQR3 =0x00000004;
ADC1_SQR3 =0x00000000;/*ADC规则序列寄存器 3
||||||++---SQ1=00000:转换序列中的第1个转换通道的编号(0)
+++++++----SQ2-6=00000:转换序列中第2-6个转换通道编号(5Bits*5)
+----------保留*/
改为:
ADC2_SQR3 =0x00000002;
ADC1_SQR3 =0x00000000;/*ADC规则序列寄存器 3
||||||++---SQ1=00000:转换序列中的第1个转换通道的编号(0)
+++++++----SQ2-6=00000:转换序列中第2-6个转换通道编号(5Bits*5)
+----------保留*/ 我的TF卡是2G KINGMAX的,试过3个读卡器,都显示2G,读写、FAT和FAT32格式化都没有问题。
但插到示波器上时却显示3.75G,格式化时只有FAT32可以选,格式化后可以通过示波器拷贝文件,但还是经常不能保存调用波形。
更奇怪的是明明已经用读卡器格式化了FAT格式的,插到示波器上却是FAT32,文件也没有了。
而且将示波器插_我公司的电脑一点反应也没有,起初怀疑USB线的问题,但后来换了3根线也不行,用同样的线插到我的笔记本上就可以。
所以我在“经济型袖珍示波器之-打造你的个性化界面 ”贴上说 怀疑是不是USB1.1与USB2.0的问题。 【65楼】 lwy86:我的TF卡是2G KINGMAX的,试过3个读卡器,都显示2G,读写、FAT和FAT32格式化都没有问题。
但插到示波器上时却显示3.75G,格式化时只有FAT32可以选,格式化后可以通过示波器拷贝文件,但还是经常不能保存调用波形。
更奇怪的是明明已经用读卡器格式化了FAT格式的,插到示波器上却是FAT32,文件也没有了。
而且将示波器插_我公司的电脑一点反应也没有,起初怀疑USB线的问题,但后来换了3根线也不行,用同样的线插到我的笔记本上就可以。
所以我在“经济型袖珍示波器之-打造你的个性化界面 ”贴上说 怀疑是不是USB1.1与USB2.0的问题。
--------------------------------------------------
复:有些SD卡在SPI模式下的扇区映射与在并行模式下不同,看来你的卡也是这种情况,因此要插在袖珍示波器上,用电脑通过USB对其进行格式化,格式化选择FAT16或FAT32格式,快速格式化即可。注:凡是用电脑读写这种卡上的波形文件时,必须插在袖珍示波器上,通过USB读写。能否给个零扇区数据的截图来?参阅:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3544471&bbs_page_no=1&bbs_id=3053 我想多收集一些案例,搞出个适应性好一些的程序来。 我通过示波器对TF卡格式化,但只有FAT32可以选,而且速度较慢(快速格式化),但格式化后仍然是3.75G。情况一样。
零扇区数据的截图,我今晚试试。 楼上的那个腕带试的创意不错就是用久了后机盖散热不好而且测高电压的时候USB口容易电到人。准备弄个底托架带(腕带的)顺便在外面留一个装大容量电池的空间弄个4500mA的锂电池外出带出去维修方便多了呵呵 应该配大电池 2000以上 在外面留一个装大容量电池的空间弄个4500mA的锂电池外出带出去维修方便多了 这是我的TF卡的0扇区图
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_475786.JPG
(原文件名:启动扇区.JPG) 【68楼】 joshuahorn
准备弄个底托架带(腕带的)顺便在外面留一个装大容量电池。。。4500mA的锂电池外出。。。
--------------------------------
4500mA电池应很难带在手上吧。 【70楼】 lwy86 :
从你发上来的0扇区图上看,该盘扇区字节长度1024,每簇8个扇区,保留扇区数为32,FAT表的长度为0x0780个扇区,感觉还挺正常。能把根目录Root Directory的数据图发一份上来吗? 经济型袖珍示波器小工具软件:
DAT2BMP 也就是将储存卡上的波形文件在电脑转换成BMP文件。
注意:在1.xx0版生成的file***。DAT图片是没有携带参数,但在2.xx的版本是带参数的。
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_476763.JPG
(原文件名:DAT-bmp.JPG)
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_476770.JPG
(原文件名:DAT-bmp-1.JPG)
点击此处下载(文件大小:282K) (原文件名:DAT2BMP.rar) 按照bure 老大的意思将开放--经济型袖珍示波器小工具软件d 原程序,原始文档在整理中,请宽限的几天(得先去挣盒饭钱)。 楼上说的2.xx的版本是bure的,还是Paul 的山寨版?bure的2.xx的版本出来了吗? 回【75楼】 liweiliang
上面提到的2.xx版本是bure(官方固件),应该很快就发表。
--应该编号为DS0201xx(这有点乱,建议bure规划一下)
请参考---经济型袖珍示波器---整理贴 【11楼】 下载DAT2BMP,可以将储存卡上的波形文件在电脑上显示了!挺好!但正如在yijian 所说1.xx0版生成的图片是没有携带参数,所以期待bure 的第二版出台!
我这也有2G卡存储不灵和引起死机的问题,新版是否都能解决? 好强大 学习了 有套件不? 【79楼】 deepin
有
官方联系:cxg@sunneo.com.cn
销售联系:http://shop36212219.taobao.com/
http://shop58663480.taobao.com/ 代官方发布Ver 2.01版固件
---------------------------------------------------------------
Ver 2.01 版本修改说明
1.修改了SCAN模式中在低速时显示花屏的BUG
2.增加了保存现场配置参数的功能,参数保存在CONFIG.DAT文件中
3.增加了触发点标识显示
4.修改了Vp-p读数出错的BUG
5.修改了电池容量测量及显示出错的BUG
6.修改了2G的SD卡读写出错的BUG
Ver 2.01 版本固件新功能使用说明:
1. 触发点标识显示,触发点定在屏幕中部,方便观察触发前后的波形变化。在“T0”档时,按“M”键可以显示/消隐触发点标识线。
2. 预先在SD卡上存放好“CONFIG.DAT”文件模板。
3. 任何情况下,只要按住“P”键后,再按下“M”键,就可以保存当前的设定参数到SD卡上的“CONFIG.DAT”文件中。
4. 每次开机时自动读取“CONFIG.DAT”文件中的参数。
点击此处下载 DS0201_2.01_bure_Osc.rar 下载后2版后解压出现打不开的文件,菜鸟这下蒙了!如何拷?需要些什么东西?51单片机还没入门,对此一窍不通!请bure 和yijian 尽可能详细指教!
再问一下楼主:这个示波器的是否测过耗电电流?是多少? 我的SD卡问题依旧,看来我要换卡了。 我也想要,到时候有,就联系我csudb@qq.com yijian 老师, “CONFIG.DAT”文件找不到,
这个示波器的是否测过耗电电流?是150mA 最大153mA 【85楼】 n527527 这个示波器的是否测过耗电电流?是150mA 最大153mA
------------------------------------------------
谢谢! 回:【82楼】 liweiliang
1.如果下载后2版后解压出现打不开文件
---请重新下载,
2.如果下载后2版后解压后,不知道如何操作
---解压后出现两文件
a:“CONFIG.DAT”--这是一个存放示波器参数设置的文件模板,把它预先copy到SD卡上,示波器开机时就会读入文件模板;
b:“DS0201_2.01_bure_Osc.dfu”是示波器的固件,可以通过USB端口下载,方法请参考 经济型袖珍示波器之-打造你的个性化界面--【11楼】 【87楼】 yijian :多谢!不过实在摸不着头绪,不敢乱动,怕拷不好还会把以前的弄没了,所以有不少顾虑:
1,除了电脑和袖珍示波器,SD卡及USB连接线,还要其他的东西吗?
2,下载拷2.01版还需要不需要其他的软件作支撑?我的电脑里没有单片机的那些开发之类的程序。
别见笑,单片机老外,多多见谅! LS的,下载新版到示波器还需要用“DfuSe_Demo_V3.0”这个软件,通过USB连接,软件googel找,具体步骤请仔细阅读 “经济型袖珍示波器之-打造你的个性化界面--【11楼】” 试了2.01版,卡的问题解决了.但操作实在是不太适应.希望Bure提供文件操作部分源码。 【90楼】 Paul:我给你发过邮件,可就是等不到你的回复。 我收到了你的邮件,也回过了.不会是被拦截了吧.我再发一次试试. 【92楼】 Paul:看了你的帖子后,赶紧找了找,终于在垃圾箱里把它捡了回来。可能是你的标题太...了,被我的邮件过滤器给自动“和谐”了。 找到了就好,等你的邮件. 如果出售,就订购,支持电工DIY 有原理图吗?测量最高频率是? :
请楼主提供V2。0更新后的源码,谢谢! 回【95楼】 lovely-teddy
【96楼】 zqy517
--------------------
产品出售和原理图请查看--经济型袖珍示波器---整理贴 【95楼】 lovely-teddy :如果出售,就订购,支持电工DIY
-----------------------------------
恕我愚鲁,电工DIY是什么? 【97楼】 eddia2000:请楼主提供V2。0更新后的源码,谢谢!
-------------------------------------
复:十分抱歉!由于包含了第三方程序,V2.0以上版本是不开源的。 回【97楼】 eddia2000
---------------------
按bure的回复:由于V2.0的源码内含有第三的源码不方便公开,对于1.0的源码的各项修正,可以查阅有关的帖子,如果修正了,就跟2.0原码差不多了。
注:如果你对1.0的应用有所表现(包括修改、测试、应用等并开源)应该可以索取到V2.0的源码.