Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【开源直播】手把手教你用全志XR32芯片DIY一个自己的开发板(一:电路与PCB绘制)

    Wireless & Analog Series
    12
    29
    10071
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • YuzukiTsuru
      柚木 鉉 LV 9 last edited by YuzukiTsuru

      d095629a-3f09-4c35-bbed-c6560a979682-23.jpg

      XR32

      【XR32】:完整型号【XR32F429】

      https://bbs.aw-ol.com/assets/uploads/files/1645509724979-9e4a33a7-60bb-4229-9ebf-cb6e084505b8-image.png

      是全志推出MCU芯片,听名字就知道,对标的是某tm/某sp32,可以用来做各自小板子、小车车、小电子设备、实验装置等等等

      10a6e97a-d401-4e66-a1fc-5f2248bc55f4-2.jpg

      XR32F429 基于主频最高可达 192MHz 的高性能 ARM Cortex-M4F 32 位 RISC 内核。 Cortex-M4F 内核具有一个浮点单元 (FPU) 单精度,它包含所有 ARM 单精度数据处理指令和数据类型。 它还实现了一个内存保护单元 (MPU),可实现应用程序安全性。 它支持集成的 832KB SRAM 和 2MB 闪存 ROM。 它还包括许多外设,包括 UART、TWI、SPI、I2S、DMIC、PWM、IrDA (T/R)、CSI、SDIO 和辅助 ADC。

      The XR32F429 devices are based on the high-performance ARM Cortex-M4F 32-bit RISC core operating at frequency up to 192MHz. The Cortex-M4F core features a Floating Point Unit (FPU) single precision which all ARM single-precision data-processing instructions and data types. It also implements a memory protection unit (MPU) which enables application security. It supports an integrated 832KB SRAM and 2MB Flash ROM. It also includes many peripherals, including UART, TWI, SPI, I2S, DMIC, PWM, IrDA (T/R), CSI, SDIO and auxiliary ADC.

      芯片特性

      • 集成高性能ARM Cortex-M4F内核,并配备832KB SRAM和16Mbit Flash

      • 集成硬件加解密引擎,保障数据传输与存储的安全

      • 集成度高,集成UART,SPI,I2C,PWM,ADC,SDIO,IrDA,I2S,DMIC,CSI等丰富的接口

      • 平台

        • ARM Cortex-M4F内核,最高192MHz运行频率
        • 内置832KB SRAM
        • 支持低功耗RTC模式
        • 集成2Kbit efuse
        • 6mm x 6mm 52pin QFN封装
      • 加解密引擎

        • 支持AES ECB/CBC/CTR,128/192/256位秘钥
        • 支持DES/3DES
        • 支持MD5/SHA/SHA256/CRC16/CRC32/PRNG
      • 外设

        • 2路SPI,3路UART,2路I2C,1路SDIO,IrDA
        • 8路PWM,8路ADC,GPIO若干
        • 1xI2S,1xDMIC,1xCSI
      • 电源

        • 单电源输入,宽电压范围2.7V-5.5V支持
        • 集成200mA 3.3VLDO,可用于外设供电
        • 内置DC-DC和LDO供内部电路使用
        • 支持低电检测
        • 支持系统关机/休眠状态唤醒
      • 时钟

        • 24MHz XTAL
        • 32768低频时钟
      • 其他

        • 工作温度-40~85℃, 存储温度-40~135℃
        • ESD HBM ±4000V,CDM ±800V

      楼主目前得到了XR32的全球独家权限,准备基于该芯片做一个开发板。所有软硬件将全部开源,方便后面的同学参考学习。

      从0开设DIY一个自己的开发板,并适配代码让它跑起来,应该是每个嵌入式工程师入门的入门之路吧,希望大家通过跟着我们操作走一遍,可以摸清入门的路~
      楼主目前普通本科物联网专业大二在读,相信我能完成的内容各位同学们都能完成。

      芯片框图:

      18fb7813-44da-4981-bf0c-a0c8a5da726c-image.png

      硬件:

      本项目将使用立创EDA进行进行原理图设计和PCB layout(因为它免费而且不用下载适合学生朋友使用)
      XR32的封装库后续会建好在立创EDA上直接开源,大家可以直接调用
      个人立创硬件开源平台主页:https://oshwhub.com/GloomyGhost

      XR芯片后面会放到全志系的淘宝店上销售,价格人民币一位数。同时也准备放到立创商城,大家下单打板就能直接调立创商城里的货,这样就不用寄来寄去了(和立创商城的人沟通中)。

      软件

      使用全志官方支持的FreeRTOS系统,适配自己做的开发板,代码全部开源,github/gitee双边同步
      github地址:https://github.com/YuzukiHD/XR32SDK
      gitee地址:https://gitee.com/GloomyGhost/xr32-sdk

      芯片资料

      XR32 datasheet:XR32F429C2_Datasheet_V1.2.pdf
      XR32 User_manual:XR32F429C2_User_Manual_V1.0.pdf

      硬件参考资料

      XR32参考设计原理图.7z
      XR32封装库.7z
      XR32参考设计原理图AD版本.zip
      XR32F429C2 LCEDA封装

      D 1 Reply Last reply Reply Quote Share 2
      • YuzukiTsuru
        柚木 鉉 LV 9 last edited by YuzukiTsuru

        项目计划

        • 一个大概5cm*2cm的小型开发板
        • 板载电源灯与点灯必备IO灯
        • 板载USB转UART
        • 一个复位按键一个下载按键
        • TF卡槽
        • SPI Flash
        • 摄像头CSI的FPC接口
        • 板形为通孔+邮票孔外围(差不多是这样↓)
          1924a8fc-630c-4269-8747-3ddd635e3862-w.jpg

        电路设计

        原理图设计

        封装设计

        首先设计XR32F429C2的原理图封装,封装已经上传立创eda,链接:XR32F429C2 LCEDA封装
        6b9826c2-bf7d-4c55-b6c6-8b33b4cd7778-image.png

        绘制芯片外围电路

        e8832622-4dbb-4e54-b825-72f5e12e3ffd-image.png

        外围电路主要包括三部分

        • 电源
        • 退耦、滤波电容
        • 辅助电路、时钟

        首先来电源和电容

        查阅芯片手册的Power Management章节,得知芯片内置了几路LDO,一路DCDC,只需要给芯片供电5V就可以使用了。

        2846dafb-44bd-478f-aed8-0e4c9f97f0a2-image.png

        再参考一下EVB的电路设计

        cc45a415-a376-4935-975b-a7789c825800-image.png

        GPIO就先这样拉出来,不做细分处理。

        对于时钟,查看数据手册Clock章节,有可以看到XR32F429有两个时钟,一个高速时钟一个低速时钟。

        216b50de-1fb5-4267-9122-d0862ee7f518-image.png

        其时钟控制图框如下。可以看到低速时钟有两个时钟源,一个内置RC震荡电路,一个外部晶振。因为低速时钟为32.768k正好是2的15次方,其主要是给系统RTC与低功耗模式使用的,对RTC或者对低功无需求可以舍去低速晶振。高速时钟支持24MHz, 26Mhz, 40MHz 或者 52MHz 的晶振。这里就选择24MHz的2016封装的晶振(正好全志的大部分Linux芯片也是24MHz)。

        708a0992-21ad-49bd-be0f-a738487d4c8c-image.png

        在这里因为是开发板,所以两个时钟都画上。每个晶振时钟脚加一个电容作为起振电容。

        497dfd7e-e448-4ec7-b345-958ae5aa785e-image.png

        最后一个辅助电路,用户按键。程序跑飞了的RESET键,下载程序的UPGRADE键。

        首先是RESET键,找了一圈居然没找到EN和RST引脚,查看了文档才发现叫做 CHIP_PWD

        eef8c65c-62f0-4b60-a73e-f80cfced5c4b-image.png

        下载按键就不好弄了,数据手册没有见到描述的部分,看了一下EVB的电路图,这咋还献祭了PB2和PB3。
        d078e3ac-08de-4939-aa1a-45a7dfab1807-image.png

        于是进行了一下搜索,在Github找到了XR871_Quick_Start_Guide-CN这个手册
        0f69cb55-d177-451e-813a-b56db8befc56-image.png

        里面描述了下载的全部过程。
        2efbb523-6393-4e90-a8bc-7100ed6a0445-image.png

        那现在就需要做出一个选择了,PB2和PB3是JTAG的数据口,如果直接拉低了可能会导致JTAG无法使用。便折中了一下,PB3接口通过电阻拉低,如果需要使用JTAG则将电阻移除即可。

        0bde53f4-b521-4668-bd4f-2726d4b28e4a-image.png

        电阻选用0603封装方便拆焊

        b4425bf8-d565-4987-9348-5f7d934012ee-image.png

        绘制板子的用户IO

        计算了一下,一共有31个GPIO+一个RESET需要引出,于是使用两列双18Pin穿孔+邮票孔封装。

        先画原理图封装,很简单

        6537a423-6f2b-4da2-84f1-45473a5baf57-image.png

        再画PCB封装,也很简单,两个焊盘一个长方形一个圆形,制版的时候把边框层放到白线就好了。

        fa190ca1-d72b-44f5-88ce-c5e0934338aa-image.png

        然后原理图里面对面放好

        867b5bce-89b5-40f1-b47b-8148be00aa55-image.png

        然后生成PCB,大概摆放一下元件
        e7d524ed-fdce-4a3f-8980-fd83271124ac-image.png

        渲染一下看看,有内味了

        71b6119e-b08b-4e4b-bccb-731e5cd69bb5-image.png

        USB转串口用的是人见人爱的CH340N,配上TypeC接口,CH340N没货了也可以用CH343P,不过这里就不用了。原理图把它们两个都画上。

        7e6e3a1a-6967-47b5-9607-2102a1c9ce89-image.png

        ((整了个活,CH340N和CH343P的复用焊盘

        15b6e636-63cd-4899-826f-929a050f6d04-@4}MUQ`~(XG1_K36F09HEGK.png

        TF卡槽,USB,摄像头FPC连接器和其他小东西

        大概设计(整活)了一下,这样层叠式设计。
        6236ad68-d7ae-4802-a35a-0e6570e2267b-w.jpg

        PCB摆放一下位置,开始拉线
        ced168da-b1e6-48a3-8718-fc7596a5b0d3-image.png

        其中先先不在原理图中绑定邮票孔IO对应的引脚,先把PCB的线拉出来,再按照线的位置去修改引脚
        cdc8ec78-cafa-4553-b66d-2edc582bc0ae-image.png

        比如这里,PB5对应H1 16, PB4对应H1 15

        32f9b699-73c3-4877-a1a2-5e3d03e40882-image.png

        就在原理图中把两个引脚确定下来
        7b48960e-96cb-4c38-b0b1-48d2788dd91d-image.png

        TF卡槽

        这里使用SDIO 1连接TF卡槽 1bit模式,只需要给CMD上拉,SDIO 0因为被CSI占用了所以就不使用了。
        470b6329-0de6-41ec-9baf-2cbf33f053d6-image.png

        当然,TF卡是可以带电拔插的,所以需要加上ESD器件,USB因为需要插上USB才上电所以这里就省略了。

        b66a0f54-6f90-4ef6-aca1-b13076cabc00-image.png

        USB

        USB当然是TypeC接口了,CC线下拉两个电阻,关于TypeC的接线可以参考这篇文章:Type C 的 CC 到底该怎么C

        7b9ba819-e5e2-4847-9e2e-61c42e3222e7-image.png

        摄像头FPC

        摄像头需要三路供电,分别是1V2,2V8,3V3。这里使用两个LDO作为两路供电。

        c238598d-7798-45b4-8a7d-6a0fa6818cb3-image.png

        SPI Flash

        没啥好说的,F1C100S板子上抄过来。

        e37b1a2d-342a-4b18-a0ad-6d8ece625397-image.png

        其他小东西

        给UART加上了指示灯,烧录的时候会闪一闪

        ced19ad5-67d3-43e7-ad05-774422f516f5-image.png

        加了一颗RGB灯,点灯吃灰一条龙

        d7f6cc7d-8f10-4112-abb7-012e2c4cd401-image.png

        PCB设计

        大概布局了一下下,并且把IO的线,供电,时钟的线连上了

        2fc19bab-a5b7-4332-a044-54747ad89d18-image.png

        3D渲染看看

        fb197052-0aae-49b3-ada0-7a0afee45566-image.png

        飞线消消乐中.........

        7036dc8a-de6d-425c-bcfb-68cbf8fafcc0-image.png

        a53d9c85-5f4a-441f-9b44-42809e544af9-image.png

        b08d3ecd-25e7-48f8-8d0a-685e39d20f7b-image.png

        157787ce-ddd9-4939-9274-2b3da3953999-image.png

        画一下IO丝印

        d7694782-74ff-46b5-94e5-d7ea9e3bc88a-image.png

        然后第一版就画完了QuQ

        1 Reply Last reply Reply Quote Share 0
        • YuzukiTsuru
          柚木 鉉 LV 9 last edited by YuzukiTsuru

          打样焊接

          打样

          打样的板子做了一些调整,加宽了外圈就不用出半孔费了QuQ

          c6073403-3809-4e54-8132-f13bca4c2332-image.png

          打样打样~~~
          8eef95ad-f2e5-4091-89eb-ee1378d3b9f1-f12b8013a0dc2fd596f58b5fe028997.jpg

          Pinout

          b9b5a219-67fc-43f3-bd93-8260b3dca07c-Pinouts.jpg

          W 1 Reply Last reply Reply Quote Share 0
          • YuzukiTsuru
            柚木 鉉 LV 9 last edited by YuzukiTsuru

            板子到货啦,调试后发现的问题做出的修改

            1. 删除UPG使用的上拉电阻电容
              720980fe-fc8e-4d6a-ba51-d07ed695b39e-image.png

            2. UART保留CH340N,TX改为电源灯(主要是绿灯太暗了给的电阻小所需电流较大导致UART强上拉)
              00a6f453-c6d3-49ea-bbb9-3f3df59d08a1-image.png

            3. TF卡使用全上拉
              23b339d9-e3d5-4d9d-9cb7-f227a17b1969-image.png

            4. 修改版型使其适合拼版
              1451c33f-4587-4a7a-8338-9801be483d8d-image.png

            1 Reply Last reply Reply Quote Share 0
            • YuzukiTsuru
              柚木 鉉 LV 9 last edited by YuzukiTsuru

              目前存在的问题

              1. 芯片的CSI是一个怎样的接口,支持什么摄像头?【已解决】
              1 Reply Last reply Reply Quote Share 0
              • Randolph
                Randolph LV 6 last edited by

                前排小板凳占座打卡~

                1 Reply Last reply Reply Quote Share 0
                • T
                  txl216 LV 6 last edited by

                  如果价格个位数的话,片内SRAM和FLASH比较大,这个价格很给力。

                  1 Reply Last reply Reply Quote Share 0
                  • Kirin
                    陈塘关李靖 LV 6 last edited by

                    XR32F4 Arm Cortex-M4 192MHz,对标STM32最高性能的档次STM32F4了
                    d0ff897c-fcfd-41b3-8c4e-7919d49088ac-image.png

                    1 Reply Last reply Reply Quote Share 2
                    • xiaowenge
                      DOT小文哥 LV 8 last edited by Kirin

                      板载那颗USB转uart串口芯片现在很贵,大概要10块钱一颗,还搞不到货

                      1 Reply Last reply Reply Quote Share 0
                      • C
                        chengwei_peng LV 6 last edited by

                        @yuzukitsuru 在 【开源直播】手把手教你用全志XR32芯片DIY一个自己的开发板 中说:

                        目前存在的问题

                        1. 芯片的CSI是一个怎样的接口,支持什么摄像头?

                        CSI是全称是CMOS Serial Interface,CSI接口通常从CMOS Sensor、Video Encoder和其它视频输出设备收集数据。你可以看芯片的规格书,在CSI的介绍篇章,可以看到下面的信息:
                        59868D4D-1452-4eca-96C7-59A431167E0B.png
                        从上面的介绍我们可以知道,它支持的是一个8bit的并口,市场上寻找支持8bit并口输出的、内置isp的YUV CMOS sensor即可。

                        1 Reply Last reply Reply Quote Share 0
                        • YuzukiTsuru
                          柚木 鉉 LV 9 last edited by

                          @chengwei_peng 有没有具体的摄像头型号可以参考一下的?

                          Randolph xiaowenge 2 Replies Last reply Reply Quote Share 0
                          • Randolph
                            Randolph LV 6 @YuzukiTsuru last edited by

                            @yuzukitsuru ov2640这一类的摄像头应该能满足

                            YuzukiTsuru aldfaaa 2 Replies Last reply Reply Quote Share 0
                            • YuzukiTsuru
                              柚木 鉉 LV 9 @Randolph last edited by

                              @randolph 那太好了

                              1 Reply Last reply Reply Quote Share 0
                              • xiaowenge
                                DOT小文哥 LV 8 @YuzukiTsuru last edited by

                                @yuzukitsuru 在 【开源直播】手把手教你用全志XR32芯片DIY一个自己的开发板 中说:

                                @chengwei_peng 有没有具体的摄像头型号可以参考一下的?

                                dvp摄像头都是这个标准,用24p的座子就可以了。源码里移植了0308和OV7670的摄像头驱动,可以挑一个喜欢的。

                                1 Reply Last reply Reply Quote Share 0
                                • YuzukiTsuru
                                  柚木 鉉 LV 9 last edited by

                                  那我可以用小座子这种然后dvp接法了

                                  不错
                                  a1867747-3085-47d6-9f71-fdf8b2b7bb2b-image.png

                                  whycan 1 Reply Last reply Reply Quote Share 0
                                  • whycan
                                    whycan晕哥 LV 9 @YuzukiTsuru last edited by

                                    @yuzukitsuru
                                    这种厚度的座子我喜欢😊 😊

                                    1 Reply Last reply Reply Quote Share 0
                                    • W
                                      wsxiaoping3 LV 2 last edited by

                                      好东西,跟着大佬一起学!

                                      1 Reply Last reply Reply Quote Share 0
                                      • xiaowenge
                                        DOT小文哥 LV 8 last edited by

                                        更新最新状态:板子已经发出去打板了,在等嘉立创(限电了

                                        YuzukiTsuru 1 Reply Last reply Reply Quote Share 0
                                        • YuzukiTsuru
                                          柚木 鉉 LV 9 @xiaowenge last edited by

                                          @xiaowenge 然后jlc周末服务器宕机了😭

                                          1 Reply Last reply Reply Quote Share 0
                                          • YuzukiTsuru
                                            柚木 鉉 LV 9 last edited by

                                            胜利在望

                                            3bb08059-e840-4ddf-a59e-1c09b6684c58-q2.png

                                            1 Reply Last reply Reply Quote Share 0
                                            • aldfaaa
                                              whycan矿工-小叶 LV 7 @Randolph last edited by

                                              @randolph OV2640我之前在STM32用while的方法(阻塞)读图片, 粗暴但不科学, 有没有更好的建议?
                                              OV2640

                                              Randolph 1 Reply Last reply Reply Quote Share 0
                                              • Randolph
                                                Randolph LV 6 @aldfaaa last edited by

                                                @aldfaaa 是用的F1裸奔吗,我记得f1好像没有DCMI接口,可能F4有DCMI接口读起来好一点?

                                                1 Reply Last reply Reply Quote Share 0
                                                • W
                                                  WEN_123 LV 2 @YuzukiTsuru last edited by

                                                  @yuzukitsuru 学习了,谢谢,请问一下pinout的图片使用什么软装制作的呢,

                                                  YuzukiTsuru 1 Reply Last reply Reply Quote Share 0
                                                  • YuzukiTsuru
                                                    柚木 鉉 LV 9 @WEN_123 last edited by

                                                    @wen_123 inkscape

                                                    1 Reply Last reply Reply Quote Share 0
                                                    • BedRock
                                                      BedRock LV 6 last edited by

                                                      CH340N taobao应该有卖😁
                                                      是不是板子要焊好了 催更催更

                                                      YuzukiTsuru 1 Reply Last reply Reply Quote Share 0
                                                      • YuzukiTsuru
                                                        柚木 鉉 LV 9 @BedRock last edited by

                                                        @bedrock 刚发货

                                                        1 Reply Last reply Reply Quote Share 0
                                                        • YuzukiTsuru
                                                          柚木 鉉 LV 9 last edited by

                                                          到货啦到货啦

                                                          a1e05184-3e97-4500-86a1-783979580fb4-e.jpg

                                                          1 Reply Last reply Reply Quote Share 0
                                                          • Referenced by  xiaowenge xiaowenge 
                                                          • xiaowenge
                                                            DOT小文哥 LV 8 last edited by

                                                            传送门
                                                            第二集:
                                                            【开源直播】手把手教你用全志XR32芯片DIY一个自己的开发板(二:PCB焊接调试)
                                                            https://bbs.aw-ol.com/topic/1154/share/2

                                                            1 Reply Last reply Reply Quote Share 0
                                                            • Referenced by  YuzukiTsuru YuzukiTsuru 
                                                            • Referenced by  YuzukiTsuru YuzukiTsuru 
                                                            • Moved from 爱搞机专区 by  xiaowenge xiaowenge 
                                                            • D
                                                              damifan110 LV 5 @YuzukiTsuru last edited by

                                                              @yuzukitsuru 请教图一是用什么软件绘制的呀?

                                                              1 Reply Last reply Reply Quote Share 0
                                                              • 1 / 1
                                                              • First post
                                                                Last post

                                                              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                                                              行为准则 | 用户协议 | 隐私权政策