[i.mx6solo Dev] Part 1. Checklist of hardware
2014-08-20 23:41
405 查看
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.
Point: watch out the GPIO pins used during booting.
To be continued.
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.
Point: watch out the GPIO pins used during booting.
To be continued.
相关文章推荐
- Check out our list of adidas NMD Singapore retailers
- How To: Check if a user is part of a SharePoint group in InfoPath
- Checklist for Slow Performance of (expdp) (impdp) [ID 453895.1]
- Customization of SharePoint list menu item – Part 1 add Custom Action Item
- Oracle 10g: Checklist To Diagnose Issues Related To Automatic Run Of Job GATHER_STATS_JOB (Doc ID 80
- [cc150] check palindrome of a singly linked list
- P17 (*) Split a list into two parts; the length of the first part is given.
- Alphabetical list of part-of-speech tags used in the Penn Treebank Project:
- P17 (*) Split a list into two parts; the length of the first part is given.
- cannot send list of active checks to [127.0.0.1]: host [Zabbix server] not found
- 【ccs13】Accepted papper list & part of download
- cannot send list of active checks to [ZabbixServerIp]: host [Zabbix server] not found
- Check if tree b is part of tree a JAVA 实现
- centos启动错误:Inodes that were part of a corrupted orphan linked list found.
- 58.The PART_CODE column in the SPARES table contains the following list of values:
- 19. Remove Nth Node From End of List题解
- SVN appears to be part of a Subversion 问题心得
- Treap小解析(Part 1 of 2)
- the diary of homework of script check dir in linux
- LINQ Introduction Part 1 Of 3