# 天空星-筑基学习板
**Repository Path**: lcsc/fdb
## Basic Information
- **Project Name**: 天空星-筑基学习板
- **Description**: 天空星·筑基学习板是一款专为STM32天空星核心板(其他天空星也支持,只是暂不提供教程和例程支持)设计的全能型扩展平台,旨在提供从初学者到工程师开发的硬件支持。是嵌入式全栈开发的理想演练场。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 7
- **Forks**: 0
- **Created**: 2025-12-27
- **Last Updated**: 2025-12-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# 🛠️ 天空星·筑基学习板 | 资源导航
| 📦 硬件资源 | 🔗 传送门 | 📝 说明 |
| :----------------------- | :----------------------------------------------------------- | :------------------------------- |
| **🚀 天空星·筑基学习板** | [**点击购买**](https://lckfb.com/project/detail/lckfb-skystar-fdb?param=baseInfo) | 天空星·筑基学习板,官方正品 |
| **🖥️ 2.0寸屏幕扩展板** | [**点击购买**](https://item.szlcsc.com/56199684.html) | 2.0寸屏幕扩展板,SPI接口,带触摸 |
| **🔌 立创·DAPLink仿真器** | [**点击购买**](https://item.szlcsc.com/56199685.html) | 配套 DAPLink,下载调试学习用 |
| 📚 软件与文档 | 🔗 传送门 | 📝 说明 |
| :--------------- | :----------------------------------------------------------- | :------------------------------- |
| **📖 在线文档** | [**Wiki 教程**](https://wiki.lckfb.com/zh-hans/fdb/introduction.html) | 入门教程(**还不全,等待更新**) |
| **💻 代码仓库** | [**Gitee 源码**](https://gitee.com/lcsc/fdb) | 配套例程(**还不全,等待更新**) |
| **⚙️ 硬件全开源** | [**OSHWHub**](https://oshwhub.com/li-chuang-kai-fa-ban/tian-kong-xing-zhu-ji-xue-xi-ban) | **原理图** 和 **PCB** 【全开源】 |
# 天空星·筑基学习板 仓库说明
| 文件夹目录 | 资源类型 | 适用人群 | 内容详细说明 |
| :----------------------------------------- | :--------------- | :--------------------------------------- | :----------------------------------------------------------- |
| 📂 **[0_example](./0_example)** | **功能性例程** | 有基础的用户,至少会安装环境及编译下载。 | 包含各外设独立测试工程。**工程兼容性:** 尽量一个工程同时支持 Keil MDK、VS Code+EIDE、CLion。提供单个工程的压缩包及预编译固件(暂定)。 |
| 📂 **[1_tutorial-code](./1_tutorial-code)** | **教程配套代码** | 初学者或想查缺补漏的用户 | 严格对应教学文档的实验代码。*注: **目前教程处于起步阶段,初学者建议关注后续更新。** 请配合该wiki页面使用:[https://wiki.lckfb.com/zh-hans/fdb/](https://wiki.lckfb.com/zh-hans/fdb/) |
| 📂 **[99_docs](./99_docs)** | **技术文档** | 全体用户 | 存放图片,部分数据手册,说明文档等。 |
---
# 天空星·筑基学习板 简介
天空星筑基学习板是一款专为STM32天空星核心板(其他天空星也支持,只是暂不提供教程和例程支持)设计的全能型扩展平台,旨在提供从初学者到工程师开发的硬件支持。在电源架构上,它具备8V~24V宽压输入、5V/5A大功率输出(持续工作需要加强散热)及双路隔离电源,集成电压电流监控。通信方面,板载以太网PHY、隔离CAN与RS485接口,支持从TCP/IP到工业总线的全方位连接。针对运动控制与感知,底板集成了双路直流电机、静音步进电机驱动及外部步进电机接口(共阳极光耦),配合六轴IMU、温湿度传感器及高精度RTC,完美适配各类场景的评估测试。此外,还板载了音频编解码芯片(ES8388)、RGB灯及丰富的IO扩展资源,通过巧妙的拨码开关冲突管理,实现了在有限引脚下的极致资源复用,是嵌入式全栈开发的理想演练场。

> [!important]
>
> 本底板只适用于两个40P排针向下焊接的天空星,如果你以前买的天空星核心板不小心把排针焊接到正面了,那是无法兼容本底板的。不过我们首批推出的筑基学习板会搭配焊接好排针的天空星,所以这个问题也不是问题了。
**天空星·筑基学习板-硬件资源罗列及简介:**
| 类别 | 功能 | 核心元件/芯片 | 接口/规格 | 备注 |
| :------------: | :------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| **电源系统** | **电源输入** | - | DC 头 (5.5*2.5mm) / 2P接线端子(3.81mm间距) | 8V~24V 输入, 带防反接、过流保护 |
| \| | **DC-DC 降压** | `XL4015E1` | 输出 5V / 5A (MAX) | 主供电,采用两个低 ESR 固态电容 |
| \| | **排针电源输出** | - | 5V/5A, 5V/2A(限流), 3.3V/0.7A(限流) | 带输出防过流保护
5V/5A输出口带防过压保护(约超过5.3V时自动关断) |
| \| | **电源监控** | `INA226` | I2C1 | 可实时监测电压、电流、功率 |
| \| | **隔离电源** | - | 5V 隔离电源 x2 | 用于 CAN、 RS485 总线,继电器,外部步进电机接口及其光耦和隔离芯片供电 |
| \| | **3路LDO** | `SCJA1117B-3.3-A` | - | 分别提供给天空星核心板,板载3.3V设备,3.3V对外输出供电 |
| └ | **RTC 备用电源** | - | RTC 电池座
CR1220 | 为 SD3078(高精度外部时钟) 和天空星核心板主芯片的内部RTC供电 |
| **核心与扩展** | **核心板接口** | - | 2 个40P 2.54mm间距排母 | 用于连接 天空星 核心板,可对插接入,只适用于向下焊接排针的天空星 |
| └ | **通用扩展接口** | - | 2 个 40P 2.54mm间距排针 | 可连接示波器、逻辑分析仪,或者用其他开发板来驱动本筑基学习板上的外设等 |
| **传感器** | **惯性测量单元** | `ICM-42688` (IMU) | SPI2 | 提供 6 轴姿态数据,避震孤岛结构设计。 |
| \| | **高精度时钟** | `SD3078` (RTC) | I2C1 | 外部实时时钟,内置集成温度补偿晶体振荡器,3.8PPM |
| \| | **温湿度** | `AHT20-F` | I2C1 | |
| \| | **称重** | `HX711` (24-Bit ADC) | 称重传感器接口
4P-3.81mm可插拔接口 | |
| └ | **音频采集** | 板载麦克风 (MIC) | - | 连接至ES8388音频芯片 |
| **电机驱动** | **板载直流电机驱动** | `AT8236` x2 | 2x 电机接口, 2x 编码器接口。
均为3.81mm可插拔接口。 | 两个电机接口共用一个4P可插拔接口,
两个编码器接口各用一个4P可插拔接口,
直流电机驱动最大输出电流约2.2A。 |
| \| | **板载步进电机驱动** | `TMC2209` | 1X步进电机对外输出, 有1路编码器接口。
均为3.81mm可插拔接口。 | 静音驱动芯片
电流、细分、工作模式可自行设置。 |
| \| | **外部步进电机接口** | DIR和ENA为低速光耦
PUL为高速光耦 | 均为3.81mm可插拔接口。 | 使用共阳极级接法,COM+为隔离电源1的5V对外输出。 |
| └ | **舵机** | - | 2x 舵机接口-3P排针输出
已用MOS管转为5V电平输出 | 与 电机2 PWM 引脚复用 |
| **通信接口** | **以太网** | `LAN8720A` (PHY) | RJ45 网口 | 引脚无冲突复用,可放心使用,有了这个再配合TCP/IP 协议栈 (LwIP),天空星就能上网了 |
| \| | **CAN 总线** | `TJA1042T` | 隔离 CAN 接口
3.81mm可插拔接口。 | 带 120Ω 终端电阻,可通过排针跳帽来选择,有电源和信号隔离。 |
| \| | **RS485** | `SP485EEN` | 隔离 RS485 接口
3.81mm可插拔接口。 | 带 120Ω 终端电阻,可通过排针跳帽来选择,有电源和信号隔离。 |
| \| | **I2C1** | `PCA9517 (I2C1缓冲器)` | 2.54x4P排针 | 连接至板载的所有I2C设备(六个),配有I2C缓冲器来增加带载能力。
|
| \| | **I2C1-IO扩展** | `PCA9555PW` (IO 扩展) | 2.54mm排针 | **IO0**端口:连接至八路拨码开关,可通过I2C1控制`PCA9555PW`软件配置来切换冲突功能;
**IO1**端口:连接至WS2812四周的8个LED灯 和 排针引出口 |
| \| | **I2C2** | - | 2.54x4P排针和排母 | 排针可外接其他外设,排母可接OLED屏幕,I2C2默认作为外扩屏幕的触摸使用。 |
| \| | **SPI 接口** | - | SPI2
2.54mm排针引出 | 有3.3V和5.0V输出,配有3个CS引脚。 |
| \| | **SDIO 接口** | - | 2.54mm排针引出 | 有LED红灯指示,天空星的TF卡插入后自动亮起,提示用户不可用该接口。
可复用为SPI3或UART4和UART5。 |
| └ | **单总线** | - | DS18B20 / DHT11 接口 | 圆孔排母,方便插芯片针脚 |
| **音频系统** | **音频编解码** | `ES8388` | I2C1 & I2S2 | 与板载SPI2无法同时使用,音频和SPI无法同时使用 |
| \| | **音频功放** | `HT6872` x2 | MX1.25接口x2 | 功放默认失能,预防上电时的POP声,可通过8路拨码开关的BIT1来使能。 |
| └ | **音频输出** | - | 3.5mm 耳机接口 | CTIA-美标接口 |
| **人机交互** | **屏幕&触摸接口** | - | FPC-18P 接口 | 可连接至 SPI-LCD 屏幕(SPI1)和 电容触摸(I2C2) |
| \| | **绿色LED灯** | - | 1个 | 可做呼吸灯,该IO和LCD屏幕的背光是同一个IO,连接至硬件PWM通道 |
| \| | **白色LED灯** | - | 8个 | 连接至IO扩展芯片(PCA9555PW)IO1端口的八个IO。 |
| \| | **用户按键** | - | 用户按键 x2 | 其中PA0和天空星核心板上的按键用同一个 |
| \| | **旋转编码器** | `EC11` | - | 带按下功能,可作为按键3 |
| \| | **板载RGB LED** | `WS2812` x3 | 灯条接口 | 可编程全彩 LED |
| \| | **蜂鸣器** | 一个有源蜂鸣器
一个无源蜂鸣器 | - | 可以分时复用,但无法同时使用 |
| \| | **冲突功能选择** | 八路拨码开关,亦连接至I2C1下的IO扩展芯片-PCA9555PW的IO0端口上。 | 可手动拨动拨码开关,也可通过程序控制。 | 用于配合单刀双掷模拟开关实现对复用引脚的功能切换 |
| \| | **旋转可调电位器** | - | 10KΩ | |
| \| | **ADC 输入** | - | 2.54mm 排针接口
两个ADC输入通道 | 带TVS和保护电阻 |
| └ | **继电器** | - | 3P
带盖板栅栏式接线端子 | 带光耦隔离和LED灯指示 |
| **存储** | ***~~TF卡存储~~*** | *-* | *TF 卡座* | *SDIO 接口
在天空星核心板上面,**底板上没有,此处写出来主要是方便各位评估。*** |
| \| | **EEPROM** | `AT24C02` | I2C1 | 该器件的I2C地址可通过拨码开关设置 |
| └ | **SPI FLASH** | `W25Q128` | SPI2 | 与天空星高配版所用的是同一型号,用了这个底板,天空星上的SPI FLASH 就不能用了。 |
注:上述部分功能无法同时使用(只能二选一或分时复用),冲突的功能可以手动通过拨动开关切换,亦可软件控制`PCA9555PW`的端口0的八个IO来切换,软件控制的优先级高于手动拨动拨码开关:
1. 两个**ADC输入**排针口 和 **HX711**无法同时使用,可通过8路拨码开关的**BIT2**来切换。
2. **SPI2 **和 **音频I2S2**无法同时使用,可通过8路拨码开关的**BIT3**来切换。
3. **有源蜂鸣器 **和 **无源蜂鸣器**无法同时使用,可通过8路拨码开关的**BIT4**来切换。
4. **两个舵机通道 **和 **直流电机2**无法同时使用,可通过8路拨码开关的**BIT5**来切换。
5. **旋转编码器EC11 **和 **直流电机编码器2**无法同时使用,可通过8路拨码开关的**BIT6**来切换。
6. **板载RGB灯(WS2812x3)**和 外部**灯条**(可用来接外部的RGB灯板或者灯条)无法同时使用,可通过8路拨码开关的**BIT7**来切换。
7. **板载步进电机驱动(TMC2209)** 和 **外部步进电机接口** 无法同时使用,可通过8路拨码开关的**BIT8**来切换。
> [!NOTE]
>
> 天空星核心板在设计时并没有考虑到后续会有配套屏幕,所以天空星STM32F4高配版上面的 `SPI FLASH` 分配IO时将其分配在了 SPI1总线上(最高42Mhz),SPI2和SPI3最高都只能是21Mhz。为了确保配套的SPI屏幕获得最佳刷新率,且我们天空星青春版本来也不贴FLASH,所以本学习底板将 STM32F4 上唯一支持 42MHz 高速通信的 SPI1 总线更改分配用于屏幕驱动;鉴于共用总线会导致软件逻辑复杂且影响性能,决定放弃复用板载 Flash,改为在底板的SPI2上外挂独立的 SPI Flash 以存储资源。