天天看點

小白自制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的小闆。

樣子大概長這樣:

  

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

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

立創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端口。

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

   通過查詢F1c100s資料手冊:

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

  通過綜合分析,我們可以大概把電源分為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為模拟電源電壓,為了避免引入電源幹擾,通常需要把把模拟電路與數字電路分開隔離開(這個地方解釋可能不對,歡迎指正)。

電源部分的原理圖如下:

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

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

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

核心原理圖

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

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

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

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

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

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

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

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

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

  7.複位按鈕

挖坑點

一直以來認為發光二極管也是二極管,是以就有下面的設計(亂畫),于是後來感覺闆子沒問題,但是就是序列槽死活不顯示資料、在衆多大佬的幫助下,才發現了這個其妙(naocan)

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

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

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

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

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

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

通信電路

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

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

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

那我們如何使用序列槽傳輸的資訊呢,我們需要一個USB轉序列槽的晶片,usb轉序列槽的晶片很多,這裡選擇 CH340E 這個型号,因為其很小,接線也友善。

原理圖如下:

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

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

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

這裡需要注意一下:

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

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

TF卡接口

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

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

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

  2.系統燒寫調試友善

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

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

OTG 與唯一的外設LED燈

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

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

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

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

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

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

效果如下:

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

成功運作Linux,

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

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

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

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

 下載下傳

NetAnalyzer下載下傳位址

NetAnalzyer交流群:39753670 (PS 隻提供交流平台,群主基本不說話^_^)

[轉載請保留作者資訊  作者:馮天文 ]