diff --git "a/ \345\276\220\345\256\207\345\245\207-2241f0349-\347\273\223\351\241\271\346\212\245\345\221\212.pdf" "b/ \345\276\220\345\256\207\345\245\207-2241f0349-\347\273\223\351\241\271\346\212\245\345\221\212.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..900b6cf20e662f36559754da50b277e83605552d Binary files /dev/null and "b/ \345\276\220\345\256\207\345\245\207-2241f0349-\347\273\223\351\241\271\346\212\245\345\221\212.pdf" differ diff --git a/docs/image/.DS_Store b/docs/image/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7630a9245827c852a573ade43693e7a2e5104fef Binary files /dev/null and b/docs/image/.DS_Store differ diff --git a/docs/image/manual/.DS_Store b/docs/image/manual/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f6b4a47f33898e6726e6400719e7a37470082098 Binary files /dev/null and b/docs/image/manual/.DS_Store differ diff --git a/docs/image/manual/1664538971493.png b/docs/image/manual/1664538971493.png new file mode 100644 index 0000000000000000000000000000000000000000..475888fc84df7137c6ad6933c4277c752951aef1 Binary files /dev/null and b/docs/image/manual/1664538971493.png differ diff --git a/docs/image/manual/1664538993768.png b/docs/image/manual/1664538993768.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5be495509ab4f23bd1de94a1f49d0069034501 Binary files /dev/null and b/docs/image/manual/1664538993768.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/.DS_Store b/docs/image/manual/PNG_d1s_base_board_2022-09-30/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b23495028cc57d9e35e64f74725e7c1b180f5a00 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/.DS_Store differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/Schematic3/SCH_Schematic3_1-P1_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/Schematic3/SCH_Schematic3_1-P1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7bbd4e7b0a49d509163a4518c29244dc041e6e Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/Schematic3/SCH_Schematic3_1-P1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_1-P1_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_1-P1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9828d67dfa88f8931e8cd3891630abcc913980 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_1-P1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_2-power_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_2-power_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..9d45316480a2d3ae564b342848e060c5a678e034 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_2-power_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_3-rj45_usb_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_3-rj45_usb_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..eaeecfb25967d158432bfe85ffc099cfb1dd10f0 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_3-rj45_usb_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_4-i2saudio_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_4-i2saudio_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..4594240e8a044087a779a865cafed279faae6e85 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_4-i2saudio_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_5-analog_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_5-analog_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e63534818aa6cad1897c732e4c399a00f491d4 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_5-analog_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_6-video_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_6-video_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..099db7d84c0c334507c5265579862e28ba06d471 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_6-video_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_7-notes_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_7-notes_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..bf39a1e8a4ac36ac2add042b4d50fd0aaae75fff Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_7-notes_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_1-P1_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_1-P1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..868ed0bf6e1505175b7e18fa9ecba15380177961 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_1-P1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_2-power_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_2-power_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4ae0b271dea509ae2afe3e9e1f5f98e2f47221 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_2-power_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_3-rj45_usb_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_3-rj45_usb_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..06895343becbb79dea7da4663dea32533b514e3e Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_3-rj45_usb_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_4-i2saudio_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_4-i2saudio_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..bff758131c0072e2802eddb1163d3d6b36784fdb Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_4-i2saudio_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_5-analog_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_5-analog_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..206fd1a2941159c89786ff8bfff128cbf2947b35 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_5-analog_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_6-video_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_6-video_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..ebad7f5b3d6becefeedd2e7a5450f2dc4c291e77 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_6-video_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_7-notes_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_7-notes_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c731dd74d12078c7ef7bb9c213ff275cb02819 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch_1/SCH_d1s_base_board_sch_1_7-notes_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..1e026db98274d4e2375a90e31fdbc725324b6169 Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements_1/SCH_elements_1_1-Sheet_1_2022-09-30.png b/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements_1/SCH_elements_1_1-Sheet_1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..f25656aae342023d3e4f17d11afe0b89868591df Binary files /dev/null and b/docs/image/manual/PNG_d1s_base_board_2022-09-30/elements_1/SCH_elements_1_1-Sheet_1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/.DS_Store b/docs/image/manual/PNG_d1s_core_board_2022-09-30/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3e8d35f8aba06e2c306a4cfce05e37cd0635afa2 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/.DS_Store differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/Schematic1/SCH_Schematic1_1-P1_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/Schematic1/SCH_Schematic1_1-P1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..14dae0e2278a05af1799866cd3efcdd340788541 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/Schematic1/SCH_Schematic1_1-P1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_1-power_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_1-power_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..07b6aef14bd4dc3442e99d3db069bbe12db4b93c Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_1-power_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_2-d1s_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_2-d1s_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa0a67075f07f7c906b63545b5aa4119aa4f17e Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_2-d1s_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_3-on_board_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_3-on_board_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..787453c6bd7bb5efc1f82bf96346555a62dbc508 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_3-on_board_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_4-rgmii_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_4-rgmii_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..28ddc07cb04f215f30ceea03bab810273ad48f0c Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_4-rgmii_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_5-DOC: d1s_pin_usage_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_5-DOC: d1s_pin_usage_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..da0f84a51c00485ca81d6e5bc418bb85c7383fa0 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_5-DOC: d1s_pin_usage_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_6-routing_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_6-routing_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c55a0687cff142d48d9a3c384383df833debaf Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_6-routing_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_7-impedance_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_7-impedance_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..02f06b0de44c291d259abc87e03f4d1a819a108b Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_7-impedance_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..90d2a141b19b8e5723b2d43918435e8abea143f6 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/elements/SCH_elements_1-Sheet_1_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_1-power_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_1-power_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..86480693f69d7b259b92be4e8ef3e795a5b7168e Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_1-power_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_2-d1s_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_2-d1s_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..91904338d28a5863b1b09af526e253519ca7fe20 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_2-d1s_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_3-on_board_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_3-on_board_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..525ae8c5fe605acb0ae57cbaa7a2c3c912be81fa Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_3-on_board_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_4-rgmii_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_4-rgmii_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..0763f97e9a2ae443e0bc02b9bfe5e1af6c5f26ec Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_4-rgmii_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_5-DOC: d1s_pin_usage_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_5-DOC: d1s_pin_usage_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..b18677edca3fee6f0c36b6f2d3ace27631923c45 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_5-DOC: d1s_pin_usage_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_6-routing_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_6-routing_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..f1424311e3e97567a47414b8211dd0c9d76ccfaa Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_6-routing_2022-09-30.png differ diff --git a/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_7-impedance_2022-09-30.png b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_7-impedance_2022-09-30.png new file mode 100644 index 0000000000000000000000000000000000000000..022e537ec05ed1396e0e1185e6a36f5e705e4a76 Binary files /dev/null and b/docs/image/manual/PNG_d1s_core_board_2022-09-30/sch_d1s_core_board/SCH_sch_d1s_core_board_7-impedance_2022-09-30.png differ diff --git a/docs/main.odt b/docs/main.odt new file mode 100644 index 0000000000000000000000000000000000000000..20f6534dda0f4b376e9ea5e4fca2d02efbd86772 Binary files /dev/null and b/docs/main.odt differ diff --git a/docs/manual.md b/docs/manual.md new file mode 100644 index 0000000000000000000000000000000000000000..2e5699581bad24c4ffbc6d3e0bd5769585c66186 --- /dev/null +++ b/docs/manual.md @@ -0,0 +1,474 @@ +# liberté 开发板项目报告 + +## 项目信息 + +- 项目名称:从 0 开始设计和制作一款 RISC-V 开源硬件产品 +- 方案描述:RISC-V开源硬件产品(liberté 开发板)基于泰晓科技 Linux 技术社区研发的 Cloud Lab 和 Linux Lab 开源开发环境,从 0 开始完成 RISC-V 产品的设计、开发和制作,开放全过程。项⽬涉及到 RISC-V产品⽂档、开发板原理图、开发板PCB图、外壳设计与制造等。 +- 时间规划: + - 时间 5.19-5.31:项⽬申请⽂档编写以及熟悉TinyLab开发环境 + - 时间 6.1-7.1:前期知识准备 + - 时间 7.1-8.15:硬件以及开发 + - 时间 8.16-9.1:软件开发以及移植 + - 时间 9.1-9.30:文档编写以及收尾工作 + - 时间 后续:进行后续优化操作 + +## 项目进度 + +- 目前底板开发板开发测试已完成,后续可能做些小的方面的优化。 +- 外壳已经制造完成,并且预留了升级空间,为后续安装散热风扇等提供可能。 +- 系统软件移植方面,已经成功移植测试完全志的 TinaLinux,正在解决开发板移植 Ubuntu 等系统的驱动和调度问题。DSP 固件已经完成。 + +## 简介 + +liberté 开发板基于全志 D1s 芯片设计,集成阿里平头哥RISC-V C906 CPU,主频 1Ghz,支持标准 Linux 内核。内置64MB DDR2内存,spi-nand, sdc,具有丰富的音视频接口和强大的音视频解码能力。可以连接各种外设。本开发板可以分为底板和核心板,核心板集成了 SD 卡接口,JTAG 接口,千兆以太网芯片,spi-nand芯片。底板集成了多个音频输入输出接口,以太网接口,tv接口,DisplayPort 接口,USB Type-A接口,USB Type-A接口以及一组拍针阵列,可以满足日常科研教学,产品项目预研,开发爱好者 DIY 的需求,在使用外壳之后亦可用于工控领域,提供控制单元。 + +## 核心板PCB图片 + +![1664538971493](image/manual/1664538971493.png) + +## 底板PCB图片 + +![1664538993768](image/manual/1664538993768.png) + +## 核心板原理图图片 + +![SCH_d1s_core_board_1_7-impedance_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_7-impedance_2022-09-30.png) + +![SCH_d1s_core_board_1_6-routing_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_6-routing_2022-09-30.png) + +![SCH_d1s_core_board_1_5-DOC: d1s_pin_usage_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_5-DOC: d1s_pin_usage_2022-09-30.png) + +![SCH_d1s_core_board_1_4-rgmii_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_4-rgmii_2022-09-30.png) + +![SCH_d1s_core_board_1_3-on_board_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_3-on_board_2022-09-30.png) + +![SCH_d1s_core_board_1_2-d1s_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_2-d1s_2022-09-30.png) + +![SCH_d1s_core_board_1_1-power_2022-09-30](image/manual/PNG_d1s_core_board_2022-09-30/d1s_core_board_1/SCH_d1s_core_board_1_1-power_2022-09-30.png) + +## 底板原图图片 + +![SCH_d1s_base_board_sch_1-P1_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_1-P1_2022-09-30.png) + +![SCH_d1s_base_board_sch_2-power_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_2-power_2022-09-30.png) + +![SCH_d1s_base_board_sch_3-rj45_usb_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_3-rj45_usb_2022-09-30.png) + +![SCH_d1s_base_board_sch_4-i2saudio_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_4-i2saudio_2022-09-30.png) + +![SCH_d1s_base_board_sch_5-analog_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_5-analog_2022-09-30.png) + +![SCH_d1s_base_board_sch_6-video_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_6-video_2022-09-30.png) + +![SCH_d1s_base_board_sch_7-notes_2022-09-30](image/manual/PNG_d1s_base_board_2022-09-30/d1s_base_board_sch/SCH_d1s_base_board_sch_7-notes_2022-09-30.png) + +## 核心板规格参数 + +| 部件 | notes | +| --------- | ----------------------------------------------------------------------------------------------------------- | +| 接口 | 采用JEDEC 200pin SODIMM与底板连接 | +| 主控 | 全志D1s RISC-V | +| DRAM | D1s 内置64MB | +| 存储 | 板载128Mbit spi flash芯片,支持SD卡扩展插槽, 支持通过底板引出的usb外接usb存储设备 | +| DEBUG | 核心板引出一组jtag用以调试 | +| USB | 两路usb2.0信号, 一路作为usb dfp, 一路作为usb drp. 通过SODIMM连接到底板上 | +| 网络 | 核心板板载一个千兆网卡(RTL8211E)。网络信号通过SODIMM连接到底板上 | +| 显示输出 | 支持MIPI-DSI或LVDS-4ch信号输出, 和一个CVBS输出. MIPI-DSI最高支持1920x1200@60fps, LVDS最高支持1366x768@60fps | +| 显示输入 | 支持两路CVBS输入 | +| 电源输入 | 通过SODIMM插槽供电 | +| 板载供电 | 通过MT3520B dc-dc芯片供电(buck拓扑) | +| 按键 | 一个按键用来reset D1s | +| pcb板大小 | 68mm * 38mm * 1mm | +| pcb板层 | 4层板 | + +## 底板规格参数 + +| 部件 | notes | +| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 核心板接口 | 一个JEDEC 200pin SODIMM连接器 | +| 显示 | 从核心板引出MIPI-DSI, 用显示转换芯片转换成DisplayPort接口 | +| 网路 | 一个rj45接口, 从核心板的网卡引出 | +| USB | 一个 USB 2.0 Type-A接口, 用作drp(下行设备), 一个 USB 2.0 Type-C接口, 用作drp设备, 手动通过按钮切换 | +| 音频 | 从核心板上D1s芯片直接引出一组输出音频输出与麦克风输入到一个1/8" jack音频接口, 可以切换omtp与ctia模式, 一组音频输入到1/8" jack音频接口(立体声输入), 以及引出一组i2s到板上es9038q2m芯片解码 | +| GPIO | 剩余未用到的d1s引脚全都通过排针引出, 根据d1s手册, 每个引脚都支持几个功能 | +| 电源 | 支持通过dc2.5接口, 8-24V, >=16w dc输入(例如8V 2A, 12V 1.4A, 15V 1.1A, 24V 0.7A) | +| 板身大小 | 100mm * 100mm * 1.6mm | +| pcb板层 | 4层板 | +| 底板供电系统 | 直接把dc口输入的直流电, 通过XL4005E1转换成5V直流电, 最大支持5A电流输出. 将此电源用ldo转换成3.3v, 1.8v等多个电压以供板上的芯片使用 ; 5V直接输出给核心板供电, usb供电 | + +## 核心板板载芯片简介 + +### RTL8211E + +Realtek RTL8211E是高度集成的支持十兆/百兆/千兆标准的以太网接收器. 提供了所有必须的物理层功能以通过5类UTP线发送和接收以太网包. + +RTL8211E用顶尖的数字信号处理技术以及模拟前端以支持通过UTP线对高速数据传输与接收. + +RTL8211E实现了交叉检测, 自动校正, 极性校正, 自适应均衡, 串扰消除, 回声消除, 定时恢复, 错误校正等功能以提供在十兆/百兆/千兆下稳定传输与接收的能力. + +MAC和PHY之间通过RGMII接口或GMII接口传输数据. RTL8211E-VB和RTL8211EG-VB支持3.3v或2.5v的RGMII/GMII信号电压, RTL8211E-VL支持1.5v或1.8v的RGMII/GMII信号电压. + +### W25Q128JW + +W25Q128JW串行闪存提供一个有限空间, 有限引脚, 有限功率下的存储解决方案. 25Q系列提供了相比普通的串行闪存设备更好的适应性和性能. 它们非常适合对RAM进行代码跟踪, 直接从双/四SPI(XIP)执行代码和存储声音,文字和数据. 单个W25Q128JW电源消耗低至1mA活动电流和1µA断电电流。所有设备均采用节省空间的封装. + +W25Q128JW阵列被组织成65536个256字节的可编程页面.一次最多可以编程256字节. 可以16页(4KB 扇区擦除)一组, 128页(32KB块擦除), 256页(64KB块擦除),或者整个芯片(芯片擦除)擦除. W25Q128JW分别地有4096个可擦除扇区和256可擦除块. 小4KB扇区允许了在要求数据与参数存储的应用时的更大的灵活性. + +W25Q128JW支持SPI标准与高性能双/四输出和双/四输入输出SPI : 串行时钟, 片选, 串行数据输入输出0(DI), 输入输出1(DO), 输入输出2和输入输出3. 支持大于133MHz的SPI时钟频率, 允许了当用SPI Fast Read Quad IO指令时Quad I/O的等效532MHz的时钟频率. 这些传输率可以超过标准异步8和16bit并行闪存芯片. + +## 底板板载芯片简介 + +### SN65DSI86 特性 + +• 符合嵌入式 DisplayPort™(eDP™) 1.4 标准,支持1 条、2 条或 4 条信道在 1.62Gbps (RBR)、2.16Gbps、2.43Gbps、2.7Gbps (HBR)、3.24Gbps、4.32Gbps 或 5.4Gbps (HBR2) 速率下运行。 + +• 实现 MIPI®D-PHY 版本 1.1 物理层前端和显示串行接口 (DSI) 版本 1.02.00 + +• 双通道 DSI 接收器在每个通道上可针对 1 条,2条,3 条或 4 条 D-PHY 数据信道进行配置,每信道的运行速率高达 1.5Gbps + +• 支持 RGB666 和 RGB888 格式的 18bpp 与 24bpp DSI 视频流 + +• 适合 60fps 4K 4096 × 2304 分辨率(18bpp 颜色),以及 60fps WUXGA 1920 × 1200 分辨率 和3D 图形显示(120fps 等效) + +• MIPI 前端可配置为单通道或双通道 DSI 配置 + +• 支持双通道 DSI 奇校验、偶校验、左移位和右移位操作模式 + +• 1.2V VCC 主电源,1.8V 电源用于数字 I/O + +• 低功耗 特性 包括面板刷新和 MIPI 超低功耗状态(ULPS) 支持 + +• DisplayPort 信道极性和分配均可配置。 + +• 通过外部基准时钟 (REFCLK) 支持 12MHz、19.2MHz、26MHz、27MHz 和 38.4MHz 等频率 + +• ESD 额定值 ±2 kV (HBM) + +• 采用 64 引脚 HTQFP (PAP) 封装 + +• 温度范围:-40°C 至 +85°C + +### ES9038Q2M + +ES9038Q2M SABRE32 Reference DAC是一个非常高性能的32位立体声的设计用于功耗敏感的应用,例如数字音乐播放器等的数字/模拟转换器. + +使用严格的结构, ES9038Q2M提供能满足绝大部分要求高的音乐爱好者的最大128dB的动态范围, -120dB的总谐波失真加噪声. + +ES9038Q2M在主和从模式下处理最大32位 768kHz PCM, DSD256通过DoP数据. 支持通过完全可编程的自定义有7个预设的FIR滤波器的声学特征自定义. 欠佳的PCB设计引起的残余畸变可以用ES9038Q2M独特的总谐波失真补偿电路最小化, 同时芯片到芯片增益变化通过内置的自动增益校准电路最小化. + +## 外壳设计 + + + +## Linux系统移植 +### 简介 +本开发板可以使用全志适配于 D1s芯片的 Tina Linux系统。 + +Tina Linux是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。Tina Linux基于openwrt-14.07 版本的软件开发包,包含了 Linux 系统开发用到的内核源码、驱动、工具、系统中间件与应用程序包。 + +*openwrt 是知名的开源嵌入式 Linux 系统自动构建框架,是由 Makefile 脚本和 Kconfig 配置文件构成的。使得用户可以通过 menuconfig配置,编译出一个完整的可以直接烧写到机器上运行的 Linux 系统软件。 + +### 系统框图 + +![Tina Linux系统框图](https://d1.docs.aw-ol.com/assets/img/Tina_Linux_ARCH.png) + +Tina系统软件架构如图所示。从下至上分别为Kernel && Driver、Libraries、System Services、Applications 四层。 + +#### Kernel && Driver + +Kernel&&Driver 层主要提供 Linux Kernel 的标准实现。Tina 平台的 Linux Kernel 采用 Linux3.4、Linux3.10、Linux4.4、Linux4.9、Linux5.4 等内核,不同硬件平台使用不同内核版本,提供安全性、内存管理、进程管理、网络协议栈等基础支持,并通过 Linux 内核管理设备硬件资源,如 CPU 调度、缓存、内存、I/O 等。 其中D1s适配的是Linux 5.4内核。 + +#### Libraries + +Libraries 层对应一般嵌入式系统,相当于中间件层次。其包含了各种系统基础库、第三方开源程序库支持,为应用层提供 API 接口,系统定制者和应用开发者可以基于 Libraries 层的API 开发新的系统服务和应用程序。 + +#### System Services + +System Services 层对应系统服务层,包含系统启动管理、配置管理、热插拔管理、存储管理、多媒体中间件等。 + +#### Applications + +Applications 层主要是实现具体的产品功能及交互逻辑,开发者可以开发实现自己的应用程序,提供系统各种能力给到终端用户。 + +### SDK 结构 + +Tina Linux SDK 主要由构建系统、配置工具、工具链、host 工具包、目标设备应用程序、文档、脚本、linux 内核、bootloader 部分组成,下面是Tina主目录包含的文件和目录。 + +``` +Tina-SDK/ +├── build +├── config +├── Config.in +├── device +├── dl +├── lichee +├── Makefile +├── out +├── package +├── prebuilt +├── rules.mk +├── scripts +├── target +├── tmp +├── toolchain +└── tools +``` + +以下将对主要目录中包含的内容进行简单介绍。 + +#### build 目录 + +build 目录存放 Tina Linux 的构建系统文件,此目录结构下主要是一系列基于 Makefile 规格编写的 .mk 文件,主要的功能有: + +(1)检测当前的编译环境是否满足 Tina Linux 的构建需求; + +(2)生成 host 包(PC端软件包)编译规则; + +(3)生成工具链的编译规则; + +(4)生成 target 包的编译规则; + +(5)生成 linux kernel 的编译规则; + +(6)生成系统固件的生成规则。 + +``` +build/ +├── autotools.mk +├── aw-upgrade.mk +├── board.mk +├── cmake.mk +├── config.mk +├── debug.mk +├── depends.mk +├── device.mk +├── device_table.txt +├── download.mk +├── dumpvar.mk +├── envsetup.sh + ..... +``` + +#### config 目录 + +config 目录主要存放 Tina Linux 中配置菜单的界面以及一些固定的配置项,该配置菜单基于内核的 mconf 规格编写。 + +``` +config/ +├── Config-build.in +├── Config-devel.in +├── Config-images.in +├── Config-kernel.in +├── Config-systeminit.in +└── top_config.in +``` + +#### device 目标 + +devices 目录用于存放方案的配置文件,包括内核配置、env 配置、分区表配置、sys_config.fex(全志定制板级配置文件)、 + +board.dts(linux标准设备树文件) 等。 + +*这些配置在旧版本Tina(Tina3.0以前)上是保存于 target 目录下,现新版本均移到了 device 目录下,但defconfig仍保存在 target 目录下 + +``` +device/ +└── config + ├── chips + │ └── d1 + └── common + ├── cert + ├── debug + ├── dtb + ├── hdcp + ├── imagecfg + ├── partition + ├── sign_config + ├── toc + ├── tools + └── version +``` + +其中,config/chips/d1 存放D1s平台相关的配置,其目录结构如下: + +``` +d1 +├── bin +├── boot-resource +│ └── boot-resource +│ └── bat +├── configs +│ ├── default +│ ├── evb1 +│ │ ├── linux -> linux-5.4 +│ │ └── linux-5.4 +│ └── fpga +│ └── linux-5.4 +└── tools +``` + +- bin 目录存放编译 boot 等bin文件,当Tina SDK构建或重新编译boot时,对应的文件会被替换。 + 快捷跳转命令: cbin。 +- boot-resource 目录存放开机动画等资源。 +- tools 目录存放方案构建时需要的工具 +- configs 目录存放该CHIP平台对应的 多个硬件方案配置文件。其中,default 为公共配置,evb1 对应硬件evb1板的方案配置,fpga 为 fpga板的方案配置,若存在更多个硬件方案,便会在该目录下新建对应的方案目录。 若公共配置目录default和方案配置目录中,存在相同的配置文件时,优先使用方案配置。 + 快捷跳转命令:cconfigs(该命令会跳转到该目录下linux目录)。 + +以evb1方案为例,简述方案配置目录下,具体内容: + +``` +d1/configs/evb1/ +├── board.dts -> linux-5.4/board.dts +├── env.cfg +├── linux -> linux-5.4 +├── linux-5.4 +│ ├── board.dts +│ └── config-5.4 +├── sys_config.fex +└── sys_partition.fex +``` + +board.dts 板级dts配置文件,符合linux内核dts配置格式及合并规则。 + +env.cfg 环境变量配置文件,Uboot将此环境变量传递给内核。 + +linux/config-5.4 Linux5.4 内核配置文件,配置方案下默认linux内核功能。 + +sys_config.fex 打包阶段根据sys_config配置更新boot0, uboot, optee等bin文件的头部等信息,例如更新dram参数、uart参数等。 + +sys_partition.fex 分区配置文件。 + +#### lichee 目录 + +lichee 目录主要存放 bootloader、linux内核、DSP等代码,其中DSP代码及编译环境因涉及DSP供应商科声讯版权,需单独申请。lichee目录下结构如下: + +```bash +Tina-SDK + ├── brandy-2.0 + │ ├── build.sh + │ ├── tools + │ └── u-boot-2018 + └── linux-5.4 +``` + +#### package 目录 + +package 目录存放Tina系统支持的软件包源码和编译规则,目录按照目标软件包的功能进行分类,该目录包含了Tina系统全平台(包括全志R/H/F/V/T系列)的软件包,但是并不是所有软件包都适配了D1s方案,部分软件包需要开发者自行适配。 + +``` +package/ +├── add-rootfs-demo +├── admin +├── allwinner + ... +├── utils +└── wayland +``` + +#### prebuild 目录 + +prebuild目录存放预编译交叉编译器,目录结构如下。 gcc/riscv 即为编译 D1s 所用的工具链目录 + +``` +prebuilt/ +└── gcc + └── linux-x86 + ├── host + └── riscv + └── toolchain-thead-glibc +``` + +#### scripts 目录 + +scripts目录用于存放host端(PC端,下同)或target端(小机端,即目标机器,下同)使用的一些脚本。 + +> 一般指定解释器为`#!/bin/bash`的脚本是host`#!/bin/sh`的脚本是target端工具。 + +``` +scripts/ +├── add_initramfs.sh +├── arm-magic.sh +├── ... +``` + +#### target 目录 + +target目录用于存放目标板相关的配置以及sdk和toolchain生成的规格。 + +``` +target/ + ├── allwinner + ├── Config.in + ├── imagebuilder + ├── Makefile + ├── sdk + └── toolchain +``` + +快捷跳转命令:cdevice。 + +#### toolchain 目录 + +toolchain目录包含交叉工具链构建配置、规则。 + +``` +toolchain/ +├── binutils +├── fortify-headers +├── gcc +├── gdb +├── glibc +├── insight +├── kernel-headers +├── musl +└── wrapper +``` + +#### tools 目录 + +tools 目录用于存放 host 端工具的编译规则。 + +#### out 目录 + +out目录用于保存编译相关的临时文件和最终镜像文件 ,编译后自动生成此目录,以编译D1s-evb1方案为例说明。 + +``` +out/ +├── d1-evb1 +└── host +``` + +其中,host目录用于存放host端的工具以及一些开发相关的文件。 + +D1s-evb1 目录为方案对应的目录。方案目录下的结构如下: + +``` +out/d1-evb1/ +├── boot.img +├── compile_dir +├── d1-evb1-boot.img +├── d1-evb1-Image +├── d1-evb1-uImage +├── image +├── md5sums +├── packages +├── rootfs.img +├── sha256sums +├── staging_dir +├── tina_d1-evb1_uart0.img +└── usr.img +``` + +其中, - tina_d1-evb1_uart0.img为最终固件包(系统镜像),串口信息通过串口输出。若使用pack -d,则生成的固件包为xxx_card0.img,串口信息转递到tf卡座输出。 +\- boot.img为最终烧写到系统boot分区的数据,可能为boot.img格式也可能为uImage格式。 +\- rootfs.img为最终烧写到系统rootfs分区的数据,该分区默认为squashfs格式。 +\- d1-evb1-Image 为内核的 Image格式镜像,用于进一步生成uImage。 +\- d1-evb1-uImage为内核的uImage格式镜像,若配置为uImage格式,则会拷贝成boot.img。 +\- d1-evb1-boot.img为内核的boot.img格式镜像,若配置为boot.img格式,则会拷贝成boot.img +\- compile_dir为sdk编译host,target和toolchain的临时文件目录,存有各个软件包的源码。 +\- staging_dir为sdk编译过程中保存各个目录结果的目录。 +\- packages目录保存的是最终生成的ipk软件包。 + +快捷跳转命令:`cout`。 + +具体移植过程可见本工程下移植文档 diff --git a/test.txt b/test.txt new file mode 100644 index 0000000000000000000000000000000000000000..9daeafb9864cf43055ae93beb0afd6c7d144bfa4 --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +test