tag:blogger.com,1999:blog-44745805745292523272024-03-16T10:32:56.273+01:00Embedded Engineering Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.comBlogger80125tag:blogger.com,1999:blog-4474580574529252327.post-22630168306542578042023-08-14T22:56:00.014+02:002024-01-12T04:47:35.037+01:00HP Agilent Infiniium 54815A 500Mhz Boot Repair and SSD Upgrade <p> This post is going to be about Repair of old HP Infiniium 54815A 500Mhz oscilloscope. Scope has normal PC motherboard with Windows 98. Scope has issue booting into windows because DS12887A RTC which scope's motherboard uses has internal battery. And because of RTC battery being empty scope has CMOS checksum bad and can not boot as it has forgotten all boot settings. I will try to fix DS12887A and restore setting to CMOS memory. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhThDoUqEWRdCL7a_FY9lFu8Z0pV01fo6g-j9r1G0Fh45ng8G50NaAapslsGstH9d_GBb7gIblGuXygAhnIpG7v56cnoR7vFuW7NJKQhkHrWhGl1sLwyQnkWzr4m4L5-Aq7XrkB_rXWpbc5BPlb1oXJtUDOQNNbr0JCbdNmm2nJuhNMakfTzVixnO-PNfqC/s6161/54815A_repair%20(2).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3424" data-original-width="6161" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhThDoUqEWRdCL7a_FY9lFu8Z0pV01fo6g-j9r1G0Fh45ng8G50NaAapslsGstH9d_GBb7gIblGuXygAhnIpG7v56cnoR7vFuW7NJKQhkHrWhGl1sLwyQnkWzr4m4L5-Aq7XrkB_rXWpbc5BPlb1oXJtUDOQNNbr0JCbdNmm2nJuhNMakfTzVixnO-PNfqC/w640-h356/54815A_repair%20(2).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5eQXtlqOrOhPQvraSiFOEe-1iEhOcQZ5rDZe8P95LmMppyMzYoGt-kd0ia_-BDXlwM4i-DEadsDM6nyDllJF1kCHgaccbIb4wIuC6dZjPsC4X9iA1LTUzcRanubueRJU3LkBOFUL3bQS7uK_OSQlN4v5Tz9MycLxwZAhOmGpv1IGUtilVAYUeJwFnzfu/s6720/54815A_repair%20(3).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5eQXtlqOrOhPQvraSiFOEe-1iEhOcQZ5rDZe8P95LmMppyMzYoGt-kd0ia_-BDXlwM4i-DEadsDM6nyDllJF1kCHgaccbIb4wIuC6dZjPsC4X9iA1LTUzcRanubueRJU3LkBOFUL3bQS7uK_OSQlN4v5Tz9MycLxwZAhOmGpv1IGUtilVAYUeJwFnzfu/w640-h426/54815A_repair%20(3).JPG" width="640" /></a></div><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><br /></div><b>Scope Motherboard</b><div><b><br /></b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhveVDOREH0tujnHtrpfySFbxEj0TKPLRI0kCsf4ESJa3Tn3XXIUoFl109QuQXHjEna8JSuvfj3n_zsFYT-YxoL8tWb5YhmZiCVBcdZpz-2V7Am5hH-bM67RejS6YClNdyueLqqLqSHUHpieRDYhU-hlKunUhrDb_6pi1a0k7v1ucLmS01d-Xm48CU9JrAx/s5258/54815A_repair%20(4).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="5258" height="546" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhveVDOREH0tujnHtrpfySFbxEj0TKPLRI0kCsf4ESJa3Tn3XXIUoFl109QuQXHjEna8JSuvfj3n_zsFYT-YxoL8tWb5YhmZiCVBcdZpz-2V7Am5hH-bM67RejS6YClNdyueLqqLqSHUHpieRDYhU-hlKunUhrDb_6pi1a0k7v1ucLmS01d-Xm48CU9JrAx/w640-h546/54815A_repair%20(4).JPG" width="640" /></a></div><div><br /></div>RTC DS12887A pulled out and Contact point exposed with soldering iron.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlQsbR1nZQ6eGBI3rRqFL3lkdkoxOIjzVGeBflAPwY9h3t9qAfHVKnnT7umsXBc3prJ3CsOSTe5H2GI3YqFpsQ9LSsN0Ljy8hwqat_kj6UChO-EShAdhE_orC0T_5tRS4d2_VhCYzSE-5JJ3VEazEjmfeE0i-rFdGkJ-Zo1ObjOcYlsCwC0P2SUqo6mp0q/s1404/54815A%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1022" data-original-width="1404" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlQsbR1nZQ6eGBI3rRqFL3lkdkoxOIjzVGeBflAPwY9h3t9qAfHVKnnT7umsXBc3prJ3CsOSTe5H2GI3YqFpsQ9LSsN0Ljy8hwqat_kj6UChO-EShAdhE_orC0T_5tRS4d2_VhCYzSE-5JJ3VEazEjmfeE0i-rFdGkJ-Zo1ObjOcYlsCwC0P2SUqo6mp0q/w640-h466/54815A%20(1).png" width="640" /></a></div><div><br /></div>CR2032 Battery mounted on DS12887A RTC<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1U4pUeliv477DTITnKqQLj4LKn85muRZVlr-Fvq8xCumP25jJzfTxO0unYOfKL8D5nscsESJ2BRtAK-9Awdal6FPqXKhuuwkKvjN1A5fAqwrLbplyIZsChpvKoesS1wCTKX7C-Cb5OE4PyuaAQtx2w-lYIv5JVIinCMVISW8zY0VenZld5bJdRN7HJf6P/s1102/54815A%20(2).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="919" data-original-width="1102" height="534" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1U4pUeliv477DTITnKqQLj4LKn85muRZVlr-Fvq8xCumP25jJzfTxO0unYOfKL8D5nscsESJ2BRtAK-9Awdal6FPqXKhuuwkKvjN1A5fAqwrLbplyIZsChpvKoesS1wCTKX7C-Cb5OE4PyuaAQtx2w-lYIv5JVIinCMVISW8zY0VenZld5bJdRN7HJf6P/w640-h534/54815A%20(2).png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLt-h5_vYjY1nMDMEvXBta-QYfpFKeMTAwlzsMT4Okpum1fStKHP80mWhoitjvg0UHNvg-pgnz35QH2hcvM7XuXHrfq9c-xtYY2sTsSfnpUYIxw_jRfd8YK8mg5tmKqO3L38o625eMI92lqPLlz9TEi3v6ojy_xkXpnG1ajqXDu9ZQ3DHx4aGpZcbAjfdb/s1197/54815A%20(3).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="846" data-original-width="1197" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLt-h5_vYjY1nMDMEvXBta-QYfpFKeMTAwlzsMT4Okpum1fStKHP80mWhoitjvg0UHNvg-pgnz35QH2hcvM7XuXHrfq9c-xtYY2sTsSfnpUYIxw_jRfd8YK8mg5tmKqO3L38o625eMI92lqPLlz9TEi3v6ojy_xkXpnG1ajqXDu9ZQ3DHx4aGpZcbAjfdb/w640-h452/54815A%20(3).png" width="640" /></a></div><div><br /></div>Battery Installed back on motherboard<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlCe_rKJVPS7OXWwEZNXf0TTLtOnisHKc2pnDvNu80UD6POVlgott_PFAHI2nkIWNaUVFiJtWsaqsBMeckLhsVf08MQtVhaoIFTNKCWm6gcSLGGqv8kPrYBz418k3CwgcR58Yq8hV0Cd5J_nF0j5S-9LpBnGoUvflAelm68nbdQ_Yup4Ex94g0Uf9lgFcT/s6720/54815A_repair%20(5).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlCe_rKJVPS7OXWwEZNXf0TTLtOnisHKc2pnDvNu80UD6POVlgott_PFAHI2nkIWNaUVFiJtWsaqsBMeckLhsVf08MQtVhaoIFTNKCWm6gcSLGGqv8kPrYBz418k3CwgcR58Yq8hV0Cd5J_nF0j5S-9LpBnGoUvflAelm68nbdQ_Yup4Ex94g0Uf9lgFcT/w640-h426/54815A_repair%20(5).JPG" width="640" /></a></div><div><br /></div>8GB CF card installed with 2.5 to CF adapter.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb8_OtjKTWPNEGG_Zz5S-MXlyStpbJYH5z3iHdbNG-wkyL2ToMR58s13R99bmnqiP3CKCLf3AGA4CF2uBk2kjks4Dar2pcNJM_IjHzL6QcYcnsW5X8_fi5akysBOPWCHjKCfmY8SW7nTVAiEsofzIgNTcWaFschCz1cG6IbMcAUSrIqH_Vkmc6v4FXDcqO/s6720/54815A_repair%20(8).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb8_OtjKTWPNEGG_Zz5S-MXlyStpbJYH5z3iHdbNG-wkyL2ToMR58s13R99bmnqiP3CKCLf3AGA4CF2uBk2kjks4Dar2pcNJM_IjHzL6QcYcnsW5X8_fi5akysBOPWCHjKCfmY8SW7nTVAiEsofzIgNTcWaFschCz1cG6IbMcAUSrIqH_Vkmc6v4FXDcqO/w640-h426/54815A_repair%20(8).JPG" width="640" /></a></div><div><br /></div><div>Motherboard BIOS menu</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQv7TC3maVDN0b9QOt0a8wbJod4x3M6r1jZWg4BRS1I-PKJCoOwJTmqAs-fM2Po5_BztBfcBD60XHAXxHfLX33PhYqEcirZpeYGlHWLc-mM9H_p3AfO_UA1GM_Je6PcRJWzRzwOb6_tD0-b1XRnCbhFHb1qctZ4F4hWLH5Q6uWZcwNzNWC1x7-8bHRq6K/s1920/54815A%20repair%20infiniium%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQv7TC3maVDN0b9QOt0a8wbJod4x3M6r1jZWg4BRS1I-PKJCoOwJTmqAs-fM2Po5_BztBfcBD60XHAXxHfLX33PhYqEcirZpeYGlHWLc-mM9H_p3AfO_UA1GM_Je6PcRJWzRzwOb6_tD0-b1XRnCbhFHb1qctZ4F4hWLH5Q6uWZcwNzNWC1x7-8bHRq6K/w640-h360/54815A%20repair%20infiniium%20(1).png" width="640" /></a></div><div><br /></div>Running Default Setup on BIOS<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimK6rHNZIvMA-ua2_CD-fxdi5cbNE1jNKjV2NMGutdgw9J9114GPiYJ6lJVuAlerLOXqiOcoAQ_bt3Jkj5sAyakk6fmUx1fSwyZobW8VcLFVgJPq2AyAMIS5gbSaIXwBZ-eNk0Hh1jx5Bmgpd6PfJ5cwd878Qox8ssKyKHjN-d5SMhvc2ZAmUOYWtN3EOH/s1920/54815A%20repair%20infiniium%20(2).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimK6rHNZIvMA-ua2_CD-fxdi5cbNE1jNKjV2NMGutdgw9J9114GPiYJ6lJVuAlerLOXqiOcoAQ_bt3Jkj5sAyakk6fmUx1fSwyZobW8VcLFVgJPq2AyAMIS5gbSaIXwBZ-eNk0Hh1jx5Bmgpd6PfJ5cwd878Qox8ssKyKHjN-d5SMhvc2ZAmUOYWtN3EOH/w640-h360/54815A%20repair%20infiniium%20(2).png" width="640" /></a></div><div>Run Default setup</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUziB129_xpM7AacwIQgettZGR6daHOITiirDZHgZmrEKA7H2CNm39DARH6BtbKRb0Yre4ubGQS_8bh1av7s6VK4I8hDl57KNBH8kf0rwLjmBSqke2geBlrcHhL5UUFMt5Gl293IvZNHCAkVBilZ6rrq7bhktF3nBMQWt8NPM19H3P1PUiosTWTSzF38j/s1920/54815A%20repair%20infiniium%20(3).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUziB129_xpM7AacwIQgettZGR6daHOITiirDZHgZmrEKA7H2CNm39DARH6BtbKRb0Yre4ubGQS_8bh1av7s6VK4I8hDl57KNBH8kf0rwLjmBSqke2geBlrcHhL5UUFMt5Gl293IvZNHCAkVBilZ6rrq7bhktF3nBMQWt8NPM19H3P1PUiosTWTSzF38j/w640-h360/54815A%20repair%20infiniium%20(3).png" width="640" /></a></div><div><br /></div>Enable IDE driver because drive are connected on IDE.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtSntb9Gh7i8gkTbSi_zlBQc6t7xqPyzCvGjF2-XnHbupGvFFS8iTkEVJxIEodYHoiPTxc-EvkGCnJX6n6yGMTfCu3dawv-Ue5i79L4Pztk1g3kIN0CBbqypd6s_wXoSnS9U6UF_jrqy5KxM0_-jVaVCi2qfrLy9-Jv75Dkb23zd6YirrqtrpvVaNECFo0/s1920/54815A%20repair%20infiniium%20(4).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtSntb9Gh7i8gkTbSi_zlBQc6t7xqPyzCvGjF2-XnHbupGvFFS8iTkEVJxIEodYHoiPTxc-EvkGCnJX6n6yGMTfCu3dawv-Ue5i79L4Pztk1g3kIN0CBbqypd6s_wXoSnS9U6UF_jrqy5KxM0_-jVaVCi2qfrLy9-Jv75Dkb23zd6YirrqtrpvVaNECFo0/w640-h360/54815A%20repair%20infiniium%20(4).png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuBoEZVei60U5cV0WXVuPTN3h7V9hqEVvSF6-cMIWjE55wY_SmBpxB-s_zgu9GLz6atOvdifYh1NT9cyhfLLoEVy9mGtSNtPBuoVzrO7bHQtS-MBlbitRQjcUMsM0dFJ1PFsBjakCCXSfYDlykdo1U6wAybzW-lk8t_Wd_6mL3C6xAh2rm7Uc8e_CxnHRh/s1920/54815A%20repair%20infiniium%20(5).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuBoEZVei60U5cV0WXVuPTN3h7V9hqEVvSF6-cMIWjE55wY_SmBpxB-s_zgu9GLz6atOvdifYh1NT9cyhfLLoEVy9mGtSNtPBuoVzrO7bHQtS-MBlbitRQjcUMsM0dFJ1PFsBjakCCXSfYDlykdo1U6wAybzW-lk8t_Wd_6mL3C6xAh2rm7Uc8e_CxnHRh/w640-h360/54815A%20repair%20infiniium%20(5).png" width="640" /></a></div><div><br /></div>Detect IDE so that board know where is Drive connected.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzSWieaHjB_4QGquFLMl6uhGLwz_AaThnRpSvGAVZWvMXykGqDHwwZfIu9GkGXqAf5br7vZecxUyfzw942cGnDIoMP7gjYAx6VGUXtP02XZ99m3-Qcl1e-U1aQyJaO_cQLEZe-9_80kBAlIBKbjl12UNJFZozPJzaWIG1QoUl4rknlw9zOGNJs9YcIPJzi/s1920/54815A%20repair%20infiniium%20(6).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzSWieaHjB_4QGquFLMl6uhGLwz_AaThnRpSvGAVZWvMXykGqDHwwZfIu9GkGXqAf5br7vZecxUyfzw942cGnDIoMP7gjYAx6VGUXtP02XZ99m3-Qcl1e-U1aQyJaO_cQLEZe-9_80kBAlIBKbjl12UNJFZozPJzaWIG1QoUl4rknlw9zOGNJs9YcIPJzi/w640-h360/54815A%20repair%20infiniium%20(6).png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQIiXUASvoxjbrLuGDxa_hKPPVIM9zOwDqX8tFRO60njpu5fiADk06Z3YwX14AUvGyQvbYo900pIBGoreSI8v3aRY89cXz4h4bFqmq7DoekFQCgeSpqev3Qd7ChDitQ-zv2FCHdWQLdm6IK-714kbGchr_TS8HA5d_slUHDgTRcn-BNSJ9JR02vZRsbiQe/s1920/54815A%20repair%20infiniium%20(7).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQIiXUASvoxjbrLuGDxa_hKPPVIM9zOwDqX8tFRO60njpu5fiADk06Z3YwX14AUvGyQvbYo900pIBGoreSI8v3aRY89cXz4h4bFqmq7DoekFQCgeSpqev3Qd7ChDitQ-zv2FCHdWQLdm6IK-714kbGchr_TS8HA5d_slUHDgTRcn-BNSJ9JR02vZRsbiQe/w640-h360/54815A%20repair%20infiniium%20(7).png" width="640" /></a></div><div><br /></div>8GB CF card detected.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeAOB3vdY4ogq1slsyy5Si5gkZShKNFEzArsMg0NO6CGcOEqEZq6BHfjGAUQo53mQT2qjK1YiMW-Zo_AGPxlQ9qBzDGo2gfzjSoKL16IAGL5ko6tZxg8o_RR65Lj4qrYR84O6MP02EFlcgOzI1uMGEKJ9iacj1ngI5pZ9fZtOVyb-0mbdhJZJmPoaU-WhA/s1920/54815A%20repair%20infiniium%20(8).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeAOB3vdY4ogq1slsyy5Si5gkZShKNFEzArsMg0NO6CGcOEqEZq6BHfjGAUQo53mQT2qjK1YiMW-Zo_AGPxlQ9qBzDGo2gfzjSoKL16IAGL5ko6tZxg8o_RR65Lj4qrYR84O6MP02EFlcgOzI1uMGEKJ9iacj1ngI5pZ9fZtOVyb-0mbdhJZJmPoaU-WhA/w640-h360/54815A%20repair%20infiniium%20(8).png" width="640" /></a></div><div><br /></div>Save and Reboot<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5CIZevpYXkbtSGUlHPTWKRtbnpPKVNuDbiTJlOcCvjyoWrG2yjXuG5nRUZY0kTsbHdDrrjaRhs2ydmVWhpx3gNRly6pIEL_ru6tU_l4nq_O_m9dJ05XxMU51BIy9MYdoTGRHRDh_al9tAg8h9uwI81JmI7sqv5w_QwFVbVAwG7BJnh_1lNnmygk6MqP4l/s1920/54815A%20repair%20infiniium%20(9).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5CIZevpYXkbtSGUlHPTWKRtbnpPKVNuDbiTJlOcCvjyoWrG2yjXuG5nRUZY0kTsbHdDrrjaRhs2ydmVWhpx3gNRly6pIEL_ru6tU_l4nq_O_m9dJ05XxMU51BIy9MYdoTGRHRDh_al9tAg8h9uwI81JmI7sqv5w_QwFVbVAwG7BJnh_1lNnmygk6MqP4l/w640-h360/54815A%20repair%20infiniium%20(9).png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-vcF-u7q2ZHteTbT7lj4al6uK3XKjVMklfhcxe7lyEs3zc4WMTE1R1vVevVoebfAj7DWqH-OC0cstw1vy-n_qoFazGcFq7lorH2XuIeaO7K-UHg55msKaLwdnuQ9NR_cjxzGSJXad1UIp49JBFsCeyvlypeki_gcaA89FdJKlVASN5qOkN1ZcrI_nWgRw/s1920/54815A%20repair%20infiniium%20(10).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-vcF-u7q2ZHteTbT7lj4al6uK3XKjVMklfhcxe7lyEs3zc4WMTE1R1vVevVoebfAj7DWqH-OC0cstw1vy-n_qoFazGcFq7lorH2XuIeaO7K-UHg55msKaLwdnuQ9NR_cjxzGSJXad1UIp49JBFsCeyvlypeki_gcaA89FdJKlVASN5qOkN1ZcrI_nWgRw/w640-h360/54815A%20repair%20infiniium%20(10).png" width="640" /></a></div><div><br /></div>Booting into Windows 98<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHVYu8HuxsjnKyTinuFtzR8aq35unEnBTZhQRCjDawZ_uwuKi1-0n07PlOPalHkg3oNIlJI3L3AzRYaRYtvSrwwYbCi37DgAqsoLs64d-dKnWLG-OqZXmNbt54cgO5Fh8RPhLu1FvBxW09XJQHdGL8jwz8atRT4I3XL6zdCIuTeedEy6feKhNTlPukCXu6/s1920/54815A%20repair%20infiniium%20(11).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHVYu8HuxsjnKyTinuFtzR8aq35unEnBTZhQRCjDawZ_uwuKi1-0n07PlOPalHkg3oNIlJI3L3AzRYaRYtvSrwwYbCi37DgAqsoLs64d-dKnWLG-OqZXmNbt54cgO5Fh8RPhLu1FvBxW09XJQHdGL8jwz8atRT4I3XL6zdCIuTeedEy6feKhNTlPukCXu6/w640-h360/54815A%20repair%20infiniium%20(11).png" width="640" /></a></div></div><div><br /></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjoFpIzEJRV3HDTzfKlwVgNiKqouRepu489VCh8kdIJfh_lXDCUjzoKy2hNITvfoOvmLEurPELMaHcjTJwA7iXDTB7iLInv09sK7occ28xVNmS8p-HrjYsjGvruw0ko10uXUgQ5b1s8JAYnOaoHhwW40-9iH5MC4bKuuZIuWsGRY3qvH1OUSaAzKhPxPV/s6720/54815A_repair%20(1).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjoFpIzEJRV3HDTzfKlwVgNiKqouRepu489VCh8kdIJfh_lXDCUjzoKy2hNITvfoOvmLEurPELMaHcjTJwA7iXDTB7iLInv09sK7occ28xVNmS8p-HrjYsjGvruw0ko10uXUgQ5b1s8JAYnOaoHhwW40-9iH5MC4bKuuZIuWsGRY3qvH1OUSaAzKhPxPV/w640-h426/54815A_repair%20(1).JPG" width="640" /></a></div><br /><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY2T6Yp1UsUKNb3IdDOCEuQou7_kdH22GwOmFbDj_cuSfsaBT1Ybq9pgy6m7koUdtcFbroptvnXuMVRd94aGbeiHvKpDZjIaBa7ZfCNIL-zlM73rJT0S3l_p-m-_Jk7ID65PhXkTXJkJEog-lWGuAZcdF4RCsDCks-aco34hbLqklusWfAWZOqS4yo04dC/s6720/54815A_repair%20(6).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY2T6Yp1UsUKNb3IdDOCEuQou7_kdH22GwOmFbDj_cuSfsaBT1Ybq9pgy6m7koUdtcFbroptvnXuMVRd94aGbeiHvKpDZjIaBa7ZfCNIL-zlM73rJT0S3l_p-m-_Jk7ID65PhXkTXJkJEog-lWGuAZcdF4RCsDCks-aco34hbLqklusWfAWZOqS4yo04dC/w640-h426/54815A_repair%20(6).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiACrf7AIThdBQqWTklWYfTSEB0hMkieZso1cFKhdbwv9bAUi7tcD5-n8NaUq95Om_gb7WusSbI0ol9IxGkLhgz8n19iKdQtGtMDOcviYrKndZEnUBRYTVqOHiz7V2JzvRnQshjM0ao10fnUHL_bEGG6vD4SHf8DK5cDQoNkm-Yo3_LuPRqoyyJzFGxK_G-/s6067/54815A_repair%20(7).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2913" data-original-width="6067" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiACrf7AIThdBQqWTklWYfTSEB0hMkieZso1cFKhdbwv9bAUi7tcD5-n8NaUq95Om_gb7WusSbI0ol9IxGkLhgz8n19iKdQtGtMDOcviYrKndZEnUBRYTVqOHiz7V2JzvRnQshjM0ao10fnUHL_bEGG6vD4SHf8DK5cDQoNkm-Yo3_LuPRqoyyJzFGxK_G-/w640-h308/54815A_repair%20(7).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0Germany51.165691 10.45152622.855457163821157 -24.704724 79.475924836178848 45.607776tag:blogger.com,1999:blog-4474580574529252327.post-41055963170931438772023-05-27T23:04:00.054+02:002023-08-15T00:00:36.833+02:00Agilent Keysight 1152A Active Probe Autoprobe Smart Probe, Probe ID Mod Patch<p></p><div class="separator" style="clear: both; text-align: center;"><br /></div> This Post is going to be about modifying Agilent/HP 1152A active probe to be able to support 5V input and Smart Probe ID. 1152A Active Probe is available in used marked at quite reasonable price but it is not supported by many new generation Keysight Oscilloscopes. As few of these oscilloscope have not fully featured Autoprobe interface and only output +5 -5V . Normally a fully featured Autoprobe interface should set supply voltage as requested by Probes Rp Resistor. <div>So to be able to use 1152A active probe with every Keysight oscilloscope regardless how limited its Autoprobe interface is, I have made this small PCB with 4V Regulator with good PSSR to be able to support +5V input and 2Kbit EEPROM to support Smart Probe. This probe does not use -5V so its left untouched .<div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMLm0Z_RdutSyHm9b-j9CJ-dq-axvODHgww_lhm0AxoDfa4omem2KKvMLFmEzPgV2MTq3GaMtt2P5RlrbkHQpEp348SEKBqjDdyFc5IfUeYS246x4HQmlo-xAVze6K2K01gr9wYr7V3XaXDO0qn5mCKfK2ObsLKwh-H36HqvIapQBsFrHYxzajDED9FQ/s4434/agilent_1152A_active_probe_smart_probe_hack%20(4).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="3072" data-original-width="4434" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMLm0Z_RdutSyHm9b-j9CJ-dq-axvODHgww_lhm0AxoDfa4omem2KKvMLFmEzPgV2MTq3GaMtt2P5RlrbkHQpEp348SEKBqjDdyFc5IfUeYS246x4HQmlo-xAVze6K2K01gr9wYr7V3XaXDO0qn5mCKfK2ObsLKwh-H36HqvIapQBsFrHYxzajDED9FQ/w640-h444/agilent_1152A_active_probe_smart_probe_hack%20(4).JPG" width="640" /></a><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhemtV7aZ03m5EVxvH9qGSG9xRFlHQRkqwqJvSVvSTDE4oJOeqkbkf_Y7d0Aoe4M1pkXcwaGOOymIeiRnEcSgBqwnbKTUlB-rT5-ndlCegU9cbRNdHEDKNT0bkxhNmkQ8_5rnulnZh9qXea4Mg6ALJMbTbN-06tW-qkSrAstvug3WQGWXCxQcjd39gHmw/s5123/agilent_1152A_active_probe_smart_probe_hack%20(7).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3128" data-original-width="5123" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhemtV7aZ03m5EVxvH9qGSG9xRFlHQRkqwqJvSVvSTDE4oJOeqkbkf_Y7d0Aoe4M1pkXcwaGOOymIeiRnEcSgBqwnbKTUlB-rT5-ndlCegU9cbRNdHEDKNT0bkxhNmkQ8_5rnulnZh9qXea4Mg6ALJMbTbN-06tW-qkSrAstvug3WQGWXCxQcjd39gHmw/w640-h390/agilent_1152A_active_probe_smart_probe_hack%20(7).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_XY5qiCH_H-5q2uotrjQ-hV20dL4LwZtYc1iX4iSRttSRQDl9KShOniXRVg-5Wwa4sjOHjaXzMD85jlzPMBU2wQw2ldwXdkcqyzvAi9sWnOSAyw34lQa6NPmMby_wbIxIj-2JAK68MxdgM0s0f0SCrcmD-HlVlxLNCrjGuxVMqxdg5EJgdHzaY6DIA/s4245/agilent_1152A_active_probe_smart_probe_hack%20(11).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2915" data-original-width="4245" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_XY5qiCH_H-5q2uotrjQ-hV20dL4LwZtYc1iX4iSRttSRQDl9KShOniXRVg-5Wwa4sjOHjaXzMD85jlzPMBU2wQw2ldwXdkcqyzvAi9sWnOSAyw34lQa6NPmMby_wbIxIj-2JAK68MxdgM0s0f0SCrcmD-HlVlxLNCrjGuxVMqxdg5EJgdHzaY6DIA/w640-h440/agilent_1152A_active_probe_smart_probe_hack%20(11).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aE3Jo6dPcUa29edTE-5nWd_fULj738GFhObv7XY7Tm6jThqs22Cq-rRRzG46PRqXnzKjowhtZoVYaIpzx-51ONxpywmimIr0Zaq-5LmaXq-6wzoXNb2xefK445i-1JWINCOc23GvvwbV5QJi5lnTzTfPkArRCxnmREpxLS32FMNl7xr1rbEQPdXoBw/s5239/agilent_1152A_active_probe_smart_probe_hack%20(13).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2836" data-original-width="5239" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aE3Jo6dPcUa29edTE-5nWd_fULj738GFhObv7XY7Tm6jThqs22Cq-rRRzG46PRqXnzKjowhtZoVYaIpzx-51ONxpywmimIr0Zaq-5LmaXq-6wzoXNb2xefK445i-1JWINCOc23GvvwbV5QJi5lnTzTfPkArRCxnmREpxLS32FMNl7xr1rbEQPdXoBw/w640-h346/agilent_1152A_active_probe_smart_probe_hack%20(13).JPG" width="640" /></a></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGJmZewxYoAF661pkwMXSPbdqgmkUYIKOugEwvBm2EHcCDIMMSn7dK55RPI2jQY3S7mWEZUVz4Ncw0WoGt1VJjabsxYwC7zDgo303gV0JAb8uPIn3cTQ-TttBZsbI-IcAKuf93yKFOSU8T0RhbjJI_2AQuvHFMGxYuprGNVe9GboHkXcSKqMrIRTo8TQ/s5233/agilent_1152A_active_probe_smart_probe_hack%20(17).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4460" data-original-width="5233" height="546" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGJmZewxYoAF661pkwMXSPbdqgmkUYIKOugEwvBm2EHcCDIMMSn7dK55RPI2jQY3S7mWEZUVz4Ncw0WoGt1VJjabsxYwC7zDgo303gV0JAb8uPIn3cTQ-TttBZsbI-IcAKuf93yKFOSU8T0RhbjJI_2AQuvHFMGxYuprGNVe9GboHkXcSKqMrIRTo8TQ/w640-h546/agilent_1152A_active_probe_smart_probe_hack%20(17).JPG" width="640" /></a></div><span><a name='more'></a></span><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk5fGf1Yl19vVatrW51Dw0bluLi9gy3esOVZesCdS6UjulDzS3y50Hftc3T0u2v-hU-_jgKZ2uZBuEKVk4FtDPM6UEko3fDCrnSzuu-ztU3DFvklz4VhhYC_UDtwptwqfFJiLdoUU0odXRYz_0jr3JFzggCDrOQt-uCzC7t3xfOrpjOhb8egiKDUiFsA/s5224/agilent_1152A_active_probe_smart_probe_hack%20(1).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="3233" data-original-width="5224" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk5fGf1Yl19vVatrW51Dw0bluLi9gy3esOVZesCdS6UjulDzS3y50Hftc3T0u2v-hU-_jgKZ2uZBuEKVk4FtDPM6UEko3fDCrnSzuu-ztU3DFvklz4VhhYC_UDtwptwqfFJiLdoUU0odXRYz_0jr3JFzggCDrOQt-uCzC7t3xfOrpjOhb8egiKDUiFsA/w640-h396/agilent_1152A_active_probe_smart_probe_hack%20(1).JPG" width="640" /></a></div><b>Schematic </b><div><b><br /></b></div><div>Schematic has a regulator and EEPROM. EEPROM to support Digital Probe ID and Regulator for supporting 5V input. This probe does not use -5V input so there no need for regulator on that pin. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqm64T3BO9wUyHHLejkEs-JkOka0pLHxANl-Vcs2wDVJUF1E5CtHIMonm0jpPNt_0AofifMgFBsy9dBZt-kgiSvO5zFxvsZsJK-BjKU8Fj3mJqSXaPgUE_zEQ3AAVLfUb0dyXAvyh4OMkJ9dYlC8tWzrP5YlkUmuwT3pcmw2FQrjnCV6Z_BYvABQiK1w/s1005/agilent_1152A_active_probe_smart_probe_hack%20(9).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="830" data-original-width="1005" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqm64T3BO9wUyHHLejkEs-JkOka0pLHxANl-Vcs2wDVJUF1E5CtHIMonm0jpPNt_0AofifMgFBsy9dBZt-kgiSvO5zFxvsZsJK-BjKU8Fj3mJqSXaPgUE_zEQ3AAVLfUb0dyXAvyh4OMkJ9dYlC8tWzrP5YlkUmuwT3pcmw2FQrjnCV6Z_BYvABQiK1w/w400-h330/agilent_1152A_active_probe_smart_probe_hack%20(9).png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUGMLat5ftrJF8LKSW7L9fGWgqCGAlxsm8R-V10cSeB3gG7UHaMI0_yGqh14zXPP1RLrG-TBtVgkpdbpzRJc97solpUatU23M1DYbZYZIhuTE8EyaSaBG7Sp435iGsulr2MEO941g_he65BbQwcl0fkk5apw3GAK7T_oz4sb5uNfummeYxl0MYgET6jQ/s1309/agilent_1152A_active_probe_smart_probe_hack%20(14).jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="1309" height="562" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUGMLat5ftrJF8LKSW7L9fGWgqCGAlxsm8R-V10cSeB3gG7UHaMI0_yGqh14zXPP1RLrG-TBtVgkpdbpzRJc97solpUatU23M1DYbZYZIhuTE8EyaSaBG7Sp435iGsulr2MEO941g_he65BbQwcl0fkk5apw3GAK7T_oz4sb5uNfummeYxl0MYgET6jQ/w640-h562/agilent_1152A_active_probe_smart_probe_hack%20(14).jpg" width="640" /></a></div><div><br /></div><b>PCB</b></div><div><b><br /></b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz85-cWNFtEoF9ExW6VdpXcohIwhnwz1WWe6cuNCJYqBlDGW2QNLQ1gjdwSgqnZU_iLXV9Tna6_BQ7fNft-hDsrkQlUUTVfshvNTmNykkamkbjITVhGps5dOFNBZSUxeW5nZI4F3JsG-BjUSwKyTgx94v42ZI-HKWWdTUgpnCpnxJIoNIJyHaGAdM0rA/s1489/agilent_1152A_active_probe_smart_probe_hack%20(15).jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="888" data-original-width="1489" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz85-cWNFtEoF9ExW6VdpXcohIwhnwz1WWe6cuNCJYqBlDGW2QNLQ1gjdwSgqnZU_iLXV9Tna6_BQ7fNft-hDsrkQlUUTVfshvNTmNykkamkbjITVhGps5dOFNBZSUxeW5nZI4F3JsG-BjUSwKyTgx94v42ZI-HKWWdTUgpnCpnxJIoNIJyHaGAdM0rA/w640-h382/agilent_1152A_active_probe_smart_probe_hack%20(15).jpg" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFj6OqKgXFtdyl-ytj6ZaxI-fEyCtH7WjMou7qMouY8I160RKtMba1FXSU1fed4V1QTDOVM_2_dwDlyzOr1U4xOY5r8NylC0y0ushNnI540DUxzodZnviYb8QlRucWre7y-QUefvorIwglKj4p2lz7wHqCO__WHUSSiIIhoWh7K7RpzDCVoR396BlZTw/s5264/agilent_1152A_active_probe_smart_probe_hack%20(12).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3009" data-original-width="5264" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFj6OqKgXFtdyl-ytj6ZaxI-fEyCtH7WjMou7qMouY8I160RKtMba1FXSU1fed4V1QTDOVM_2_dwDlyzOr1U4xOY5r8NylC0y0ushNnI540DUxzodZnviYb8QlRucWre7y-QUefvorIwglKj4p2lz7wHqCO__WHUSSiIIhoWh7K7RpzDCVoR396BlZTw/w640-h366/agilent_1152A_active_probe_smart_probe_hack%20(12).JPG" width="640" /></a></div><div><br /></div><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZZTTvdnj3yjSMAYcTFB4f8rUa037GvtBT1LX18cDPMFs3Q79Y7GribMDi8g53dflOJxSAGy5dqfkZWpRbC1B7b1w4oL5NRihQMqALDFTayFIHPSNkrohYSJIZFuWdR3axxxILIVanhu7s44wUmzUY0mQ8_lil4U5k7J3kEJpf3PFO5N8H-6pyJ4mY8A/s4595/agilent_1152A_active_probe_smart_probe_hack%20(8).JPG" style="margin-left: auto; margin-right: auto;"><img alt="Flap soldered back to Prevent sorting with Enclosure." border="0" data-original-height="3958" data-original-width="4595" height="552" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZZTTvdnj3yjSMAYcTFB4f8rUa037GvtBT1LX18cDPMFs3Q79Y7GribMDi8g53dflOJxSAGy5dqfkZWpRbC1B7b1w4oL5NRihQMqALDFTayFIHPSNkrohYSJIZFuWdR3axxxILIVanhu7s44wUmzUY0mQ8_lil4U5k7J3kEJpf3PFO5N8H-6pyJ4mY8A/w640-h552/agilent_1152A_active_probe_smart_probe_hack%20(8).JPG" title="Flap soldered back to Prevent sorting with Enclosure." width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Flap soldered back to Prevent sorting with Enclosure.</td></tr></tbody></table><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Assembly</b></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZgLlxxfvsvBGKwWleRGJE1Q1oKC-gQVJddXjN1hjUpZEjbGm3rqHSzQh6qciJxg0fmv1u2Nm3DKhA2BZ3b3jTG-TCqS4QVWl7lewVwC6u4hZ5iNoy-T9O2m4MSdLewrEFc5QipMilC_cNgCkxGeScZZaFRTVhFxc9yuWMgfNqqkx0f3R8tHJBB82RWQ/s3947/agilent_1152A_active_probe_smart_probe_hack%20(7)..jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1276" data-original-width="3947" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZgLlxxfvsvBGKwWleRGJE1Q1oKC-gQVJddXjN1hjUpZEjbGm3rqHSzQh6qciJxg0fmv1u2Nm3DKhA2BZ3b3jTG-TCqS4QVWl7lewVwC6u4hZ5iNoy-T9O2m4MSdLewrEFc5QipMilC_cNgCkxGeScZZaFRTVhFxc9yuWMgfNqqkx0f3R8tHJBB82RWQ/w640-h206/agilent_1152A_active_probe_smart_probe_hack%20(7)..jpg" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNHlYxBwk0N_2yMk_wyJ8jezpU1eDUuRzGvwp1hZfc2t7FzWhDa0TEEw-PcSN-qiFaHlMc9VDnNnlfz7XEoQ9Gvsaac0DaA5D6HS-ca6Kx5NUqBzA0D4qoP2-2NZYMU8dFOn8Tu-ML6rNeWyfTwpoxS3W-HtHbZ4tqB_AYs-V7nGm_Jm_h6dxoesSq2A/s5378/keysight%20probe%20hack.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4020" data-original-width="5378" height="478" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNHlYxBwk0N_2yMk_wyJ8jezpU1eDUuRzGvwp1hZfc2t7FzWhDa0TEEw-PcSN-qiFaHlMc9VDnNnlfz7XEoQ9Gvsaac0DaA5D6HS-ca6Kx5NUqBzA0D4qoP2-2NZYMU8dFOn8Tu-ML6rNeWyfTwpoxS3W-HtHbZ4tqB_AYs-V7nGm_Jm_h6dxoesSq2A/w640-h478/keysight%20probe%20hack.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><iframe width="560" height="315" src="https://www.youtube.com/embed/uB8X_ItZL-s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<b>Programming the EEPROM</b></div><div class="separator" style="clear: both; text-align: left;">EEPROM Dump blow shows hex dump of 1158A probe, With internet search more hex dumps can be found. </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQfK_wDw94h5ohPDPwYCukHJT_LaOnua5jsg5h79lNT-J3sdJsPpdtwjQV_MC4GYjIOMs9KKdk-Menrrb8fLiUTN069YceJ_xmvx8n2q9WufUoRSYziiqTUW1VUtBvOxTp5Z3_mFz15eeV-Ij1OysO_u-SBXKL5iKhOk1UqOqKj8zewDWJ0UK5t5ffZQ/s793/agilent_1152A_active_probe_smart_probe_hack%20(47)..jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="793" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQfK_wDw94h5ohPDPwYCukHJT_LaOnua5jsg5h79lNT-J3sdJsPpdtwjQV_MC4GYjIOMs9KKdk-Menrrb8fLiUTN069YceJ_xmvx8n2q9WufUoRSYziiqTUW1VUtBvOxTp5Z3_mFz15eeV-Ij1OysO_u-SBXKL5iKhOk1UqOqKj8zewDWJ0UK5t5ffZQ/w640-h364/agilent_1152A_active_probe_smart_probe_hack%20(47)..jpg" width="640" /></a></div><br /><span><br /></span></div></div><div><span><b>Buy Assembled Flex PCB Board</b></span></div><div><span><b><br /></b></span></div><div>You can Buy Fully Assembled Flex PCB board that will be ready to be installed by user. You will receive board as show in Image blow</div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspeWtx-9jMgWniWH-9oGSGZsKY9KecdompSDNPgjz_ZdDsdVNKg7Ep-PZlW6s2P_NDIWgp8GPwchcgeEUW1YgJXPR6G_RGasr0qfJOC1oFYPiSH4U0avbbejZvEqIGxJzgW6JoCH6rsdDsplVtdFoqqBCU9JJcdOsjmVGjKak-sZ7CoRQVeTKvumIVw/s5239/agilent_1152A_active_probe_smart_probe_hack%20(13).JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="2836" data-original-width="5239" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspeWtx-9jMgWniWH-9oGSGZsKY9KecdompSDNPgjz_ZdDsdVNKg7Ep-PZlW6s2P_NDIWgp8GPwchcgeEUW1YgJXPR6G_RGasr0qfJOC1oFYPiSH4U0avbbejZvEqIGxJzgW6JoCH6rsdDsplVtdFoqqBCU9JJcdOsjmVGjKak-sZ7CoRQVeTKvumIVw/s320/agilent_1152A_active_probe_smart_probe_hack%20(13).JPG" width="320" /></a></div><br /><div><br /></div><div><span><b><br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="BUFVQXXHBVMG2" />
<table>
<tbody><tr><td><input name="on0" type="hidden" value="Quantity" />Quantity</td></tr><tr><td><select name="os0">
<option value="QTY 1">QTY 1 €25,00 EUR</option>
<option value="QTY 2">QTY 2 €45,00 EUR</option>
<option value="QTY 3">QTY 3 €60,00 EUR</option>
</select> </td></tr>
<tr><td><input name="on1" type="hidden" value="Message to Seller" />Message to Seller</td></tr><tr><td><input maxlength="200" name="os1" type="text" /></td></tr>
</tbody></table>
<input name="currency_code" type="hidden" value="EUR" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" hrp4oih9d="" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" uynbeqw4h="" w9augz0k9="" width="1" />
</form>
</b></span></div><div><span><br /></span></div><div><span><br /></span></div><div><span><b>PCB Soure and EEPROM Dump </b></span></div><div><span><br /></span></div><div><span>https://github.com/circuitvalley/Agilent_1152A_Smart_Probe_Patch</span></div>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0tag:blogger.com,1999:blog-4474580574529252327.post-58440448234114089692022-06-12T21:52:00.048+02:002023-09-05T21:10:21.368+02:00Making Opensource USB C industrial camera with Interchangeable C mount lens, Interchangeable MIPI Sensor with Lattice Crosslink NX FPGA and Cypress FX3 USB 3.0 controller<p></p><div class="separator" style="clear: both; text-align: justify;"><span style="text-align: left;"> <span> </span>This post is going yet another part in the DIY camera projects which have been doing since quite some time. In this post I will showing you next successful implementation of making C mount high lens mount USB C camera. This implementation will have absolute modular boards having dedicated Sensor board which can be changed if needed. </span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEineztmEmFegMzFaCr1kmNTqpchNTbrV33iBmQpCceFYxqTpvLPidS6LwYimjdjWfg6ceKlAuNYfntEAkg8j_eB8Th3NTxK_OSKwJvyfmNBU01pzxuJ2HVqMqrk7hXKlHb-7HuoyImV4HrGPNdtk6m6E9Xxt_LXmgnudy48eZPGi56LiLqx_H0bnFxkew/s3377/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(4)2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2300" data-original-width="3377" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEineztmEmFegMzFaCr1kmNTqpchNTbrV33iBmQpCceFYxqTpvLPidS6LwYimjdjWfg6ceKlAuNYfntEAkg8j_eB8Th3NTxK_OSKwJvyfmNBU01pzxuJ2HVqMqrk7hXKlHb-7HuoyImV4HrGPNdtk6m6E9Xxt_LXmgnudy48eZPGi56LiLqx_H0bnFxkew/w640-h436/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(4)2.JPG" width="640" /></a></div><br /><table>
<tbody>
</tbody></table><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-cwYpzQIOV0uhBpeeGhV7UiVQ5OwY6Mjp6eIK3SKh-vaw08WELGXfTodDJMm-efoy4zCrnem-J06vxrLTfSYcHBL3oHMy3Yy7MS1IeDQ-0weKNB_vljZRkH0i0d20eRPiEQfgaIhbQptpm1eKQR1OYpNk51ChbHKLLMGg64QWD1Mgyn6cCgwtKk3WNw/s7707/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(12)24.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2558" data-original-width="7707" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-cwYpzQIOV0uhBpeeGhV7UiVQ5OwY6Mjp6eIK3SKh-vaw08WELGXfTodDJMm-efoy4zCrnem-J06vxrLTfSYcHBL3oHMy3Yy7MS1IeDQ-0weKNB_vljZRkH0i0d20eRPiEQfgaIhbQptpm1eKQR1OYpNk51ChbHKLLMGg64QWD1Mgyn6cCgwtKk3WNw/w640-h212/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(12)24.JPG" width="640" /></a><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXET8ABkpTQesscCcv-jguuskfvWF_yFTHfntTTRbsDaOd9qn-QEdVzY-H2BijqMpKYHonsri8rI5BQRfo-4MYmgjJJkf9xx_5QL09mDctN1CwPRkT-KkYLS0jVTmhFudORgvNkcfiXOeLbd1yVXT67MBl7wIjeOIe_fsJ9GFe05eTi0z3ACrCFECV0w/s3520/FPGA_core_lattice_crosslink_nx_pcb1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1173" data-original-width="3520" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXET8ABkpTQesscCcv-jguuskfvWF_yFTHfntTTRbsDaOd9qn-QEdVzY-H2BijqMpKYHonsri8rI5BQRfo-4MYmgjJJkf9xx_5QL09mDctN1CwPRkT-KkYLS0jVTmhFudORgvNkcfiXOeLbd1yVXT67MBl7wIjeOIe_fsJ9GFe05eTi0z3ACrCFECV0w/w640-h214/FPGA_core_lattice_crosslink_nx_pcb1.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><span><a name='more'></a></span><b>Project Video</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/dwXs9RB6uD0" title="YouTube video player" width="560"></iframe>
</div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b>Hardware System</b></div><div class="separator" style="clear: both; text-align: left;">There are three boards, USB, FPGA and Sensor board. </div><div class="separator" style="clear: both; text-align: left;">Sensor board has Sensor itself along with its power and Oscillator, Board has High Density connector to be able to connect to FPGA/Host board, High Density connector also supply power to the board has I2C, 4Lane MIPI with clock , I2C and also few other control signals. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguvZb6VoqTUM8jBdZFn0dcBil3otjv_tqJWFATRSn2ikLnYHgq089xY5Qd6kW12a3_MpThVUqXTdViW3XA-yMXh14EsR54cneSjvVyhAYsFEMErYwZY6FWffUXndM3d1yKg75BxLSvKSQgw3HSoo-dQSB8ZCtGNsrMfjDDr2uSYZZnaK_s9T0H159xXg/s1824/sensor_board.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1752" data-original-width="1824" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguvZb6VoqTUM8jBdZFn0dcBil3otjv_tqJWFATRSn2ikLnYHgq089xY5Qd6kW12a3_MpThVUqXTdViW3XA-yMXh14EsR54cneSjvVyhAYsFEMErYwZY6FWffUXndM3d1yKg75BxLSvKSQgw3HSoo-dQSB8ZCtGNsrMfjDDr2uSYZZnaK_s9T0H159xXg/w400-h384/sensor_board.png" width="400" /></a></div><div><br /></div>FPGA board has in this case Lattice Crosslink NX LIFCL-40 in 256caBGA package with required power regulators, This board also has 2x 16Mybte RAM for applications that need additional memory, FPGA config flash memory is also on this board this board has two high density connector. Board pass I2C signal from Host right threw. <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSJY0DC4hwk6CwQpNOnWAIY_KC0N7ib1Xa0iW4lGs5AqnOQULfobQw2s9vghwa_A1IpalyT4iHgcCkHLVJ_T-s_6rg98zukfKrQmiwIAUUyyl2eb6NsxZfza1GG3WGs81UxtnAEfEy6TyWItTg7StfaZ7Fnyj0QFThPLSJ5_lMXQ9Gb9NziUyNNiTuzg/s2238/FPGA_board.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2238" data-original-width="2152" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSJY0DC4hwk6CwQpNOnWAIY_KC0N7ib1Xa0iW4lGs5AqnOQULfobQw2s9vghwa_A1IpalyT4iHgcCkHLVJ_T-s_6rg98zukfKrQmiwIAUUyyl2eb6NsxZfza1GG3WGs81UxtnAEfEy6TyWItTg7StfaZ7Fnyj0QFThPLSJ5_lMXQ9Gb9NziUyNNiTuzg/w385-h400/FPGA_board.png" width="385" /></a></div><div><br /></div>USB Board in this case has CYUSB3014 USB 3.0 Superspeed controller, along with required power and Memory, As this board has 3.0 USB C connector, so there is USB 3.0 mux is also there to support connector reversal <div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxDILzsB83ZHOc-16UO7A6mMhfmDDC4JXOH4v4lUrEOZL9Y1qzFeQeB_D3PaRhzdfyl2LmT0bakj4viXfLyX5P9GqCXOLhAji-NNr4O7qhq1izppJ5NgQJWSrHhnHPln0bWR6PoCgbZSTLAXLqo650AhMvbfII7dZdAnCUXErhwGQ-bl5w1LFMgzFDIg/s2284/USB_3.0_board.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2284" data-original-width="2152" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxDILzsB83ZHOc-16UO7A6mMhfmDDC4JXOH4v4lUrEOZL9Y1qzFeQeB_D3PaRhzdfyl2LmT0bakj4viXfLyX5P9GqCXOLhAji-NNr4O7qhq1izppJ5NgQJWSrHhnHPln0bWR6PoCgbZSTLAXLqo650AhMvbfII7dZdAnCUXErhwGQ-bl5w1LFMgzFDIg/w378-h400/USB_3.0_board.png" width="378" /></a></div><b><span style="font-size: large;">Schematic </span></b></div></div><div><br /></div><div>Currently I have just one camera PCB, This schematic shows IMX290 IMX327 IMX462 PCB , all these 3 sensors have same resolution and also same PCB footprint.</div><div><b><br /></b></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAwzlT0cZ-A59t5l9c2bqvjWlwUnC4NanJiLgg8Zp2XHseRtW5fsC9dIweEsnbhmznt5C9sMgvgNfRDw056CtnQQGsERV9KOs8mZXglwVTbeLdCFAAkXanWZbHBR2QNp4dPusdeuO2EwMuLSIw9L_oyT32Zg8xcfwxK1N7kl-IbpTcSTSifh7auGtaCQ/s8667/IMX290_module_sch.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="6206" data-original-width="8667" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAwzlT0cZ-A59t5l9c2bqvjWlwUnC4NanJiLgg8Zp2XHseRtW5fsC9dIweEsnbhmznt5C9sMgvgNfRDw056CtnQQGsERV9KOs8mZXglwVTbeLdCFAAkXanWZbHBR2QNp4dPusdeuO2EwMuLSIw9L_oyT32Zg8xcfwxK1N7kl-IbpTcSTSifh7auGtaCQ/w640-h458/IMX290_module_sch.png" width="640" /></a></div><br /><br /></div><div><b>FPGA board</b></div><div><b><br /></b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1QQqF1wzBqEaz3LNg_Qu9-7zSoANZio7-6pZRg5gWgtAScQiS-KvwPrL28HGj4qMkLeN8_7dVrG6o-5xUjd3M5X-1bqIK1QQrN-oREwZBnpYJ_7X6fyZ3ALYNYzkSef8L60XPwJ5YdXzDyQJEYv0hQfzORu1VNTU9Pxdd1yZ18WocrIZSk0vt_rdQCg/s8128/FPGA_Core_Flash.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5820" data-original-width="8128" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1QQqF1wzBqEaz3LNg_Qu9-7zSoANZio7-6pZRg5gWgtAScQiS-KvwPrL28HGj4qMkLeN8_7dVrG6o-5xUjd3M5X-1bqIK1QQrN-oREwZBnpYJ_7X6fyZ3ALYNYzkSef8L60XPwJ5YdXzDyQJEYv0hQfzORu1VNTU9Pxdd1yZ18WocrIZSk0vt_rdQCg/w640-h458/FPGA_Core_Flash.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg_m5UlrJg-cvVLGZVjEXWD306QvZYfi7-_IdK1mpNrmee391J-lnCClFwIndzoaLqjrOJndtxmcStwpC8s7JCcg_JBURZ_ZKKjWP7l1V99FJTHiV8WBog4yNxETDr_XdyDgRFUt1R7fbSsVAYXgWvWfvki_Y47dUPdjN_DlupreTc6p2wBw_eN4EdnA/s8128/FPGA_Core_GPIF.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5820" data-original-width="8128" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg_m5UlrJg-cvVLGZVjEXWD306QvZYfi7-_IdK1mpNrmee391J-lnCClFwIndzoaLqjrOJndtxmcStwpC8s7JCcg_JBURZ_ZKKjWP7l1V99FJTHiV8WBog4yNxETDr_XdyDgRFUt1R7fbSsVAYXgWvWfvki_Y47dUPdjN_DlupreTc6p2wBw_eN4EdnA/w640-h458/FPGA_Core_GPIF.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqKLsXJrhwI4mYtk1F43okO6BcYRPy2h_kdVBwoI9-K7UAPhT1KGCes_iCHIZBSR8hXRDgONpyN1o5sc7ISrazEhUo9oW-mbjBkcz21fwtO_hecok9oDOK5hPR_Ey9QkB2Q-uSaZsc-i0_aTD_ckcBeg9PcrO1dxdarc3VnnMRaqxTZVtGCeilnKAWw/s8128/FPGA_Core_Power.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5820" data-original-width="8128" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqKLsXJrhwI4mYtk1F43okO6BcYRPy2h_kdVBwoI9-K7UAPhT1KGCes_iCHIZBSR8hXRDgONpyN1o5sc7ISrazEhUo9oW-mbjBkcz21fwtO_hecok9oDOK5hPR_Ey9QkB2Q-uSaZsc-i0_aTD_ckcBeg9PcrO1dxdarc3VnnMRaqxTZVtGCeilnKAWw/w640-h458/FPGA_Core_Power.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiswauSqLTaFnw1FPeUxb-M__K6VOoi223HykD19at3JM_1fUY7Up0ToYHpCfPFtm30cLSI9fbZDGWVts3PbqKrUffqshUX0w3stxrWDDZ6UMcdTx3ZD2qzMWoAwdlXF4hLD9rJR2K-6JOkTXZvrRL5THGgWPnwH3OBiieOARAdebDuAlHcFOLCE-gF0Q/s8128/FPGA_Core_Power_2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5820" data-original-width="8128" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiswauSqLTaFnw1FPeUxb-M__K6VOoi223HykD19at3JM_1fUY7Up0ToYHpCfPFtm30cLSI9fbZDGWVts3PbqKrUffqshUX0w3stxrWDDZ6UMcdTx3ZD2qzMWoAwdlXF4hLD9rJR2K-6JOkTXZvrRL5THGgWPnwH3OBiieOARAdebDuAlHcFOLCE-gF0Q/w640-h458/FPGA_Core_Power_2.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSrejobDbJHoEhXB856x6Q7RqLZ2ZbcKntg2272Gv5sd5GTRncDcXmMw2idtXTAC9jqxt0qKFySCrLVO2x7v6Bs3Dl6MNqUAbf36S5i6bbGn7hOBQMY4S-3-AnQrgD-p391u82bHYC9hx2nPe1EBaHyEUrT1KDs95WnWsf-DS45yEKHfnmgWAkkkmgQ/s8128/FPGA_CORE_RAM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5820" data-original-width="8128" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSrejobDbJHoEhXB856x6Q7RqLZ2ZbcKntg2272Gv5sd5GTRncDcXmMw2idtXTAC9jqxt0qKFySCrLVO2x7v6Bs3Dl6MNqUAbf36S5i6bbGn7hOBQMY4S-3-AnQrgD-p391u82bHYC9hx2nPe1EBaHyEUrT1KDs95WnWsf-DS45yEKHfnmgWAkkkmgQ/w640-h458/FPGA_CORE_RAM.png" width="640" /></a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2OkyYxRCoADZsnVysfhkaujOPgBaWz2D0mcTmd3JybMjIzog01CCujW6FhUkV6pZX8T68E-ecslC2g7R5LIGtFDFBqhoq3v4ytmBJf2QTiW3t6Kz4JQ2U_rQSMuh_jwU_XQjt2bTuqwJv-4ExBRcbbkbUX3waH1tCcdSmyL7A2MrkyGOS3nS2kZfZOg/s8126/FPGA_Core_MIPI.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5818" data-original-width="8126" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2OkyYxRCoADZsnVysfhkaujOPgBaWz2D0mcTmd3JybMjIzog01CCujW6FhUkV6pZX8T68E-ecslC2g7R5LIGtFDFBqhoq3v4ytmBJf2QTiW3t6Kz4JQ2U_rQSMuh_jwU_XQjt2bTuqwJv-4ExBRcbbkbUX3waH1tCcdSmyL7A2MrkyGOS3nS2kZfZOg/w640-h458/FPGA_Core_MIPI.png" width="640" /></a></div><br /><div><b>USB 3.0 board</b></div><div><b><br /></b></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPzP58hZy7k66KnQsnId9LhiUfg5zP682Gb4N38Tq3UKvyq9T1u39znpvklhUX6I12-77-lxD3qlND0ipLYfsLyOD7Fbg6NYQJJdqZ_m7bW8aUXmEW96X7X4iAHTwn-QGdkWgWeDdSaVeS173KI_N9wsLgLb8OSa-m3sQmsnS3-7OtWaD5RhQP-d1Nw/s8126/cam_FX3_usb.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5818" data-original-width="8126" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPzP58hZy7k66KnQsnId9LhiUfg5zP682Gb4N38Tq3UKvyq9T1u39znpvklhUX6I12-77-lxD3qlND0ipLYfsLyOD7Fbg6NYQJJdqZ_m7bW8aUXmEW96X7X4iAHTwn-QGdkWgWeDdSaVeS173KI_N9wsLgLb8OSa-m3sQmsnS3-7OtWaD5RhQP-d1Nw/w640-h458/cam_FX3_usb.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivxOKFGQo_b9igBKc1OlnhQn6n8N0Ex5jxVj_iwnTvukzzoVGkq4cbRXw1vL34zJKTsYaLphWPImVbNZbr_pBirWsYRpltES3FNfR40c5Qicid3NUXaSWDu0P-Y2Bg81JZAS0uUZvvLcQYTijeUc5xMGWsK5XKw9qLPz9M7wWYgnk5OKkNUB2l-dZNIA/s8126/cam_FX3_power.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5818" data-original-width="8126" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivxOKFGQo_b9igBKc1OlnhQn6n8N0Ex5jxVj_iwnTvukzzoVGkq4cbRXw1vL34zJKTsYaLphWPImVbNZbr_pBirWsYRpltES3FNfR40c5Qicid3NUXaSWDu0P-Y2Bg81JZAS0uUZvvLcQYTijeUc5xMGWsK5XKw9qLPz9M7wWYgnk5OKkNUB2l-dZNIA/w640-h458/cam_FX3_power.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht4OUkZUSb7X2UAhhp4Jp9CNoVBBXeiipBZ1LQQliG10iMyYcPcmIsnoeFDLNr3uB5QH0QliV79qyA6cCx8RkMX3Du1VVZx2dSrSw27L4wNjyivVUoS3MpheN6rgB1MBv0K4PDiEL2lBlvzPotJgF8kz6e4x0VwDHR98r07yakCECU6zzAzZqk7n710Q/s8126/cam_FX3_gpif.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5818" data-original-width="8126" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht4OUkZUSb7X2UAhhp4Jp9CNoVBBXeiipBZ1LQQliG10iMyYcPcmIsnoeFDLNr3uB5QH0QliV79qyA6cCx8RkMX3Du1VVZx2dSrSw27L4wNjyivVUoS3MpheN6rgB1MBv0K4PDiEL2lBlvzPotJgF8kz6e4x0VwDHR98r07yakCECU6zzAzZqk7n710Q/w640-h458/cam_FX3_gpif.png" width="640" /></a></div><br /><b>PCB Boards</b></div><div><b><br /></b></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKBjwP66bjzqh8FUmmuQxDBPgineWmooqgpkKWBvyEALCFwWVoRSVhlSTQNtOlwXM4xshiRwhlLDvCkC2fxIW7XGN9WqCdcFDsvICX3pGASOKb642IKFygU4JVClz51iMtmzU6QeEIS1PGA_UHRLHXeqRfuOIXloQHdp1YwjbUQa2T4DiccjQRXtqyQ/s7680/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(8).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="3736" data-original-width="7680" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUKBjwP66bjzqh8FUmmuQxDBPgineWmooqgpkKWBvyEALCFwWVoRSVhlSTQNtOlwXM4xshiRwhlLDvCkC2fxIW7XGN9WqCdcFDsvICX3pGASOKb642IKFygU4JVClz51iMtmzU6QeEIS1PGA_UHRLHXeqRfuOIXloQHdp1YwjbUQa2T4DiccjQRXtqyQ/w640-h312/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(8).JPG" width="640" /></a></div><div><br /></div><div>All of the boards are 6 Layer, All of them are 27 x 27 mm , while mounting holes are 22 mm appart</div><div><br /></div><div>Camera sensor Board </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBWyXPMFaSwnM1c4QhnY406ZqANn6A1UNqe-bBNbDp_hDu2asq2hBa2pvE9xBOQajVc0Q1tHO4sBcZbFKtlq4p-DI46pcVqaK_--J3Moh_IyimV5pGEq__0g1sLFJHy2TcSw-Jt_41P7qmnZl_zan35rhVUlahmRovbEx4UmeRbKo2J2AIR70Z4Z3MGg/s4584/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(1).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2259" data-original-width="4584" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBWyXPMFaSwnM1c4QhnY406ZqANn6A1UNqe-bBNbDp_hDu2asq2hBa2pvE9xBOQajVc0Q1tHO4sBcZbFKtlq4p-DI46pcVqaK_--J3Moh_IyimV5pGEq__0g1sLFJHy2TcSw-Jt_41P7qmnZl_zan35rhVUlahmRovbEx4UmeRbKo2J2AIR70Z4Z3MGg/w640-h316/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(1).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAOQ9apchmcgA1zbAVhO5U5Lzih8fRJowk4y0kjxpxcUVtfnndOYIHEHkGw6jGt4esVLXxMPZpUeHHI_N0Bc-RUUSeT89Z-D6jBNB__3RTZO_q9SRSHhak8yMYW_BNTUe5Lv63aw7R7QrGRXaTjCy9Sq93heKE84hCBRoXUBfpk0VspZ9j8Laa0dN4MQ/s3640/IMX290_sensor_PCB.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2396" data-original-width="3640" height="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAOQ9apchmcgA1zbAVhO5U5Lzih8fRJowk4y0kjxpxcUVtfnndOYIHEHkGw6jGt4esVLXxMPZpUeHHI_N0Bc-RUUSeT89Z-D6jBNB__3RTZO_q9SRSHhak8yMYW_BNTUe5Lv63aw7R7QrGRXaTjCy9Sq93heKE84hCBRoXUBfpk0VspZ9j8Laa0dN4MQ/w640-h422/IMX290_sensor_PCB.png" width="640" /></a></div><div><br /></div><div><br /></div><div><b>IMX477 Sensor PCB</b></div><div><b><br /></b></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixr0QiC6-oNMYmI-MmgSF1gT2-K8ZVZ9vqw-KN5bq7EEynkD8wvPDpY_26U6dzPauFA0b25kwxXo6PJ-nm1njlRbPb7048EAqX_6gl6vFIvDZSf0GeqR6dWrOp--QKTWNLGbobn4iPRW8KtCEsVeBuhh5J6nLOg-18VUxxyNs14K_dQD5Sc-YJOCqcUQ/s5380/custom%20IMX477%20Sensor%20with%20FPGA.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2667" data-original-width="5380" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixr0QiC6-oNMYmI-MmgSF1gT2-K8ZVZ9vqw-KN5bq7EEynkD8wvPDpY_26U6dzPauFA0b25kwxXo6PJ-nm1njlRbPb7048EAqX_6gl6vFIvDZSf0GeqR6dWrOp--QKTWNLGbobn4iPRW8KtCEsVeBuhh5J6nLOg-18VUxxyNs14K_dQD5Sc-YJOCqcUQ/w640-h318/custom%20IMX477%20Sensor%20with%20FPGA.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh29ndY8QjTojYhhZwNT9gxuS5gjgrpevE3Vbgri-OxQir6tI-SEX3qhWri70fxlTtdx-L1D9EDYrz1GBttp9GrPu4uIqM1XVBKMBnQlivMT-Opl5GfUOdbl6PjJEtz_DAw2O9B2594x8VJE2tin658-GhObVzoe_QZ0OX6lK1sdVkwYRfuy7_zLONHTg/s2404/imx477.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2396" data-original-width="2404" height="638" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh29ndY8QjTojYhhZwNT9gxuS5gjgrpevE3Vbgri-OxQir6tI-SEX3qhWri70fxlTtdx-L1D9EDYrz1GBttp9GrPu4uIqM1XVBKMBnQlivMT-Opl5GfUOdbl6PjJEtz_DAw2O9B2594x8VJE2tin658-GhObVzoe_QZ0OX6lK1sdVkwYRfuy7_zLONHTg/w640-h638/imx477.jpg" width="640" /></a></div><br /><b><br /></b></div><div><br /></div><b>FPGA PCB</b></div><div><b><br /></b></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOe5ZolmkriF09M_ofFuCJ8gNTztMCWqbredIZzDrG69hhZuKL3H5X4fPzB9KR3x1PRxxPzO7ZupWeNZEr798Ws0QYUIV0ydYmSdabsQAwc9ezd3Fs4iTE2K7keneNfrAyaxppQZpdY0qMamzdfEHATG3hR5AHbWp10hfdXePllR5pp-8xjedyEGnwNg/s4520/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(10).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2252" data-original-width="4520" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOe5ZolmkriF09M_ofFuCJ8gNTztMCWqbredIZzDrG69hhZuKL3H5X4fPzB9KR3x1PRxxPzO7ZupWeNZEr798Ws0QYUIV0ydYmSdabsQAwc9ezd3Fs4iTE2K7keneNfrAyaxppQZpdY0qMamzdfEHATG3hR5AHbWp10hfdXePllR5pp-8xjedyEGnwNg/w640-h318/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(10).JPG" width="640" /></a></div><br /><b><br /><br /></b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYRapstN-Es8gmsG8EqJ4-xQca70TqIgpXng-6K54tszFeib7oXq2kO9d06hPrOSzIO3dVYZ2hn54wTQHuyZxn9WSbUx9ZNcBv-uBiUJ72PINrGmTxNaeQzhuFreZ95bo5qAj4xamsCUU2JBxDUj9qU9wWWQ9Va5hDzjO0UtZlK6q7k1_ikeDYhrqnCg/s3520/FPGA_core_lattice_crosslink_nx_pcb.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2344" data-original-width="3520" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYRapstN-Es8gmsG8EqJ4-xQca70TqIgpXng-6K54tszFeib7oXq2kO9d06hPrOSzIO3dVYZ2hn54wTQHuyZxn9WSbUx9ZNcBv-uBiUJ72PINrGmTxNaeQzhuFreZ95bo5qAj4xamsCUU2JBxDUj9qU9wWWQ9Va5hDzjO0UtZlK6q7k1_ikeDYhrqnCg/w640-h426/FPGA_core_lattice_crosslink_nx_pcb.png" width="640" /></a></div><br /><div><b>USB 3.0 Board</b></div><div><b><br /></b></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs404yCLrDO2msjuS9KsbRLwdgpFBXZg7pl_mJhGKsAadvDAw3kdLcSvQxHIN5wN2s02W4oMgHylftliLdJ94WRp1He16rooQ1iCMa7DuasqGoeq0IVbwGQsqtbvOanJjzX1gj0SvsWBbWZQUfE95MTYXYkBfsNBLepxxIv3aHyjgvZ0eNec-2MLJu4g/s4988/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(9).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2343" data-original-width="4988" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs404yCLrDO2msjuS9KsbRLwdgpFBXZg7pl_mJhGKsAadvDAw3kdLcSvQxHIN5wN2s02W4oMgHylftliLdJ94WRp1He16rooQ1iCMa7DuasqGoeq0IVbwGQsqtbvOanJjzX1gj0SvsWBbWZQUfE95MTYXYkBfsNBLepxxIv3aHyjgvZ0eNec-2MLJu4g/w640-h300/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(9).JPG" width="640" /></a></div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_E74VH1Ex-6LHdlkvAKoW2O4FXgqqICWt1aZNu9rzGSRMyC-AdFhQUB90ZPrRueL0kdTRpKyq3Q0pw6rgVHgxR9ya90iPGXRRn7rnarUgvrQy4JPVqc5dR-rQWE0rRI4co-tPhdFuDjHptyVmgzG1rwwe3A1kTBiMkue5pjn7v7EuZB1MPiMSIxedwQ/s3640/fx3_PCB.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2396" data-original-width="3640" height="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_E74VH1Ex-6LHdlkvAKoW2O4FXgqqICWt1aZNu9rzGSRMyC-AdFhQUB90ZPrRueL0kdTRpKyq3Q0pw6rgVHgxR9ya90iPGXRRn7rnarUgvrQy4JPVqc5dR-rQWE0rRI4co-tPhdFuDjHptyVmgzG1rwwe3A1kTBiMkue5pjn7v7EuZB1MPiMSIxedwQ/w640-h422/fx3_PCB.png" width="640" /></a></div><div><br /></div><div><br /></div><div><b>Assembly </b></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPHA08jb5jT-tkjJDa1EZCR5oDusVZAx6ITkJ425Eyt_zDiDLRlZuDy1UGuMSuncHejmTX6r_bP6W9a_38WhwlvzQJA2tsJWD0PrO-7FQxCRQmPf1iEP_YioXAwIbGDxrc61dz3W8S7kgk8dg2sc5OYHnws2rZropgv7lsWalR6TzT4LNJKwiS9WJS3Q/s4460/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(16)1.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2192" data-original-width="4460" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPHA08jb5jT-tkjJDa1EZCR5oDusVZAx6ITkJ425Eyt_zDiDLRlZuDy1UGuMSuncHejmTX6r_bP6W9a_38WhwlvzQJA2tsJWD0PrO-7FQxCRQmPf1iEP_YioXAwIbGDxrc61dz3W8S7kgk8dg2sc5OYHnws2rZropgv7lsWalR6TzT4LNJKwiS9WJS3Q/w640-h314/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(16)1.JPG" width="640" /></a></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOjpnIk-p8QrUqUY352yLEiDFPm0Ji8Us6vMdDTW_gm0CXHBeVqk_F96Di0opdxKIXd3PwNIKGa-uU8tmes9d5EDMLUBAUqu-mrPHrQ22P1CBbO149q0wVgLKxfMMrbQvZPtILml3ex5vGSosNk0IYZL0u0CrFa9leusFsi3a_68BVx0RO_UMKykZp9w/s4512/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(14)1.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2244" data-original-width="4512" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOjpnIk-p8QrUqUY352yLEiDFPm0Ji8Us6vMdDTW_gm0CXHBeVqk_F96Di0opdxKIXd3PwNIKGa-uU8tmes9d5EDMLUBAUqu-mrPHrQ22P1CBbO149q0wVgLKxfMMrbQvZPtILml3ex5vGSosNk0IYZL0u0CrFa9leusFsi3a_68BVx0RO_UMKykZp9w/w640-h318/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(14)1.JPG" width="640" /></a></div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2qOETUtdbIsmRSLUYdk0rRgONi09nGJDFAvbmqdJhyS0f1AHoB9i77l4Yn_yjyYAkN0QqtMzHaq72vwpU3MBuU11h_027KvEAVJS11l6lc_0e87m3XJpkXxznT3ok0rOKCLUjlOOjQIHq3FNs7tEeqoWOIl9bObdNGBk-kMo9Let8WfWApaw8UkYKw/s5038/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(12)2.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2492" data-original-width="5038" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2qOETUtdbIsmRSLUYdk0rRgONi09nGJDFAvbmqdJhyS0f1AHoB9i77l4Yn_yjyYAkN0QqtMzHaq72vwpU3MBuU11h_027KvEAVJS11l6lc_0e87m3XJpkXxznT3ok0rOKCLUjlOOjQIHq3FNs7tEeqoWOIl9bObdNGBk-kMo9Let8WfWApaw8UkYKw/w640-h316/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(12)2.JPG" width="640" /></a></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPT2-8Te8mcL8ropfm8H-TdX7W8GyHUgr-ivlr4o2as6ACeECImOHTvfRx38418eCggaI2Aa0Rbg0N-EpHedZDJMgo9_1pFgDpPKKDqcOFmBalL_fWi-YeksUlqruu760Oe7tC1yLC7vP4ZiuOGhazKsUXF_1uFQmvfPw3UeeJCW012DFJ9Z8aYDdqg/s3659/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(23).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2745" data-original-width="3659" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPT2-8Te8mcL8ropfm8H-TdX7W8GyHUgr-ivlr4o2as6ACeECImOHTvfRx38418eCggaI2Aa0Rbg0N-EpHedZDJMgo9_1pFgDpPKKDqcOFmBalL_fWi-YeksUlqruu760Oe7tC1yLC7vP4ZiuOGhazKsUXF_1uFQmvfPw3UeeJCW012DFJ9Z8aYDdqg/w640-h480/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(23).JPG" width="640" /></a></div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirKN0geirGpPkWlY1wJca2HtkN1Adx-4dKdtHH3NiM8MLUoBALGeSJUy5ELp2KWbCeB0JcoCKQ6Nq274j8QnVdDeN08fBw104u1bV_g_W48xU5FBsDhpmjM0O74Nyu38L8g1biaG2WlSMk2gPzxOa5144_fjN2M2-GuCrtoholvz-LkKflWOkcNSUgSA/s3846/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(22).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2931" data-original-width="3846" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirKN0geirGpPkWlY1wJca2HtkN1Adx-4dKdtHH3NiM8MLUoBALGeSJUy5ELp2KWbCeB0JcoCKQ6Nq274j8QnVdDeN08fBw104u1bV_g_W48xU5FBsDhpmjM0O74Nyu38L8g1biaG2WlSMk2gPzxOa5144_fjN2M2-GuCrtoholvz-LkKflWOkcNSUgSA/w640-h488/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(22).JPG" width="640" /></a></div><b><span style="font-size: medium;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBwkaN-MqctcxBwNKJ8bxtNDwXFWOtJGvlSiPEaxhbVyIQafb4WHznwGc5G5CvbNyT7y9xOWNui1bxFvbwDDobwkNEpt-gsKH-lL-gM7cqwv5_iB6WWNNPQtA4pdBfcrEcAAK276sdWjqPNz5bnpbch6uyaEWxIQXpmb23gr1FwSzqVRiTTBC0FIO3AQ/s3329/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(20).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2811" data-original-width="3329" height="540" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBwkaN-MqctcxBwNKJ8bxtNDwXFWOtJGvlSiPEaxhbVyIQafb4WHznwGc5G5CvbNyT7y9xOWNui1bxFvbwDDobwkNEpt-gsKH-lL-gM7cqwv5_iB6WWNNPQtA4pdBfcrEcAAK276sdWjqPNz5bnpbch6uyaEWxIQXpmb23gr1FwSzqVRiTTBC0FIO3AQ/w640-h540/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(20).JPG" width="640" /></a></div><div><b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUeouXs4wP6XOSJUlb1J9xBLg3h4-Pz4ILkZvVXBXlEcjdLL5Aie7le2SLMjs5KzzK36kgaBZfsRosEYF4zTuPEreNsUbcowAtapOSiKntsdUxce2wvHwoqfvKoyRfSDDpfcVabFcOsU2GurJyNsXTU68n2uY54yMPvvPubbieR03GFeCv-szqbqV9Xw/s3293/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(21).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2943" data-original-width="3293" height="572" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUeouXs4wP6XOSJUlb1J9xBLg3h4-Pz4ILkZvVXBXlEcjdLL5Aie7le2SLMjs5KzzK36kgaBZfsRosEYF4zTuPEreNsUbcowAtapOSiKntsdUxce2wvHwoqfvKoyRfSDDpfcVabFcOsU2GurJyNsXTU68n2uY54yMPvvPubbieR03GFeCv-szqbqV9Xw/w640-h572/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(21).JPG" width="640" /></a></div><br /><span style="font-size: medium;"><br /></span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div>Hardware and Camera Lens C mount</span></b></div><div><br /></div><div>To be able to mount a C mount lens I designed a mount in Fusion 360. as small threads on FDM printer are little hard to deal with There are many already made aluminum CS mount to C mount adapters are available online, Raspberry Pi camera also comes with one such ring, I bought these CS to C mount ring and I designed part around my PCB to fit these CS mount adapter ring to give me metal thread. </div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqS7wI42XBq47cU6t1ChrIp6EFBmeOtbm8U0a1QD2rItx-XeHOO_awTffU5E6Ttc5l7xkpHSkGh2cVSxarKDEELelP9Zq-0CrkxiMnizz3KgD9mQKVjmLhVHSrIvyA-IQyj-MM98JbM9bexI3_5LF0KkaLoNUw42gzcG5bzcmK-3DWBtYfTHZgi0duw/s1250/3d_printed_lens_mont_c_mount.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="984" data-original-width="1250" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqS7wI42XBq47cU6t1ChrIp6EFBmeOtbm8U0a1QD2rItx-XeHOO_awTffU5E6Ttc5l7xkpHSkGh2cVSxarKDEELelP9Zq-0CrkxiMnizz3KgD9mQKVjmLhVHSrIvyA-IQyj-MM98JbM9bexI3_5LF0KkaLoNUw42gzcG5bzcmK-3DWBtYfTHZgi0duw/w640-h504/3d_printed_lens_mont_c_mount.png" width="640" /></a></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2lRMkpYlD0Ij9a9N3RhWlAs_Ts3qzBSl9-Y3RwgeI7w7UX-B5aafErAVkpAyK5gFMUJFPyn9FoRP3DT6v4QB6fQbmbJIhAMqnDp71AdP_fkBJmee6gdmsudurYsy0g5LCm5IE7rGyT6itjGaGztJ23VyuqM88EDVg0LDB8U-6Z0_9ODk-i2vdQKFN5A/s2795/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(26).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2468" data-original-width="2795" height="566" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2lRMkpYlD0Ij9a9N3RhWlAs_Ts3qzBSl9-Y3RwgeI7w7UX-B5aafErAVkpAyK5gFMUJFPyn9FoRP3DT6v4QB6fQbmbJIhAMqnDp71AdP_fkBJmee6gdmsudurYsy0g5LCm5IE7rGyT6itjGaGztJ23VyuqM88EDVg0LDB8U-6Z0_9ODk-i2vdQKFN5A/w640-h566/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(26).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg39WCR_adhX9N4XarjH_889xJnubm5QKYMXrlrYS2I1NF3021upcUfXlgn7Vr1qCfCVMwxadqwRWWn5UAJg61-iJvKpdALDNUEwCCI-K14VJuVGtVvxg62UkaaOSXokhtbw6zx9sMwuo3O7iXCkNgONpRL21VX-D3pR1TQEBL9ZsZhtuq3t90THT-Dag/s2624/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(27).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2590" data-original-width="2624" height="632" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg39WCR_adhX9N4XarjH_889xJnubm5QKYMXrlrYS2I1NF3021upcUfXlgn7Vr1qCfCVMwxadqwRWWn5UAJg61-iJvKpdALDNUEwCCI-K14VJuVGtVvxg62UkaaOSXokhtbw6zx9sMwuo3O7iXCkNgONpRL21VX-D3pR1TQEBL9ZsZhtuq3t90THT-Dag/w640-h632/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(27).JPG" width="640" /></a></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8e92HZO5B1Zn1j1ZAIa1LQzOW5z9RHEZVShQLEoHyEu7Z32J2vaSkxyKfQGm7QE9c1cj7AhHZeypXVHQaMf37Q3ZvQzvS-41bdlXFnB4tZE-owWmOWribz5bBNH-v9rCl-5iuZqGfjFF8FB7Xz8xLuJSb5uhYSlUcEh9kpcoy5fFnlazpbhqkTEZb6w/s4375/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(25).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3019" data-original-width="4375" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8e92HZO5B1Zn1j1ZAIa1LQzOW5z9RHEZVShQLEoHyEu7Z32J2vaSkxyKfQGm7QE9c1cj7AhHZeypXVHQaMf37Q3ZvQzvS-41bdlXFnB4tZE-owWmOWribz5bBNH-v9rCl-5iuZqGfjFF8FB7Xz8xLuJSb5uhYSlUcEh9kpcoy5fFnlazpbhqkTEZb6w/w640-h442/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(25).JPG" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh189kRDvhAbV9qDh24Oaj6qsbCR-dF8cOom1DcFIYfOEJpgWCbrFNxfyIY4psWWCzKcxdZDfTmUz_KbMngmMxfGZ0PGX--HO4A6bIJcGuqhcjpkfu-1QezP0DqfSxX1vbWCQhPfccHBiMy_EUZ04nz3Mpz7wrjAlyzYRsQO1suyXaKEyUEz0BIwBWrnw/s4823/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(28).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3941" data-original-width="4823" height="522" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh189kRDvhAbV9qDh24Oaj6qsbCR-dF8cOom1DcFIYfOEJpgWCbrFNxfyIY4psWWCzKcxdZDfTmUz_KbMngmMxfGZ0PGX--HO4A6bIJcGuqhcjpkfu-1QezP0DqfSxX1vbWCQhPfccHBiMy_EUZ04nz3Mpz7wrjAlyzYRsQO1suyXaKEyUEz0BIwBWrnw/w640-h522/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(28).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvoqkpyLIC8oXwVqNhrNgyrykvQumSS1Qhlcc323pS6s7GCMg-N8zfelaEoR29qNU1ZobnFQ380QwXrTMnzDBC6UB0OwV1Koh_OTWZI5VH144r7LA3TPL4UzrbWVCFEQnCFPO5t1waI2u2-5x3aWX4B9dzcFHAuvOpWi_usXv0bjj3hpIXVh47ZhOM5A/s3495/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(30).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3259" data-original-width="3495" height="596" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvoqkpyLIC8oXwVqNhrNgyrykvQumSS1Qhlcc323pS6s7GCMg-N8zfelaEoR29qNU1ZobnFQ380QwXrTMnzDBC6UB0OwV1Koh_OTWZI5VH144r7LA3TPL4UzrbWVCFEQnCFPO5t1waI2u2-5x3aWX4B9dzcFHAuvOpWi_usXv0bjj3hpIXVh47ZhOM5A/w640-h596/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(30).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgWs9s-99Rm0fo3qWRw00NxAOp_Iv8v5qWgeMXDLootlMIjVfGZgBkewFQeeQdIfjXMzEafjNCrDDm76hPFf8LI6rHwEz4bh0VonCab-haWJJXNmPuYNFkCIwi103sVamQCPl0WyLMD2KGWkwjC3qoSG04dn_uk_imUGNSnHCvlHLPSv4IZLJOzs31w/s3742/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(29).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3258" data-original-width="3742" height="558" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYgWs9s-99Rm0fo3qWRw00NxAOp_Iv8v5qWgeMXDLootlMIjVfGZgBkewFQeeQdIfjXMzEafjNCrDDm76hPFf8LI6rHwEz4bh0VonCab-haWJJXNmPuYNFkCIwi103sVamQCPl0WyLMD2KGWkwjC3qoSG04dn_uk_imUGNSnHCvlHLPSv4IZLJOzs31w/w640-h558/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(29).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPxk5ayEtOymTXuLX6MidVZ4ftrMjk8vDRqRV-z5C-ERi_LwMJFsNN7QGBQZFT98GltNx1s0Xa4RQAJWRafOGLAVJmNk7u4Y6GeZ5uUtw3IyYckXfXJqPXpH-HsJsiqEGh_4kDmMuPrFsHGQOFVstAH3xEJ-JDzInqmJ3jd_XRAgrjcWp-YhNWdY7WYQ/s3291/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(31).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3291" data-original-width="3054" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPxk5ayEtOymTXuLX6MidVZ4ftrMjk8vDRqRV-z5C-ERi_LwMJFsNN7QGBQZFT98GltNx1s0Xa4RQAJWRafOGLAVJmNk7u4Y6GeZ5uUtw3IyYckXfXJqPXpH-HsJsiqEGh_4kDmMuPrFsHGQOFVstAH3xEJ-JDzInqmJ3jd_XRAgrjcWp-YhNWdY7WYQ/w594-h640/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(31).JPG" width="594" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHOHGZu-3V-Llcqk93kQeg5016-qAaPxBtcQtwt2HzctgtwsAqaRiI7ZI4ajOlRfNWUz2Hstb54AunjVTw1MRib5pk0T3__pK0-geLlTPFqUQVkHpwHysuNFKGIOVXjYTybf24N5SNQcxrThQffKwpMX1TLlDZcSauIhVV4WZW-lHOhujARbmDtLKsQ/s3519/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(32).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3199" data-original-width="3519" height="582" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHOHGZu-3V-Llcqk93kQeg5016-qAaPxBtcQtwt2HzctgtwsAqaRiI7ZI4ajOlRfNWUz2Hstb54AunjVTw1MRib5pk0T3__pK0-geLlTPFqUQVkHpwHysuNFKGIOVXjYTybf24N5SNQcxrThQffKwpMX1TLlDZcSauIhVV4WZW-lHOhujARbmDtLKsQ/w640-h582/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(32).JPG" width="640" /></a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyxPWFvASyfBpJizsfmIhl3hxoLJUFD0NKEqkS7HKn11yIIt18qjIhB_GabNz9JPzNKSz7JCfBYhIElcHgnJG_E3B50vMZnMo-yF9Iju2WApg2stCwyL0tgJedRFQST-dW-VCX51I2aXKIbhL4PQhYRhOhhqqQUMFjFLDr8MYlwGFhv6r-dg5ps2hMWg/s4535/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(6).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3143" data-original-width="4535" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyxPWFvASyfBpJizsfmIhl3hxoLJUFD0NKEqkS7HKn11yIIt18qjIhB_GabNz9JPzNKSz7JCfBYhIElcHgnJG_E3B50vMZnMo-yF9Iju2WApg2stCwyL0tgJedRFQST-dW-VCX51I2aXKIbhL4PQhYRhOhhqqQUMFjFLDr8MYlwGFhv6r-dg5ps2hMWg/w640-h444/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(6).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_7goSB13qpDA_xC-Ahi3v1TXBpVscpiO2uPrdNC2qY4IK-LXN5xUP3EIawBDxVfuG14vYHv8Ud3S3Yz0zmxHfQnOdoflBLmOnhAHVa-wQdjUvSFzwiTmPWocL6YmHspuU9KnNEr5FvJ21wlfVu8-YMJHpEiaA_F3e4OLapan9KBlHZOZ1b5Khx8B1lw/s3702/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(7).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2868" data-original-width="3702" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_7goSB13qpDA_xC-Ahi3v1TXBpVscpiO2uPrdNC2qY4IK-LXN5xUP3EIawBDxVfuG14vYHv8Ud3S3Yz0zmxHfQnOdoflBLmOnhAHVa-wQdjUvSFzwiTmPWocL6YmHspuU9KnNEr5FvJ21wlfVu8-YMJHpEiaA_F3e4OLapan9KBlHZOZ1b5Khx8B1lw/w640-h496/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(7).JPG" width="640" /></a></div><div><br /></div><div><br /></div><b><span style="font-size: medium;">Enclosure</span></b><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5UFfHXo7hCU-5YBtjBz4WBGMCl9ukov3Q6ty8SJWM3XLR6cHyzhTymj-rcFpc_-Xx9islPE3xtrqF7dsLEJNbnuNLkwMUgmdf4lUpHX_PDgICcUcRGs_p2Ypj1tqay6jG4Pes47q8mLw1-93xg3iScoc9zFfIue1PBUDfnbXcDjVHs1bVJ8j6WxoYeQ/s4138/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(34).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3731" data-original-width="4138" height="578" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5UFfHXo7hCU-5YBtjBz4WBGMCl9ukov3Q6ty8SJWM3XLR6cHyzhTymj-rcFpc_-Xx9islPE3xtrqF7dsLEJNbnuNLkwMUgmdf4lUpHX_PDgICcUcRGs_p2Ypj1tqay6jG4Pes47q8mLw1-93xg3iScoc9zFfIue1PBUDfnbXcDjVHs1bVJ8j6WxoYeQ/w640-h578/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(34).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh46I4TvcmTYQpu9B5gO9YQd2oOqRqtMjxgrj00Nx99Dl4oKcT1UNyH2-MjUqmujXba9-PEsbDHgk6GH-xx1-8ArHLMb3UsuFYiRgwlyFLsExn7V-1HmjrLw_4535-Dmz7WsO46b0BcEPRl0h7hHTgc5ehFAcKBJLEvAGaHDH7uAqNLk3F4Z-iCCiYb8A/s4274/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(35).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3151" data-original-width="4274" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh46I4TvcmTYQpu9B5gO9YQd2oOqRqtMjxgrj00Nx99Dl4oKcT1UNyH2-MjUqmujXba9-PEsbDHgk6GH-xx1-8ArHLMb3UsuFYiRgwlyFLsExn7V-1HmjrLw_4535-Dmz7WsO46b0BcEPRl0h7hHTgc5ehFAcKBJLEvAGaHDH7uAqNLk3F4Z-iCCiYb8A/w640-h472/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(35).JPG" width="640" /></a></div><br /><div><br /></div><div><br /></div><div><br /></div><div><b>FPGA Design</b></div><div><b><br /></b></div><div><div><b>MIPI</b></div><div>What is MIPI, you can google it to find out but basically it is a interface specification for Displays and Camera sensor to a application processor.</div><div><br /></div><div>Image blow show block diagram of MIPI. On one side there is application processor and other side is the peripheral. When peripheral is Camera and CSI apply. though mipi is closed specification which means one has to be member of MIPI consortium to gain access to full specification. And membership of the consortium comes with a big price tag for individuals. Luckily full specification is already available just a right keyword web search away. DCS, CCS, DSI, CSI and DPHY all the specification are available with just few minutes of web search.</div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijjRgpUBMpWD4Gvn7etSb82o7JUjpNPy2qW19O1x9TepDkY_AHKFKjAc4R7slNDzoKgA79j05lbZsfIR2j7dPQBW6gUqL5jwd-M-_Jhmvn9BXhqUu0WMA9q29L--ctG9wBnhKq4X-OCAD4OHKW9eKSHi8UzkYmkBUU-OYdNE4UJ6Jgpx0aE-E9M6Z0LA/s1646/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1056" data-original-width="1646" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijjRgpUBMpWD4Gvn7etSb82o7JUjpNPy2qW19O1x9TepDkY_AHKFKjAc4R7slNDzoKgA79j05lbZsfIR2j7dPQBW6gUqL5jwd-M-_Jhmvn9BXhqUu0WMA9q29L--ctG9wBnhKq4X-OCAD4OHKW9eKSHi8UzkYmkBUU-OYdNE4UJ6Jgpx0aE-E9M6Z0LA/w640-h410/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br />
<b>MIPI DPHY Signal</b>
<div>
<br /></div>
<div>
The image shows i got from google shows signal level for MIPI , HS driven by differential driver swings -200mV to +200mV at offset of 200mv. while LP signal is a 1.2V lvcmos </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5GJmCqNbmAUwz2FkWkGHER9-QDQD8ij3iDlqMrZzYZeOhuePw46q1rTI0KvJr2L3mudcywgCJc3xGGglVL8Oz8MV40Qdm5MgyLzoSEJ_olbgI5BUOhGm9wztx4Ng9jb8YAdxWJ_932tbM/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="579" data-original-width="1600" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5GJmCqNbmAUwz2FkWkGHER9-QDQD8ij3iDlqMrZzYZeOhuePw46q1rTI0KvJr2L3mudcywgCJc3xGGglVL8Oz8MV40Qdm5MgyLzoSEJ_olbgI5BUOhGm9wztx4Ng9jb8YAdxWJ_932tbM/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
there are two different modes of transmission , HS mode and LP mode, HS mode is for hi speed display data while LP mode is for Low power transmission. </div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<div>
<div>
Receiver must detect when transmitter has gone into HS mode and exited HS mode.</div>
<div>
Image blow shows how transmitter enter HS modes. </div>
</div>
<div>
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUrlw2Ugh_TczfL7w_tDZ69A8w-isbmevDHAquVksWI9BNue0S4EFYWub2Jby4eWF_w28aVzToOcEa2k14vVTUwlFng0kEXm6OKaWmJ1JF5uNi-5mW_Nct1oE1z1TsN2xhmSiPs4AyUEH5/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUrlw2Ugh_TczfL7w_tDZ69A8w-isbmevDHAquVksWI9BNue0S4EFYWub2Jby4eWF_w28aVzToOcEa2k14vVTUwlFng0kEXm6OKaWmJ1JF5uNi-5mW_Nct1oE1z1TsN2xhmSiPs4AyUEH5/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" width="640" /></a></div>
<div>
<div>
<br /></div>
<div>
<div style="text-align: justify;">
Stage 0 : LP-11 state in the shown image is LP state.</div>
</div>
<div>
<div style="text-align: justify;">
Stage 1 : To get into HS mode driver drives LPdp low for Tlpx(minimum 50ns) and stay in LP-01 (HS driver is tristate in LP 01).</div>
</div>
<div>
<div style="text-align: justify;">
Stage 2: Driver drives LPdn low for Ths-prepare (minimum 95ns) stay in LP-00 , Later somewere in the middle of this stage target device will activate it's 100R termination register. </div>
</div>
<div>
<div style="text-align: justify;">
Stage 3: Now Target is in HS, driver activates HS driver start sending mandatory zeros .</div>
</div>
<div>
<div style="text-align: justify;">
Stage 4: Send mandatory 0xB8 sync byte and then payload.</div>
</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
<b>CSI</b></div>
</div>
<div>
<div style="text-align: justify;">
<b><br /></b></div>
</div>
<div>
<div>
<div style="text-align: justify;">
As explained earlier CSI , describes Packet structure. How exactly bytes are packed on to wire in different lanes configuration.</div>
</div>
<div>
<div style="text-align: justify;">
Image blow shows packet structure. </div>
</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglat-rko8XMLBtHLZZCeUwU6NAcszDh4kA1NLvzSVAI8P8ZMl4aJP5WQaQ4m6irI95O1z8hyphenhyphenWMy3A4EEFnMgxqhVRkInZGJ5E737gdSIJPGQ7DQM6KiCPaJhyphenhyphenfJ4-WQtIfk1A337INCWm-/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="287" data-original-width="1600" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglat-rko8XMLBtHLZZCeUwU6NAcszDh4kA1NLvzSVAI8P8ZMl4aJP5WQaQ4m6irI95O1z8hyphenhyphenWMy3A4EEFnMgxqhVRkInZGJ5E737gdSIJPGQ7DQM6KiCPaJhyphenhyphenfJ4-WQtIfk1A337INCWm-/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" width="640" /></a></div>
<div>
<div>
<br /></div>
<div>
There are Two types of Packets</div>
<div>
Short Packet: 4 Bytes (Fixed Length)</div>
<div>
Long Packet: 6 - 655541 Bytes (Variable Length)</div>
</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgurToJvLBfOwkXXAq2CasxEqbujIDVxBUb4_KNnyW78lFuGkJ-agl3AgQzYm8HVJ6GdrHauqXDI0R8mpSlX3cVSHTjWHVgB8tYXx5NVf8Vpu-XTexKGFqr_19TNVJxF1rQtBvftWoSJCXb/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1049" data-original-width="1600" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgurToJvLBfOwkXXAq2CasxEqbujIDVxBUb4_KNnyW78lFuGkJ-agl3AgQzYm8HVJ6GdrHauqXDI0R8mpSlX3cVSHTjWHVgB8tYXx5NVf8Vpu-XTexKGFqr_19TNVJxF1rQtBvftWoSJCXb/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI Short Packet Structure</td></tr>
</tbody></table>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQ778vBMgCzbXkH4KPhsQhgL9xDecHsVlpF7-qN5eoZfgTmdvmcnxg0nkDiGRrOd847QCJyzp83851kXeBescau2qNO53UC_gd2UgFCVgJsyB-3QGUX2oSA_ChIFCa5XKZU9nOF6o6_4K/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1083" data-original-width="1600" height="432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQ778vBMgCzbXkH4KPhsQhgL9xDecHsVlpF7-qN5eoZfgTmdvmcnxg0nkDiGRrOd847QCJyzp83851kXeBescau2qNO53UC_gd2UgFCVgJsyB-3QGUX2oSA_ChIFCa5XKZU9nOF6o6_4K/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI Long Packet Structure</td></tr>
</tbody></table>
<div>
<div>
Endianness</div>
<div>
<br /></div>
<div>
Bytes are sent lsbit first and bytes in the packet are sent LSByte first. </div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C1btL0PKVD0LLxaLHpO0RQOvfxQ7F2StmqFqfG8r6x4oxofJ5cpb4S9pWtQSZ6GHM_TK48N54dUsR5wehvIob4mjVUcz6yeaV7lpkC5HMF-O0Xy_lvxvD9yO850b4UuvjcBfRCqq-mO-/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="303" data-original-width="1600" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C1btL0PKVD0LLxaLHpO0RQOvfxQ7F2StmqFqfG8r6x4oxofJ5cpb4S9pWtQSZ6GHM_TK48N54dUsR5wehvIob4mjVUcz6yeaV7lpkC5HMF-O0Xy_lvxvD9yO850b4UuvjcBfRCqq-mO-/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<b>CCS</b></div>
<div>
<b><br /></b></div>
<div>
Very important fact with CCS when comparing with DCS , CCS describes command interface to be I2C while with DCS commands are set over same HS line as the data itself. </div>
<div>
But in case of camera as per MIPI spec CCS is implemented over a extra I2C line. </div>
<div>
<br /></div>
<div>
<b>CSI Single Frame</b></div>
<div>
<b><br /></b></div>
<div>
Single Frame from camera is show in the image blow. </div>
<div>
<br /></div>
<div>
Camera send a Frame start packet </div>
<div>
Then send embedded line information which tells receiver about the stream </div>
<div>
Then image data line by line. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXLt485HUzA1rolqD3tbmXj7F0lHjZVzd9osRPTRbpONM2rZ3utHig-mD3X1IBuuFJIe9dyM8JhdVRFvs9XYlnYfIt1tyw4Rq1enIcseliXLv_oAfrUkCXAP0ZoHFwQIA41cW7ufBYwl57/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%252810%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="705" data-original-width="1600" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXLt485HUzA1rolqD3tbmXj7F0lHjZVzd9osRPTRbpONM2rZ3utHig-mD3X1IBuuFJIe9dyM8JhdVRFvs9XYlnYfIt1tyw4Rq1enIcseliXLv_oAfrUkCXAP0ZoHFwQIA41cW7ufBYwl57/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%252810%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<b><br /></b>
<b>Test Video</b><b><br /></b></div><div>
</div><div><div class="separator" style="clear: both; text-align: center;"><br /></div>
<b><br /></b>
<br />
<div style="text-align: justify;">
<b><b>What make this camera sensor different to camera modules</b></b></div>
<div style="text-align: justify;"><span style="font-weight: 700;"><br /></span></div>
<div style="text-align: justify;">
IMX219 camera is bare bone camera sensor. What do means when i say bare bone camera sensor is , there not much image processing going on on the camera die it self. Camera sensor is Sensor array with Bayer filter on it , 10 bit ADC , clock system , MIPI output driver and I2C controllable system control.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What does this means for us as camera sensor implementer. As my final goal is to interface this camera to USB3.0 UVC with RAW YUV. This camera does not output YUV, forget about YUV this will not even output RGB. Camera output is absolute RAW 10-bit ADC conversion result from the Bayer filtered sensor array.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
So go first get RGB output from bayer raw data, a Debayer or demosaic need to be performed. Once demosaic is done we will have RGB ready to be converted to YUV. And one we have YUV it can be transmitted to USB to be displayed.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What next this camera will not have is any automatic control over exposure. because camera does not have any intelligence to know how dark or bright scene is. Solution to this problem what raspberry pi implement is , Raspberry Pi regularly on each frame update analog gain register over I2C to adjust gain according to how bright and dark scene is.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This camera does not have any white balance control as well so host must do correct while balance compensations. To get correct colors out of image.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><u>FPGA module Block Diagram </u></b></div>
<br />
<div style="text-align: justify;">
<span style="font-weight: 700; text-decoration-line: underline;"><br /></span></div>
<div style="text-align: justify;">
FPGA block diagram is show in the image blow. This diagram describe how overall system is implemented and what the key components what this diagram does not describe is control signals and other miscellaneous stuff.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; text-align: center; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_WLdiboGA6Iq-y3mPq-QGdSwaaoeBYw3zQtNCrmgaF13WMsBfMdxHDsMvWc5XzeAsohpdNN4B5bA6fSw9aqwOnz6brq35Ivtvj_usl9IUrgUuMlnr2yHoOMjSKA8KrE4JShsrfChtcTl/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25288%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="1600" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_WLdiboGA6Iq-y3mPq-QGdSwaaoeBYw3zQtNCrmgaF13WMsBfMdxHDsMvWc5XzeAsohpdNN4B5bA6fSw9aqwOnz6brq35Ivtvj_usl9IUrgUuMlnr2yHoOMjSKA8KrE4JShsrfChtcTl/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25288%2529.JPG" width="640" /></a></div>
<div class="separator" style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; text-align: center; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;"><br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj21QLfsPq9nuLAgJO3PbCUOKhsAmrXKJaiBbYFhR0wQ4bph43TbbrEJhU9EFoyWi3uzFna8NAx1S1TXE_BNdE4pLiXz9-6y5rQn8vdb31iL0GUyglFYYIdefar3DlorXfvVL_WsckciV7kKCXGAWu6JTVK_FLsh1fgiTF9DLFp4nfqoW5ZrBS9AM9UfA/s4104/MIPI_CSI_camera_receiver_.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="604" data-original-width="4104" height="94" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj21QLfsPq9nuLAgJO3PbCUOKhsAmrXKJaiBbYFhR0wQ4bph43TbbrEJhU9EFoyWi3uzFna8NAx1S1TXE_BNdE4pLiXz9-6y5rQn8vdb31iL0GUyglFYYIdefar3DlorXfvVL_WsckciV7kKCXGAWu6JTVK_FLsh1fgiTF9DLFp4nfqoW5ZrBS9AM9UfA/w640-h94/MIPI_CSI_camera_receiver_.png" width="640" /></a></div><br /><b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;">Byte Aligner</b><span style="color: black; font-family: "times new roman"; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"> </span>Received Raw unaligned bits from DDR RX module outputs Aligned bytes, Bytes on MIPI lane does not have any defined byte boundary so this modules Looks for always constant first byte 0xB8 on wire, once 0xB8 is found, byte boundary offset is determined, set output valid to active and start outputting correct bytes stays reset when data lane are in MIPI LP state .</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Lane Aligner </b>Receives multiple lane, byte aligned data from mipi rx byte aligner @mipi byte clock outputs lane aligned data in a multi-lane mipi bus, data on different lane may appear at different offset so this module will wait till of the all lanes have valid output start outputting lane aligned data so byte x from all the lanes outputted at same timescale</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>MIPI CSI Packet Decoder </b>Basically a packet Stripper, removes header and footer from packet Takes lane aligned data from lane aligner @ mipi byte clock looks for specific packet type, in this case RAW10bit (0x2B) RAW12bit (0x2C) RAW14bit (0x2D). Module outputs Stripped bytes in exactly the way they were received. This module also fetch packet length and output_valid is active as long as input data is valid and received number of bytes is still within the limits of packet length.</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>MIPI CSI RAW Depacker </b>Receives Upto 4 lane raw mipi bytes from packet decoder, rearrange bytes to output upto 8 pixel upto 16bit each output is one clock cycle delayed, because the way, output_valid_o remains active only while chunk is outputted</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Debayer / demosaic </b>Takes upto 8x upto 16bit pixel from depacker module @mipi byte clock output upto 8x upto 32bit RGB for each pixel , output is delayed by 2 lines Implement Basic Debayer filter, As debayer need pixel inform neighboring pixel which may be on next or previous display line, so input data is written onto RAM, only 4 lines are stored in RAM at one time and only three of the readable at any give time , RAM to which data is written to can not be read. First line is expected to BGBG , second line GRGR Basically BGGR format </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>RGB to YUV Color Space Converter </b>Received upto 8 pixel RGB from the Debayer filter output upto 8pixel yuv422 Calculation is done based on integer YUV formula from the YUV wiki page </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Output reformatter </b>Takes upto 8pixel yuv input from rgb2yuv module @ mipi byte clock outputs 32bit 2pixel yuv output @output_clk_i , This block has RAM to have output clock independent of mipi clock, Output clock_clock must be fast enough to be able to get whole line worth of data before next line starts, This implementation of Output reformatter outputs data which which meant to send out of the system to a 32bit receiver depending on requirement this will be need to be adapted as per the receiver </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Debayer / </b><b>demosaic </b>Need little more attention than other modules , IMX219 datasheet incorrectly mention output as to be either GBRG or RGGB. </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
But after wasting lots of time it turned out camera output BGGR . IMX219 Camera only output BGGR as defined by the IMX219 Driver in linux repo MEDIA_BUS_FMT_SBGGR10_1X10, Camera datasheet incrorrectly defines output as RGGB and GBRG. Data sheet is incorrect in this case.</div>
<div class="separator" style="clear: both; text-align: justify;">
To test my debayer, Iwas using built in camera test patterns. One key thing about IMX219 is Bayer filter type does affect test pattern as well. It seems like in Test pattern mode it outputs RGGB instead of BGGR. Test pattern will have R and B channel inverted when image have right color.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Update: I have discussed this issue with raspberry pi , It turned out flipping image seems to be the solution, once image flipped bayer output it correct for both data from sensor and test pattern. because flipping image does not affect bayer order of the test pattern.</div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3zYUH3IdbGdGJcrDrJdTBkXEL1qKUDgfUiz_tG3S-gIXEgDgHZHbZnAaeM2kMFlkTIGf085NmLE9G0Kv8cFchDimkrppLEwcBoICJYAz7N1JVgYCQNm3CPjOtEZbzm-SY6H_q8RgtlQ4/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="276" data-original-width="969" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3zYUH3IdbGdGJcrDrJdTBkXEL1qKUDgfUiz_tG3S-gIXEgDgHZHbZnAaeM2kMFlkTIGf085NmLE9G0Kv8cFchDimkrppLEwcBoICJYAz7N1JVgYCQNm3CPjOtEZbzm-SY6H_q8RgtlQ4/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps4.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b>MIPI RAW Packet Format</b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVwQCJ6BvfDSNEbW4BPUAODxuRE19qzeZLjWiDB6GYhWek4Zgwr54iwevav8jsJ1FH2Xp8AMdbzgpHQRTCPPNHr_ma5PDTuVw7ufihDQyg8BsRxTb9AdhXOk06SbRFYh_5nZdzqTbXxzO3/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="1600" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVwQCJ6BvfDSNEbW4BPUAODxuRE19qzeZLjWiDB6GYhWek4Zgwr54iwevav8jsJ1FH2Xp8AMdbzgpHQRTCPPNHr_ma5PDTuVw7ufihDQyg8BsRxTb9AdhXOk06SbRFYh_5nZdzqTbXxzO3/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame4.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;"><br /></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizxw74HXofukzqw6aBWCG-NMhUoX5IuhgeHzEBhZ_9iMMPw75XyYKe97cTKJFW752VQZa7CTS_xS_nywm_BU0aqBDPgS47ifj6QxbTvX8i7T7m1rYkPaQ8nMr-eELGO7pLoeqGjlonQsgB4IhnhjIaqHAE9WAgkD6N8yTe87toSP7deuVWyJC75HVo1A/s2184/RAW12_MIPI_FPGA_Recever_circuitvalley.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="636" data-original-width="2184" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizxw74HXofukzqw6aBWCG-NMhUoX5IuhgeHzEBhZ_9iMMPw75XyYKe97cTKJFW752VQZa7CTS_xS_nywm_BU0aqBDPgS47ifj6QxbTvX8i7T7m1rYkPaQ8nMr-eELGO7pLoeqGjlonQsgB4IhnhjIaqHAE9WAgkD6N8yTe87toSP7deuVWyJC75HVo1A/w640-h186/RAW12_MIPI_FPGA_Recever_circuitvalley.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiObPA2j3_AbPrXU6aGf3pZHvHc0B7YTWQdUk2E7fgtMm2Ej65-bFM0JkDzwTgNE4QoI8QoT9pY23ybeX4uVAdtDSH7qnzWGlMCXjrHFTVMZ5VRg2NhuMMrua6PSkS9gZrDsx5Wupl66y5K5TG4_g1uO_bOI7WeNA5Xf9J8uq12DEiYVEMs2_Dw0BuCOQ/s2151/raw14_mipi_FPGA_receiver.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="676" data-original-width="2151" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiObPA2j3_AbPrXU6aGf3pZHvHc0B7YTWQdUk2E7fgtMm2Ej65-bFM0JkDzwTgNE4QoI8QoT9pY23ybeX4uVAdtDSH7qnzWGlMCXjrHFTVMZ5VRg2NhuMMrua6PSkS9gZrDsx5Wupl66y5K5TG4_g1uO_bOI7WeNA5Xf9J8uq12DEiYVEMs2_Dw0BuCOQ/w640-h202/raw14_mipi_FPGA_receiver.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;"><br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;"><h3 style="clear: both; margin: 0px; text-align: left;"><b>ISP Pipeline Specifications</b></h3><div class="separator" style="clear: both; margin: 0px;"><b><br /></b></div><div class="separator" style="clear: both; margin: 0px;">No virtual restriction on supported frame rate or resolution. Tested more than 4K with IMX477 4056x3040. Can do 8K with around 30FPS or even higher than that as long as FPGA is fast enough for needed frame rate and FPGA/Board has enough memory to be able to store minimum 4 Line worth of pixels. Output Clock is independent of MIPI clock. Easily Portable code to Xilinx or any other FPGA, No Vendor specific components has been used except for the PHY itself which can be replaced by other vendor's DDR phy and Embedded Block RAM. Only Debayer/Demosaic and Output reformatter need Block RAM. Block ram can also be replaced vendor's RAM. Auto detection of RAW pixel width supporting different camera sensors and sensor modes without FPGA reconfiguration.</div><div class="separator" style="clear: both; margin: 0px;"><br /></div><h3 style="clear: both; margin: 0px; text-align: left;"><b>Speed</b></h3><div class="separator" style="clear: both; margin: 0px;"><ul style="text-align: left;"><li>Supports MIPI bus clock 900Mbitsps Per lane with upto 4 Lanes, Total 3.6Gbitsps Sensor bit stream, Has been Tested upto 900Mbitsps with 8x Gear.</li><li>Pixel Processing pipeline with 2,4 or 8 Pixel per clock can reach more than 110Mhz with Lattice Crosslink-NX LIFCL-40 High Speed, So basically Can process upto 880 MegaPixels per second. With this can reach Around 120FPS with 4K resolution and around 30 FPS with 8K. Or even 3000 FPS with 640 x 480 as long as Camera and MIPI Wire allows. With Different Faster FPGA speed will be more.</li><li>FPGA Oputput Pipeline is decoupled from MIPI clock, runs on output clock, It feeds into Cypress FX3 32bit GPIF can do Max 160Mhz. Cyress FX3's specs limits max GPIF clock to 100Mhz.</li></ul></div><div class="separator" style="clear: both; margin: 0px;"><br /></div><h3 style="clear: both; margin: 0px; text-align: left;"><b>Configurability</b></h3><div class="separator" style="clear: both; margin: 0px;"><ul style="text-align: left;"><li><b>Selectable max RAW pixel width</b></li></ul></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>FPGA Design is configurable with parameters to support pixel depth from RAW10 to RAW14 or Virtually any bit depth even 16bit RAW when it becomes a MIPI Specs. Parameter specify maximum pixel width that is supported while module auto detect package type at runtime with RAW14 selected as max pixel width, RAW10, RAW12 and RAW14 will be automatically detected and processed</div><div class="separator" style="clear: both; margin: 0px;"><ul style="text-align: left;"><li><b>Selectable number of MIPI lanes: </b>With just definition of Parameter value number of lane is also configurable between 2 or 4 MIPI lanes.</li></ul></div><div class="separator" style="clear: both; margin: 0px;"><ul style="text-align: left;"><li><b>Selectable Pipeline Size: </b>Pipeline is Configurable with a parameter to Process 2,4 or 8 Pixel. 2 Pixel Per Clock is only available with 2 Lane MIPI, while 8 Pixel Per Clock is only available with 4 Lanes.</li></ul></div><div class="separator" style="clear: both; margin: 0px;"><ul style="text-align: left;"><li><b>Selectable MIPI Gear Ratio:</b> User can select weather to operate MIPI/DDR Phy in 16x or 8x Gear ratio. Most DDR/MIPI Phy supports 8x Gear while few do support 16x gear.</li><li style="box-sizing: border-box; margin-top: 0.25em;"><span style="box-sizing: border-box; font-weight: 600;">Selectable MIPI continuous clock mode</span><br style="box-sizing: border-box;" />User and select between MIPI clock lp based Frame sync or Frame start and frame stop packt based frame sync. Some MIPI cameras do not support going to LP mode while frame blank occur, With this option user can enable Frame Start and Frame stop detection, to have a frame sync.</li><li style="box-sizing: border-box; margin-top: 0.25em;"><span style="box-sizing: border-box; font-weight: 600;">Selectable ROM based Sample Generator</span><br style="box-sizing: border-box;" />For ISP debuging ROM based sample generator can be activated. Two ROM lines are there have both even and odd line to full image test.</li></ul></div><div class="separator" style="clear: both; margin: 0px;">Block RAM and DDR PHY IPs need to be manually regenerated if Gear, pixel width , lane or PPC is changed.</div><div class="separator" style="clear: both; margin: 0px;"><br /></div><h3 style="clear: both; margin: 0px; text-align: left;"><b>Tests</b></h3><div><b><br /></b></div><div class="separator" style="clear: both; margin: 0px; text-align: left;"><b>4 Lane 12 bit IMX477</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>4056x3040 20 FPS Full Sensor</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>2028x1520 70 FPS Full Sensor Binned 2x2</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>2028x1080 100 FPS</div><div class="separator" style="clear: both; margin: 0px; text-align: left;"><b>4 Lane 10 bit IMX477</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1332x990 200 FPS Binned 4x4</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x480 400 FPS Binned 4x4</div><div class="separator" style="clear: both; margin: 0px; text-align: left;"><b>2 Lane 12 bit IMX477</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>4056x3040 10 FPS Full Sensor</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>2028x1520 35 FPS Full Sensor Binned 2x2</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>2028x1080 50 FPS</div><div class="separator" style="clear: both; margin: 0px; text-align: left;"><b>2 Lane 10 bit IMX477</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1332x990 100 FPS Binned 4x4</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x480 200 FPS Binned 4x4</div><div class="separator" style="clear: both; margin: 0px; text-align: left;"><b>2 Lane 10 bit IMX219</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>3280x2464 7 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1280x720 30 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1280x720 60 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1920x1080 30 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x480 30 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x480 200 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x128 600 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>640x80 900 FPS</div><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;"><div class="separator" style="clear: both; margin: 0px;"><b>4 Lane 12 bit</b> <b>IMX290/IMX327/IMX462</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1280x720 120 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1920x1080 120 FPS</div><div class="separator" style="clear: both; margin: 0px;"><b><br /></b></div><div class="separator" style="clear: both; margin: 0px;"><b>2 Lane 12 bit</b> <b>IMX290/IMX327/IMX462</b></div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1280x720 60 FPS</div><div class="separator" style="clear: both; margin: 0px;"><span> </span><span> </span>1920x1080 60 FPS</div></div><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;">What decides camera Max FPS</div><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;">Camera timing is controlled by just a few registers which control Clock. Then every sensor has a maximum ADC sample rate to convert Pixel Value to Digital, Different camera sensors have fast or slow ADC. or even multiple ADCs. so you do simple division on what your ADC pump needs for the needed frame rate. Shutter open time is also user adjustable so that also affects frame rate. And Interface clock is also important, If ADCs faster than how fast interface can pump data out of sensor then you have an issue of FIFO full. </div><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;"><b>Scope capture </b></div><div class="separator" style="clear: both; margin: 0px;"><b><br /></b></div><div class="separator" style="clear: both; margin: 0px;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDVt0cgDOCCUCAS_Cpt3aP4t4d9GZICAAqdeSxN6fmGuIy5IA9sjMutcodu-88ShLlcLtSPPBii9nXTkRn27eeHGnEKJubyBpxusVHmyRng6Vg3WyuAJH2oNSkaaIF8bs6-m4E2IzmbU0T5ngE8l0QNh738zXUXW2-M4zPhZJbD4wyupCN8X76s7Eyqg/s1302/2_lane_decoded_data_lane_aligned).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="833" data-original-width="1302" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDVt0cgDOCCUCAS_Cpt3aP4t4d9GZICAAqdeSxN6fmGuIy5IA9sjMutcodu-88ShLlcLtSPPBii9nXTkRn27eeHGnEKJubyBpxusVHmyRng6Vg3WyuAJH2oNSkaaIF8bs6-m4E2IzmbU0T5ngE8l0QNh738zXUXW2-M4zPhZJbD4wyupCN8X76s7Eyqg/w640-h410/2_lane_decoded_data_lane_aligned).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">MIPI 2 Lane Mode, Decoded Data shows both lanes of lane aligned data IMX219 Full frame one of the line, on ch2 is byte clock</td></tr></tbody></table><br /><b><br /></b></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWmqyh2_0b3y4EH3fBSeCZm95HiPfwoG1HulePgRncGiwCAKcmNtzWfh-ZcNxY8mIywGlD1fQTizidmIYWjU_-4zabeTmS44XieUy_dLhl0xlTUgdBI7KVr0LFg59DYuGtGGMJJcOlomCUccyMOkzYwUCVzI7nkZQb1VV4MknPgANAlnHhTr-J1zVyWQ/s1304/start_frame_packet.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="830" data-original-width="1304" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWmqyh2_0b3y4EH3fBSeCZm95HiPfwoG1HulePgRncGiwCAKcmNtzWfh-ZcNxY8mIywGlD1fQTizidmIYWjU_-4zabeTmS44XieUy_dLhl0xlTUgdBI7KVr0LFg59DYuGtGGMJJcOlomCUccyMOkzYwUCVzI7nkZQb1VV4MknPgANAlnHhTr-J1zVyWQ/w640-h408/start_frame_packet.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A start frame MIPI package (0x00), Use for Frame Sync with cameras where Clock does not go into LP during frame blank</td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi08F4IujkhGusibhRYKuetkc1TWOi2a2lm4ojjyyMFwevMPlM2nIClWKlbqhlR7yDBRlNjZ3yZR7hblMoHAoAGVkyPrYhcpcHdheXfQP_tHjno5sUXdX8_lHk3XX9PlvP3ukkGQWVn7AvE78p7VLivLpAjMgB913M7n8jc5LkJPh0B3aYUA2odDbqrDw/s1306/frame_end_packagedownload%20(6).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="830" data-original-width="1306" height="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi08F4IujkhGusibhRYKuetkc1TWOi2a2lm4ojjyyMFwevMPlM2nIClWKlbqhlR7yDBRlNjZ3yZR7hblMoHAoAGVkyPrYhcpcHdheXfQP_tHjno5sUXdX8_lHk3XX9PlvP3ukkGQWVn7AvE78p7VLivLpAjMgB913M7n8jc5LkJPh0B3aYUA2odDbqrDw/w640-h406/frame_end_packagedownload%20(6).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A Frame Stop MIPI package (0x01) , Use for Frame Sync with cameras where Clock does not go into LP during frame blank</td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0hGPmScOmD1_10yAQX3pkQWisKgvLty8tlPGauZspZtQbKu2tby7TuXWF2vPvPzLiV_ErqIhohh_gEs8AkURVprwHhEhHe75mIb-O4IF1KFBYRsvAHvCt5qekKUCmxNKVzFwj3pZ3AdkvwlQMPR5SwV2vdRzowj-lqoHAcXe1PyBEtR6vWGY7iMYCZA/s800/fpga%20io%20fast%20slewrate%20vs%20slow.gif" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0hGPmScOmD1_10yAQX3pkQWisKgvLty8tlPGauZspZtQbKu2tby7TuXWF2vPvPzLiV_ErqIhohh_gEs8AkURVprwHhEhHe75mIb-O4IF1KFBYRsvAHvCt5qekKUCmxNKVzFwj3pZ3AdkvwlQMPR5SwV2vdRzowj-lqoHAcXe1PyBEtR6vWGY7iMYCZA/w640-h384/fpga%20io%20fast%20slewrate%20vs%20slow.gif" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Show difference of Fast vs slow slew rate on GPIF port , CH1 shows GPIF port data line and ch2 is ~100Mhz clok</td></tr></tbody></table><br /><div class="separator" style="clear: both; margin: 0px;"><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7t4JTcui7rfCarrCOoW8sFt5v3-5S6alw83AFmQzhDfim_fn7DFAnJZZFlxSyQPZJ5Aq1mDQZSEOc6O7i26ciipiFIAcughG9yWsWeh7cluqSLyBiV-3wnE_klWYoTZneuWGNhEDzoShITp4EL0utXxRg-6nG0pGCI9cv1PHOdFPFNT__bKUv8ac9cg/s1312/477Tp-blue7FF_other%20are%20zero%20but%20not%20zero%20onwire.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="835" data-original-width="1312" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7t4JTcui7rfCarrCOoW8sFt5v3-5S6alw83AFmQzhDfim_fn7DFAnJZZFlxSyQPZJ5Aq1mDQZSEOc6O7i26ciipiFIAcughG9yWsWeh7cluqSLyBiV-3wnE_klWYoTZneuWGNhEDzoShITp4EL0utXxRg-6nG0pGCI9cv1PHOdFPFNT__bKUv8ac9cg/w640-h408/477Tp-blue7FF_other%20are%20zero%20but%20not%20zero%20onwire.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">IMX477 Test pattern mode 0 were full is set to full 0x7FF and other colors are zero, but pixel where there is no blue color present shows high bits, Also Even line where there is no blue at all shows high bits, This must be kept in mind when matching colors </td></tr></tbody></table><br /><div class="separator" style="clear: both; margin: 0px;"><br /></div><div class="separator" style="clear: both; margin: 0px;"><br /></div></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b>Test image </b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpit8LJUfX3VPl01QF-RMivtJw3RqAe7mHxmt19uz3WiU2eZ8KKrrYGHWguzJOa5pDWXNv4e3Eufi6rVwqlsqfRE7RZm2F1I5NsGdb2zC8m8kWlXAvrp_DKll2GCFdmX4mTrk1kjXBOu4MiompSK5Idtd_dBfolYWY-fyYUMTaiPpcex76AfU0hAOdSQ/s3280/Picture%202021-05-17%2021-14-302.jpeg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="2464" data-original-width="3280" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpit8LJUfX3VPl01QF-RMivtJw3RqAe7mHxmt19uz3WiU2eZ8KKrrYGHWguzJOa5pDWXNv4e3Eufi6rVwqlsqfRE7RZm2F1I5NsGdb2zC8m8kWlXAvrp_DKll2GCFdmX4mTrk1kjXBOu4MiompSK5Idtd_dBfolYWY-fyYUMTaiPpcex76AfU0hAOdSQ/w640-h480/Picture%202021-05-17%2021-14-302.jpeg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">IMX219 Basic Test Full Frame Colors Uncorrected </td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDtP5pKj7USMJDBhoM7K6c0K__a4i31hJxvQq2t8ycgW951x4pKS7FduUnFMFcYa6gLzxjQH-4jypEH-Taq_TJcFr-B_ebupIfeWU-yKQrzRe0_XO2dQBMtqfD62jpcLa-k7Lpys2j1jmnEBiJfS2aixrbvDfqnp1c75wSpwe840tbmTUQhvWSgvGxQ/s3280/Picture%202022-06-22%2014-55-21.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="2464" data-original-width="3280" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDtP5pKj7USMJDBhoM7K6c0K__a4i31hJxvQq2t8ycgW951x4pKS7FduUnFMFcYa6gLzxjQH-4jypEH-Taq_TJcFr-B_ebupIfeWU-yKQrzRe0_XO2dQBMtqfD62jpcLa-k7Lpys2j1jmnEBiJfS2aixrbvDfqnp1c75wSpwe840tbmTUQhvWSgvGxQ/w640-h480/Picture%202022-06-22%2014-55-21.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">IMX219 Full Frame Test pattern 5</td></tr></tbody></table><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;"><br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNMXzcl73oKu6fQRhIVjDqqAQNAwdM8LKmc9T4UjjZwSHaiORwSDFvNO-bDYRNQ30q712rLttAuWvXDVJu4BHQPkBqBgyXqpyR1qI1jJm1-YNir-8eaET5QJS0OgHH01pfclWZTmJ1OokpXIZu1peq_AmB_lysLQydaSbHa4aXTB7IrCWMo2zKt9Jzw/s4056/imx477_Full_frame_test_pattern_2.png" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="3040" data-original-width="4056" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNMXzcl73oKu6fQRhIVjDqqAQNAwdM8LKmc9T4UjjZwSHaiORwSDFvNO-bDYRNQ30q712rLttAuWvXDVJu4BHQPkBqBgyXqpyR1qI1jJm1-YNir-8eaET5QJS0OgHH01pfclWZTmJ1OokpXIZu1peq_AmB_lysLQydaSbHa4aXTB7IrCWMo2zKt9Jzw/w640-h480/imx477_Full_frame_test_pattern_2.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">IMX477 Full Frame Test Pattern 2</td></tr></tbody></table><div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2UWR60h7h8lgTX5JycBzRNnQ0JjOiZxJP7R7iXAPid_GyDp9C8zrfmaD7fz5yaQUIapU1Uh-GYXlEaR4Z4us_pUTiD1LM6GwAqQ5KQ8-2qIojsdmnarfOebvfF4nJrCxnhy-Zbz2apHMSQ5SqjouS-kYiZ-UoEBH_oOoZIppUpdD1lqf2h1eqf7jNpw/s4056/imx477_Full_frame_test_pattern_3.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3040" data-original-width="4056" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2UWR60h7h8lgTX5JycBzRNnQ0JjOiZxJP7R7iXAPid_GyDp9C8zrfmaD7fz5yaQUIapU1Uh-GYXlEaR4Z4us_pUTiD1LM6GwAqQ5KQ8-2qIojsdmnarfOebvfF4nJrCxnhy-Zbz2apHMSQ5SqjouS-kYiZ-UoEBH_oOoZIppUpdD1lqf2h1eqf7jNpw/w640-h480/imx477_Full_frame_test_pattern_3.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td class="tr-caption" style="text-align: center;">IMX477 Full Frame Test Pattern 3</td></tr></tbody></table><br /><div class="separator" style="clear: both; margin: 0px; text-align: left;"></div><div class="separator" style="clear: both;"></div><b style="text-align: left;"></b></td></tr></tbody></table><br /><u><br /></u></b>
<br />
<div style="text-align: justify;">
<b><u><b><u>Cypress FX3 Firmware</u></b></u></b></div>
<br />
<div style="text-align: justify;">
<span style="text-decoration-line: underline;"><br /></span></div>
<div style="text-align: justify;">
Firmware implementation with FX3 was quite easy. I have put all the resolution and framerate in the USB descriptor , As described earlier this type of camera sensors are quite bare bone all the have sensor element, PLLs and ADC . So this camera sensor does not have any control over exposure, White-balance or even brightness, I have implemented manual control over USB UVC control channel. it possible to completely control camera exposure and brightness.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Few things you keep in mind, cypress fx3 clock frequency need to be set in 400Mhz mode to allow full 100Mhz 32bit GPIF DMA transfer.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
One more thing is though Cypress CYUSB3014 has 512KB RAM but only 224 KB and additional 32KB is available for DMA buffer.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Having large buffer chunk is really important because on every DMA chunk CPU intervention is expected to insert UVC header. As this is high performance application less often CPU intervention is needed is better. So I have set DMA chunk / UVC individual packet to 32KB</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Scope capture Image blow shows Channel 13 is the individual DMA packet capture and on Channel 12 show CPU DMA finish interrupt.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
These Two scope capture show difference between 16KB DMA vs 32KB DMA</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoEgsm4D42LB97J6QuUdYksVinhN-yG-ULuIgZPliadVA1_bBMAacrTF178j0HpNfZVd710VXqyFiMuJSoxrsxlsgKGVGOVVpwMmdjy8-ToSZzkVPk36vQVgee98tFhs4-wqEvcjLTy_9/s1600/image+%25281%2529.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoEgsm4D42LB97J6QuUdYksVinhN-yG-ULuIgZPliadVA1_bBMAacrTF178j0HpNfZVd710VXqyFiMuJSoxrsxlsgKGVGOVVpwMmdjy8-ToSZzkVPk36vQVgee98tFhs4-wqEvcjLTy_9/s640/image+%25281%2529.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">16KB DMA Size, CH13 DMA packet , CH12 CPU interrupt</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhflizfDp056tneSWsy5A6RYzkQkxxfn-ShnvGUOqNxKxpQuzc-8sDZliuFhYSOsjYOUwLvD8AOvgvKdL7tegxsGwnuiNprELDYZGYY5a1AM1nxsnHdjFPi3QcAmEpCJap24DyQn-2W7bUV/s1600/image.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhflizfDp056tneSWsy5A6RYzkQkxxfn-ShnvGUOqNxKxpQuzc-8sDZliuFhYSOsjYOUwLvD8AOvgvKdL7tegxsGwnuiNprELDYZGYY5a1AM1nxsnHdjFPi3QcAmEpCJap24DyQn-2W7bUV/s640/image.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">32KB DMA Size, CH13 DMA packet , CH12 CPU interrupt</td></tr>
</tbody></table>
<br /><b><br /></b><b>PCB and Schematic Source is available in the <a href="https://github.com/circuitvalley/USB_C_Industrial_Camera_FPGA_USB3">Github Repo</a>. </b><br />
<b><br /></b><a href="https://github.com/circuitvalley/USB_C_Industrial_Camera_FPGA_USB3">https://github.com/circuitvalley/USB_C_Industrial_Camera_FPGA_USB3</a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com66Germany51.165691 10.45152622.855457163821157 -24.704724 79.475924836178848 45.607776tag:blogger.com,1999:blog-4474580574529252327.post-58665545829517745322022-05-19T18:39:00.009+02:002022-08-09T14:48:37.339+02:00USB 3.0 Camera board with Cypress FX3 CYUSB3014 and Lattice FPGA CrossLink NX LIFCL-40 Prototype<p> From quite some time i have been working with different MIPI CSI Camera Solutions , Interfacing Camera with FPGA and Connecting to USB 3.0 Connection. </p><p>Board will be having USB C connector for USB 3.0 5Gbps Connection with Cypress FX3 CYUSB3014 and Lattice Crosslink FPGA</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVFoGY2KSWgF_M5Qc7QL7UkUkhfOypD-dnUTC5rVGPp0UrwyVnnLCzkksAK-HpcvwEMHm5S2RMqPm1NYvuUbTQrMKKx1Xmed-5sb3ZzphvMDWuRU4JlN-ZlfwFYQHLuD0tdYxz9VUUwQyehOQnrk9gjGO6HveW5zzsPP5xjlGIw85baU04FTp-KoZLhg/s5830/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(3).JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3394" data-original-width="5830" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVFoGY2KSWgF_M5Qc7QL7UkUkhfOypD-dnUTC5rVGPp0UrwyVnnLCzkksAK-HpcvwEMHm5S2RMqPm1NYvuUbTQrMKKx1Xmed-5sb3ZzphvMDWuRU4JlN-ZlfwFYQHLuD0tdYxz9VUUwQyehOQnrk9gjGO6HveW5zzsPP5xjlGIw85baU04FTp-KoZLhg/w640-h372/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(3).JPG" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Board With Direct Raspberry PI IMX219 </td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOVlpdwzLYZ8TNh0GQMX-KJXAGK1Up-N6Ox_O2f5BTRECwwsa7TwkTiLuGjgo9mZZ4srzF6nURsBA3zPcjuTUBMvUkwlvUcpaJYiMSnhmr5zu-9HVuIjM8Lz_hN4lMvzwxoqHbNsCMtK7wwAaKEv14dG5h4IXnPfNOqXm8LQFpZvT1UBjuqVvFmQbdPg/s6501/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(5).JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3757" data-original-width="6501" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOVlpdwzLYZ8TNh0GQMX-KJXAGK1Up-N6Ox_O2f5BTRECwwsa7TwkTiLuGjgo9mZZ4srzF6nURsBA3zPcjuTUBMvUkwlvUcpaJYiMSnhmr5zu-9HVuIjM8Lz_hN4lMvzwxoqHbNsCMtK7wwAaKEv14dG5h4IXnPfNOqXm8LQFpZvT1UBjuqVvFmQbdPg/w640-h370/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(5).JPG" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Board with FCP Connector for Any MIPI Camera With 1mm Flex cable</td></tr></tbody></table><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqb2ZdyoB5DDrbXKTM0LlurRuTHbYfMhxUkra57nW3BwwKu6eAl9bw9YjTCZy067uoknp23IZ-S5vAmbF8D6Ve9QxDRzXVFZcezTXjKWJa0YQyxjEAPFRM8s6M5riT2bYEj60yZbczUX-ru0oHri9AGhjqr44886tD7xduFHlrt6IDA4zc5Q9DizVKpg/s5445/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(2).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4166" data-original-width="5445" height="490" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqb2ZdyoB5DDrbXKTM0LlurRuTHbYfMhxUkra57nW3BwwKu6eAl9bw9YjTCZy067uoknp23IZ-S5vAmbF8D6Ve9QxDRzXVFZcezTXjKWJa0YQyxjEAPFRM8s6M5riT2bYEj60yZbczUX-ru0oHri9AGhjqr44886tD7xduFHlrt6IDA4zc5Q9DizVKpg/w640-h490/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(2).JPG" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimYcpOfxOXm76WWegbVWobVlaMcbNR_r3Nl-EQQm5Nzr-YkIxpbV9_p5u56SXx87YTL7xIUgyAqGsmc6F-X-EROipWEFA8Ju4wi5Cem4Odcf4428dDsUp--qj7sxCc2SCOrPiM861SKJluZjbWf817KErakAhDK2ZKu9jqnEEOHMJt4ngpL7l8A-9PZg/s2127/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(7).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1202" data-original-width="2127" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimYcpOfxOXm76WWegbVWobVlaMcbNR_r3Nl-EQQm5Nzr-YkIxpbV9_p5u56SXx87YTL7xIUgyAqGsmc6F-X-EROipWEFA8Ju4wi5Cem4Odcf4428dDsUp--qj7sxCc2SCOrPiM861SKJluZjbWf817KErakAhDK2ZKu9jqnEEOHMJt4ngpL7l8A-9PZg/w640-h362/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(7).png" width="640" /></a></div><div><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGkP5WpSqho6LQzOnPn1k4alV97FMTUW8ASbzPSlxMwxUk2DZBM3gv-lCFICbymax01DlnL4YjmThUbFw22SyebhXkxF-9zbMxA5-uXIoK7fOFP65uuo3aLWjpCU1-uNACnzGWT9YeVFtJ2-hkbpQm7IVpI7jsB3AEU7R7BV1UYTcLkhnncV2E8L8r7g/s2093/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(1).png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1192" data-original-width="2093" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGkP5WpSqho6LQzOnPn1k4alV97FMTUW8ASbzPSlxMwxUk2DZBM3gv-lCFICbymax01DlnL4YjmThUbFw22SyebhXkxF-9zbMxA5-uXIoK7fOFP65uuo3aLWjpCU1-uNACnzGWT9YeVFtJ2-hkbpQm7IVpI7jsB3AEU7R7BV1UYTcLkhnncV2E8L8r7g/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(1).png" width="640" /></a><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><span><a name='more'></a></span><p><b><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="https://www.circuitvalley.com/2022/06/pensource-usb-c-industrial-camera-c-mount-fpga-imx-mipi-usb-3-crosslinknx.html"><img border="0" data-original-height="2300" data-original-width="3377" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwMczEgl8l189zSMN6-AgcBIC6LdjsjPIWhYnE3Pw4MaXmosC7rJ5sL_t3ptZi4J9PwOIpcNGqbVvH8iLL9QSvAbXC_Qg5E9I7h0tGvIRyBYeQGydw4NaSgbDmbWrMISNqFgSNhHI_6-Z_1HfwwMgSqK_NSTRfdzSCXA7Yk1Ti1nvvM5jzPq--AElu0w/w400-h272/usb_c_fpga_mipi_camera_c_mount_industrial_lattice_crosslink_fpga_xilinx_zynq%20(4)2.JPG" width="400" /></a></span></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="https://www.circuitvalley.com/2022/06/pensource-usb-c-industrial-camera-c-mount-fpga-imx-mipi-usb-3-crosslinknx.html">New Version of the Board</a></td></tr></tbody></table><br /><span style="font-size: medium;"><br /></span></b></p><p><b><span style="font-size: medium;">Schematic </span></b></p><p>Both of the boards have similar schematic only Camera Section is different, First USB 3.0</p><p>USB Section has Cypress FX3 CYUSB3014 a generic USB 3.0 Controller with 32-bit GPIF bus for interfacing with ASIC and FPGA, This section of Schematic has USB C connector with its required protection and USB 3.0 Mux circuit. There is also oscillator and I2C memory USB Controller.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9oNWn3GXjvOZ3bPXPnB2Rl7nH2OGZAtafSskLw6erkIvcVUH85EVVZcPWgxIe2vIWp28TOHlSxuMg6hVRVDYl4ngA34SCyRHjo_g75Vc5IVo07J3L2tMWb_jpeFFq04x1CQPXMyJWfGdr8jvMPKGqx9p41L9KZ9IfaR0yBVPUmWNyeuOf_As76PjESg/s5460/lattice_crosslink_nx_board_USB.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3908" data-original-width="5460" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9oNWn3GXjvOZ3bPXPnB2Rl7nH2OGZAtafSskLw6erkIvcVUH85EVVZcPWgxIe2vIWp28TOHlSxuMg6hVRVDYl4ngA34SCyRHjo_g75Vc5IVo07J3L2tMWb_jpeFFq04x1CQPXMyJWfGdr8jvMPKGqx9p41L9KZ9IfaR0yBVPUmWNyeuOf_As76PjESg/w640-h458/lattice_crosslink_nx_board_USB.jpeg" width="640" /></a></div><p><br /></p>Power section has various switching regulator for FPGA and USB Controller also for Camera.<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrxgIcG2h7_85EGlbzNNGC6Hzu-JV1Vq3gO5T0rDX69m8jM6E3u2g-U9wzoA19ELansDczxxuR7aeSMfsPW5vfTZ30Q_8_BTpUp9TOvulQTjOBJmxmyNCHiYpMWFrbIBvaMyMWKLSJXILBE6Dt_4liEcT31F-so4mVrcuAkVvCzUkCfod79GKGRU3Mgg/s5452/lattice_crosslink_nx_board_Power.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3916" data-original-width="5452" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrxgIcG2h7_85EGlbzNNGC6Hzu-JV1Vq3gO5T0rDX69m8jM6E3u2g-U9wzoA19ELansDczxxuR7aeSMfsPW5vfTZ30Q_8_BTpUp9TOvulQTjOBJmxmyNCHiYpMWFrbIBvaMyMWKLSJXILBE6Dt_4liEcT31F-so4mVrcuAkVvCzUkCfod79GKGRU3Mgg/w640-h460/lattice_crosslink_nx_board_Power.jpeg" width="640" /></a></div><br /><p>FPGA I am using is Lattice Crosslink NX LIFCL-40 , I have received quite a few of these from Lattice as early engineering samples. Though because of being engineering sample, these devices were having few bugs which caused quite a bit of trouble in this project. For example, All JTAG pins can only be used for JTAG and could not be used for other purposes even when JTAG is disabled. As my project needed almost all the the pins which Crosslink NX has to offer for 32-bit GPIF port of USB Controller, I called this project not complete success because I needed to implement quite a few work around even to get it working. <b>All the Problems with these board are listed at end of the project.</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg36UKJlR7zCRNEHMt705putvLREx7E_9oHNXn4L0dlwAQenSrN816FzzE_FXWbYxrPnQXHt85fnrzeN93PbHN0rXtQfd1aM0u946VqB0LYF04IKtNWQ3taOskR3G8WvAnhZDZorfekDAWXzGo_eLWQaGKQVOpMdmkyI2dUArs6gIo9ec0Vb6A_h-7JKw/s5460/lattice_crosslink_nx_board_FPGA.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3920" data-original-width="5460" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg36UKJlR7zCRNEHMt705putvLREx7E_9oHNXn4L0dlwAQenSrN816FzzE_FXWbYxrPnQXHt85fnrzeN93PbHN0rXtQfd1aM0u946VqB0LYF04IKtNWQ3taOskR3G8WvAnhZDZorfekDAWXzGo_eLWQaGKQVOpMdmkyI2dUArs6gIo9ec0Vb6A_h-7JKw/w640-h460/lattice_crosslink_nx_board_FPGA.jpeg" width="640" /></a></div><br /><p>Camera Section for both the board is different, Though board board use 4 Lane MIPI CSI interface what Crosslink has for offer. One board has direct connector for IMX219 while other board has 22 Pin 1mm FPC connector which can accept both 15 Pin 2 Lane MIPI Standard Raspberry Pi style camera and also any custom 22 Pin 4 Lane MIPI sensor. </p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMP08NYggRnI4YLc0pg9bvQbD-7UUK24d7WNW1ba2E0SHbO3di4YHLT3nAX_A9VoLvlEBZoGI6hCaHLrOi6sFSiq_iCxyqv6lXcUZZjYlf8VB0qHPoV5F5Ix9ROzJ_bmh76bECFWHnVfHOyOl33DUMIoqVQqNc5YSkyWX3IXBo_NuoPL6m3alO4GiXSw/s5448/lattice_crosslink_nx_board_camera.jpeg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3912" data-original-width="5448" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMP08NYggRnI4YLc0pg9bvQbD-7UUK24d7WNW1ba2E0SHbO3di4YHLT3nAX_A9VoLvlEBZoGI6hCaHLrOi6sFSiq_iCxyqv6lXcUZZjYlf8VB0qHPoV5F5Ix9ROzJ_bmh76bECFWHnVfHOyOl33DUMIoqVQqNc5YSkyWX3IXBo_NuoPL6m3alO4GiXSw/w640-h460/lattice_crosslink_nx_board_camera.jpeg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Camera section of Generic FPC Connector for external Camera modules</td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6-xM5-oGeklFGXTKAj3u3BX2hTL1tmDnwN99KXtVpY2FtEV-U3vTqCmadsXV3Hmh18eiFo_ugmNbQ_6SLNF8maMNUzkMAqxYYKd6XGxMqBY7ZBKo8h-5yVbuY4BaOIjm3BReqd3mt4RZ62MtYNFecCie1i8fQ_ozRkAfMMpcFTqmubehkoPV0hwlBtg/s6556/cam_cross_link.jpeg" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="4697" data-original-width="6556" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6-xM5-oGeklFGXTKAj3u3BX2hTL1tmDnwN99KXtVpY2FtEV-U3vTqCmadsXV3Hmh18eiFo_ugmNbQ_6SLNF8maMNUzkMAqxYYKd6XGxMqBY7ZBKo8h-5yVbuY4BaOIjm3BReqd3mt4RZ62MtYNFecCie1i8fQ_ozRkAfMMpcFTqmubehkoPV0hwlBtg/w640-h458/cam_cross_link.jpeg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Camera Section of Dedicated IMX219 Camera sensor</td></tr></tbody></table><br /><div><b><span style="font-size: medium;">PCB</span></b></div><div><b><span style="font-size: medium;"><br /></span></b></div><div><span>Board is 6 Layer board with Layer stackup of Top Signal - GND - Power - Internal Signal - GND- Bottom Signal. </span></div><div>Clearance for top Layer is 0.09mm while minimum trace is also 0.09mm , Clearance on internal layer is 0.127 and minimum trace is also 0.127mm </div><div><b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ntxq8gDejUSh4v-hsPA6tdmA4CHPzjcvFdMx95TljiFZt3gye-Vh6YtSAqpbnhw5eGBgEfgLn_nMmk6XdoJVEPzJVCkZNsl7XcDsy4me_m2DzozKeVy-5upHzzOuA1IiYI2BCiY2WBFiMSZEaPITwB2qhmp_0yXBddYC1rmeaL3nzZ507MTIH3mvhw/s2081/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(2).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1181" data-original-width="2081" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-ntxq8gDejUSh4v-hsPA6tdmA4CHPzjcvFdMx95TljiFZt3gye-Vh6YtSAqpbnhw5eGBgEfgLn_nMmk6XdoJVEPzJVCkZNsl7XcDsy4me_m2DzozKeVy-5upHzzOuA1IiYI2BCiY2WBFiMSZEaPITwB2qhmp_0yXBddYC1rmeaL3nzZ507MTIH3mvhw/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(2).png" width="640" /></a></div><br /><span style="font-size: medium;"><br /></span></b><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAuOcWfwoofDUrA9PbEArLRMusahK016zaGBROU4kgYalmlFzMqif2OpqHhiOuetn4okCxPgUyHG2odkP0D7VMM1EVX-uMQ7A4Rp2PDh3NF-U7YaiK-qocgsShC4otSlMe9bKfG7l-kJmYZvEWaWNQbOWgOcGDvYAS3Rx0IyUPBD4wLqiDbKrJUnxNXw/s2087/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1187" data-original-width="2087" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAuOcWfwoofDUrA9PbEArLRMusahK016zaGBROU4kgYalmlFzMqif2OpqHhiOuetn4okCxPgUyHG2odkP0D7VMM1EVX-uMQ7A4Rp2PDh3NF-U7YaiK-qocgsShC4otSlMe9bKfG7l-kJmYZvEWaWNQbOWgOcGDvYAS3Rx0IyUPBD4wLqiDbKrJUnxNXw/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(1).png" width="640" /></a></div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXlsH1cAHyNYSjR5RtTAu8rLvbKAWI5AY_wWKt2l3kzfbs74EAA4CljV0l7VIcstnTYL2Ne7Y_wfMzbDZ6-VvNI6q6RAPl_jRsa3NvR9erQKdIWGo3piMXINh80FBybF-f-6xD4UJ2EuWeHxYuYkfiR_3NYgfQZyRcC7-NpR84_R9cK_kWaNSE2OS1tA/s6207/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(9).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3651" data-original-width="6207" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXlsH1cAHyNYSjR5RtTAu8rLvbKAWI5AY_wWKt2l3kzfbs74EAA4CljV0l7VIcstnTYL2Ne7Y_wfMzbDZ6-VvNI6q6RAPl_jRsa3NvR9erQKdIWGo3piMXINh80FBybF-f-6xD4UJ2EuWeHxYuYkfiR_3NYgfQZyRcC7-NpR84_R9cK_kWaNSE2OS1tA/w640-h376/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(9).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrs1L7C_KgwOxHNaGzafWpo31wJYIKb0VMkf5FhfyW1m4Gzjf9spLcPvOnh6tieywQVFvzLwzYd3tF0SGToJJq8MqhwJ3txS4CfmIk18FjdPYCBXPay3xKwsT-RwwJyO33oa7Y24OSUk_7PpQQdCsS1ThGNDH9wwYFsNZd0f7jruOXJLBWwoul8Nb12g/s6720/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(7).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrs1L7C_KgwOxHNaGzafWpo31wJYIKb0VMkf5FhfyW1m4Gzjf9spLcPvOnh6tieywQVFvzLwzYd3tF0SGToJJq8MqhwJ3txS4CfmIk18FjdPYCBXPay3xKwsT-RwwJyO33oa7Y24OSUk_7PpQQdCsS1ThGNDH9wwYFsNZd0f7jruOXJLBWwoul8Nb12g/w640-h426/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(7).JPG" width="640" /></a></div><div><br /></div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIIjbPgM_YWGq8VA_Qr9xKPB4SqbFUr-YuNDb8KOs3GvRaLzTxfNHlcmBhiA_YgVW9FZiFo7oRKgTHh0AoqAnPjmuS054VdQcRfCcqqAa0SOdHn1m34AR1vOPQICT1VrNzDvHcWFX4P-zpsXb2yeloQtB5IOcRTsrS5d2kwJXjiQtOU7OFNEXU_7vBEg/s6112/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(11).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4174" data-original-width="6112" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIIjbPgM_YWGq8VA_Qr9xKPB4SqbFUr-YuNDb8KOs3GvRaLzTxfNHlcmBhiA_YgVW9FZiFo7oRKgTHh0AoqAnPjmuS054VdQcRfCcqqAa0SOdHn1m34AR1vOPQICT1VrNzDvHcWFX4P-zpsXb2yeloQtB5IOcRTsrS5d2kwJXjiQtOU7OFNEXU_7vBEg/w640-h438/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(11).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxZsCJu1bY7tfB944d_qaBJwchWItDiGXIG_r75oquBbfuHYCX2kUax56wCvGejV0XhGcIkVIOx8kq26ziz_ouSE9Hp0C0dekV5l62jPSVvzCexbTMRHiwLF2cfRHTWmGB2XMGNqtHJ6Dt5uRrVDlmpDGavwHBaIo6F_mEVAl3DMHO1vgvdk_QtZuS-A/s2113/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(3).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1175" data-original-width="2113" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxZsCJu1bY7tfB944d_qaBJwchWItDiGXIG_r75oquBbfuHYCX2kUax56wCvGejV0XhGcIkVIOx8kq26ziz_ouSE9Hp0C0dekV5l62jPSVvzCexbTMRHiwLF2cfRHTWmGB2XMGNqtHJ6Dt5uRrVDlmpDGavwHBaIo6F_mEVAl3DMHO1vgvdk_QtZuS-A/w640-h356/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(3).png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBOd5jH1DuoHVn4LxGSttBVCg0-wyPOeyp7S2yBJp1hIZbxv1OXG44P1CV-F1_vDgv-Gjqpy-MfucHTqSbxfN063BpENQPr-YThwnN0jzV4-X06JF0O5f8F4AngsnkZW-JvQaT49vnQVfFbtExzEA4my-UzX91NU6k2GlThHzWtwPyrqKYOKf9uvg9g/s2162/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(4).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1187" data-original-width="2162" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBOd5jH1DuoHVn4LxGSttBVCg0-wyPOeyp7S2yBJp1hIZbxv1OXG44P1CV-F1_vDgv-Gjqpy-MfucHTqSbxfN063BpENQPr-YThwnN0jzV4-X06JF0O5f8F4AngsnkZW-JvQaT49vnQVfFbtExzEA4my-UzX91NU6k2GlThHzWtwPyrqKYOKf9uvg9g/w640-h352/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(4).png" width="640" /></a></div><div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBbgsZ9NCTxT6dOgKxseTjVdcNddK-WA922KrKB8tkWVDzv5kFk9iHAhUibrRpcRhZrBU8n-S_5URxSuSn3svIldnFZCNwpL62z3LP23e016Vl_8IZN_rkTJ3ePUC5EzNJzHmjiGILt0rqh5GagQFXoHCckB79jquI3LAIIL0a3aAn_74Z9UnKXtBGGQ/s2127/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(7).png" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="1202" data-original-width="2127" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBbgsZ9NCTxT6dOgKxseTjVdcNddK-WA922KrKB8tkWVDzv5kFk9iHAhUibrRpcRhZrBU8n-S_5URxSuSn3svIldnFZCNwpL62z3LP23e016Vl_8IZN_rkTJ3ePUC5EzNJzHmjiGILt0rqh5GagQFXoHCckB79jquI3LAIIL0a3aAn_74Z9UnKXtBGGQ/w640-h362/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(7).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Top Layer 1 of 6</td></tr></tbody></table><div class="separator" style="clear: both; text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU28yxq0kB3N5dPagqEgZd8af_2cXUG-SbFQUT46eLElaoA0xUKmi3GPPbckVN2hVjgvjB-VJ22HhGhSRjxpgi40Va5iK4B0ZwCklnp07UPWhXgz1R-umn2-TkVioNfXin_0EkCqOfRZse3XCnTZfEIuJyjHZxlfle1qdGk9GmdahmRaTAUBFtdS8m2A/s2115/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(8).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1197" data-original-width="2115" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU28yxq0kB3N5dPagqEgZd8af_2cXUG-SbFQUT46eLElaoA0xUKmi3GPPbckVN2hVjgvjB-VJ22HhGhSRjxpgi40Va5iK4B0ZwCklnp07UPWhXgz1R-umn2-TkVioNfXin_0EkCqOfRZse3XCnTZfEIuJyjHZxlfle1qdGk9GmdahmRaTAUBFtdS8m2A/w640-h362/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(8).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Top Ground Plane Layer 2 of 6</td></tr></tbody></table><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Brx4D80ze8zL1IYydwAZeABAy5cyO4-uq462lBowNi8uGWi65RrKvuBkYYv0WOy6ctKlfsJ7Y_N93II-OgsglH79S1mvl4IBMqngVDc3hJkrwKyKjadAhnEPmHMkGyRHuPdgwS3tbPKuScvSUJlYlbY56BOFMJ3kdZrz_V6jOpADknqhFiICG4kA8g/s2108/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(9).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1201" data-original-width="2108" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Brx4D80ze8zL1IYydwAZeABAy5cyO4-uq462lBowNi8uGWi65RrKvuBkYYv0WOy6ctKlfsJ7Y_N93II-OgsglH79S1mvl4IBMqngVDc3hJkrwKyKjadAhnEPmHMkGyRHuPdgwS3tbPKuScvSUJlYlbY56BOFMJ3kdZrz_V6jOpADknqhFiICG4kA8g/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(9).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Power plane Layer 3 of 6</td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1NpsEGII8MoIDpU-RCqoiIW3W2jiw0OfhH6A74oaMqtbrhkIINad5dJzxy5LCoM4lXkZXw3ofkTX_GFMpY90_CKz0DTk0kOTw6yzGa2G99SgROjOEIPkqGp24y9u2Lsu6e-Cj8GIIc34Xwd71SkTJpPsVTft-NJHt5MHmbU8LBE5R2HMXKXB0ge8o9w/s2117/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(10).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1203" data-original-width="2117" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1NpsEGII8MoIDpU-RCqoiIW3W2jiw0OfhH6A74oaMqtbrhkIINad5dJzxy5LCoM4lXkZXw3ofkTX_GFMpY90_CKz0DTk0kOTw6yzGa2G99SgROjOEIPkqGp24y9u2Lsu6e-Cj8GIIc34Xwd71SkTJpPsVTft-NJHt5MHmbU8LBE5R2HMXKXB0ge8o9w/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(10).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Internal Signal layer 4 of 6<br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsbuWPttph240oQOSSFq_DA7orF_-6t7UaRIa2XwF7NWoK19ruvQQWu1O8QOclEx3hh1I6l9gGenGPHYwwo-jbQUlHGlR_puwMctIRJVOenc3kZsxYTYN_X-HJ26J2GtEYmaacJDoyVTRbVb9UVgjeZO_g0EBjyFNUgDCdFe4T8g9boTK9eAUhL3b5g/s2118/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(11).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1196" data-original-width="2118" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsbuWPttph240oQOSSFq_DA7orF_-6t7UaRIa2XwF7NWoK19ruvQQWu1O8QOclEx3hh1I6l9gGenGPHYwwo-jbQUlHGlR_puwMctIRJVOenc3kZsxYTYN_X-HJ26J2GtEYmaacJDoyVTRbVb9UVgjeZO_g0EBjyFNUgDCdFe4T8g9boTK9eAUhL3b5g/w640-h362/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(11).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Bottom Ground Layer 5 of 6<br /><br /></td></tr></tbody></table></td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcJWQb6h3W5XdVtI6hbXk4UKgLILp1z2V0DTYdX8u6m1FNXUfgDRu5FQsio66k9CmXKASIOYRqQyssAn3i2mJvEGHfzd5QxgQ3zirqWqTFNxKBMo843-VxFVzGEsSi8b5ApBmArAAs0NsFLBLi6FvylyP9yWxJ3Qhv_PX6ARmKpci6C2wtXOJEezDIxg/s2120/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(12).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1198" data-original-width="2120" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcJWQb6h3W5XdVtI6hbXk4UKgLILp1z2V0DTYdX8u6m1FNXUfgDRu5FQsio66k9CmXKASIOYRqQyssAn3i2mJvEGHfzd5QxgQ3zirqWqTFNxKBMo843-VxFVzGEsSi8b5ApBmArAAs0NsFLBLi6FvylyP9yWxJ3Qhv_PX6ARmKpci6C2wtXOJEezDIxg/w640-h362/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(12).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Bottom Signal Layer</td></tr></tbody></table><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFFhqsepJ9YAiBlqQf8GQ9RwYWfM3Q8u_SqcFIVjh45FdAnIjfNF5JrtrsCm9QY4jrRDAwS5cNudU-FpruW83-6J3rp0-AqwVliIv5JFvQn2cIW9xHf95oWXEX4YQmYJZadMYKPyxJGE2clloSESWIPg9UU2Bl6jrfM6KLb0PQQLXYaoVP_Pbg74t0cw/s2093/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(1).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1192" data-original-width="2093" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFFhqsepJ9YAiBlqQf8GQ9RwYWfM3Q8u_SqcFIVjh45FdAnIjfNF5JrtrsCm9QY4jrRDAwS5cNudU-FpruW83-6J3rp0-AqwVliIv5JFvQn2cIW9xHf95oWXEX4YQmYJZadMYKPyxJGE2clloSESWIPg9UU2Bl6jrfM6KLb0PQQLXYaoVP_Pbg74t0cw/w640-h364/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(1).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Top Signal Layer 1 of 6</td></tr></tbody></table><br /><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVK5VhkCmZDXx9YT_eB1OC7akFIbtdnEgs5W3zg1jzHX5SnmZjpjvc8KUZiv77iErjNfOxIZunLPL0acMyBuZwkyIOGM_RrLp63KZvyvi6oT5m8pP9nfPRhdPvuqXdalQw1kJX49tIp1QuTtcMO9bzJQZg0iukT9J2MMwa0dFqq8fScgDOP41P7TqXg/s2097/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(6).png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1196" data-original-width="2097" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVK5VhkCmZDXx9YT_eB1OC7akFIbtdnEgs5W3zg1jzHX5SnmZjpjvc8KUZiv77iErjNfOxIZunLPL0acMyBuZwkyIOGM_RrLp63KZvyvi6oT5m8pP9nfPRhdPvuqXdalQw1kJX49tIp1QuTtcMO9bzJQZg0iukT9J2MMwa0dFqq8fScgDOP41P7TqXg/w640-h366/usb_3.0_camera_fpga_crosslink_nx_cypress_usb_FPGA_MIPI_CAMERA%20(6).png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Bottom Layer 6 of 6<br /><br /></td></tr></tbody></table></div><b>Board Images</b><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaTXgnIA6l7fx3U_2GJ6pxq6Iu0sdMa1OTUVHE8e-IkWjiI5qXN98jlcDydJ9LFAxr_YNsZQeKrExWviSN8w4-MeilXoaScPsPdWJS2vNbQyF4XmcPI5STf-5hTsst60kjgciyKJ_NW52ofLctFX-RmNt0Mg75nkOQmr09ttn5li4GFz525ldG-MM9sw/s6720/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(1).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaTXgnIA6l7fx3U_2GJ6pxq6Iu0sdMa1OTUVHE8e-IkWjiI5qXN98jlcDydJ9LFAxr_YNsZQeKrExWviSN8w4-MeilXoaScPsPdWJS2vNbQyF4XmcPI5STf-5hTsst60kjgciyKJ_NW52ofLctFX-RmNt0Mg75nkOQmr09ttn5li4GFz525ldG-MM9sw/w640-h426/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(1).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs6dJxHKvRJ7igjo04PNjTv4fDR8nyRwxGKEB4Jng3DYzfb8CMgRgtZj32u2PAGSDFUiBUrnh7J9bXkP_lwNaw4W0xVZdrRDzN3ImvAGdZnu9spPaNOTwkr251YRSVXN6Aiflm38PPEo6B2l3Tm3m5rGjhim3QmBzffJs-t5MIgwb-pdbf-V8ifTsvvA/s6720/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(8).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs6dJxHKvRJ7igjo04PNjTv4fDR8nyRwxGKEB4Jng3DYzfb8CMgRgtZj32u2PAGSDFUiBUrnh7J9bXkP_lwNaw4W0xVZdrRDzN3ImvAGdZnu9spPaNOTwkr251YRSVXN6Aiflm38PPEo6B2l3Tm3m5rGjhim3QmBzffJs-t5MIgwb-pdbf-V8ifTsvvA/w640-h426/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(8).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6gV38MLqMqhIdU7KPuplEw0vNJ-kpj9_34OrmkXYOJBnF3BypiLHWKLw0-rtFMgmZ8ACBkCStz_082WZJXahnNrd3cs-eAePTPx_5ZJNG10smWOhdW6-SVGTOv4C-iUjq_W2rwRA4IeF8kwCCv2ddDHDufnjRdv1WbHHh5IchYL0kHoyC1-huEsNIHw/s6720/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(4).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6gV38MLqMqhIdU7KPuplEw0vNJ-kpj9_34OrmkXYOJBnF3BypiLHWKLw0-rtFMgmZ8ACBkCStz_082WZJXahnNrd3cs-eAePTPx_5ZJNG10smWOhdW6-SVGTOv4C-iUjq_W2rwRA4IeF8kwCCv2ddDHDufnjRdv1WbHHh5IchYL0kHoyC1-huEsNIHw/w640-h426/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(4).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiytGdP7R2NdE2LqA359Kyh5GvLZeyayFXwLEpaIahsbnJqj55tTG4bWbqzgESByIYBo_jyQ5wSva5wu5EEs6aVvQgulb5onaOV2pK5oU2oTT_fFT7r9Ksmz5BPySoHZRF4eIyEbtthwd3k8v_lTBLGKjLtrMn02lnTR1c_mg60boL6onCdqoGy5_1gxw/s6107/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(10).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3499" data-original-width="6107" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiytGdP7R2NdE2LqA359Kyh5GvLZeyayFXwLEpaIahsbnJqj55tTG4bWbqzgESByIYBo_jyQ5wSva5wu5EEs6aVvQgulb5onaOV2pK5oU2oTT_fFT7r9Ksmz5BPySoHZRF4eIyEbtthwd3k8v_lTBLGKjLtrMn02lnTR1c_mg60boL6onCdqoGy5_1gxw/w640-h366/usb_3.0_camera_fpga_crosslink_nx_cypress_usb%20(10).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div style="font-weight: bold;"><b>FPGA Firmware Design </b></div><div><br /></div><div>If you want to know more in details how MIPI CSI work you can refer to my previous posts and my previous make of USB 3.0 Camera. Previous post discuss in very details how MIPI functions. </div><div><a href="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html">Click on the Image blow</a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1382" data-original-width="2048" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg30LBQDlcRJcSNl2jnSzst6-EhmLVB8xkvbeRJKlYnZHzGAMuqtfqimk5JTh_RUilQchvlhAMDhIYUHW8X9ZzuV73qV-ixlYKIoIscEI2Gu3YHIfg2mwZAcAFb3mFT4GyPr3MSe1NDq0DDtlcb1UiYkCp-tj5qk1pQUNi5_Uaf7-W5WA4jqUjMaIhZwg/w200-h135/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera%20(1).JPG" width="200" /></a></div><br /><div><br /></div><div><br /></div><div>FPGA Design can be summarized in the blog diagram blow. Previous Project form post above discuss this in details </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLmemJjFcxvAt7iNd3tM5MD58jgefoZg4kJ_H_Rz0-Ag1vRiRDsoENRhSGc1ZUQhzdHFlEuL4vgC558W4WRZHFvT4xXk-TLMkpNE-SZ6IT9iPFTvz-A4gnlh5F9oP_M3dzp4e7eP_yyFgz7tMEgl85GZYXO_2wvytfqK4wbmaUeJ0kok3Isbp73tMyEA/s2535/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera%20(8).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1241" data-original-width="2535" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLmemJjFcxvAt7iNd3tM5MD58jgefoZg4kJ_H_Rz0-Ag1vRiRDsoENRhSGc1ZUQhzdHFlEuL4vgC558W4WRZHFvT4xXk-TLMkpNE-SZ6IT9iPFTvz-A4gnlh5F9oP_M3dzp4e7eP_yyFgz7tMEgl85GZYXO_2wvytfqK4wbmaUeJ0kok3Isbp73tMyEA/w640-h314/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera%20(8).JPG" width="640" /></a></div><br /><div><br /></div><div><div class="separator" style="clear: both; font-weight: bold; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtY3vhLVIIPiX7lL3xFwbxA-EfxWhBV6xJLHL5BrW8pR8sA0SMHLRvz6xvm5-M5gaI__kCOwRvDMYwW-k6ThJtsE1Wf2Mda9WY1JZDDpFONTKrIYDSs1l_Ax_yW2pYK9VR4uxkpPJy6a0Yh14MC2k3GNtM_w_10ryDs5PMs1cYItPq5ecmTiL9ilPeYA/s16528/Netlist.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5952" data-original-width="16528" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtY3vhLVIIPiX7lL3xFwbxA-EfxWhBV6xJLHL5BrW8pR8sA0SMHLRvz6xvm5-M5gaI__kCOwRvDMYwW-k6ThJtsE1Wf2Mda9WY1JZDDpFONTKrIYDSs1l_Ax_yW2pYK9VR4uxkpPJy6a0Yh14MC2k3GNtM_w_10ryDs5PMs1cYItPq5ecmTiL9ilPeYA/w640-h230/Netlist.jpeg" width="640" /></a></div><br /><div><b>Byte Aligner</b> Received Raw unaligned bits from DDR RX module outputs Aligned bytes, Bytes on MIPI lane does not have any defined byte boundary so this modules Looks for always constant first byte 0xB8 on wire, once 0xB8 is found, byte boundary offset is determined, set output valid to active and start outputting correct bytes stays reset when data lane are in MIPI LP state </div><div><br /></div><div><b>Lane Aligner</b> Receives multiple lane, byte aligned data from mipi rx byte aligner @mipi byte clock outputs lane aligned data in a multi-lane mipi bus, data on different lane may appear at different offset so this module will wait till of the all lanes have valid output start outputting lane aligned data so byte x from all the lanes outputted at same timescale</div><div><br /></div><div><b>MIPI CSI Packet Decoder</b> Basically a packet Stripper, removes header and footer from packet Takes lane aligned data from lane aligner @ mipi byte clock looks for specific packet type, in this case RAW10bit ( 0x2B). Module outputs Stripped bytes in exactly the way they were received. This module also fetch packet length and output_valid is active as long as input data is valid and received number of bytes is still within the limits of packet length.</div><div><br /></div><div><b>MIPI CSI RAW10</b> Depacker Receives 4 lane raw mipi bytes from packet decoder, rearrange bytes to output 4 pixel 10bit each output is one clock cycle delayed, because the way , MIPI RAW10 is packed output come in group of 5x40bit chunk, output_valid_o remains active only while 20 pixel chunk is outputted</div><div><br /></div><div><b>Debayer / demosaic</b> Takes 4x10bit pixel from RAW10 depacker module @mipi byte clock output 4x24bit RGB for each pixel , output is delayed by 2 lines Implement Basic Debayer filter, As debayer need pixel inform neighboring pixel which may be on next or previous display line, so input data is written onto RAM, only 4 lines are stored in RAM at one time and only three of the readable at any give time , RAM to which data is written to can not be read. As we have enough info in RAM 4 10bit pixel will be converted to 4x24bit RGB output First line is expected to BGBG , second line GRGR Basically BGGR format </div><div><br /></div><div><b>RGB to YUV</b> Color Space Converter Received 4 pixel 120bit RGB from the Debayer filter output 64bit 4pixel yuv422 Calculation is done based on integer YUV formula from the YUV wiki page </div><div><br /></div><div><b>Output re-formatter</b> Takes 64bit 4pixel yuv input from rgb2yuv module @ mipi byte clock outputs 32bit 2pixel yuv output @output_clk_i , output_clk_i must be generated by same way as mipi byte clock, output_clk_i must be exactly double to mipi byteclock This implementation of Output reformatter outputs data which which meant to send out of the system to a 32bit receiver depending on requirement this will be need to be adapted as per the receiver </div><div><br /></div><div><br /></div></div><div style="font-weight: bold;"><b><br /></b></div><b><span style="color: red;">Issues with board and Crosslink NX Engineering Sample chips </span></b><div><b><br /></b></div><div>As this board is made with Engineering sample only 72 pin Crosslink NX LIFCL-40 device , it had its fair share of limitations, most of which only caused by Crosslink NX LIFCL-40 being in 72 PIN QFN package. </div><div>So here are the limitations which makes both the boards basically very limited.</div><div>I needed to use every single pin that is available on this part for 32bit GPIF port of Cypress CYUSB3014 , Crosslink allow muxing of few pins but few limitations were there. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: left;">1. JTAG EN Pin basically does not have any effect on JTAG pins, JTAG pins are stuck on JTAG function if you powered on the part with JTAG enabled and programmed the device once. So 4 of the pins are just not available on the device if you used JTAG. This a silicon bug i hope fixed in production version of Crosslink NX </div><div class="separator" style="clear: both; text-align: left;"> Work around for this problem is load firmware directly to external Flash and on next power cycle FPGA will load firmware directly from Flash to its memory and JTAG pins would be available.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">2. Few more pins like PROGRAMN , INTN , DONE pins are also same which are stuck on there respective function even though from Radiant Software I put in bitstream that these pins should be available as pins that firmware can control. This is bug in Radiant software and Silicon </div><div class="separator" style="clear: both; text-align: left;"> Work around for this problem is , Lattice radiant allow a sperate Feature bit programming which enables normal IO function on Special function pins, But again there also bug in Crosslink nx, Though these bits should be permanent even after power cycle, in real hardware they only stay active for one power cycle, and to program them you need JTAG , using JTAG disables JTAG pins for this session. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">3. This problem is with loading bitstream from external flash, FPGA suppose to load bitstream on every boot, but it does not work.</div><div class="separator" style="clear: both; text-align: left;"> work around for this problem is to use a button PROGRAMN pin to force load bit stream. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">4. Problem described above are problems related to Crosslink NX or Lattice radiant software. This problem is more specific to IMX219 board. When board power up IMX219 expects a reset/appropriate power cycle but it does not happen as i do not any connection to the IMX219 power enable or to reset. </div><div class="separator" style="clear: both; text-align: left;">Workaround for this problem is to disconnect and connect camera after every power cycle.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">As said problems mentioned above make this board quite limited you can possibly get around most of them, or even use 24 bit or 16 bit but FPGA issues are really make it hard for real product, I hope issues are limited with engineering samples and not with production Crosslink NX chips </div><div><br /></div><div><br /></div><b>Project Source </b></div><div><b>All source can be found on Github , here on the link blow. </b></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><b><a href="https://github.com/circuitvalley/Crosslink_NX_USB3_Boards">https://github.com/circuitvalley/Crosslink_NX_USB3_Boards</a></b></div>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0Germany51.165691 10.45152622.855457163821157 -24.704724 79.475924836178848 45.607776tag:blogger.com,1999:blog-4474580574529252327.post-79779263423789567272022-05-18T21:59:00.022+02:002022-07-04T13:51:23.853+02:00Agilent Keysight 53220A Universal Frequency Counter Option 010 Ultra High Stability OCXO Timebase Upgrade <p> I have previously upgraded Timebase for Agilent/HP 53132A Universal frequency counter and also PM66xx Counter. This time i will be upgrading Keysight 53220A.</p><p>This upgrade is going to be little different as keysight 53220A does not have a oscillator module. OCXO is directly soldered to the main board. So this upgrade is just going to be desoldring existing TCXO and mounting correct OCXO to have Option 010 Ultra High Stability OCXO Timebase activated. </p><div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSmkekgvo4w7Bjyev4Kcpc8Cajn5aw0lJ89jgrP9BMkozaZM1Z57wnPfTHSgw1rUvgBNo9Vfuusc4z8FMeD0aygs4MLR4fsogLh4wAd-DDCXydPz3TrXuDD7CIRuVnPJtk9rhFyIBf2D1OFmi6Ta4Aq5i7bsuQRVLGxid97rkPheviU0o4d7F7FFyleQ/s6720/Keysigh%2053220A%20ocxo%20upgrade.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSmkekgvo4w7Bjyev4Kcpc8Cajn5aw0lJ89jgrP9BMkozaZM1Z57wnPfTHSgw1rUvgBNo9Vfuusc4z8FMeD0aygs4MLR4fsogLh4wAd-DDCXydPz3TrXuDD7CIRuVnPJtk9rhFyIBf2D1OFmi6Ta4Aq5i7bsuQRVLGxid97rkPheviU0o4d7F7FFyleQ/w640-h426/Keysigh%2053220A%20ocxo%20upgrade.JPG" width="640" /></a><br /><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh38wIi2HhtD7ReLwdQK1uhlLGTbnBZqwxQL0Q0xky_nRhC4ofwrDj60BK6F2zFfPxotHjyJXwmx-bs9kL-oU9b-zenMIECfGN7TLYd9W3yuF2XbHnav-n6_GqALEsseSVNY3wbQcY7qsc0G0pDgHKE23yOiA1j2ecvCtpzzgktyzDIfWzkXqlZghy_Cw/s6720/8Y0A2183.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh38wIi2HhtD7ReLwdQK1uhlLGTbnBZqwxQL0Q0xky_nRhC4ofwrDj60BK6F2zFfPxotHjyJXwmx-bs9kL-oU9b-zenMIECfGN7TLYd9W3yuF2XbHnav-n6_GqALEsseSVNY3wbQcY7qsc0G0pDgHKE23yOiA1j2ecvCtpzzgktyzDIfWzkXqlZghy_Cw/w640-h426/8Y0A2183.JPG" width="640" /></a></div><span><a name='more'></a></span><div><br /></div>Existing TCXO is installed under small plastic shield, Removing two screws from back side will get the shield off.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB3n3497WDqcXZDVMiQiD3vBC5ugyALvS_mpMZ6Ts8-KWgWfMI_YfqjEs7Nq07VL4hmbkN6Mif7T7rET3K70s66OHb_WBJwVh-9VQa7q0AomB6sxe0icgaj6Y1UT2Xi8opbVzRjpeqWEA3MDcVyFeRHCs0yiNbX07DHttL0KwFbF3bAZrdlJerq1INaQ/s6720/8Y0A2196.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB3n3497WDqcXZDVMiQiD3vBC5ugyALvS_mpMZ6Ts8-KWgWfMI_YfqjEs7Nq07VL4hmbkN6Mif7T7rET3K70s66OHb_WBJwVh-9VQa7q0AomB6sxe0icgaj6Y1UT2Xi8opbVzRjpeqWEA3MDcVyFeRHCs0yiNbX07DHttL0KwFbF3bAZrdlJerq1INaQ/w640-h426/8Y0A2196.JPG" width="640" /></a></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmxXkMXfKjZ1YzQbt3fqZGu0qwXfIfIPnISVdVCfUIKH7497x6NgSvi8Rr9Sn78nhCUuhb0a96nzParvpPCQZOaeMN9VO2o2oO8ESnxlLqvS1KbFZv9jA7yE3WIFLAepmdFh_ksFNdasif9kCYAXGM-ctVsUDlup6NIFgKujJqnCCCfXoF--kUaBjlOQ/s4480/Keysigh%2053220A%20ocxo%20upgrade1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3200" data-original-width="4480" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmxXkMXfKjZ1YzQbt3fqZGu0qwXfIfIPnISVdVCfUIKH7497x6NgSvi8Rr9Sn78nhCUuhb0a96nzParvpPCQZOaeMN9VO2o2oO8ESnxlLqvS1KbFZv9jA7yE3WIFLAepmdFh_ksFNdasif9kCYAXGM-ctVsUDlup6NIFgKujJqnCCCfXoF--kUaBjlOQ/w640-h458/Keysigh%2053220A%20ocxo%20upgrade1.JPG" width="640" /></a></div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1OoMq9-0oZ3EWymchn4QuyYPEVp6POB0FzoqAesTQ6u8HF2dY1P2Z48UkzZN0nr3J_pKl-QUuxXvYYaIbOBSu21qFMbhsopHEbhrlpysdncoHJ7pRPpYHFBgrKl7x88XJYXgyxtmoVI-pWOw143D6W0LUPwdkdq1mYEEsFm67-SBIYr-VoFzEsEsbZw/s6720/8Y0A2201.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1OoMq9-0oZ3EWymchn4QuyYPEVp6POB0FzoqAesTQ6u8HF2dY1P2Z48UkzZN0nr3J_pKl-QUuxXvYYaIbOBSu21qFMbhsopHEbhrlpysdncoHJ7pRPpYHFBgrKl7x88XJYXgyxtmoVI-pWOw143D6W0LUPwdkdq1mYEEsFm67-SBIYr-VoFzEsEsbZw/w640-h426/8Y0A2201.JPG" width="640" /></a></div><div><br /></div><div>Once TCXO is desoldered , Remove R827 and R828 for activation of Option 010 Ultra High Stability OCXO Timebase</div><div><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAOgDETpSuljwgf1qRNBNFwevL8IdPaGRP2owO2QN32dU1DEM_9MJoirUEk4pEXkz8RlbkvLqgoLpNYk8ysaAz_WfZ38NMxMzHKIYL9ZV2ur1RYSAlB3p-_APnObpX-xx8ayGtkeql4oE6WHpTIoYuA3dgHqWMAS3B09TcqLX-1X4VvgpKrSCUt-JgIQ/s6720/keysigh%2053220A%20option%20010%20ocxo%20upgrade.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAOgDETpSuljwgf1qRNBNFwevL8IdPaGRP2owO2QN32dU1DEM_9MJoirUEk4pEXkz8RlbkvLqgoLpNYk8ysaAz_WfZ38NMxMzHKIYL9ZV2ur1RYSAlB3p-_APnObpX-xx8ayGtkeql4oE6WHpTIoYuA3dgHqWMAS3B09TcqLX-1X4VvgpKrSCUt-JgIQ/w640-h426/keysigh%2053220A%20option%20010%20ocxo%20upgrade.JPG" width="640" /><div class="separator" style="clear: both; text-align: center;"><br /></div></a>OCXO i will be installing AOCJY3A-10.000MHZ<span style="white-space: pre;"> </span>its has correct dimension and other specifications. <div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_FQQPwHV5BiCm0NVdpSORTbf-DNt8f2KpZIAfuIpCV13IocQu1wx0vToT4E09CsC2y8MjVXZe5-XNemaw9lrdmOOIYYXDy8cGh9WOhYtIFNEvhTnXc1MlgkBipc3lCPDVyQYOyEdH2wYQm5n7uTPwMz8qhmekR7UytvVe0i4YEnkjQf9GmFqvQjWH_w/s6720/8Y0A2217.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_FQQPwHV5BiCm0NVdpSORTbf-DNt8f2KpZIAfuIpCV13IocQu1wx0vToT4E09CsC2y8MjVXZe5-XNemaw9lrdmOOIYYXDy8cGh9WOhYtIFNEvhTnXc1MlgkBipc3lCPDVyQYOyEdH2wYQm5n7uTPwMz8qhmekR7UytvVe0i4YEnkjQf9GmFqvQjWH_w/w640-h426/8Y0A2217.JPG" width="640" /></a></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP625qsV46jqJSf4cXRXmYw0wxC5NWugC1-5IM1XFKQXXry-cCzQtVgcvf07XLSS5--yq_Ax6Z2D2GdTQi4obi8tC_hcJmrEqe9imm9ie7514EHSTssEreygBbGU5xu3dF3xy5aqjCZmqnkzykIsLArn0VDd0MQig7eb01rxa_9C3-KWGghf9b1W9BmQ/s6720/8Y0A2222.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP625qsV46jqJSf4cXRXmYw0wxC5NWugC1-5IM1XFKQXXry-cCzQtVgcvf07XLSS5--yq_Ax6Z2D2GdTQi4obi8tC_hcJmrEqe9imm9ie7514EHSTssEreygBbGU5xu3dF3xy5aqjCZmqnkzykIsLArn0VDd0MQig7eb01rxa_9C3-KWGghf9b1W9BmQ/w640-h426/8Y0A2222.JPG" width="640" /></a></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPXm6hw1sNngk0fJ-j7jfqqo8dvplBErsnWTHpshqLdPyH2e9ETUb-Paa-HaN99WM-Bna9amXutCFrjMfwEJsJ2Xc8kg1h9E1bq8myuilC_nElTE8bimOd6KHZABcMEkeyZQPlDHKvVX4yeeo_kuBoB2NYi7Z3vU7CpaswurRdrvGfaEJSzWadlGS0A/s6720/Keysigh%2053220A%20ocxo%20upgrade.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4480" data-original-width="6720" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPXm6hw1sNngk0fJ-j7jfqqo8dvplBErsnWTHpshqLdPyH2e9ETUb-Paa-HaN99WM-Bna9amXutCFrjMfwEJsJ2Xc8kg1h9E1bq8myuilC_nElTE8bimOd6KHZABcMEkeyZQPlDHKvVX4yeeo_kuBoB2NYi7Z3vU7CpaswurRdrvGfaEJSzWadlGS0A/w640-h426/Keysigh%2053220A%20ocxo%20upgrade.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLej5BlCUjhVnLBsjtfl37vqiaAX0WF2HnNG4drUSlSg29NZaeQbGA9NIS2YQDum_6X5AkTDM2IW6FHKiWrhf_vH57KmCB8jBU4uaTGod6yuGpjs9RTFUca4h3gnoSQnBi55JATodLvho_TeTyxKBO8wbJeWmuDHypNi7EF87lzhYVTvufk2n2yfbcBA/s4231/keysigh%2053220A%20option%20010%20ocxo%20upgrade%202.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3191" data-original-width="4231" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLej5BlCUjhVnLBsjtfl37vqiaAX0WF2HnNG4drUSlSg29NZaeQbGA9NIS2YQDum_6X5AkTDM2IW6FHKiWrhf_vH57KmCB8jBU4uaTGod6yuGpjs9RTFUca4h3gnoSQnBi55JATodLvho_TeTyxKBO8wbJeWmuDHypNi7EF87lzhYVTvufk2n2yfbcBA/w640-h482/keysigh%2053220A%20option%20010%20ocxo%20upgrade%202.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0Germany51.165691 10.45152622.855457163821157 -24.704724 79.475924836178848 45.607776tag:blogger.com,1999:blog-4474580574529252327.post-17881312400866564452022-05-18T20:57:00.007+02:002022-07-04T13:51:12.666+02:00DIY Fluke Philips PM66xx OCXO 10MHz Oven Oscillator option board for PM6680B PM6681 <p> Quite a while ago I had written about how I upgraded oscillator of my Agilent/HP 53132A. I have recently bought a broken Fluke/Philips PM6680B Frequency counter. Though i was able to quickly fixed issues with the unit by replacing power supply capacitors, the unit still has really crappy original reference oscillator. So I decided to make my own PM9692 Ultra High Stability Oven Time Base with CTS 196 OCXO. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0km14bioKK6YNcLGEKQNjxbamIE3vSxcBpRiEaBV8odgY-6O-WMXp3oNUDgItzdcvJd5OFqJ8PWha6zVCilq1ozB2GtD_7O1iHbZ3mqGjBqlAlwD7tEvW2rp84Wfx0WUo9Akrl_NmnK5BkQwQQX7JgPD-RuyWuqwmCogWNGswCRpfukEJbhrdwb_WEw/s4406/8Y0A2113.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2262" data-original-width="4406" height="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0km14bioKK6YNcLGEKQNjxbamIE3vSxcBpRiEaBV8odgY-6O-WMXp3oNUDgItzdcvJd5OFqJ8PWha6zVCilq1ozB2GtD_7O1iHbZ3mqGjBqlAlwD7tEvW2rp84Wfx0WUo9Akrl_NmnK5BkQwQQX7JgPD-RuyWuqwmCogWNGswCRpfukEJbhrdwb_WEw/w669-h343/8Y0A2113.JPG" width="669" /></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizALn-_VV17hoQbDx9ZrSfKTdFTt3zBijRLFDmNZHVnmOq2FXNCLfYWgUqWzlcRDDqcaxgAHdUPwgNATTRjoZ9DdRBkI0hvZ2tOgLFroLvY1c21Nw4Xn_9fYkb2E5VyKrq0hNAgTyst3fMaSCR3uMwX8U6CVRB_o6ZNAwJuiCLzoqfDexzdmsLkolrng/s6720/8Y0A2044.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3776" data-original-width="6720" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizALn-_VV17hoQbDx9ZrSfKTdFTt3zBijRLFDmNZHVnmOq2FXNCLfYWgUqWzlcRDDqcaxgAHdUPwgNATTRjoZ9DdRBkI0hvZ2tOgLFroLvY1c21Nw4Xn_9fYkb2E5VyKrq0hNAgTyst3fMaSCR3uMwX8U6CVRB_o6ZNAwJuiCLzoqfDexzdmsLkolrng/w669-h384/8Y0A2044.JPG" width="669" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj357KLCrbW_EkOER0jRiBYJGm8O6RFdxklsaSD9BOBOMxFixf32LST-0krrAEtwc756D0kcvJ9KWx2b4fbGbZbBxQ2njVysJCHl7oBeWGSO6-tXbz1vgyB93vSp7FAN8A5EI7ozioQM9Dm1soTIzLqqiysKB0mAdMb7_eHKw9mQu3YguK4jcDUOR-38Q/s5836/8Y0A2082.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2995" data-original-width="5836" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj357KLCrbW_EkOER0jRiBYJGm8O6RFdxklsaSD9BOBOMxFixf32LST-0krrAEtwc756D0kcvJ9KWx2b4fbGbZbBxQ2njVysJCHl7oBeWGSO6-tXbz1vgyB93vSp7FAN8A5EI7ozioQM9Dm1soTIzLqqiysKB0mAdMb7_eHKw9mQu3YguK4jcDUOR-38Q/w664-h342/8Y0A2082.JPG" width="664" /></a></div><br /><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><br /></div><b><span style="font-size: medium;">Schematic</span></b><p></p><p>Module is relatively simple compared to Agilent 53132A OCXO, Board only has a switching regulator to step down from 12V/24V input to Oven Oscillator Operating Voltage which is 5V. Board also has a 20 Turn Trimpot to fine adjust oscillator frequency for calibration. High resolution PDF Schematic can be found on Projects github<a href="https://github.com/circuitvalley/PM6680_PM6681_OCXO_time_base_option"> https://github.com/circuitvalley/PM6680_PM6681_OCXO_time_base_option</a><br /><br /></p><p>CTS 196 oscillator has specifications for Temp 5PPB while 1ppb/day and 100ppb/year aging </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghOypb9JHU8k7NJGiHWNEjsHBLetAh5wXhRDiwB9LBaEKO5WOycj2bHqdThCl6DY36i4TAVrLo57CDCQ5wbf29qc-X8BY9rgb0XX9SumdK8QXmQpsjO2CZkE6NusYGSfdI8X4L52OI1qCtcnYTOwlb5u1e8y7ppFZaQgR5Shwr2CSXYXW0ryQY4gQxXA/s6584/PM6680_OCXO_schematic.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4345" data-original-width="6584" height="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghOypb9JHU8k7NJGiHWNEjsHBLetAh5wXhRDiwB9LBaEKO5WOycj2bHqdThCl6DY36i4TAVrLo57CDCQ5wbf29qc-X8BY9rgb0XX9SumdK8QXmQpsjO2CZkE6NusYGSfdI8X4L52OI1qCtcnYTOwlb5u1e8y7ppFZaQgR5Shwr2CSXYXW0ryQY4gQxXA/w640-h422/PM6680_OCXO_schematic.png" width="640" /></a></div><div><p>Option board is installed on BU105 Header which is 10 pin single line header. This part of PM6680B schematic shows BU105.</p></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-LA8_RZg2KUOJuh9T-Ucd_Wzq7pfdWrPMNWtafTUzwc__TZsk5r6L0px_qWWyVBDKNnI7sro1fOoncR0hc1mkKv8VkhtckxDrfgFUXl4IghmruDw80TUzYfDCBk4nEDaSlawNEgsS-nqEevhtAIGgW4dmg-n_4MIqA1UFshL4XZo3KKa30DSmUeGljA/s8256/pm6680part2.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="5840" data-original-width="8256" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-LA8_RZg2KUOJuh9T-Ucd_Wzq7pfdWrPMNWtafTUzwc__TZsk5r6L0px_qWWyVBDKNnI7sro1fOoncR0hc1mkKv8VkhtckxDrfgFUXl4IghmruDw80TUzYfDCBk4nEDaSlawNEgsS-nqEevhtAIGgW4dmg-n_4MIqA1UFshL4XZo3KKa30DSmUeGljA/w640-h452/pm6680part2.jpeg" width="640" /></a></div><br /><div><br /></div><div><br /></div><b><span style="font-size: medium;">PCB</span></b><div>Its a 2 Layer board with pretty basic requirements, can be ordered from almost anywhere. </div><div>For standoff I use WÜRTH 9774080360R Stainless steel standoff. and used relatively easily available 2x10 dual pin header rather than expensive threw board connector. Though only single line is needed as but dual line header provide some rigidity to the connectors at really low cost against going for some other connector solution.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ9kqSDspJPdx9WvUi3bHO_jw9ifkjG8xOVD_aeCBWb4bW47h7nBsKWvSmmiY_HGRm9MTL0DXs939rB9PZ6zxrY4mIom7D4KJzaB8BEp_1Z5xVK8QNf_rZuSy9QIP_nhk21pGwyLkUFTdzuWiRUIUhH-_EJ78TuDB5RmHfp8UTzycicWQHAlynhvh6ZA/s1450/Screenshot%202022-03-26%20124429.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="1450" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ9kqSDspJPdx9WvUi3bHO_jw9ifkjG8xOVD_aeCBWb4bW47h7nBsKWvSmmiY_HGRm9MTL0DXs939rB9PZ6zxrY4mIom7D4KJzaB8BEp_1Z5xVK8QNf_rZuSy9QIP_nhk21pGwyLkUFTdzuWiRUIUhH-_EJ78TuDB5RmHfp8UTzycicWQHAlynhvh6ZA/w640-h322/Screenshot%202022-03-26%20124429.png" width="640" /></a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiptXeccphJ44BMZFkveI2WraUUypYtjxzyxfYu9GHGUND1gw90QnjVMDPJel2N4pssbKUDy7sQrNesN9hUrgh94gJuxcm5_-iu5eUQ_06IphM0CKDyu2roGo4q_5fRanhZ90120WrFHFlzsHfoC7FtFSvRcUQcfuHm4iBsOv76EnZ0wJPnPNpsGDw_ZA/s6209/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(5).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3694" data-original-width="6209" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiptXeccphJ44BMZFkveI2WraUUypYtjxzyxfYu9GHGUND1gw90QnjVMDPJel2N4pssbKUDy7sQrNesN9hUrgh94gJuxcm5_-iu5eUQ_06IphM0CKDyu2roGo4q_5fRanhZ90120WrFHFlzsHfoC7FtFSvRcUQcfuHm4iBsOv76EnZ0wJPnPNpsGDw_ZA/w640-h380/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(5).JPG" width="640" /></a></div><br /><div><b>Buy Blank PCB , HASL Finish, Free International Shipping</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOKXu_nqYWcl3hTD-FtpYMPR23NHBID4vQLE8mh139EZQeV-DlaB90Gb0flRYeAtxA4mxDFv1IOodSE1DyRxgXpnC90sYXSBnDUT84fOvIhF62ouS2uX5CUHvyV2xI4YELwu9b_U0KyN6P3xrfI7PhtCaz3RIBHLrT-nzKxXg72zHyeFMUvSuQdfkqAw/s4505/8Y0A2397.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2318" data-original-width="4505" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOKXu_nqYWcl3hTD-FtpYMPR23NHBID4vQLE8mh139EZQeV-DlaB90Gb0flRYeAtxA4mxDFv1IOodSE1DyRxgXpnC90sYXSBnDUT84fOvIhF62ouS2uX5CUHvyV2xI4YELwu9b_U0KyN6P3xrfI7PhtCaz3RIBHLrT-nzKxXg72zHyeFMUvSuQdfkqAw/s320/8Y0A2397.JPG" width="320" /></a></div><br /><div><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="GKCE9UB8FYG6N" />
<table>
<tbody><tr><td><input name="on0" type="hidden" value="Quantity" />Quantity</td></tr><tr><td><select name="os0">
<option value="Blank PCB QTY 1">Blank PCB QTY 1 €10,00 EUR</option>
<option value="Blank PCB QTY 2">Blank PCB QTY 2 €18,00 EUR</option>
<option value="Blank PCB QTY 3">Blank PCB QTY 3 €24,00 EUR</option>
</select> </td></tr>
</tbody></table><table><tbody><tr><td>Blank PCB only, NO COMPONENTS, Worldwide shipping</td></tr><tr></tr></tbody></table><br />
<input name="currency_code" type="hidden" value="EUR" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" ffyutdryi="" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" yoo5h1dol="" />
</form>
</div><div><br /></div>Installation<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0arrlIDb6m7X6TNHYMZfTA1Ob4MCsvJhz49pz8At_6uhc4sFliBOThvllCR4zw0LZYfFoArFcpyp3L67vJi7NXdaqtJsFTnXUhBtdvrZTqtvP7O3WL1qlOWOMEhs-62t8V4mDETVy1opEBcXoS9GeJoeH1T5nSdDJrL6Mv_CKrYZdvxqQQFYNR21tkw/s6720/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(9)2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3776" data-original-width="6720" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0arrlIDb6m7X6TNHYMZfTA1Ob4MCsvJhz49pz8At_6uhc4sFliBOThvllCR4zw0LZYfFoArFcpyp3L67vJi7NXdaqtJsFTnXUhBtdvrZTqtvP7O3WL1qlOWOMEhs-62t8V4mDETVy1opEBcXoS9GeJoeH1T5nSdDJrL6Mv_CKrYZdvxqQQFYNR21tkw/w640-h360/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(9)2.JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLrH2gajq7KiIsRmvxZeBKg8DIguwexujH8fj8Rd5YhU2-D3IJtHuoKxKkgaOfi9CRe_wJiI2d1-YLGlB-kIygEyPsBFGbwQllMxNNn5XtiGScbDaglUgN1IclTqIzOc_tarNkpbLWy7uopJSmN7_7kKzlv9xm8_lGq4HRq9xdV_wR8ZnYDRIoUiU_jg/s5764/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(4).JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2951" data-original-width="5764" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLrH2gajq7KiIsRmvxZeBKg8DIguwexujH8fj8Rd5YhU2-D3IJtHuoKxKkgaOfi9CRe_wJiI2d1-YLGlB-kIygEyPsBFGbwQllMxNNn5XtiGScbDaglUgN1IclTqIzOc_tarNkpbLWy7uopJSmN7_7kKzlv9xm8_lGq4HRq9xdV_wR8ZnYDRIoUiU_jg/w640-h328/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(4).JPG" width="640" /></a><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTaIE8jwDRF_bEgCAMbDsQUAWqkA-9W83oPIh5RruIYJe0HsEgwga72qgQgein8CKY3E2eLcRUnjgOlqCH0ZWuk1et3Xdc96hNjaqzuC1dklM_qiGQmna6EZGpgrC4EETeTb3kCA2zPY4W5CffJw4IMw8Ydjgt48bKFEg5L0omLZpoccrmbJi0ShHx0A/s3792/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(3).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2730" data-original-width="3792" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTaIE8jwDRF_bEgCAMbDsQUAWqkA-9W83oPIh5RruIYJe0HsEgwga72qgQgein8CKY3E2eLcRUnjgOlqCH0ZWuk1et3Xdc96hNjaqzuC1dklM_qiGQmna6EZGpgrC4EETeTb3kCA2zPY4W5CffJw4IMw8Ydjgt48bKFEg5L0omLZpoccrmbJi0ShHx0A/w640-h460/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(3).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioxHkzf_EgJEPTxTJ-qm6XnkDtawhdImVhWgMtLbooKkIhKUgSvgQ3w6mE_56IoASQSDo60mfU2Z3K-NbdBWh6GKOpeE349m13q-v-VmluyzRfZscOvHPBBGyfS1CU_c9CeI_xRMGb43DsY__sk1STMDs4141v108lpI-2t_fabSnXQFt-WN8KpcfANw/s6720/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(9).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3776" data-original-width="6720" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioxHkzf_EgJEPTxTJ-qm6XnkDtawhdImVhWgMtLbooKkIhKUgSvgQ3w6mE_56IoASQSDo60mfU2Z3K-NbdBWh6GKOpeE349m13q-v-VmluyzRfZscOvHPBBGyfS1CU_c9CeI_xRMGb43DsY__sk1STMDs4141v108lpI-2t_fabSnXQFt-WN8KpcfANw/w640-h360/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(9).JPG" width="640" /></a><div class="separator" style="clear: both; text-align: center;"><br /></div></div><br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDMyeYxSdeX1YiuDaPmgq5GtbdWxeprzYS3Ywzq95pbPrWn0wfwH0bbauNkrzhC4ttw39qFxVA3eQvgbgewQK0ek-hlG2oEdQN-9WyO1aOJUCqEZknv4t7SDF4PSvNAO-PC1yQdpG9qLheke3GUQMAy-js7xV_JPcQi3LjZI8iWHhMYsnNJuak7Gj43Q/s6023/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(2).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3341" data-original-width="6023" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDMyeYxSdeX1YiuDaPmgq5GtbdWxeprzYS3Ywzq95pbPrWn0wfwH0bbauNkrzhC4ttw39qFxVA3eQvgbgewQK0ek-hlG2oEdQN-9WyO1aOJUCqEZknv4t7SDF4PSvNAO-PC1yQdpG9qLheke3GUQMAy-js7xV_JPcQi3LjZI8iWHhMYsnNJuak7Gj43Q/w640-h356/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(2).JPG" width="640" /></a></div><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidixh1HZs6CDtONqOPnVvQB5iqwKVoYHcyZwJWzDIxYyfyt9_I7t2N5j3yz0quzNBha2oT4eIjqlh6xSoZVs16iQSXjYGT4mnoyTC0KS6-PXBnp1LGWN5FzTjuzpI8xdFIWaufmAByVyteH5gVfpJpz0qrAt0fxnx51wAUKOtq3mzpB37yU4EYxper7A/s5794/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(6).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3775" data-original-width="5794" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidixh1HZs6CDtONqOPnVvQB5iqwKVoYHcyZwJWzDIxYyfyt9_I7t2N5j3yz0quzNBha2oT4eIjqlh6xSoZVs16iQSXjYGT4mnoyTC0KS6-PXBnp1LGWN5FzTjuzpI8xdFIWaufmAByVyteH5gVfpJpz0qrAt0fxnx51wAUKOtq3mzpB37yU4EYxper7A/w640-h416/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(6).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhul6mk2ht4Mal-wPXOFgJKQjPys4m2k0HYcMaXppFtuSgl0YWEe_yMd_aorE8kTi6lKEfnn_7r4_6-4DgfgdIOSoboaqxC7JXPbb7LLeuHbjELHHL05GFNEKUjtZXVYWg5-V1DXQgkBG2l_eH90-PIKWwrHx_d03y-hUJFSUx-V-PpxTLCwKOSPFyl9g/s6720/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(7).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3776" data-original-width="6720" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhul6mk2ht4Mal-wPXOFgJKQjPys4m2k0HYcMaXppFtuSgl0YWEe_yMd_aorE8kTi6lKEfnn_7r4_6-4DgfgdIOSoboaqxC7JXPbb7LLeuHbjELHHL05GFNEKUjtZXVYWg5-V1DXQgkBG2l_eH90-PIKWwrHx_d03y-hUJFSUx-V-PpxTLCwKOSPFyl9g/w640-h360/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(7).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZPMwfOTgaU9zXcCL3W8M5r96AoaJdaESz9eTB6kiGjY5i9jxPKToLtnvdNRDctSWyn5DQjsK7nYW_fKsd03u5Hem1sSSap8cab-2d78LpvaGZBSBxvb97vBHZ3OfLw7L8WbQhnyHwTY39evJg7d8qFRuDg8J9yp3jeBP1EVw_sq7v6xvVB-vyh_VBw/s5801/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(8).JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3369" data-original-width="5801" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZPMwfOTgaU9zXcCL3W8M5r96AoaJdaESz9eTB6kiGjY5i9jxPKToLtnvdNRDctSWyn5DQjsK7nYW_fKsd03u5Hem1sSSap8cab-2d78LpvaGZBSBxvb97vBHZ3OfLw7L8WbQhnyHwTY39evJg7d8qFRuDg8J9yp3jeBP1EVw_sq7v6xvVB-vyh_VBw/w640-h372/pm66xx_pm6680_pm6681_ocxo_oscillator_oven_module_upgrade_circuitvalley_diy%20(8).JPG" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div><br /><div>PCB Source Design and can be found on github</div><div><br /></div><div><a href="https://github.com/circuitvalley/PM6680_PM6681_OCXO_time_base_option">https://github.com/circuitvalley/PM6680_PM6681_OCXO_time_base_option</a><br /><br /></div><div><br /></div><div><br /></div></div>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0tag:blogger.com,1999:blog-4474580574529252327.post-42081415185844370882020-05-02T19:20:00.003+02:002021-04-09T18:58:49.035+02:00DIY Open Source MicroZed Breakout Carrier Board For MicroZed Zynq FPGA SOM board For new FPGA SoC related project, and i will be using Avnet MicroZed Zync SOM board. But Avnet microZed Board has two 100 Pin fine pitch connectors for expansion, Which is impractical for prototyping so i decided to make my own breakout board. Finding Avent microzed GPIO breakout was little hard and official board has same VCCIO regulator for all banks and avnet board also does not have differential LVDS layout.<br />
So i made this Open source Board, With three separate switching regulator for each bank VCCIO on 4 Layer Gold finish board with most of microZed pins broken out in LVDS pair. PCB is 4 Layer impedance control for 100R LVDS pair. Board has 3 solder jumpers per regulator to change bank voltage of each bank separately.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvSIULOfDJ6EEUn2q4Z9vgsZC0WEUJ2jT3EQb-HG1knknTb0brWEMD58uicVkX8X8GHR4j1XuwGbHduZ1Soa5VyMmQFatYNiadb-1Gs0DukqjSsTh6bK1Y0G3Itow9oaRscGAN2bcEZRv/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1072" data-original-width="1600" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvSIULOfDJ6EEUn2q4Z9vgsZC0WEUJ2jT3EQb-HG1knknTb0brWEMD58uicVkX8X8GHR4j1XuwGbHduZ1Soa5VyMmQFatYNiadb-1Gs0DukqjSsTh6bK1Y0G3Itow9oaRscGAN2bcEZRv/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25282%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcFEFeIYrM5OufjOOrHa-gpGVClrrHyAUaPrYNi-KQ3E9HBhkaXCu3kuQLIv2CLoJktPS9vI0AZMvPvGKd78Sv54ihhxgfyuNVk2-TO4eAmkXXtJ5-L16sJRsRHrz83IhXEOWpkyh4LzO/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25285%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1240" data-original-width="1600" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcFEFeIYrM5OufjOOrHa-gpGVClrrHyAUaPrYNi-KQ3E9HBhkaXCu3kuQLIv2CLoJktPS9vI0AZMvPvGKd78Sv54ihhxgfyuNVk2-TO4eAmkXXtJ5-L16sJRsRHrz83IhXEOWpkyh4LzO/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGbphuac3xm_XZQaIR2309dC3jFRyvNOgzKMrNZHMplRKSJlpAWxLzQ_g6meXWU5QR1quJmFrd97hb29itu6YKlc05dccA1XbPp9Gmdr0Vbbmg3YWueDpQt7WXjA6AFeAFUrKLRgG14n7y/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25283%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="989" data-original-width="1600" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGbphuac3xm_XZQaIR2309dC3jFRyvNOgzKMrNZHMplRKSJlpAWxLzQ_g6meXWU5QR1quJmFrd97hb29itu6YKlc05dccA1XbPp9Gmdr0Vbbmg3YWueDpQt7WXjA6AFeAFUrKLRgG14n7y/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25283%2529.JPG" width="640" /></a></div>
<br />
<a name='more'></a><br />
<br />
<b>Board </b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUS-RSvdjvyP1T-XbW_Y3FCpHIrSHTDVr6BAgFTOt2rv7A7T9DjrhKShxivel33bwyLShIKU3xOLeaRz2tqzVIPRIQiSThWr_J3yzEKbvhRqVn1gYHFLAdi8M7C3rVogJGTEmEiPWFwMPS/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25281%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1142" data-original-width="1449" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUS-RSvdjvyP1T-XbW_Y3FCpHIrSHTDVr6BAgFTOt2rv7A7T9DjrhKShxivel33bwyLShIKU3xOLeaRz2tqzVIPRIQiSThWr_J3yzEKbvhRqVn1gYHFLAdi8M7C3rVogJGTEmEiPWFwMPS/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25281%2529.png" width="640" /></a></div>
<b><br /></b>
<b>Schematic </b><br />
<b><br /></b>
<br />
There is not much in schematic , only few switching regulator for all Bank Voltage and IO headers .<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCR0XzbpJ83GDAgH3vPGGbrO6oVubhiOj9-85VJqBFVbAKd2Sj4EUQd5zik6LJxjsNSi8OVzN7rhpTnBOb7RB1qM7WnMdFyaKZHpFhBfUKfAzhrfSEMzIu1gHyJ5C3qyXYG2hDPtujWuqE/s1600/micorZed_GPIO_Schematic.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCR0XzbpJ83GDAgH3vPGGbrO6oVubhiOj9-85VJqBFVbAKd2Sj4EUQd5zik6LJxjsNSi8OVzN7rhpTnBOb7RB1qM7WnMdFyaKZHpFhBfUKfAzhrfSEMzIu1gHyJ5C3qyXYG2hDPtujWuqE/s640/micorZed_GPIO_Schematic.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b><br /></b><br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><img alt="" border="0" height="1" o686rijnn="" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
<br />
<br /></form>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcuUuU0htXBvgT7NB5NOuTqZdpXYsgPDcX3hYWCoNNRf1C-LFbn-ZUgs21PEEd6mA0Pixx9DDA5wyUifCjssxXrG-hp9JmYAciUdFcbNAvm4Um84XnWPLazd5dv1wcoFwRWVMPQ7GL_Lux/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25282%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1193" data-original-width="1400" height="544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcuUuU0htXBvgT7NB5NOuTqZdpXYsgPDcX3hYWCoNNRf1C-LFbn-ZUgs21PEEd6mA0Pixx9DDA5wyUifCjssxXrG-hp9JmYAciUdFcbNAvm4Um84XnWPLazd5dv1wcoFwRWVMPQ7GL_Lux/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25282%2529.png" width="640" /></a></div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSddOEJZAxwQ2yIKyqDUPb6yDs6AQ-SVBuV0sKYixgcpw7AaxE4CLFZ-BPPUJRfah9lirSSDFMt6wMXpemoT1G5xl4wpmsZrHBtLTEF6f7EeeckUI7z_2S2heG2OuAH3z2FBNLjt4bQwpV/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25283%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="933" data-original-width="1193" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSddOEJZAxwQ2yIKyqDUPb6yDs6AQ-SVBuV0sKYixgcpw7AaxE4CLFZ-BPPUJRfah9lirSSDFMt6wMXpemoT1G5xl4wpmsZrHBtLTEF6f7EeeckUI7z_2S2heG2OuAH3z2FBNLjt4bQwpV/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25283%2529.png" width="640" /></a></div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcFEFeIYrM5OufjOOrHa-gpGVClrrHyAUaPrYNi-KQ3E9HBhkaXCu3kuQLIv2CLoJktPS9vI0AZMvPvGKd78Sv54ihhxgfyuNVk2-TO4eAmkXXtJ5-L16sJRsRHrz83IhXEOWpkyh4LzO/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25285%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1240" data-original-width="1600" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcFEFeIYrM5OufjOOrHa-gpGVClrrHyAUaPrYNi-KQ3E9HBhkaXCu3kuQLIv2CLoJktPS9vI0AZMvPvGKd78Sv54ihhxgfyuNVk2-TO4eAmkXXtJ5-L16sJRsRHrz83IhXEOWpkyh4LzO/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WCAzTABMr_1iviMz95lRZ3CaTH1HulXkcUg1tcJi5VzMOupnhbIkcxKp8FlMgSxyZzDYK8h9Sj-j0DmUltXbPs4EYmsJ7cEyUkJbMraKh2q6czqHWgciq0rf9PaSja4iIpCBShPpas8s/s1600/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25286%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1250" data-original-width="1600" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WCAzTABMr_1iviMz95lRZ3CaTH1HulXkcUg1tcJi5VzMOupnhbIkcxKp8FlMgSxyZzDYK8h9Sj-j0DmUltXbPs4EYmsJ7cEyUkJbMraKh2q6czqHWgciq0rf9PaSja4iIpCBShPpas8s/s640/microzed+breakout+board+zynq+fpga+diy+open+source++gpio+%25286%2529.JPG" width="640" /></a></div>
<b><br /></b>
<b>Source </b><br />
<b><br /></b>
<b>PCB Gerber , Source and Schematic PDF available at github</b><br />
<b><br /></b>
<a href="https://github.com/circuitvalley/microzed_carrier_board">https://github.com/circuitvalley/microzed_carrier_board</a><br />
<b><br /></b>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com5tag:blogger.com,1999:blog-4474580574529252327.post-12982279672940440452020-02-16T23:46:00.004+01:002022-06-07T02:28:33.473+02:00Opens Source IMX219 Camera MIPI CSI-2 Receiver Verilog HDL Lattice FPGA MachXO3 Raspberry PI Camera<div style="text-align: justify;">
This post is going to be yet another part of the previous camera projects published on this blog. As described in the last post here in which i made <a href="https://www.circuitvalley.com/2020/02/diy-imx219-4-lane-mipi-breakout-board-raspberry-pi-camera-fpga-4-lane-mipi-csi.html">Raspberry PI camera Sony IMX219 4 Lane MIPI CSI Board</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
In this post will be having details about how to get data out of MIPI camera, make it useable and then feed data into Cypress FX3 USB3.0 controller.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbKN7pt0y3mJWD4_BJMm5gzdbfKMcrBiKVcEFkihEVWSl_xIs7In_zxNrkWQp9iDSlZJJvB7OQqnCFFDhOdfbtmMkikBqcWQLy2aRMRcjHE7DHFUKwH06CEPpbODcXpvr0gaeexXgxACvE/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25281%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1600" height="432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbKN7pt0y3mJWD4_BJMm5gzdbfKMcrBiKVcEFkihEVWSl_xIs7In_zxNrkWQp9iDSlZJJvB7OQqnCFFDhOdfbtmMkikBqcWQLy2aRMRcjHE7DHFUKwH06CEPpbODcXpvr0gaeexXgxACvE/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25281%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4uM9Q-ofVTczCH1K5XCXjUtK2z39l8vBAbYFnfBOsQ2RfWxI0yk0fJuf3cR6Mr4dmBUw46-6GvAJMegVXNrPxomW_0HFrAc0ONzNEd1HnrOmxMB0QPC2mivw3oRkIodVetyaiSFXWoaxl/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4uM9Q-ofVTczCH1K5XCXjUtK2z39l8vBAbYFnfBOsQ2RfWxI0yk0fJuf3cR6Mr4dmBUw46-6GvAJMegVXNrPxomW_0HFrAc0ONzNEd1HnrOmxMB0QPC2mivw3oRkIodVetyaiSFXWoaxl/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25282%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ-dd5BZ76AXvJTCyBCaEgZD21tL1cJdwUCX7v_GdBUD0uJqxqMbeV0RwBS8ZtYOisEP18nmT5xAVCujNgSYNBhU6efQsQCXVjd3A2hCzitA4Jl1nwL8YDnWqK117j-6hh418iS7vTtpi4/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25283%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1061" data-original-width="1600" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ-dd5BZ76AXvJTCyBCaEgZD21tL1cJdwUCX7v_GdBUD0uJqxqMbeV0RwBS8ZtYOisEP18nmT5xAVCujNgSYNBhU6efQsQCXVjd3A2hCzitA4Jl1nwL8YDnWqK117j-6hh418iS7vTtpi4/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25283%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo9pruEv9jsV3Ab66-V2eW1a51TDKC7CgZDuOK0xzn-PcihRv81HM_6ABwK0DC_vcJyBYfvs4pIqWlj7PUcIA8r9h95HTRlHVo3VFECnYWlQdihpYCaJVqsmClL3wIG3vqXV_UtPJ5ASTJ/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1201" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo9pruEv9jsV3Ab66-V2eW1a51TDKC7CgZDuOK0xzn-PcihRv81HM_6ABwK0DC_vcJyBYfvs4pIqWlj7PUcIA8r9h95HTRlHVo3VFECnYWlQdihpYCaJVqsmClL3wIG3vqXV_UtPJ5ASTJ/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Full Frame 8Mpixel Capture </td></tr>
</tbody></table>
<br />
<a name='more'></a><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Lattice MachXO3 FPGA Cypress FX3 Interrconnect Inter Connect PCB</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Camera module Directy connects to the FPGA Board and FPGA board Connects to Cypress FX3 FPGA board using this interconnect. There is not much in this PCB only few regulators for VCCIO</div>
<div style="text-align: justify;">
and length match 32bit 100Mhz bus for FPGA to FX3 Connection.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bank IO for LVDS mipi HS receiver should be set to 2.5V and for LP should be 1.2 . Lattice FPGA board does not have any 2.5V bank regulator so this mounting 2.5V regulator on this board will provide bank io voltage.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCPUXfIPOlJTaeJoVSvjTY5r8QM1CWZD5H5ATiVikWhHKLrhbljRHvP02Y2_EoIM994w3kITEfJeUTZcbcWnRZomyefLX6OAcJbGpU9W5YLd5rs4CAYavjFE_s3scplMVfhwEXGn1QXKbg/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25287%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCPUXfIPOlJTaeJoVSvjTY5r8QM1CWZD5H5ATiVikWhHKLrhbljRHvP02Y2_EoIM994w3kITEfJeUTZcbcWnRZomyefLX6OAcJbGpU9W5YLd5rs4CAYavjFE_s3scplMVfhwEXGn1QXKbg/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25287%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIEU8GX15y5FOTUZN6JkpZQIHbmicWcNUsc0fdHXpqiRuhvPNzrHo9S3y9DCAuuQN4t8CyyxpDw9tCB39dun2Ty7l9BPvwvrVBmH4X-sYOGxODLeLCwJaoK13TURyzs9re9f-k_UJhqJzP/s1600/Cypress+FX3+Lattice+MachXO3+FPGA.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1183" data-original-width="1460" height="518" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIEU8GX15y5FOTUZN6JkpZQIHbmicWcNUsc0fdHXpqiRuhvPNzrHo9S3y9DCAuuQN4t8CyyxpDw9tCB39dun2Ty7l9BPvwvrVBmH4X-sYOGxODLeLCwJaoK13TURyzs9re9f-k_UJhqJzP/s640/Cypress+FX3+Lattice+MachXO3+FPGA.png" width="640" /></a></div>
<br />
<table>
<tbody>
<tr>
<td><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheIFZMhnQwLTblZ1Kr37IDrmqKeU0EVBgl1bP4Ns9C0haqoACE9Vbw_xa7EQqqjMYyMddVntoTbBAFVzd8J-uN8t3iB0f3kLhrzlqloHO0YsMSj6RyqFWMacvdH033Yz2-SGyJ43nKYNxt/s1600/diy_im219_mipi_csi_camera_fpga_machxo3lf+%25284%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1207" data-original-width="1600" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheIFZMhnQwLTblZ1Kr37IDrmqKeU0EVBgl1bP4Ns9C0haqoACE9Vbw_xa7EQqqjMYyMddVntoTbBAFVzd8J-uN8t3iB0f3kLhrzlqloHO0YsMSj6RyqFWMacvdH033Yz2-SGyJ43nKYNxt/s320/diy_im219_mipi_csi_camera_fpga_machxo3lf+%25284%2529.JPG" width="320" /></a></div>
</td>
<td><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDZ3M8go4O22eisrp4O3_EzeMNc_-EZPzqXR6Y2udAdg1lfTkrdPkEQf29NsKP_yi-XEwB9oshyphenhyphenHmWyIe-Pm57VmDc7qjmF59TbokY4OQnDlTG4KsJ3iJWEEMLFV6HQW6d__36S4B0WtHu/s1600/diy_im219_mipi_csi_camera_fpga_machxo3lf+%25285%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1245" data-original-width="1600" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDZ3M8go4O22eisrp4O3_EzeMNc_-EZPzqXR6Y2udAdg1lfTkrdPkEQf29NsKP_yi-XEwB9oshyphenhyphenHmWyIe-Pm57VmDc7qjmF59TbokY4OQnDlTG4KsJ3iJWEEMLFV6HQW6d__36S4B0WtHu/s320/diy_im219_mipi_csi_camera_fpga_machxo3lf+%25285%2529.JPG" width="320" /></a></div>
</td>
</tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZOfvJRWTUC2ceq6wXF_6AfMOfxAMacin34SQytoYz6x9-UTwzSIba5dx84BqfrHUcBXjObNt7Qg3oK5vZNQjran_L-IGKj5HrcojtUufHGuLZxKSIi5c0B0O5eRixmBG4Z6Mco-veAfX_/s1600/MachXO3SarterKitTopView.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1482" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZOfvJRWTUC2ceq6wXF_6AfMOfxAMacin34SQytoYz6x9-UTwzSIba5dx84BqfrHUcBXjObNt7Qg3oK5vZNQjran_L-IGKj5HrcojtUufHGuLZxKSIi5c0B0O5eRixmBG4Z6Mco-veAfX_/s640/MachXO3SarterKitTopView.png" width="592" /></a></div>
<br /><b><br /></b>
<span style="font-family: "verdana"; font-size: 12px;"><br /></span>
<span style="font-family: "verdana"; font-size: 12px;">If used if my 4 Lane mipi csi-2 camera board version 1.1 1952, there is a bug in the interconnect PCB v1.1 2001, camera I2C sda and sck are interchanged, so if used with that specific camera PCB. interconnect board must be patched. You can see two thin blue wires coming out of the headers hole in one of images of back of the setup. Camera PCB is available on the camera page.</span><b><br /></b>
<b><br /></b>
<br />
<b><u><br /></u></b>
<b><u><br /></u></b>
<b><u>Camera Board</u></b><br />
<b><u><br /></u></b>
<br />
<b>Details of Camera Module are <a href="https://www.circuitvalley.com/2020/02/diy-imx219-4-lane-mipi-breakout-board-raspberry-pi-camera-fpga-4-lane-mipi-csi.html">published here in a previous post. </a></b><br />
<br />
<table>
<tbody>
<tr>
<td><div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2020/02/diy-imx219-4-lane-mipi-breakout-board-raspberry-pi-camera-fpga-4-lane-mipi-csi.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1189" data-original-width="1197" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuh-Gh3QVajV-jOPT05tUencR1kW2IM08UkgtGgxcr_4RHYw4kPyZkluvTd425cbhFT6imcOHonUTf0VF1EZZRKDb5BN-FZ2tUwatNr90cvMGR09oWnXB8domFiib33aKTXISa8ZPbUUfc/s320/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25288%2529.JPG" width="320" /></a></div>
</td>
<td><div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2020/02/diy-imx219-4-lane-mipi-breakout-board-raspberry-pi-camera-fpga-4-lane-mipi-csi.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1421" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifuqmkz_hMH6rpau23UDy0nCeBVKjnrYmxCFhL5gxA3c3GiHSkNoyxyXSz3RWXF4ahtR8OyF-WyszBLD4kMNOzpG9W_8WJ4kbAJPN0jIr3C9tz2oyqeRXVILvDwv5gzBj68zXEchfVkVJE/s320/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25283%2529.JPG" width="284" /></a></div>
</td>
</tr>
</tbody></table>
<b><u><br /></u></b>
<b>Blank IMX219 MIPI 4Lane Camera PCB is Available for purchase 9.99 EUR Free International Shipping. </b>
<div class="separator" style="clear: both; text-align: left;">
<b>Buy Blank PCB</b></div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="D4MDXXU2DQZLS" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" foal5ea50="" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" vbnb0t47a="" width="1" />
</form>
<b><u><br /></u></b><br />
<div style="text-align: justify;">
<b><u><b><u>MIPI</u></b></u></b></div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What is MIPI, you can google it to find out but basically it is a interface specification for Displays and Camera sensor to a application processor.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Image blow show block diagram of MIPI. On one side there is application processor and other side is the peripheral. When peripheral is Camera and CSI apply. though mipi is closed specification which means one has to be member of MIPI consortium to gain access to full specification. And membership of the consortium comes with a big price tag for individuals. Luckily full specification is already available just a right keyword web search away. DCS, CCS, DSI, CSI and DPHY all the specification are available with just few minutes of web search.</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4k9vnQq-2okuDNBQoh5bc2wBDfDzuSopTEm1idhEtZZ6rfLFQDtf3feXTb5vWcnPiMMBKa6Y7OfObiEAgl9zbXXg56RduxlRJJlPAFt_TFcLaWvTOZOCmpU34LD6xLU_8NTCGBtV4Gdx/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1027" data-original-width="1600" height="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4k9vnQq-2okuDNBQoh5bc2wBDfDzuSopTEm1idhEtZZ6rfLFQDtf3feXTb5vWcnPiMMBKa6Y7OfObiEAgl9zbXXg56RduxlRJJlPAFt_TFcLaWvTOZOCmpU34LD6xLU_8NTCGBtV4Gdx/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<div>
<b>DPHY</b></div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Basic transmitter only block diagram looks like in the image blow there is differential receiver for high speed data and two single ended LP receiver and CD receiver. </div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Control logic consist of lane management if more than one lane is used, detecting when HS is activated and also detecting when HS is activated and other control logic. Block diagram only show one lane, you will have minimum one clock signal and minimum one lane, though i have not seen any camera with less than two lanes. </div>
</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0NLjivqkXjr6qA7-BzFNdHqoEWhZwRyd3uiCe17wdR7UhtHTEa5B0xXHY7odsVnzuB1CMZYwmz6AlTcFON4O8IFcc9fegXO19idIyD9u4SqCZ0fmOhrStf4CjdD-18cZzA1139n3QkmjB/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25289%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="806" data-original-width="718" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0NLjivqkXjr6qA7-BzFNdHqoEWhZwRyd3uiCe17wdR7UhtHTEa5B0xXHY7odsVnzuB1CMZYwmz6AlTcFON4O8IFcc9fegXO19idIyD9u4SqCZ0fmOhrStf4CjdD-18cZzA1139n3QkmjB/s320/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25289%2529.JPG" width="285" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div>
<div>
<b>MIPI DPHY Signal</b></div>
<div>
<br /></div>
<div>
The image shows i got from google shows signal level for MIPI , HS driven by differential driver swings -200mV to +200mV at offset of 200mv. while LP signal is a 1.2V lvcmos </div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5GJmCqNbmAUwz2FkWkGHER9-QDQD8ij3iDlqMrZzYZeOhuePw46q1rTI0KvJr2L3mudcywgCJc3xGGglVL8Oz8MV40Qdm5MgyLzoSEJ_olbgI5BUOhGm9wztx4Ng9jb8YAdxWJ_932tbM/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="579" data-original-width="1600" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5GJmCqNbmAUwz2FkWkGHER9-QDQD8ij3iDlqMrZzYZeOhuePw46q1rTI0KvJr2L3mudcywgCJc3xGGglVL8Oz8MV40Qdm5MgyLzoSEJ_olbgI5BUOhGm9wztx4Ng9jb8YAdxWJ_932tbM/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
there are two different modes of transmission , HS mode and LP mode, HS mode is for hi speed display data while LP mode is for Low power transmission. </div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<div>
<div>
Receiver must detect when transmitter has gone into HS mode and exited HS mode.</div>
<div>
Image blow shows how transmitter enter HS modes. </div>
</div>
<div>
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUrlw2Ugh_TczfL7w_tDZ69A8w-isbmevDHAquVksWI9BNue0S4EFYWub2Jby4eWF_w28aVzToOcEa2k14vVTUwlFng0kEXm6OKaWmJ1JF5uNi-5mW_Nct1oE1z1TsN2xhmSiPs4AyUEH5/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUrlw2Ugh_TczfL7w_tDZ69A8w-isbmevDHAquVksWI9BNue0S4EFYWub2Jby4eWF_w28aVzToOcEa2k14vVTUwlFng0kEXm6OKaWmJ1JF5uNi-5mW_Nct1oE1z1TsN2xhmSiPs4AyUEH5/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" width="640" /></a></div>
<div>
<div>
<br /></div>
<div>
<div style="text-align: justify;">
Stage 0 : LP-11 state in the shown image is LP state.</div>
</div>
<div>
<div style="text-align: justify;">
Stage 1 : To get into HS mode driver drives LPdp low for Tlpx(minimum 50ns) and stay in LP-01 (HS driver is tristate in LP 01).</div>
</div>
<div>
<div style="text-align: justify;">
Stage 2: Driver drives LPdn low for Ths-prepare (minimum 95ns) stay in LP-00 , Later somewere in the middle of this stage target device will activate it's 100R termination register. </div>
</div>
<div>
<div style="text-align: justify;">
Stage 3: Now Target is in HS, driver activates HS driver start sending mandatory zeros .</div>
</div>
<div>
<div style="text-align: justify;">
Stage 4: Send mandatory 0xB8 sync byte and then payload.</div>
</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
<b>CSI</b></div>
</div>
<div>
<div style="text-align: justify;">
<b><br /></b></div>
</div>
<div>
<div>
<div style="text-align: justify;">
As explained earlier CSI , describes Packet structure. How exactly bytes are packed on to wire in different lanes configuration.</div>
</div>
<div>
<div style="text-align: justify;">
Image blow shows packet structure. </div>
</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglat-rko8XMLBtHLZZCeUwU6NAcszDh4kA1NLvzSVAI8P8ZMl4aJP5WQaQ4m6irI95O1z8hyphenhyphenWMy3A4EEFnMgxqhVRkInZGJ5E737gdSIJPGQ7DQM6KiCPaJhyphenhyphenfJ4-WQtIfk1A337INCWm-/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="287" data-original-width="1600" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglat-rko8XMLBtHLZZCeUwU6NAcszDh4kA1NLvzSVAI8P8ZMl4aJP5WQaQ4m6irI95O1z8hyphenhyphenWMy3A4EEFnMgxqhVRkInZGJ5E737gdSIJPGQ7DQM6KiCPaJhyphenhyphenfJ4-WQtIfk1A337INCWm-/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" width="640" /></a></div>
<div>
<div>
<br /></div>
<div>
There are Two types of Packets</div>
<div>
Short Packet: 4 Bytes (Fixed Length)</div>
<div>
Long Packet: 6 - 655541 Bytes (Variable Length)</div>
</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgurToJvLBfOwkXXAq2CasxEqbujIDVxBUb4_KNnyW78lFuGkJ-agl3AgQzYm8HVJ6GdrHauqXDI0R8mpSlX3cVSHTjWHVgB8tYXx5NVf8Vpu-XTexKGFqr_19TNVJxF1rQtBvftWoSJCXb/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1049" data-original-width="1600" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgurToJvLBfOwkXXAq2CasxEqbujIDVxBUb4_KNnyW78lFuGkJ-agl3AgQzYm8HVJ6GdrHauqXDI0R8mpSlX3cVSHTjWHVgB8tYXx5NVf8Vpu-XTexKGFqr_19TNVJxF1rQtBvftWoSJCXb/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI Short Packet Structure</td></tr>
</tbody></table>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQ778vBMgCzbXkH4KPhsQhgL9xDecHsVlpF7-qN5eoZfgTmdvmcnxg0nkDiGRrOd847QCJyzp83851kXeBescau2qNO53UC_gd2UgFCVgJsyB-3QGUX2oSA_ChIFCa5XKZU9nOF6o6_4K/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1083" data-original-width="1600" height="432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQ778vBMgCzbXkH4KPhsQhgL9xDecHsVlpF7-qN5eoZfgTmdvmcnxg0nkDiGRrOd847QCJyzp83851kXeBescau2qNO53UC_gd2UgFCVgJsyB-3QGUX2oSA_ChIFCa5XKZU9nOF6o6_4K/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI Long Packet Structure</td></tr>
</tbody></table>
<div>
<div>
Endianness</div>
<div>
<br /></div>
<div>
Bytes are sent lsbit first and bytes in the packet are sent LSByte first. </div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C1btL0PKVD0LLxaLHpO0RQOvfxQ7F2StmqFqfG8r6x4oxofJ5cpb4S9pWtQSZ6GHM_TK48N54dUsR5wehvIob4mjVUcz6yeaV7lpkC5HMF-O0Xy_lvxvD9yO850b4UuvjcBfRCqq-mO-/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="303" data-original-width="1600" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C1btL0PKVD0LLxaLHpO0RQOvfxQ7F2StmqFqfG8r6x4oxofJ5cpb4S9pWtQSZ6GHM_TK48N54dUsR5wehvIob4mjVUcz6yeaV7lpkC5HMF-O0Xy_lvxvD9yO850b4UuvjcBfRCqq-mO-/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<b>CCS</b></div>
<div>
<b><br /></b></div>
<div>
Very important fact with CCS when comparing with DCS , CCS describes command interface to be I2C while with DCS commands are set over same HS line as the data itself. </div>
<div>
But in case of camera as per MIPI spec CCS is implemented over a extra I2C line. </div>
<div>
<br /></div>
<div>
<b>CSI Single Frame</b></div>
<div>
<b><br /></b></div>
<div>
Single Frame from camera is show in the image blow. </div>
<div>
<br /></div>
<div>
Camera send a Frame start packet </div>
<div>
Then send embedded line information which tells receiver about the stream </div>
<div>
Then image data line by line. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXLt485HUzA1rolqD3tbmXj7F0lHjZVzd9osRPTRbpONM2rZ3utHig-mD3X1IBuuFJIe9dyM8JhdVRFvs9XYlnYfIt1tyw4Rq1enIcseliXLv_oAfrUkCXAP0ZoHFwQIA41cW7ufBYwl57/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%252810%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="705" data-original-width="1600" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXLt485HUzA1rolqD3tbmXj7F0lHjZVzd9osRPTRbpONM2rZ3utHig-mD3X1IBuuFJIe9dyM8JhdVRFvs9XYlnYfIt1tyw4Rq1enIcseliXLv_oAfrUkCXAP0ZoHFwQIA41cW7ufBYwl57/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%252810%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<b><br /></b>
<b>Test Video</b><br />
<b><br /></b>
<b><br /></b></div>
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/HxytsTGWODs" width="560"></iframe>
<br />
<div>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b>Scope Screenshots of Raspberry talking to IMX219</b></div>
<div>
<b><br /></b>
Image blow shows overall MIPI data coming from camera to raspberry pi. </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGUYoNVQM_ExCkFHABGvjhQRVeHiH8bzfjHgpzIsQ7zoXtqR7EAuyF5oRTG9cET9gyCuXpOvr-hOfGNnNEsrEoAwOgA4bk25FRb3Yr90tYu90BU9ZkUNXlW_q5tLjwECHKYpGrcsHm9dHS/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGUYoNVQM_ExCkFHABGvjhQRVeHiH8bzfjHgpzIsQ7zoXtqR7EAuyF5oRTG9cET9gyCuXpOvr-hOfGNnNEsrEoAwOgA4bk25FRb3Yr90tYu90BU9ZkUNXlW_q5tLjwECHKYpGrcsHm9dHS/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Streaming 1920x1080 @30FPS</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPJCIqcAPeSSFpFEt7Az_Uh197XF0nAOc0z4UKeYoAgeCbAphiVBNVuEgqh4Hz17cohDwHDPgpJ5Dg_dfQxsyhHF2V_ahriDrE1F-eUdULUM8vGa0dDG7QArKuTEp7tByp5s_uAy1WJsL/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoPJCIqcAPeSSFpFEt7Az_Uh197XF0nAOc0z4UKeYoAgeCbAphiVBNVuEgqh4Hz17cohDwHDPgpJ5Dg_dfQxsyhHF2V_ahriDrE1F-eUdULUM8vGa0dDG7QArKuTEp7tByp5s_uAy1WJsL/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Streaming 1920x1080 @30FPS Start of a frame</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mEyEWAX4eLDeaqXBCkpW-Tzbt2UkRwcSZYcNXD5U6QQwXHY76Th6Pmu0ZyBzKttgfX4NMOUGtmYNM2pER9BuE6W558q2uILusrLhHpeiiIz3eKIl40AHKyI2Kg46CRfVpvvlrNSE9och/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame_fs_embedded_line_info_first_line.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mEyEWAX4eLDeaqXBCkpW-Tzbt2UkRwcSZYcNXD5U6QQwXHY76Th6Pmu0ZyBzKttgfX4NMOUGtmYNM2pER9BuE6W558q2uILusrLhHpeiiIz3eKIl40AHKyI2Kg46CRfVpvvlrNSE9och/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame_fs_embedded_line_info_first_line.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Streaming 1920x1080 @30FPS Embedded line info and first camera line</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHJFKbAxDEVHKHDwCU7NdUQk0a8pyLKJ1FdgvV-uY0zIyUWDPRd2M74c5YXy7sBsmPe4RWD6Da3-a3kOm_sFWrU6CqeXD0rCQ-fBToXsi0OF9WrLjNNx8isuzZXwoSMPmSsEa5N0y2Oe3B/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame_fs_embedded_line_info_first_line_zoom.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHJFKbAxDEVHKHDwCU7NdUQk0a8pyLKJ1FdgvV-uY0zIyUWDPRd2M74c5YXy7sBsmPe4RWD6Da3-a3kOm_sFWrU6CqeXD0rCQ-fBToXsi0OF9WrLjNNx8isuzZXwoSMPmSsEa5N0y2Oe3B/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame_fs_embedded_line_info_first_line_zoom.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Streaming 1920x1080 @30FPS embedded line in start of frame</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
Lattice MachXO3 FPGA Decoded in 4 Lane mode.</div>
<div>
CH3 DP CH2 DN CH1 CLKP , Bus decode of first lane shows packet type 0x2B (RAW10) data type.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLM4JMIBCYMirRGWHrX-7A68ZcpCXoGGd6crjLah2FRW1TTsjK4f1EatbJWXG_wgMuZNvPvHODuPUZW3l1Qk_9LdI7ITGZvGJZu6adkujF348kGLlLoQ6mEt6GBQkGMzpIKPPSf0YhNpAI/s1600/image+%25283%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLM4JMIBCYMirRGWHrX-7A68ZcpCXoGGd6crjLah2FRW1TTsjK4f1EatbJWXG_wgMuZNvPvHODuPUZW3l1Qk_9LdI7ITGZvGJZu6adkujF348kGLlLoQ6mEt6GBQkGMzpIKPPSf0YhNpAI/s640/image+%25283%2529.png" width="640" /></a></div>
<b><br /></b>
<br />
<div style="text-align: justify;">
<b><b>What make this camera sensor different to camera modules</b></b></div>
<br />
<br />
<div style="text-align: justify;">
<span style="font-weight: 700;"><br /></span></div>
<div style="text-align: justify;">
IMX219 camera is bare bone camera sensor. What do means when i say bare bone camera sensor is , there not much image processing going on on the camera die it self. Camera sensor is Sensor array with Bayer filter on it , 10 bit ADC , clock system , MIPI output driver and I2C controllable system control.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What does this means for us as camera sensor implementer. As my final goal is to interface this camera to USB3.0 UVC with RAW YUV. This camera does not output YUV, forget about YUV this will not even output RGB. Camera output is absolute RAW 10-bit ADC conversion result from the Bayer filtered sensor array.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
So go first get RGB output from bayer raw data, a Debayer or demosaic need to be performed. Once demosaic is done we will have RGB ready to be converted to YUV. And one we have YUV it can be transmitted to USB to be displayed.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What next this camera will not have is any automatic control over exposure. because camera does not have any intelligence to know how dark or bright scene is. Solution to this problem what raspberry pi implement is , Raspberry Pi regularly on each frame update analog gain register over I2C to adjust gain according to how bright and dark scene is.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This camera does not have any white balance control as well so host must do correct while balance compensations. To get correct colors out of image.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><u>FPGA module Block Diagram </u></b></div>
<br />
<div style="text-align: justify;">
<span style="font-weight: 700; text-decoration-line: underline;"><br /></span></div>
<div style="text-align: justify;">
FPGA block diagram is show in the image blow. This diagram describe how overall system is implemented and what the key components what this diagram does not describe is control signals and other miscellaneous stuff.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; text-align: center; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_WLdiboGA6Iq-y3mPq-QGdSwaaoeBYw3zQtNCrmgaF13WMsBfMdxHDsMvWc5XzeAsohpdNN4B5bA6fSw9aqwOnz6brq35Ivtvj_usl9IUrgUuMlnr2yHoOMjSKA8KrE4JShsrfChtcTl/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25288%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="1600" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ_WLdiboGA6Iq-y3mPq-QGdSwaaoeBYw3zQtNCrmgaF13WMsBfMdxHDsMvWc5XzeAsohpdNN4B5bA6fSw9aqwOnz6brq35Ivtvj_usl9IUrgUuMlnr2yHoOMjSKA8KrE4JShsrfChtcTl/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_raspberry_pi_camera+%25288%2529.JPG" width="640" /></a></div>
<div class="separator" style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; text-align: center; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmHm9AvpJYrBeAlV60Ed4eEc1z9tcbkPtQ3wq0RVCpIRTWG8MxOTZw44Myrek77PK7OrSNz-dcHBhiI9nnQ1kiq5PrST8ChTtOJvXSRml4v8ZnGM5Bm3RJUiQJ2zkLnbvS8ssyC-KHQeV/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps43.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="479" data-original-width="1600" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmHm9AvpJYrBeAlV60Ed4eEc1z9tcbkPtQ3wq0RVCpIRTWG8MxOTZw44Myrek77PK7OrSNz-dcHBhiI9nnQ1kiq5PrST8ChTtOJvXSRml4v8ZnGM5Bm3RJUiQJ2zkLnbvS8ssyC-KHQeV/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps43.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;">Byte Aligner</b><span style="color: black; font-family: "times new roman"; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px;"> </span>Received Raw unaligned bits from DDR RX module outputs Aligned bytes, Bytes on MIPI lane does not have any defined byte boundary so this modules Looks for always constant first byte 0xB8 on wire, once 0xB8 is found, byte boundary offset is determined, set output valid to active and start outputting correct bytes stays reset when data lane are in MIPI LP state </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Lane Aligner </b>Receives multiple lane, byte aligned data from mipi rx byte aligner @mipi byte clock outputs lane aligned data in a multi-lane mipi bus, data on different lane may appear at different offset so this module will wait till of the all lanes have valid output start outputting lane aligned data so byte x from all the lanes outputted at same timescale</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>MIPI CSI Packet Decoder </b>Basically a packet Stripper, removes header and footer from packet Takes lane aligned data from lane aligner @ mipi byte clock looks for specific packet type, in this case RAW10bit ( 0x2B). Module outputs Stripped bytes in exactly the way they were received. This module also fetch packet length and output_valid is active as long as input data is valid and received number of bytes is still within the limits of packet length.</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>MIPI CSI RAW10 Depacker </b>Receives 4 lane raw mipi bytes from packet decoder, rearrange bytes to output 4 pixel 10bit each output is one clock cycle delayed, because the way , MIPI RAW10 is packed output come in group of 5x40bit chunk, output_valid_o remains active only while 20 pixel chunk is outputted</div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Debayer / demosaic </b>Takes 4x10bit pixel from RAW10 depacker module @mipi byte clock output 4x24bit RGB for each pixel , output is delayed by 2 lines Implement Basic Debayer filter, As debayer need pixel infrom neighboring pixel which may be on next or previous display line, so input data is written onto RAM, only 4 lines are stored in RAM at one time and only three of the readable at any give time , RAM to which data is written to can not be read. As we have enough info in RAM 4 10bit pixel will be coverted to 4x24bit RGB output First line is expected to BGBG , second line GRGR Basically BGGR format </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>RGB to YUV Color Space Converter </b>Received 4 pixel 120bit RGB from the Debayer filter output 64bit 4pixel yuv422 Calculation is done based on integer YUV formula from the YUV wiki page </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Output reformatter </b>Takes 64bit 4pixel yuv input from rgb2yuv module @ mipi byte clock outputs 32bit 2pixel yuv output @output_clk_i , output_clk_i must be generated by same way as mipi byte clock, output_clk_i must be exactly double to mipi byteclock This implementation of Output reformatter outputs data which which meant to send out of the system to a 32bit receiver depending on requirement this will be need to be adapted as per the receiver </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<b>Debayer / </b><b>demosaic </b>Need little more attention than other modules , IMX219 datasheet incorrectly mention output as to be either GBRG or RGGB. </div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; text-align: justify; text-indent: 0px;">
But after wasting lots of time it turned out camera output BGGR . IMX219 Camera only output BGGR as defined by the IMX219 Driver in linux repo MEDIA_BUS_FMT_SBGGR10_1X10, Camera datasheet incrorrectly defines output as RGGB and GBRG. Data sheet is incorrect in this case.</div>
<div class="separator" style="clear: both; text-align: justify;">
To test my debayer i was using built in camera test patterns. One key thing about IMX219 is Bayer filter type does affect test pattern as well. It seems like in Test pattern mode it outputs RGGB instead of BGGR. Test pattern will have R and B channel inverted when image have right color.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Update: I have discussed this issue with raspberry pi , It turned out flipping image seems to be the solution, once image flipped bayer output it correct for both data from sensor and test pattern. because flipping image does not affect bayer order of the test pattern.</div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3zYUH3IdbGdGJcrDrJdTBkXEL1qKUDgfUiz_tG3S-gIXEgDgHZHbZnAaeM2kMFlkTIGf085NmLE9G0Kv8cFchDimkrppLEwcBoICJYAz7N1JVgYCQNm3CPjOtEZbzm-SY6H_q8RgtlQ4/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="276" data-original-width="969" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3zYUH3IdbGdGJcrDrJdTBkXEL1qKUDgfUiz_tG3S-gIXEgDgHZHbZnAaeM2kMFlkTIGf085NmLE9G0Kv8cFchDimkrppLEwcBoICJYAz7N1JVgYCQNm3CPjOtEZbzm-SY6H_q8RgtlQ4/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps4.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b>RAW10 Packet Format</b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVwQCJ6BvfDSNEbW4BPUAODxuRE19qzeZLjWiDB6GYhWek4Zgwr54iwevav8jsJ1FH2Xp8AMdbzgpHQRTCPPNHr_ma5PDTuVw7ufihDQyg8BsRxTb9AdhXOk06SbRFYh_5nZdzqTbXxzO3/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="1600" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVwQCJ6BvfDSNEbW4BPUAODxuRE19qzeZLjWiDB6GYhWek4Zgwr54iwevav8jsJ1FH2Xp8AMdbzgpHQRTCPPNHr_ma5PDTuVw7ufihDQyg8BsRxTb9AdhXOk06SbRFYh_5nZdzqTbXxzO3/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps_start_of_frame4.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b><br /></b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b>Streaming Camera Test patters , Compared with Camera datasheet </b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEief_LX7zMkuBuWRU1wWaSb6S_R7C9y7WBMWjy5aw7BHYVkqWlopmIEwYNayeOwm8GhaYH9FOVTK8okrwgztCEDszyTPub-8MEGoTXP0HsYE6i5QWNJGKU2rusvmQEfGSyKF-Parwf4gSza/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEief_LX7zMkuBuWRU1wWaSb6S_R7C9y7WBMWjy5aw7BHYVkqWlopmIEwYNayeOwm8GhaYH9FOVTK8okrwgztCEDszyTPub-8MEGoTXP0HsYE6i5QWNJGKU2rusvmQEfGSyKF-Parwf4gSza/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps2.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjksrRzNhx1adNgr4h97BxyDRAoHlUkcCZVzPS2KwZGKyEh_WX53un5t1SEEwQ7R9HEp_fk72KPC1y9ZMzEqDnE4kvlSieNtBi5QnBNap7PknA1nK4zp6jbi32nrxBL4pqeKlL0JE827qFh/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="525" data-original-width="1600" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjksrRzNhx1adNgr4h97BxyDRAoHlUkcCZVzPS2KwZGKyEh_WX53un5t1SEEwQ7R9HEp_fk72KPC1y9ZMzEqDnE4kvlSieNtBi5QnBNap7PknA1nK4zp6jbi32nrxBL4pqeKlL0JE827qFh/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf-raspberry_frames_1080p_30fps3.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<br /></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b>Test image </b></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8dHCnxh3-44u7WYa-csrrTTQUOS9jcIO3TBZ9yV5aqRBgKKxCgQ9hUUX2Fv2-stt8UOrQBfwOgDwp6QYDZITxLIhxQgtujziB9Z360S3dGZzK3Avg9THisVM1Qv9t8pTVI0c49ab8kSlE/s1600/Picture+2020-02-13+18-48-13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="718" data-original-width="1280" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8dHCnxh3-44u7WYa-csrrTTQUOS9jcIO3TBZ9yV5aqRBgKKxCgQ9hUUX2Fv2-stt8UOrQBfwOgDwp6QYDZITxLIhxQgtujziB9Z360S3dGZzK3Avg9THisVM1Qv9t8pTVI0c49ab8kSlE/s640/Picture+2020-02-13+18-48-13.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe3MSaevGg_F-ttvtRagsGup4vkh2ITG5KYm9H7QS2QCbsyBburVv1q4yIr2SgWqYLhLoXxuO8XtdSk7Pf1awQqkWjSXTHXT84B_rDS55uDBjgRB0PVY7K0aKCvKbuhM1oQoO9dCxzJ3OE/s1600/Picture+2020-02-16+15-25-17.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="718" data-original-width="1280" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe3MSaevGg_F-ttvtRagsGup4vkh2ITG5KYm9H7QS2QCbsyBburVv1q4yIr2SgWqYLhLoXxuO8XtdSk7Pf1awQqkWjSXTHXT84B_rDS55uDBjgRB0PVY7K0aKCvKbuhM1oQoO9dCxzJ3OE/s640/Picture+2020-02-16+15-25-17.png" width="640" /></a></div>
<div class="separator" style="clear: both; margin: 0px; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; widows: 2;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b><u><br /></u></b>
<br />
<div style="text-align: justify;">
<b><u><b><u>Cypress FX3 Firmware</u></b></u></b></div>
<br />
<br />
<div style="text-align: justify;">
<span style="text-decoration-line: underline;"><br /></span></div>
<div style="text-align: justify;">
Firmware implementation with FX3 was quite easy. I have put all the resolution and framerate in the USB descriptor , As described earlier this type of camera sensors are quite bare bone all the have sensor element, PLLs and ADC . So this camera sensor does not have any control over exposure, White-balance or even brightness, I have implemented manual control over USB UVC control channel. it possible to completely control camera exposure and brightness.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Few things you keep in mind, cypress fx3 clock frequency need to be set in 400Mhz mode to allow full 100Mhz 32bit GPIF DMA transfer.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
One more thing is though Cypress CYUSB3014 has 512KB RAM but only 224 KB and additional 32KB is available for DMA buffer.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Having large buffer chunk is really important because on every DMA chunk cpu intervention is expected to insert UVC header. As this is high performance application less often cpu intervention is needed is better. So i have set DMA chunk / UVC individual packet to 32KB</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Scope capture Image blow shows Channel 13 is the individual DMA packet capture and on Channel 12 show CPU DMA finish interrupt.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
These Two scope capture show difference between 16KB DMA vs 32KB DMA</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoEgsm4D42LB97J6QuUdYksVinhN-yG-ULuIgZPliadVA1_bBMAacrTF178j0HpNfZVd710VXqyFiMuJSoxrsxlsgKGVGOVVpwMmdjy8-ToSZzkVPk36vQVgee98tFhs4-wqEvcjLTy_9/s1600/image+%25281%2529.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfoEgsm4D42LB97J6QuUdYksVinhN-yG-ULuIgZPliadVA1_bBMAacrTF178j0HpNfZVd710VXqyFiMuJSoxrsxlsgKGVGOVVpwMmdjy8-ToSZzkVPk36vQVgee98tFhs4-wqEvcjLTy_9/s640/image+%25281%2529.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">16KB DMA Size, CH13 DMA packet , CH12 CPU interrupt</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhflizfDp056tneSWsy5A6RYzkQkxxfn-ShnvGUOqNxKxpQuzc-8sDZliuFhYSOsjYOUwLvD8AOvgvKdL7tegxsGwnuiNprELDYZGYY5a1AM1nxsnHdjFPi3QcAmEpCJap24DyQn-2W7bUV/s1600/image.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhflizfDp056tneSWsy5A6RYzkQkxxfn-ShnvGUOqNxKxpQuzc-8sDZliuFhYSOsjYOUwLvD8AOvgvKdL7tegxsGwnuiNprELDYZGYY5a1AM1nxsnHdjFPi3QcAmEpCJap24DyQn-2W7bUV/s640/image.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">32KB DMA Size, CH13 DMA packet , CH12 CPU interrupt</td></tr>
</tbody></table>
<br />
<b><u>Tests </u></b><br />
<b><u><br /></u></b>
Currently i have made Cypress FX3 firmware to Support<br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">3280x2464 15FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">1920x1080 60FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">1920x1080 30FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">1280x720 120FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">1280x720 60FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">1280x720 30FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">640x480 200FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">640x480 30FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">640x128 682FPS</span><br />
<span face=", "blinkmacsystemfont" , "segoe ui" , "helvetica" , "arial" , sans-serif , "apple color emoji" , "segoe ui emoji"" style="background-color: white; color: #24292e; font-size: 16px;">640x80 1000FPS</span><br />
<b><u><br /></u></b>
UVC is implemented to support on the fly switching to any listed frame rate and resolution.<br />
<br />
<b>Video Quality Test Video</b><br />
<b><br /></b>
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/uRaHXo-Zu90" width="560"></iframe>
<b><br /></b>
<br />
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b>Full Frame 8Mpixel Capture @ 15FPS</b><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvAjNJ-hpIK50gQ5qwIUxCfzDorI7l9ct1bl7nmtXGCHiqbl_o_9J2QevE_2xLEA-1htUyQHvHFdfG7fmfhQ2ILpylIkY7MzUqk1mdZx82qzj6Qr5oo67QER3YG5-OmxYm-G5A2X7Qf2y/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1201" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvAjNJ-hpIK50gQ5qwIUxCfzDorI7l9ct1bl7nmtXGCHiqbl_o_9J2QevE_2xLEA-1htUyQHvHFdfG7fmfhQ2ILpylIkY7MzUqk1mdZx82qzj6Qr5oo67QER3YG5-OmxYm-G5A2X7Qf2y/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<b>1920x1080 @ 60 FPS</b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBHb8y8slqQ2NsZZTa4Kr7Ppn5XcfLQhQNDRuFkN25OFpBItbAdXLiFuG6Oag1r6FyyWYDqHFyVAwpsHYfZiGzOy_YT9cUTt8Hykz_h9EGWtw6YTJiYPU6xOYxfwdwULGh4LEqTiogZyDv/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS+2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBHb8y8slqQ2NsZZTa4Kr7Ppn5XcfLQhQNDRuFkN25OFpBItbAdXLiFuG6Oag1r6FyyWYDqHFyVAwpsHYfZiGzOy_YT9cUTt8Hykz_h9EGWtw6YTJiYPU6xOYxfwdwULGh4LEqTiogZyDv/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS+2.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>1280x720 @ 120FPS</b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSlm0sGPajSXO9bhaEjnhFGbMU2oRL9j-fh52lYymoWdeuz5gna6ED0VeF6plR3faEuHQMZCCwLdTLcjmEs3h6dQq9ix9KKNLj1fKCtJQLbbH5qKW1upw2JwKRoi4IBQIEBxL0Cd8CkjIk/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS2+.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSlm0sGPajSXO9bhaEjnhFGbMU2oRL9j-fh52lYymoWdeuz5gna6ED0VeF6plR3faEuHQMZCCwLdTLcjmEs3h6dQq9ix9KKNLj1fKCtJQLbbH5qKW1upw2JwKRoi4IBQIEBxL0Cd8CkjIk/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS2+.png" width="640" /></a></div>
<br />
<br />
<b>640x480 200FPS 2x Binning</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEANy76LaLXcq2F-f0QP7Vmv_HVx_g5p6kYGKYFwd5m7mSlY1ljCtUt0FfhD2Ugjh01IAqhS0YBHwFueng9x38SLRvmapVJnPZH4AQXm2dpFgkqtr-Nh-d-HFH2kC0dvQSyzIJa5bJf9fh/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS3+.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEANy76LaLXcq2F-f0QP7Vmv_HVx_g5p6kYGKYFwd5m7mSlY1ljCtUt0FfhD2Ugjh01IAqhS0YBHwFueng9x38SLRvmapVJnPZH4AQXm2dpFgkqtr-Nh-d-HFH2kC0dvQSyzIJa5bJf9fh/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS3+.png" width="640" /></a></div>
<br />
<b>640x126 @ 682 FPS 2x binning</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV0Pw6wbgnzJebFs9nogRADy_eI0fYd9MxLO2vnSsbXb48E9oLctRYkRnIiYnMUuf5iitvXVt5daXqtSDsiGhA7blyWmuGirCprNG2c0HpCxFKjdvTqW1O2UWgWI1ktxjPLlitUNPWy4yL/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS5+.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="126" data-original-width="640" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV0Pw6wbgnzJebFs9nogRADy_eI0fYd9MxLO2vnSsbXb48E9oLctRYkRnIiYnMUuf5iitvXVt5daXqtSDsiGhA7blyWmuGirCprNG2c0HpCxFKjdvTqW1O2UWgWI1ktxjPLlitUNPWy4yL/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS5+.png" width="640" /></a></div>
<br />
<b>640x78 @ 1000 FPS 2x binning</b><br />
<div>
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRPiaxAVjzBjbZGxJpH2gF1MnMNJVsPBxz3FHUKJRqfFqbJx3e6UH41ExktFoWwfpGUFUzewIm54l7PwbIHuJfjVLyNm7Eg5-MG12pEgvSTx8-eJgc6Jj63qZUNsveA5TSIuL0OEbiDd3W/s1600/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS6+.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="78" data-original-width="640" height="78" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRPiaxAVjzBjbZGxJpH2gF1MnMNJVsPBxz3FHUKJRqfFqbJx3e6UH41ExktFoWwfpGUFUzewIm54l7PwbIHuJfjVLyNm7Eg5-MG12pEgvSTx8-eJgc6Jj63qZUNsveA5TSIuL0OEbiDd3W/s640/diy_imx219_mipi_csi_camera_fpga_machxo3lf_verilog_vdhl_mipi_camera_USB_UVC_1000FPS6+.png" width="640" /></a></div>
<div>
<b><br /></b></div>
<b><u><br /></u></b>
<b><u>Further Performance Optimization</u></b><br />
<b><u><br /></u></b>
Lowest hanging fruit for optimization is output refromatter module in FPGA Right now FPGA YUV output is running at full 100Mhz ( which is driven by 200Mhz mipi clock /2 ) but output is fragmented and does not take full advantage of 100Mhz FX3 bus. If i would make a FIFO in reformatter we can de-couple MIPI clock and FPGA output. which make possible to run MIPI clock faster than 200Mhz. Wich ultimately makes it possible to get even faster frame rate, i have seen frame rate @ 640×80 to upto 1500 FPS when i ran MIPI clock faster form 270 to 320Mhz. Hardware in the current state may hinder reaching high MIPI frequency. May need to have custom FPGA board with correctly terminated CSI lanes.<br />
<br />
Second optimization would be again in same reformatter but little complicated. buffer a lot more data and utilze 100 % of 32bit FX3 Bus. In theory one can utlize some other USB controller and get all bandwidth what USB 3.0 allow.<br />
<br />
Next part of this project is going to Next Raspberry Pi camera IMX477 Camera to FPGA.<br />
<b><u></u></b>
<b><u>Source Files</u></b><br />
<b><br /></b><b>PCB and Schematic Source is available in the <a href="https://github.com/circuitvalley/mipi_csi_receiver_FPGA">Github Repo</a>. </b><br />
<b><br /></b><a href="https://github.com/circuitvalley/mipi_csi_receiver_FPGA">https://github.com/circuitvalley/mipi_csi_receiver_FPGA</a></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com22Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-87465794986959840882020-02-15T15:40:00.002+01:002020-04-02T21:33:26.128+02:00DIY IMX219 4 Lane MIPI CSI Breakout Board, Getting MIPI CSI 4 Lane From Raspberry PI Camera I have published many post in which i have been interfacing various cameras sensors/modules to different processors. This post is also going to the next part the previous posts.<br />
<br />
Currently i am trying to interface Raspberry pi camera V2.1 sony IMX219 Camera to Lattice FPGA then ultimately to USB 3.0 with Cypress FX3 USB 3.0 controller.<br />
<br />
As per schematic of Raspberry pi and Raspberry PI Camera module. It is two lane MIPI CSI Camera Board with 1 Clock and <span style="text-align: center;">2 MIPI CSI data lane. </span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA9GXsCfQa5MC7FEI0gtNsiIYJ-B670s39MZi8Rm8w0ZoJ0Zosu3oqkwdWL1jGPcOAl-7MOiIfYObeeAk-0WK5QIS2Efd0122wqzOL0Zr2g_2_7B998QRULX0keFDLyBNc8SWzHW7YfTK5/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA9GXsCfQa5MC7FEI0gtNsiIYJ-B670s39MZi8Rm8w0ZoJ0Zosu3oqkwdWL1jGPcOAl-7MOiIfYObeeAk-0WK5QIS2Efd0122wqzOL0Zr2g_2_7B998QRULX0keFDLyBNc8SWzHW7YfTK5/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25281%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrik0Sfpv0Tf8xnWuVQfPKe2ooCaKF5Ciij3hN4cniX_hcjWSSyyiSY1vPnS6vkcih-YFirhpqMk2NaHQplIFVL5BNGWGNBLBiddQVaTlzOdPSjdJ79BqLKvBruP1dI7SwTrp8FnZZOxp-/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="713" data-original-width="1600" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrik0Sfpv0Tf8xnWuVQfPKe2ooCaKF5Ciij3hN4cniX_hcjWSSyyiSY1vPnS6vkcih-YFirhpqMk2NaHQplIFVL5BNGWGNBLBiddQVaTlzOdPSjdJ79BqLKvBruP1dI7SwTrp8FnZZOxp-/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIQVrHDd1rWwTYF7X1eoqhr3BtEcxG9xd8Woo7pbcYzCYFivW509NOqLDNKKA1EMdCdyeq58II9iGO7ZyTY2bcBW1Yte7uC_H37Qp_MJ09lEBAe2mRo4fMCZxpRCNh2eowkVyL7q6y5rMc/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1189" data-original-width="1197" height="634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIQVrHDd1rWwTYF7X1eoqhr3BtEcxG9xd8Woo7pbcYzCYFivW509NOqLDNKKA1EMdCdyeq58II9iGO7ZyTY2bcBW1Yte7uC_H37Qp_MJ09lEBAe2mRo4fMCZxpRCNh2eowkVyL7q6y5rMc/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioAFWL3y7Lq1KpB6eM9dtKJ6cwnQdJUn3XUq6G2DUcem_c8IYLcpnl9PX2JdrCe_VSA8D6DSg1u3M55QmEgzVquYuLec0iRuYmX-y9aRzKfUFQvT-teuVidIYENQRIjFIh8FE7oWgBCC4u/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1421" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioAFWL3y7Lq1KpB6eM9dtKJ6cwnQdJUn3XUq6G2DUcem_c8IYLcpnl9PX2JdrCe_VSA8D6DSg1u3M55QmEgzVquYuLec0iRuYmX-y9aRzKfUFQvT-teuVidIYENQRIjFIh8FE7oWgBCC4u/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25283%2529.JPG" width="568" /></a></div>
<br />
<br />
<a name='more'></a><br />
<br />
As my aim is to connect Raspberry pi V2.1 camera board to Lattice Machxo3LF FPGA. I searched for datasheet of the camera chip Sony IMX219 and found that IMX219 support 4 and 2 Lane MIPI CSI. Datasheet also mentions 755Mbps/Lane in 4 Lane mode and 912 Mbps/Lane in 2 Lane mode.<br />
To get maximum performance out of the camera 4 Lane interface appears to be correct way.<br />
<br />
But original Raspberry camera module is only 2 data lanes. But when i look at the schematic of the camera module it had few pins empty and that is in two pairs surrounded by ground . It got me thinking that these empty are 3rd and 4th MIPI data lane.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbIS5NCq5iaUF9z4Y7g6sOW_7m33wGa_2sA-fKniR6olfPe5wKcOiqtPIdvFvaU_Kcf73OgSaUr3_TriwiffL15UhRDAs7tfxeTyNqCrxO4ojw4245lXBC14IWG8OnQHEeVUA_6D7XFlah/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252811%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="802" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbIS5NCq5iaUF9z4Y7g6sOW_7m33wGa_2sA-fKniR6olfPe5wKcOiqtPIdvFvaU_Kcf73OgSaUr3_TriwiffL15UhRDAs7tfxeTyNqCrxO4ojw4245lXBC14IWG8OnQHEeVUA_6D7XFlah/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252811%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Raspberry PI Camera module's connector</td></tr>
</tbody></table>
So i quickly made modifications to the camera board mounted a 24 Pin FPC connector and modified IMX219 Linux kernel driver just to write register 0x0114 to enable all 4 lanes of MIPI CSI.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsybAyddx9xHzgPE9OLPKK6GYdVvEue20q1MJeN_EoiXcfVd36kYsWmRMWWhz97TTFgNCP72U7NjvKJmIOKkThhdsXL_UyJzILzq_O5cqSuhxCnKPZeeM9rDEV0t8iKI5JdH9544Vr5zz/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25281%2529.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsybAyddx9xHzgPE9OLPKK6GYdVvEue20q1MJeN_EoiXcfVd36kYsWmRMWWhz97TTFgNCP72U7NjvKJmIOKkThhdsXL_UyJzILzq_O5cqSuhxCnKPZeeM9rDEV0t8iKI5JdH9544Vr5zz/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25281%2529.JPG" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYG8pIJuvRLcKU7PzLKQpZPsNJYO2k9s-JblQ2x3MC2YBhuxzToP3hXITL7oxZqWiZwkga9Sy0Q0acRagReqvvjjP_ITzHKMR30QOwz8X7L5hFXZKVnWzpdOgZM1x4t-Hsc_4ytc16BFRP/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1141" data-original-width="1600" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYG8pIJuvRLcKU7PzLKQpZPsNJYO2k9s-JblQ2x3MC2YBhuxzToP3hXITL7oxZqWiZwkga9Sy0Q0acRagReqvvjjP_ITzHKMR30QOwz8X7L5hFXZKVnWzpdOgZM1x4t-Hsc_4ytc16BFRP/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25282%2529.JPG" width="640" /></a></div>
<br />
As it turn out yes those 4 pins were actually other two MIPI CSI data lanes.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNM0yQ8ZQTzEKK6EhuG3iu00ADAHwPZhr2a_tDH-HaU6SIJt1UUDleqNERFOTLswf-zN5T6Py3Pr7dXMH-dmX6x-eZOuHBknCnCai9kJYnhGDHUoeLXCOdRPoCZKup2zAEmY8P-4aJSDoQ/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252812%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1136" height="544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNM0yQ8ZQTzEKK6EhuG3iu00ADAHwPZhr2a_tDH-HaU6SIJt1UUDleqNERFOTLswf-zN5T6Py3Pr7dXMH-dmX6x-eZOuHBknCnCai9kJYnhGDHUoeLXCOdRPoCZKup2zAEmY8P-4aJSDoQ/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252812%2529.JPG" width="640" /></a></div>
<br />
So i made setup shown in the image blow to interface this to a Lattice MachXO3LF FPGA.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5AS-3cddLEhDi0v4uedSCvxLHp4_Fm1ITGblCAGOHk9T-LQKSaG0OKF6FTm1Jw53cUDiXowcouwSPQatl9YdN_XTpLp3_n7z8UQcmn2gnOkW_eSRHCqQx95mSmSSzrIG0ITw5HrZJGGv/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25286%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="922" data-original-width="1600" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY5AS-3cddLEhDi0v4uedSCvxLHp4_Fm1ITGblCAGOHk9T-LQKSaG0OKF6FTm1Jw53cUDiXowcouwSPQatl9YdN_XTpLp3_n7z8UQcmn2gnOkW_eSRHCqQx95mSmSSzrIG0ITw5HrZJGGv/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25286%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Failed First Attempt to interface IMX219 to Lattice MachXO3</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
But it turned out the setup on cheap PCB , no impedance control no proper termination and large headers on FPGA and Breakout board had made 200 Mhz to 350 Mhz mipi signal unusable.<br />
Signal quality was too poor with this setup i did many test and only very low frequency mipi signal was functional. <br />
So i finally made my own IMX219 Camera module.<br />
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/GFmE3KYa5zs" width="560"></iframe>
<br />
<b><u>PCB</u></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFZTlwDktbQdBwaBh-qxUbd2SwiTqL94d7i6yA3exlMXw2En_IdjQD8rgZFG2T3FU2XvGlsw1ZeYFOxG3B-x-HaT9_fSaoD1MIIWxkniAvSqcTf3eR2pJWgumL-Ae0yUpqq_EL1IlTdNix/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1038" data-original-width="1054" height="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFZTlwDktbQdBwaBh-qxUbd2SwiTqL94d7i6yA3exlMXw2En_IdjQD8rgZFG2T3FU2XvGlsw1ZeYFOxG3B-x-HaT9_fSaoD1MIIWxkniAvSqcTf3eR2pJWgumL-Ae0yUpqq_EL1IlTdNix/s400/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25289%2529.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPvrJUa-wNrHkKgUQ3iMutXx_nMtiSjbmuIAY2q1ar288_8jwEhl-IWXYq2zUAg5g-oZKLH0vf8S4hGFxOMDBkEdS0-3jpgYh-F8YyTiYppXs2QsbFC1xIjzSBUOW_fr2CaLsrDvyEykvT/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1189" data-original-width="1197" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPvrJUa-wNrHkKgUQ3iMutXx_nMtiSjbmuIAY2q1ar288_8jwEhl-IWXYq2zUAg5g-oZKLH0vf8S4hGFxOMDBkEdS0-3jpgYh-F8YyTiYppXs2QsbFC1xIjzSBUOW_fr2CaLsrDvyEykvT/s400/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25288%2529.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7W_IL0gf0j2XKRZJQKXMYc8oi_cXD7gnOv6Vsvfgs49zwnvjBR36I6bDJ81BUOSToFjhxCJh-FiM4dGyxO_IMTKg8fn9uqyJU-OMF4rskXcod6sFAf-oQFRFa2AOP17GKlPqaUN4ftEe0/s1600/mipi_csi2_camera_open_source_fpga.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1147" data-original-width="1137" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7W_IL0gf0j2XKRZJQKXMYc8oi_cXD7gnOv6Vsvfgs49zwnvjBR36I6bDJ81BUOSToFjhxCJh-FiM4dGyxO_IMTKg8fn9uqyJU-OMF4rskXcod6sFAf-oQFRFa2AOP17GKlPqaUN4ftEe0/s400/mipi_csi2_camera_open_source_fpga.png" width="396" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Blank IMX219 MIPI 4Lane Camera PCB is Available for purchase 9.99 EUR Free International Shipping. </b></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Buy Blank PCB</b></div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="D4MDXXU2DQZLS" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
<b><u>Schematic </u></b><br />
<b><u><br /></u></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEictrLpaWgIapbL_JabilGeTSRjFpoTM4EG1hZE3QXUSwMXDBFDVh0ZOxi0VoWnRW3-dRBtYSBNsmZIvQZ5kODnkqTJ4m4Qra-De4-xxj36k-cbOVK9SP1FyExL-zKwl-q_-kLiQ8Vp6qU1/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEictrLpaWgIapbL_JabilGeTSRjFpoTM4EG1hZE3QXUSwMXDBFDVh0ZOxi0VoWnRW3-dRBtYSBNsmZIvQZ5kODnkqTJ4m4Qra-De4-xxj36k-cbOVK9SP1FyExL-zKwl-q_-kLiQ8Vp6qU1/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252810%2529.JPG" width="640" /></a></div>
<b><u><br /></u></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJCHdAVAwu4rMYG0wlFjn9SjeNdGthxzxZu8gPjFclPCPoMQCYyEzVMBDlh3R-Vkh7lJCLrGrBv-n29xSIhtc0kqET-N2rseONhbYmeaYmp9f6hoQCejBts17bmkvJ5Tk4u6YbEezZTObY/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1512" data-original-width="1600" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJCHdAVAwu4rMYG0wlFjn9SjeNdGthxzxZu8gPjFclPCPoMQCYyEzVMBDlh3R-Vkh7lJCLrGrBv-n29xSIhtc0kqET-N2rseONhbYmeaYmp9f6hoQCejBts17bmkvJ5Tk4u6YbEezZTObY/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25284%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifuqmkz_hMH6rpau23UDy0nCeBVKjnrYmxCFhL5gxA3c3GiHSkNoyxyXSz3RWXF4ahtR8OyF-WyszBLD4kMNOzpG9W_8WJ4kbAJPN0jIr3C9tz2oyqeRXVILvDwv5gzBj68zXEchfVkVJE/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1421" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifuqmkz_hMH6rpau23UDy0nCeBVKjnrYmxCFhL5gxA3c3GiHSkNoyxyXSz3RWXF4ahtR8OyF-WyszBLD4kMNOzpG9W_8WJ4kbAJPN0jIr3C9tz2oyqeRXVILvDwv5gzBj68zXEchfVkVJE/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%25283%2529.JPG" width="568" /></a></div>
<b><u><br /></u></b>
The Board is suppose to directly fit on Lattice MachXO3LF FPGA board. This way connection will be as short as possible, this setup will use Lattice boards's 100R termination register which is really important to have as near as possible to the Receiver FPGA itself.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOEIt8vbRCqxR39SizItlNIr3i5jjCqGrxViGfbGvuT-NtXGmwLervvZJnAeUqoSRfVd1oK25Inm-1Ab2jr-yM1X9MJLQvd7LWijDztnNbIdYzqYoKhEhcZsW7p5YhQ-fc-YdD1IiVuoxc/s1600/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252813%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1485" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOEIt8vbRCqxR39SizItlNIr3i5jjCqGrxViGfbGvuT-NtXGmwLervvZJnAeUqoSRfVd1oK25Inm-1Ab2jr-yM1X9MJLQvd7LWijDztnNbIdYzqYoKhEhcZsW7p5YhQ-fc-YdD1IiVuoxc/s640/diy_imx219_board_4_lane_mipi_csi_raspberrypi_camera_fpga_mipi_csi+%252813%2529.JPG" width="592" /></a></div>
<br />
<b><u><br /></u></b>
This is a multiple part project complete description FPGA verilog source and every thing else about how to get this board up and running with Lattice machXO3 FPGA can be found in later post.<br />
<br />
<h2>
<b><a href="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html">Next Part of the project</a></b></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html" border="0" data-original-height="1080" data-original-width="1600" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD6zpxG0JnU6gSje2LHL8Zi_49FzwR0761f3NRw3EL0YWqcZDpeKU8ISargI1yop7NL8NaL8C7ugy8iQtokJ7MEISDyRGz6WhvKmtBZDwrSrMPPvG3K0cu_c9L3qcidOYU8_-UJTbnrX5-/s320/diy_im219_mipi_csi_camera_fpga_machxo3lf.JPG" title="https://www.circuitvalley.com/2020/02/imx219-camera-mipi-csi-receiver-fpga-lattice-raspberry-pi-camera.html" width="320" /></a></div>
<div>
<br /></div>
<b><u>Source Files</u></b><br />
<b><br /></b>
<b>PCB and Schematic Source is available in the <a href="https://github.com/circuitvalley/mipi_csi_receiver_FPGA">Github Repo</a>. </b><br />
<b><br /></b><a href="https://github.com/circuitvalley/mipi_csi_receiver_FPGA">https://github.com/circuitvalley/mipi_csi_receiver_FPGA</a>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com25tag:blogger.com,1999:blog-4474580574529252327.post-18506337906892761242020-02-07T22:16:00.001+01:002020-02-08T13:56:06.683+01:00DIY USB 3.0 1080p Full HD Camera with Auto Focus and 10x Optical zoom, 1Gbps Streaming Over Cypress FX3 USB3.0This Project is also going to be next in the series of post i made about interfacing various camera modules to processors and Over to USB.<br />
<br />
In this post i will be using powerful cypress FX3 CYUSB3014 USB controller board to interface PE1005 Camera module to USB 3.0. This post will overcome the limits imposed by OV7670 in the last post. OV7670 was just a VGA camera. but PE1005 is full HD 1080p 30PFS camera module with really nice features like Auto focus, 10x optical Zoom, F1.8-2.2 Mechanical Shutter. Electronic image stabilizer.<br />
<br />
This camera module is from company called Acutelogic HK limited i received this camera from a eevblog forum member a while back.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSPQCL3LxIenE-8ABouk_hi5_jWEU7sL6z_1esBmsoyf7qt5iqAQsp3VaagWc-wr-eVhrUabF1NbXR7BIigjdwXCwgtIwg1cWlcbog6EPbe12WVyiDw6RT8GBqDfpdlfeCkgo3FcgX1Wzv/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1137" data-original-width="1600" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSPQCL3LxIenE-8ABouk_hi5_jWEU7sL6z_1esBmsoyf7qt5iqAQsp3VaagWc-wr-eVhrUabF1NbXR7BIigjdwXCwgtIwg1cWlcbog6EPbe12WVyiDw6RT8GBqDfpdlfeCkgo3FcgX1Wzv/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25281%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2TGUHZHRUl9uHwvheZuKKFM1CU3_2MbfeHFkY_VLIaCZJwGWwT4ts7_xYVMhqiTj9n2lsVNDtxhpJbKnPb_0AnVrthBJzYUolqWasYknZ5vbOhOXQ-C02fIZfB05kNK8AuSfqmBFE2UgM/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25285%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1162" data-original-width="1600" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2TGUHZHRUl9uHwvheZuKKFM1CU3_2MbfeHFkY_VLIaCZJwGWwT4ts7_xYVMhqiTj9n2lsVNDtxhpJbKnPb_0AnVrthBJzYUolqWasYknZ5vbOhOXQ-C02fIZfB05kNK8AuSfqmBFE2UgM/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25285%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRIgfjFnhbyL9rDXiWO77j-9w-oUCzLqiU9wIdvL7ARk8aPXRHEB47krCl1JVxKKKdjl41aHVFV30FqbDcSieKQ_27-j5u_VK8fLJNXwx0HnLgCmVzHpEpV-VFfZ762WvCP-XiZZWEHOUG/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252816%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1031" data-original-width="1600" height="412" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRIgfjFnhbyL9rDXiWO77j-9w-oUCzLqiU9wIdvL7ARk8aPXRHEB47krCl1JVxKKKdjl41aHVFV30FqbDcSieKQ_27-j5u_VK8fLJNXwx0HnLgCmVzHpEpV-VFfZ762WvCP-XiZZWEHOUG/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252816%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b><u>Hardware Schematic </u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
As Camera sensor have 16bit Data output with VSYNC HSYNC Pixel Clock. Though timing of VSYN and HSYNC is bit odd. I will discuss that later in post. Matching 60 pin connector on PCB is from Panasonic AXT460124 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQeqg7XZfekuuW-ylM7iFglwfE3zmYJM-vXrwLnIF13Tz23peEPkCwGMAGherUQINqTxcGnWVmQaX-tGa5rhdk2_UFoCH6jZ04zPBPQnT6Zpq3KDZSKGighJ0kgZzKDpCm_S1M_DCw_8Y/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252823%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1040" data-original-width="1600" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQeqg7XZfekuuW-ylM7iFglwfE3zmYJM-vXrwLnIF13Tz23peEPkCwGMAGherUQINqTxcGnWVmQaX-tGa5rhdk2_UFoCH6jZ04zPBPQnT6Zpq3KDZSKGighJ0kgZzKDpCm_S1M_DCw_8Y/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252823%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Pinout </b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3XVbgboJ5LFpbM9AqrzQyZcCHkcprgKl135gbniHfK8XYVtyEhUDaqPR_C1uu4CkhqO57I5lNXEjQv31_jjvAZfrGZgHnhVth3-kk-H6VmrSpnPpOiu8RuKw2JcIQgMcfPVUpkhqoYMk/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252826%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1186" data-original-width="1220" height="620" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3XVbgboJ5LFpbM9AqrzQyZcCHkcprgKl135gbniHfK8XYVtyEhUDaqPR_C1uu4CkhqO57I5lNXEjQv31_jjvAZfrGZgHnhVth3-kk-H6VmrSpnPpOiu8RuKw2JcIQgMcfPVUpkhqoYMk/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252826%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>PCB</u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimZ-037T742htlIOnfJvzJtTPIwE7z-ZocCokWY23MPXM7E_K8pLVWrG0K37U2cPKcdYRWZU31XDXi_SkVrISQEUVvdLHG-4r2mbnXOHi_7mpDLNKA5-moeZnG_N-HIwzcygSOXNlOC5Hm/s1600/Untitled1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1207" data-original-width="1148" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimZ-037T742htlIOnfJvzJtTPIwE7z-ZocCokWY23MPXM7E_K8pLVWrG0K37U2cPKcdYRWZU31XDXi_SkVrISQEUVvdLHG-4r2mbnXOHi_7mpDLNKA5-moeZnG_N-HIwzcygSOXNlOC5Hm/s640/Untitled1.png" width="608" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNT1PgdZMgN3PZpnlW5LmT4FA0XJTc1Ip6jSt31w_6LZaMRK_uhb3W-zsgTCMbdeS3yWwuRU-sT5sXVInYFIle761MwVgCEZkyB9dXrudjnB9VnoMcu0Q2ngNr6KluoAvT4-8EDz96hrJ/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252819%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1210" data-original-width="1441" height="536" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNT1PgdZMgN3PZpnlW5LmT4FA0XJTc1Ip6jSt31w_6LZaMRK_uhb3W-zsgTCMbdeS3yWwuRU-sT5sXVInYFIle761MwVgCEZkyB9dXrudjnB9VnoMcu0Q2ngNr6KluoAvT4-8EDz96hrJ/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252819%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIx9KVcQCBOcBCn5VZbrY8Ug1Pl49Ph6GhD9YSiuLIPB3oG5wiwl3CVg4wbCvirIUMrPIf0YPKcpyhfAqmXmkv35iUPkFT-GbIxnZ8k5NF5hyphenhyphen_XHo_jXzKwyzbIJ3_w39tfTAW2RJc-_6z/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252820%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="925" data-original-width="1600" height="369" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIx9KVcQCBOcBCn5VZbrY8Ug1Pl49Ph6GhD9YSiuLIPB3oG5wiwl3CVg4wbCvirIUMrPIf0YPKcpyhfAqmXmkv35iUPkFT-GbIxnZ8k5NF5hyphenhyphen_XHo_jXzKwyzbIJ3_w39tfTAW2RJc-_6z/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252820%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="text-decoration-line: underline;">V1.0 Blank PCB </b>is available for Purchase 9,99 EUR free international Shipping, Black Solder mask HASL Finish. </div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="WCFC5K43ZV3YU" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
V1.0 PCB has I2C pull up resistors missing so they need to be mounted in at the mosfet itself. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFW7iDUJXWiYtyW85Tx9xcv3Ii6lbMdZn0sEaAyJGozcllROkg9Pty05-JV3FC60fMknT6JZp_5wCB86h4bMtXixBdqnXVHXlc3uT6U48vMcXonBVB3mNB0ZGpJitEQkZb9GBKZtn6S8bm/s1600/IMG_6258.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="806" data-original-width="1600" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFW7iDUJXWiYtyW85Tx9xcv3Ii6lbMdZn0sEaAyJGozcllROkg9Pty05-JV3FC60fMknT6JZp_5wCB86h4bMtXixBdqnXVHXlc3uT6U48vMcXonBVB3mNB0ZGpJitEQkZb9GBKZtn6S8bm/s400/IMG_6258.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Mounting Holes </u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
Camera Documentation is not very clear about dimensions of the connector with respect to the mounting holes. Maybe because manufacturer expect a flex cable to be connected rather than whole thing mounted on to a fix PCB. I did some estimation and it turn out to be perfect fit. 1.5M Mounting screws fit camera module perfectly. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4zr4xa9K3KxUrs83aocOT6jOMpRcNsu0SeWqyjXiE5QHYN_HJyAiTQ6sXmtoywK4qPPNa1dn8de3btDjkBct18HBcBNkDN4QD4hlpPsM_8mDkeiiINZmhnl0tQUkuOl_xJ9p2kttyqvI/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252821%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1211" data-original-width="1172" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4zr4xa9K3KxUrs83aocOT6jOMpRcNsu0SeWqyjXiE5QHYN_HJyAiTQ6sXmtoywK4qPPNa1dn8de3btDjkBct18HBcBNkDN4QD4hlpPsM_8mDkeiiINZmhnl0tQUkuOl_xJ9p2kttyqvI/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252821%2529.JPG" width="618" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmaVm4Hq9XtWNhX8D8IEO8sU1SWHxSO4543lU4ANhqQHZAthnUIFRSWD4PZF7smqEX-Qh8ylKBbjyW2UoPp0DDpeIFqV2G3renFw6kXwlRCMc0F_sJNtNzJXN-UZQyNWwy5OFptLuEHeav/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252824%2529.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1222" data-original-width="1232" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmaVm4Hq9XtWNhX8D8IEO8sU1SWHxSO4543lU4ANhqQHZAthnUIFRSWD4PZF7smqEX-Qh8ylKBbjyW2UoPp0DDpeIFqV2G3renFw6kXwlRCMc0F_sJNtNzJXN-UZQyNWwy5OFptLuEHeav/s320/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252824%2529.JPG" width="320" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtvbAVnR3CeBIuKMwrVeD6SD5gmOQWexw6s32mXEgFpd5rkv6d_x-RQ7waBgc7Nl8IAyCI6rKNDKa367szsiIBYLlSbnC-7pUvegELpDo08QvbK5shNbK6NLWl-jalwtVGg3W2mKtquBu/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252825%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1223" data-original-width="1003" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirtvbAVnR3CeBIuKMwrVeD6SD5gmOQWexw6s32mXEgFpd5rkv6d_x-RQ7waBgc7Nl8IAyCI6rKNDKa367szsiIBYLlSbnC-7pUvegELpDo08QvbK5shNbK6NLWl-jalwtVGg3W2mKtquBu/s320/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252825%2529.JPG" width="260" /></a><br />
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<h2 style="clear: both; text-align: left;">
<b><u>Project Video</u></b></h2>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/Ef-JyL7Mx-I" width="560"></iframe>
<br />
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Firmware </u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
I will directly streaming from camera over USB UVC into a standard VLC application. Thankfully camera directly output raw UUV which is already supported by UVC. so there will not processing of data or need for an custom application on PC side.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Camera module at first glance seems quite simple to interface to FX3 GPIF but , it is a little complicated. </div>
<div class="separator" style="clear: both; text-align: left;">
There are few issues as marked by the image of the timing diagram blow. </div>
<div class="separator" style="clear: both; text-align: left;">
Line output has fix 18x2 byte extra in the begging and >=4x2 bytes variable length tail on each line. Handing extra 18x2 byte is rather simple but managing variable length trail with GPIF turned out to be quite complicated. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Second issue is HSYNC does not actually indicate valid line output. For first and last line it remains active for too long and also for intermediate line as well it does not indicate valid pixel, as described above each line has a 4x2 byte variable length data. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Image blow shows timing diagram you can see HSYNC(HLD) is active even though VSYNC(VLD ) not active and active pixel in each line are variable. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFbDbLs4uf3I0FszIs-e0Wa9_HB1C1OknBwo2gzc38358T0Yy-hUWGn6hJiosA6ICgmSg5Nkfjdne8ZGXEMZqj-ptn1lUxUtPQ0NFQLT5BETnysX67uMQ4QgRri6XoQlaAkLsiord9K0dv/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252827%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1453" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFbDbLs4uf3I0FszIs-e0Wa9_HB1C1OknBwo2gzc38358T0Yy-hUWGn6hJiosA6ICgmSg5Nkfjdne8ZGXEMZqj-ptn1lUxUtPQ0NFQLT5BETnysX67uMQ4QgRri6XoQlaAkLsiord9K0dv/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252827%2529.JPG" width="580" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Solution to the problem above was to capture lines rather than frames and in those line capture only a fix amount of data. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
With the help of GPIF state machine i keep track of how many bytes has been captured per line , once fix number of bytes are in there , state machine will wait for next line or next frame </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
State machine filles two ping pong buffer threads. once offer are done CPU gets an interrupt to attach UVC headers. before buffers are sent over to PC. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9zhcD6psq4QKTlBGLgmaPygwKMP8I0PgqDxVblRE8otTYGc5WLfVqycX1TQmeAQRFqJQUlmnaqIMxrOA-FAXjThQsGZaLmbsviBeMsjKAnLxnf0Pzn0tOq84Y0g_cagm3mf-J90OSs2P/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252828%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1007" data-original-width="1408" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9zhcD6psq4QKTlBGLgmaPygwKMP8I0PgqDxVblRE8otTYGc5WLfVqycX1TQmeAQRFqJQUlmnaqIMxrOA-FAXjThQsGZaLmbsviBeMsjKAnLxnf0Pzn0tOq84Y0g_cagm3mf-J90OSs2P/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252828%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Test</b></div>
<div class="separator" style="clear: both; text-align: left;">
Image is perfect and auto focus is fast and reliable </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBXnN8Py-gD2iJ_y40MLefPeRCccoVjMtZ7btjYtwsf7p880PK3FVQ5OZi93PeRLFpTBYwBrdNH61m_Fqsi-gWO3jmStOMv49hK1KigB3GdB8KsHpi4CTWHaW_9UzECOaeghFW5z4iZ5bW/s1600/usb3_camera_auto_focus.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1168" data-original-width="1600" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBXnN8Py-gD2iJ_y40MLefPeRCccoVjMtZ7btjYtwsf7p880PK3FVQ5OZi93PeRLFpTBYwBrdNH61m_Fqsi-gWO3jmStOMv49hK1KigB3GdB8KsHpi4CTWHaW_9UzECOaeghFW5z4iZ5bW/s640/usb3_camera_auto_focus.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHbOPr1d_NmZOQBUw_DV7J2MUsZHL3IM0yz0Ma_Ni2AsRxbMnZ9Jr_7YoV2EqWMX2YJFc0IHA1kzO3hoKbqS27y4mIoO2e2Bw4SzZXvOn1L65L4VP82Fy7PFxgSHWzVwfCP2LO39qd2Xyj/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252831%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1250" data-original-width="1600" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHbOPr1d_NmZOQBUw_DV7J2MUsZHL3IM0yz0Ma_Ni2AsRxbMnZ9Jr_7YoV2EqWMX2YJFc0IHA1kzO3hoKbqS27y4mIoO2e2Bw4SzZXvOn1L65L4VP82Fy7PFxgSHWzVwfCP2LO39qd2Xyj/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252831%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQghVtWpW2PiURgMfbQrB62-rMK6UQ9H8DHr6aP3HsLQWNreQ0Pj_wro3Me3vT5OGpSDA2w_H579G_pk0nXGOF6sDG2zZSrpsTyDN5wqzC9e_II4WMu1qKp20UczxMh_X7Eixg3z5cW3l/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252830%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1250" data-original-width="1600" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQghVtWpW2PiURgMfbQrB62-rMK6UQ9H8DHr6aP3HsLQWNreQ0Pj_wro3Me3vT5OGpSDA2w_H579G_pk0nXGOF6sDG2zZSrpsTyDN5wqzC9e_II4WMu1qKp20UczxMh_X7Eixg3z5cW3l/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252830%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_CF9Pz21qkPOZ6rp8xRKf6qDPhxZPxo9iKJckzT-qwMp-G7lH01LbbkYT73jXvD7Q4OpgXTX9klbkp1ao981Od7hLTEArzlSx1FyAfkZZDnlAWcjX9CIzo6Diy0gF5eUrlzcmZznNJvB/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1161" data-original-width="1600" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_CF9Pz21qkPOZ6rp8xRKf6qDPhxZPxo9iKJckzT-qwMp-G7lH01LbbkYT73jXvD7Q4OpgXTX9klbkp1ao981Od7hLTEArzlSx1FyAfkZZDnlAWcjX9CIzo6Diy0gF5eUrlzcmZznNJvB/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPfJUnKEKvXkAJHcNjAw2j_mof_cN-whPYh9AA-f82sHa-1k8qk91gMyhTd6QBIro8nzlCNrdoqGtBczoZ2_oIR2UtI1q3CjEHFlzGWA62gSagynpz1b2NwTgcs4S_fw2_tAQ-9YJxL6WA/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1212" data-original-width="1600" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPfJUnKEKvXkAJHcNjAw2j_mof_cN-whPYh9AA-f82sHa-1k8qk91gMyhTd6QBIro8nzlCNrdoqGtBczoZ2_oIR2UtI1q3CjEHFlzGWA62gSagynpz1b2NwTgcs4S_fw2_tAQ-9YJxL6WA/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjaD1fF4ec9StfYZVVLCnEl9oW81kBO3ZI-S8jXpJwLewvXkxmWxsd8aTJfI2qud1eATXrec3ENiF2VjN32I8IRXZTWlU63-OeTY9UdWGWNQNW7k6OCsICIrbEQ_8p9unZ5UWU3zlDQ7J/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1100" data-original-width="1600" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjaD1fF4ec9StfYZVVLCnEl9oW81kBO3ZI-S8jXpJwLewvXkxmWxsd8aTJfI2qud1eATXrec3ENiF2VjN32I8IRXZTWlU63-OeTY9UdWGWNQNW7k6OCsICIrbEQ_8p9unZ5UWU3zlDQ7J/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25284%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdoQFQktbTivC6PyN3_FbLk7osKL7XjZw1QpuZz2CawyCqmWF_3gFdx_4U-nOPZvAF_N8dAjk1moy07oTYZVcNHtSBM11jWQn7l91m38epXzGh9PxtvHoVYxRNm1yccgSRzE_Srgp1Klt3/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="877" data-original-width="1600" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdoQFQktbTivC6PyN3_FbLk7osKL7XjZw1QpuZz2CawyCqmWF_3gFdx_4U-nOPZvAF_N8dAjk1moy07oTYZVcNHtSBM11jWQn7l91m38epXzGh9PxtvHoVYxRNm1yccgSRzE_Srgp1Klt3/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhF-YUsi7x2dqWMcidLUQeNt4RQ2X8Nkd3bkdai3fp03NguuTQ8lJryYVM4E7rbvn7PCbvknUmrmUJ5W1SOuPWqEI9Tb1T0MSZemqvmvpxc69lphKHBCcVPtY6YMz2gxzHTS3dmOz-xBl2/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1129" data-original-width="1600" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhF-YUsi7x2dqWMcidLUQeNt4RQ2X8Nkd3bkdai3fp03NguuTQ8lJryYVM4E7rbvn7PCbvknUmrmUJ5W1SOuPWqEI9Tb1T0MSZemqvmvpxc69lphKHBCcVPtY6YMz2gxzHTS3dmOz-xBl2/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_PlbQE_1qoagw6eThXFhAf7tBRROIxTPe3XR5PQtmxBYOHpPXlmpG1mcuHR24TB6At_zdjaB-1tgszxkp21x1I-A4mbPRmZekgsG63qNUkj97u9Ab3fvuut56LSPdXlknYkwcdNIgIwX/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="883" data-original-width="1600" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_PlbQE_1qoagw6eThXFhAf7tBRROIxTPe3XR5PQtmxBYOHpPXlmpG1mcuHR24TB6At_zdjaB-1tgszxkp21x1I-A4mbPRmZekgsG63qNUkj97u9Ab3fvuut56LSPdXlknYkwcdNIgIwX/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTC-unFSRUZ_lPSO1PdplOgpcwx5f90xnJz3iIjA4lT7WQOm4p39YDkiCPemVXasnj4li6JLMhb4n5SWd9PS5wAB4pj5mUAprdRcnyeIi-k47lEXdOJe1xMRLEIqwd0ufkYogHvCMDH72o/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="924" data-original-width="1600" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTC-unFSRUZ_lPSO1PdplOgpcwx5f90xnJz3iIjA4lT7WQOm4p39YDkiCPemVXasnj4li6JLMhb4n5SWd9PS5wAB4pj5mUAprdRcnyeIi-k47lEXdOJe1xMRLEIqwd0ufkYogHvCMDH72o/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%25289%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTalMN8dVV9Epq-YFO7VVrMmtGYutWChnSXXl7yEMAWhVcpW-xc-LWbakkNgUIoQeYW27KoqNaL2gMKpuUK90sFEswH0iuG4CXOJoRiGsIuPuV9zZaz0hGxjTen8zQ7k-qoM-rslYavj1N/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252813%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="865" data-original-width="1600" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTalMN8dVV9Epq-YFO7VVrMmtGYutWChnSXXl7yEMAWhVcpW-xc-LWbakkNgUIoQeYW27KoqNaL2gMKpuUK90sFEswH0iuG4CXOJoRiGsIuPuV9zZaz0hGxjTen8zQ7k-qoM-rslYavj1N/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252813%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgSkY1arbV0uN9cAemQIfSh8Q4WieIV-1PAUH1Pd52pNJFjBkooOtYVrn7_T5cmFNBxwbm1FX7bQVXBmgQClTqhJD_GmMcpW_p5P0GPkx7R1yDwr69hr69EnaAB7lFYqgm5pJ1X_Y1gJ-a/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252814%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="872" data-original-width="1600" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgSkY1arbV0uN9cAemQIfSh8Q4WieIV-1PAUH1Pd52pNJFjBkooOtYVrn7_T5cmFNBxwbm1FX7bQVXBmgQClTqhJD_GmMcpW_p5P0GPkx7R1yDwr69hr69EnaAB7lFYqgm5pJ1X_Y1gJ-a/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252814%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHsQTQFIcE6j45sHQIaEayy1BK4RNE8ukZlksjo6recctmp_ZYy0LyLDxBiT7a6C4_PycAzwy7ZLxojVQS-FHpVDjdil106yOrRsn_693ibUIPxIGsQAdEyzK-gjhOfi5lV_yZvDZnICxI/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="1600" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHsQTQFIcE6j45sHQIaEayy1BK4RNE8ukZlksjo6recctmp_ZYy0LyLDxBiT7a6C4_PycAzwy7ZLxojVQS-FHpVDjdil106yOrRsn_693ibUIPxIGsQAdEyzK-gjhOfi5lV_yZvDZnICxI/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252815%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigQsLfxxDj9lGP-7P-Z8M7Jti0ucwLdu64XGpFpBaJca-Oqbjn4Cbuft56eOJaPC-uKhvEZWUNUKHvGgMmxKbGO0Fdg-JTwRiHeJCg1Z6N0cSlKjMDw1V-fUY2ZJ9yXRVo7tPiLR65bDzE/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252817%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigQsLfxxDj9lGP-7P-Z8M7Jti0ucwLdu64XGpFpBaJca-Oqbjn4Cbuft56eOJaPC-uKhvEZWUNUKHvGgMmxKbGO0Fdg-JTwRiHeJCg1Z6N0cSlKjMDw1V-fUY2ZJ9yXRVo7tPiLR65bDzE/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252817%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcrsGcaNUF6EYg3EcEJn1oA3sulTz5F90I4yXeycbitkEwPsdo8fM5HPiRvMI8OmU5EabavR06ZwFfccMJY1WDka-hcBvFxS8d9o0tg3zsHdnQJNAKEmrWFMBOfvz1w1Rrx7-LFoWdq9MK/s1600/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252818%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1366" data-original-width="1600" height="546" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcrsGcaNUF6EYg3EcEJn1oA3sulTz5F90I4yXeycbitkEwPsdo8fM5HPiRvMI8OmU5EabavR06ZwFfccMJY1WDka-hcBvFxS8d9o0tg3zsHdnQJNAKEmrWFMBOfvz1w1Rrx7-LFoWdq9MK/s640/DIY+USB+3.0+1080p+Full+HD+Camera+with+Auto+Focus+and+10x+Optical+zoom%252C+1Gbps+Streaming+Over+USB3.0+%252818%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Source Code</u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
All source code , Firmware , PCB hardware is available in my github account </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://github.com/circuitvalley/PE1005_USB3_camera">https://github.com/circuitvalley/PE1005_USB3_camera</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com3tag:blogger.com,1999:blog-4474580574529252327.post-90240607825061952602020-01-19T20:20:00.001+01:002020-02-08T17:45:39.646+01:00Open Source USB Display: SPI MIPI Bridge with FPGA Test: PIC32MZ USB HS SPI Bridge QT5 This post is going to be second part in the <a href="https://www.circuitvalley.com/2020/01/spi-mipi-bridge-fpga-verilog-hdl-ipod-nano-nano-lcd-iphone-mipi-lcd.html">SPI MIPI Bridge</a>. In this post i will be giving details about USB HS to SPI Bridge To feed into FPGA for displaying on to MIPI LCD. <a href="https://www.circuitvalley.com/2020/01/spi-mipi-bridge-fpga-verilog-hdl-ipod-nano-nano-lcd-iphone-mipi-lcd.html">Previous project SPI MIPI Bridge can be found here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwStcC2t0LWMM7AKIXNsWZIAVO65U4L39PuAmzlIc1zsdtpsOkn8EecbUZB0E_u7c1J9SLNVnWr63wv9MEA5vNC9jBvFItwPp380u-IrkX3RutlIO5IOTwLc8dzKoXsM01F_K34xN_TUH1/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="970" data-original-width="1369" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwStcC2t0LWMM7AKIXNsWZIAVO65U4L39PuAmzlIc1zsdtpsOkn8EecbUZB0E_u7c1J9SLNVnWr63wv9MEA5vNC9jBvFItwPp380u-IrkX3RutlIO5IOTwLc8dzKoXsM01F_K34xN_TUH1/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" width="640" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ79g64UlckkMBjMABhnQyS8C93tt8PFNp-px7wl9PIuVkLl-d4TgITxePP1p_EdbilmUDtL-eDE9CCZeCFlTkVW19HQbQg81QnCeucZcv51xVwnErNI1P2dVCG2Leiz6wHLdfpir-nf3/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation9.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1141" data-original-width="1600" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTJ79g64UlckkMBjMABhnQyS8C93tt8PFNp-px7wl9PIuVkLl-d4TgITxePP1p_EdbilmUDtL-eDE9CCZeCFlTkVW19HQbQg81QnCeucZcv51xVwnErNI1P2dVCG2Leiz6wHLdfpir-nf3/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation9.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">USB Hardware Stacked onto FPGA BOard</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0fJgu_j4WUWjGkSIpQ2ksb75dIxpqk-BuRRv4cJB5SSMi99YICSuIt3Dyxp2EEBISEJqbDoMXaC9DPZ49jE50T-nUc181JjVWH6BpevZPMpTbZxi1D-ppmCGoKTuVfDybbJLiayvSOw4R/s1600/IMG_6177.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0fJgu_j4WUWjGkSIpQ2ksb75dIxpqk-BuRRv4cJB5SSMi99YICSuIt3Dyxp2EEBISEJqbDoMXaC9DPZ49jE50T-nUc181JjVWH6BpevZPMpTbZxi1D-ppmCGoKTuVfDybbJLiayvSOw4R/s640/IMG_6177.JPG" width="640" /></a></div>
<br />
<a name='more'></a><b>Hardware</b><br />
<b><br /></b>
Hardware is based on the PIC32MZ2048EFM Board which i have published earlier Schematic and<br />
<a href="https://www.circuitvalley.com/2019/04/breadboardable-microchip-pic32mz-diy-ardunio-usb-hs.html">Here is the The project Details </a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnDqsanDAp9IIjDYb2y9zfAHDKPa_gNsCuqZiG6MRLM6nHfFskUB9HipVHdOf-v6hDKqw27wi1nJi0QnA9LXvArWQaSVL3GG2u_Ho0qpaF4vCwrZ6Gmkx723mo3MQ572wo6ry-5Mmc2tlK/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnDqsanDAp9IIjDYb2y9zfAHDKPa_gNsCuqZiG6MRLM6nHfFskUB9HipVHdOf-v6hDKqw27wi1nJi0QnA9LXvArWQaSVL3GG2u_Ho0qpaF4vCwrZ6Gmkx723mo3MQ572wo6ry-5Mmc2tlK/s640/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" width="640" /></a></div>
<br />
<b>SPI Limitation</b><br />
<b><br /></b>
Max SPI frequency PIC32MZ2048 can do is 50Mhz , and frequency of 50Mhz is achievable but because of limitations of the DMA there is certain delay between spi bytes , which limit MAX spi transfer rate .<br />
<br />
<b>Firmware</b><br />
<b><br /></b>
Firmware run USB HS, With Right now only one single Interrupt end points USB data is also some what limited. I had initially tried with USB bulk endpoint but because of surprising ~100ms time delay between usb bulk packets made me switch to interrupt endpoint which has low but guaranteed bandwidth. Low bandwidth with USB interrupt transfer cases limit on max frame rate.<br />
With USB Bulk endpoint , USB Bandwidth was not limitation. I may try to improve bandwidth by moving to <span style="background-color: white; color: #171717; font-family: "segoe ui" , "segoeui" , "segoe wp" , "helvetica neue" , "helvetica" , "tahoma" , "arial" , sans-serif; font-size: 16px;">isochronous or fix issue with bulk endpoint. </span><br />
<br />
Source of firmware can be find the same repo with other MIPI DSI Bridge project files<br />
<a href="https://github.com/circuitvalley/mipi_dsi_bridge_fpga">https://github.com/circuitvalley/mipi_dsi_bridge_fpga</a><br />
<br />
<b>QT5 Application</b><br />
<table>
<tbody>
<tr>
<td><br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMpfhQJF2xARc2tm6G76WUoYKktD-MztBcNVgAW4WY971N8nAoPa0cPa3UHAotkyNjV18cKpkbvEUPcMoSxNddha21If3dax6uN9TXU2UWxW-11i2VoC88NTyCrC25F93QnlKAjvYc28Ln/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation49.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="574" data-original-width="417" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMpfhQJF2xARc2tm6G76WUoYKktD-MztBcNVgAW4WY971N8nAoPa0cPa3UHAotkyNjV18cKpkbvEUPcMoSxNddha21If3dax6uN9TXU2UWxW-11i2VoC88NTyCrC25F93QnlKAjvYc28Ln/s400/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation49.JPG" width="290" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image from a folder</td></tr>
</tbody></table>
</td>
<td><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9vje33lh51r81mHmzz9CKIFjnDeTsENwjDU4diSRSApfgwJNBSDjf3qm_PO94ReFOEMbXh8gwPE82KxaPLVZR9ftp4I_pHoMxjOdk8WDnyltRm0r3bq6_1xYAMVafe6JqkjBNjBI5We0q/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation43.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="576" data-original-width="416" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9vje33lh51r81mHmzz9CKIFjnDeTsENwjDU4diSRSApfgwJNBSDjf3qm_PO94ReFOEMbXh8gwPE82KxaPLVZR9ftp4I_pHoMxjOdk8WDnyltRm0r3bq6_1xYAMVafe6JqkjBNjBI5We0q/s400/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation43.JPG" width="290" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Taking live screen shot </td></tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0sCKYXo8ufvoiGFU4n5piqNZH3k1WM2H4V2kT4x-YqsmFdFVou_3DOf0IisSUXx_6VkC4dedVf2GDEgjPjUuL272kx5j2yQUOxIJn2RVvlL4UrCrVN1XCrasW0dzxujKKU5PmkZkCuLK/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation449.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="574" data-original-width="422" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0sCKYXo8ufvoiGFU4n5piqNZH3k1WM2H4V2kT4x-YqsmFdFVou_3DOf0IisSUXx_6VkC4dedVf2GDEgjPjUuL272kx5j2yQUOxIJn2RVvlL4UrCrVN1XCrasW0dzxujKKU5PmkZkCuLK/s400/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation449.JPG" width="293" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Drawing is also supported with adjustable pen width color</td></tr>
</tbody></table>
<b><br /></b>
Qt5 application uses libusb to communicate with the PIC32MZ. Application can take images from a folder and transmit them over USB with a timer or manually.<br />
Application can also take screenshot of the scree to make it work as if like USB display. Max frame rate support is 60 FPS but right now limited to around 20 FPS by USB interrupt transfer. Improvement are possible once moved to bulk or <span style="background-color: white; color: #171717; font-family: "segoe ui" , "segoeui" , "segoe wp" , "helvetica neue" , "helvetica" , "tahoma" , "arial" , sans-serif; font-size: 16px;">isochronous endpoint. </span><br />
<span style="background-color: white; color: #171717; font-family: "segoe ui" , "segoeui" , "segoe wp" , "helvetica neue" , "helvetica" , "tahoma" , "arial" , sans-serif; font-size: 16px;"><br /></span>
<span style="color: #171717; font-family: "segoe ui" , "segoeui" , "segoe wp" , "helvetica neue" , "helvetica" , "tahoma" , "arial" , sans-serif;"><span style="background-color: white;"><b>YouTube video</b> </span></span><br />
<span style="color: #171717; font-family: "segoe ui" , "segoeui" , "segoe wp" , "helvetica neue" , "helvetica" , "tahoma" , "arial" , sans-serif;"><span style="background-color: white;"><br /></span></span>
<br />
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/Ob968oMQPxM" width="560"></iframe>
<br />
Source of firmware can be find the same repo with other MIPI DSI Bridge project files<br />
<a href="https://github.com/circuitvalley/mipi_dsi_bridge_fpga">https://github.com/circuitvalley/mipi_dsi_bridge_fpga</a><br />
<br />
<b><br /></b>Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0tag:blogger.com,1999:blog-4474580574529252327.post-56096991518368210712020-01-18T16:08:00.000+01:002020-01-24T11:36:23.034+01:00Open Source SPI MIPI Bridge with FPGA: Driving IPOD Nano 6 MIPI LCD Using FPGA, MIPI LCD Reverse Engineering As display technology is advancing, High Resolution LCD/TFT LCD panel are becoming more common. With higher resolution comes nicer picture quality, rich content with higher bandwidth requirement to transfer that content from the display controller to the display it self. Gone those days of 8-bit parallel bus , now MIPI is becoming more and more common with nice display. Yes one can still buy parallel or lvds interface display. But as one try to move towards nicer quality display MIPI is becoming dominant. Basic MIPI DPHY can achieve 1Gps per-lane with mipi DPHY V2.5 you can go upto 6Gbps Max total bandwidth.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvvflHCu-MmywqRsA7CnOCIN3xzGupCUnVoLWX8SHWTE6jZEPVQsnZpT1US5SDEop9jGOerp4MuxM0Ga681eOkkFsIAawP6ND2rfpm2w5DJVD4E6g8KqRcNkXKJiO0ZmglIm-KmbFgDNl/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1220" data-original-width="1600" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkvvflHCu-MmywqRsA7CnOCIN3xzGupCUnVoLWX8SHWTE6jZEPVQsnZpT1US5SDEop9jGOerp4MuxM0Ga681eOkkFsIAawP6ND2rfpm2w5DJVD4E6g8KqRcNkXKJiO0ZmglIm-KmbFgDNl/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS709bAX_myHYSLCL7QQYvrXg1gM7iUh82gFFjkjN0E5iaAK89QbnhpEtmHT5u9Hx4fv5YThBro0KA55zkHBNFjrMIuXuXwVIBLXc9wLUrpIKlQpCH0fj4mO5uXrb7FYwtTNLsCzPyCT72/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="970" data-original-width="1369" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS709bAX_myHYSLCL7QQYvrXg1gM7iUh82gFFjkjN0E5iaAK89QbnhpEtmHT5u9Hx4fv5YThBro0KA55zkHBNFjrMIuXuXwVIBLXc9wLUrpIKlQpCH0fj4mO5uXrb7FYwtTNLsCzPyCT72/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" width="640" /></a></div>
<br />
This post going to be about how to use FPGA to drive a MIPI LCD. Specifically LH154Q01-TD01 LCD This is a 240x240 1.54 inch TFT LCD this LCD is used in Apple IPOD nano 6G. I first get to know about this LCD from mike's post on his website mikeselectricstuff and youtube channel. It is highly recommended to got through it if you are going to implement this project.<br />
<br />
<a name='more'></a><br />
<br />
Here are the Specification From the datasheet.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCR8Zgh196ZlE3azIF9N3iekWnmbHgvCKSn5EplKS-HrsKxQxbt7NDOQDBrlkf8Af_3U2ezdDcr4i1_CGDohO0ASM26Kp032aOJ5kIP14inwohiR3oAPgbVW9jXTXo8tHGLsUhzv8Ir5Jz/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25289%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="846" data-original-width="907" height="595" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCR8Zgh196ZlE3azIF9N3iekWnmbHgvCKSn5EplKS-HrsKxQxbt7NDOQDBrlkf8Af_3U2ezdDcr4i1_CGDohO0ASM26Kp032aOJ5kIP14inwohiR3oAPgbVW9jXTXo8tHGLsUhzv8Ir5Jz/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25289%2529.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This LCD runs on one single lane MPI, need two supply voltages 3V and 1.8V and Some circuit to Drive backlit LEDs.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<b>MIPI</b></h2>
<div class="separator" style="clear: both; text-align: justify;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: justify;">
What MIPI is, you can use google to find out but basically it is a specification for Displays and Camera sensor to a application processor. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Image blow show block diagram of MIPI. On one side there is application processor and other side is the peripheral. When peripheral is display DCS and DSI apply. though mipi is closed specification which means one has to be member of MIPI consortium to gain access to full specification. And membership of the consortium comes with a big price tag for individuals. Luckily full specification is already available just a right keyword web search away. if you look for mipi DCS specs you can easily find Display Command specification for display. DCS, CCS, DSI, CSI and DPHY all the specification are available with just few minutes of web search. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
As whole point of MIPI to standardize interfacing various display and camera sensor to application processor. So all displays or camera who complies to MIPI will implement same mandatory minimum functions/commands and eternally will also implement subset of other optional MIPI functions/commands depending on intended use and class of the product. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
For example DCS specify three different type of display architecture , Type 1, Type 2, Type3, Type 3 Display has no framebuffer and implement only a small subset of commands/functions. while Type 2 has partial Frame buffer and Type 1 has full frame buffer. Type 1 will also implement most of the DCS defined functions/commands. </div>
<div class="separator" style="clear: both; text-align: justify;">
DCS specify Display commands set which commands are supported by the display. </div>
<div class="separator" style="clear: both; text-align: justify;">
DSI Specify mipi logical serial interface commands . DSI will be fully implemented by Type1, 2 or 3 Display.</div>
<div class="separator" style="clear: both; text-align: justify;">
DPHY specify how does the signal looks on the bus, what is HS and LP mode and various other factors of the bus. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
DPHY is lowest layer while DCS is more logical. </div>
<div class="separator" style="clear: both; text-align: justify;">
As mentioned earlier all these specification documents are available with a web search. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixZE_W1oneKpcra-4BKxWX1Q0LwTmCpkvtMLgIxyrVP6mCFPc1I0kvBVyVKMlQEW7EZLcVrKlg6ppN9VaouroMdelgGcTV2pNkYdfuf5OMSPhR_IDNLJ0cp7-u-CWZl4u2YDX0twPE4LX6/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1027" data-original-width="1600" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixZE_W1oneKpcra-4BKxWX1Q0LwTmCpkvtMLgIxyrVP6mCFPc1I0kvBVyVKMlQEW7EZLcVrKlg6ppN9VaouroMdelgGcTV2pNkYdfuf5OMSPhR_IDNLJ0cp7-u-CWZl4u2YDX0twPE4LX6/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA22.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>DPHY</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
Basic transmitter only block diagram looks like in the image blow there is differential driver for high speed data and two single ended LP TX driver. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Control logic consist of lane management if more than one lane is used, activating HS mode and exiting HS and other control logic. Block diagram only show one signal, you will have minimum one clock signal and minimum one lane. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqTKlwj2AbuZhBSJrPV4v7GYlLCqgnwXYl0viU_Q4D38H7sl0jwy60oLJWmqMjRolL0d_4pbi7ul1VV0gw8HVnolYc8B26HM7N0PoJiqxhK8QhVm1iB6Yzw7eh-bwRKI-7uzNhY0UKCkUQ/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_block.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="731" data-original-width="1069" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqTKlwj2AbuZhBSJrPV4v7GYlLCqgnwXYl0viU_Q4D38H7sl0jwy60oLJWmqMjRolL0d_4pbi7ul1VV0gw8HVnolYc8B26HM7N0PoJiqxhK8QhVm1iB6Yzw7eh-bwRKI-7uzNhY0UKCkUQ/s400/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_block.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b>MIPI DPHY Signal</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
The image shows i got from google shows signal level for MIPI , HS driven by differential driver swings -200mV to +200mV at offset of 200mv. while LP signal is a 1.2V lvcmos </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxA02ouaTNW0QPWVpuLOiUB5JYVDzy1IUpB8cHZYmE5BHYCtk9T9JxDdwYJNiQoNb1p61PiM2BN4RQImt4CBXyfLNXAEn3jcUzWUI1HoLfrlYBneJnxL5RryvKIZeMC5_MNQO1oAlvsqwc/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="579" data-original-width="1600" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxA02ouaTNW0QPWVpuLOiUB5JYVDzy1IUpB8cHZYmE5BHYCtk9T9JxDdwYJNiQoNb1p61PiM2BN4RQImt4CBXyfLNXAEn3jcUzWUI1HoLfrlYBneJnxL5RryvKIZeMC5_MNQO1oAlvsqwc/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_signal_level.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
there are two different modes of transmission , HS mode and LP mode, HS mode is for hi speed display data while LP mode is for Low power transmission. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Transmitter must generation appropriate sequence in order to enter HS and exit . </div>
<div class="separator" style="clear: both; text-align: left;">
Image blow shows how to enter HS modes. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHYBzT2UoeFVUkXv1r9kmQxlU9pM4KXizW-d2nrskcOVFmD4DnfoNSJMbrGVXWNxaf2dWqPqQJyMuMDZ4HEQ3KvTQz2QztbRasGecedGPgiEFnrEYMvQtdM26F-TG451SEA64wbN4pCM8r/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHYBzT2UoeFVUkXv1r9kmQxlU9pM4KXizW-d2nrskcOVFmD4DnfoNSJMbrGVXWNxaf2dWqPqQJyMuMDZ4HEQ3KvTQz2QztbRasGecedGPgiEFnrEYMvQtdM26F-TG451SEA64wbN4pCM8r/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA23.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Stage 0 : LP-11 state in the shown image is LP state.</div>
<div class="separator" style="clear: both; text-align: left;">
Stage 1 : To into HS mode one must drive LPdp low for Tlpx(minimum 50ns) and stay in LP-01 (HS driver is tristate in LP 01).</div>
<div class="separator" style="clear: both; text-align: left;">
Stage 2: Drive LPdn low for Ths-prepare (minimum 95ns) stay in LP-00 , Later somewere in the middle of this stage target device will activate it's 100R termination register. </div>
<div class="separator" style="clear: both; text-align: left;">
Stage 3: Now Target is in HS, Activate HS driver start sending mandatory zeros .</div>
<div class="separator" style="clear: both; text-align: left;">
Stage 4: Send mandatory 0xB8 sync byte and then payload.</div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b>DSI</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
As explained earlier DSI , Display will describe Packet structure. How exactly bytes are packed on to wire in different lanes configuration.</div>
<div class="separator" style="clear: both; text-align: left;">
Image blow shows packet structure. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCjumJCNnkJ3wQVjE-9OzdSXBJVuUb078HRrKGYx-5MCHvHjGI8Rz-uqsNtWoGbTUoED-CJOqLTS27arFi6C9xt-JFC7mglAc2qsd-N0oEyix2Z8Op_h7973yXfuR7JmqRHDSuRv-qQSJc/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="287" data-original-width="1600" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCjumJCNnkJ3wQVjE-9OzdSXBJVuUb078HRrKGYx-5MCHvHjGI8Rz-uqsNtWoGbTUoED-CJOqLTS27arFi6C9xt-JFC7mglAc2qsd-N0oEyix2Z8Op_h7973yXfuR7JmqRHDSuRv-qQSJc/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA243.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI packet structure<br />
<div style="text-align: left;">
<span style="font-size: 12.8px;"><br /></span></div>
<div style="text-align: left;">
<span style="font-size: 12.8px;">There are Two types of Packets</span></div>
<div style="text-align: left;">
<span style="font-size: 12.8px;">Short Packet: 4 Bytes (Fixed Length)</span></div>
<div style="text-align: left;">
Long Packet: 6 - 655541 Bytes (Variable Length)</div>
</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
Normally you will need short Packet type 0x05 DCS short write no parameter and 0x15 DCS long write with parameter for sending commands i.e display wake up. </div>
<div class="separator" style="clear: both; text-align: left;">
While DCS long write 0x39 is used for writing display data packet. </div>
<div class="separator" style="clear: both; text-align: left;">
Short Packet Structure is shown in the image blow. </div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh10B-lmPcMk3v40yptZypHJQJD5lB5mLCi4LTUXwTCz2B8VHhvoh9EO1Wuc6anz15bbDxVaWfNrwegG38Wd-q37IzD84E5qDg5ShEwker6QEogxI9HddcIC7b5eJQtpzOi9sUKqMBaXGFl/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1049" data-original-width="1600" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh10B-lmPcMk3v40yptZypHJQJD5lB5mLCi4LTUXwTCz2B8VHhvoh9EO1Wuc6anz15bbDxVaWfNrwegG38Wd-q37IzD84E5qDg5ShEwker6QEogxI9HddcIC7b5eJQtpzOi9sUKqMBaXGFl/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MIPI Short Packet Structure</td></tr>
</tbody></table>
<div class="separator" style="clear: both;">
Long Packet Structure is shown in the image blow. </div>
<div class="separator" style="clear: both;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvE1rK6Zyh3IIih0UlLBLTj0E_Z7lVVVwk7a3ArkFVSJmO_SNhPyc2-T1sa_gXfXM06ARUvW0fRrpG8sYuwChuP9hEpuykbKlykyuKFnaGG8epjZPa5sdv8PWsMaCnXcfAytPHzhpS0-8/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1083" data-original-width="1600" height="432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvE1rK6Zyh3IIih0UlLBLTj0E_Z7lVVVwk7a3ArkFVSJmO_SNhPyc2-T1sa_gXfXM06ARUvW0fRrpG8sYuwChuP9hEpuykbKlykyuKFnaGG8epjZPa5sdv8PWsMaCnXcfAytPHzhpS0-8/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2442.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption"><span style="font-size: 12.8px;">MIPI Long Packet Structure</span><br />
<div style="text-align: left;">
<span style="font-size: 12.8px;"><br /></span></div>
</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<div>
<b>Type of DSI packet types. </b></div>
<div>
Here is the list which i got off a google. yes this is available in DSI specifcition. the matter of fact everything i write in the post is available in the specification. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWB9yAjGrvQjV6hwxW2ehKrL8lf7fG82uLkSWoqohPec8BtsYaUFgKrGXxI0nbNsDAJNujQBwVgPTLfmUnkT89-DTm4HVF-LamLiHFBohP_82cZsyZHhLG1i7ZqA-lnG9xp4KHd5SBLRF/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA244542.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="575" data-original-width="520" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWB9yAjGrvQjV6hwxW2ehKrL8lf7fG82uLkSWoqohPec8BtsYaUFgKrGXxI0nbNsDAJNujQBwVgPTLfmUnkT89-DTm4HVF-LamLiHFBohP_82cZsyZHhLG1i7ZqA-lnG9xp4KHd5SBLRF/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA244542.JPG" width="578" /></a></div>
<div>
<br /></div>
<div>
<b>Endianness</b></div>
<div>
<b><br /></b></div>
<div>
Bytes are sent lsbit first and bytes in the packet are sent LSByte first. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrxPC8YGgmZmNko-s2VX8KyBSM16DOY96b62UNZfUA4-XUjjWuvhzcEGCHHrj_SHy_X7vtsGDyYPm1F2NCyBXjK8WErk-s3CPX_LbR2DD7aA3Uelmaw0MM1K2pIOMb9QtBxHKvbVEmzkq/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="303" data-original-width="1600" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrxPC8YGgmZmNko-s2VX8KyBSM16DOY96b62UNZfUA4-XUjjWuvhzcEGCHHrj_SHy_X7vtsGDyYPm1F2NCyBXjK8WErk-s3CPX_LbR2DD7aA3Uelmaw0MM1K2pIOMb9QtBxHKvbVEmzkq/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4322.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<b>Example Data packet</b></div>
<div>
Image blow shows a example 16bit per pixel RGB datapacket</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtryWRKvFIzeVhPuMcor5AbnefGJKV1c4kxTd6u3MLOLnJh4es3pS30fzVjplhJ_r40W8rWLoERzhBA4haf4Opo2TOOqYI5KWaoY2Cpk7jnTbUDpkJJkvIoUOA2L1egZfEmazc26EbV0yM/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4244542.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1047" data-original-width="1600" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtryWRKvFIzeVhPuMcor5AbnefGJKV1c4kxTd6u3MLOLnJh4es3pS30fzVjplhJ_r40W8rWLoERzhBA4haf4Opo2TOOqYI5KWaoY2Cpk7jnTbUDpkJJkvIoUOA2L1egZfEmazc26EbV0yM/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA4244542.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<h2>
<b>DCS: Display Command Set</b></h2>
</div>
<div>
<b><br /></b></div>
<div>
DCS Document defines Display specific commands. Full set of commands is you can find in DCS , I will list few of them here with reference from mike's page. My FPGA Design uses ROM table to handle all the commands needed for basic operation. More details about that later in this article. </div>
<div>
<br /></div>
<table border="1">
<tbody>
<tr>
<td>Command Hex,
<br />
15{DSI} {DCS} {DCS} {ECC}
<br />
39{DSI} {LENlsB} {LENmsB} {ECC} .. {LEN data} .. {16 bit Checksum}
</td>
<td>Comment {Some command takes lot of time to process}</td>
</tr>
<tr>
<td>15 11 00 25</td>
<td>Exit sleep mode, Turn Display panel on ~120ms wait time recommended. </td>
</tr>
<tr>
<td>15 29 00 0F</td>
<td>Display On, Show content </td>
</tr>
<tr>
<td>15 3A 55 02</td>
<td>Set Pixel format, 55-> 16bit Takes ~4 ms to process </td>
</tr>
<tr>
<td>15 3A 77 1F</td>
<td>Set Pixel format, 77-> 24bit Takes ~4 ms to process</td>
</tr>
<tr>
<td>15 36 80 12</td>
<td>Set Address mode, RGB order, Takes ~4 ms to process</td>
</tr>
<tr>
<td>15 36 88 2A</td>
<td>Set Address mode, BGR order, Takes ~4 ms to process</td>
</tr>
<tr>
<td>39 E1 01 0B ss {1E0 bytes} 00 00 </td>
<td>DSI Command Long Write: For 16bit per pixel 1byte + 1E0 bytes
<br />
ss = 0x2C for first line, 0x3C for later
<br />
Check sum can be 00 00 as it is ignored</td>
</tr>
<tr>
<td>39 D1 02 0B ss {2D0 bytes} 00 00 </td>
<td>DSI Command Long Write: For 24bit per pixel 1byte + 2D0 bytes
<br />
ss = 0x2C for first line, 0x3C for later
<br />
Check sum can be 00 00 as it is ignored</td>
</tr>
</tbody></table>
<br />
<br />
<h2>
<b>Hardware Setup</b></h2>
<b><br /></b>
Now lets look at hardware setup how i tried to replicate reverse engineering setup of LCD. I already had battery dead ipod. I took it apart to solder compatible connectors.<br />
12 pin Connector LCD is 5035521220<br />
12 pin Connector which goes on PCB 5035481220<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh2w6owGp_6PRUhdHBEjkBgw8T_pt8Tu1ab-bXyacj8Vjlkx1NZwdi0kPRtwk87oE1ANnn8rZic6iUTkMJZ4bY4koRgKHqxvHdJvOYDX2BhwBunSVq3NoTjpYi4dJbMmftHX1O8_dyKQyU/s1600/IMG_5638.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1304" data-original-width="1600" height="520" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh2w6owGp_6PRUhdHBEjkBgw8T_pt8Tu1ab-bXyacj8Vjlkx1NZwdi0kPRtwk87oE1ANnn8rZic6iUTkMJZ4bY4koRgKHqxvHdJvOYDX2BhwBunSVq3NoTjpYi4dJbMmftHX1O8_dyKQyU/s640/IMG_5638.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihx6-h-hyFJHzxEY8uVjWmHzgTbTCuil6_LAY1STym2H1C1BtvpbUTPXFUxPTsfJLHyqRA9IJrNqr9mGE6CFAGlPHx31aurjpxe8Rje5leFWoqCcIQhgxkuMLtk5plifJRU1zGkGtCx7j-/s1600/IMG_5644.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1452" data-original-width="1600" height="580" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihx6-h-hyFJHzxEY8uVjWmHzgTbTCuil6_LAY1STym2H1C1BtvpbUTPXFUxPTsfJLHyqRA9IJrNqr9mGE6CFAGlPHx31aurjpxe8Rje5leFWoqCcIQhgxkuMLtk5plifJRU1zGkGtCx7j-/s640/IMG_5644.JPG" width="640" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxWo7gWcztUckbtC0isbCkI653mEkmi1Eopu5bHEoU7GO1xzVHm3GmaVsdr8KIQ0jyJW6sqZN-61frQyjs8EHEzq8Tc9pzvksYGd3R2pNB6XBj5mRbS4GCC_GStfNp2pV5WFWgwjEti0gA/s1600/IMG_5654.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1275" data-original-width="1600" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxWo7gWcztUckbtC0isbCkI653mEkmi1Eopu5bHEoU7GO1xzVHm3GmaVsdr8KIQ0jyJW6sqZN-61frQyjs8EHEzq8Tc9pzvksYGd3R2pNB6XBj5mRbS4GCC_GStfNp2pV5WFWgwjEti0gA/s640/IMG_5654.JPG" width="640" /></a></div>
<br />
<h2>
<b><u>YouTube video</u></b> </h2>
<h2>
<br />
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/Ob968oMQPxM" width="560"></iframe>
<br />
<b>Scope Capture</b></h2>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
These image are capture of ipod controlling display Image 1: Image 19 are in timely order how ipod turns on the display cleans it and prepare to display very first content.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj53B6or5bsYNeAQdIOxIVt8UrNeJpFnowywOsMHHPa1H8r9iwOuCtcuFJQEiFJxWtc2DkF8dOBCOosgBB6u-j6VrBYV4XO3JRte-EQin1qiCJzYGHGKvOSkA0t-xgzHkEq2qfj8ih72nKy/s1600/freshWake+from+sleep.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj53B6or5bsYNeAQdIOxIVt8UrNeJpFnowywOsMHHPa1H8r9iwOuCtcuFJQEiFJxWtc2DkF8dOBCOosgBB6u-j6VrBYV4XO3JRte-EQin1qiCJzYGHGKvOSkA0t-xgzHkEq2qfj8ih72nKy/s640/freshWake+from+sleep.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 1: IPOD Wake from sleep Does init, clean and First display write. Analog channel show data, while digital Channel Showing VEE VDD RST SYNC , One can see after first Init and clear Display Start to output SYNC Signal</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkGFuPrejWe3lRS1Trp3W0FEFzuJ13dH2hfC6ZDAkbjZugfSJO9t08RzQ6TmQ_2LCT6r1BOSQesM3-mrhypEija_p4F5GaCb8Vbwa3FKiqkesWC1p9u36vyU3RfSPWdefM-WOwoP-bT03q/s1600/whole_screen_refresh_wake+from+sleep.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkGFuPrejWe3lRS1Trp3W0FEFzuJ13dH2hfC6ZDAkbjZugfSJO9t08RzQ6TmQ_2LCT6r1BOSQesM3-mrhypEija_p4F5GaCb8Vbwa3FKiqkesWC1p9u36vyU3RfSPWdefM-WOwoP-bT03q/s640/whole_screen_refresh_wake+from+sleep.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 2 :(Zoomed in of Image 1)Ipod Wake From Sleep, Full Screen Wake, Clear and First connect display. Analog channel show data, while digital Channel Showing VEE VDD RST SYNC , One can see after first Init and clear Display Start to output SYNC Signal.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHgdK1266n7cGPiyFzJ6TNUownRRYiyNLBhIMv_hiUESK8DEAcJYw07sWUksCfQwxDbEEwgJAd3hJxtvQRpG7w11JfwHDdC6lBCtnsfAA1h1P93NIhv-1sgiWaFvcWxkwJ97wF1aaT5A_1/s1600/exit+from+leep+short+write+COmmand+11.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHgdK1266n7cGPiyFzJ6TNUownRRYiyNLBhIMv_hiUESK8DEAcJYw07sWUksCfQwxDbEEwgJAd3hJxtvQRpG7w11JfwHDdC6lBCtnsfAA1h1P93NIhv-1sgiWaFvcWxkwJ97wF1aaT5A_1/s640/exit+from+leep+short+write+COmmand+11.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 3: First ever Write to Display a Command 0x15 0x11 0x00 0x25</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-EA549wboeFpXBzWz8mSWOy-BTxdgVxFJXxcisj8v_4A2ghf02_bKxB7DCiiv5_3B2C7SEWCAvIKTZAEmaTyT8XdnLb7WVDfTcmb1_McvEJI5lP5PW1YvxV0gRzYC5DFQCV54OclJ5YIS/s1600/exit+from+leep+short+write+COmmand+11_zoom1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-EA549wboeFpXBzWz8mSWOy-BTxdgVxFJXxcisj8v_4A2ghf02_bKxB7DCiiv5_3B2C7SEWCAvIKTZAEmaTyT8XdnLb7WVDfTcmb1_McvEJI5lP5PW1YvxV0gRzYC5DFQCV54OclJ5YIS/s640/exit+from+leep+short+write+COmmand+11_zoom1.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Image 5: Further Zoomed view of Image 4: First ever Write to Display a Command 0x15 0x11 0x00 0x25,</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGB_OKeCDj08otowRVnYa5VJgFsPS51sciYF0-yfe-9xu0-rVhIuRAwmfBA8KRIdj4xuMPT0i6LtupoYg6OOh02hy4vbQufbkE8cdstRT31WLjz3hEXw9Z3a0OPmbnpgx0dYHuEwJDqnv/s1600/exit+from+leep+short+write+COmmand+11_zoom.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGB_OKeCDj08otowRVnYa5VJgFsPS51sciYF0-yfe-9xu0-rVhIuRAwmfBA8KRIdj4xuMPT0i6LtupoYg6OOh02hy4vbQufbkE8cdstRT31WLjz3hEXw9Z3a0OPmbnpgx0dYHuEwJDqnv/s640/exit+from+leep+short+write+COmmand+11_zoom.png" width="640" /></a></div>
<div style="text-align: left;">
</div>
</td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Image 6: Further Zoomed view of Image 5 and 4: First ever Write to Display a Command 0x15 0x11 0x00 0x25,</td></tr>
</tbody>
</table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrfPrQVMi7rIcWRrcwKb7WzmhYI_DRG1vOeI4hObs4jdWBdzKADLNcd0ks3LWoF6nGdUWzhRYQCmeG1HtkQJZutHo8_xfEuRex45qFeO2d4JA7jJr7zyLp6bDHxOOLwl0yBiZ5i_MvINql/s1600/WriteCommand+15_36_08_after+exit+from+sleep1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrfPrQVMi7rIcWRrcwKb7WzmhYI_DRG1vOeI4hObs4jdWBdzKADLNcd0ks3LWoF6nGdUWzhRYQCmeG1HtkQJZutHo8_xfEuRex45qFeO2d4JA7jJr7zyLp6bDHxOOLwl0yBiZ5i_MvINql/s640/WriteCommand+15_36_08_after+exit+from+sleep1.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 7: Command 15 36 08 Comes after Command 11(image 6)<br />
<br />
<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUjl8E4cSqWhS1COar3iw2fOYj_-9wDDUdrCDw0_bc8wUrM_VRfO7B2wZ_eo1xHJj0qGYBmh4MAAgGD9gWPtGML4K-rNSuZpDMvzBq1cZkn1eyCaTFX1gJQGkFtnEzosqYU8Qs0E-kLz4X/s1600/WriteCommand+15_36_08_after+exit+from+sleep.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUjl8E4cSqWhS1COar3iw2fOYj_-9wDDUdrCDw0_bc8wUrM_VRfO7B2wZ_eo1xHJj0qGYBmh4MAAgGD9gWPtGML4K-rNSuZpDMvzBq1cZkn1eyCaTFX1gJQGkFtnEzosqYU8Qs0E-kLz4X/s640/WriteCommand+15_36_08_after+exit+from+sleep.png" width="640" /></a><br />
<br /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 8: Zoomed image 7 Command 15 36 08 Comes after Command 11(image 6)</td></tr>
</tbody></table>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVGrCzaW9XfxSjx4WDqCY5PH5buj_ITdYrcHDqr1E6YG3k2x9GIK2NTNJ6GMgNYeQs19St1TivePQ_AwhZh21JBfOwJ18wWH5FEFeBkbOw2AU3v0KTK7V7L0A7eIAt7D96YEuhcSRYXzk3/s1600/after+1536_sendcmd+genWrite+29h+at+5h+lenghth.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVGrCzaW9XfxSjx4WDqCY5PH5buj_ITdYrcHDqr1E6YG3k2x9GIK2NTNJ6GMgNYeQs19St1TivePQ_AwhZh21JBfOwJ18wWH5FEFeBkbOw2AU3v0KTK7V7L0A7eIAt7D96YEuhcSRYXzk3/s640/after+1536_sendcmd+genWrite+29h+at+5h+lenghth.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 9: Command 29 General Write 2byte @05 2C 00 25</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheS-K-F17XpEjyAigNaT5m4pz8aSCT9MDodyfJ1EjMOrnhPkUMr3PVZRbj05DdC9nf7c8s-70dowzqKfhpz-Ru9u3l8kKEM2YQlzxQmCE7dbUS6rpT7ShAK94Qh_tbYQhYgvN-VMM8_Xtc/s1600/after+1536_sendcmd+genWrite+29h+at+5h+lenghth2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheS-K-F17XpEjyAigNaT5m4pz8aSCT9MDodyfJ1EjMOrnhPkUMr3PVZRbj05DdC9nf7c8s-70dowzqKfhpz-Ru9u3l8kKEM2YQlzxQmCE7dbUS6rpT7ShAK94Qh_tbYQhYgvN-VMM8_Xtc/s640/after+1536_sendcmd+genWrite+29h+at+5h+lenghth2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 10: Zoomed in image 9 packet 1. CMD29h General Write 2 Byte @05 2C 00 25 </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRmK_fVAuJ1AhmSCE8VwjKb9t4IKRm8LsW7ST2Rzu0vy8EVoeBb6V99YCrGpsLi7zB4aPitUqqtCaiKBLl6hRuNfrVUbUQAfOhN560JMpXddUWI-E0FZpYoiNb4aSSa2tb-qZHCyAB7SDm/s1600/startcleanringdisplay_after05_2C1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRmK_fVAuJ1AhmSCE8VwjKb9t4IKRm8LsW7ST2Rzu0vy8EVoeBb6V99YCrGpsLi7zB4aPitUqqtCaiKBLl6hRuNfrVUbUQAfOhN560JMpXddUWI-E0FZpYoiNb4aSSa2tb-qZHCyAB7SDm/s640/startcleanringdisplay_after05_2C1.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 11: After General Write Start cleaning display with 39 blank line Write commands</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTbhODDgZo3jfvD-2OgJxiaFI97J-dtRndENx8QxjAWfif-qMvNyhst02y_N883tpSFl4xSwifQZAIwj-A6dzYlU4gPsuKuzPOGIaPNhbEYVDZxSPlqcjAWXyzCqYEKhdg_GXm9IEa6uh/s1600/startcleanringdisplay_after05_2C.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTbhODDgZo3jfvD-2OgJxiaFI97J-dtRndENx8QxjAWfif-qMvNyhst02y_N883tpSFl4xSwifQZAIwj-A6dzYlU4gPsuKuzPOGIaPNhbEYVDZxSPlqcjAWXyzCqYEKhdg_GXm9IEa6uh/s640/startcleanringdisplay_after05_2C.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 12: Zoomed image of Image 11: Start clening display with 39h blank lines </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5zaQQkZrD7c2kOPno5QggurcHWxrkO-_GU6TuZRExbvdH69TX5ykSui0OuxYFRKfFsv5J9ApdZU55VGSweqDpriOqiF68et_OSCrgB_5wj0yme0la4-9Y6mG1WK9F_IFI4AZRjb_R8_uw/s1600/clear+dipslay_totoal+240+line+of+write.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5zaQQkZrD7c2kOPno5QggurcHWxrkO-_GU6TuZRExbvdH69TX5ykSui0OuxYFRKfFsv5J9ApdZU55VGSweqDpriOqiF68et_OSCrgB_5wj0yme0la4-9Y6mG1WK9F_IFI4AZRjb_R8_uw/s640/clear+dipslay_totoal+240+line+of+write.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 13: Cleaning Display with 240 line of blank write </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTk4y4Bmg4fAv7gbNI4UKuW6i8vM2ttSiYKEHfwxQgPEsSV3afCAmB6GEQaLW0xwMt3qEKAiqZAzaJqxLfuL1NgMOiDfzsoYab_RBVy-1o4CyTaBIrcUaDSvMOb37m_M3cc07s0SLF5IB1/s1600/start+of+line+write_image.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTk4y4Bmg4fAv7gbNI4UKuW6i8vM2ttSiYKEHfwxQgPEsSV3afCAmB6GEQaLW0xwMt3qEKAiqZAzaJqxLfuL1NgMOiDfzsoYab_RBVy-1o4CyTaBIrcUaDSvMOb37m_M3cc07s0SLF5IB1/s640/start+of+line+write_image.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 14: Zoomed of Image 12 Cleaning display very first line 39 D1 02 07 Total 2D0 bytes </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAKpE_qvyh-X-u_Bll7EB9F4BR4llnnB0z7pnp5Xp0WVQV61NPKERoFVqR_xvOVgAD1-8Ebt1pXgsyMWEzzhuHAU7vMOMpAIn9_BFbmxisVyOYnppQz03ZF0ctVhhrcyR-dCJX9ysYzfxD/s1600/start+of+line+write+with+39+D1+02+07++2D0+bytes.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAKpE_qvyh-X-u_Bll7EB9F4BR4llnnB0z7pnp5Xp0WVQV61NPKERoFVqR_xvOVgAD1-8Ebt1pXgsyMWEzzhuHAU7vMOMpAIn9_BFbmxisVyOYnppQz03ZF0ctVhhrcyR-dCJX9ysYzfxD/s640/start+of+line+write+with+39+D1+02+07++2D0+bytes.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Image 15: Zoomed of Image 14 Cleaning display very first line 39 D1 02 07 Total 2D0 bytes </td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDh40MKAUjL8P1yNlEriiIch9zzOy3V67XCF1HS3e0KKGsbyqabKYQqyUEZJ7Wllxkl1BNl_-Pa4MzcKb93feaahiAmPjpwaoqbDzcPFsDUdnSHVhSxn-nXREacJMxqEI58P16AccRX9t/s1600/end+of+image+clar+_one+command+in+the+endimage.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDh40MKAUjL8P1yNlEriiIch9zzOy3V67XCF1HS3e0KKGsbyqabKYQqyUEZJ7Wllxkl1BNl_-Pa4MzcKb93feaahiAmPjpwaoqbDzcPFsDUdnSHVhSxn-nXREacJMxqEI58P16AccRX9t/s640/end+of+image+clar+_one+command+in+the+endimage.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 16: end of cleaning sequence last few line are visible with command 05 29 00 in the very last.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqQC_MZlOtxOwrQSQvTpUIjNWb1llGx32SV7uMHnlHz50WrlxQzogA5hwKMPiLaOD1nKlUn1W_TT1vInMWQIftOOLL6wvDQqHYTuoIG24Y2ZkSdxI-JjEVz_ocQPtoIthEQkUoCMvQHzTz/s1600/end+of+clear+image+command+05+29+00_1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqQC_MZlOtxOwrQSQvTpUIjNWb1llGx32SV7uMHnlHz50WrlxQzogA5hwKMPiLaOD1nKlUn1W_TT1vInMWQIftOOLL6wvDQqHYTuoIG24Y2ZkSdxI-JjEVz_ocQPtoIthEQkUoCMvQHzTz/s640/end+of+clear+image+command+05+29+00_1.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 17: Command 05 29 00 after cleaning sequence </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwZHKuPaiTAGGPxs4i1X8rr_9f8d8DxrxqPRqSTmGirhXU0cR3DHOsS2QbfK__VWtmPB7nT7P446MfhdhAmQSjOdiD2d-bJm12HBnp_kkSZjxDqRYgmJjEGxcuPkuorBXT7HEVsfy9WE0L/s1600/end+of+clear+image+command+05+29+00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwZHKuPaiTAGGPxs4i1X8rr_9f8d8DxrxqPRqSTmGirhXU0cR3DHOsS2QbfK__VWtmPB7nT7P446MfhdhAmQSjOdiD2d-bJm12HBnp_kkSZjxDqRYgmJjEGxcuPkuorBXT7HEVsfy9WE0L/s640/end+of+clear+image+command+05+29+00.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 18: zoomed image 17: Command 05 29 00 write after cleaning sequence </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTiIdy5RgsagKpgFCPZacGyaOfMtW6l4H5pi3qt2J3zylP_W0UZIt1_Cxa1wkQ2uhKMq75q40Ea7Puy6G5OX5STdjwSWZdSHQwyRhZSfh1n81CGQVtFlpSUwJyni88cIZCQFF2vkZDEJU4/s1600/write+one+frame+of+actual+content+after+display+comes+on.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTiIdy5RgsagKpgFCPZacGyaOfMtW6l4H5pi3qt2J3zylP_W0UZIt1_Cxa1wkQ2uhKMq75q40Ea7Puy6G5OX5STdjwSWZdSHQwyRhZSfh1n81CGQVtFlpSUwJyni88cIZCQFF2vkZDEJU4/s640/write+one+frame+of+actual+content+after+display+comes+on.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image 19: Write of the actual first Visible Frame data ( last part of the sequence shown in Image 2)</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Writing Data on to display is done by command 0x39 There is slight difference between package of first line and other line, first have byte 0x3C after ECC and 2nd - 240th line have 0x2C. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg49InDANzvbJ7TdwPr5hOYWYMWyZxqzKxPDCHru_QclUzJkfu-CrysdMfw7movwksoDkKTOBhAb6StpKi6E0x-Aa_P87MU2czU387paaSqGRuH-lVvNQTB1zwvdfG5ida6exxFQmyeaoWH/s1600/start_first+line+whole+packet+39+xxxx+2C.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg49InDANzvbJ7TdwPr5hOYWYMWyZxqzKxPDCHru_QclUzJkfu-CrysdMfw7movwksoDkKTOBhAb6StpKi6E0x-Aa_P87MU2czU387paaSqGRuH-lVvNQTB1zwvdfG5ida6exxFQmyeaoWH/s640/start_first+line+whole+packet+39+xxxx+2C.gif" width="640" /></a></div>
<br />
<br />
Signal Voltage<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicNtMLqIOc67NIfDNcTAKBjNGmeNNHLVDLO-l8mxo7GeLL_A949-djSo7ymoqI6nr758xVwN6xmjf1B-vB-r8Hg84WE6RQMHyPU3dQbq1XcqhpS4ltY8QXST9XuqmLYIXVg6BZEPXlBoxN/s1600/signal_voltage.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicNtMLqIOc67NIfDNcTAKBjNGmeNNHLVDLO-l8mxo7GeLL_A949-djSo7ymoqI6nr758xVwN6xmjf1B-vB-r8Hg84WE6RQMHyPU3dQbq1XcqhpS4ltY8QXST9XuqmLYIXVg6BZEPXlBoxN/s640/signal_voltage.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Signal Levels of data line in HS mode while Screen is connected Terminating the bus </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEtx8iukU83fJ4d01JEN84E3ZUhQucvf0WEukNNdoj8MMleOXINkKImxaCo5utX_ZSaHV7S3kcjALrm5jeG6ZkeTiD5m8WNi6ReialMW2XeqkbBEnpiYo2UE-BTihnvzd5eM2UORhOyaEX/s1600/voltage+level+data.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEtx8iukU83fJ4d01JEN84E3ZUhQucvf0WEukNNdoj8MMleOXINkKImxaCo5utX_ZSaHV7S3kcjALrm5jeG6ZkeTiD5m8WNi6ReialMW2XeqkbBEnpiYo2UE-BTihnvzd5eM2UORhOyaEX/s640/voltage+level+data.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">Signal Levels of data line in HS and LP mode while Screen is connected</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ahoDj2_U2YOcokqjwPrwUGtY6WJiHvxVQAaMgTENq-6uGVQRoBho2Zi5_vU2NvO6qdbREKNkivX4TT9rIDMb9rPmuFfWrJ1O8Kf2L87aX3TP7tR7ETwq0K9JbvFEILAAA8Q0cIIKzB7Z/s1600/end+of+packet+normal+write.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ahoDj2_U2YOcokqjwPrwUGtY6WJiHvxVQAaMgTENq-6uGVQRoBho2Zi5_vU2NvO6qdbREKNkivX4TT9rIDMb9rPmuFfWrJ1O8Kf2L87aX3TP7tR7ETwq0K9JbvFEILAAA8Q0cIIKzB7Z/s640/end+of+packet+normal+write.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Individual line in Visual content write </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRd95aIgUU9giCLHMVMGAjaPrZCHprss0SE0mLG05XXIKogzVtvBY6pYPiralvgGYAeXzi246zHXVa8xffAHwsU2yICX5N46uA_EFdqriBPVpYw4N3IAAGsd4hZuZWuvbPIb2H87ax2kEw/s1600/clear+display+-+seems+to+be+slower+than+normal+write.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRd95aIgUU9giCLHMVMGAjaPrZCHprss0SE0mLG05XXIKogzVtvBY6pYPiralvgGYAeXzi246zHXVa8xffAHwsU2yICX5N46uA_EFdqriBPVpYw4N3IAAGsd4hZuZWuvbPIb2H87ax2kEw/s640/clear+display+-+seems+to+be+slower+than+normal+write.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Individual line written during cleaning phase line coming at slower rate compare to normal visual writes </td></tr>
</tbody></table>
<b>FPGA Hardware Setup</b><br />
<b><br /></b>
Here is the schematic how i have connected Display to FPGA<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih6jj6qKw2d79olz6jpabNqbxJl8ZNfECHkHPWkOzDvn5BolFePrYEovhfmR-ZJ6sVnWwa-6Nqg-bWOiMYEnVeIqO6mfyMFiU70o7DLphysjW24HyzXX7urer019dEfpbQzLdEglu-cjll/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_schematic.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih6jj6qKw2d79olz6jpabNqbxJl8ZNfECHkHPWkOzDvn5BolFePrYEovhfmR-ZJ6sVnWwa-6Nqg-bWOiMYEnVeIqO6mfyMFiU70o7DLphysjW24HyzXX7urer019dEfpbQzLdEglu-cjll/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_schematic.JPG" width="640" /></a></div>
<br />
<h2>
<b>LCD Connector Pinout</b></h2>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8pGZUhGztorgrG6dGDCo0HVITEZfvgf5SUCcvaFZYvExzImKQdsaKh5GxMyU_aiO7M2VCdDr0TZ2jvyoXpcCutdV23D1PErXAovhJkwpvz1_uyTvUxorrypj2LHJr0-WSsgZKPKv8-0gB/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1600" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8pGZUhGztorgrG6dGDCo0HVITEZfvgf5SUCcvaFZYvExzImKQdsaKh5GxMyU_aiO7M2VCdDr0TZ2jvyoXpcCutdV23D1PErXAovhJkwpvz1_uyTvUxorrypj2LHJr0-WSsgZKPKv8-0gB/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA.JPG" width="640" /></a></div>
<b><br /></b>
<br />
<h2>
<b>Generating MIPI Signal from a FPGA</b></h2>
<br />
<b><br /></b>
From a lattice document here is how one can use LVDS25E mixed with LVCOM12 to generate mipi signal<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX4J9PASAuH-bu_4bANj3u87b778k7YLookOSVStjfk3l1TecHr47eXXWVlvUqWb7PUwZXkMLDLqpY_Bsx25OnWYz_Soff45ACPf4r7mMpGPcJOVcD9TKcYNI8QkKxFfpdjBh7rgVG2Z8U/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25287%25297.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1091" data-original-width="1563" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX4J9PASAuH-bu_4bANj3u87b778k7YLookOSVStjfk3l1TecHr47eXXWVlvUqWb7PUwZXkMLDLqpY_Bsx25OnWYz_Soff45ACPf4r7mMpGPcJOVcD9TKcYNI8QkKxFfpdjBh7rgVG2Z8U/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25287%25297.JPG" width="640" /></a></div>
Image blow shows how to drive these signal in various stage of frame.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibgZEYUUnEwa4IQmdG2XwlLtBozi1EQypevnCukoeRIUowPTlaDwwQ-VYJh8-QdWOC0yavrYHRw17n9W5a5ajCI1gKZcGYKDgBreA0jwpi_Nd4CqJCMU2wxdJw_-IVpFz4uYcIzSAkE0ll/s1600/voltage+level+data.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibgZEYUUnEwa4IQmdG2XwlLtBozi1EQypevnCukoeRIUowPTlaDwwQ-VYJh8-QdWOC0yavrYHRw17n9W5a5ajCI1gKZcGYKDgBreA0jwpi_Nd4CqJCMU2wxdJw_-IVpFz4uYcIzSAkE0ll/s640/voltage+level+data.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglUx2fqtWzIe8BHTnjz9it8pRbdSLI2Mh7DEDvuX6Rt9IIYzzcivl_Fj4vaaiXzA9xYQ9GPPR6E2SGi10y1rxEmp2AWXoLCL5h_AwZTQsqULws8YN1vrdGhTadaWhwQP_dJ2I6xD9PifRS/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%252810%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="933" data-original-width="1600" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglUx2fqtWzIe8BHTnjz9it8pRbdSLI2Mh7DEDvuX6Rt9IIYzzcivl_Fj4vaaiXzA9xYQ9GPPR6E2SGi10y1rxEmp2AWXoLCL5h_AwZTQsqULws8YN1vrdGhTadaWhwQP_dJ2I6xD9PifRS/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%252810%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Prototype Adapter board To be plugged into FPGA Board</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNz7TWAT7QF5sxFo5iYGmFOm2n4xYLFqzP-LLCyUXsW9pYdtfnjfP3aRtZESkn9KRwZQSOHjcV6MiCQ2Q-b7aTJAkmx8TRut9efDEZ4YXPa74Q52RKVnUyYRJRUZ-in_WKdC1-6kaJJVDD/s1600/IMG_6125.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1236" data-original-width="1600" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNz7TWAT7QF5sxFo5iYGmFOm2n4xYLFqzP-LLCyUXsW9pYdtfnjfP3aRtZESkn9KRwZQSOHjcV6MiCQ2Q-b7aTJAkmx8TRut9efDEZ4YXPa74Q52RKVnUyYRJRUZ-in_WKdC1-6kaJJVDD/s640/IMG_6125.JPG" width="640" /></a></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdnIsPDutHhSt_OvJu0XNnoUnyLhuKij-zaig6i3Ve0Tbkqy-A1GDC8kVwU5jNQXUUzTsG-oaylv3vPbQujz1eOP58zPCfTgbQlp2HrNhwnM0s-cX5Js6CQ3gKkI7_PzQXou9WRV2CJls/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25281%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="897" data-original-width="1600" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdnIsPDutHhSt_OvJu0XNnoUnyLhuKij-zaig6i3Ve0Tbkqy-A1GDC8kVwU5jNQXUUzTsG-oaylv3vPbQujz1eOP58zPCfTgbQlp2HrNhwnM0s-cX5Js6CQ3gKkI7_PzQXou9WRV2CJls/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25281%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: small; text-align: left;">Effect of Time take to process 15 36 88 2A , in the middle of Display you can see color graph changes because i was not waiting long enough for byte order to be change so it was updating in the middle of display write </span></td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievQEk_hsylz87I7pZVbXs-HJ741B-S6umHhic8uyNM9o7FPJ4yS_6nxRX4PiMyso7U_pN6n6AdANpI6pAZhKPjRb-y5BUv-POJMfUVnV0QHQAn01YVF6nPIHqM4mX0_TGmP7Y6xNgnSky/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1231" data-original-width="1600" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEievQEk_hsylz87I7pZVbXs-HJ741B-S6umHhic8uyNM9o7FPJ4yS_6nxRX4PiMyso7U_pN6n6AdANpI6pAZhKPjRb-y5BUv-POJMfUVnV0QHQAn01YVF6nPIHqM4mX0_TGmP7Y6xNgnSky/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25283%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-7qafHZelcdMpe-dSE6beMO89Nb6j2CFAPhqHSwydJQj5k0y3X-w1_S38vWO-jQ9wd00f18EeocpSpABbx2mPYg1PKKwjLaGr_bQlUpna6_C-7vAkwmMN98ZfNJqlgZSkrfvNSioNMMn5/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25284%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1252" data-original-width="1600" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-7qafHZelcdMpe-dSE6beMO89Nb6j2CFAPhqHSwydJQj5k0y3X-w1_S38vWO-jQ9wd00f18EeocpSpABbx2mPYg1PKKwjLaGr_bQlUpna6_C-7vAkwmMN98ZfNJqlgZSkrfvNSioNMMn5/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA24542+%25284%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: small; text-align: left;">First Correctly working Test After fixing Byte order issue show by image above </span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<b>PCB Prototype</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Mw3Z5wke0bvZljcjrf63WRGEvFO4yPdmKC6yCiy9oFdEekmev_R8VLeqHsgL3S2hFZQBoXMKveOaIkmjf7genoy5hYddCOrkAFyy2zswBvLQFt7ATCxLTiKGx6G_3XtPJw1G02TezeM2/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1124" data-original-width="1600" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Mw3Z5wke0bvZljcjrf63WRGEvFO4yPdmKC6yCiy9oFdEekmev_R8VLeqHsgL3S2hFZQBoXMKveOaIkmjf7genoy5hYddCOrkAFyy2zswBvLQFt7ATCxLTiKGx6G_3XtPJw1G02TezeM2/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA2.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">V1.0 PCB</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhAIp_tx-bEDaMWuMVd9oriO6VVyGvjo_Bq2gTfff3uBdEF-v-g2aYtWgHy-2rMrrYlBKUZdYR3NWKve3oqkQ8kA8mm7zM7dyWMrWSySCit3emstxZ5VKw0tdfBEmEVjSpGzpSmt9z6NWC/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_PCB.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1114" data-original-width="1600" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhAIp_tx-bEDaMWuMVd9oriO6VVyGvjo_Bq2gTfff3uBdEF-v-g2aYtWgHy-2rMrrYlBKUZdYR3NWKve3oqkQ8kA8mm7zM7dyWMrWSySCit3emstxZ5VKw0tdfBEmEVjSpGzpSmt9z6NWC/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_PCB.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
First version of PCB had missing R17 pull up on RST , published schematic and PCB V1.1 has it fixed. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYAyd1CHyWTzVBU2LSCVWy0CcJT_5lIySgj8PoyW_fwJNFCmfq7D7sLffS9ju50Se6WGzSZCbbxzmdQPJ9rFPB8smKvPe_wf0wH1pweqi9Dp_T-Oh0hLW4SjNs4UjzH07CBFOph6Wbfqj1/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1098" data-original-width="1600" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYAyd1CHyWTzVBU2LSCVWy0CcJT_5lIySgj8PoyW_fwJNFCmfq7D7sLffS9ju50Se6WGzSZCbbxzmdQPJ9rFPB8smKvPe_wf0wH1pweqi9Dp_T-Oh0hLW4SjNs4UjzH07CBFOph6Wbfqj1/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25283%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpq196TgkFe73EmGRJiLSamoeLjkWFys7ywQQgcd4ZXVMvPkuaNOfDGdHvxqDXOAJTQe4ha_gGJWnlyt9NnPC0E1OKlk8gLoMoHaoK7FdkRIhyphenhyphenrqbV88_5ttYWIPbszJ9httXWsEFq0X2/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1093" data-original-width="1600" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpq196TgkFe73EmGRJiLSamoeLjkWFys7ywQQgcd4ZXVMvPkuaNOfDGdHvxqDXOAJTQe4ha_gGJWnlyt9NnPC0E1OKlk8gLoMoHaoK7FdkRIhyphenhyphenrqbV88_5ttYWIPbszJ9httXWsEFq0X2/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25282%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1GH2wcf8ZAU9u27GDXoNQSqHPeBt0XRK6Kxbb1wOcmCSF6-16AEbMfMM8MR52uMcUY2Xsr-U4hkK8of2hWUOSdxzqDS_HzPlGjBe28FwTCZaGqHXw_N7XP4rneFJoHXJzNtqP1SY88of1/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25284%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1200" data-original-width="1600" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1GH2wcf8ZAU9u27GDXoNQSqHPeBt0XRK6Kxbb1wOcmCSF6-16AEbMfMM8MR52uMcUY2Xsr-U4hkK8of2hWUOSdxzqDS_HzPlGjBe28FwTCZaGqHXw_N7XP4rneFJoHXJzNtqP1SY88of1/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25284%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">FPGA Showing Builtin ROM Test pattern</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT590zaIlMT_KOUI-weKWTk25q3C2n74lkfZM4AR6mtCLjkE3O6rvwqsfTFzYRv8M7iYo9k6lyMR7WvvtYNQvGnUHYRg1s0Cugk889_RsS3pf2EnwcG6dL-JxD92ArOAMqP6xw9UXINhgZ/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25285%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1238" data-original-width="1600" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT590zaIlMT_KOUI-weKWTk25q3C2n74lkfZM4AR6mtCLjkE3O6rvwqsfTFzYRv8M7iYo9k6lyMR7WvvtYNQvGnUHYRg1s0Cugk889_RsS3pf2EnwcG6dL-JxD92ArOAMqP6xw9UXINhgZ/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdI8YLDKrgCzHEho_pcKZwZU_fxtp2Hgqhwp_1c4UmB6I4nh0yS_-FHDhb92X6VjoRmoGXkmtgtk_GEDN8bZk4PGKFaWwYOVIKZFDDOTzHInTK8LCLVAkg_2rsm2GGcfJ8c-LRk5RB_UO3/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1116" data-original-width="1600" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdI8YLDKrgCzHEho_pcKZwZU_fxtp2Hgqhwp_1c4UmB6I4nh0yS_-FHDhb92X6VjoRmoGXkmtgtk_GEDN8bZk4PGKFaWwYOVIKZFDDOTzHInTK8LCLVAkg_2rsm2GGcfJ8c-LRk5RB_UO3/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihP7ZJdcqd0WWSh5Dh5_TLyhfp8zzAJMejNr_67iHV68zVfagIzQcN2gZIEHLk2DbA8OJIeKYiA_DMsWOEz7DdwSeo3MvSWT1itIiGbEYmAgqYDeewmUZ8Yn0e2M4q1bLa-3SmCGth-ysZ/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1172" data-original-width="1600" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihP7ZJdcqd0WWSh5Dh5_TLyhfp8zzAJMejNr_67iHV68zVfagIzQcN2gZIEHLk2DbA8OJIeKYiA_DMsWOEz7DdwSeo3MvSWT1itIiGbEYmAgqYDeewmUZ8Yn0e2M4q1bLa-3SmCGth-ysZ/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25287%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS709bAX_myHYSLCL7QQYvrXg1gM7iUh82gFFjkjN0E5iaAK89QbnhpEtmHT5u9Hx4fv5YThBro0KA55zkHBNFjrMIuXuXwVIBLXc9wLUrpIKlQpCH0fj4mO5uXrb7FYwtTNLsCzPyCT72/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="970" data-original-width="1369" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS709bAX_myHYSLCL7QQYvrXg1gM7iUh82gFFjkjN0E5iaAK89QbnhpEtmHT5u9Hx4fv5YThBro0KA55zkHBNFjrMIuXuXwVIBLXc9wLUrpIKlQpCH0fj4mO5uXrb7FYwtTNLsCzPyCT72/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+%25281%25292.gif" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<b>Verilog Modules</b></h2>
<div class="separator" style="clear: both; text-align: left;">
Block Diagram how i have implemented modules is shown in the image blow.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXZ9fO1fCU2wZHgVy_66XTKVyIpKjxtUWDCqavl0gr9_mzoCu94QQwiLqqal7vENAZISl9hCjOU3zVPwGJn2PuyQsVS50sxZSvE-cfsdmgOBm_Vt03CEAMqm7YEg-6949HNiqLf85Ptyi/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+76%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="856" data-original-width="1600" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggXZ9fO1fCU2wZHgVy_66XTKVyIpKjxtUWDCqavl0gr9_mzoCu94QQwiLqqal7vENAZISl9hCjOU3zVPwGJn2PuyQsVS50sxZSvE-cfsdmgOBm_Vt03CEAMqm7YEg-6949HNiqLf85Ptyi/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA+76%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
mipi_dsi_bridge.v file contains main control.</div>
<div class="separator" style="clear: both; text-align: left;">
spi_slave.v file consist of SPI slave RX logic. </div>
<div class="separator" style="clear: both; text-align: left;">
send_mipi_frame.v has DPHY control logic which also control ROM and FIFO Read operation. </div>
<div class="separator" style="clear: both; text-align: left;">
pll.v has pll module.</div>
<div class="separator" style="clear: both; text-align: left;">
rom.v has ROM initialized wit rom.mem rom file.</div>
<div class="separator" style="clear: both; text-align: left;">
DDR_MIPI.V has my customized DDR element with LP bufffer.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<b>Theory of Operation</b></h2>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
System wake up from reset, LCD Reset control logic in the main control take over, Does correct power sequencing and with appropriate timings resets LCD. </div>
<div class="separator" style="clear: both; text-align: left;">
One LCD is reseted , LCD get send initialization sequence with Display on command. Reset module waits for init finish. Then If requested also burst test pattern onto display From ROM.</div>
<div class="separator" style="clear: both; text-align: left;">
ROM module store institutionalization sequence and other commands . ROM also store Test pattern. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Once initialization is done SPI waits for transfer from SPI master,</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
System is designed to latch commands and data from SPI. System is designed to send one complete MIPI HS line frame to display. Data is latched over one SPI frame line by line basis. master must transmit only one line per SPI translation. partial line will be padded zeros*.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Once Master start sending SPI CS activates FIFO write and everything received over SPI will be latched into fifo. SPI module also copy first byte off the transfer keep it as command and send into Main control logic once SPI CS deactivated.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Main Control module upon reception of command form SPI module send command to DPHY control module. and waits for signal from DPHY control for finish of TX. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
DPHY control module is responsible sending one complete HS frame. DPHY control parses the command with help ROM , Generate HS-Entry sequence, sends needed preamble , sends ROM, if needed send FIFO content and finally finish it trail bytes. and Notify back to Main control once Transaction is done </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
PLL module generate three clocks , Two 90 degree phase difference fast clock for MIPI hs bit clock and one slow sync clock for both MIPI and SPI module. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
All other module get fed by byte_clock generated by DPHY_TX module. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
FIFO is 1024 byte long which can hold two lines,FIFO enables master to continuously send data while DPHY TX module is at the same time transmitting over to MIPI lines. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>DDR TX BLOCK</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
I have customized this module a little when compare to standard ipexpress generated one. I have made changes to support TX only.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgasiYTw0xmzBK474E-uiO5u3tBWL1N0fMPdzYX0r6tum2-KnxuPcAnuSBofWMFr9HN5mFF3tyr65mgky1qXCyciWw90WHntDcgZjXf-zxuT7hIxF3ach34zdogIg_8HC6RFLxE1T1TZFL_/s1600/MIPI_DDR_TX.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="931" data-original-width="1600" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgasiYTw0xmzBK474E-uiO5u3tBWL1N0fMPdzYX0r6tum2-KnxuPcAnuSBofWMFr9HN5mFF3tyr65mgky1qXCyciWw90WHntDcgZjXf-zxuT7hIxF3ach34zdogIg_8HC6RFLxE1T1TZFL_/s640/MIPI_DDR_TX.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<h2 style="clear: both; text-align: left;">
Simulation<b> </b></h2>
<div>
Lattice Diamond comes with a version of ActiveHDL so i have used active HDL to simulate. </div>
<div>
<br /></div>
<div>
Testbench is written to simulate Reset , Init, Test Pattern and the finally SPI Frame write</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYT5dyS3JbujppWIkvTcEUPxHLytotL59sZvORQGnp80gtIEBPlOvsBGghx2UxwDVx18u-CkxN_KtdWNo-KVlHbmXMrf_UGLI78vcvZVSOMOrkZ90n1kzpVIVVN5KsSRebpipN2qIX1tGf/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="791" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYT5dyS3JbujppWIkvTcEUPxHLytotL59sZvORQGnp80gtIEBPlOvsBGghx2UxwDVx18u-CkxN_KtdWNo-KVlHbmXMrf_UGLI78vcvZVSOMOrkZ90n1kzpVIVVN5KsSRebpipN2qIX1tGf/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">ActiveHDL Simulation showing Reset -> Init-> Test Pattern-> SPI Frame write</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM1SmpX8cvx-SlmKpJShMlWiEBBEUbMPHVz-D2Pjk7_gzTkPMXFj6zB3MtILjXJTm-SOEyzIp_IOS7LityUcq2K3c743p7aIBp1DeAnHkjm90dYtJCnpIK9r62ulayugcaUnPR1-9kJR-u/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="822" data-original-width="1600" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM1SmpX8cvx-SlmKpJShMlWiEBBEUbMPHVz-D2Pjk7_gzTkPMXFj6zB3MtILjXJTm-SOEyzIp_IOS7LityUcq2K3c743p7aIBp1DeAnHkjm90dYtJCnpIK9r62ulayugcaUnPR1-9kJR-u/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Reset and Initialization Sequence </td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0Tipnb7R35OtJpiYFSV_szMnH78hGUeuIrwQhP86gI0MEoFepMRNLp0nPPsYlJkxiCuxhjQLYXLTspWVGsZhL8QpYsZuX32JoDY3SPq37TJN8Eqsy-dmCmxAvUmiCR20XH2NAqUnzypyg/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="741" data-original-width="1600" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0Tipnb7R35OtJpiYFSV_szMnH78hGUeuIrwQhP86gI0MEoFepMRNLp0nPPsYlJkxiCuxhjQLYXLTspWVGsZhL8QpYsZuX32JoDY3SPq37TJN8Eqsy-dmCmxAvUmiCR20XH2NAqUnzypyg/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation3.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Initialization Sequence</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmA9IvZVTV2km6mvy7koc_Zc_qaQ9aRnfvZbmVU7LI88IhyphenhyphenZJ7osNqUPK8-faLzg0WFIb5erp1r0DRlxj73Fp8e6pFrLTEqFNAlgogBpfQO9iHQm8UD1_wu0L1DNV3sVz59q03EEZZQZi2/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="742" data-original-width="1600" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmA9IvZVTV2km6mvy7koc_Zc_qaQ9aRnfvZbmVU7LI88IhyphenhyphenZJ7osNqUPK8-faLzg0WFIb5erp1r0DRlxj73Fp8e6pFrLTEqFNAlgogBpfQO9iHQm8UD1_wu0L1DNV3sVz59q03EEZZQZi2/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation4.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Start of First line Write of Test pattern From ROM</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuP124_kOcSKMp2DdRxGZb2cEpuJhrSK-qpjA83eh7Od-6rMFR46E-ZQLPxjq2R4mV-Pr5RdJqm72Dq7OfA-oQIM9v4pwxaUdFbLDpapb3rwQREsW7dTeGY1M-Fgv4FLKRVezL5aAyrV0m/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="742" data-original-width="1600" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuP124_kOcSKMp2DdRxGZb2cEpuJhrSK-qpjA83eh7Od-6rMFR46E-ZQLPxjq2R4mV-Pr5RdJqm72Dq7OfA-oQIM9v4pwxaUdFbLDpapb3rwQREsW7dTeGY1M-Fgv4FLKRVezL5aAyrV0m/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation6.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Start Writing SPI Data into FIFO</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
<br /></div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOetzhI1laDQ93JYV9GqOQZE8HCwtcf4l2a7gHOoe3m8lQ68Fyjwd8JZG0cqrXHtvFgK7Jww81aJ4j3D6jArnv1Vw2RzEhDKn623YnB0_F0DSVwtBpn4PJWy_tvAt7C_tOSj4PZWVm4Ef/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="742" data-original-width="1600" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOetzhI1laDQ93JYV9GqOQZE8HCwtcf4l2a7gHOoe3m8lQ68Fyjwd8JZG0cqrXHtvFgK7Jww81aJ4j3D6jArnv1Vw2RzEhDKn623YnB0_F0DSVwtBpn4PJWy_tvAt7C_tOSj4PZWVm4Ef/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation7.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">SPI Received data transmitted First line (From FIFO)</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6eEbjMtT7Dtm7iCaACUbUpOGm2Vh8Np4yNibOILEZ5-D14ZaMx3AFpN0S2B_6xhBsEGcweA7IB6hYmbNYCERlPcrQQRnOuJQbUa3rYTkinVfDBxml7W-mYu84FEyJoJ1qFXjs1tKwckK_/s1600/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation9.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="680" data-original-width="1600" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6eEbjMtT7Dtm7iCaACUbUpOGm2Vh8Np4yNibOILEZ5-D14ZaMx3AFpN0S2B_6xhBsEGcweA7IB6hYmbNYCERlPcrQQRnOuJQbUa3rYTkinVfDBxml7W-mYu84FEyJoJ1qFXjs1tKwckK_/s640/mipi_fpga_ipod_lcd_nano_6_ipone_verilog_spi_mipi_bridge_driver_vdhl_FPGA_simulation9.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">End of Data Write </td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h2 style="clear: both; text-align: left;">
</h2>
<h2 style="clear: both; text-align: left;">
<b><br /></b></h2>
<h2 style="clear: both; text-align: left;">
<b>USB Controller</b></h2>
<div>
To transmit images from PC to the display, I have Made PIC32 USB HS based USB to SPI Bridge with a QT5 Application running on PC. This post has gone too long so Details about USB controller and QT5 Application can be found in the <a href="https://www.circuitvalley.com/2020/01/spi-mipi-bridge-fpga-verilog-hdl-ipod-nano-nano-lcd-iphone-mipi-lcd-usb-pic32-usb-hs.html">next post</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdWe0TAmwspJCUvaPt_utd0sQ-JqMyxGDxpspET8fbC0OT7X4EP0zRM9tcrkifn_yCVHszWvN_qUCUjYuQlzRWehw_3Q4Iq_PWnZJSYIYO7_pFaen-qXaE2H7lVElCvV_Tvg46phDMcwXZ/s1600/IMG_6177.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdWe0TAmwspJCUvaPt_utd0sQ-JqMyxGDxpspET8fbC0OT7X4EP0zRM9tcrkifn_yCVHszWvN_qUCUjYuQlzRWehw_3Q4Iq_PWnZJSYIYO7_pFaen-qXaE2H7lVElCvV_Tvg46phDMcwXZ/s320/IMG_6177.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br /></div>
<div>
<br /></div>
<div>
<a href="https://www.circuitvalley.com/2020/01/spi-mipi-bridge-fpga-verilog-hdl-ipod-nano-nano-lcd-iphone-mipi-lcd-usb-pic32-usb-hs.html">https://www.circuitvalley.com/2020/01/spi-mipi-bridge-fpga-verilog-hdl-ipod-nano-nano-lcd-iphone-mipi-lcd-usb-pic32-usb-hs.html</a></div>
<h2 style="clear: both; text-align: left;">
<b>Source Code</b></h2>
</div>
<div>
Verilog Source code andother files are availabe in github repo </div>
<div>
<a href="https://github.com/circuitvalley/mipi_dsi_bridge_fpga">https://github.com/circuitvalley/mipi_dsi_bridge_fpga</a></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com2tag:blogger.com,1999:blog-4474580574529252327.post-88036728028591219532019-12-02T23:08:00.000+01:002019-12-15T21:50:29.743+01:00DIY USB 3.0 Camera: UVC Video Device Class VGA Camera Using Cypress FX3<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
This Project is going to next in the series of previous projects. Previously i interfaced inexpensive OV7670 VGA Camera to MCU.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
In this post we will overcome the 10FPS limit of frame rate caused by slow Parallel port of PIC32MZ. This version of Camera will use 4.8Gbps Cypress FX3 USB 3.0 controller, with use of this controller comes 32bit 100Mhz GPIF interface, which make it possible to easily implement 30 FPS 640x480 live video transfer. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Capability of Cypress FX3 is way higher than VGA 30FPS, but for this test project i will be limited the by the max resolution of OV7670. </div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju9H9wmRIWWkcSqdEf03YqCesENEIbQOCUWnMo0FKkJZY82oXTXHc8NO1mWoJvWCHJE135tYmign6PiK7wv4utpIDq5oiPbNrRqVN2D28_rSGuabsqyOQhwhtGLhUm8UhUSgKFq5GdNZ6W/s1600/USB_3_diy_usb_cam.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1166" data-original-width="1600" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju9H9wmRIWWkcSqdEf03YqCesENEIbQOCUWnMo0FKkJZY82oXTXHc8NO1mWoJvWCHJE135tYmign6PiK7wv4utpIDq5oiPbNrRqVN2D28_rSGuabsqyOQhwhtGLhUm8UhUSgKFq5GdNZ6W/s640/USB_3_diy_usb_cam.JPG" width="640" /></a></div>
<div style="text-align: justify;">
<br />
<br />
<a name='more'></a><br />
<b><u>Hardware Connection</u></b><br />
<br />
FX3 has Extremely flexible 32bit 100Mhz GPIF II interface for picking up data from external application processor/Data Producer. OV7670 Connected to GPIF II with 8bit prallel bus with Hsync and Vsyn line. GPIF is driver as slave with interface clock supplied from the camera pixel clock.<br />
<br />
Here is how camera is connected to FX3<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd8Tq-1EWHDmwbylYHWhdZNFpXPjCMLBNqIZfOxK_fj7e19zMgTMtgwW_UYULbLtZm6JprAjEFN24t9mRSHQDkVwJh2a4wGfRJuTcz0WT5ZrAZYK4ovVja3xb1801JigUojHFVUahJY6Ku/s1600/USB_3_diy_usb_cam1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="617" data-original-width="719" height="548" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd8Tq-1EWHDmwbylYHWhdZNFpXPjCMLBNqIZfOxK_fj7e19zMgTMtgwW_UYULbLtZm6JprAjEFN24t9mRSHQDkVwJh2a4wGfRJuTcz0WT5ZrAZYK4ovVja3xb1801JigUojHFVUahJY6Ku/s640/USB_3_diy_usb_cam1.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Signal CLK is pixel clock generated by camera<br />
GPIF interface is Driven by a state machine , Here is the state machine which i used to latch data into DMA buffers. this state machine is from cypress FX3 application note AN75779 more details about can be found in the PDF document by cypress.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKXfDfkk6Pi8VrirsKA0-zr00xSO1CN_yekZ1qwgEy-6su81m6Mx-TuYQzThfJTb0pD5goRxVc8cYHISDAIB3YkdAW9bpBddEj3AL_1F9CQYERmcgj-TG4_QdehxUYU9X8AE-5gFv52V0_/s1600/USB_3_diy_usb_cam2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="815" data-original-width="1465" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKXfDfkk6Pi8VrirsKA0-zr00xSO1CN_yekZ1qwgEy-6su81m6Mx-TuYQzThfJTb0pD5goRxVc8cYHISDAIB3YkdAW9bpBddEj3AL_1F9CQYERmcgj-TG4_QdehxUYU9X8AE-5gFv52V0_/s640/USB_3_diy_usb_cam2.JPG" width="640" /></a></div>
<br />
<b>Test with VLC </b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbkmOCKQN1h9im8-0z8d1YKi_kue6nDRBZ3KJRooGZX_69S9fktqXHPnkk7HN69z0ASxHNWYTNbcq3WQSnYvIzkNVF-XLiYbHJBE41kZ5M9XP0pZrc-VGp35Hkv8Jcw3rYnZh3kDoCWp9f/s1600/test.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="650" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbkmOCKQN1h9im8-0z8d1YKi_kue6nDRBZ3KJRooGZX_69S9fktqXHPnkk7HN69z0ASxHNWYTNbcq3WQSnYvIzkNVF-XLiYbHJBE41kZ5M9XP0pZrc-VGp35Hkv8Jcw3rYnZh3kDoCWp9f/s400/test.png" width="400" /></a></div>
<b><br /></b>
<b><br /></b>
<b>Firmware </b><br />
<b><br /></b>
Firmware as usual can be found in my github account<br />
<a href="https://github.com/circuitvalley/Cypress-FX3-USB3">https://github.com/circuitvalley/Cypress-FX3-USB3</a></div>
</div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com58Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-33989765049938721082019-12-02T00:43:00.000+01:002019-12-03T14:04:58.270+01:00Marconi 2024 RF Signal Generator LCD Display Repair<div dir="ltr" style="text-align: left;" trbidi="on">
This is going to addition to my previous <a href="https://www.circuitvalley.com/2019/09/marconi-2024-2023-error-508-amplitude-modulator-unleveled-repair-fix.html">Marconi 2024 Error 508 repair </a>. I have recent bought my self a broken Marconi 2024 which has many issues, few issues i fixed in previous repair post now in this post i will show you how i replaced the LCD.<br />
<br />
As many other people have pointed out controller of the LCD fitted in Marconi is compatable to RA6963,T6963 Controller so i search around on web and found ERM24064DNS-1 .<br />
<br />
The LCD display we are replacing had VFD back-light but replacement LCD has LED back-light. so i need to take out VFD power supply and bypass with for 5V LED power supply.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyRlSSjNhnkuWMHxzwKozS6-3IyLQeVtgevm5MSWmdjzJb-sYf1yCNZxmdYSCGEOSpUlgIbVqgRtm2onT19lgkTSpLLGkLaSGav3NcH6YU2bpppHfMegQ3UseGADWturM-9k620bNiJRWn/s1600/Marconi+2024+LCD+repair+%252812%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyRlSSjNhnkuWMHxzwKozS6-3IyLQeVtgevm5MSWmdjzJb-sYf1yCNZxmdYSCGEOSpUlgIbVqgRtm2onT19lgkTSpLLGkLaSGav3NcH6YU2bpppHfMegQ3UseGADWturM-9k620bNiJRWn/s640/Marconi+2024+LCD+repair+%252812%2529.JPG" width="640" /></a></div>
<br />
Here is how VFD power supply is removed and bypassed, 5V is supplied by the board Display also needs 5V.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF577SyZ6IIga5mK854c99NlFo_hgy0qxplMSyNdNhAtQVrEWshsIOCUuBa0UltMx3KS348r-c-Lz8rOg4sc4fBXsmjQk0mw1PotYG4DJTH0F1hTpIT0iipURVpISLbrkVAfbww9KH4oZD/s1600/Marconi+2024+LCD+repair+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="972" data-original-width="1600" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF577SyZ6IIga5mK854c99NlFo_hgy0qxplMSyNdNhAtQVrEWshsIOCUuBa0UltMx3KS348r-c-Lz8rOg4sc4fBXsmjQk0mw1PotYG4DJTH0F1hTpIT0iipURVpISLbrkVAfbww9KH4oZD/s640/Marconi+2024+LCD+repair+%25281%2529.JPG" width="640" /></a></div>
<br />
Replacement LCD Display size is exactly same but PCB size is small so mounting screw are different location. and Display thickness is also less with new Display.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPIJs5JkYNU1KgInpndkWLA9h-W3hDIifDD8pumThdcy2meWhlCTWvlyTh-H9sESZ1LVAKWn6A7kJ526UXU4odYXB2NMU14UEuLg0Y4UoLfZvYHPu3emM12DDcanZ-LsWO2dpYKQQrg5bb/s1600/Marconi+2024+LCD+repair+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1006" data-original-width="1600" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPIJs5JkYNU1KgInpndkWLA9h-W3hDIifDD8pumThdcy2meWhlCTWvlyTh-H9sESZ1LVAKWn6A7kJ526UXU4odYXB2NMU14UEuLg0Y4UoLfZvYHPu3emM12DDcanZ-LsWO2dpYKQQrg5bb/s640/Marconi+2024+LCD+repair+%25282%2529.JPG" width="640" /></a></div>
<br />
<a name='more'></a><br /><br />
Replacment LCD also and Two row header instead of single row so i have to make adapter<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiys4JyDEgWr36NFA-PJ4ergE3tAY7bL0J-NCixeIjFd0yfouK9dxtb9cxXKIfg3yIYbzSFcPIBLli4MRENIrAJcr0EBvhaVGcdcvhyajhKTpCAYSNtQN-BtFbR93_RUxdCeXnOfGY7KnJq/s1600/Marconi+2024+LCD+repair+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1057" data-original-width="1600" height="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiys4JyDEgWr36NFA-PJ4ergE3tAY7bL0J-NCixeIjFd0yfouK9dxtb9cxXKIfg3yIYbzSFcPIBLli4MRENIrAJcr0EBvhaVGcdcvhyajhKTpCAYSNtQN-BtFbR93_RUxdCeXnOfGY7KnJq/s640/Marconi+2024+LCD+repair+%25283%2529.JPG" width="640" /></a></div>
<br />
To Compensate for mounting hole and display thickness. i made this little PCB with mounting posts.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijlEZbzuNaBdLeJD5aQkqZ_V_8zM8SkNwPsPw5vnQweRj40UoQJdPJG5Jfrfel7SmWw0egZyRxF40JiQSr2PvheLfuMW2HDbtTGLTQeAByQIZ-uN-MbVoVFPF6xqT_YD2WXqKtKYRg4yTv/s1600/Marconi+2024+LCD+repair+%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="737" data-original-width="1600" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijlEZbzuNaBdLeJD5aQkqZ_V_8zM8SkNwPsPw5vnQweRj40UoQJdPJG5Jfrfel7SmWw0egZyRxF40JiQSr2PvheLfuMW2HDbtTGLTQeAByQIZ-uN-MbVoVFPF6xqT_YD2WXqKtKYRg4yTv/s640/Marconi+2024+LCD+repair+%25284%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6b7MKb2q4aqZx-ld2McBHtW1CPmi4T6GH3ltw8Jl1-JjlBwd-NYRlw6QXhX6uZ1NXzbdiqjQBgOLLDgFJz9aG6EDQDsf2GqwoqP5aeAqLTjAhURtE3gnAVrHDk9HZVgeMbODb6Oq_kUWE/s1600/Marconi+2024+LCD+repair+%25285%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="949" data-original-width="1600" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6b7MKb2q4aqZx-ld2McBHtW1CPmi4T6GH3ltw8Jl1-JjlBwd-NYRlw6QXhX6uZ1NXzbdiqjQBgOLLDgFJz9aG6EDQDsf2GqwoqP5aeAqLTjAhURtE3gnAVrHDk9HZVgeMbODb6Oq_kUWE/s640/Marconi+2024+LCD+repair+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjslrjgvABY4cC8Nu4PduzbCimnYLEJtpXmU1TLiwwrMfgaUZh168p6nHhEL5m-F0iuTlriuOKgVY19ogw4zMmY9E-EQ2hAva0qYFv0X9n95nKBhLzbOaF0IQLmdDW2uYsd8l0Ih3sIA_1s/s1600/Marconi+2024+LCD+repair+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="648" data-original-width="1600" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjslrjgvABY4cC8Nu4PduzbCimnYLEJtpXmU1TLiwwrMfgaUZh168p6nHhEL5m-F0iuTlriuOKgVY19ogw4zMmY9E-EQ2hAva0qYFv0X9n95nKBhLzbOaF0IQLmdDW2uYsd8l0Ih3sIA_1s/s640/Marconi+2024+LCD+repair+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqFs4I0Yjx0NcvX5xyByERA6PC0paUYKqgGoqdBiDqbL2es3ACy_toNyqKVrJpXACgL2IsXlrtHmjMEYziutf3OVtB1xW4ZEMoRYiletQl0m_N6CzOjuTJ2tMC_BRZYfN2LiBgj47ab8XY/s1600/Marconi+2024+LCD+repair+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="700" data-original-width="1600" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqFs4I0Yjx0NcvX5xyByERA6PC0paUYKqgGoqdBiDqbL2es3ACy_toNyqKVrJpXACgL2IsXlrtHmjMEYziutf3OVtB1xW4ZEMoRYiletQl0m_N6CzOjuTJ2tMC_BRZYfN2LiBgj47ab8XY/s640/Marconi+2024+LCD+repair+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzxo2SlvtrewNjZzOoknCxC3SqaqwJkL1PfgEMvClA8lGWrReNzN5jt8iQY34B3LgNAqfhs_JZ0coIzv70NPdsME4JcR6iP2BjzACn0DwRHJWhVjjD8MNbR8-YY7UCRDZA66gATRGBAb3k/s1600/Marconi+2024+LCD+repair+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="954" data-original-width="1600" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzxo2SlvtrewNjZzOoknCxC3SqaqwJkL1PfgEMvClA8lGWrReNzN5jt8iQY34B3LgNAqfhs_JZ0coIzv70NPdsME4JcR6iP2BjzACn0DwRHJWhVjjD8MNbR8-YY7UCRDZA66gATRGBAb3k/s640/Marconi+2024+LCD+repair+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSS8FaB0YcZWR8Vs8bNw4o6RxlpcUncqq0HqLGFyHcMd4YOMpQruLqfhAPowMMjkdQX-MCqaVr5WlPcScrwNnFydch3fow1gpAW4KNzjlPd28qUoFVLbIidA8KiFxdxz3HXJazusIqErHP/s1600/Marconi+2024+LCD+repair+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="716" data-original-width="1600" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSS8FaB0YcZWR8Vs8bNw4o6RxlpcUncqq0HqLGFyHcMd4YOMpQruLqfhAPowMMjkdQX-MCqaVr5WlPcScrwNnFydch3fow1gpAW4KNzjlPd28qUoFVLbIidA8KiFxdxz3HXJazusIqErHP/s640/Marconi+2024+LCD+repair+%25289%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Aje0ln0CgWAMwvJDKe7CmPFD0HpfOAxvVwGCoIPdAp5aXjgjDSUNa5eSj3xCFKEHslLIMLoxQ4HRRJBKuKsXz1GQOSdSAUhcT8ysHNYey1qAqXTCmxRSY8S2zNMn_jXVxXSoBoilSTdb/s1600/Marconi+2024+LCD+repair+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="867" data-original-width="1600" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Aje0ln0CgWAMwvJDKe7CmPFD0HpfOAxvVwGCoIPdAp5aXjgjDSUNa5eSj3xCFKEHslLIMLoxQ4HRRJBKuKsXz1GQOSdSAUhcT8ysHNYey1qAqXTCmxRSY8S2zNMn_jXVxXSoBoilSTdb/s640/Marconi+2024+LCD+repair+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYpPAfksCE0OvJl6rjqvIf05d8PNc6cCVlNmdAzhyLnDa4wmAVqsqah9p72p4NluzixlGd_cLXH3jMZG3_AQG3VLkaIA4iyp_P_C5JSvzyC0CtQQVBXFQj7h8NdjOtJgIRJSdNYuNyJuCu/s1600/Marconi+2024+LCD+repair+%252811%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYpPAfksCE0OvJl6rjqvIf05d8PNc6cCVlNmdAzhyLnDa4wmAVqsqah9p72p4NluzixlGd_cLXH3jMZG3_AQG3VLkaIA4iyp_P_C5JSvzyC0CtQQVBXFQj7h8NdjOtJgIRJSdNYuNyJuCu/s640/Marconi+2024+LCD+repair+%252811%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmLBO7QnyLHBG-X8_zvvyixq-e_BOVg2QqS-XVBpE1VCJ4GWA1hDXFB-Q8ti8v58VEJGSkKQggSUpAdK9pwdvofMmRjFeoN6pSwcNLZzsW9uNU4Bu1N1lIA3rEIM4yHHv73WQisn7E_Mo/s1600/Marconi+2024+LCD+repair+%252812%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmmLBO7QnyLHBG-X8_zvvyixq-e_BOVg2QqS-XVBpE1VCJ4GWA1hDXFB-Q8ti8v58VEJGSkKQggSUpAdK9pwdvofMmRjFeoN6pSwcNLZzsW9uNU4Bu1N1lIA3rEIM4yHHv73WQisn7E_Mo/s640/Marconi+2024+LCD+repair+%252812%2529.JPG" width="640" /></a></div>
<br />
If have any question feel free to ask. </div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com1tag:blogger.com,1999:blog-4474580574529252327.post-61250000176239346022019-09-23T00:05:00.000+02:002019-09-23T00:14:49.491+02:00Marconi 2024 RF Signal Generator Error 508: Amplitude modulator unlevelled Repair<div dir="ltr" style="text-align: left;" trbidi="on">
I have recently bought a used Marconi 2024. But instrument was partially faulty having issue a minor issue with LCD screen and a comparatively major issue with Error 508 : Amplitude modulator unleveled. So it needed a repair First i will try to fix issue Error 508 because replacement compatible LCD will arrive later.<br />
<br />
This post is going through will be mostly what to look for when you are attempting to fix same issue in your marconi/IRF or now aeroflex 2024 or similar marconi 2023.<br />
<br />
This article will quote service manual for this instrument multiple time, service manual can be easily found with just simple internet search or on ko4bb<br />
<br />
As i have already fixed my issue now i know with my instrument issue was with carrier RF signal level being too low. But issue with other instrument many be different so i will still describe here how i traced to the faulty component.<br />
<br />
I assume all power supply voltage are fine with voltage and ripple.<br />
<br />
There are two version of service manual available. old service manual have There are a quite a few error in newer service manual's schematic.<br />
<br />
As per Maintenance manual Error 508: Amplitude modulator unlevelled appear when pin diode based modulator loop is running into issue with either AM level or the level of carrier RF signal or detection circuit of AM modulated RF signal.<br />
<div style="text-align: justify;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1n5XzFevmZCf8vxQpksVn2wcYZSAUsB_dAApaZnR269BhwdlFyoNNfh9nd7Y1SZmVoWhyUqWxeXDCAF7VqWQ-B4K82v_SRmZEwqIUHqFLqcNQqqWJaHozdzxgDeVMl-FTj1mEEH-TveOm/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+67.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="638" data-original-width="1600" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1n5XzFevmZCf8vxQpksVn2wcYZSAUsB_dAApaZnR269BhwdlFyoNNfh9nd7Y1SZmVoWhyUqWxeXDCAF7VqWQ-B4K82v_SRmZEwqIUHqFLqcNQqqWJaHozdzxgDeVMl-FTj1mEEH-TveOm/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+67.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi79Yi8IKby3nY7b-yv7_A_QbNhYtgmSYY1ZtIy1gM95638Nj_of4-mxXAvd7JxUtoMctU7wkrQZsQx8Luzv8KkeISQD20o-tl7IleegaGOQzJTEBoyDcw2RBXFQxOXwumSMHnfJVdhZsm7/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+674.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="1500" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi79Yi8IKby3nY7b-yv7_A_QbNhYtgmSYY1ZtIy1gM95638Nj_of4-mxXAvd7JxUtoMctU7wkrQZsQx8Luzv8KkeISQD20o-tl7IleegaGOQzJTEBoyDcw2RBXFQxOXwumSMHnfJVdhZsm7/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+674.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYBDXabciQkS7aqFQ7Esh4rz78p6kv3_JieFlWdULegxQRSL1ygdhyphenhyphen1K83ysKGa7uS-QOCUAsv9J3dFcrGuZSgKdf_mgnjHDCaRRCwG2aM3Ju9j1uuoNJ2AUxT-LCttvbS5H2LVwX7uWFG/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6756.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYBDXabciQkS7aqFQ7Esh4rz78p6kv3_JieFlWdULegxQRSL1ygdhyphenhyphen1K83ysKGa7uS-QOCUAsv9J3dFcrGuZSgKdf_mgnjHDCaRRCwG2aM3Ju9j1uuoNJ2AUxT-LCttvbS5H2LVwX7uWFG/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6756.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_Ijghsy2N3Ubw-o-0ETwHtLtDgO9iqovuNmmWSdu4ziW015GQU5MpUjevFuQQBq5f4t8vUJY9P0xdZfiIA-geDd3p9nyIQaNuL6Mc8XlvVrX6bpBSX25GCJzzXdIGwJWxIHrrv37jymg/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6791.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_Ijghsy2N3Ubw-o-0ETwHtLtDgO9iqovuNmmWSdu4ziW015GQU5MpUjevFuQQBq5f4t8vUJY9P0xdZfiIA-geDd3p9nyIQaNuL6Mc8XlvVrX6bpBSX25GCJzzXdIGwJWxIHrrv37jymg/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6791.JPG" width="640" /></a></div>
<br />
<a name='more'></a><br /></div>
<div style="text-align: justify;">
Service manual says "If the error only appears at some frequencies and levels and not at others, the most likely cause is insufficient RF level present at the input of the modulator. When this occurs, the AM distortion and AM accuracy will get worse with the loop running out of the leveling range. One of the main reasons for insufficient RF input level is most likely to be a failure of band-pass filters which divide the frequency from 1.2 to 2.51 GHz all the way down to 10 MHz. The following table lists the changeover frequencies for each filter:"</div>
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<br />
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<br />
<table class="tg" style="text-align: justify;">
<tbody>
<tr>
<th class="tg-0pky">No.</th>
<th class="tg-0pky">Carrier frequency range</th>
<th class="tg-0pky">Filter type selected</th>
</tr>
<tr>
<td class="tg-0pky">1</td>
<td class="tg-0pky">10 kHz to 10 MHz</td>
<td class="tg-0pky">BFO band</td>
</tr>
<tr>
<td class="tg-0pky">2</td>
<td class="tg-0pky">>10 MHz to 18.75 MHz</td>
<td class="tg-0pky">18.75 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">3</td>
<td class="tg-0pky">>18.75 MHz to 37.5 MHz</td>
<td class="tg-0pky">37.5 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">4</td>
<td class="tg-0pky">>37.5 MHz to 75 MHz</td>
<td class="tg-0pky">75 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">5</td>
<td class="tg-0pky">>75 MHz to 150 MHz</td>
<td class="tg-0pky">150 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">6</td>
<td class="tg-0pky">>150 MHz to 300 MHz</td>
<td class="tg-0pky">300 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">7</td>
<td class="tg-0pky">>300 MHz to 420 MHz</td>
<td class="tg-0pky">420 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">8</td>
<td class="tg-0pky">>420 MHz to 600 MHz</td>
<td class="tg-0pky">600 MHz LPF</td>
</tr>
<tr>
<td class="tg-0pky">9</td>
<td class="tg-0pky">>600 MHz to 1200 MHz</td>
<td class="tg-0pky">1200 MHz LPF</td>
</tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
if you have error only any one of these ranges the you problem is relatively easy to fix. Filter section is on sheet 7 of 10 (issue8) AA1 board in the service manual and each filter band has it's own network of passives and diodes. These filter are individually switched using LM324 opamps IC604 IC605 and IC606 on same page. Opamps are driven as comparator using 3 to 8 demultiplexers IC603 and IC604 when a particular filter is active with SWn pin will go low to around -11V. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Here is the table how these SWn pins are activated by digital circuit. you may want to verify if you filter band related issue.</div>
<div style="text-align: justify;">
<br /></div>
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
</style>
<br />
<table class="tg">
<tbody>
<tr>
<th class="tg-0pky">B3</th>
<th class="tg-0pky">B2</th>
<th class="tg-0pky">B1</th>
<th class="tg-0lax">B0</th>
<th class="tg-0lax">filter band</th>
<th class="tg-0lax">Active demultiplexer</th>
<th class="tg-0lax">Active SW pin</th>
</tr>
<tr>
<td class="tg-0pky">1</td>
<td class="tg-0pky">0</td>
<td class="tg-0pky">1</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">10 - 18.75 MHz</td>
<td class="tg-0lax">IC603 Y2 low</td>
<td class="tg-0lax">SW10 SW10 active</td>
</tr>
<tr>
<td class="tg-0pky">1</td>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">18.75 - 37.5 MHz</td>
<td class="tg-0lax">C603 Y0 low</td>
<td class="tg-0lax">SW9 active</td>
</tr>
<tr>
<td class="tg-0pky">0</td>
<td class="tg-0pky">1</td>
<td class="tg-0pky">1</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">37.5 - 75 MHz</td>
<td class="tg-0lax">IC608 y6 low</td>
<td class="tg-0lax">SW8 active</td>
</tr>
<tr>
<td class="tg-0pky">0</td>
<td class="tg-0pky">1</td>
<td class="tg-0pky">0</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">75 - 150 MHz</td>
<td class="tg-0lax">IC608 y4 low</td>
<td class="tg-0lax">SW7 active</td>
</tr>
<tr>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0pky">1</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">150 - 300 MHz</td>
<td class="tg-0lax">IC608 y2 low</td>
<td class="tg-0lax">SW6 active</td>
</tr>
<tr>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0lax">1</td>
<td class="tg-0lax">300 - 420 MHz</td>
<td class="tg-0lax">IC608 y1 low</td>
<td class="tg-0lax">SW5 active</td>
</tr>
<tr>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0pky">0</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">420 - 600 MHz</td>
<td class="tg-0lax">IC608 y0 low</td>
<td class="tg-0lax">SW4 active</td>
</tr>
<tr>
<td class="tg-0pky">1</td>
<td class="tg-0pky">1</td>
<td class="tg-0pky">1</td>
<td class="tg-0lax">1</td>
<td class="tg-0lax">600 - 840 MHz</td>
<td class="tg-0lax">IC603 Y7 low</td>
<td class="tg-0lax">SW3 active</td>
</tr>
<tr>
<td class="tg-0pky">1</td>
<td class="tg-0pky">1</td>
<td class="tg-0pky">1</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">0.84 -1.2 GHz</td>
<td class="tg-0lax">IC603 y6 low</td>
<td class="tg-0lax">SW2 active</td>
</tr>
<tr>
<td class="tg-0lax">1</td>
<td class="tg-0lax">1</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">0</td>
<td class="tg-0lax">1.2 - 2.51 GHz</td>
<td class="tg-0lax">IC603 y4 low</td>
<td class="tg-0lax">SW1 active</td>
</tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br />
I was not having filter band specific issue. With my instrument error 508: appears on these frequency<br />
<br />
370 - 447 Mhz<br />
583 - 600 Mhz<br />
705 - 720 Mhz<br />
843 - 849 Mhz<br />
1125 - 2500 Mhz<br />
<br />
As you have follow with table above this does not fall into any specific band. so i have to look aways from filter issue to other circuit driving AM.<br />
<br />
AM modulation RF circuit can found in the manual on Sheet 6 of 10 (issue 5) of AA1 board. Detector and compartor is also on same page with IC802(a) and IC501(b). ( Caution: There a error in newer version service manual on this page. compartor IC802(a)'s negative and positive input are swapped )<br />
here is the view of schematic around IC802(a) form original service manual.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
If error appear on all frequency bands then diode D510 or D511 may be faulty. in my case i have replaced both the diodes, voltage level and error 508 was still there.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGg7WrNCchNqPpvoDX_5VPmp8XAE26o6xSGIrsUl43d8CmtPlbQdx7yH_GbBP1FemBVWPMYLzWbVaaqzrvCJ1ST2Ba49iIz0-_O_DHlVgAujNhrh53MHn8EJtYubwLr7KPYDwEgWjztxOZ/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled++.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1088" data-original-width="1152" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGg7WrNCchNqPpvoDX_5VPmp8XAE26o6xSGIrsUl43d8CmtPlbQdx7yH_GbBP1FemBVWPMYLzWbVaaqzrvCJ1ST2Ba49iIz0-_O_DHlVgAujNhrh53MHn8EJtYubwLr7KPYDwEgWjztxOZ/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled++.png" width="640" /></a></div>
<br />
AM modulation digital circuit is partially located on Sheet 4 of 8 (issue 5) of AB1 board. PIN 11 of PLD connector (connector connecting RF and digital board) connects RF sections's IC802's input to pin 14 of IC33 through a resistor. IC33 is driver of AM signal (with offset) into RF board.<br />
When As AM signal generated internally it generated by DSP with DAC on Sheet 2 of 8 (issue 5) of AB1 board.<br />
<br />
DSP drives DAC IC13 for AM signal and DAC drive opamp filter IC207 and IC15 This filtered signal from IC15(pin7) get fed into Analog MUX IC31 which drives reference of another DAC IC35(a). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibqyT-vaSrflRkYJkElprBXJQikncQsTENo5MW0fOa3jc-pzMR5Jjd2xuFW_y8NxshiDJIKtbfoNBjAaAVOa9AVKBsXBxFh9VuTdN_Rxkk5Ke6__3JCELcmZ3fcIk4_5bd-VMs7rf7TlZP/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled++2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="523" data-original-width="1600" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibqyT-vaSrflRkYJkElprBXJQikncQsTENo5MW0fOa3jc-pzMR5Jjd2xuFW_y8NxshiDJIKtbfoNBjAaAVOa9AVKBsXBxFh9VuTdN_Rxkk5Ke6__3JCELcmZ3fcIk4_5bd-VMs7rf7TlZP/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled++2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">From Sheet 4 of 8 AB1 AM offset </td></tr>
</tbody></table>
<br /></div>
<div style="text-align: justify;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1e8O4xYuAz9k2uXFPnnwyZab52Z_U2ziGvLzCzKDvT1xALSa1x4eamsLfC0t3QTh8eLjW6MbUbq27U8_GHc5MMViaYKppFgvzjpYfBGKjgWZAeJ5PDpFZTu8TPcBt_6EHfF_gXdWdJ1F5/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="858" data-original-width="1600" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1e8O4xYuAz9k2uXFPnnwyZab52Z_U2ziGvLzCzKDvT1xALSa1x4eamsLfC0t3QTh8eLjW6MbUbq27U8_GHc5MMViaYKppFgvzjpYfBGKjgWZAeJ5PDpFZTu8TPcBt_6EHfF_gXdWdJ1F5/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+3.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">From Sheet 2 of 8 AM DAC and AM Filter </td></tr>
</tbody></table>
I have verified that Both the DACs Mux and Opamps were working as intended in both of the cases when IC13 was generating AM signal or IC13 was idle.<br />
<br />
My though while looking and Digital AM section was the offset of around 900mV on pin 14 of IC33 input to IC802 is incorrect being only at ~900mV while service manual documents "possibly incorrectly" says it should be around 1.4V. I have found no evidence at all that offset should be at 1.4V, i have found many mistake in the document this many also just be one.<br />
<br />
I have done LT spice simulation of both DAC filter and offset generator both circuits were same as simulation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzc0X9pSzaozxn8oaEwJGlByigIoM9M-NgPBDMu5AjD0J3s2pIMUNg6NltjuSYUTC-avemH9jhGZ0tgWSLziCX09eTHiIILi6Dajok1VPYyhZGVmeM2knMlmJYsVBw9NtzbZ3C8DaGTePD/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="1600" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzc0X9pSzaozxn8oaEwJGlByigIoM9M-NgPBDMu5AjD0J3s2pIMUNg6NltjuSYUTC-avemH9jhGZ0tgWSLziCX09eTHiIILi6Dajok1VPYyhZGVmeM2knMlmJYsVBw9NtzbZ3C8DaGTePD/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6.png" width="640" /></a></div>
<br />
<br />
This offset is actually a calibration parameter of the instrument and accessible to user for software calibration. under calibration menu with parameter number "Util 112" Cal AM adjust DAC A: xxx for 30% AM is directly setting AM offset. just re-calibrating for this "may" fix issue.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhllUXxtf1esVK0vuJqth9Sw1AiXhhUvVuqXgUPyJyBeFhNp1JfSL8wnkiGgBgzNusB7IccpLA6IjMB6oryjYV7pCBknTpTBUEnGS_pC6FhS6yhO3mlMRvDPuc-_Bh7pLw2tzxDqJ7eMpZz/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="461" data-original-width="1283" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhllUXxtf1esVK0vuJqth9Sw1AiXhhUvVuqXgUPyJyBeFhNp1JfSL8wnkiGgBgzNusB7IccpLA6IjMB6oryjYV7pCBknTpTBUEnGS_pC6FhS6yhO3mlMRvDPuc-_Bh7pLw2tzxDqJ7eMpZz/s400/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+4.png" width="400" /></a></div>
<br />
Or you if just want to hide error message setting it to extreme end may make error "message" disappear while error may be still there and you will see effects of it when you try to do AM Modulation. i verified setting it to 0 make my errors "message" disappear for all then ranges expect for 1.2Ghz -2.4Ghz band. i verified AM was not usable. Because ultimately AM level is incrrect after pin modulator.<br />
<br />
<br />
I verified all three modulation related DAC for correct operation. and they all were setting correct voltage. at first i had hooked my scope to digital bus of DAC and mux later in process i find out there was no need to do any protocol decoding on these DACs as most of them are one or another instrument parameter/settings and most of these instrument parameter/settings are accessible in instrument's calibration menu.<br />
<br />
That was all what can be verified in the Digital section.<br />
<br />
Now when i look at RF section i probed bias voltage on every RF transistor and mmic. Most voltage are mentioned in the service manual or can be found using part's data sheet. A simple multimeter can be used to verify this.<br />
<br />
By this time was sure all RF transistor and MMIC in moudulator and output section were functional<br />
<br />
Then i looked at filter for correct filter to be activated. With table above mention in this post it is little easy to determine if correct filter is activated.<br />
Later i was probing filter input and output section together with output on D510. my siggen's first error point was with 370Mhz so i was probing with scope diode D510 output (even a multimeter is enough to measure at this point) and at the same time going from 360 Mhz towards 370Mhz error point.<br />
As i was at 360Mhz input of compactor was was good +< - but as i went near to error point frequency voltage on D510 output started to drop form 30mv to slowing getting to point when - > + make error messare appear<br />
<br />
Same behavior of carrier signal dropping in amplitude was also there on the filter input and both of the divider output IC601 and IC602 (sheet 7). At this filter stage i was using my 500Mhz scope while instrument was outputting only 370Mhz.<br />
Spectrum can also be used to verify carrier signal at filter stage. or you have to make a little rectifier circuit (like with D510) and solder it were you want to measure with multimeter.<br />
<br />
After all this i checked that amplitude into divider/filter section was actually going quite a bit up and down as i adjust frequency. so i traced back the signal and found out in the carrier generation section Sheet 1 of 10 AA1 board IC106 was to be faulty, i replaced it then it worked with a catch. Before changing the IC106 error 508 was present on almost 60-80 % range of 2.5Ghz total but after replacing IC106 , one or two really small frequency ranges (<1% of total 2.5Ghz range) was still which do have correct output amplitude but still show error 508, and last very very time consuming catch was, as i was testing the whole thing, metal lid was open and after i fedup i closed the lid and whole range was error free.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlAlvS40MLZFNJYxQgM-nrkx1OodGmrkTt6vM6S9YGnD8LLWRj88ac31F2dd_kNrKOAhBVZa0hLh8DyRnms8omRJcLIIVZIPNFRg2aKChn1JNfiP9v3f3TbUULh9EDE6EpQxk1PdRbYW7a/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+679.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1067" data-original-width="1600" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlAlvS40MLZFNJYxQgM-nrkx1OodGmrkTt6vM6S9YGnD8LLWRj88ac31F2dd_kNrKOAhBVZa0hLh8DyRnms8omRJcLIIVZIPNFRg2aKChn1JNfiP9v3f3TbUULh9EDE6EpQxk1PdRbYW7a/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+679.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Output Bias IC106</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYBDXabciQkS7aqFQ7Esh4rz78p6kv3_JieFlWdULegxQRSL1ygdhyphenhyphen1K83ysKGa7uS-QOCUAsv9J3dFcrGuZSgKdf_mgnjHDCaRRCwG2aM3Ju9j1uuoNJ2AUxT-LCttvbS5H2LVwX7uWFG/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6756.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYBDXabciQkS7aqFQ7Esh4rz78p6kv3_JieFlWdULegxQRSL1ygdhyphenhyphen1K83ysKGa7uS-QOCUAsv9J3dFcrGuZSgKdf_mgnjHDCaRRCwG2aM3Ju9j1uuoNJ2AUxT-LCttvbS5H2LVwX7uWFG/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6756.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Input bias IC106</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWs27ZZCS9SpjsBGeM0HqDK78d9lLIKZwVcTtpNdw9jN-wZtB8sKOAt6n81CuScmMFYdjWx6jrccJtTjLMeTEn4AziZDGIEXVYYtS0kwNBFMMS6SdVkgEtseWp0Kr81bsZBkeZ_GIqQUa_/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+44.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="594" data-original-width="1600" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWs27ZZCS9SpjsBGeM0HqDK78d9lLIKZwVcTtpNdw9jN-wZtB8sKOAt6n81CuScmMFYdjWx6jrccJtTjLMeTEn4AziZDGIEXVYYtS0kwNBFMMS6SdVkgEtseWp0Kr81bsZBkeZ_GIqQUa_/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+44.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Sheet 1 of 10 AA1 Board Carrier Gen Section</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_Ijghsy2N3Ubw-o-0ETwHtLtDgO9iqovuNmmWSdu4ziW015GQU5MpUjevFuQQBq5f4t8vUJY9P0xdZfiIA-geDd3p9nyIQaNuL6Mc8XlvVrX6bpBSX25GCJzzXdIGwJWxIHrrv37jymg/s1600/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6791.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_Ijghsy2N3Ubw-o-0ETwHtLtDgO9iqovuNmmWSdu4ziW015GQU5MpUjevFuQQBq5f4t8vUJY9P0xdZfiIA-geDd3p9nyIQaNuL6Mc8XlvVrX6bpBSX25GCJzzXdIGwJWxIHrrv37jymg/s640/marconi_2024_error+508+fix+solution+Amplitude+modulator+unlevelled+6791.JPG" width="640" /></a></div>
<br />
If any of mmic in carrier gen section is faulty you may not need scope because service manual mention bias voltage for IC104-IC106 to be ~4.5 at output and 1.5V at input. you can measure with multimeter. if you need to check gain at each stage you will need a fet probe for your SA. i was always using a cheap 10$ fet probe on other projects as well without any issue.<br />
<br />
<br />
Document is giving us part number of IC106 to be MAR2-3 This part seems like not very famous so there is no old stock. And it is a 2Ghz MMIC, while signal will reach 2.5Ghz on this signal path. Documentation is wrong or service manual was is for other 1.3 Ghz model.<br />
<br />
Which my very little experience marking "A02" on these tiny mmic packages is quite unique .<br />
Equivalent part number will be MAR-2 or MAR-2SM or MSA-0235 or MSA0285 or MSA-0286 or MSA-0270 ( while MAR-2 and MAR-2SM are 2GHz parts)<br />
<br />
But if you look at the board it self you can a clear indication that this part is MSA-0286, because IC104-IC106 looks exactly same as IC101 and as per schematic IC101 is MSA-0286. And also IC107 is MSA-0486 with marking also on chip A04, i see no reason why would they go for MAR2-3 in the middle. I have verified on my board itself IC101 , IC104-IC106 are MSA-0286 and IC107 MSA-0486 may be at some point later in production they have changed IC104-IC106 from MSA-0286 .<br />
<br />
Adding to possible hardware version story some where on internet i have seen digital PCB newer model under brand name IRF. This new digital board had a cpld to all logic stuff and flash based mcu instead of EPROM.<br />
<br />
I did not have any of these in stock so replaced with HMC476MP86 it is 20 dB gain block. Part i was replacing is around 12dB Gain but as P1DB limits max output to so i feel (with almost non RF experience though P1db of MSA-0286 is only 4.5db and HMC was 3 time around 12dB P1db) it will work for testing and i verified with a diy fet prob gain HMC476MP86 was having in circuit was from 6 dB to 12 dB depending on frequency selected.<br />
<br />
I have bought MSA-270 and MSA-0286 both. Some time later when new LCD display arrive from china i will also replace HMC476MP86 part.<br />
<br />
If still have any question please feel free to ask.<br />
<div>
<br /></div>
</div>
</div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com0tag:blogger.com,1999:blog-4474580574529252327.post-68618407197268257672019-06-18T23:44:00.000+02:002019-08-14T20:04:17.886+02:00OpenSource DIY USB Webcam: OV7670 OV2640 Interfacing With PIC32MZ Streaming Video over USB Video Device class UVC Device<div dir="ltr" style="text-align: left;" trbidi="on">
This project is going to extension to my previous project in which i implemented USB Video device class onto Microchip PIC32 USB stack. Last project i showed how once can transmit static image over USB UVC , now i will be showing you how you can interface these commonly available VGA/UXGA Sensors OV7670/OV2640 to PIC32MZ MCU.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJxq_3DTkpoxXHnVEoNgjejAtbCqXdkTDIv3fAar1pu-DYDxKiQs885js1E6k6zeQ7DBmbgBTLsacWAIeIgx4RnyLEqFcYBrUz32fD3LtJREZ7I1DVvr3oAouxHiayvl0s7y-vEaV-69Nk/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJxq_3DTkpoxXHnVEoNgjejAtbCqXdkTDIv3fAar1pu-DYDxKiQs885js1E6k6zeQ7DBmbgBTLsacWAIeIgx4RnyLEqFcYBrUz32fD3LtJREZ7I1DVvr3oAouxHiayvl0s7y-vEaV-69Nk/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5V5zB_S7Ex3XzK0XapQtL7wBVI16y3bR7DuzMg-4xTRnGxZhp4KITxl_YGNtDHgU9HnjM8-WaGdkfa6sjbiofahIh6OPvo4UpPveCkJ1H1RdpoW2O8JCuIyhWMY4hJp8EC1dtXoFyBhSe/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="842" data-original-width="1600" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5V5zB_S7Ex3XzK0XapQtL7wBVI16y3bR7DuzMg-4xTRnGxZhp4KITxl_YGNtDHgU9HnjM8-WaGdkfa6sjbiofahIh6OPvo4UpPveCkJ1H1RdpoW2O8JCuIyhWMY4hJp8EC1dtXoFyBhSe/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjURV2MTwjM5F2NBKPlxB45t6k1SMhcC7N5OMX7_mLdM0i-mwcCYwYtEo_0-eynV-YdIPhW1GIweqh5e-lavfPeywncDs2Bnrwu8dJlnDgCdFfUzwQxVa9NEpiAxpb-Z6F2eKaeiQjmfcZj/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252810%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="599" data-original-width="646" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjURV2MTwjM5F2NBKPlxB45t6k1SMhcC7N5OMX7_mLdM0i-mwcCYwYtEo_0-eynV-YdIPhW1GIweqh5e-lavfPeywncDs2Bnrwu8dJlnDgCdFfUzwQxVa9NEpiAxpb-Z6F2eKaeiQjmfcZj/s400/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252810%2529.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIaxseMz3-ZgQuSyrtNniiiccJ25wV64FyQtxgpina68g17hpE_vCtH7bTrg7yGXPDJ0Non1dztZaE10uZ6mKYXfdU5myJ6qhqCbqoG7fgyC8R3TyummZ7QGUoutleQbYfGwQ8tJ6JMzu/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252823%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="509" data-original-width="1600" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIaxseMz3-ZgQuSyrtNniiiccJ25wV64FyQtxgpina68g17hpE_vCtH7bTrg7yGXPDJ0Non1dztZaE10uZ6mKYXfdU5myJ6qhqCbqoG7fgyC8R3TyummZ7QGUoutleQbYfGwQ8tJ6JMzu/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252823%2529.png" width="640" /></a></div>
<br />
<a name='more'></a><br />
<br />
<b>Hardware</b><br />
<br />
I have Implemented and tested USB stack first with PIC32MX470F512H , as you may already know PIC32MX MCU have only USB FS , which gives you only 12Mbit per second around ~ 1.5 MByte per-second bus bandwidth, and ultimate payload bandwidth is going to be somewhat less than 1.1MByte/s depending on how exactly you transfer payload.<br />
<br />
with USB Isochronous endpoint , only one transfer of 1023 byte is allowed per millisecond , which translates to only ~1Mbyte per second.<br />
<br />
UVC support only a few formats, i am using YUV format as both of the camera module directly output YUV data. YUV format need 4 byte per 2 pixel , so for a 100x100 pixel wide image , you will need 100x100x2 bytes --> 20Kbytes .<br />
YUV is uncompressed format, so 1Mbyte per-second bandwidth really become tight for any serious use.<br />
<br />
Although UVC also support MJPEG , but issue is OV7670 does not directly output JPEG, and i have not yet implemented mjpeg encoder in firmware, on the other hand OV2640 does output jpeg.<br />
<br />
so here the first Setup connections block diagram with PIC32MX<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjGnG_FDqjiAd-IyAWzokdkP-b8efUGFjqfJkraXngZFzGoNvAuCEc93rVMHshnRVoQVEgoMDhOwPSVsmOLC6T3UN-CJkCYdT2FqkJfpdSJYD10QHcY-E1PmJQ39jrXJSheH-iMu2lBsNm/s1600/pic32_OV7670_OV2640_MCU.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="700" data-original-width="1106" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjGnG_FDqjiAd-IyAWzokdkP-b8efUGFjqfJkraXngZFzGoNvAuCEc93rVMHshnRVoQVEgoMDhOwPSVsmOLC6T3UN-CJkCYdT2FqkJfpdSJYD10QHcY-E1PmJQ39jrXJSheH-iMu2lBsNm/s640/pic32_OV7670_OV2640_MCU.jpg" width="640" /></a></div>
<br />
With PIC32MX i have used Parallel Master port of PIC32 , PMP is configured as PMP Slave , VSYNC connected to INT1 to sync whole buffering and transmission over USB.<br />
HSYNC of camera is connected to PMP Chip select pin which Masks PMP Write pin, PMP Write pin connected to Pixel clock , on the transaction of Pixel clock while PMPCS (HSYNC) is activated , data get latched into PMP Data register.<br />
<br />
Write to PMPDIN register after data get latched trigger DMA , DMA copy data from PMPDIN register to buffer, buffer is used by Application task to transfer over USB.<br />
<br />
<br />
<b>PIC32MZ2048EFM064 Hardware</b><br />
<b><br /></b>
Here is the schematic of PIC32MZ hardware<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoagdPG9_j3X9wkZgTDYJnZ0LcrAcXRKGHpC2qB75Y8eywWVaI7d-7lQJvMMwEGRntcw6RSFMsuotNunxwQLCMWN_oRkc3tk4jjiKw8ovLH6cRF-r0QqmiRpcXPucPhRWmxx0P2GhfvbfL/s1600/PIC32MZ_cam_sch.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1147" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoagdPG9_j3X9wkZgTDYJnZ0LcrAcXRKGHpC2qB75Y8eywWVaI7d-7lQJvMMwEGRntcw6RSFMsuotNunxwQLCMWN_oRkc3tk4jjiKw8ovLH6cRF-r0QqmiRpcXPucPhRWmxx0P2GhfvbfL/s640/PIC32MZ_cam_sch.jpeg" width="640" /></a></div>
<br />
Test Video<br />
<br />
<br />
<iframe width="560" height="315" src="https://www.youtube.com/embed/NB4AC5UmRU4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br />
<br />
<b>PCB</b><br />
<b><br /></b>
PCB Source and Gerber are available in my github repo<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIaxseMz3-ZgQuSyrtNniiiccJ25wV64FyQtxgpina68g17hpE_vCtH7bTrg7yGXPDJ0Non1dztZaE10uZ6mKYXfdU5myJ6qhqCbqoG7fgyC8R3TyummZ7QGUoutleQbYfGwQ8tJ6JMzu/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252823%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="509" data-original-width="1600" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIaxseMz3-ZgQuSyrtNniiiccJ25wV64FyQtxgpina68g17hpE_vCtH7bTrg7yGXPDJ0Non1dztZaE10uZ6mKYXfdU5myJ6qhqCbqoG7fgyC8R3TyummZ7QGUoutleQbYfGwQ8tJ6JMzu/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252823%2529.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg93IgV4JnHG730PEaPrQnALJfCN0Dg0QL_oYeLduotQ3jzvEnEVyEfDCSoU8YX8SKL-yO3esiYWIl0jUTM0Bh0yApfzUBypJQV9ZQlwj1T8QYFahyphenhyphennhg6C9bXFPX9s7HXGFz4YtKso2qJc/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%2528255%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="581" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg93IgV4JnHG730PEaPrQnALJfCN0Dg0QL_oYeLduotQ3jzvEnEVyEfDCSoU8YX8SKL-yO3esiYWIl0jUTM0Bh0yApfzUBypJQV9ZQlwj1T8QYFahyphenhyphennhg6C9bXFPX9s7HXGFz4YtKso2qJc/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%2528255%2529.png" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
As PIC32MZ have USB HS , with 480Mbit/s this was direct advantage of very high speed data rate, with usb Isochronous , there are total 3 , 1024 byte transfers are allowed per 125uS, which results to ~24Mbyte per second, with 24MBps usb bandwidth is certainly not going to be issue with VGA resolution.<br />
There were Certain limitation in PIC32MZ as well, this limitation caused by silicon bug present in PMP slave mode , interrupt bit of PMP is permanently set , which makes DMA unusable.<br />
so i changed block diagram.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPSNdYjaqj6XuFWOyoqipSKSOLlzqh61-1NZymyQge8MllB_47tOO2XsAe7vN6QIa_wRbPCjoAJhdB0YdE78MEZZuAv-_DWM_HMbE66NzgO0kSw0x6rTBbHF6FqRtfT0YWx_XXJDERd01P/s1600/pic32_OV7670_OV2640_MCU2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="700" data-original-width="1106" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPSNdYjaqj6XuFWOyoqipSKSOLlzqh61-1NZymyQge8MllB_47tOO2XsAe7vN6QIa_wRbPCjoAJhdB0YdE78MEZZuAv-_DWM_HMbE66NzgO0kSw0x6rTBbHF6FqRtfT0YWx_XXJDERd01P/s640/pic32_OV7670_OV2640_MCU2.jpg" width="640" /></a></div>
same as before VSYNC is connected to interrupt, but now HSYNC from camera is not used at all and PCLK directly trigger a DMA which reads directly from PORTE , which is configured as simple 8bit GPIO input. This setup lack PMP buffers (if used is advanced slave mode).<br />
PCLK is connected to an interrupt but no isr is implemented as PCLK is quite fast signal ~8MHz for VGA @10FPS, if you implement ISR , it may not be able to coupe up at 8Mhz trigger rate.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUdkPwfbc5BOtf-9LCdqEKwDTiWGT6LIZcoG-I1YMOF7cKMaxQlW1hjPo7iG3SJ8UJQyvttNFYUhsnK2bjMEntyrCpMiCRGbRxWVZ9o1FOI1Y2pXimaKS5usZLCwCbNXoPQaIBdxG2W0d3/s1600/Single+Frame+10FPS+streaming.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUdkPwfbc5BOtf-9LCdqEKwDTiWGT6LIZcoG-I1YMOF7cKMaxQlW1hjPo7iG3SJ8UJQyvttNFYUhsnK2bjMEntyrCpMiCRGbRxWVZ9o1FOI1Y2pXimaKS5usZLCwCbNXoPQaIBdxG2W0d3/s640/Single+Frame+10FPS+streaming.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">One Complete Frame Captured and Transmitted over USB</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj15w5wl7frOMN396D7ZBMYorzcJjHRdLTBWSSfFt9GwL40TszMobaP9SXGpEyvJKCDmMeRd7w-WvMrQrXfT6pMkqIOhdXtkCdZEGGphliC1pcdtdobJyoMRqvVQski7_T-gRPCF9TjeZ1S/s1600/Start_of_frame_Streaming3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj15w5wl7frOMN396D7ZBMYorzcJjHRdLTBWSSfFt9GwL40TszMobaP9SXGpEyvJKCDmMeRd7w-WvMrQrXfT6pMkqIOhdXtkCdZEGGphliC1pcdtdobJyoMRqvVQski7_T-gRPCF9TjeZ1S/s640/Start_of_frame_Streaming3.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Start of single Frame</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJVCQxT5qfgGysNCQ3IwrxF8_2DdZMuWr0vv9izyF8CY_2fXBs6Yrxhx2qRXRYFk8dds-ilYrsSnrsgDGjunqnZm3dm9ZAfX-XhtPKn6INMxzCJBl9j4v6zcKoqwO0u2DkO9c-sNMBAYL/s1600/Start_of_frame_Streaming.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJVCQxT5qfgGysNCQ3IwrxF8_2DdZMuWr0vv9izyF8CY_2fXBs6Yrxhx2qRXRYFk8dds-ilYrsSnrsgDGjunqnZm3dm9ZAfX-XhtPKn6INMxzCJBl9j4v6zcKoqwO0u2DkO9c-sNMBAYL/s640/Start_of_frame_Streaming.png" width="640" /></a></div>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfm1OazcS-JyiVo8-owcZYMOxPpE_rSvE-lHZ20QKV6xmCq-fcL_aObgVX6Fi2EGPADcr6TwkODMHw_TIoQyOpnomkBd1-UNOy6mDavzlP_FJ-LfuR19aPf3b0p88AqpcElPyCyGNNseLB/s1600/Start_of_frame_Streaming2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfm1OazcS-JyiVo8-owcZYMOxPpE_rSvE-lHZ20QKV6xmCq-fcL_aObgVX6Fi2EGPADcr6TwkODMHw_TIoQyOpnomkBd1-UNOy6mDavzlP_FJ-LfuR19aPf3b0p88AqpcElPyCyGNNseLB/s640/Start_of_frame_Streaming2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Single Line , one HSYNC Transfer</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_P00C9xbkS_uNFGl5lbX8Vvu1v25spCxNnLMb4a6xEPlon_yNHTTayjTVRSuePEcRT4IEIhxE0Dkd_-AeOMdGXFKWEDWXYJNwpUj5dWmWQ4kqv1zFG7RU3uxqwzwIINHbqUihK6vgC9op/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252810%2529.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="599" data-original-width="646" height="592" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_P00C9xbkS_uNFGl5lbX8Vvu1v25spCxNnLMb4a6xEPlon_yNHTTayjTVRSuePEcRT4IEIhxE0Dkd_-AeOMdGXFKWEDWXYJNwpUj5dWmWQ4kqv1zFG7RU3uxqwzwIINHbqUihK6vgC9op/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%252810%2529.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">VLC Streaming video from PIC32MZ 640x480 @10FPS</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhipTOuujiukHl2BngTGU6TgzU1MNoirUilwI1xj-OxVJ1W1COLQS5WHf62g6MlBK8EOWOvPWiJSKANg4wf4MgOUmHbAPNUUXb5tbOlCtw7PSrmp41SJYDQl_JXLqM_tymym8Hprt2xcDtp/s1600/vlcsnap-2019-06-18-23h35m23s359.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhipTOuujiukHl2BngTGU6TgzU1MNoirUilwI1xj-OxVJ1W1COLQS5WHf62g6MlBK8EOWOvPWiJSKANg4wf4MgOUmHbAPNUUXb5tbOlCtw7PSrmp41SJYDQl_JXLqM_tymym8Hprt2xcDtp/s640/vlcsnap-2019-06-18-23h35m23s359.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">640x480 VGA Image OV7670 @10FPS</td></tr>
</tbody></table>
<br />
<br />
<br />
<b><br /></b>
<b>Firmware Source </b><br />
<b><br /></b>
Firmware source PCB files and other Documents are available in my GitHub account repo<br />
<br />
<a href="https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC">https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC</a><br />
<br />
<br /></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com5Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-50570479925720899082019-05-30T22:21:00.000+02:002020-02-29T11:11:37.175+01:00Implementing USB Video Device Class (UVC) Device Driver on Microchip USB Stack, PIC32<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I was recently working on a little project in which i need to stream video from mcu to PC, so i decided to look for a solution. My first obvious solution was to make a custom protocol over USB bulk or isochronous Transfer and also make some application in Qt or MATLAB to stream and display video.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
But when i looked little bit more , I found out that there is already a USB video class assigned for this specific task. Driver for UVC device are already standard and present in many well used OS. Driver is present in Windows and Linux both.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
As Video over USB is quite resource intensive task so it is not common to use a MCU, I was using PIC32 MCU for project, and USB stack Provided by microchip was no exception, Microchip USB stack does not have support for UVC. So i decided to implement my self.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This project will be multi part project ,</div>
<div style="text-align: justify;">
in First part i will have static image 160x120 pixel resolution, stream over the USB and play in VLC.</div>
<div style="text-align: justify;">
Second Part i will interface a OV7670 camera to the MCU and stream live video on VLC.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCJj42TGp7y1Vhj_oTvDwL7GBzrmL51ijW_XQ2sCzx8Q47-veCv9srLqHl9Xj0ZJulzG9E1GF9M8SAzD39nMnXafUsl3HGWQbO45gF4_B_YBefC4_tFPi_TmCmEN8OnLQ-bytrKfj4Dpi8/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCJj42TGp7y1Vhj_oTvDwL7GBzrmL51ijW_XQ2sCzx8Q47-veCv9srLqHl9Xj0ZJulzG9E1GF9M8SAzD39nMnXafUsl3HGWQbO45gF4_B_YBefC4_tFPi_TmCmEN8OnLQ-bytrKfj4Dpi8/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKqYrXeJya4nTVPtOMP1vANR1SEs3VtNCMgEIo1H_2JhFBlmfjTkwqFFpqJXWKcT9gSpG3mOeTSkw6aRNZlm3Ukjw9apQ1WJ0_amVtdyw83Bjz_Wmmfi-R5C1w13mwEP1wKoZzU2CLir1D/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25283%2529.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="650" data-original-width="1497" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKqYrXeJya4nTVPtOMP1vANR1SEs3VtNCMgEIo1H_2JhFBlmfjTkwqFFpqJXWKcT9gSpG3mOeTSkw6aRNZlm3Ukjw9apQ1WJ0_amVtdyw83Bjz_Wmmfi-R5C1w13mwEP1wKoZzU2CLir1D/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25283%2529.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A Sample image 160x120 Pixel converted to yuy2 , Streamed over USB played on VLC<br />
<br /></td></tr>
</tbody></table>
<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT9X6q4uSu8OKUXlJZlKWpPCXtyMbcUrNlS9jREv43Aly1heiTBeam5lBSl9iJUIrOFbZzjvd1_oIWoXBON6Lz32cVfoNAFJce7Xyu53eg7Nl-U1SEAmjiRyB_N5n3Usv2mGNuK-4qdVMW/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1078" data-original-width="1600" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT9X6q4uSu8OKUXlJZlKWpPCXtyMbcUrNlS9jREv43Aly1heiTBeam5lBSl9iJUIrOFbZzjvd1_oIWoXBON6Lz32cVfoNAFJce7Xyu53eg7Nl-U1SEAmjiRyB_N5n3Usv2mGNuK-4qdVMW/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+3.JPG" width="640" /></a></div>
<a name='more'></a><div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I have First implemented UVC stack onto PIC32MX470F512H , which has USB FS, Limited to Max 12Mbit/S and RAM is also quite limited, So max Resolution and frame rate is limited.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Later i moved to PIC32MZ2048EFM064 which has USB HS, and now USB bandwidth is more than what we need for experiment.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><u>Hardware</u></b></div>
<br />
<div style="text-align: justify;">
<span style="font-weight: 700; text-decoration-line: underline;"><br /></span></div>
<div style="text-align: justify;">
For implementation with PIC32MX470F512H i used my old PIC32 Breakout board , <a href="https://www.circuitvalley.com/2014/01/pic32-development-breakout-usb-board.html">more details (schematic) about that board can be found here</a>.</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Here is PIC32MX hardware , For simple static image you will just need board, another cape board is just simple breakout header so that this cheap ebay breakout board fits to my board.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-Kk24rrFkhgIyV_nPI1xeQdt9436UWLkrzRIUk_zBtxtEdB0UghzHJZ13to96qOzxtIi10OqvixhZ1Vj7xd8nDZ-GVWSbIQ8axZuMXe_EaU88VYN68m5OvYd-mg4SIcrOC75tE9Tg1leZ/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="842" data-original-width="1600" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-Kk24rrFkhgIyV_nPI1xeQdt9436UWLkrzRIUk_zBtxtEdB0UghzHJZ13to96qOzxtIi10OqvixhZ1Vj7xd8nDZ-GVWSbIQ8axZuMXe_EaU88VYN68m5OvYd-mg4SIcrOC75tE9Tg1leZ/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.JPG" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Here is PIC32MZ Hardware , this board i recently made because it has faster processor and quite unique 480Mbit/S USB HS. <a href="https://www.circuitvalley.com/2019/04/breadboardable-microchip-pic32mz-diy-ardunio-usb-hs.html">More details about this board can be found here.</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2j2TaahG5g_qVuTthzJ_VixtIVoSMzkpBrIU6nPeRHMSdjBfghG2MkHnA_qdQ-r8NhfTKf8Fsdj-kLcdwAoPg3jEGSan-6vc_eNdhhOwQCtPem4N_YTFRmR_5zc76iO1l1nhruLSylisg/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1078" data-original-width="1600" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2j2TaahG5g_qVuTthzJ_VixtIVoSMzkpBrIU6nPeRHMSdjBfghG2MkHnA_qdQ-r8NhfTKf8Fsdj-kLcdwAoPg3jEGSan-6vc_eNdhhOwQCtPem4N_YTFRmR_5zc76iO1l1nhruLSylisg/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+3.JPG" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>How to Convert image to YUV format</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I have used ffmpeg to convert image to yuv format using command</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>ffmpeg.exe -i draw640.jpeg -s 640x480 -pix_fmt yuyv422 yuyv422.yuv</b></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguMkX6AJMYh8boEyXFMjcxxSXK3lbmgAj0E2GLt-yUPWiUNNaS4_YyhVbCgs4rmwyNMfag9v5-xKIoYnysyWm7DUxfF2Hx6WGhxktGEQCGLRJIlyNs11adJq9b5HfoiMgCRTpP9wzRp4QA/s1600/converting_jpg_yuv_uvc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="763" data-original-width="1213" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguMkX6AJMYh8boEyXFMjcxxSXK3lbmgAj0E2GLt-yUPWiUNNaS4_YyhVbCgs4rmwyNMfag9v5-xKIoYnysyWm7DUxfF2Hx6WGhxktGEQCGLRJIlyNs11adJq9b5HfoiMgCRTpP9wzRp4QA/s640/converting_jpg_yuv_uvc.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Viewing Raw YUV pixel image using a online viewer</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
To verify if output was correct format i used this website to view my output image for correct colors and everything else</div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXcizFUFPXP5WGnabo5MjZTf_jbO4jsZFdIr0mxuP7HnUCsGF3X5jBU00x_qlbncYQ7Gg3gZfx5dFpxsHNQod1VMbeU4m2bWtTPlpT7gE4biO9_l00y5LQnbz1miFpWrPiPE6n3XkmYwH2/s1600/onlineviewer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1324" data-original-width="1564" height="540" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXcizFUFPXP5WGnabo5MjZTf_jbO4jsZFdIr0mxuP7HnUCsGF3X5jBU00x_qlbncYQ7Gg3gZfx5dFpxsHNQod1VMbeU4m2bWtTPlpT7gE4biO9_l00y5LQnbz1miFpWrPiPE6n3XkmYwH2/s640/onlineviewer.png" width="640" /></a></div>
<div style="text-align: justify;">
<b><br /></b>
</div>
<div style="text-align: justify;">
<b><u>Playback on PC</u></b></div>
<br />
<div style="text-align: justify;">
<span style="font-weight: 700;"><br /></span></div>
<div style="text-align: justify;">
Device Will be detected as USB Camera As show in the image blow</div>
<br />
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOmokxJ4uTHd_9xm538SQEMCGhOxKu1nS-3lD5JYFuSXZIk-9JvMW_dlX6E6OTA3LSbNlfQm_l78kHr4Du7c5ARNh4FQk16ehC1A-QFtSz9m3w89CtVMu0BGWJSCY2hfmd8KuHmpdWWn-0/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="725" data-original-width="987" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOmokxJ4uTHd_9xm538SQEMCGhOxKu1nS-3lD5JYFuSXZIk-9JvMW_dlX6E6OTA3LSbNlfQm_l78kHr4Du7c5ARNh4FQk16ehC1A-QFtSz9m3w89CtVMu0BGWJSCY2hfmd8KuHmpdWWn-0/s640/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25281%2529.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>VLC Playback : </b>it simple as if playing from a webcam</div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOXqwkIRvBF03uYhWO5OJUuJq10DAP48AQKXkWcSv42WlZ3qr2uWUpQDsTfR-LGQfDs9ptYaKIVXdZ4yvr4g42NUra3s7prNZ8-VxxQo1mj9kIi83hs_kUep7yjBHmEUxB2LlixmrbEfcZ/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="874" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOXqwkIRvBF03uYhWO5OJUuJq10DAP48AQKXkWcSv42WlZ3qr2uWUpQDsTfR-LGQfDs9ptYaKIVXdZ4yvr4g42NUra3s7prNZ8-VxxQo1mj9kIi83hs_kUep7yjBHmEUxB2LlixmrbEfcZ/s400/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25282%2529.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi996PYKSapzWwSdb_QTmrLK8JyP2Ck5HWEp0mOn4_8iUS_wybiNR7IH5GnpKA-bXKlKDcR8-Tg_t6Th9RtZ6Cy6ZllplImuADaK-zHWiHaLgDhXUTMg6K1MIwGvWVNGtC6l-guPXvsCMSY/s1600/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25283%2529.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="650" data-original-width="1497" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi996PYKSapzWwSdb_QTmrLK8JyP2Ck5HWEp0mOn4_8iUS_wybiNR7IH5GnpKA-bXKlKDcR8-Tg_t6Th9RtZ6Cy6ZllplImuADaK-zHWiHaLgDhXUTMg6K1MIwGvWVNGtC6l-guPXvsCMSY/s400/diy_usb_webcam_uvc_pic32_usb_video_class_mcu+%25283%2529.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Sample image displayed on Left, VLC on right streaming from Device over USB</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Firmware </b></div>
<br />
<div style="text-align: justify;">
<span style="font-weight: 700;"><br /></span></div>
<div style="text-align: justify;">
i will go through the files which i have added into Microchip USB stack. all source present in my github here <a href="https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC">https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC</a></div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>USB Descriptor</b></div>
<div style="text-align: justify;">
USB Descriptor is really important to get usb device detected as UVC Device, Descriptor Defines what frame rate , what resolution camera supports, what is video format (nv12 or yuy2) , what endpoint is used to transfer data.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
here is the complete listing from Descriptor for my device, USB Descriptor is really important, I have been Looking at USB UVC Documents and only get Partial info. Ultimately i looked at USB descriptor form Cypress USB 3.0 Camera Development board source, the after reading it a little bit i was able to complete my USB Descriptor</div>
<div style="text-align: justify;">
<br /></div>
</div>
<script src="https://gist.github.com/circuitvalley/3dac796d3b0628ddddb5392fa63124e5.js"></script>
<br />
<div style="text-align: justify;">
The Files which i have Added to Microchip USB Stacks are</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
usb_video.h</div>
<div style="text-align: justify;">
usb_video_local.h</div>
<div style="text-align: justify;">
usb_video.c</div>
<div style="text-align: justify;">
usb_device_video_read_write.c</div>
<div>
<span class="file" style="box-sizing: inherit; color: #888888;"></span></div>
<div>
<div style="text-align: justify;">
<span class="file" style="box-sizing: inherit; color: #888888;"><br /></span></div>
</div>
<div>
<div style="text-align: justify;">
<span class="file" style="box-sizing: inherit; color: #888888;">You can find complete source here </span></div>
</div>
<div>
<div style="text-align: justify;">
<span class="file" style="box-sizing: inherit; color: #888888;"><span style="color: black;"> </span><a href="https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC">https://github.com/circuitvalley/USB-Video-Class-Stack-PIC32-UVC</a></span></div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
UVC Have certain class specific request as well , as PC send request for these messages , Firmware suppose to send back status. these request are implemented as application call back. <span style="background-color: white; color: #24292e; font-family: , "consolas" , "liberation mono" , "menlo" , "courier" , monospace; font-size: 12px; white-space: pre;">APP_USBDeviceVideoEventHandler Function Handles these UVC specific request.</span></div>
<div style="text-align: justify;">
<span style="background-color: white; color: #24292e; font-family: , "consolas" , "liberation mono" , "menlo" , "courier" , monospace; font-size: 12px; white-space: pre;"><br /></span></div>
<div style="text-align: justify;">
<span style="background-color: white; color: #24292e; font-family: , "consolas" , "liberation mono" , "menlo" , "courier" , monospace; font-size: 12px; white-space: pre;"><br /></span></div>
<h2 style="text-align: justify;">
<span style="background-color: white; color: #24292e; font-family: , "consolas" , "liberation mono" , "menlo" , "courier" , monospace; font-size: 12px; white-space: pre;">Next Part</span></h2>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2019/06/opensource-diy-usb-webcam-ov7670-ov2640-pic32-USB-UVC-Video-device-class.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="https://www.circuitvalley.com/2019/06/opensource-diy-usb-webcam-ov7670-ov2640-pic32-USB-UVC-Video-device-class.html" border="0" data-original-height="582" data-original-width="1600" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJxq_3DTkpoxXHnVEoNgjejAtbCqXdkTDIv3fAar1pu-DYDxKiQs885js1E6k6zeQ7DBmbgBTLsacWAIeIgx4RnyLEqFcYBrUz32fD3LtJREZ7I1DVvr3oAouxHiayvl0s7y-vEaV-69Nk/s320/diy_usb_webcam_uvc_pic32_usb_video_class_mcu.JPG" title="https://www.circuitvalley.com/2019/06/opensource-diy-usb-webcam-ov7670-ov2640-pic32-USB-UVC-Video-device-class.html" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com2Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-42269905987819165192019-04-22T19:29:00.000+02:002019-04-26T21:36:30.170+02:00Zwei2: OpenSource Breadboardable Microchip PIC32MZ Board USB<div dir="ltr" style="text-align: left;" trbidi="on">
Quite often i use PIC32 microcontrollers in my project, and as since quite some time PIC32MZ microcontrollers are there, with improved features such as USB HS and much more . i was not able to find a board which exactly fits my needs. so i made my self this little board ,i call it Zwei^2 , it is quite small,and can be put onto a breadboard.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIw84QlFFgUN-L1KWCPSVxZciGyeP28dIOK-WMtvgy0V2M8JC_tKIn2W8bmEJmpy_2kFbS2UD8n-LM6X-OTnpsRb_z9y5Vdt6NHG1qmGpENK7Ml7uegmt8SK-QmFVFatU7nkg_vl3lJCGR/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIw84QlFFgUN-L1KWCPSVxZciGyeP28dIOK-WMtvgy0V2M8JC_tKIn2W8bmEJmpy_2kFbS2UD8n-LM6X-OTnpsRb_z9y5Vdt6NHG1qmGpENK7Ml7uegmt8SK-QmFVFatU7nkg_vl3lJCGR/s640/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61u_6PEUO9RYqq8AytLAY4s0wdNXSelLpXB8V8JPEECMQiDfR3W6BO3aIimaRGGYfNrkAv68tlIQmB2g9rXw_9LEVqgNV0pCTKvsZBJz1kNvM08bxmdfrpt3QM3lJpdxrziJcaGFnxXmi/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1059" data-original-width="1600" height="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj61u_6PEUO9RYqq8AytLAY4s0wdNXSelLpXB8V8JPEECMQiDfR3W6BO3aIimaRGGYfNrkAv68tlIQmB2g9rXw_9LEVqgNV0pCTKvsZBJz1kNvM08bxmdfrpt3QM3lJpdxrziJcaGFnxXmi/s640/breadboardable_pic32mz_devlopement_board_microchip+%25281%2529.JPG" width="640" /></a></div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw-n6J7EE9f2jTPgkRGP5HIDc_EGdWANTrKIJ8u8l6H4MkM_7HCN5kh0KO2mU4C3F1VAHzIXbuSXvk2aZ9V2gYeeA8VS0B43Xus2f3D4MRgJ-B58zpd9uT-au2ymA1iwu0jf1cEIwTG7fw/s1600/breadboardable_pic32mz_devlopement_board_microchip+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1115" data-original-width="1600" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw-n6J7EE9f2jTPgkRGP5HIDc_EGdWANTrKIJ8u8l6H4MkM_7HCN5kh0KO2mU4C3F1VAHzIXbuSXvk2aZ9V2gYeeA8VS0B43Xus2f3D4MRgJ-B58zpd9uT-au2ymA1iwu0jf1cEIwTG7fw/s640/breadboardable_pic32mz_devlopement_board_microchip+%252815%2529.JPG" width="640" /></a><br />
<br />
<a name='more'></a><br />
<br />
<b>Schematic:</b><br />
Board i have here is having PIC32MZ2048EFM064 in TQFP64 package, though all of PIC32MZ in TQFP64 should fit , because they all are pin compatible.<br />
<br />
PIC32MZ2048EFM064 , goest upto 200Mhz, have 512KB of RAM and 2MB of flash. The feature i am more intersected in on chip USB HS MAC and PHY.<br />
<br />
There is a switching regulator to supply 3.3V for MCU 24Mhz, crystal oscillator and SDCard connector on bottom , few LEDs, voltage Reference chip and two two switch (one for reset another connected to GPIO).<br />
<a href="https://github.com/circuitvalley/Zwei2_Breadboardable_PIC32MZ_Board"><b>High Resolution schematic in PDF format available in project Github Repo(Here)</b></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuczLVfCyiIIMNR7W6GenpGtfKzkW3ydwe-j1Bt1o5x7Uly0YqvU9585oIf3DyC3IksZlUJOddKdIRZIB2Q5J9ofh_iABHWaTwtyn64cEnTmDw37ZWeoMSSXKIpNM1DrMskI3XkFnYUM3w/s1600/PIC32MZ_BOARD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1151" data-original-width="1600" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuczLVfCyiIIMNR7W6GenpGtfKzkW3ydwe-j1Bt1o5x7Uly0YqvU9585oIf3DyC3IksZlUJOddKdIRZIB2Q5J9ofh_iABHWaTwtyn64cEnTmDw37ZWeoMSSXKIpNM1DrMskI3XkFnYUM3w/s640/PIC32MZ_BOARD.jpg" width="640" /></a></div>
<b><br /></b>
<b>Layout</b><br />
PCB layout is quite simple , i was just concern about it Fitting onto a single Breadboard . Layout and Gerber File are <a href="https://github.com/circuitvalley/Zwei2_Breadboardable_PIC32MZ_Board">available in github repo of the project Here </a><br />
<br />
<b>Blank Boards </b>are available for purchase , Free Shipping worldwide, Matt Blank, Gold Finish (ENIG)<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="VTATJ4SH7DSVN" />
<br />
<table>
<tbody>
<tr><td><input name="on0" type="hidden" value="Quantity" />Quantity</td></tr>
<tr><td><select name="os0">
<option value="Blank PCB Qty 1">Blank PCB Qty 1 €10,00 EUR</option>
<option value="Blank PCB Qty 2">Blank PCB Qty 2 €18,00 EUR</option>
<option value="Blank PCB Qty 3">Blank PCB Qty 3 €24,00 EUR</option>
</select> </td></tr>
<tr><td><input name="on1" type="hidden" value="Blank PCB only Matt Black ENIG" />Blank PCB only Matt Black ENIG</td></tr>
<tr><td><input maxlength="200" name="os1" type="text" /></td></tr>
</tbody></table>
<input name="currency_code" type="hidden" value="EUR" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNFXfFd76u0lr-s7aXHaKChZbZI2wgB209z5du63cJMVO2V152RU0NOKhx5iWJIjHrG6c5f83KmmHPQKlhhP1-JoZNGGg4XdCoX-nWVvz_zQ-GQjGMsxgrGr1VkMuuQfmPAakgxW3_9b5A/s1600/pic32mz_board.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="649" data-original-width="1600" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNFXfFd76u0lr-s7aXHaKChZbZI2wgB209z5du63cJMVO2V152RU0NOKhx5iWJIjHrG6c5f83KmmHPQKlhhP1-JoZNGGg4XdCoX-nWVvz_zQ-GQjGMsxgrGr1VkMuuQfmPAakgxW3_9b5A/s640/pic32mz_board.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc7osk8uFfKN60SdzIhoisXiOmXywMeOYLdNzXcQm22-hEnnLxJxkzrQ48ykCgIRndzVeqtelixxMp83P1fCB6t0KDpAcpvi5U5GbLDcMJU-DBWriGzpgBDxra2YKp5FpOuEOYup5CYvSh/s1600/pic32mz_board3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="872" data-original-width="1600" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc7osk8uFfKN60SdzIhoisXiOmXywMeOYLdNzXcQm22-hEnnLxJxkzrQ48ykCgIRndzVeqtelixxMp83P1fCB6t0KDpAcpvi5U5GbLDcMJU-DBWriGzpgBDxra2YKp5FpOuEOYup5CYvSh/s640/pic32mz_board3d.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspDQOfKGqrEh2WFjuM-4LzV6kvsXtEhDPU1AGX5R9lK0Ys4dVO_USlai0O8jwTHIWSlrHUF0yx9GBHvYhRuZX5ncwLqZGVbcfrgrqeDCbeNMXysd87_i4SKP7JpKxr9_jnLrSYGOboIke/s1600/pic32mz_board3dback.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="972" data-original-width="1600" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspDQOfKGqrEh2WFjuM-4LzV6kvsXtEhDPU1AGX5R9lK0Ys4dVO_USlai0O8jwTHIWSlrHUF0yx9GBHvYhRuZX5ncwLqZGVbcfrgrqeDCbeNMXysd87_i4SKP7JpKxr9_jnLrSYGOboIke/s640/pic32mz_board3dback.png" width="640" /></a></div>
<br />
<br />
<b>PCB Image </b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKBacGKUgFXdgeHOOvS7omdqMm6cM8zrYmOVLrowX03S4wzVnaG0VZsj5UhMBkehv0SroAK51m_3CiC9Z6SiXkr0934tu7dm4HkMsBYZMARMviuA_hZvt2c4Ge_uOli_1yz6NfrtysbKk4/s1600/breadboardable_pic32mz_devlopement_board_microchip+%252816%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="637" data-original-width="1600" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKBacGKUgFXdgeHOOvS7omdqMm6cM8zrYmOVLrowX03S4wzVnaG0VZsj5UhMBkehv0SroAK51m_3CiC9Z6SiXkr0934tu7dm4HkMsBYZMARMviuA_hZvt2c4Ge_uOli_1yz6NfrtysbKk4/s640/breadboardable_pic32mz_devlopement_board_microchip+%252816%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJXmulj0HuXZluqazvDt6vCGKMEBrTFZ2a5YHqhH3k45OVibjNRRm_AoBfWrizaiTrbDPaT9zWPsZm8wVGizhi4VDRcZhcV0aEb5CFaw6V_qtvMMS9r4NIQIupNmrbA71XhvL6n4bcf7Ql/s1600/breadboardable_pic32mz_devlopement_board_microchip+%252819%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="1600" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJXmulj0HuXZluqazvDt6vCGKMEBrTFZ2a5YHqhH3k45OVibjNRRm_AoBfWrizaiTrbDPaT9zWPsZm8wVGizhi4VDRcZhcV0aEb5CFaw6V_qtvMMS9r4NIQIupNmrbA71XhvL6n4bcf7Ql/s640/breadboardable_pic32mz_devlopement_board_microchip+%252819%2529.JPG" width="640" /></a></div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBRaJO9vGkAkEGlo63NstgHtq-19Yg-IC_00LhqkhCP-rgA-PXh2eXWCbylaKW61GRuAKoZoBMVKE1ZP5wx_wzKlXkfthHO-sZtcDbF3VnpXDRkmRTRBe2LMyKFRMwG-z5E3gY2LRbgO1k/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="582" data-original-width="1600" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBRaJO9vGkAkEGlo63NstgHtq-19Yg-IC_00LhqkhCP-rgA-PXh2eXWCbylaKW61GRuAKoZoBMVKE1ZP5wx_wzKlXkfthHO-sZtcDbF3VnpXDRkmRTRBe2LMyKFRMwG-z5E3gY2LRbgO1k/s640/breadboardable_pic32mz_devlopement_board_microchip+%25289%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw-n6J7EE9f2jTPgkRGP5HIDc_EGdWANTrKIJ8u8l6H4MkM_7HCN5kh0KO2mU4C3F1VAHzIXbuSXvk2aZ9V2gYeeA8VS0B43Xus2f3D4MRgJ-B58zpd9uT-au2ymA1iwu0jf1cEIwTG7fw/s1600/breadboardable_pic32mz_devlopement_board_microchip+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1115" data-original-width="1600" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw-n6J7EE9f2jTPgkRGP5HIDc_EGdWANTrKIJ8u8l6H4MkM_7HCN5kh0KO2mU4C3F1VAHzIXbuSXvk2aZ9V2gYeeA8VS0B43Xus2f3D4MRgJ-B58zpd9uT-au2ymA1iwu0jf1cEIwTG7fw/s640/breadboardable_pic32mz_devlopement_board_microchip+%252815%2529.JPG" width="640" /></a></div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBQ9vULnxA4o20_Q_CrS713CI0tjvWIrPOa-a3ZMiwKVjSw-lXkkIs-u9UtmUV1SvMLAEeBTYfWD2WuDqCk9j6hD-23zTzuKkejgjmX7M5AAJW1SuZPKd8E4NJc1872dJ8MhI9PrL7WGRB/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="988" data-original-width="1600" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBQ9vULnxA4o20_Q_CrS713CI0tjvWIrPOa-a3ZMiwKVjSw-lXkkIs-u9UtmUV1SvMLAEeBTYfWD2WuDqCk9j6hD-23zTzuKkejgjmX7M5AAJW1SuZPKd8E4NJc1872dJ8MhI9PrL7WGRB/s640/breadboardable_pic32mz_devlopement_board_microchip+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ0YHwLRisnLsNG-QRLKkSSNauI3xS6YQyYSLjm9klc6CrDNlAIDRzFMj6UXp3FfOwHQhX5e2UrGu1hLM32D5ZJCUKXi0cvddL03bXksVNGrJ81NCk-gsXfhl8V7gFe35qLSYQ1BFaLcHZ/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1034" data-original-width="1600" height="412" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ0YHwLRisnLsNG-QRLKkSSNauI3xS6YQyYSLjm9klc6CrDNlAIDRzFMj6UXp3FfOwHQhX5e2UrGu1hLM32D5ZJCUKXi0cvddL03bXksVNGrJ81NCk-gsXfhl8V7gFe35qLSYQ1BFaLcHZ/s640/breadboardable_pic32mz_devlopement_board_microchip+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2ORWaWErgDaaLBjHBKHdgKrpmWZZGC-7kwX7gZWSfOeJf0RGV31qgoP07jOuNN-5XvszzXmwQKK7v6vDP5zwj8Yky8xPpfaW3yWsC5kLvSzy3mUYDqM-kkkAW4u1U25fyYrDszQ2okLe/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1123" data-original-width="1600" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2ORWaWErgDaaLBjHBKHdgKrpmWZZGC-7kwX7gZWSfOeJf0RGV31qgoP07jOuNN-5XvszzXmwQKK7v6vDP5zwj8Yky8xPpfaW3yWsC5kLvSzy3mUYDqM-kkkAW4u1U25fyYrDszQ2okLe/s640/breadboardable_pic32mz_devlopement_board_microchip+%25284%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXig5-akRBu44A1OXAqcCk53766Z0xQ5OuwSXN1CnF0HezIlfZCiQlWdn5m_aKfykJoTU74cdR-b2XdPUWxM3o2R6EkiRnFz5IF3ZDGiLOEl3DnTpFOA8yDZ2tM0A__ibRykG5jE_a0mGV/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1181" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXig5-akRBu44A1OXAqcCk53766Z0xQ5OuwSXN1CnF0HezIlfZCiQlWdn5m_aKfykJoTU74cdR-b2XdPUWxM3o2R6EkiRnFz5IF3ZDGiLOEl3DnTpFOA8yDZ2tM0A__ibRykG5jE_a0mGV/s640/breadboardable_pic32mz_devlopement_board_microchip+%25288%2529.JPG" width="472" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuC1vNJccaEMJTaXSpDvj-qUyqlQtcZatciAfDIl6CGZGTGsHCv4PjvjWSf9VJu-4n9KrUnaTUIlhWqZLG4McHf9XfB-hoX4aHNMkO0MBI9dlCPL5YLGuOjgJhP377JScn0hNZV3PaCAbg/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1600" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuC1vNJccaEMJTaXSpDvj-qUyqlQtcZatciAfDIl6CGZGTGsHCv4PjvjWSf9VJu-4n9KrUnaTUIlhWqZLG4McHf9XfB-hoX4aHNMkO0MBI9dlCPL5YLGuOjgJhP377JScn0hNZV3PaCAbg/s640/breadboardable_pic32mz_devlopement_board_microchip+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqwYaT3GKgJe51dsQ8FGfb055K6DpDWAMta2UdbFCHIm_OWr50oCeWLzfPMLTzoRQTQ7HNXo9I2SBtC7QqmXaoxJXdVG01IndZxx8ofoLtPr3NT80IaSwXTpMajWQDqB-KoH8CLiVYwoQ/s1600/breadboardable_pic32mz_devlopement_board_microchip+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1110" data-original-width="1600" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqwYaT3GKgJe51dsQ8FGfb055K6DpDWAMta2UdbFCHIm_OWr50oCeWLzfPMLTzoRQTQ7HNXo9I2SBtC7QqmXaoxJXdVG01IndZxx8ofoLtPr3NT80IaSwXTpMajWQDqB-KoH8CLiVYwoQ/s640/breadboardable_pic32mz_devlopement_board_microchip+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-EfcFTXjxzDS6Te_CMdm2xYSUmJz5MCAFbVj37Fgk37K1o_bSs96KIID_Qmp4VmYNtWOHh2ou7q60XGFsrVgX1CCXmDaC5aFyTnDZtS4Bk2sGutQvoT6PGuosfihELC8aA8F6oj1NS51/s1600/breadboardable_pic32mz_devlopement_board_microchip+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="1600" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY-EfcFTXjxzDS6Te_CMdm2xYSUmJz5MCAFbVj37Fgk37K1o_bSs96KIID_Qmp4VmYNtWOHh2ou7q60XGFsrVgX1CCXmDaC5aFyTnDZtS4Bk2sGutQvoT6PGuosfihELC8aA8F6oj1NS51/s640/breadboardable_pic32mz_devlopement_board_microchip+%252810%2529.JPG" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
<b>Project File available here </b><br />
<a href="https://github.com/circuitvalley/Zwei2_Breadboardable_PIC32MZ_Board">https://github.com/circuitvalley/Zwei2_Breadboardable_PIC32MZ_Board</a></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com10Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-48704685737304989822019-04-07T01:00:00.001+02:002020-02-29T11:10:08.595+01:00PIC32MX DMA Performance Test , PMP Parallel Master Port DMA Performance (Specifically PIC32MX470F512H)<div dir="ltr" style="text-align: left;" trbidi="on">
This is going to be Quick Post showing Maximum Possible Performance of DMA in PIC32MX MCU, These tests are performed with PIC32MX470F512H running at 120Mhz<br />
<br />
Short answer:<br />
if you do not want to read further than. My result show DMA can perform 32bit transfers at rate of maximum 10Mhz. This result is quite similar to few other article on web, I do not have answer what exactly limit the maximum transfer rate to 10Mhz, but actual achievable transfer rate may vary depending on the System Bus availability, As System bus is shared between all DMA , CPU and other peripheral.<br />
<br />
I have also tried to trigger transfer from timer and external interrupt , any trigger rate above 10Mhz start skipping transfers,<br />
<br />
As rule of thumb on PIC32 Maximum achievable trigger rate of DMA is System clock divided by 10, as i have read quite a few places each DMA transfer takes roughly 10 System Clock Cycles.<br />
<br />
Experiment 1:<br />
<br />
In this test I have setup PMP in slave mode, and we will using DMA to push data out of MCU over 8Bit Parallel Master port(PMP). PMP is also set to Interrupt on each transfer which will trigger DMA to copy one byte from a lookup table into PMDOUT register.<br />
lookup table looks like this<br />
<br />
uint8_t look_up[]=<br />
{<br />
1,<br />
1<<1,<br />
1<<2,<br />
1<<3,<br />
1<<4,<br />
1<<5,<br />
1<<6,<br />
1<<7,<br />
};<br />
<br />
This look up table will display like this on oscilloscope output :<br />
RD is active low , which is set to active. and D0 to D7 shows lookup table on PMP 8bit Data output port.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQdAc-65wlHyIXTtenWMNTEFAIE23a3lKcBNjz8GXTHFFbdrLLlV927KV7c1ZVP-j33MgA_7tyhlxbb_14WXXPRoUOs4TwW5Q9g68TdoWBZ7J17moBfMC3SnRQLBdA8wG3l2CUjh3ZPUwG/s1600/Pic32_pmp_dma_maximum_rate_performance.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQdAc-65wlHyIXTtenWMNTEFAIE23a3lKcBNjz8GXTHFFbdrLLlV927KV7c1ZVP-j33MgA_7tyhlxbb_14WXXPRoUOs4TwW5Q9g68TdoWBZ7J17moBfMC3SnRQLBdA8wG3l2CUjh3ZPUwG/s640/Pic32_pmp_dma_maximum_rate_performance.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">DMA byte transfer rate ~100ns each transfer, DMA free triggered by PMP Transfer</td></tr>
</tbody></table>
Each Byte transfer trigger next DMA transfer of next byte, DMA also start automatically when when all bytes from table transferred, This test show Each byte take same amount of time of ~100ns.<br />
<br />
<a name='more'></a><br />
<br />
<br />
Experiment 2:<br />
<br />
As PMP also support Buffered Transfer , image blow taken from PIC32MX PMP datasheet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdoo79vuua3YYx5YvEORQPSvWlVChh6uc1QDbZ8Ax3Hl2wdnfs03uWPbgLlZdpVzmyjnXHYLZACCHJ1WV0hpqZxAPHtUt4sOdppB1ICNuTtQj5YDaE04QEzGCpdBfUW0hx62__s-2-3U-3/s1600/Pic32_pmp_dma_maximum_rate_performance4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="805" data-original-width="1452" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdoo79vuua3YYx5YvEORQPSvWlVChh6uc1QDbZ8Ax3Hl2wdnfs03uWPbgLlZdpVzmyjnXHYLZACCHJ1WV0hpqZxAPHtUt4sOdppB1ICNuTtQj5YDaE04QEzGCpdBfUW0hx62__s-2-3U-3/s640/Pic32_pmp_dma_maximum_rate_performance4.png" width="640" /></a></div>
<br />
in this experiment same lookup table will be transferred PMP set into buffed mode with PMP DMA trigger interrupt generated on every 4th byte. we will use 4byte PMDOUT buffer. Now DMA will be triggered on every 4th byte transfer and DMA will transfer 4byte in one go instead of 1byte.<br />
<br />
As displayed by images blow , byte pattern remain same but you can see prebuffered byte take around ~30ns to transfer while as DMA triggers on every 4th byte, it takes same as before ~100ns.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8R46IJJctll5EtbYgzHsdq0W62RsUMMcrv03lTsCiVGFrVHBNwIuljwpEa5G96rKC6fM1EG1xZQiF9wyFINkUVdfPEZIj-6N8WknabmhaZfSLYeaRNgw8-j1Zk267VreFOnArd1_EpEq/s1600/Pic32_pmp_dma_maximum_rate_performance2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8R46IJJctll5EtbYgzHsdq0W62RsUMMcrv03lTsCiVGFrVHBNwIuljwpEa5G96rKC6fM1EG1xZQiF9wyFINkUVdfPEZIj-6N8WknabmhaZfSLYeaRNgw8-j1Zk267VreFOnArd1_EpEq/s640/Pic32_pmp_dma_maximum_rate_performance2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">DMA Trigger every 4th Byte , Transfers 4byte in one go into PMP buffer. Prebuffered bytes takes ~30ns </td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqMn68_Kb1qnM3bIghzsI_kK_5jGCbGjkvqT1Za6FicedxQzuZbnWAHvqRUO_TKDq1bACI9bYoviaPBUNPhep5wdTAEJ90k5kg3LXjjXBpkm6tHCAA8eoSJDIawWU_gDjfWNkIvfwb47oH/s1600/Pic32_pmp_dma_maximum_rate_performance3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqMn68_Kb1qnM3bIghzsI_kK_5jGCbGjkvqT1Za6FicedxQzuZbnWAHvqRUO_TKDq1bACI9bYoviaPBUNPhep5wdTAEJ90k5kg3LXjjXBpkm6tHCAA8eoSJDIawWU_gDjfWNkIvfwb47oH/s640/Pic32_pmp_dma_maximum_rate_performance3.png" width="640" /></a></div>
<br />
TEST VIDEO<br />
<iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/5Yzj-wjbOVU" width="560"></iframe>
</div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com1Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-43531555790569750242018-11-12T22:48:00.001+01:002020-02-22T17:32:08.203+01:00DIY Open Source LM399 10V Voltage Reference, Second Revision<div dir="ltr" style="text-align: left;" trbidi="on">
This is second version of my simple LM399 based reference board, when i made my last version i received quite few small feedback form eevblog forum member, so i have made few improvements in second reversion accumulating those suggestions.<br />
<br />
Fist improvements is , Reverse probity protection, Now you can see in left corner a P-channel Mosfet and a resistor forming reverse polarity protection. Now it can save its self from damage caused by reverse polarity.<br />
With reverse polarity protection comes this little red power led indicating supply to the board.<br />
one major change is , now there is this 1k 10 Turn pot with 10PPM Opamp gain setting registers with help of this pot now it is possible to adjust output voltage from reference to exactly 10.00000V. And it can be easily jumpered if not needed<br />
There are few minor change in the PCB as well slots cut around actual reference chip is now wider, so now it is little bit easier to fit insulation foam cap, there are few minor changes on silk screen indicates input voltage, input and output voltage polarity.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglf7RCKzvl92lsZO72VQ-QMXcTZKqLQnD4EQnY7NH2Bbw9kBEsvhFjpiHhEC6cjlFKdKgm3Zx47KR5rdOmP79-MXXnqyKpKjjvH_Kbwwnl-9HLvXpkNwczCn-O9toCz2H0i-DU7Hy7MtoL/s1600/DSC_2459.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="734" data-original-width="1600" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglf7RCKzvl92lsZO72VQ-QMXcTZKqLQnD4EQnY7NH2Bbw9kBEsvhFjpiHhEC6cjlFKdKgm3Zx47KR5rdOmP79-MXXnqyKpKjjvH_Kbwwnl-9HLvXpkNwczCn-O9toCz2H0i-DU7Hy7MtoL/s640/DSC_2459.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyUu_GnY0sNHbbaI2tVvxyKPh0L_vfo0aiB1wCE-isT-HvmPT_w7q4sEXyzfMZXXy_xryDoE_Y8lI9Bvl3XZszMa9hDMdSsYYOHo0f6FnM7As6kYqIKW3vydc1IJuamzPLlRx9cAk-Slcr/s1600/DSC_2461.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1129" data-original-width="1600" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyUu_GnY0sNHbbaI2tVvxyKPh0L_vfo0aiB1wCE-isT-HvmPT_w7q4sEXyzfMZXXy_xryDoE_Y8lI9Bvl3XZszMa9hDMdSsYYOHo0f6FnM7As6kYqIKW3vydc1IJuamzPLlRx9cAk-Slcr/s640/DSC_2461.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTn86zYlCYLGtlMsq8fT6lUjZ45rmWbctFEH5KuogxKiRCx4Yp4RzqVYKRVNvLPeijdvxs_0RNNrDGTaJy6NeZcRSkNfLJvJY60sc6pLoWFmU6qdXLUAh_zwhNRXS2kzXtA_WKAsYyiLFP/s1600/DSC_2467.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1154" data-original-width="1600" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTn86zYlCYLGtlMsq8fT6lUjZ45rmWbctFEH5KuogxKiRCx4Yp4RzqVYKRVNvLPeijdvxs_0RNNrDGTaJy6NeZcRSkNfLJvJY60sc6pLoWFmU6qdXLUAh_zwhNRXS2kzXtA_WKAsYyiLFP/s640/DSC_2467.JPG" width="640" /></a></div>
<br />
<a name='more'></a>Offer From keysight<br />
Boost Your Bench’s Memory – for FREE! – CLAIM FORM<br />
<a href="http://www.keysight.com/find/benchmemorypromo" rel="noopener" style="background-color: white; color: purple; font-family: Calibri, sans-serif; font-size: 14.6667px; word-break: break-word;" target="_blank">http://www.keysight.com/find/benchmemorypromo</a><br />
<b><br /></b>
<b>Schematic</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZ7r-O2U4nwwlTNFVg1P9FpiezJQj70HGTwadiQiVIFF5dCknOqiwa8zaCwIM66B38jnyFKdiqXbs7oyGwICl1SVWHx7RkMKExhhPdbBd3O6EO1BrMIP4tNzPB3f2udeB2zNyKfqoVgbf/s1600/LM399_reference_10_v2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1168" data-original-width="1488" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZ7r-O2U4nwwlTNFVg1P9FpiezJQj70HGTwadiQiVIFF5dCknOqiwa8zaCwIM66B38jnyFKdiqXbs7oyGwICl1SVWHx7RkMKExhhPdbBd3O6EO1BrMIP4tNzPB3f2udeB2zNyKfqoVgbf/s640/LM399_reference_10_v2.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>PCB</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><a href="https://github.com/circuitvalley/LM399_Voltage_reference">Source is available in my Github Repo.</a></b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3_vPpgGlwbcZHXIsqjJ5gNNMwGbiJxlQJ1GAdTlTYdmg6p__-ZhP-mx-JgMyAeCqX75_4dHrelTNkHQLrpoNzKKwI4aXbNN17Cw2iDKq0yhMCznyCCCM6BiyZetmgaFYbL0OJBdFvPVgQ/s1600/LM399_reference_10_v2_board.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="790" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3_vPpgGlwbcZHXIsqjJ5gNNMwGbiJxlQJ1GAdTlTYdmg6p__-ZhP-mx-JgMyAeCqX75_4dHrelTNkHQLrpoNzKKwI4aXbNN17Cw2iDKq0yhMCznyCCCM6BiyZetmgaFYbL0OJBdFvPVgQ/s640/LM399_reference_10_v2_board.png" width="640" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_5wxDcWD4DHwxsPn67G22m1430aMriE8Ez4ZQqYaqCRrK7S8pv0wsMcW6j1hv9BtaArd0QuHIe1uryk7oopgKtD0J4pefG1Y9xXMuya_cOMyDdgTsGhPce3gPn5Fn8_M0TBdBHw2T_oo1/s1600/IMG_4106.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1228" data-original-width="1600" height="490" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_5wxDcWD4DHwxsPn67G22m1430aMriE8Ez4ZQqYaqCRrK7S8pv0wsMcW6j1hv9BtaArd0QuHIe1uryk7oopgKtD0J4pefG1Y9xXMuya_cOMyDdgTsGhPce3gPn5Fn8_M0TBdBHw2T_oo1/s640/IMG_4106.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Plot over 17 Hours 30 Minute , Temperature Ranging from 14 to 27 Degree C </td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhARueprFm9fQ011gw82GmGyUH89AkTRvKTaPxaPI0uLNIo2TeqQBuaSG5hZwvU1tVJ-lEJvc_OiyK0BNPNYa8G9lTtLHujiHUmKN0nGHUGiAW_ocontFLlbkMQjiJ222HJy16pLnth0nwi/s1600/DSC_2462.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1094" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhARueprFm9fQ011gw82GmGyUH89AkTRvKTaPxaPI0uLNIo2TeqQBuaSG5hZwvU1tVJ-lEJvc_OiyK0BNPNYa8G9lTtLHujiHUmKN0nGHUGiAW_ocontFLlbkMQjiJ222HJy16pLnth0nwi/s640/DSC_2462.JPG" width="436" /></a></div>
<br />
<br /></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com7Germany51.165691 10.45152600000005840.9443615 -10.202771999999943 61.387020500000006 31.105824000000059tag:blogger.com,1999:blog-4474580574529252327.post-55376561880187399982018-08-25T23:11:00.000+02:002020-02-22T17:32:08.208+01:00DIY Open Source LM399 10V Voltage Reference <div dir="ltr" style="text-align: left;" trbidi="on">
while working on a project i needed a really stable voltage reference so i made my self LM399 based 0.5 ppm/ C 10V refernce.<br />
<div>
LM399 is nice shunt reference chip , Although initial accuracy is only 2% but accurancy does not matter , what matter is stability. Because i have recently calibrated Agilent 34465A 6.5 digit multimeter , i can easily find out absolute value. </div>
<div>
<br /></div>
<div>
With 0.5 ppm/C and 10V range , its translate to 5uV /C. At this range of temperature stability it is way beyond what my Agilent 34465A can measure.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxB60AVyRYfzGnoG3HTQZ-3ppdYgJMK9V0m1VdYqZYRDV8yTYDRRit6jreJyLmwkN0_AA7pBockVuGtmmETGzVqbKt2i-MpbITprHqtb8WfzB9ImH98ldh_4yoSFzsFRX5Jn-SNG9Plqw4/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxB60AVyRYfzGnoG3HTQZ-3ppdYgJMK9V0m1VdYqZYRDV8yTYDRRit6jreJyLmwkN0_AA7pBockVuGtmmETGzVqbKt2i-MpbITprHqtb8WfzB9ImH98ldh_4yoSFzsFRX5Jn-SNG9Plqw4/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25287%2529.JPG" width="640" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0MsN_5EM7cZvLmO-HmCM2t6WivjM6tXNlxFHXGCi3wRl776Ev-JB6u9SYyh7IozdwQXGRxVOwJJJzDSzbIAI-D1Za4He5ctJX0ESmi5sSO_ia3M4AJH2J5S-2ub9rgI0IL77sW3SyPVi0/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0MsN_5EM7cZvLmO-HmCM2t6WivjM6tXNlxFHXGCi3wRl776Ev-JB6u9SYyh7IozdwQXGRxVOwJJJzDSzbIAI-D1Za4He5ctJX0ESmi5sSO_ia3M4AJH2J5S-2ub9rgI0IL77sW3SyPVi0/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25281%2529.JPG" width="640" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlPBzIwM9mNnoLK2q6q5SNvdl_nagKYrto5U841FgXEzeh2tcqxoZiye7D0nDozuv8hTd2eNhnRPsbr5ifgej4zfn7HQ6U4QqfJkEILnPSN7X7vtxPssBDJ3DpQNsIUWvpb5DcpbKwAMIW/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1175" data-original-width="1600" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlPBzIwM9mNnoLK2q6q5SNvdl_nagKYrto5U841FgXEzeh2tcqxoZiye7D0nDozuv8hTd2eNhnRPsbr5ifgej4zfn7HQ6U4QqfJkEILnPSN7X7vtxPssBDJ3DpQNsIUWvpb5DcpbKwAMIW/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25284%2529.JPG" width="640" /></a></div>
<br />
<div>
<a name='more'></a><b>Schematic</b></div>
<div>
Schmeatic is directly from the LM399 Datasheet, Reference Chip, Opamp LT1001 and 10PPM Tempco resistors for gain setting. and few capacitor and connectors</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvg2apM9SWVxaSCACF-TFVGtK8CLl5h6iuL-6WbOKZZLa14yWe9gE8ZHe3Sxs9JzO5YjHOuhfDlapMr-CNHdmnnIzCwUusjDesHZY2eVrMlMD7ZKQ9cxZE6irjES52UBVTQW3WyzCeTb9y/s1600/DIY+LM399+Open+source+reference+dmm+calibrate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1237" data-original-width="1600" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvg2apM9SWVxaSCACF-TFVGtK8CLl5h6iuL-6WbOKZZLa14yWe9gE8ZHe3Sxs9JzO5YjHOuhfDlapMr-CNHdmnnIzCwUusjDesHZY2eVrMlMD7ZKQ9cxZE6irjES52UBVTQW3WyzCeTb9y/s640/DIY+LM399+Open+source+reference+dmm+calibrate.png" width="640" /></a></div>
<br /></div>
<div>
<br /></div>
<iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/OG3nmyUm0uY" width="560"></iframe>
<br />
<div>
<b>PCB</b></div>
<div>
It is a quick project so PCB is quite simple , Just LM399, Opamp and few other component. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHpW5rtr4EA9ezmFUz_flib6U2lbacsLw1j7OUZyOi4f0Aq5fH0Q77COUP1o1gE65mJfdptSn4hH07ky_YspSmxcyBvI3tWEcdYg38pMWuQziwn5-yYDTNTVNkx2WDrnLYFmMyOUYw4Kw4/s1600/DIY+LM399+Open+source+reference+dmm+calibrate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="790" data-original-width="1600" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHpW5rtr4EA9ezmFUz_flib6U2lbacsLw1j7OUZyOi4f0Aq5fH0Q77COUP1o1gE65mJfdptSn4hH07ky_YspSmxcyBvI3tWEcdYg38pMWuQziwn5-yYDTNTVNkx2WDrnLYFmMyOUYw4Kw4/s640/DIY+LM399+Open+source+reference+dmm+calibrate.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpTsPyMpM-TKARpqsB3pwJclEQz1bHymcwmBtLVKax3SnpExruZLHfIUSSANs5rvU0hYD5MJt-2BuSNJI8q5cOI_eh20UmaoE-QUx9GOwfJ3L5tfTKrB4Uua1wu3d00rKQSD0rO2HqdV2S/s1600/DIY+LM399+Open+source+reference+dmm+calibrate2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="917" data-original-width="1453" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpTsPyMpM-TKARpqsB3pwJclEQz1bHymcwmBtLVKax3SnpExruZLHfIUSSANs5rvU0hYD5MJt-2BuSNJI8q5cOI_eh20UmaoE-QUx9GOwfJ3L5tfTKrB4Uua1wu3d00rKQSD0rO2HqdV2S/s640/DIY+LM399+Open+source+reference+dmm+calibrate2.png" width="640" /></a></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinpRKJ2CQ9FS6xsNoBEn6qeRdagP_gKkqiVVwfovIYko4J90k2mC7EB2fyHaUFHMaNHDnJKoEV8sOb7RA-K7GyIsvRneKW514j7OPVIfYTsUxvEeraYFQLLZK5IclvFIMXK8LJslz8XSSd/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25283%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="876" data-original-width="1600" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinpRKJ2CQ9FS6xsNoBEn6qeRdagP_gKkqiVVwfovIYko4J90k2mC7EB2fyHaUFHMaNHDnJKoEV8sOb7RA-K7GyIsvRneKW514j7OPVIfYTsUxvEeraYFQLLZK5IclvFIMXK8LJslz8XSSd/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25283%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Hard foam cover sat down in slots around LM399</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5k98KaBaFiw2GufpbEPX6zKVf834XoQvNdblHmXEP_VG3ysw_MYntuH5uCS8sK3OtAVPdlnmBw34upDBtundparKQ2vC0KpCLE7w82GGhvM2WTfihuSTLEge5uDsP6EV0zLPdga2Yi8R/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="966" data-original-width="1600" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5k98KaBaFiw2GufpbEPX6zKVf834XoQvNdblHmXEP_VG3ysw_MYntuH5uCS8sK3OtAVPdlnmBw34upDBtundparKQ2vC0KpCLE7w82GGhvM2WTfihuSTLEge5uDsP6EV0zLPdga2Yi8R/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25286%2529.JPG" width="640" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_CxsKu4EaMTSjwY3ZwLpF7bj6229M1MtPloohBF2KE3Tgl5RAr30-CQYgAlrzMNxDPCKvKvet2hkRykna30HWwivnBBX5NtTYHPmV4FBmSStBK07tgmXWErY0mGWlK8IM9W7GkButzMm/s1600/DIY+LM399+Open+source+reference+dmm+calibrate++%25285%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1162" data-original-width="1600" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI_CxsKu4EaMTSjwY3ZwLpF7bj6229M1MtPloohBF2KE3Tgl5RAr30-CQYgAlrzMNxDPCKvKvet2hkRykna30HWwivnBBX5NtTYHPmV4FBmSStBK07tgmXWErY0mGWlK8IM9W7GkButzMm/s640/DIY+LM399+Open+source+reference+dmm+calibrate++%25285%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">2 Hour voltage Plot</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fxGIslkcred6UtWUoD6FQhBk_qxXHH-5nA7Nic26o8wv8MH4j0oHNwN-kUXq1niediH5Kfc6T5FiWKZK5H6-0sowQpN-dRhZsha5rBCFFzHaXIKPQCWAYThB7lbABxeToRZOxLVN66cT/s1600/DIY+LM399+Open+source+reference+dmm+calibrate.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="289" data-original-width="480" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fxGIslkcred6UtWUoD6FQhBk_qxXHH-5nA7Nic26o8wv8MH4j0oHNwN-kUXq1niediH5Kfc6T5FiWKZK5H6-0sowQpN-dRhZsha5rBCFFzHaXIKPQCWAYThB7lbABxeToRZOxLVN66cT/s640/DIY+LM399+Open+source+reference+dmm+calibrate.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">12 Hour Plot</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgc3nQ8C9mQB91mdYV088b8KOokhWbqYB8oIC0_lPzpd4nCB4CWZlXTTzxJgFmbzYsrYHQD-OpL4Xh0zOJ_IzLD3eKEZL-wMEPm82CiK0x6usnYh7kDA1edmpAyizQSpYeTkbB0bYOgokx/s1600/DIY+LM399+Open+source+reference+dmm+calibrate+2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="289" data-original-width="480" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgc3nQ8C9mQB91mdYV088b8KOokhWbqYB8oIC0_lPzpd4nCB4CWZlXTTzxJgFmbzYsrYHQD-OpL4Xh0zOJ_IzLD3eKEZL-wMEPm82CiK0x6usnYh7kDA1edmpAyizQSpYeTkbB0bYOgokx/s640/DIY+LM399+Open+source+reference+dmm+calibrate+2.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">1 Hour Plot</td></tr>
</tbody></table>
<h3 style="text-align: left;">
</h3>
<h3 style="text-align: left;">
<b><a href="https://github.com/circuitvalley/LM399_Voltage_reference">PCB source and bill of material is available in my github account </a></b></h3>
<div>
<b><br /></b></div>
<div>
<br /></div>
</div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com3tag:blogger.com,1999:blog-4474580574529252327.post-87137463985081915002018-08-05T10:11:00.001+02:002020-07-22T15:39:47.633+02:00Agilent 53132A 53131A 53181A DIY Open Source 3Ghz Channel Option 030 Board <div dir="ltr" style="text-align: left;" trbidi="on">
As mentioned my <a href="https://www.circuitvalley.com/2018/07/agilent-53132a-53131a-ocxo-ultra-high-stability-oven-time-base-upgrade-option-open-source.html">Open source Agilent OCXO upgrade</a> post, I mentioned, I have bought a Agilent 53132A a 12 digit universal counter, more capable than commonly known 53131A 10 Digit Counter. Both are really nice units though.<br />
<br />
unit i have bought did you have ultra stable oven oscillator so i made oven board, this unit also have option for third channel, my unit did not came with any third channel.. which is capable for frequency up to 12.5 Ghz with correct option installed. These optional board contains RF Gain blocks and frequency prescaler chips. many people have made there own DIY units but none of the is open source. So i have to make one open source DIY Design.<br />
<br />
Although i did not needed any RF counter, but i still decided to make my self 3Ghz prescaler. Because when i was doing oven board so it was no too much hassle to make one more board.<br />
<br />
here is how board looks<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7GHvjUoXeWN9TL4dk7FCFCQBYuqWGUNJhzjWBjoctVLaqRjwYW4lrha6LYAAt0Q3wdBUFZnnmyoQ7bRtvzSDhn7a_qDUjTIWMaWOtkOnXPeJsdiAPbVRbPsyMXkEGU3XdwU3GvhSfmDwy/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1255" data-original-width="1600" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7GHvjUoXeWN9TL4dk7FCFCQBYuqWGUNJhzjWBjoctVLaqRjwYW4lrha6LYAAt0Q3wdBUFZnnmyoQ7bRtvzSDhn7a_qDUjTIWMaWOtkOnXPeJsdiAPbVRbPsyMXkEGU3XdwU3GvhSfmDwy/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25281%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Q5IkcZN1LM_Nn2w908fF6_XhXtQyMqCQc0l0Vex5LnP72nZ3_Gaoka9MpoWy26pGjI5zoB4aSkIpR82iMLgUmf_E-zzwH2Vo8kCch6AXgAF6Y6I9rsfKbudAZpbv_vM_05QbH1ykkG3K/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Q5IkcZN1LM_Nn2w908fF6_XhXtQyMqCQc0l0Vex5LnP72nZ3_Gaoka9MpoWy26pGjI5zoB4aSkIpR82iMLgUmf_E-zzwH2Vo8kCch6AXgAF6Y6I9rsfKbudAZpbv_vM_05QbH1ykkG3K/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix-eeDggmAf_S67t5HLqtc8x9yi5jr6_fp3NpqQbbAf4pzfM989T4PVLAs5xfxr-Ji9QcdGUbiCxODAbJh49LcpDu6SabAy2HDNeQMf6NZLY31Itm1X8EbZ0pJZazei0K5MWXuR8v0wGnq/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252819%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1175" data-original-width="1600" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix-eeDggmAf_S67t5HLqtc8x9yi5jr6_fp3NpqQbbAf4pzfM989T4PVLAs5xfxr-Ji9QcdGUbiCxODAbJh49LcpDu6SabAy2HDNeQMf6NZLY31Itm1X8EbZ0pJZazei0K5MWXuR8v0wGnq/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252819%2529.JPG" width="640" /></a></div>
<br />
<a name='more'></a><br />
<br />
<b>Here is the Schematic</b><br />
All the source , PDF File are available in my github repo , <a href="https://github.com/circuitvalley/agilent_53131A_53132A_options">here</a>.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgNrSLB29jaO05kANxkRX5nqnSKq0Gu3l317j7XpQdrABdPVhk5wfRUsxGWNcH8pc0YMBbsdmTGlcT_pOs4V_ljIZnZeUTWrnc3rv2jrDZRl25uzufwA19B4riuSw5uvN1aWszMr1BBQvp/s1600/agilent_53131A_53132A_3ghz_option3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1136" data-original-width="1600" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgNrSLB29jaO05kANxkRX5nqnSKq0Gu3l317j7XpQdrABdPVhk5wfRUsxGWNcH8pc0YMBbsdmTGlcT_pOs4V_ljIZnZeUTWrnc3rv2jrDZRl25uzufwA19B4riuSw5uvN1aWszMr1BBQvp/s640/agilent_53131A_53132A_3ghz_option3.png" width="640" /></a></div>
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- bottom -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-9204991366114189" data-ad-format="auto" data-ad-slot="1975690952" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<b>Here is how PCB Looks</b><br />
All the source , Gerber File are available in my github repo , <a href="https://github.com/circuitvalley/agilent_53131A_53132A_options">here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdux1QhtL1U4rduIlXI0VCwl5Qr1pKSwUcDQXS5W5od63D5JcYtwev7gJRkM7Or4v007741sZEHsc0tYrF77z8z-bF64mrkDrNHpmvafp7PYy8odC4G5K9RMKIjwdeurmjk8YQr3bojcl6/s1600/agilent_53131A_53132A_3ghz_option3+%25283%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="711" data-original-width="1600" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdux1QhtL1U4rduIlXI0VCwl5Qr1pKSwUcDQXS5W5od63D5JcYtwev7gJRkM7Or4v007741sZEHsc0tYrF77z8z-bF64mrkDrNHpmvafp7PYy8odC4G5K9RMKIjwdeurmjk8YQr3bojcl6/s640/agilent_53131A_53132A_3ghz_option3+%25283%2529.png" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhWszeNTawiMTXJYLyKBmOeMre9pvRZPAj1EAb-_zOdZGCEhMiQb3JAtOQM46nguUQtkFSimeWCfSQI8vlqANOYu6X6IbaXTqxIp-aTOfg4sHkqLWTSQZ_sUrLjlPxMw1mYG71vuGUHKp/s1600/agilent_53131A_53132A_3ghz_option3+%25282%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1600" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilhWszeNTawiMTXJYLyKBmOeMre9pvRZPAj1EAb-_zOdZGCEhMiQb3JAtOQM46nguUQtkFSimeWCfSQI8vlqANOYu6X6IbaXTqxIp-aTOfg4sHkqLWTSQZ_sUrLjlPxMw1mYG71vuGUHKp/s640/agilent_53131A_53132A_3ghz_option3+%25282%2529.png" width="640" /></a></div>
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="CBTBK8YQPLTPC" />
<br />
<table>
<tbody>
<tr><td><b>Buy Blank PCB , HASL Finish, Free international Shipping</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwRPlreL3AakmaspFb7ZcFzWMTNa7Y6dmd79tuT2pzDFMXH7QryItvnOS7ZqJ2bl4aawpIobA13Hf3DU0RbYogHAPe9DoQpCziLlSjhvfEx__GPzO06HkyeHuDMVejn4oIqCTCQSCc3tmP/s1600/IMG_0825.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="1600" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwRPlreL3AakmaspFb7ZcFzWMTNa7Y6dmd79tuT2pzDFMXH7QryItvnOS7ZqJ2bl4aawpIobA13Hf3DU0RbYogHAPe9DoQpCziLlSjhvfEx__GPzO06HkyeHuDMVejn4oIqCTCQSCc3tmP/s320/IMG_0825.JPG" width="320" /></a></div>
<b><br /></b>
<input name="on0" type="hidden" value="Quantity" />Quantity</td></tr>
<tr><td><select name="os0">
<option value="Blank PCB Qty 1">Blank PCB Qty 1 €10,00 EUR</option>
<option value="Blank PCB Qty 2">Blank PCB Qty 2 €18,00 EUR</option>
<option value="Blank PCB Qty 3">Blank PCB Qty 3 €24,00 EUR</option>
</select> </td></tr>
<tr><td><input name="on1" type="hidden" value="Blank PCB only , HASL Finish" />Blank PCB only , HASL Finish</td></tr>
<tr><td><input maxlength="200" name="os1" type="text" /></td></tr>
</tbody></table>
<input name="currency_code" type="hidden" value="EUR" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
SHIPPING IS DELAYED BY A MINIMUM 3 WEEKS<br />
<br />
<b>Buy Assembled Board Complete with Top quality Amphenol MCX BNC Cable</b><br />
<b>79,99 EUR Free Shipping word wide</b><br />
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="E7UNM3PYDUGZL" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
<b>
</b>
As this is basically my first time playing with 50 Ohm RF Gain Blocks so i wanted to make sure everthing is right , i do have 3Ghz Spectrum analyzer in my oscilloscope, so i can verify if all the RF Gain block correctly functional.<br />
<br />
I made few Test , with 50Ohm dummy load, and also bough cheap diy kind of 1.5Ghz active probe to test. there were few limitation in each time of test which i will Describe shortly and also in a youtube video i put explaining this project.<br />
<br />
Test 1:<br />
I first tested each ~7db gain block separately, because these are 50 Ohm Gain block you need to have 50Ohm load on the output so i connected 50 Ohm Terminator and then either verified gain with the high impedance oscilloscope probe or with an active probe.<br />
if your spectrum analyzer is 50 Ohm terminated then you can connect spectrum analyzer directly to the ouput of the gain block without any 50 Ohm terminator.<br />
<br />
Test 2:<br />
when every thing is assembled, and you have verify gain at each stage, i can no longer connect my spectrum analyzer to it, even connecting high impedance oscilloscope probe with change the behavior of the circuit totally so i have to use active probe connected to spectrum analyzer only.<br />
<br />
<br />
<br />
<b><u>Test Video</u></b><br />
<br />
<iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/fCG1NegAUTo" width="560"></iframe>
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZVr9tI6UJA8lzcj0RzEi3j-ss_9fLO85OwSPKa7LYqZXWplKx6CylUgK16AQJLB7N55BK1kX30jcqM3LIObm6-AvwRZBjJJDVR3mWqGIFsvgepWEhCKuUgQ1LJv6wzIwlDAmFKkfFPcb2/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252818%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1070" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZVr9tI6UJA8lzcj0RzEi3j-ss_9fLO85OwSPKa7LYqZXWplKx6CylUgK16AQJLB7N55BK1kX30jcqM3LIObm6-AvwRZBjJJDVR3mWqGIFsvgepWEhCKuUgQ1LJv6wzIwlDAmFKkfFPcb2/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252818%2529.JPG" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
<b>More image </b><br />
<b><br /></b>
On the back of the board there is 6 Ghz MCX connector and original Amphenol MCX to BNC cable will be connector between front panel and the board.<br />
<br />
as i was not sure about generally available mcx bnc cable, i went extra lenght to get Amphenol MCX to BNC cable for better quality<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DYH0-tQ8nkymhxYSKD4R6l4t9btSMr4VlkF58QXbu-wDj6RwFos1_l34i6hHpPDmsk9HRTSxKbCI8VtoYjm3kctg6bDyR_0w1EkBUT7m2zGuv0957lU238J_JXrGU5HalQ_isYpm2wiv/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="829" data-original-width="1600" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5DYH0-tQ8nkymhxYSKD4R6l4t9btSMr4VlkF58QXbu-wDj6RwFos1_l34i6hHpPDmsk9HRTSxKbCI8VtoYjm3kctg6bDyR_0w1EkBUT7m2zGuv0957lU238J_JXrGU5HalQ_isYpm2wiv/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25287%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDUaxp7EjtokL6kKYw_djxLJcHQ87GTfwTFu9-OfLgGl1sqaPtRdb2RZXsnqyztNbBoUhJDvPMRNVbIqvg-_sM17t1_mSyyhijs4IgtOvf2SQlIJw9LBucZbb749UfXyq6gFdCw8yw9wEM/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="351" data-original-width="1600" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDUaxp7EjtokL6kKYw_djxLJcHQ87GTfwTFu9-OfLgGl1sqaPtRdb2RZXsnqyztNbBoUhJDvPMRNVbIqvg-_sM17t1_mSyyhijs4IgtOvf2SQlIJw9LBucZbb749UfXyq6gFdCw8yw9wEM/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25288%2529.JPG" width="640" /></a></div>
<b><br /></b>
<br />
<b><br /></b>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpOJTbU15NDrs0jd24WJ2vBX9MVzL7Ol-Ypaq9U6chvFOxV2-zhMXixqpteWnEMgb84dPKr-GzgvdgegsNNZzFFI3p3do22VU5wjKBRSn7UrToFJkjFxK7S0p3zgoncHlrbAXRVj8jdaoJ/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25289%2529.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="1288" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpOJTbU15NDrs0jd24WJ2vBX9MVzL7Ol-Ypaq9U6chvFOxV2-zhMXixqpteWnEMgb84dPKr-GzgvdgegsNNZzFFI3p3do22VU5wjKBRSn7UrToFJkjFxK7S0p3zgoncHlrbAXRVj8jdaoJ/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25289%2529.JPG" width="514" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Top Quality Amphenol MCX to BNC <span style="font-size: small; text-align: left;">cable</span> </td></tr>
</tbody></table>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4CMN-HFHhZxxDRTJOvA_KaUY2S233q6RxA2vIBUH9iyi2WO4gx0vVW08n9787u5lhCQvmoIuqd3xo8XhVuzWpzUGxpouGyntAn0T3DWVldBAdjfu4sW1nQGFHX3zlY1cJXP6bHtLYkSUL/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25285%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="948" data-original-width="1600" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4CMN-HFHhZxxDRTJOvA_KaUY2S233q6RxA2vIBUH9iyi2WO4gx0vVW08n9787u5lhCQvmoIuqd3xo8XhVuzWpzUGxpouGyntAn0T3DWVldBAdjfu4sW1nQGFHX3zlY1cJXP6bHtLYkSUL/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUygjWTCS_GNzyPW9USby2_KcB7RQq-GbrgfKdUhvNbiFNNA4o2QW_0u2mM-SUUhiXfaOUwMuTFgksztxIf-4QgXz6gIZdh8eZYYfwRzrowAE_EzCIs4S1RRS7k9FAg9TYDh_JxrUX8h_o/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="981" data-original-width="1600" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUygjWTCS_GNzyPW9USby2_KcB7RQq-GbrgfKdUhvNbiFNNA4o2QW_0u2mM-SUUhiXfaOUwMuTFgksztxIf-4QgXz6gIZdh8eZYYfwRzrowAE_EzCIs4S1RRS7k9FAg9TYDh_JxrUX8h_o/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF2OZKoJKymsyZmZInvPoiytOUthnu6no3vEo9xUEgbh2y088LhDhcwqmTkNRLynYcladxCJWP3YPvlpa36SiFrsM_OTMOCPjWDUFjIwG5jofc6-bkOK5Z08Ju4umi3IlMTgTeOgmwDkBr/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1182" data-original-width="1600" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF2OZKoJKymsyZmZInvPoiytOUthnu6no3vEo9xUEgbh2y088LhDhcwqmTkNRLynYcladxCJWP3YPvlpa36SiFrsM_OTMOCPjWDUFjIwG5jofc6-bkOK5Z08Ju4umi3IlMTgTeOgmwDkBr/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25282%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKcJDi1Va5C1OXvezq5QyvvJtKYGlethfWVSMy9d8qSGNJcO59TuURXFuUrpF0i3f3YBKDXvI0uAHsU49lSvtpWHMlkCYyJ1P9wB0tyotarqWIGIeaWNV9fe7rB7yctVtHVOu87u-z1el5/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252811%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1600" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKcJDi1Va5C1OXvezq5QyvvJtKYGlethfWVSMy9d8qSGNJcO59TuURXFuUrpF0i3f3YBKDXvI0uAHsU49lSvtpWHMlkCYyJ1P9wB0tyotarqWIGIeaWNV9fe7rB7yctVtHVOu87u-z1el5/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252811%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinFXySiNoLxmx3keeW-_GgMzhs1KM1Ka71gtfjfkbaaUVfr2-C2yLy1jPUOWWFBaeHlUzGxCiCxUQpoAgmOZfiDpQM1hWo3hzeyHPaQkfHVWSR9daxdpWjUrrW5UGndxCE5MbQAd3osRRj/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinFXySiNoLxmx3keeW-_GgMzhs1KM1Ka71gtfjfkbaaUVfr2-C2yLy1jPUOWWFBaeHlUzGxCiCxUQpoAgmOZfiDpQM1hWo3hzeyHPaQkfHVWSR9daxdpWjUrrW5UGndxCE5MbQAd3osRRj/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8LjdHs6oDJEHyLpezfY8J9RQnZsNsymU8BQa7zrR-UIOIrsv3X2JoVwY_zDMxDbVuAf0QGT6fnJK7BQxaU6iZYAINL6WPSSYHVi2gjXKG3VPNWfEcx-GuU4sNE8sTVge9frmpJejNeN8/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252812%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1426" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8LjdHs6oDJEHyLpezfY8J9RQnZsNsymU8BQa7zrR-UIOIrsv3X2JoVwY_zDMxDbVuAf0QGT6fnJK7BQxaU6iZYAINL6WPSSYHVi2gjXKG3VPNWfEcx-GuU4sNE8sTVge9frmpJejNeN8/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252812%2529.JPG" width="570" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKhTdJ5xG9jM6PIi_ZZeXzNODmxIPPjhT8HNbznqTcZZfyV1jx3IXQGTcJqrDqoBb6aodc-ZFOBn_HieJ5iQokN5PS7RkYg6eL3BiUe7TgGjhRKwYHcnPJJAkHAO0qMTrLse66oe9EfpuG/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252813%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="886" data-original-width="1600" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKhTdJ5xG9jM6PIi_ZZeXzNODmxIPPjhT8HNbznqTcZZfyV1jx3IXQGTcJqrDqoBb6aodc-ZFOBn_HieJ5iQokN5PS7RkYg6eL3BiUe7TgGjhRKwYHcnPJJAkHAO0qMTrLse66oe9EfpuG/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252813%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKFl9WOzxAv1U7DIR11uksEpdMONQquAVjjq1VmQx2hjf3zbhjLvJ5IED8e5qOJJL2sTBxuV1qp1lH3W43Rwu8fjw3LcIZhorxkr1-ClfuyAyJsm6VSCMKnrXCzCDFdP1sipB0Eef1vbJC/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252814%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKFl9WOzxAv1U7DIR11uksEpdMONQquAVjjq1VmQx2hjf3zbhjLvJ5IED8e5qOJJL2sTBxuV1qp1lH3W43Rwu8fjw3LcIZhorxkr1-ClfuyAyJsm6VSCMKnrXCzCDFdP1sipB0Eef1vbJC/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252814%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-2zJwXcgJ3rDfKlJ7JiqSwOcm5fXvRtMu3oiDzTtNwFFm0EQ1n1qfcRI2qPwdl_c5BHN9caQsJMWnfIn4XX7TYgkfznqZCHG6BC3smYQVuClBeDaTgORwoMPjbWUi3p1yJOj57oiGoKMI/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-2zJwXcgJ3rDfKlJ7JiqSwOcm5fXvRtMu3oiDzTtNwFFm0EQ1n1qfcRI2qPwdl_c5BHN9caQsJMWnfIn4XX7TYgkfznqZCHG6BC3smYQVuClBeDaTgORwoMPjbWUi3p1yJOj57oiGoKMI/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252815%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkWIhbcM2_0pvv5tH3ZzZYLXN3s4akhEW_SxJBOBN8QUrBw0dqFAyFn1QLi43mJrXxGEIceppYLZXTiU_mHtOvBsXkIGPiffZE0kDlU5LcUoUH3LHwyKXnydZTwCsDW-zXeg4GCudQJ5vc/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252816%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkWIhbcM2_0pvv5tH3ZzZYLXN3s4akhEW_SxJBOBN8QUrBw0dqFAyFn1QLi43mJrXxGEIceppYLZXTiU_mHtOvBsXkIGPiffZE0kDlU5LcUoUH3LHwyKXnydZTwCsDW-zXeg4GCudQJ5vc/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252816%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiov2IMbvsW8cwiN3cxWHct6qWxuif6auf8PRzWnrxYL8ZJi_mIG30Ajnn5UMaqWBryz6_RL5dDV504h4DPRaGk4i8JwnL6Iwx5xE86x0nX49X7JxY9RhVhSFijUrdLLQ7WlYnes4E6gkFt/s1600/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252817%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiov2IMbvsW8cwiN3cxWHct6qWxuif6auf8PRzWnrxYL8ZJi_mIG30Ajnn5UMaqWBryz6_RL5dDV504h4DPRaGk4i8JwnL6Iwx5xE86x0nX49X7JxY9RhVhSFijUrdLLQ7WlYnes4E6gkFt/s640/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%252817%2529.JPG" width="640" /></a></div>
<b><br /></b></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com5Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058tag:blogger.com,1999:blog-4474580574529252327.post-25599621041447528792018-07-22T00:44:00.002+02:002022-10-09T11:00:39.648+02:00Open Source DIY Agilent 53132A 53131A 53181A OCXO Ultra High Stability Timebase Option Oven Upgrade <div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<style>
#ocxo{
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#ocxo td, #ocxo th {
border: 1px solid #ddd;
padding: 8px;
}
#ocxo tr:nth-child(even){background-color: #f2f2f2;}
#ocxo tr:hover {background-color: #ddd;}
#ocxo th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #4CAF50;
color: white;
}
</style>
While i was working with my own GPSDO project. i need to have a frequency counter with descent stability so purchased my self a Agilent 53132A which is a 12 digit frequency counter , big brother to 53131A 10 Digit Counter. Both are really nice units.<br />
But they unusable standard Timebase. So optional oven oscillator time base need to purchase. but 53132A and 53131A both unit are no longer available for sale. and neither of the Time base upgrades.<br />
<br />
At first i decided to look around for time bases on online retail sites as already knew other people are selling them.<br />
But i had few doubts , how well the whole thing is put together. what kind of parts they have used? How good is oven they are using? and Are they using same parts as per the original Agilent time base?<br />
As it is quite normal for stuff listed on common online retail sites, It are quite cheaply made. and i found not even a single Time base who provides exact Bill of martial and give any specification details about the OCXO they are having. ofcourse OCXO is quite expensive so they all were using old OCXO which is totally fine but some data should be available.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaMx0rA9cIdTlJW2oCSF8sbsvlEaUZo22P7__ywxelI4mjbPTFnYmKBQv-Z6PUuWOxc0iSjl1fdr8pBfoOJpoa2rOzmv4TjdQH4EYkVT_aVbcx0sQ9741lPxbItXkbldp2wQxPRqlJpv8E/s1600/agilent_53131A_53132A_Timebase_us_oven+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1214" data-original-width="1600" height="483" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaMx0rA9cIdTlJW2oCSF8sbsvlEaUZo22P7__ywxelI4mjbPTFnYmKBQv-Z6PUuWOxc0iSjl1fdr8pBfoOJpoa2rOzmv4TjdQH4EYkVT_aVbcx0sQ9741lPxbItXkbldp2wQxPRqlJpv8E/s640/agilent_53131A_53132A_Timebase_us_oven+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGd3jytjpwxYrV1uMNoL2velxki8-dNiPiIzTrINFLU3RRa3qUo8tZBT0NmD05LaXx3SRw1M7odFxn5UqwEIsFu6jZwTtZj1lIKQx8Ot0BVb6W3KejlzQvl_pdqzVYsYqzdm2WkLIuslbY/s1600/agilent_53131A_53132A_Timebase_us_oven+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1306" data-original-width="1600" height="522" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGd3jytjpwxYrV1uMNoL2velxki8-dNiPiIzTrINFLU3RRa3qUo8tZBT0NmD05LaXx3SRw1M7odFxn5UqwEIsFu6jZwTtZj1lIKQx8Ot0BVb6W3KejlzQvl_pdqzVYsYqzdm2WkLIuslbY/s640/agilent_53131A_53132A_Timebase_us_oven+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-6SFFJ5wiGHB2JL57XKdE-MScWkKURi2vTJcVCBCiqYzpo_tXuELK73DjdeGxvnUMGY7VhlEcbyQM7ZyA9t2UhtVZ4lV7sMPsP2I1LT3O3oyUyCck3TdC12WuUX0VilN8DgMzWsFiKR_j/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1291" data-original-width="1600" height="516" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-6SFFJ5wiGHB2JL57XKdE-MScWkKURi2vTJcVCBCiqYzpo_tXuELK73DjdeGxvnUMGY7VhlEcbyQM7ZyA9t2UhtVZ4lV7sMPsP2I1LT3O3oyUyCck3TdC12WuUX0VilN8DgMzWsFiKR_j/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25283%2529.JPG" width="640" /></a></div>
<br />
<a name='more'></a><div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://www.circuitvalley.com/2018/08/agilent-53132a-53131a-diy-open-source-3ghz-channel-option-030-board-hp.html" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="948" data-original-width="1600" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNI2TJ8aBGiFHVmSldu1FOZjPZQ4-YelI7Ypc4tNizN-J-jAMVklQdhQYMwbhhYsLSeJSkUFa4K38i3HiuUl3mbSGk918nlUeyiKUbFcCKe7veNCM-X7bhzt44XCq-mWvSPwBsST_qybIV/s400/Agilent+53132A+53131A+3GHZ+option+DIY+Open+source+%25285%2529.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">3Ghz Upgrade </td></tr>
</tbody></table>
<br />
<br />
Overall i was not quite satisfied with the quality of the module available on online. I did find few people who designed there own board but non of them were willing to give source of the PCB away and they were using electrolytic capacitors instead of tantalum, which i find a little odd in a part which get hot.<br />
As 53132A/53131A component level specification is already in public domain so schematic is already available in document.<br />
so i decided to make 53132A OCXO Ultra stability Time base my self. most important part completely open source.<br />
<br />
<b>Schematic ,<a href="https://github.com/circuitvalley/agilent_53131A_53132A_options/blob/master/Time_Base_Oven/Agilent_53132A_53131A_timebase_ocxo_upgrade.pdf"> Download high resolution pdf from my github</a></b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjdIjQk0QAUyEfrQoA1bLNNaGWbJ-WTJZO-5I8k5EaJ-Y8-OlzRrQhiCGveojQ9vp1Ifj7pZVJYMO7D2V5CN-INqLfzL-PqaayUryWqmK-67G_O9JxaYgCgb6FLqZDL9r7CiXgOLYCkm8m/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++5%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1143" data-original-width="1600" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjdIjQk0QAUyEfrQoA1bLNNaGWbJ-WTJZO-5I8k5EaJ-Y8-OlzRrQhiCGveojQ9vp1Ifj7pZVJYMO7D2V5CN-INqLfzL-PqaayUryWqmK-67G_O9JxaYgCgb6FLqZDL9r7CiXgOLYCkm8m/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++5%2529.png" width="640" /></a></div>
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- bottom -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-9204991366114189" data-ad-format="auto" data-ad-slot="1975690952" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
As you can see there is not much in schematic , just few component , DAC to generate control voltage for OCXO, Reference for DAC, and a differential compactor to provide differential 10M output, few passive elements.<br />
i have made this board to be able to fit different type of oscillators, big double oven in size of 51mm x51mm (MV89A type)and small ~36mm x 27mm (CTS970 or BLILEY NVG47A1282 type)<br />
<br />
As differnt oscillator may need different control voltage range . so it is possible to configure connection of internal register in DAC AD7243AR to provide output in various ranges , 0 to 5V what i need for MV89 , 0 to 10 and -5 to +5V. you can configure this according to your oscillator using J2 J3 and J4,<br />
<br />
as small 36mm x 27mm oscillator may need 12V or 5V power supply so you can switch power voltage using J6 and J5.<br />
<br />
i also have lad pattern for trip pot which can be used to tune OCXO or to fine tune reference chip.<br />
so if you are not planing to use automatic calibration , you can skip many of the parts from the board and use pot to calibrate. J9 and J8 is used to switch between OCXO ctrl votage and reference chip fine tuning.<br />
when DAC and every thing else is populated one can use POT to fine tune reference chip. because with 12Bit dac you do not get much resolution in control voltage.<br />
<br />
why i chose MV89A is because this is one of the few Oscillators widely available on ebay and also have data sheet and specification available. Morion MV89 has a catalog in public domain which give some idea of specifications but does not tell exactly about the parts commonly available on ebay so i contacted Morion and ask them exact specification they were nice enough to replay exact specification for the part i have XO00281M-CT-MV89 <br />
<br />
Here the specification of both of my oscillators compared to Agilent Time base options , Agilent have three(medium , high , ultra high stability oven) different type available all of them are listed here. small little Bliley and CTS970 outperform medium oven and MV89A is similar or better to Ultra high Oven<br />
<br />
<table id="ocxo">
<tbody>
<tr>
</tr>
<tr> <td></td><td>Medium Oven </td> <td>CTS970/Bliley NVG47A1282 </td> <td>High Oven </td> <td>Ultra High Oven </td><td>MV89A (XO00281M-CT-MV89)</td> </tr>
<tr> <td>Temp Stability : </td><td>200PPB </td> <td>5PPB </td> <td>2.5PPB </td> <td>2.5PPB </td><td>.25PPB</td> </tr>
<tr><td>Daily : </td><td>40PPB</td><td>1PPB</td> <td>40PPB</td> <td>0.5PPB</td> <td>0.1PPB</td></tr>
<tr><td>Monthly: </td><td>200PPB</td><td>NA</td> <td>15PPB</td> <td>3PPB</td> <td>NA</td> </tr>
<tr><td>Yearly: </td><td>NA</td><td>300PPB</td> <td>NA</td> <td>20PPB</td> <td>20PPB</td> </tr>
</tbody></table>
</div>
<br />
Here how PCB Design Looks.<a href="https://github.com/circuitvalley/agilent_53131A_53132A_options"> Source files for PCB , Bill of material and Gerber are available in github,</a><br />
<br />
<b><u>Buy Blank PCB , HASL Finish, Free International Shipping</u></b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUO-f_FdTQAvxzqp7nbykRKGMuG7fXQDqSLsChGnZd3KdRWRjqepCQWj1jyvQsLwLGXismg8oSghDwm1xIuh9KqeZb7FKWDsgHwOSkWbf4d4tr7SyfbQ9tkQzX7lHo_DO6ZgERk3VzxfYf/s1600/agilent_keysight_hp_53131A_53132A_PCB.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="1600" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUO-f_FdTQAvxzqp7nbykRKGMuG7fXQDqSLsChGnZd3KdRWRjqepCQWj1jyvQsLwLGXismg8oSghDwm1xIuh9KqeZb7FKWDsgHwOSkWbf4d4tr7SyfbQ9tkQzX7lHo_DO6ZgERk3VzxfYf/s320/agilent_keysight_hp_53131A_53132A_PCB.JPG" width="320" /></a></div>
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="ZRYEVGWZP9Q8Q" />
<br />
<table>
<tbody>
<tr><td><input name="on0" type="hidden" value="Quantity" /><b>Quantity</b></td></tr>
<tr><td><select name="os0">
<option value="Blank PCB QTY 1">Blank PCB QTY 1 €10,00 EUR</option>
<option value="Blank PCB QTY 2">Blank PCB QTY 2 €18,00 EUR</option>
<option value="Blank PCB QTY 3">Blank PCB QTY 3 €24,00 EUR</option>
</select> </td></tr>
<tr><td><input name="on1" type="hidden" value="Blank PCB only, NO COMPONENTS" />Blank PCB only, NO COMPONENTS</td></tr>
<tr><td><input maxlength="200" name="os1" type="text" /></td></tr>
</tbody></table>
<input name="currency_code" type="hidden" value="EUR" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" />
</form>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCA0hm2heEi8rssWAGE0Z5rOnlRD4WcNKP44gwv9eyskKNK3IEoXNPh_6VbrebES5ah3rVwZjWPbHbB8g9x0dgp_Y0ZDgrj-qwesFpKqghMPcpZMgWgXFJJ75sArjg9S0012In6Q5lWV1t/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="952" data-original-width="1600" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCA0hm2heEi8rssWAGE0Z5rOnlRD4WcNKP44gwv9eyskKNK3IEoXNPh_6VbrebES5ah3rVwZjWPbHbB8g9x0dgp_Y0ZDgrj-qwesFpKqghMPcpZMgWgXFJJ75sArjg9S0012In6Q5lWV1t/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25281%2529.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZc0B4M8jAdPE-Awki-PGBrUZ4MJaURcXJGwc2wAqnM-wAq4qGTyWud06ZcpQqbuB0eUeLpdNXY3u446GyuxDiZLs0PGWGh-4BCYFVvg-U5t9UzZLkWKO_4CRWwNvdvNdRe013mT_d480F/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25283%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="884" data-original-width="1008" height="560" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZc0B4M8jAdPE-Awki-PGBrUZ4MJaURcXJGwc2wAqnM-wAq4qGTyWud06ZcpQqbuB0eUeLpdNXY3u446GyuxDiZLs0PGWGh-4BCYFVvg-U5t9UzZLkWKO_4CRWwNvdvNdRe013mT_d480F/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25283%2529.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgddN6acsxuBU9ujrQ2-jDzUjAA_b8IZnyzhaPazrtqF8SFDvh-dx617t9d4TMAc0Zxi8nHyrNAVRASlHQ1zhQF5doE3ycUKkIY2rgnWaWWCetfg8Pxlo_7wTJM24frawctNJk_Jn1ZvwaH/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25282%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="966" data-original-width="1020" height="606" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgddN6acsxuBU9ujrQ2-jDzUjAA_b8IZnyzhaPazrtqF8SFDvh-dx617t9d4TMAc0Zxi8nHyrNAVRASlHQ1zhQF5doE3ycUKkIY2rgnWaWWCetfg8Pxlo_7wTJM24frawctNJk_Jn1ZvwaH/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25282%2529.png" width="640" /></a></div>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSdwy45acU3ZCeBWJc_hKWOaI0rRZpaB3Zl0OIUGgcVuJghOzdxQsMOXVR_1ceOilehCg8aHioK-THxjVkWrwSgK5U3zzUsntCZPAjkllNCHUdrs3tqhQxWnfCzmuxC8xRP71ZPRfR6EtH/s1600/agilent_53131A_53132A_Timebase_us_oven+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="968" data-original-width="1600" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSdwy45acU3ZCeBWJc_hKWOaI0rRZpaB3Zl0OIUGgcVuJghOzdxQsMOXVR_1ceOilehCg8aHioK-THxjVkWrwSgK5U3zzUsntCZPAjkllNCHUdrs3tqhQxWnfCzmuxC8xRP71ZPRfR6EtH/s640/agilent_53131A_53132A_Timebase_us_oven+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPlYsMdWQHi685CItS99eUrM_dSdnuY9DroI_fMQIqW4jN7IEC6Ne3tKF8FZnYDrKO4w9nKUM6m6Jw4hF__UN5bgqxzA759YR6UG50T1mvFBMSKni9IprPiP4S0QG3hKJ-Tt91Zv6l2FPY/s1600/agilent_53131A_53132A_Timebase_us_oven+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="936" data-original-width="1600" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPlYsMdWQHi685CItS99eUrM_dSdnuY9DroI_fMQIqW4jN7IEC6Ne3tKF8FZnYDrKO4w9nKUM6m6Jw4hF__UN5bgqxzA759YR6UG50T1mvFBMSKni9IprPiP4S0QG3hKJ-Tt91Zv6l2FPY/s640/agilent_53131A_53132A_Timebase_us_oven+%25289%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaziIj_B-8JwkPu9AYzgELmxZgUSie4MU8QoJK-yLdAii2Wve1QsyWaWrslE6TnAT-4iT4PpiuH6yeCqwBkVv6GXchgkTmVc18Hp7qsOyGzz1Pom-6IA-fQ5A8k4XM9Xs322dIpeu3-IM/s1600/agilent_53131A_53132A_Timebase_us_oven+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1069" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaziIj_B-8JwkPu9AYzgELmxZgUSie4MU8QoJK-yLdAii2Wve1QsyWaWrslE6TnAT-4iT4PpiuH6yeCqwBkVv6GXchgkTmVc18Hp7qsOyGzz1Pom-6IA-fQ5A8k4XM9Xs322dIpeu3-IM/s640/agilent_53131A_53132A_Timebase_us_oven+%25287%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVRnPVibAVcD1WQiFR72qpsNKppf9e4nGES7gQUFnGCDIuFHTU73BH-6ILvbePbE_rsL9Qce9xpTx5PNKwG6TP0jlA3-Kdw8ZfSP6_gTxDKBhzokaPD0Cauc8xHDqChExGSILKCBpa_8GS/s1600/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="911" data-original-width="1600" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVRnPVibAVcD1WQiFR72qpsNKppf9e4nGES7gQUFnGCDIuFHTU73BH-6ILvbePbE_rsL9Qce9xpTx5PNKwG6TP0jlA3-Kdw8ZfSP6_gTxDKBhzokaPD0Cauc8xHDqChExGSILKCBpa_8GS/s640/Agilent+53132A+53131A+ocxo+oven+upgrade+timebase++%25282%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEnCb4JD3sHzc47FvYZCnxMuxMKHABD_dj90XS4dHtpdUutEK5HKB0eCrGe095uO-9fgSvwKjFIKi0RtRqx8FscQc7gmjEP9eYc2K-kJ0G_FU-QoSJoH7w5cQyutKHWIJBGQNeZoxEx3AQ/s1600/agilent_53131A_53132A_Timebase_us_oven+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1104" data-original-width="1600" height="440" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEnCb4JD3sHzc47FvYZCnxMuxMKHABD_dj90XS4dHtpdUutEK5HKB0eCrGe095uO-9fgSvwKjFIKi0RtRqx8FscQc7gmjEP9eYc2K-kJ0G_FU-QoSJoH7w5cQyutKHWIJBGQNeZoxEx3AQ/s640/agilent_53131A_53132A_Timebase_us_oven+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw3e779DpIjRUQahR_thG9UTyEni6NNCaNWnRvC2N8UCzc_kLA3sxPywUPMRAQPu9AkwlSzaUtTIzZ4_Gr3akky556TFLqzZHzd9XbxJ4IL8_aonGzeo8qI7GouJ-B2l51w6w7_koRg2pY/s1600/agilent_53131A_53132A_Timebase_us_oven+%252811%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1201" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw3e779DpIjRUQahR_thG9UTyEni6NNCaNWnRvC2N8UCzc_kLA3sxPywUPMRAQPu9AkwlSzaUtTIzZ4_Gr3akky556TFLqzZHzd9XbxJ4IL8_aonGzeo8qI7GouJ-B2l51w6w7_koRg2pY/s640/agilent_53131A_53132A_Timebase_us_oven+%252811%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdoY4c9Nl2bU6lsZVM5pt3Xw6mr2yREO8WV4ns5rbkSpzgsHdKLDvQY67AAoQS3BCRJTiWrdOqnjeTWfWCjYPNmuLn6LuXhYFa8cq82kBuBDJgtWuSKSHthVqe8Gkc1eq7IbAyME9dAcU/s1600/agilent_53131A_53132A_Timebase_us_oven+%252813%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdoY4c9Nl2bU6lsZVM5pt3Xw6mr2yREO8WV4ns5rbkSpzgsHdKLDvQY67AAoQS3BCRJTiWrdOqnjeTWfWCjYPNmuLn6LuXhYFa8cq82kBuBDJgtWuSKSHthVqe8Gkc1eq7IbAyME9dAcU/s640/agilent_53131A_53132A_Timebase_us_oven+%252813%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu2p-TsznafEPXlNKTHSUeovYFqSEqj5gE4m1FDcYD3O2IIF-QTXJw-J4u2ZgQp0RqIs7kK2hG3FzjiFNc82VXE12V9uGU1C6efYRf6mZVxxa0Dn5qt3_9IaK_5SbIOeSDUMxFY673NvRd/s1600/agilent_53131A_53132A_Timebase_us_oven+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu2p-TsznafEPXlNKTHSUeovYFqSEqj5gE4m1FDcYD3O2IIF-QTXJw-J4u2ZgQp0RqIs7kK2hG3FzjiFNc82VXE12V9uGU1C6efYRf6mZVxxa0Dn5qt3_9IaK_5SbIOeSDUMxFY673NvRd/s640/agilent_53131A_53132A_Timebase_us_oven+%252815%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIuXukuEP_P697JgOG9tsNTRkrob5IhJ1qpLK0Dljfj-txqT6xX2qjCaDQQsbRLowo1mg2cwjaFlUzFCox4Ek74vU9B6j2oLWHsGuLDMkqyq8W7LZy-VL0PDUz55EdRfFINa1n0pL8JT5Y/s1600/agilent_53131A_53132A_Timebase_us_oven+%252814%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIuXukuEP_P697JgOG9tsNTRkrob5IhJ1qpLK0Dljfj-txqT6xX2qjCaDQQsbRLowo1mg2cwjaFlUzFCox4Ek74vU9B6j2oLWHsGuLDMkqyq8W7LZy-VL0PDUz55EdRfFINa1n0pL8JT5Y/s640/agilent_53131A_53132A_Timebase_us_oven+%252814%2529.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Calibration and Testing </u></b></div>
<div class="separator" style="clear: both; text-align: left;">
I have installed ocxo in in my 53132A and used my own GPSDO to calibrate it. here the viedo explanation.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/iqI2YRGWqdI" width="560"></iframe>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here is my GPSDO project </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2018/07/gpsdo-10mhz-standard-reference-clock-distribution-trueposition-gps-tcxo-ocxo.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="1600" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTyAUkYJIHgrTxCQsFIBHjDtNb-ONBW8pcGDqswHWlc0Io_zaq42HAciWUqV103Yj3ePscJqcBIXCqiPNe9Q0pLaSmj2YleGWwsEDYcaLyukDw78LSoz1QMhFscY7Kt6-wtg8FjhmrapJE/s320/IMG_3539+-+Copy.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Mounting Dimensions </u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyCqnDmP7pBbZ-TvN7e15YGqAeBstjZDVaTEQZyrV51B0cp6MKbt3cBdyg2gzZuQm88zgiTRf1lOwVy2-l2a9STYJG9ince-UIFmEn1pGs6u1WaG8RTgyD7oIDclyeExin5UeiCHjCllM9/s1600/agilent_53131A_53132A_Timebase_us_oven+%252816%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyCqnDmP7pBbZ-TvN7e15YGqAeBstjZDVaTEQZyrV51B0cp6MKbt3cBdyg2gzZuQm88zgiTRf1lOwVy2-l2a9STYJG9ince-UIFmEn1pGs6u1WaG8RTgyD7oIDclyeExin5UeiCHjCllM9/s640/agilent_53131A_53132A_Timebase_us_oven+%252816%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDSwunHJT45Gi2awfEN_bpQhL0dPH_0B3mrwt7WG7d3iWE3i7jD1XbZFQnUrbFXqyQ-q-9_0E8r6uI3YRkjBiufV4gpXalm-e_KKXoI7Ijm6deJ_X7-1ZdjY7mJ_0q7BkTgPOrN1ANXcqd/s1600/agilent_53131A_53132A_Timebase_us_oven+%252817%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDSwunHJT45Gi2awfEN_bpQhL0dPH_0B3mrwt7WG7d3iWE3i7jD1XbZFQnUrbFXqyQ-q-9_0E8r6uI3YRkjBiufV4gpXalm-e_KKXoI7Ijm6deJ_X7-1ZdjY7mJ_0q7BkTgPOrN1ANXcqd/s640/agilent_53131A_53132A_Timebase_us_oven+%252817%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9xSX0iLaYchxxHrlxSDHO0h485aAm1OPqpQ0lEge4SS3u8mtYlyj-067IPZ0RnbWTpCBBcLRG4huLT4uWZJKJV-EFwqOC8QTMfbon1nV4gK5KyBrbanxuxydueYuB5UuCPKyhuc-beX_V/s1600/agilent_53131A_53132A_Timebase_us_oven+%252818%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9xSX0iLaYchxxHrlxSDHO0h485aAm1OPqpQ0lEge4SS3u8mtYlyj-067IPZ0RnbWTpCBBcLRG4huLT4uWZJKJV-EFwqOC8QTMfbon1nV4gK5KyBrbanxuxydueYuB5UuCPKyhuc-beX_V/s640/agilent_53131A_53132A_Timebase_us_oven+%252818%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhikMyEkazEeq9CbcYm2JbpmSCudFwo25iZz2X1JjO7TFelf9q-cSAgskV67p6VNYVF_Orb8ma1otxtMcCzkO9UwkzdR7IDgsx5MJKuFojVwIED2I37gxGi59ah8crupThNgd4QkkivKm6g/s1600/agilent_53131A_53132A_Timebase_us_oven+%252819%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1255" data-original-width="1600" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhikMyEkazEeq9CbcYm2JbpmSCudFwo25iZz2X1JjO7TFelf9q-cSAgskV67p6VNYVF_Orb8ma1otxtMcCzkO9UwkzdR7IDgsx5MJKuFojVwIED2I37gxGi59ah8crupThNgd4QkkivKm6g/s640/agilent_53131A_53132A_Timebase_us_oven+%252819%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvO3ClwSN1MGfp2QdxZqNVME6bfwHDfuPwJ3SUUuNRFTmJkssK4oM2GBL8UyzUBlhxmlliySeL6jkkJv00sSTr2AgtegOM-G1ziIzDEqWT1Y3Jo9Vczmoj2z8wBnZSTfKyHEPtdWvn0Gl/s1600/agilent_53131A_53132A_Timebase_us_oven+%252820%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1411" data-original-width="1600" height="564" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvO3ClwSN1MGfp2QdxZqNVME6bfwHDfuPwJ3SUUuNRFTmJkssK4oM2GBL8UyzUBlhxmlliySeL6jkkJv00sSTr2AgtegOM-G1ziIzDEqWT1Y3Jo9Vczmoj2z8wBnZSTfKyHEPtdWvn0Gl/s640/agilent_53131A_53132A_Timebase_us_oven+%252820%2529.JPG" width="640" /></a></div>
<br /></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com16tag:blogger.com,1999:blog-4474580574529252327.post-19550303712419123612018-07-18T01:22:00.001+02:002018-09-29T15:13:11.569+02:00TruePosition GPSDO 10Mhz Clock Standard Reference Distribution Board<div dir="ltr" style="text-align: left;" trbidi="on">
As i am working on my own GPSDO project i had multiple of these Trueposition GPSDO modules, for using them correctly i put them into enclosure. here is how whole project goes.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdyhC2PH275DOlJsRnXQe7TAuafVTCjCBG2_-YQBOrDcdaqkrd2wR2yt3yfl-TVxA0KoiPGMEZPqggZNL5ErekcsKa8fJLNdk4RVN7SpmQa20FVi01fPaCT_0t6OcBMu0sTFgqPreGc_2/s1600/10_Mhz_GPSDO.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1244" data-original-width="1600" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdyhC2PH275DOlJsRnXQe7TAuafVTCjCBG2_-YQBOrDcdaqkrd2wR2yt3yfl-TVxA0KoiPGMEZPqggZNL5ErekcsKa8fJLNdk4RVN7SpmQa20FVi01fPaCT_0t6OcBMu0sTFgqPreGc_2/s640/10_Mhz_GPSDO.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhln5p7srAJWPEgR4wB1lJDPyXYnm3NQEgXP_bb0GcBMgM_7Aaxmvx8ofNl9VLEoDjvDTO6LvocMoQiMwSx69_4_CeuZ9q-dhXUlU9t4TgqO8Fi7SxLIh25Cl9lzAWsF5l76r9tdDOGxlDV/s1600/IMG_3539+-+Copy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="1600" height="614" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhln5p7srAJWPEgR4wB1lJDPyXYnm3NQEgXP_bb0GcBMgM_7Aaxmvx8ofNl9VLEoDjvDTO6LvocMoQiMwSx69_4_CeuZ9q-dhXUlU9t4TgqO8Fi7SxLIh25Cl9lzAWsF5l76r9tdDOGxlDV/s640/IMG_3539+-+Copy.JPG" width="640" /></a></div>
<br />
<br />
<a name='more'></a><br />
<br />
<b>Distribution Board</b><br />
<b><br /></b>
<a href="https://www.circuitvalley.com/2018/07/diy-isolated-10mhz-distribution-amp-gpsdo-rubidium-tcxo-reference.html">Detailed description of GPSDO board is available here </a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2018/07/diy-isolated-10mhz-distribution-amp-gpsdo-rubidium-tcxo-reference.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1458" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8tazwlzJ1kHMbq8NYcazIC6lMnOJLq_nMkZvSFQE2Z_6eLMDdBxrURVWDclHE2ofcjROMNt4DvIGMqboZry4_rmSUupLUYFsW-rzF2rbJcH2LrX7FHaQjxbSx0_5h7Zjuz0dC5wFESMtK/s400/10Mhz_distribution_board_GPSDO_tcxo_reference+%25281%2529.JPG" width="364" /></a></div>
<br />
10Mhz Distribution board has PIC18F25K50 micrcontroller which is running firmware perform usb to serial conversion and at the same time sniffer incoming packet from GPSDO module for the status information , Display pared data on to OLED and LEDs, Firmware also handle User interface key press and menu display.<br />
<br />
It is possible to start a survey right on the front panel board using key press.<br />
<br />
<iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/35CJoRP_GMs" width="560"></iframe>
<br />
<b><br /></b>
<br />
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- bottom -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-9204991366114189" data-ad-format="auto" data-ad-slot="1975690952" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<b>Front Panel Display Board</b><br />
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-tjjGbUU46yIAb5FRkjT_U_71Ec0HfYZ-cSkXyiGqOmgRERVIqxshA0ibpY3aJ5SnYipqR0tGrQA2HMx72XvE0X8ynhwG3mzSS3sK21qTTL7gZwMDg6SWgIOGDtTppesGEi7tcBibhQL/s1600/trueposition_gpsdo_enclosure+%252817%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="898" data-original-width="1600" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-tjjGbUU46yIAb5FRkjT_U_71Ec0HfYZ-cSkXyiGqOmgRERVIqxshA0ibpY3aJ5SnYipqR0tGrQA2HMx72XvE0X8ynhwG3mzSS3sK21qTTL7gZwMDg6SWgIOGDtTppesGEi7tcBibhQL/s320/trueposition_gpsdo_enclosure+%252817%2529.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje5ODjUSk8FeCvIh-y1WqhV3JdHcVAqXOD6acMmfo_NwJqHbHBhxaptv0XC1m47H0xnrygHs8-lXoqfrqjFufYg_jpBYt1BcNr8uDOpPkmbaEAsGpqvFVSBVSDrfTDzJtc8vvnSdqTofMZ/s1600/trueposition_gpsdo_enclosure+%252818%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="926" data-original-width="1600" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje5ODjUSk8FeCvIh-y1WqhV3JdHcVAqXOD6acMmfo_NwJqHbHBhxaptv0XC1m47H0xnrygHs8-lXoqfrqjFufYg_jpBYt1BcNr8uDOpPkmbaEAsGpqvFVSBVSDrfTDzJtc8vvnSdqTofMZ/s320/trueposition_gpsdo_enclosure+%252818%2529.JPG" width="320" /></a></div>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ9UynyoJrY2_GzRY_c_YjjuxC8iQAonKK0HM9g__0hU9_DBa1Cn5Z814USIEUp8YQBxEvVYNpRQBeWBxVEh0sZkUoMAX8UI5kyPJOqXOQ5Zg54FHCy-TW2e7-rq8l0bcOi-2vr6V5KK9d/s1600/Front_layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1101" data-original-width="1173" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ9UynyoJrY2_GzRY_c_YjjuxC8iQAonKK0HM9g__0hU9_DBa1Cn5Z814USIEUp8YQBxEvVYNpRQBeWBxVEh0sZkUoMAX8UI5kyPJOqXOQ5Zg54FHCy-TW2e7-rq8l0bcOi-2vr6V5KK9d/s640/Front_layout.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE0eOMhKJnVBcbDuMGVWDsFyyhBdIDzqSIJpOs92mQgRHO9oX3CH00SaFSXakkexytoLxUyq4ORnDf_zbf6sYwRMLnT1GI9I4rpGBjHPTAe1ipLDLAgd9-2yPKUscDN1WQWzR3HZlUOnE9/s1600/Front_layout_3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1129" data-original-width="1241" height="582" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE0eOMhKJnVBcbDuMGVWDsFyyhBdIDzqSIJpOs92mQgRHO9oX3CH00SaFSXakkexytoLxUyq4ORnDf_zbf6sYwRMLnT1GI9I4rpGBjHPTAe1ipLDLAgd9-2yPKUscDN1WQWzR3HZlUOnE9/s640/Front_layout_3d.png" width="640" /></a></div>
<b><br /></b><b>Keypress </b><br />
<b>Normal state </b><br />
Short : switch between home screen and coordinate display<br />
Long press : Get into survey menu.<br />
Press and hold : not used<br />
<b>In survey menu </b><br />
Short : incremt survey duration.<br />
Long press : Get out of survey menu.<br />
Press and Hold : start survey for selected duration<br />
<br />
All PCB Source , schematic source and Firmware are available in my <a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled">gihub</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrzNw2LlLYUcW41XZuDcyQlXXMSaWYAVztABKF8VbPkOgaWy7yHUHmcG1-rYtoYJ2tpNi3bfZ5aqNCVQVPVv9BDJvDj8xcxg8We5eMFUIJ5tbkqjgli8X1YCLjmrdT0w2P_3SezNz8PMHi/s1600/GPSDO_FRONT.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1237" data-original-width="1600" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrzNw2LlLYUcW41XZuDcyQlXXMSaWYAVztABKF8VbPkOgaWy7yHUHmcG1-rYtoYJ2tpNi3bfZ5aqNCVQVPVv9BDJvDj8xcxg8We5eMFUIJ5tbkqjgli8X1YCLjmrdT0w2P_3SezNz8PMHi/s640/GPSDO_FRONT.png" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
<b>Enclosure</b><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTKbf_kW2TbUSQebgIjQwejk2br5OLY1EdqQ2S4QFplCtnKtPYPUm2YyeOzzSvW6WO5KthWclwt2XGLxwxP4Rs8qioPsDgNQcKFeKlf1OV_LT5SWB8dKEIDFeqobmiDpJDcOkCUddpiyDs/s1600/IMG_3641.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1116" data-original-width="1600" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTKbf_kW2TbUSQebgIjQwejk2br5OLY1EdqQ2S4QFplCtnKtPYPUm2YyeOzzSvW6WO5KthWclwt2XGLxwxP4Rs8qioPsDgNQcKFeKlf1OV_LT5SWB8dKEIDFeqobmiDpJDcOkCUddpiyDs/s640/IMG_3641.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Hammond 1455N1201</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPBnJUKFU7mIKWcKNquP3Efbu0YGvZHZVbbeZdMr8yFGXIcepaH-zvlwusgVqxh2wgDstnRRosqnImek64snrUYAO_oBVHRWwts2K7FoWqmm2Cd6F8XN7CwkmNIyfQK8Gqc0kYOlHeAK5A/s1600/IMG_3501.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1525" data-original-width="1600" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPBnJUKFU7mIKWcKNquP3Efbu0YGvZHZVbbeZdMr8yFGXIcepaH-zvlwusgVqxh2wgDstnRRosqnImek64snrUYAO_oBVHRWwts2K7FoWqmm2Cd6F8XN7CwkmNIyfQK8Gqc0kYOlHeAK5A/s320/IMG_3501.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWpdrd2m7W-TZrBrU5SxJ8PSU6jRF_E-wgXOQK1BjNsweE-jVb8GpuervZaQIYupFJNPH9jprS6ZqlAlCDoPUKy4eTA-4nS7Sfk6-QX2mL_E69Xk8tARxeaPyq1gHXTQDP7-TRXeC1KVXv/s1600/IMG_3504.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="718" data-original-width="1600" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWpdrd2m7W-TZrBrU5SxJ8PSU6jRF_E-wgXOQK1BjNsweE-jVb8GpuervZaQIYupFJNPH9jprS6ZqlAlCDoPUKy4eTA-4nS7Sfk6-QX2mL_E69Xk8tARxeaPyq1gHXTQDP7-TRXeC1KVXv/s320/IMG_3504.JPG" width="320" /></a></div>
<b>Assembly </b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk3fDvSvoN2Wt4rgUIlpOLMiJKk8JFeB5Mmjsg_OYss46ram18-yO-yr0FDPQUVT5LNE0MOXGKzGYhiCAm6dE7UR39A9TKq3FoWV4Ep1vSTBQV7fbTgNSh5e5Pg2qDW20iRGFdEcPrxMVC/s1600/trueposition_gpsdo_enclosure+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk3fDvSvoN2Wt4rgUIlpOLMiJKk8JFeB5Mmjsg_OYss46ram18-yO-yr0FDPQUVT5LNE0MOXGKzGYhiCAm6dE7UR39A9TKq3FoWV4Ep1vSTBQV7fbTgNSh5e5Pg2qDW20iRGFdEcPrxMVC/s640/trueposition_gpsdo_enclosure+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuSmH2D-ItuxT85OFVEp183uzWv_mzDl1Mw8rFF9freHR5BW3ClEV9XjAtz7k26HhQ86iDyyOSxR9NLvHwF9RFg8dhYHSGs2lP7k1izk6LEdPckeooNhnVmgHlQgFinX1LHxFvEyDaSTxS/s1600/trueposition_gpsdo_enclosure+%25283%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuSmH2D-ItuxT85OFVEp183uzWv_mzDl1Mw8rFF9freHR5BW3ClEV9XjAtz7k26HhQ86iDyyOSxR9NLvHwF9RFg8dhYHSGs2lP7k1izk6LEdPckeooNhnVmgHlQgFinX1LHxFvEyDaSTxS/s640/trueposition_gpsdo_enclosure+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOSqHpSMnNt-yOMWc5kbm8ut5NhvDUuQ-NkK7jCzB27oHvcI82CnjSyu45erwnVLweyngfoZxm3o8THygjzWeCH19arNzPTNkjJi9L5oaoVKxW35zuiSOJPRnCHuLn-WqHJO6zGp2NsHB_/s1600/trueposition_gpsdo_enclosure+%25284%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1342" data-original-width="1600" height="536" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOSqHpSMnNt-yOMWc5kbm8ut5NhvDUuQ-NkK7jCzB27oHvcI82CnjSyu45erwnVLweyngfoZxm3o8THygjzWeCH19arNzPTNkjJi9L5oaoVKxW35zuiSOJPRnCHuLn-WqHJO6zGp2NsHB_/s640/trueposition_gpsdo_enclosure+%25284%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUZpd3s2Q1kY3EsmXinLT-xIpXm1nc12xHZ3pBZVyFb9f129FWuPtOjPvw9BCcuZNMAViUIwh8OQU2wQzioxCQi7Q71ZJIU411m30I5sANEtJxsDq7FY9VCusaaM-N1hhXPsPFkNfNGqLR/s1600/trueposition_gpsdo_enclosure+%25285%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUZpd3s2Q1kY3EsmXinLT-xIpXm1nc12xHZ3pBZVyFb9f129FWuPtOjPvw9BCcuZNMAViUIwh8OQU2wQzioxCQi7Q71ZJIU411m30I5sANEtJxsDq7FY9VCusaaM-N1hhXPsPFkNfNGqLR/s640/trueposition_gpsdo_enclosure+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbPvDDrPbkdTWsXFdT3WKdSfNFt-H4Mia7_-g7-Rji661hzRfBk0WMzkotm0_btDWRbGAj0RyI1H46IFY3ChY0_DrNTxS-22WZj1d_BG_fVpCfF32d1djORycglGFNlhSbmAmWABVDyNgb/s1600/trueposition_gpsdo_enclosure+%25286%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1128" data-original-width="1600" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbPvDDrPbkdTWsXFdT3WKdSfNFt-H4Mia7_-g7-Rji661hzRfBk0WMzkotm0_btDWRbGAj0RyI1H46IFY3ChY0_DrNTxS-22WZj1d_BG_fVpCfF32d1djORycglGFNlhSbmAmWABVDyNgb/s640/trueposition_gpsdo_enclosure+%25286%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNt76PPG6WH-WyjfGRi-nrHVJk2a2-TBmCLOwndxfr11YOSNOJukRbJFmyQyc1B0arUry1sjiWAJkuAyRPkwGU9sk9fRsOijrLiz7fMp_AyYFdOu4R3VDjREUXxrQkjvXkfrWMPi5_qz1a/s1600/trueposition_gpsdo_enclosure+%25287%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNt76PPG6WH-WyjfGRi-nrHVJk2a2-TBmCLOwndxfr11YOSNOJukRbJFmyQyc1B0arUry1sjiWAJkuAyRPkwGU9sk9fRsOijrLiz7fMp_AyYFdOu4R3VDjREUXxrQkjvXkfrWMPi5_qz1a/s640/trueposition_gpsdo_enclosure+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivb0jWOU72ta-7bxBYgkAOx80ecwXG6elX2DEGdx4fuyeQp9W0yFXt3wPvRMAr_lQakqcDuDsvcIZtb1baZAai5GIglII1F9XBZEEOfT3fuPBiadrZCagSP7vhcsX_k_If77BniRQMdXOK/s1600/trueposition_gpsdo_enclosure+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1256" data-original-width="1600" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivb0jWOU72ta-7bxBYgkAOx80ecwXG6elX2DEGdx4fuyeQp9W0yFXt3wPvRMAr_lQakqcDuDsvcIZtb1baZAai5GIglII1F9XBZEEOfT3fuPBiadrZCagSP7vhcsX_k_If77BniRQMdXOK/s640/trueposition_gpsdo_enclosure+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSXILMvCUf3Nk-cYRMeO8LsEj6PEyRf3SEOQ-xngYilXX6GE30fqshcaIn0KjiNQCVAVF7lx2gIKxnPEnR4MJZKO2ZzCvcmvsN0rQmxuT9lzmhbfD4auGdNyw1JXs8cbSFiFIlK-f14eVE/s1600/trueposition_gpsdo_enclosure+%25289%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1424" data-original-width="1600" height="568" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSXILMvCUf3Nk-cYRMeO8LsEj6PEyRf3SEOQ-xngYilXX6GE30fqshcaIn0KjiNQCVAVF7lx2gIKxnPEnR4MJZKO2ZzCvcmvsN0rQmxuT9lzmhbfD4auGdNyw1JXs8cbSFiFIlK-f14eVE/s640/trueposition_gpsdo_enclosure+%25289%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaNAx1Mb3oTwmt6uChCYy-TzRBM-41ZUpE303H1IuFcbvbX1rywaj-DVS2PdbVw-iq349S_h-fkiHgF-u_bRg2TxIhi8N059HwcktSgKjdF11b7a0kQS3b3JETVZAEc8AW5JrXfm2IrWLa/s1600/trueposition_gpsdo_enclosure+%252810%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1177" data-original-width="1600" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaNAx1Mb3oTwmt6uChCYy-TzRBM-41ZUpE303H1IuFcbvbX1rywaj-DVS2PdbVw-iq349S_h-fkiHgF-u_bRg2TxIhi8N059HwcktSgKjdF11b7a0kQS3b3JETVZAEc8AW5JrXfm2IrWLa/s640/trueposition_gpsdo_enclosure+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ZpebK06AIZ6EO2IQGXDEss6kIUBNYv08QEEHMSoQmPpoTazMvlpLlLDyAcIcyHMtuOOo4IEdO106BzazmoXNrPlHu0sgTV0nakUfkiD1373hlb5WuLMqWR1VlVgPyDYKdt-p6Bew6ycS/s1600/trueposition_gpsdo_enclosure+%252811%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0ZpebK06AIZ6EO2IQGXDEss6kIUBNYv08QEEHMSoQmPpoTazMvlpLlLDyAcIcyHMtuOOo4IEdO106BzazmoXNrPlHu0sgTV0nakUfkiD1373hlb5WuLMqWR1VlVgPyDYKdt-p6Bew6ycS/s640/trueposition_gpsdo_enclosure+%252811%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixLPCb63iVCnf7NFrtkaQPrJZaf4l2q9gB_G3_wC0K7NPtbnWAgbCMUGI7bSMQaVR4KjsVBKWYEjDkVRRYN7Z1NrbVJ62V9np8or5Nbar5WtwiaeFVd0m1IvgIxeEOf8jMAxFdTCGeecUz/s1600/trueposition_gpsdo_enclosure+%252812%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="928" data-original-width="1600" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixLPCb63iVCnf7NFrtkaQPrJZaf4l2q9gB_G3_wC0K7NPtbnWAgbCMUGI7bSMQaVR4KjsVBKWYEjDkVRRYN7Z1NrbVJ62V9np8or5Nbar5WtwiaeFVd0m1IvgIxeEOf8jMAxFdTCGeecUz/s640/trueposition_gpsdo_enclosure+%252812%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEharZbBmsAcH0LJafupfADwKTjEqxIA74uwPIKUNcu31-ByToz9q8EuDksm7HpppjcAWnBB81l8xz5SWBLJsSDeXAJ3BEo1Ba6UGY-yTlAHG7njWKLtrcIqsAw3afXX-ghflriyW9ZLLagQ/s1600/trueposition_gpsdo_enclosure+%252813%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1590" data-original-width="1600" height="636" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEharZbBmsAcH0LJafupfADwKTjEqxIA74uwPIKUNcu31-ByToz9q8EuDksm7HpppjcAWnBB81l8xz5SWBLJsSDeXAJ3BEo1Ba6UGY-yTlAHG7njWKLtrcIqsAw3afXX-ghflriyW9ZLLagQ/s640/trueposition_gpsdo_enclosure+%252813%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmevdUHWAsDwL48D2GufZVJmMJzFBWQtjiPmrtjGtikGTOC1Ti5UcgZtqnQXyTGPES3iQW-LcEMkFMTYIt1tlug-JS4X7yoxZ7cYVLKw4r2f6voGK9xVD_LGPM7LJKle0ROn-rnM6tjD54/s1600/trueposition_gpsdo_enclosure+%252814%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmevdUHWAsDwL48D2GufZVJmMJzFBWQtjiPmrtjGtikGTOC1Ti5UcgZtqnQXyTGPES3iQW-LcEMkFMTYIt1tlug-JS4X7yoxZ7cYVLKw4r2f6voGK9xVD_LGPM7LJKle0ROn-rnM6tjD54/s640/trueposition_gpsdo_enclosure+%252814%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvlMNtNWSh3VVfYZCYTAp-LI_oRjx2AArY7mgP3zFRmA6eaDeDeZsaqaiXGQgCNx1RWoPgKxVkbbXGbxEfkzszD9xJPSurgflP3UCN04SS9c07EeVoSpp7n1IoLpRpjApYYin4mgmzZ9Ao/s1600/trueposition_gpsdo_enclosure+%252815%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvlMNtNWSh3VVfYZCYTAp-LI_oRjx2AArY7mgP3zFRmA6eaDeDeZsaqaiXGQgCNx1RWoPgKxVkbbXGbxEfkzszD9xJPSurgflP3UCN04SS9c07EeVoSpp7n1IoLpRpjApYYin4mgmzZ9Ao/s640/trueposition_gpsdo_enclosure+%252815%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvSza5YrLx45_IzJuO5RZp-G9lVWS04Li1aJPrpo8TPqHeH4qIjrJo8158-bh6fMUqBOBQkAl_iGTvoKdImFP2Ah-JSvlsY_YUZgi7UPYFq5heRLnsqME89Dgv4_zvg6_uSKqYrqzRPnXb/s1600/trueposition_gpsdo_enclosure+%252816%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvSza5YrLx45_IzJuO5RZp-G9lVWS04Li1aJPrpo8TPqHeH4qIjrJo8158-bh6fMUqBOBQkAl_iGTvoKdImFP2Ah-JSvlsY_YUZgi7UPYFq5heRLnsqME89Dgv4_zvg6_uSKqYrqzRPnXb/s640/trueposition_gpsdo_enclosure+%252816%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYOS-LgcfpHYuUlV40C_dYR6lWVAy84V1DUeiPubu-6TgbbONNwn0nhsi_iOVcxPCC6Xg4VZLitx-UxGjxRMEsI1h3Tgha3fwNtyxrCB0GjhnJUDEkQTo0SjH0ICTL666nqzIR8NFQF_bz/s1600/trueposition_gpsdo_enclosure+%252819%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYOS-LgcfpHYuUlV40C_dYR6lWVAy84V1DUeiPubu-6TgbbONNwn0nhsi_iOVcxPCC6Xg4VZLitx-UxGjxRMEsI1h3Tgha3fwNtyxrCB0GjhnJUDEkQTo0SjH0ICTL666nqzIR8NFQF_bz/s640/trueposition_gpsdo_enclosure+%252819%2529.JPG" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoxsFti0rNo8Y0mQ5QKddapRj8wpY8h443DnOAUWt-_IPJL7WMwXvyN0HtNDYd6TYHOHEpDqNAhagnqQj4ljbjxkNzQQeNpIVFABd_IT3ep2c5rbxcDSG5IHx4ZqeprKcASLluGs1GTe5A/s1600/10Mhz_gpsdo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoxsFti0rNo8Y0mQ5QKddapRj8wpY8h443DnOAUWt-_IPJL7WMwXvyN0HtNDYd6TYHOHEpDqNAhagnqQj4ljbjxkNzQQeNpIVFABd_IT3ep2c5rbxcDSG5IHx4ZqeprKcASLluGs1GTe5A/s640/10Mhz_gpsdo.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLmAAHU69JsTwefFx8JlDURllXQW29d13Ko139qfQ-bcyBZGVmDRPG7WyzZzCkXJxrqpwnJ8eMK4PQjCzwdYqBvYobw_hzYxBMUn4k8aQQl67HWzuoPDt0hguym_dLTOXRk3ICN8xFRb_R/s1600/IMG_3557.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1378" data-original-width="1600" height="550" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLmAAHU69JsTwefFx8JlDURllXQW29d13Ko139qfQ-bcyBZGVmDRPG7WyzZzCkXJxrqpwnJ8eMK4PQjCzwdYqBvYobw_hzYxBMUn4k8aQQl67HWzuoPDt0hguym_dLTOXRk3ICN8xFRb_R/s640/IMG_3557.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYADEBbVEDMxGOoFFIEjbwcqun2OtpygYDheyTe7Y8HttywFO6poL5rShjIduwIHOlwh0l8Za__FCB4Zjzb6K-BFc48kuREdEIH3-f1xMjj1_Jw4-vFbVZ0noTAm4sIe5VbyknVymI4kxb/s1600/AD8009_10dbm_out.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYADEBbVEDMxGOoFFIEjbwcqun2OtpygYDheyTe7Y8HttywFO6poL5rShjIduwIHOlwh0l8Za__FCB4Zjzb6K-BFc48kuREdEIH3-f1xMjj1_Jw4-vFbVZ0noTAm4sIe5VbyknVymI4kxb/s640/AD8009_10dbm_out.png" width="640" /></a></div>
<b><br /></b>
<b><br /></b>
<b><a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled">Project Source on Github </a></b><br />
<b><br /></b></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com3Germany51.165691 10.45152600000005851.165691 10.451526000000058 51.165691 10.451526000000058tag:blogger.com,1999:blog-4474580574529252327.post-67305098566530348452018-07-14T14:18:00.005+02:002023-09-18T21:08:23.220+02:00DIY Isolated 10Mhz Distribution Amplifier for GPSDO, Rubidium, TCXO Reference <div dir="ltr" style="text-align: left;" trbidi="on">
while working on own GPS diciplined oscillator (GPSDO) project i needed few references so bought multiple of TruePosition GPSDO board form True Position LMU300 receiver unit. These Trueposition GPSDO are really nice boards but they as usual only one single output, so made my self This little Distribution board to have up to 6 Isolated 10 Mhz sine wave output.<br />
<br />
There is not many things in hardware but few LC filter to clean 10Mhz sine wave and few powerful opamp with isolation transformers to drive multiple 50Ohm load.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRLTvC4QkPopguLcPVT1-0Y6ZvrVQsj6yDmo5wjoHwh2Rrlh5xlj7H7cGonzL4vHaQVrHvvdn1FlZQZMwT0LBzcsJ6bCvJ9-VuGwxm6qxZ4txDY_l_6Aebf5w48z0v9ziqnx2Drb7nUhB5/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25281%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1458" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRLTvC4QkPopguLcPVT1-0Y6ZvrVQsj6yDmo5wjoHwh2Rrlh5xlj7H7cGonzL4vHaQVrHvvdn1FlZQZMwT0LBzcsJ6bCvJ9-VuGwxm6qxZ4txDY_l_6Aebf5w48z0v9ziqnx2Drb7nUhB5/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25281%2529.JPG" width="580" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3hjEqEyYnAiavTW88ZALCG6OYy9GMLJJ9jd5h1gSkB25A8PcOjqr7UzUuSQoJxFn2N_k3iUT5HTF4q9Qm8NJePBGwjV0EVPoWkSfTKD-djlPuX0r6kFqti2C6_a3odY7oEKrQlJev0p38/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25287%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3hjEqEyYnAiavTW88ZALCG6OYy9GMLJJ9jd5h1gSkB25A8PcOjqr7UzUuSQoJxFn2N_k3iUT5HTF4q9Qm8NJePBGwjV0EVPoWkSfTKD-djlPuX0r6kFqti2C6_a3odY7oEKrQlJev0p38/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimIYny7yPbIH7nSrw3W0KMuowyJkw4qqmhcHowVbokUCPsUyUAikiV5BKri7XRbLts1fsWg_Xc_V6nQarvVpci8a7l2Wnjkl_FmLZrdqhb7i7afD1_cgGWrB-oYQNrkSRqVjhI32p8OAMB/s1600/AD8009ARZ_Spectrogram.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimIYny7yPbIH7nSrw3W0KMuowyJkw4qqmhcHowVbokUCPsUyUAikiV5BKri7XRbLts1fsWg_Xc_V6nQarvVpci8a7l2Wnjkl_FmLZrdqhb7i7afD1_cgGWrB-oYQNrkSRqVjhI32p8OAMB/s640/AD8009ARZ_Spectrogram.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixe5gBMOlqX3MVkFbFLjeEKTFXGBWwSC8jfYMGlNIWPvXjyZEttaAoGSjQy4UIlldPUDUJ1xIFxzksCtz9sMYSAf8j-kmD4Zi4_GvoYJ3vTR7PxTeS-SqV1dfLqI-iHB4Bl4qAjuO8UDHY/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"></a></div>
<a name='more'></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixe5gBMOlqX3MVkFbFLjeEKTFXGBWwSC8jfYMGlNIWPvXjyZEttaAoGSjQy4UIlldPUDUJ1xIFxzksCtz9sMYSAf8j-kmD4Zi4_GvoYJ3vTR7PxTeS-SqV1dfLqI-iHB4Bl4qAjuO8UDHY/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1383" data-original-width="1600" height="552" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixe5gBMOlqX3MVkFbFLjeEKTFXGBWwSC8jfYMGlNIWPvXjyZEttaAoGSjQy4UIlldPUDUJ1xIFxzksCtz9sMYSAf8j-kmD4Zi4_GvoYJ3vTR7PxTeS-SqV1dfLqI-iHB4Bl4qAjuO8UDHY/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25282%2529.JPG" width="640" /></a><br />
<br />
<br />
<br />
<b><u>Assembled with GPSDO Unit</u></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.circuitvalley.com/2018/07/gpsdo-10mhz-standard-reference-clock-distribution-trueposition-gps-tcxo-ocxo.html" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1468" data-original-width="1600" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4jDN99JjlsBO5YevxFDI4DhYsiC8Sefi-k9lzh5-ei8KNAxgjUoSIKQXGZaT3CvfGEHYUfCZWF2WgYHaGKW0LEzo5NGamymJlRhHRUJxHH3T2zB1R7NJUwzzwocJ_U0QEcDYcCndpnTIM/s320/trueposition_gpsdo_enclosure+%25281%2529.JPG" width="320" /></a></div>
<br />
<br />
<b><u>Schematic</u></b><br />
<b><u><br /></u></b>
<a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled/tree/master/Hardware_Schematic_PCB/Isolated%20Distribution%20Amp">High resolution PDF of schematic is available in github page </a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHR6s6Zj88uXrdnniRfRCNMNlo0szhP_vQnyIWythE89ZQiFJQMzMNMIM3Q_pN7V0NnTQaAX10DYGNwqhfZVBgvlxQeVPKzQoAzCa0zNKaU9Qw3noCc6ijmjoWXX5h3jppoknxqxiAXF53/s1600/Distribution_AMP_10Mhz.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1237" data-original-width="1600" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHR6s6Zj88uXrdnniRfRCNMNlo0szhP_vQnyIWythE89ZQiFJQMzMNMIM3Q_pN7V0NnTQaAX10DYGNwqhfZVBgvlxQeVPKzQoAzCa0zNKaU9Qw3noCc6ijmjoWXX5h3jppoknxqxiAXF53/s640/Distribution_AMP_10Mhz.png" width="640" /></a></div>
In the signal path schematic consist of LC filter Low pass filter cutoff frequency of filter is not exactly 10Mhz but some where around 10.8Mhz , because these filters are quite sensitive to even a little value change of component and getting exact 253.67 pf capacitor or 1299.605 nH inductor is either hard or really expensive so i chose inductor and capacitor value to be close enough commercially available values. Inductor and capacitor with good precision and descent temperature stability.<br />
All the component used in this board are directly sourced either from manufacturer or standard sellers like mouser , digikey or arrow. None of the components were bought from ebay and expected to work keeping fingers cross.<br />
<br />
After filter these a preamp AD8009ARZ , and then one AD8009ARZ per two channel because one AD8009ARZ capable of delivering 175mA so one opamp AD8009ARZ can easily drive two isolation Transformers. Isolation Transformers i am using here are RF isolation transformer from Coilcraft These transfomer are from SWBxxxx series ,and capable of delivering upto 250mA and maximum frequency upto 100 Mhz or 175 Mhz with seaming flat response throughout whole frequency range for 100Mhz.<br />
<br />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!--bottom-->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-9204991366114189" data-ad-format="auto" data-ad-slot="1975690952" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<b>Output level ,</b><br />
I have set opamp gain and everything else to achieve 10dBm output level into 50Ohm load (+/-2dBm).<br />
<br />
I have made this board first with LM7171 opamp but output level of 10dBm was hard to achieve as this circuit is powered from a single 12V rail , and LM7171 output swing is already quite small, output swing gets even smaller when load increase. which causes distortions in the signal.<br />
<br />
i have looked at distribution board made by other people but no one say much about signal quality and full load so i decided to do a little work and after searching and trying different opamp for quite some time. I moved away from LM7171 and decided to go for AD8009ARZ which has really large output swing even with descent load.<br />
<br />
Here how bad was LM7171 with 50Ohm load and 10dBm output. you can see because of output clipping there were many harmonics present in the signal above our main signal of 10Mhz at 10dBm<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiArgo9Swkrj7wcohQOf7-ds89GvESHqpWn6VzJsL4odeCuWeIXC2LBwaTVdBWnT1akDdC9sq-Lt_71e2fzT1_neSOCSrpTAdWu69uXB9rqIdE2rj_voRXyy87iCpuckHNIQdw1cXtrNneQ/s1600/LM7171_distribution_amp_problem.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiArgo9Swkrj7wcohQOf7-ds89GvESHqpWn6VzJsL4odeCuWeIXC2LBwaTVdBWnT1akDdC9sq-Lt_71e2fzT1_neSOCSrpTAdWu69uXB9rqIdE2rj_voRXyy87iCpuckHNIQdw1cXtrNneQ/s640/LM7171_distribution_amp_problem.png" width="640" /></a></div>
<br />
<br />
with AD8009ARZ i have made few test, with both of the channels loaded with 50Ohm output level can be easily up to 14 to 15dBm. second harmonic is ~57 db down which is really good signal .<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBMLI2qStt-9WeU9nIDz6-dTPFZRHB6UPYgtD1e3VwNeQCKqCX2MTp130-M-RmaaK0TFdxNEhzD52iIc5y88Z3NtWXx9CcADwPhaTTXdWDNX5Rbb5ib_WZTvv8IlSMvzyg7xAV3MhesJEn/s1600/AD8009_14dbm.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBMLI2qStt-9WeU9nIDz6-dTPFZRHB6UPYgtD1e3VwNeQCKqCX2MTp130-M-RmaaK0TFdxNEhzD52iIc5y88Z3NtWXx9CcADwPhaTTXdWDNX5Rbb5ib_WZTvv8IlSMvzyg7xAV3MhesJEn/s640/AD8009_14dbm.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
AD8009ARZ 10dBm Swing. second harmonic is about 60dB down compare to 10Mhz signal.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWiNuOX1Clq5X_f8Gv-QOKLYEG03gcG7ftOaEAFfl8szRoR3pJ8yGduCJhPMUXNx-pyzrKQ3OcWjgZPhEtarGq-xszBP8hYyuT0cG4BqX5GqEEjIYkdDxugF1JxBZ8qLOa7yQgEnPn48K6/s1600/AD8009_10dbm_out.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWiNuOX1Clq5X_f8Gv-QOKLYEG03gcG7ftOaEAFfl8szRoR3pJ8yGduCJhPMUXNx-pyzrKQ3OcWjgZPhEtarGq-xszBP8hYyuT0cG4BqX5GqEEjIYkdDxugF1JxBZ8qLOa7yQgEnPn48K6/s640/AD8009_10dbm_out.png" width="640" /></a></div>
<br />
<br />
Here the view of test of the passive Filter , i am feeding noise with bandwidth of 120Mhz using my Arb gen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1TmsqyKLb8DpK9jdkIekQkOekdTLvHErW0YpmXV7GFzUephk-uit5Mcx0KLXr6g5o0PBLljbA05pi1sh_Vh8x2mtivpw92uF2byC4Pv7mIvNdKkPup89kmpNkzAcAbn-l7svlaVlLUu6e/s1600/input_filterimage+%25282%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1TmsqyKLb8DpK9jdkIekQkOekdTLvHErW0YpmXV7GFzUephk-uit5Mcx0KLXr6g5o0PBLljbA05pi1sh_Vh8x2mtivpw92uF2byC4Pv7mIvNdKkPup89kmpNkzAcAbn-l7svlaVlLUu6e/s640/input_filterimage+%25282%2529.png" width="640" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsputo9DALmK0ScrKaJlBhv4m_3SLfJh_Bu51av_YJLosG49NhAcB2sCrst1jLvEnTX6Rv7vb8YtvNRzJ9FARHKcS2az143l_1K9kFLtFOD_HCuzfEkfXeqaoLuo0fr4XdGiQquSjuu0BP/s1600/passive_filter_test_with_noise_function_genrator.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1111" data-original-width="1600" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsputo9DALmK0ScrKaJlBhv4m_3SLfJh_Bu51av_YJLosG49NhAcB2sCrst1jLvEnTX6Rv7vb8YtvNRzJ9FARHKcS2az143l_1K9kFLtFOD_HCuzfEkfXeqaoLuo0fr4XdGiQquSjuu0BP/s640/passive_filter_test_with_noise_function_genrator.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arb Gen Generating 120Mhz bandwidth noise and MDO3000 display spectrum of the signal</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMSta63NR_yMGikJPXyTC6PW7DG8VE7OadOmWRH37-wxR2dFn8m8HDYvENpFj7yUAdD2PM-2PnLJdhlieh7pfmlmHBxdc59A7Hyf-jLomA0wDBcE9kVxwdxaQinNQ-AGG7NnixrmzUKunu/s1600/10Mhz_lc_filter.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="926" data-original-width="1600" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMSta63NR_yMGikJPXyTC6PW7DG8VE7OadOmWRH37-wxR2dFn8m8HDYvENpFj7yUAdD2PM-2PnLJdhlieh7pfmlmHBxdc59A7Hyf-jLomA0wDBcE9kVxwdxaQinNQ-AGG7NnixrmzUKunu/s640/10Mhz_lc_filter.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Filter Test</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-xwyINRaRTFUJi5MCYAbWjbH-YES3tYzAkDq3Y1R__j9z97NWlNDPxOcFjkxBGdDD_2FT-BKtL4X1hiMVv92ExxASZV2V-M4gBIQlGfkeXZbPLi-rlP6L0PkXb_80uiNkU_MaBjS4WpOP/s1600/10Mhz_passive_lc_filter.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-xwyINRaRTFUJi5MCYAbWjbH-YES3tYzAkDq3Y1R__j9z97NWlNDPxOcFjkxBGdDD_2FT-BKtL4X1hiMVv92ExxASZV2V-M4gBIQlGfkeXZbPLi-rlP6L0PkXb_80uiNkU_MaBjS4WpOP/s640/10Mhz_passive_lc_filter.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEingTZ_a9RBzT_fo6c8iQNuMynWBE16OAmZW-G3kSXCv6C6GSaohkHoC4mNCKz3Ofd-sy6hDXyvo0fCqnl5aWuydEKgq8Qj_Fcl7dbrorGGMOn_IngIM28EZytke77dSuxI4L779Bn8XF90/s1600/input_filterimage+%25281%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEingTZ_a9RBzT_fo6c8iQNuMynWBE16OAmZW-G3kSXCv6C6GSaohkHoC4mNCKz3Ofd-sy6hDXyvo0fCqnl5aWuydEKgq8Qj_Fcl7dbrorGGMOn_IngIM28EZytke77dSuxI4L779Bn8XF90/s640/input_filterimage+%25281%2529.png" width="640" /></a></div>
<br />
<b><u>Firmware and microcontroller</u></b><br />
<b><u><br /></u></b>
As this board is suppose to be used with GPSDO so these i a USB capable microcontroller on board which control User interface, Display relevant info on oled display and act as USB to Serial converter so that GPSDO can be connected to PC without any extra hardware.<br />
Source of the Microcontroller also available in my<a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled"> gitub repo.</a><br />
<br />
Firmware / microcontroller has no role or control over distribution section.<br />
<br />
PCB Layout <a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled/tree/master/Hardware_Schematic_PCB/Isolated%20Distribution%20Amp">source are available in github repo of this project</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXqlI5BL_axcTDZ4bZgVbhPi1Vq2FRROwqEvUMKPl0aOaG204CCIQJosNah5jzhu0a2viHL9bgYmpgMTyMSRhE03S028vqO47F8gMXtYKXJ83BlP-wcWROQf3TKu3sDOx_77REwpL7qqz/s1600/10Mhz_isolated_distribution.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1156" data-original-width="1067" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXqlI5BL_axcTDZ4bZgVbhPi1Vq2FRROwqEvUMKPl0aOaG204CCIQJosNah5jzhu0a2viHL9bgYmpgMTyMSRhE03S028vqO47F8gMXtYKXJ83BlP-wcWROQf3TKu3sDOx_77REwpL7qqz/s640/10Mhz_isolated_distribution.png" width="590" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRPLUYYClY8Kie1zKAacwb428_KSMp_7gHJgQLSBa66-LbhUiiideQgnIrAoXbW3AAoOi2qsoMhabCPUpF9wzsLyF9_nr4L2eWIBjfGeP7O8kVdhffYaeMaGTELIbh-YfMS_6HwVAMn5Qt/s1600/10Mhz_isolated_distribution_3d_1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1154" data-original-width="1294" height="570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRPLUYYClY8Kie1zKAacwb428_KSMp_7gHJgQLSBa66-LbhUiiideQgnIrAoXbW3AAoOi2qsoMhabCPUpF9wzsLyF9_nr4L2eWIBjfGeP7O8kVdhffYaeMaGTELIbh-YfMS_6HwVAMn5Qt/s640/10Mhz_isolated_distribution_3d_1.png" width="640" /></a></div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR1x9GIAIAs6bWt-Z9hrn3L2jqPAjmGKwkDq9KN5pZr94lRcjO3lXriUxqh2i17ixkD2ADez01GM8AnRaj9spwtpPjhs1w-xFeFbmQlzyTevATdGvMzU9xYx_M1f6XlpervgVGUXXdLH-4/s1600/10Mhz_isolated_distribution_3d.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1131" data-original-width="1445" height="500" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR1x9GIAIAs6bWt-Z9hrn3L2jqPAjmGKwkDq9KN5pZr94lRcjO3lXriUxqh2i17ixkD2ADez01GM8AnRaj9spwtpPjhs1w-xFeFbmQlzyTevATdGvMzU9xYx_M1f6XlpervgVGUXXdLH-4/s640/10Mhz_isolated_distribution_3d.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Connectors on the back side of the board are to be connected to from panel Display/UI board</td></tr>
</tbody></table>
Bill of Material can also be downloaded from the github repo<br />
<br />
<a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled/blob/master/Hardware_Schematic_PCB/Isolated%20Distribution%20Amp/Bill_of_material.txt">Click here to download Bill of Material</a><br />
<div>
<br /></div>
<div>
<br />
<br />
<iframe allow="autoplay; encrypted-media" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/3cAxWsrGVZQ" width="560"></iframe>
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="cmd" type="hidden" value="_xclick" />
<input name="business" type="hidden" value="Gaurav.singh@gmx.de" />
<input name="lc" type="hidden" value="DE" />
<input name="item_name" type="hidden" value="Distribution Board" />
<input name="item_number" type="hidden" value="D10DiS" />
<input name="button_subtype" type="hidden" value="services" />
<input name="no_note" type="hidden" value="0" />
<input name="currency_code" type="hidden" value="EUR" />
<input name="shipping" type="hidden" value="4.99" />
<input name="bn" type="hidden" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest" />
<br />
<table>
<tbody>
<tr><td><br />
<b>Buy Assembled Board with Paypal, 4 Channel or 6 channel , MCX or MCX + BNC connector input , No Stock Available, Send Email First if you really need this item!!!!</b><br />
Configuration</td></tr>
<tr><td><select name="os0">
<option value="4 CH MCX Input">4 CH MCX Input €90,00 EUR</option>
</select> </td></tr>
<tr><td><input name="on1" type="hidden" value="Instructions" />Instructions</td></tr>
<tr><td><input maxlength="200" name="os1" type="text" /></td></tr>
</tbody></table>
<input name="option_select0" type="hidden" value="4 CH MCX Input" />
<input name="option_amount0" type="hidden" value="90.00" />
<input name="option_index" type="hidden" value="0" />
<input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypalobjects.com/en_US/DE/i/btn/btn_buynowCC_LG.gif" type="image" />
<img alt="" border="0" height="1" hidden="" pthvenymh="" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" style="display: none;" width="1" zw2xapsjt="" />
</form>
<br />
Price is set on the based of BOM cost and time and effort to put it all togather.<br />
Everey single components used on the board is sourced from Reputable deistributer (Mouser , digikey or arrow),<br />
if need any help buying using or making your own board please send email<br />
<br />
<br />
6 Channel Configuration<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK62YNPl9vj_JuTSKjjyggRxN3THrULOhPw94k8aajJ6wfhNTkrICEPDL0UW8B9xEkWWx-h6FJWA2Sc8xZbwGs2xaHGEPANICCZpz3itYiVN_GY3gQMxr6kDjGctQYw2vWlI33XwDb8FU5/s1600/6Channel+10Mhz+distribution+board.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1600" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK62YNPl9vj_JuTSKjjyggRxN3THrULOhPw94k8aajJ6wfhNTkrICEPDL0UW8B9xEkWWx-h6FJWA2Sc8xZbwGs2xaHGEPANICCZpz3itYiVN_GY3gQMxr6kDjGctQYw2vWlI33XwDb8FU5/s640/6Channel+10Mhz+distribution+board.JPG" width="640" /></a></div>
<br />
<br /></div>
More images.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9qGmUchnHJvSHID42dKYWAj4O5GRmFfj2oa6Hfh0gu_u1HRgk01AxCVK7kuNbjdvYM_U3ObiZl9Jea6kaIGI-SBhB_NmEkf230J3h8Kh-jcBWBwoOwu1k2dH_0vqwMHTP267j5HhcXoR/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25288%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1141" data-original-width="1600" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9qGmUchnHJvSHID42dKYWAj4O5GRmFfj2oa6Hfh0gu_u1HRgk01AxCVK7kuNbjdvYM_U3ObiZl9Jea6kaIGI-SBhB_NmEkf230J3h8Kh-jcBWBwoOwu1k2dH_0vqwMHTP267j5HhcXoR/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRBux2U_PgyJOC6H6Cjm9rZBz4u5tSSLOkqHP9Eo8cvRkV6vy-zY-UYfge15AQ7Pnb_627zw6h9gevZRW09IkO9ZW52pbnyvjKbf134FrEyoPLPYe-292CPsc73QKi9eQxgp4t0dPrWDhi/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1383" data-original-width="1600" height="552" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRBux2U_PgyJOC6H6Cjm9rZBz4u5tSSLOkqHP9Eo8cvRkV6vy-zY-UYfge15AQ7Pnb_627zw6h9gevZRW09IkO9ZW52pbnyvjKbf134FrEyoPLPYe-292CPsc73QKi9eQxgp4t0dPrWDhi/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6y7w_y5oSeryneQnNBD1Gu0KlC1Ann37AbUdSk_E0nYRAXWKCXiWbEtLPscWnozqfWFsG36jN7DX0qxzBvxh4WFzzD-jatlheVjL8MPdXjk-50M2X9cfWg7qHP1TQ416555RedH-pzz43/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25283%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1503" data-original-width="1600" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6y7w_y5oSeryneQnNBD1Gu0KlC1Ann37AbUdSk_E0nYRAXWKCXiWbEtLPscWnozqfWFsG36jN7DX0qxzBvxh4WFzzD-jatlheVjL8MPdXjk-50M2X9cfWg7qHP1TQ416555RedH-pzz43/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjulCov_OuQzTHhUnHoLStL7_u80EURPIe41uezSSepaDb70hVmT0mJEXAz2axiVR_IiFeOI-BU02xg0vAqAAehj0HyIxnCN-50bClH9hm93QjPBVAaDDRAZUAbGLWOdJI07IrBunKleEMv/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25284%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjulCov_OuQzTHhUnHoLStL7_u80EURPIe41uezSSepaDb70hVmT0mJEXAz2axiVR_IiFeOI-BU02xg0vAqAAehj0HyIxnCN-50bClH9hm93QjPBVAaDDRAZUAbGLWOdJI07IrBunKleEMv/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25284%2529.JPG" width="480" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDvYiQvlVtcaMZE2DIyNqqTwdnKwIr4H9_OEz6dEhvhjjUX-gqRKKqqRHLNQ6u-NH3L6H-K_-JN-zy4M1wIZKrfYTPpfEmue4JRtDb4Q2ZAR4P7DXzoXVsk3E1EPvKji9VjP57qPPKCLrW/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25285%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1377" data-original-width="1600" height="550" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDvYiQvlVtcaMZE2DIyNqqTwdnKwIr4H9_OEz6dEhvhjjUX-gqRKKqqRHLNQ6u-NH3L6H-K_-JN-zy4M1wIZKrfYTPpfEmue4JRtDb4Q2ZAR4P7DXzoXVsk3E1EPvKji9VjP57qPPKCLrW/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25285%2529.JPG" width="640" /></a></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTzxlqorGSxbSJbeZMEHL39cLD3Bgao59zVk_d7sVe75RxWsIVvVrbhi_nI3S30-oADjdDE7i3PFGK6rKYJ8qRS96xLjsaQ2QFCq56qBskEmjZhniV8BHXPqUTgkZheUsxQ4Gj-1i-IrzU/s1600/10_Mhz_GPSDO.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1244" data-original-width="1600" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTzxlqorGSxbSJbeZMEHL39cLD3Bgao59zVk_d7sVe75RxWsIVvVrbhi_nI3S30-oADjdDE7i3PFGK6rKYJ8qRS96xLjsaQ2QFCq56qBskEmjZhniV8BHXPqUTgkZheUsxQ4Gj-1i-IrzU/s640/10_Mhz_GPSDO.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MCX Cables connecting to GPSDO</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin3EoPyQjd2BM2DDI_S0SpIMt1jdwcZtTwWNNukN_Nyn2JhDrVMXHUYHyPDWEA0zUsZRc6gE59BcLo0uxWDza4ndrLSxvdKHJD2N_DypmXWz8D8YYKg8s9qLfdzjUDojsuTQ1Sq77-oBx0/s1600/10Mhz_distribution_board_GPSDO_tcxo_reference+%25286%2529.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1429" data-original-width="1600" height="570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin3EoPyQjd2BM2DDI_S0SpIMt1jdwcZtTwWNNukN_Nyn2JhDrVMXHUYHyPDWEA0zUsZRc6gE59BcLo0uxWDza4ndrLSxvdKHJD2N_DypmXWz8D8YYKg8s9qLfdzjUDojsuTQ1Sq77-oBx0/s640/10Mhz_distribution_board_GPSDO_tcxo_reference+%25286%2529.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Close look at input LC filter<br />
<br />
<br /></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7TIt0UeGk4Fn95X2uaQwjKsJTawVdZjWlE4EhDOYfDmuQWSipSeehlEIVKxzGE4s3ATesXO4yMAWlhTJOpWhmLRbRCvxzlha0JaSFN-c0XcmRf6b_NHpilrxHEMCfKUP3WKqmo4orXZoa/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25281%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1315" data-original-width="1600" height="524" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7TIt0UeGk4Fn95X2uaQwjKsJTawVdZjWlE4EhDOYfDmuQWSipSeehlEIVKxzGE4s3ATesXO4yMAWlhTJOpWhmLRbRCvxzlha0JaSFN-c0XcmRf6b_NHpilrxHEMCfKUP3WKqmo4orXZoa/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25281%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXiOlf0aoaGa8v8H7Br6y72kzN6NhUi2yZ0I3zqhyphenhyphen08tyQ70ihIpwn9k2-OZjt6Zfj4NQ9HL5F_LLgWXTjxKMQWZePfYNM9C1-2sF1gF0wSXJXDrres8yR5J3-4cWxWKRqePxk1G0MVoXb/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25282%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1190" data-original-width="1600" height="474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXiOlf0aoaGa8v8H7Br6y72kzN6NhUi2yZ0I3zqhyphenhyphen08tyQ70ihIpwn9k2-OZjt6Zfj4NQ9HL5F_LLgWXTjxKMQWZePfYNM9C1-2sF1gF0wSXJXDrres8yR5J3-4cWxWKRqePxk1G0MVoXb/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25282%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMC6QR47xDT__BN8_Z_W9I7TJWTFDQrV5F2yKVGCxH9wMMdR2n735-goNRVIm2kB43LpB0mCi1cqvktU6TyfKmOLnYF5l63wMGYOH79Ny2MIAjI-FAcyDCajeC41_jNOurW2Z26vbIf5YP/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25283%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="794" data-original-width="1600" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMC6QR47xDT__BN8_Z_W9I7TJWTFDQrV5F2yKVGCxH9wMMdR2n735-goNRVIm2kB43LpB0mCi1cqvktU6TyfKmOLnYF5l63wMGYOH79Ny2MIAjI-FAcyDCajeC41_jNOurW2Z26vbIf5YP/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25283%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLudeBvRRO5zA1hrWWpx2zeH_7shZFpc8w54GcDl7j27Nll_Ih9whTUxQgxwVKEY9m3hgRgTwzARBy9e975RTF0INH5fCLU8D_cXCJaY_o8Ewcea6ybzcBbuOcUt9ALrQglWx8rJmUEpKq/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25284%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1242" data-original-width="1600" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLudeBvRRO5zA1hrWWpx2zeH_7shZFpc8w54GcDl7j27Nll_Ih9whTUxQgxwVKEY9m3hgRgTwzARBy9e975RTF0INH5fCLU8D_cXCJaY_o8Ewcea6ybzcBbuOcUt9ALrQglWx8rJmUEpKq/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25284%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN-XwLVIAxX-mvwpbK9qFhgjB3sVvmKxRrDf0kV_J_eC7-6oheftQeaiISRZfDeT-hIJcVDBGzvshAyF7uenarB4kMxs38acMRVMDKDCnkJoppy8PsaMYcIRXEt8YNl7Df8HMtoI7d0OtK/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25285%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1316" data-original-width="1600" height="526" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN-XwLVIAxX-mvwpbK9qFhgjB3sVvmKxRrDf0kV_J_eC7-6oheftQeaiISRZfDeT-hIJcVDBGzvshAyF7uenarB4kMxs38acMRVMDKDCnkJoppy8PsaMYcIRXEt8YNl7Df8HMtoI7d0OtK/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25285%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJeoBF9DCEThmBOkrb7Iz9RWMrRLE0kPmh5p5AEn8y_seylO0rp2z8gQOhPO3Pho1nsPBvhFzLjZdwTuFXyh-7MelBHrSV5MxxSJIK9ckAIIsfdvHy2K3s6xpdPp7TocoLDjg9E4M5jYy/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25286%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJeoBF9DCEThmBOkrb7Iz9RWMrRLE0kPmh5p5AEn8y_seylO0rp2z8gQOhPO3Pho1nsPBvhFzLjZdwTuFXyh-7MelBHrSV5MxxSJIK9ckAIIsfdvHy2K3s6xpdPp7TocoLDjg9E4M5jYy/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25286%2529.JPG" width="640" /></a></div>
<br />
<br />
<b>Fitting Board into Enclosure</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilZcRU58mjLphU217tauOpC5gxu87fxKxua8YuOLcNUNRpoNGU0SReQuWEcatpo2RE0fGzJkPak-T8HCigv_-x42BqmzTJdyAibjkqt9KxxJlNHosRZlm2TujuGTdQ2pij6RTzFIyEyrM-/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25287%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="871" data-original-width="1600" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilZcRU58mjLphU217tauOpC5gxu87fxKxua8YuOLcNUNRpoNGU0SReQuWEcatpo2RE0fGzJkPak-T8HCigv_-x42BqmzTJdyAibjkqt9KxxJlNHosRZlm2TujuGTdQ2pij6RTzFIyEyrM-/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25287%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjof1lAJWJmZJjLakXqWLas-G1XLeKuvRdDt78VKLgXvNPIXWaQwcYoR4vjrsp8r7NxOHN_rIaMUxnMNrc3RPb2AcI47zi1_GpCQJoXczcitdHEyobZXeJ93xdr2HjCN078BPSwKMtLFPh_/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25288%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjof1lAJWJmZJjLakXqWLas-G1XLeKuvRdDt78VKLgXvNPIXWaQwcYoR4vjrsp8r7NxOHN_rIaMUxnMNrc3RPb2AcI47zi1_GpCQJoXczcitdHEyobZXeJ93xdr2HjCN078BPSwKMtLFPh_/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25288%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1AWSVMwZPuR34-vPmP9-MVt5eImnlH1eahGb-RTsx1vOwodJD72S8X_3XxvbChsYt7Tf08Fp-nlm7g34_RRkgfpLNUb4EXqt0CYPciij_emCBr1yN4efYOjrSSfarM1LO4sDEj8-TwsKB/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25289%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1075" data-original-width="1600" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1AWSVMwZPuR34-vPmP9-MVt5eImnlH1eahGb-RTsx1vOwodJD72S8X_3XxvbChsYt7Tf08Fp-nlm7g34_RRkgfpLNUb4EXqt0CYPciij_emCBr1yN4efYOjrSSfarM1LO4sDEj8-TwsKB/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%25289%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlokwOf5iwYSYGedizmgaA3rz-0mSUYOzre76ULCyvcEOgGE1AM94CLB4N6gb3Yy5TYfoN_MTWSNCxNDDNcJORS1DGxr8k1e1AuRyIxYnwB4bEcEj92l00w4U2ZXd81AoPGAn9l3tjJkSR/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252810%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1074" data-original-width="1600" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlokwOf5iwYSYGedizmgaA3rz-0mSUYOzre76ULCyvcEOgGE1AM94CLB4N6gb3Yy5TYfoN_MTWSNCxNDDNcJORS1DGxr8k1e1AuRyIxYnwB4bEcEj92l00w4U2ZXd81AoPGAn9l3tjJkSR/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252810%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzLPgCR9sE_JTbYAdPnlhQJZftEObIdGdjRn3Z-_5u0Si16QBvXO5cGhtabj0fsTcSuLFNzmadaYvRdCMsQwz8W6-hJSbIGFypsV8ayIS63tHtKAeWRZ1YX3cAJ8RCtFqd-m4rQC4xdMk6/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252811%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1571" data-original-width="1600" height="628" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzLPgCR9sE_JTbYAdPnlhQJZftEObIdGdjRn3Z-_5u0Si16QBvXO5cGhtabj0fsTcSuLFNzmadaYvRdCMsQwz8W6-hJSbIGFypsV8ayIS63tHtKAeWRZ1YX3cAJ8RCtFqd-m4rQC4xdMk6/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252811%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqyRzEMatzO1ANpup3yM-OVBZuk8ExzelxpEiqZJ_8E7djJ5hDIadsrLZxa9dD3aUZtPdiHBIJkt8VBWqo7ATerreabi0A1wNJo7S8BxYq4FLjXqod0_yHbrKE0wEqR_XVT2wYMfPXRtnk/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252812%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="769" data-original-width="1600" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqyRzEMatzO1ANpup3yM-OVBZuk8ExzelxpEiqZJ_8E7djJ5hDIadsrLZxa9dD3aUZtPdiHBIJkt8VBWqo7ATerreabi0A1wNJo7S8BxYq4FLjXqod0_yHbrKE0wEqR_XVT2wYMfPXRtnk/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252812%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-U-Py3xMN4Hv2nVJS1u9ArxehslfpMGtG4a6jmS0tHnXO7DSEA9zKaCvGR-cK78v1N3TTaDRcf2wz7RfTSHJNgNi98_RTKHmoQ40eewp3fqabsa12SlylOUqUJ5M2mcdFUO-P72z4zsZs/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252813%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="855" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-U-Py3xMN4Hv2nVJS1u9ArxehslfpMGtG4a6jmS0tHnXO7DSEA9zKaCvGR-cK78v1N3TTaDRcf2wz7RfTSHJNgNi98_RTKHmoQ40eewp3fqabsa12SlylOUqUJ5M2mcdFUO-P72z4zsZs/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252813%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU0Ik9Tt9GwxFSBlBctpf0qRUIJ3MZ2csSsnY_SdWgGrqXKHMXWIo-T4jpqCgjbFnBWdPySNgzwLx-9U9apAEg3MXWUIdsO8kMpo3xJBmzncheN9LVJRcvNfCiHV0x2XrzpDqN4_t-_inJ/s1600/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252814%2529.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="982" data-original-width="1600" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU0Ik9Tt9GwxFSBlBctpf0qRUIJ3MZ2csSsnY_SdWgGrqXKHMXWIo-T4jpqCgjbFnBWdPySNgzwLx-9U9apAEg3MXWUIdsO8kMpo3xJBmzncheN9LVJRcvNfCiHV0x2XrzpDqN4_t-_inJ/s640/10Mhz_gpsdo_rubidium_tcxo_ocxo_trueposition_distribution_board+%252814%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxcJBhg9NZe5dWoYwyDie2GBTavWr5094smugOVXfyIdjSooF-epoaCFzZ5imQer5ut2Ju8eixaR6zP_-EKHz-1q3g2GJXki8POR0NqpIZ9qhtranIj-iJEkF3cqOTtPQf_YfGat1IJ_Vs/s1600/10Mhz_gpsdo.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxcJBhg9NZe5dWoYwyDie2GBTavWr5094smugOVXfyIdjSooF-epoaCFzZ5imQer5ut2Ju8eixaR6zP_-EKHz-1q3g2GJXki8POR0NqpIZ9qhtranIj-iJEkF3cqOTtPQf_YfGat1IJ_Vs/s640/10Mhz_gpsdo.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
Bill of Material can also be downloaded from the github repo<br />
<br />
<a href="https://github.com/circuitvalley/trueposition_gpsdo_usb_oled/blob/master/Hardware_Schematic_PCB/Isolated%20Distribution%20Amp/Bill_of_material.txt">Click here to download Bill of Material</a><br />
<br /></div>
Gaurav Singhhttp://www.blogger.com/profile/17880871396648321687noreply@blogger.com6Germany51.165691 10.45152600000005840.944362 -10.202770999999942 61.387020000000007 31.105823000000058