技术文:自制嵌入式Linux开发板,低成本(自制一个linux开发板)
自制了一个低成本的嵌入式Linux开发板。成本100元左右。这块开发板可以用来制作手机、机顶盒、智能机器人、无线网络摄像机等项目。
开发板配置
一路以太网(RJ45)、一路WIFI(核心板自带,且占用一路USB)、一路USB接口、DMIC、MIC、SDIO、蜂鸣器、一颗LED(不使用SPI时,可配置为心跳灯,占用SPI_DI端口,附件中的kernel取消了心跳灯驱动,后续可将LED接至其他GPIO,避免与复用功能引脚占用)、一路音频输出(接功放和3.5mm耳机接口)、50Pin FPC连接器用于连接TFT屏幕(屏幕分辨率为1024 * 600),6Pin FPC连接器用于连接电容触控屏。
大部分功能引脚均用排针引出,支持宽电压供电(12V),PCB大小为10×10的四层板可直接白嫖。
设计图
主控采用SSD202D,Cortex-A7架构,DDR3 – 128MB、Nand Flash – 128MB,双核最高1.2GHz/
用嘉立创EDA设计的原理图_Sigmastar外设板
用嘉立创EDA设计的原理图_Power
用嘉立创EDA设计的原理图_Other
该开发板的可用的GPIO并不算多,其中较多被外设占用.
如LCD的pwm调光、SD使能、功放使能、触控中断等,且大部分为复用IO,如I2C(两路)、SPI(一路)、UART(最多四路,含Debug接口的UART0和一路带流控的FUART,默认配置为不带流控),复用功能由设备树文件管理,因此默认使用上述复用功能,也可自行修改配置。
用嘉立创EDA设计的原理图_LCD
用嘉立创EDA设计的原理图_pin
用嘉立创EDA设计的PCB图
用嘉立创EDA设计的PCB图
源码
#ifndef PNL_TABLE_JLL070QGI60#define PNL_TABLE_JLL070QGI60MhalPnlParamConfig_t stPanel_JLL070QGI60 = { "JLL070QGI60_1024X600", // const char *m_pPanelName; ///< PanelName#if !defined (__aarch64__) 0,#endif 0, //MS_U8 m_bPanelDither :1; ///< PANEL_DITHER, keep the setting E_MHAL_PNL_LINK_TTL, //MHAL_DISP_ApiPnlLinkType_e m_ePanelLinkType :4; ///< PANEL_LINK /////////////////////////////////////////////// // 开发板相关设置 /////////////////////////////////////////////// 1, //MS_U8 m_bPanelDualPort :1; ///< VOP_21[8], MOD_4A[1], PANEL_DUAL_PORT, refer to m_bPanelDoubleClk 0, //MS_U8 m_bPanelSwapPort :1; ///< MOD_4A[0], PANEL_SWAP_PORT, refer to "LVDS output app note" A/B channel swap 0, //MS_U8 m_bPanelSwapOdd_ML :1; ///< PANEL_SWAP_ODD_ML 0, //MS_U8 m_bPanelSwapEven_ML :1; ///< PANEL_SWAP_EVEN_ML 0, //MS_U8 m_bPanelSwapOdd_RB :1; ///< PANEL_SWAP_ODD_RB 0, //MS_U8 m_bPanelSwapEven_RB :1; ///< PANEL_SWAP_EVEN_RB 0, //MS_U8 m_bPanelSwapLVDS_POL :1; ///< MOD_40[5], PANEL_SWAP_LVDS_POL, for differential P/N swap 0, //MS_U8 m_bPanelSwapLVDS_CH :1; ///< MOD_40[6], PANEL_SWAP_LVDS_CH, for pair swap 0, //MS_U8 m_bPanelPDP10BIT :1; ///< MOD_40[3], PANEL_PDP_10BIT ,for pair swap 1, //MS_U8 m_bPanelLVDS_TI_MODE :1; ///< MOD_40[2], PANEL_LVDS_TI_MODE, refer to "LVDS output app note" /////////////////////////////////////////////// // For TTL Only /////////////////////////////////////////////// 0, //MS_U8 m_ucPanelDCLKDelay; ///< PANEL_DCLK_DELAY 0, //MS_U8 m_bPanelInvDCLK :1; ///< MOD_4A[4], PANEL_INV_DCLK 0, //MS_U8 m_bPanelInvDE :1; ///< MOD_4A[2], PANEL_INV_DE 0, //MS_U8 m_bPanelInvHSync :1; ///< MOD_4A[12], PANEL_INV_HSYNC 0, //MS_U8 m_bPanelInvVSync :1; ///< MOD_4A[3], PANEL_INV_VSYNC
由于格式原因,代码未能完整展示,需要“源码 电路图源文件”进行参考学习的伙伴,可在评论区滴滴,无偿分享的~
文中所有资料参考:立创开源硬件平台《Embedded Linux validation board》作者:AmateurEEWEI
https://oshwhub.com/AmateurEEWEI/Embedded-Linux-validation-board
如果你认为这篇文章不错,欢迎点赞、关注、转发、收藏~
我会持续更新优质开源项目!