V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wclebb
V2EX  ›  硬件

如果要学习做硬件,会不会难度很大?有没有途径?

  •  
  •   wclebb · 2015-04-03 11:17:22 +08:00 · 3499 次点击
    这是一个创建于 3528 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果需要硬件+软件结合,需要什么相关书籍学习?
    或者有什么更便捷的途径?只需要有 USB 设备芯片就可以了?
    无任何单片机 UP 的经验。

    14 条回复    2015-04-06 22:58:53 +08:00
    7colcor
        1
    7colcor  
       2015-04-03 12:30:52 +08:00
    学习成本很大,硬件分很多
    看你学哪种
    sennes
        2
    sennes  
       2015-04-03 12:39:47 +08:00
    硬件也分很多方向的。
    不过可以先通过学习Arduino掌握一下怎么用单片机的I/O把外设跑起来
    (从最简单的LED到各种传感器其实都可以用ARDUINO完成)

    其实搞嵌入式开发也可以,但是入门难度比较高。
    或者你再说详细点自己的情况和需求? 我们再讨论讨论。
    mhycy
        3
    mhycy  
       2015-04-03 12:52:29 +08:00   ❤️ 3
    硬件是个坑。。。
    假设这是一个带电视棒,用来接收无线信号并且输出TS流给播放器播放的
    (这货差不多把该折腾的事都碰上了)

    最坏的情况下你需要做以下几件事:
    1、寻找合适的调谐器
    (用来把高频的无线信号选择一个区段并调制成中频信号)
    (在这过程中你需要制造一个足够稳定的电压源,以提供足够的信噪比)

    2、寻找合适的ADC
    (把调谐器的输出信号转换成数字信号)
    (这一步需要寻找各项参数刚好满足需求的芯片非常有难度)
    (事实上如果真的有需求的话只能用同系列芯片去猜)
    (PS.因为ADC很贵,批量生产不可能用高余量的高端芯片)

    3、寻找合适的解调芯片
    (把ADC的数字信号进行处理,并输出TS流,一般为并行输出)
    (这部分可用FPGA自行编写完成)
    (因为数据量极高,无法直接通过USB传输,必须通过IC硬件解调)

    4、使用FPGA或内部带有FIFO的USB芯片,把输出的TS流进行处理,转换成USB可用的串行信号。
    (这部分你需要编写USB固件、PC端驱动)
    (这块芯片同时要负责控制调谐器的IIC信号输出)

    5、布线,打板焊接样机。
    (涉及高频电路,且是射频电路,对PCB的布线有着极其严格的要求。)
    (毕竟布线质量直接影响最终信号的信噪比的。)
    (PCB布线是有专门的职业的,而且这是一个专门的课程)
    (因为射频电路的关系,对于电源的要求也高。)
    (当然要求不高的情况下可以忽略,但如果这货是面对弱信号的时候就另一回事了)
    (别以为电源很简单,那都够开一门课了)

    6、编写PC端上层驱动,第四部完成了PC端的底层USB驱动,终于可以控制调谐器,获得数据流了。现在就该编写通用的BDA驱动了。。。
    (关于这一步,很抱歉,没有任何现成靠谱的教程能一步步给你说该怎么做,要做就必须从0开始吧AVStream那个驱动了架构都学通了,另外,没有硬件的情况下这一步没法做到可靠调试)

    简单说就是个坑。。。
    circsqua
        4
    circsqua  
       2015-04-03 13:46:49 +08:00
    同问什么方向?
    硬件要往大系统和高频走才是人往高处走……其它的多为金字塔下层。
    zhujinliang
        5
    zhujinliang  
       2015-04-03 14:14:38 +08:00
    楼主可以尝试看看 STM32的入门教程
    spoony
        6
    spoony  
       2015-04-03 17:18:23 +08:00
    为什么没人提到树莓派
    ryd994
        7
    ryd994  
       2015-04-03 19:49:35 +08:00
    @spoony 树莓派属于玩具
    viator42
        8
    viator42  
       2015-04-03 20:14:27 +08:00
    做硬件必须得懂电路吧,模电数电之类的.
    从Arduino入门就行,会了这个就能折腾很多的硬件了,最大的好处是不需要焊电路板,买个面包板+杜邦线就能开始实验了.
    hermione
        9
    hermione  
       2015-04-03 20:24:34 +08:00
    啊我也跟lz同问好了
    比如想自己从头到尾做出个无人机之类的?
    tuteng
        10
    tuteng  
       2015-04-03 20:24:50 +08:00
    哈哈哈,拿起你的电烙铁
    ilotuo
        11
    ilotuo  
       2015-04-03 21:43:41 +08:00
    3楼是不是给坑过哈
    同实验室有个硬件大神(真大神,初中开始折腾,去年都接外包了) 已经不玩单片机了.估计他也觉得单片机没出路.
    现在他搞电源,天天捧着本厚书,各种贵仪器.时不时炸个电容= =也是爽得不行
    mhycy
        12
    mhycy  
       2015-04-03 22:44:04 +08:00
    @ilotuo
    坑过。。。
    最后设备不够,时间不够,玩不转。。。囧
    wclebb
        13
    wclebb  
    OP
       2015-04-06 00:21:42 +08:00
    @7colcor
    @sennes
    @mhycy
    @circsqua
    @zhujinliang
    @spoony
    @ryd994
    @hermione
    @ilotuo
    @mhycy

    非常感谢每一位抽空时间付出点精力回答,每一位的回答会对我帮助很大(真心的,虽然我有部分无法消耗,以及不现实……我没有这么多设备真的……)

    目前来说有点迷茫,是不用学硬件直接学 OC 语言开发 比较现实(因为后者相对于我来说我学习快一点,如果硬件,那学习时间基本上是重新开始了)

    这几天有点忙(扫墓嘛……)没有认真看,就先感谢了哇。
    kidict
        14
    kidict  
       2015-04-06 22:58:53 +08:00
    我学硬件的同学 都在想着怎么转cs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 22:18 · PVG 06:18 · LAX 14:18 · JFK 17:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.