tag 标签: bsp

相关博文
  • 热度 5
    2023-8-10 11:02
    1024 次阅读|
    0 个评论
    ▍引言 核心板如何选择合适的封装?核心板是一种集成了CPU、内存、存储、网络等功能的微型计算机模块,可以作为嵌入式系统的核心部件,或者作为开发板的扩展模块。核心板的封装方式决定了它与底板或者开发板的连接方式,影响着核心板的稳定性、可靠性、易用性和成本等方面。因此,选择合适的封装方式是核心板设计和使用的重要环节。本文将介绍两种常用的核心板封装方式:B2B封装和邮票孔封装,分析它们的优缺点以及适用场景,并给出选择建议。 ▎B2B封装 B2B封装是一种将核心板和底板通过连接器公座和连接器母座的封装方式,其中连接器如下图所示。 B2B封装的特点是可以方便地拆卸和安装核心板,不需要焊接或者螺丝固定。这样,就可以实现核心板的重复使用,或者在不同的底板之间切换核心板。 B2B封装的优点有以下几个方面: ┃可拆卸 B2B封装可以随时拆卸和安装核心板,不会损坏核心板或者底板,也不会影响其他元件的工作。这样,就可以方便地更换或者升级核心板,或者在多个底板之间共享一个核心板。 ┃可重复使用 B2B封装可以使核心板在不同的项目中重复使用,提高了核心板的利用率和性价比。例如,一个核心板可以先用于研发测试,然后用于小批量生产,最后用于大批量生产。 ┃可降低成本 B2B封装可以减少核心板和底板之间的焊接或者螺丝固定所需的人工和材料成本,也可以减少因为焊接或者螺丝固定导致的故障率和维修成本。 B2B封装的缺点有以下几个方面: ┃易松动 B2B封装由于没有焊接或者螺丝固定,只靠连接器公座和连接器母座的摩擦力来保持连接,因此在运输或者使用过程中可能会出现松动或者脱落的情况,导致信号中断或者短路等故障。 ┃易受干扰 B2B封装由于没有焊接或者螺丝固定,只靠公座和母座来传输信号,因此在高频高速信号传输时可能会出现信号衰减、反射、串扰等现象,影响信号质量和系统性能。 ┃易损坏 B2B封装由于需要频繁地拆卸和安装核心板,因此在操作过程中可能会出现插错、插反、插歪等情况,导致公座或者母座的损坏或者变形,影响核心板和底板的连接。 ▎邮票孔封装 邮票孔封装是一种将核心板和底板通过焊接或者螺丝固定的封装方式,其邮票孔形态如下图所示。 邮票孔封装的特点是可以紧密地连接核心板和底板,不会出现松动或者脱落的情况,也可以提高信号的传输质量和系统的稳定性。 邮票孔封装的优缺点有以下几个方面: ┃精确的焊膏分布 核心板邮票孔封装可以确保在核心板上精确分布焊膏,使每个焊点都能得到适当的焊接。 ┃高密度布局 核心板邮票孔封装可以实现高密度的焊点布局,适用于需要大量连接的集成电路。 ┃组装稳定性 由于焊膏分布精确,核心板邮票孔封装可提供稳定的组装质量,减少短路、开路等问题。 邮票孔封装的缺点有以下几个方面: ┃制造复杂性 核心板邮票孔封装的制造过程较为复杂,需要特定的设备和工艺,可能增加制造成本。 ┃设计要求高 为了实现精确的焊膏分布,需要在核心板设计阶段进行精细的规划,增加了设计的难度和工作量。 ┃适用性受限 核心板邮票孔封装可能不适用于所有类型的核心板和集成电路,特别是在一些特殊应用场景下,如高频、高温、高功率等。 ▎选择建议 高性能和高密度连接需求:如果需要高性能和高密度连接,特别是在高频、高速信号传输方面,可以考虑B2B封装。 稳定性和经济性优先:如果稳定性、焊接质量以及维修性是首要考虑因素,且应用在一般环境下工作,邮票孔封装可能更适合。 设计复杂度和成本:如果设计复杂度较高且有足够的预算,B2B封装可能是一个好的选择。如果成本控制是首要任务,邮票孔封装可能更经济。 综合考虑:最终选择应该综合考虑设计需求、性能要求、预算限制以及制造和维修的实际情况。如果不确定,可以咨询专业的电子制造专家或工程师,以获取更详细的建议。
  • 热度 17
    2015-6-18 11:58
    950 次阅读|
    0 个评论
      本文由博主girlkoo编写,关于E9与TQIMX6Q开发平台新版BSP之UART移植的文章。   我们在内核启动时候已经配置系统了UART,但是tqimx6q这块开发板上引出了imx6q的5路TTL接口,其中,uart1和uart2转成232接口,本文将配置这5路Uart接口。   DTS配置   由于内核中已经有imx6q的uart控制器驱动,因此,我们只需要配置各端口的pinctrl即可。根据tqimx6q的原理图,我们对我们的DTS作如下修改:   ...   uart1 {   pinctrl-names = "default";   pinctrl-0 = pinctrl_uart1_2;   status = "okay";   };   uart2 {   pinctrl-names = "default";   pinctrl-0 = pinctrl_uart2_3;   status = "okay";   };   uart3 {   pinctrl-names = "default";   pinctrl-0 = pinctrl_uart3_2;   status = "okay";   };   uart4 {   pinctrl-names = "default";   pinctrl-0 = pinctrl_uart4_1;   status = "okay";   };   uart5 {   pintctrl-names = "default";   pinctrl-0 = pinctrl_uart5_1;   status = "okay";   };   ...   iomuxc {   pinctrl-names = "default";   uart1 {   pinctrl_uart1_2: uart1grp-2 {   fsl,pins =   MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1   MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1   MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1   MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1   ;   };   };   uart2 {   pinctrl_uart2_3: uart2grp-3 {   fsl,pins =   MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1   MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1   MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1   MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1   ;   };   };   uart3 {   pinctrl_uart3_2: uart3grp-2 {   fsl,pins =   MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1   MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1   ;   };   };   uart5 {   pinctrl_uart5_1: uart5grp-1 {   fsl,pins =   MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1   MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1   ;   };   };   };   修改之后重新编译并烧写DTB,新的DTB可以正常启动内核。   测试方法   测试串口的方式有很多,可以编写专门的测试程序来测试,这方面的资料网上可以找到很多,我这里就不举例了。本文使用了偷懒的方式,在uboot中将bootargs临时修改为如下内容:   setenv bootargs 'noinitrd console=ttymxc1,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 init=/linuxrc'   然后执行boot指令,这时,连接到uart2的串口终端就可以看到内核的启动log了,当然也可以正常的进入linux控制台。其它三个串口都是TTL方式的,我手头上没有这种电平转换模块,就不测试了。   至此,tqimx6q的全部串口都移植好了。有任何疑问可以留言讨论。   相关产品:   TQIMX6Q套装:http://www.embedsky.com/index.php?s=/Product/show/id/83.html
相关资源