zoukankan      html  css  js  c++  java
  • [i.mx6solo Dev] Part 1. Checklist of hardware

    This is the first part of all my words on the development on freescale's imx6 family SOC.

    As one knows,  whatever embedded products you are designing or developping, the hardware is the one which should be stable before the software, at least the AP(Application Processor itself).

    During the development process, some aspects are encountered:

    1. Voltage supply to the AP

        Nowadays, especially in android based products, PMIC is used very vastly for power-saving.

        According to the hardware design, PMIC's voltage output will be used accordingly.

        For MMPF0100 family, by default, SW3A/B are in the single-phase mode, accordingly, which means there is only one output from SW3A/B.

        For our requirement, SW3A/B should be programmed to independent-phase mode.

        In single-phase mode,  the max driving current from SW3A/B is 2500mA, that is 2.5A

        While in the independent-phase mode, the max driving current for SW3A or SW3B is the same, 1.25A, that is 1250mA, half of 2500mA.

        For that, MMPF0100NP is used to be reprogramemd before soldering it on the board.

        Point: note the voltage for AP.

    2. Review the schematic diagram

        On our board, MCP is used, which integrates eMMC and LPDDR2 together.

        During the development in U-boot, it's found that eMMC in MCP could not work as expected.

        By analyzing the signal captured with Oscilloscope, it seems the eMMC cmds are sent from the AP correctly without doubts, but the MCP could not act accordingly.

        After reviewing the schematic diagram, well, one wire from AP is connected to the wrong pin in MCP.

        Point: DO NOT just listen to what the hardware engineer said.

        One should investigate by oneself right starting from the simplest code which is in your charge to accumulate the evidence to make it clear that sth. must be wrong in the hardware aspects, like schematic diagram, layout, etc. Nothing is impossible. DON'T just listen but one should verify that with one's own test.

    3. GPIO settings for booting

      Whatever values you want AP to sample on those GPIO pins while booting, high or low(1,or 0), one should make sure that the input GPIO pins for booting are really pulled-up or pulled-down in reality accordingly. This is because, during booting, those GPIO pins are open-drain,which means they are high(1) even without pulling them up on the board. That is fake and lead you in a wrong way, making you so confused and wasting your time.

        If one does not pull the EIM_EB3 pin down to GND, the USB controller in AP may not work, and the power supply current will be in a lower level, of course, the USB serial downloader mode will not work well as one expects.

         Pointwatch out the GPIO pins used during booting.

    To be continued.

       

  • 相关阅读:
    软工实践练习一——使用Git进行代码管理心得
    作业1.3——Android平台的开发环境的发展演变
    作业1.2——软件工程的实践项目的自我目标
    SVN冲突解决
    sea.js及三种加载方式的异同
    php中AJAX请求中使用post和get请求的区别
    Vue-起步篇:Vue与React、 Angular的区别
    页面常见布局以及实现方法--flex
    requestAnimationFrame之缓动的应用
    bootstrap中table页面做省市区级联效果(级联库见前面级联编辑)(非select下拉框)
  • 原文地址:https://www.cnblogs.com/lake-of-embedded-system/p/3925959.html
Copyright © 2011-2022 走看看