打印

【matthew的业余DIY系列】挖坑贴

[复制链接]
1106|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 matthewchan 于 2016-3-2 22:04 编辑

新来,直入主题:
问题一,搞DIY想干什么?
答:1.做些自以为是的东西出来,孤芳自赏,纯属自恋;P。
       2.效仿金庸小说里面的“以武会友”,认识热爱电子技术的朋友:hug:。
       3.希望能激发在学校嗷嗷待哺的学生哥,还有初出茅庐的小电工们的兴趣。Practice Makes Perfect,实践是学习理论和锻炼技能          最有效的手段。(这个目的有点太高大上了吧。连佛都说,自渡有缘人,我等凡人是想多了;P。)
问题二,准备做些啥?
答:1. RISC CPU core 以及原型板
          用verilog代码在fpga上面实现的。CPU的代码2天就写完了,写测试用例和跑仿真用了好几天,现在基本完成了。
          原型板是一个基于这个RISC CPU的计算器。板子已经调好了,在写计算器的应用程序。预计下周能完成初版。
          不知道是人有兴趣不,我还在考虑值得为它配个详细的设计文档不?;P。
        2.便携式的示波器。
          100M带宽,400采样吧,800*480屏幕,低成本的。
          目标是,针对业余DIY玩家,设计出一款简单够用的测量工具(说白了够自己用;P)。
          这是接下来将要做的玩具,有人有兴趣么?规格上有什么建议?
        3.飞行器
           想玩4轴/6轴的,具体做成什么样还没定。
           要不就做个快递四轴飞行器,要负重能力强,设置好了自动送到目的地,并自动返回的:victory:?
        4.好多异想天开的。。。。。
          先不说啦:lol
      
问题三,为啥立这个帖子?
答:    今年已经给自己定了好多事情,时间不会太多,争取一周抽出一天时间来吧。
           立这个贴,就是自己给自己挖坑啊。你看,你牛都吹出去啦,还能不干啊:L:lol   。



相关帖子

沙发
szn1423| | 2016-3-4 11:19 | 只看该作者
顶CPU和示波器

使用特权

评论回复
板凳
qesterzz| | 2016-3-4 22:21 | 只看该作者
顶示波器,方便实用

使用特权

评论回复
地板
matthewchan|  楼主 | 2016-3-12 14:33 | 只看该作者
本帖最后由 matthewchan 于 2016-3-12 14:41 编辑

近来在用C语言来写一个高进度超长位数的算术函数,包括加减乘数。
测试平台是PIC16,发现了不少编译器的bug。。。。浪费了不少时间。。。。
首先用mplab 8.x +picc9.65 编译的代码:一个简单的数组访问,居然出错了。

一时间找不到别的PICC了,只能放弃PICC了,转向XC8.
然后继续写代码:
typedef struct  
{
    unsigned char *value;      //this value restrict the max of the input and result.
    unsigned char integer_bit;      
    unsigned char frac_bit;
    unsigned char isnegetive:1;
    //just help for cpmpute
    unsigned char iscomplement:1;
}mytype;
编译:result->isnegetive = ina->isnegetive  的时候
用XC8 1.30 :又错了
  1233                           ;calc.c: 92: result->isnegetive = ina->isnegetive;
  1234  006E  0843                       movf        add@ina,w
  1235  006F  3E03                       addlw        3
  1236  0070  0084                       movwf        4
  1237  0071  1003                       clrc
  1238  0072  1800                       btfsc        0,0
  1239  0073  1403                       setc
  1240  0074  0838                       movf        add@result,w
  1241  0075  3E03                       addlw        3
  1242  0076  0084                       movwf        4
  1243  0077  1000                       bcf        0,0
  1244  0078  1803                       btfsc        3,0
  1245  0079  1400                       bsf        0,0


用XC8 1.36 free模式编译,对了
  1235                           ;calc.c: 92: result->isnegetive = ina->isnegetive;
  1236  0074  0843                       movf        add@ina,w
  1237  0075  3E03                       addlw        3
  1238  0076  0084                       movwf        4
  1239  0077  0800                       movf        0,w
  1240  0078  00B9                       movwf        ??_add
  1241  0079  0838                       movf        add@result,w
  1242  007A  3E03                       addlw        3
  1243  007B  0084                       movwf        4
  1244  007C  1000                       bcf        0,0
  1245  007D  1839                       btfsc        ??_add,0
  1246  007E  1400                       bsf        0,0












使用特权

评论回复
5
jlhgold| | 2016-4-30 21:42 | 只看该作者
楼主 便携式的示波器 400MHz采样会不会比较难做?200MHz的可能简单些

使用特权

评论回复
6
matthewchan|  楼主 | 2016-5-2 09:33 | 只看该作者
jlhgold 发表于 2016-4-30 21:42
楼主 便携式的示波器 400MHz采样会不会比较难做?200MHz的可能简单些

嗯,初步这样设计的。主要是考虑到有一定实用性。200MHz采样基本能看20-30M的信号,400Mhz大概能看50M信号,相对实用很多。
现在还在搞我的CPU,示波器还没开始动手啦

使用特权

评论回复
7
jlhgold| | 2016-5-2 18:28 | 只看该作者
matthewchan 发表于 2016-5-2 09:33
嗯,初步这样设计的。主要是考虑到有一定实用性。200MHz采样基本能看20-30M的信号,400Mhz大概能看50M信 ...

CPU做了其实示波器就简单了 CPU可是个大工程啊 哈哈
400MHz貌似我看了下 最简单的方案是2个200MHz的AD做 复杂点么就4个100MHz的AD 就是后面这个对管脚要求太高了 哈哈哈

使用特权

评论回复
8
matthewchan|  楼主 | 2016-5-4 07:42 | 只看该作者
jlhgold 发表于 2016-5-2 18:28
CPU做了其实示波器就简单了 CPU可是个大工程啊 哈哈
400MHz貌似我看了下 最简单的方案是2个200MHz的AD做  ...

CPU初步搞出来了,就是没有细测,体力活啊,工作量有点大。
准备把这个cpu用来自己diy的项目上,包括示波器啦,感觉还是有点酷酷的。

关于采样和数字电路部分的关系,100+M比较容易的;200M-500M区间,IO可能是瓶颈;1G左右,主要瓶颈是外部memory速度了。

使用特权

评论回复
9
jlhgold| | 2016-5-4 22:17 | 只看该作者
matthewchan 发表于 2016-5-4 07:42
CPU初步搞出来了,就是没有细测,体力活啊,工作量有点大。
准备把这个cpu用来自己diy的项目上,包括示波 ...

我感觉还是用通用的cpu比较好 不然出了bug出了你自己 谁都帮不到你啊 哈哈哈
另外200-500M其实IO不是瓶颈 1G的时候IO才是瓶颈 因为1G的AD肯定是lvds的了 算好频率就没问题 当然配套的fpga会略微贵点 当然memory我感觉超过200MHz DIY怎么样都是瓶颈 哈哈哈 双通道8bit*2的话 200MHz 全速跑 估计只有DDR满状态运行或者上DDR2才够了

使用特权

评论回复
10
matthewchan|  楼主 | 2016-5-6 09:33 | 只看该作者
jlhgold 发表于 2016-5-4 22:17
我感觉还是用通用的cpu比较好 不然出了bug出了你自己 谁都帮不到你啊 哈哈哈
另外200-500M其实IO不是瓶颈 ...

是啊,谁能保证不出bug啊,虽然我对自己写的代码还是有信心的。
也就是自己敢用啦,别人会不放心的,出了问题都不知道是自己软件问题还是cpu问题。

为什么说200-500M io是问题,1G不是问题了?因为很多ADC都是500M以上才是lvds接口的,500M-1G的板上lvds传输是很可靠的,不存在什么问题。唯一要关心的,如你说的,要注意fpga选型。
200M-500M之间一般是采用8/16 bit cmos IO,这玩意超过200M就不怎么可靠了,而且噪声太大,影响品质。

另外,diy还有个麻烦事。
如果不用bga封装的器件,选择余地太少;如果用,我怕很多人没有焊接条件。。。

当然,这些貌似都不是问题。我看没几个人想和我一起搞的,纯属自娱自乐,顺便分享一下而已。


使用特权

评论回复
11
jlhgold| | 2016-5-7 19:01 | 只看该作者
matthewchan 发表于 2016-5-6 09:33
是啊,谁能保证不出bug啊,虽然我对自己写的代码还是有信心的。
也就是自己敢用啦,别人会不放心的,出了 ...

哈哈哈 是的 BGA是DIY的一大瓶颈 这没办法的
200M的CMOS还好 500M不敢想象 真的有这种AD么 我总感觉超过250M的还是CMOS估计芯片在设计的时候可能秀逗了

使用特权

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

本版积分规则

2

主题

33

帖子

4

粉丝