小白自制Linux開發板 一. 瞎抄原理圖與亂畫PCB


 

 因為墨雲是基於高中物理水平的電路知識來學習、而且此前也就玩過樹莓派、Esp8266之類的開發板,水平基礎趨近於零,所以在寫這個系列的時候抱着記錄的心態、還望不足之處還望大佬們指正。

 

《論語》說:見賢思齊焉。所以現在墨雲又開始瞎折騰了

為啥突然想做嵌入式開發呢,因為看見了下面兩位牛人

【稚暉君】

https://www.bilibili.com/video/av65365123/

【在名片上運行的Business Card Linux】

 https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/

於是躁動的心開始蠢蠢欲動。

先定個小目標:

  設計一個沒啥作用,但是可以運行Linux的小板。

樣子大概長這樣:

  

 所以有了初步想法,那開始吧

1. 工具與芯片說明

立創EDA:電路圖與PCB設計工具,本次硬件部分設計全部使用立創EDA完成

F1C100s :全志的一款基於Arm的小型Soc,自帶32MB的內存,其升級版F1C200s為64MB內存,因為其極其便宜(當然最近因為芯片漲價影響),可以運行Linux,最典型的基於該芯片的荔枝派開發板。

CH340E:USB轉串口通信芯片,是作為與外界通信的唯一接口 、CH340E個頭小、外圍電路少,使用簡單。

原理圖:先后參考了(baipiao)了Licheepi Nano、Business LinuxCard、LiShanwenGit(https://www.oshwhub.com/LSW12315)立創開源廣場的一系列項目

2.原理圖說明

 電源管理

 電源部分使用USB方式供電,輸入電壓為5V,這里供電部分和串口電路共用相同USB端口。

 

   通過查詢F1c100s數據手冊:

 

 

  通過綜合分析,我們可以大概把電源分為4類

   Vdd-Core:1.1V

   Vcc-Dram:2.5V

   AVCC : 3.0V

   UVCC/VCC-IO/TV-AVCC/TTL:3.3

   這里主要使用 SY8088AAC 同步降壓DC-DC穩壓器,為SOT32-5的封裝方式,通過使用外圍電阻調整輸出電壓。

   公式為:

            Vout = 0.6 * (`1+Ra/Rb) 

而AVCC使用XC6206P302MR-SOT23的封裝方式,輸入5V  輸出為3.0V

因為 AVCC為模擬電源電壓,為了避免引入電源干擾,通常需要把把模擬電路與數字電路分開隔離開(這個地方解釋可能不對,歡迎指正)。

電源部分的原理圖如下:

 

電壓輸入輸出端都使用濾波電容進行處理,使用還要接入2.2uH的功率電感,注意一定要用功率電感,電流要求可以達到1A以及以上的才行

這個板子使用0805的功率電感,建議最好使用CD32類型的繞線功率電感。

 

核心原理圖

對於核心部分的原理圖如下,因為本次電路設計主要以驗證為主,所以並沒有做太多的外設電路。

除了常規的核心、外圍、DRAM工單引腳,核心部分還引出了

  1. TF卡引腳,作為本板子唯一的系統加載電路,這是必須的

  2.晶振,使用規格為24Mhz的有源晶振、加兩個15pf的負載電容

  3.串口調試 作為板子與外界唯一交互的通道,這個也是必須的,然而在做這個成功的給自己挖坑了。

  4.LED燈,這是這個板子唯一的外設,也是用來學習驅動開發的第一步。

  5.dram_vref、Var1、Var2 這是必須要接的、外圍電路,我也不知道的干啥的 ~_~…

  6.USB OTG 也是作為一個通信接口來使用,通過這個接口可以為板載Flash下載程序,但是因為本板沒有做Flash,所以目前唯一的作用就是放到驗證fel是否可以調通。

  7.復位按鈕

挖坑點

一直以來認為發光二極管也是二極管,所以就有下面的設計(亂畫),於是后來感覺板子沒問題,但是就是串口死活不顯示數據、在眾多大佬的幫助下,才發現了這個其妙(naocan)

的接線方法,於是將兩個發光二極管位置放了兩個0歐的電阻,一下子就成功調通了。

 

 

對於芯片電源輸入端的濾波電容與Dram_vref接線如下:

對於濾波電容簡單的說法就是,對於供電端的電壓,因為電路設計或者外界干擾等等,其實不是完美的電壓,總會存在高頻或是低頻的噪聲,而用小容量的電容就可以降低這些干擾。

常規的容值就是 10uf 、1uf、100nf

 

通信電路

我們在核心原理圖中看到了引出的串口線路,而串口的接口如下:

 

顯然在你看看你超博的筆記本機身,並沒有發現這個接口,偶爾還有一些老的筆記本上面可以看到類似的接口,對不起——那是顯示屏的VGA接口。

 

那我們如何使用串口傳輸的信息呢,我們需要一個USB轉串口的芯片,usb轉串口的芯片很多,這里選擇 CH340E 這個型號,因為其很小,接線也方便。

原理圖如下:

前面提到,這個板子共用了電源與TTL共用了一套設計,也就是是說USB線插上就可以啟動小板,並且開始進入串口調試。

原理圖中的U5是一個自恢復保險絲。

這里需要注意一下:

  根據CH340E官方的原理圖,當VCC接入5V的時候,V3 需要接一個100nf的電容,但是此處在V3直接接入5V,也可以工作。

  實際使用的時候最好不要這樣做。

 

TF卡接口

和電腦主機在BIOS選擇啟動方式一樣, F1C100s 支持多種方式的系統加載機制比如通過SPI接口加載Flash芯片中的鏡像,或者通過TF卡接口加載鏡像。

這里使用TF卡作為啟動源,這樣做是因為

  1.TF卡容量可以自己控制。

  2.系統燒寫調試方便

這部分電路相對簡單,原理圖如下:

 

OTG 與唯一的外設LED燈

 

 

3.PCB繪制

 PCB尺寸為42mm*29mm ,可以說非常小了,為了便於焊接,所有容阻都是用0805的封裝方式

 電源走線為14mil ,信號線為8mil

 

4.PCB焊接

 焊接PCB是一項手藝活,尤其是QFN方式封裝的F1C100s 更是難到發指,還好借助焊台和熱風槍,完美的完成了焊接,當然放大鏡、洗板水是不可缺少的。

 並且因為板子時長需要在手上把玩(盤PCB)。所以選擇了無鉛稀漿進行焊接。

效果如下:

 

成功運行Linux,

因為還沒開始着手做Linux移植,暫時使用LicheePi 的鏡像,下一節開始做Linux的移植。

 

 5. 后記

事實上世界上從來沒有所謂輕易的成功,對於初次玩PCB的小白更是如此,現在這個小板能成功也是經歷三四個月,五六次打板才成功的。以下是早期的趟雷PCB場景與先烈。 (右下角為成功的小板)

 

 

 硬件資料包:

 下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM