因為墨雲是基于高中實體水準的電路知識來學習、而且此前也就玩過樹莓派、Esp8266之類的開發闆,水準基礎趨近于零,是以在寫這個系列的時候抱着記錄的心态、還望不足之處還望大佬們指正。
《論語》說:見賢思齊焉。是以現在墨雲又開始瞎折騰了
為啥突然想做嵌入式開發呢,因為看見了下面兩位牛人
【稚晖君】
https://www.bilibili.com/video/av65365123/
【在名片上運作的Business Card Linux】
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
于是躁動的心開始蠢蠢欲動。
先定個小目标:
設計一個沒啥作用,但是可以運作Linux的小闆。
樣子大概長這樣:

是以有了初步想法,那開始吧
立創EDA:電路圖與PCB設計工具,本次硬體部分設計全部使用立創EDA完成
F1C100s :全志的一款基于Arm的小型Soc,自帶32MB的記憶體,其更新版F1C200s為64MB記憶體,因為其極其便宜(當然最近因為晶片漲價影響),可以運作Linux,最典型的基于該晶片的荔枝派開發闆。
CH340E:USB轉序列槽通信晶片,是作為與外界通信的唯一接口 、CH340E個頭小、外圍電路少,使用簡單。
原理圖:先後參考了(baipiao)了Licheepi Nano、Business LinuxCard、LiShanwenGit(https://www.oshwhub.com/LSW12315)立創開源廣場的一系列項目
電源管理
電源部分使用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燈
PCB尺寸為42mm*29mm ,可以說非常小了,為了便于焊接,所有容阻都是用0805的封裝方式
電源走線為14mil ,信号線為8mil
焊接PCB是一項手藝活,尤其是QFN方式封裝的F1C100s 更是難到發指,還好借助焊台和熱風槍,完美的完成了焊接,當然放大鏡、洗闆水是不可缺少的。
并且因為闆子時長需要在手上把玩(盤PCB)。是以選擇了無鉛稀漿進行焊接。
效果如下:
成功運作Linux,
因為還沒開始着手做Linux移植,暫時使用LicheePi 的鏡像,下一節開始做Linux的移植。
事實上世界上從來沒有所謂輕易的成功,對于初次玩PCB的小白更是如此,現在這個小闆能成功也是經曆三四個月,五六次打闆才成功的。以下是早期的趟雷PCB場景與先烈。 (右下角為成功的小闆)
下載下傳
NetAnalyzer下載下傳位址
NetAnalzyer交流群:39753670 (PS 隻提供交流平台,群主基本不說話^_^)
[轉載請保留作者資訊 作者:馮天文 ]