PIXNET Logo登入

<span style="font-size: 16pt; color: blue">拾人牙慧</span>

跳到主文

If I can't explain it simply, I don't understand it well enough.

部落格全站分類:視覺設計

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 12月 11 週四 202520:30
  • PWM(#13365428654)

PWM (Pulse Width Modulation)

PWM 頻率公式: (PWM 頻率 = 波形完整週期重複速度)

Fpwm = Fclock / (DIV × PERIOD)

DIV:粗調,分大塊控制 PWM 頻率
PERIOD:細調,精確控制 PWM 頻率與 DUTY 解析度

最常見做法:
先選適合應用的 PWM 頻率 → 透過 DIV 粗調
再用 PERIOD 精調 DUTY 解析度

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(0)

  • 個人分類:Embedded Linux
▲top
  • 11月 19 週三 202516:07
  • Processor Pin / GPIO Pin 設定值

Processor Pin 設定值

Processor 的 Pin 的設定值是可以透過設定暫存器值進行修改調整的,通常可以設定的值如下:

  • 電壓(1.8V / 3.3V / 2.5V)
  • 電流(2mA / 4mA / 8mA / 12mA)
  • 三態輸出/預設電平(Hi-Z / Pull-Up / Pull-Down / Bus Keeper)
  • 輸入抗噪訊號(Schmitt Trigger / No Hysteresis)
  • 信號邊沿速度(Slew Rate Slow / Fast)
  • 輸入接收器(Receiver Enable / Input to Core 0)

 

Driver Disable State(腳位預設/三態)

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(17)

  • 個人分類:Embedded Linux
▲top
  • 10月 23 週四 202516:47
  • MAC 與 PHY 之間的 SGMII

MAC 與 PHY 之間的 SGMII

以太網介面

GMII, RGMII, SGMII, XGMII, XFI 都是以太網介面(Ethernet Interface)標準。

用來描述 MAC(媒體存取控制)和 PHY(物理層)之間的連接方式,以及支援的速率和訊號線結構。

簡單比較表

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(2)

  • 個人分類:架構
▲top
  • 8月 21 週四 202512:03
  • D-Bus 簡介

D-Bus 簡介

D-Bus 就像是一個「訊息總線」,允許應用程式彼此發送訊息、呼叫函數或訂閱事件。

 

以下簡單說明以 busctl 指令來跟 D-Bus 互動的範例:

busctl [list]
  - 顯示 bus 上所有的 service names,包含 system 及 user session。
      - UNIT: System daemon,
      - PROCESS: System daemon 所呼叫執行的執行檔。
      - NAME: PROCESS 在 D-Bus 所用到的名稱,稱為 bus name,也稱為 service name 或 bus name owner。
          - Well-Known Names (Service Names): 由其它 client 使用。
          - Unique Names (Connection Names):  由 D-Bus 分配,並於內部使用。
  - 在 D-Bus 上的 service 的用途:
      - 提供 interfaces 及 objects 供其它 client 端程式使用。

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(10)

  • 個人分類:Embedded Linux
▲top
  • 3月 31 週一 202517:20
  • SPI 簡介

SPI (Serial Peripheral Interface)

SPI 是 SPI Bus 簡稱,是一種用於晶片通信的同步串行通信介面規範,SPI 裝置之間使用全雙工模式通信,是一個 master 搭配一個或多個 slave 的模式。

SPI 使用四根訊號線,如下:
1, SCLK (Serial CLocK): 串列時脈,由 master 發出。
2, MOSI (Master Output Slave Input): 由 master 輸出訊號到 slave。
3, MISO (Master Input Slave Output): 由 slave 輸出訊號到 master。
4, CS/SS (Chip/Slave Select): 選擇 chip/slave,由主機發出。

下圖為 SPI 線路範例,由一個 master 裝置 及三個 slave 裝置組成:
SPI 簡介
可以看到對 SPI Master 來說,MOSI, SCLK, SS 為 output,MISO 為 input。

SPI 的線路圖範例為:
SPI 簡介

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(800)

  • 個人分類:週邊
▲top
  • 3月 31 週一 202515:40
  • UART 簡介

UART (Universal Asynchronous Receiver/Transmitter)

UART 是一種異步收發傳輸器,是電腦硬體的一部分,將數據透過串列通訊和平行通訊間作傳輸轉換,沒有額外的 clock 資料,所以取樣頻率只能相近,不會相等,即非同步。
UART 通常用在與其他通訊接口 (如 EIA RS-232) 的連接上。

最精簡的情況下,具有收、送訊息的 UART,只需要使用兩根訊號線,如下:
TX (Transmitter): 輸出訊號。
RX (Receiver): 接收訊號。


下圖為 UART 線路範例,由兩個 UART 裝置組成:

UART 簡介
裝置的 RX 要與另一個裝置的 TX 互接。

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(15,872)

  • 個人分類:週邊
▲top
  • 3月 31 週一 202514:53
  • I2C 簡介

I2C (Inter-Integrated Circuit)

I2C 是 I2C Bus簡稱,也就是 Inter-Integrated Circuit Bus,也就是在 IC 之間的匯流排,使得 IC 跟 IC 可以通訊。
I2C 是一種串列通訊匯流排,使用多主從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。

I2C 使用兩條雙向漏極開路(Open Drain)線,如下:
1, SDA (Serial DAta line): 傳輸資料。
2, SCL (Serial CLock line):  啟動或停止傳輸以及傳送時鐘序列。


下圖為 I2C 線路範例,由兩個 master/slave 裝置 及兩個 slave 裝置組成,並搭配使用上拉電阻:
I2C 簡介
可以看到 SDA 及 SCL 都是雙向的。


I2C 的線路圖範例為:
I2C 簡介
在線路圖中,可以看到 SCL 是單向的,表示這個 I2C slave 裝置無法控制 SCL,也就是沒有支援 時脈擴展(clock stretching) 的功能。

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(2,297)

  • 個人分類:週邊
▲top
  • 3月 17 週一 202516:47
  • Device Tree (DTS) 簡介

Device Tree (DTS) 簡介

Device Tree 的存在,是為了把在 Platform Device 架構中,用來描述硬體資源的部份給抽出來,因為 Platform Device 的檔案是用 C 語言描述的,但概念上,硬體資源的描述應和程式無關也與 Linux 版本無關。
用 C 去描述的話,只要重新定義硬體資源就需要重新編譯核心,很浪費時間,如果不熟 C 語言,也無法修改,因為可能會導致編譯失敗。

Device Tree架構,解決了上述這些問題,不用懂 C 語言也能定義硬體資源,如此硬體工程師也可以做了,因為 pin 腳的功能,硬體工程師最清楚。

硬體資源: 包含 SoC-level (.dtsi)及 board level (.dts)
    描述 CPU、RAM size。
    描述 Memory-mapped 上的元件、PWM、UART、I2C、SPI 等晶片內部元件的描述,如暫存器位址及大小,中斷號碼、DMA、pinctrl。
    描述外部連接裝置,如裝置規格,以 flash 來說,包含 page size、flash size 等資訊,通常寫 device driver 會從這裡取得裝置資訊。
    外部裝置通常使用 device tree overlay (產生.dtbo) 的方式而不要直接修改.dts。


Device Tree 的優點:
1. 不用重新 compile source code 就可以更改系統的 configuration。
2. 當硬體只有小小的更改,只需要 dts 檔小改、然後再重新編譯出 dtb 即可。
3. 可以重複使用已存在的 dts 檔,也可以覆蓋過去定義的功能。

4. 從 C 語言中分離出來,使得硬體的描述架構更清楚。



dts vs. dtc vs. dtb

.dts(Device Tree Source) 檔案是一種 ASCII 文字格式的 Device Tree 描述,文字格式非常人性化,適合人類的閱讀習慣。
基本上,在 ARM Linux,一個 .dts 檔案對應一個 ARM 的 machine,一般放置在核心的 arch/arm64/boot/dts/ 目錄。
由於一個 SoC 可能對應多個 machines(一個 SoC 可以對應多個產品和電路板),這些 .dts 檔案可能會包含許多共同的部分,Linux 核心為了簡化,把 SoC 公用的部分或者多個 machines 共同的部分一般提煉為 .dtsi,類似於 C 語言的標頭檔案。其他的 machines 對應的 .dts 就 include 這些 .dtsi。

 

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(14,847)

  • 個人分類:Linux
▲top
  • 11月 13 週三 202412:14
  • 透過 Tera Term MODEM 傳輸資料

透過 Tera Term MODEM 傳輸資料

在 PC 端執行 teraterm 與 DUT 透過 UART 連接後,即可在 tera term 視窗開始控制 DUT。
如果此時有檔案傳輸的需求,則可以以 XMODEM 或 YMODEM 或 ZMODEM 直接透過 UART 來進行檔案的傳輸。

以下的傳輸以 ZMODEM 來做為範例,如果要以 XMODEM 或 YMODEM 來傳輸的話,則選在 DUT 以執行 sx 或 sy 來傳送檔案。
而在 Tera Term 上,就直接選擇 XMODEM 或 YMODEM 即可

 

從 DUT 傳送檔案到 PC 端

在 DUT 端透過執行 sz 來傳送檔案:
s 表示 send,傳送檔案
z 表示使用 ZMODEM 傳輸協議。

透過 Tera Term MODEM 傳輸資料
 

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(48)

  • 個人分類:Embedded Linux
▲top
  • 8月 23 週五 202419:06
  • USB Pinout 線路

USB Pinout 線路

USB 2 (Type A) pinout

USB Pinout 線路

最早的 USB 1.1 界面只有定義了四隻接腳:
其中,D+/D- 是一對差分(differential)的雙向資料傳輸界面。
而 V+ / GND 則是用來作為供電使用。

 

(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(19)

  • 個人分類:週邊
▲top
12...13»

熱門文章

  • ()三角函數 (Trigonometry)
  • ()小波轉換 (Wavelet Transform)
  • ()Pinhole Camera: 針孔相機座標成像原理
  • ()Pinhole Camera: 相機校正 (Camera Calibration)
  • ()特徵向量(Eigenvector) 及 特徵值(Eigenvalue) 的定義及求法
  • ()Affine Transformation
  • ()旋轉矩陣 (Rotation Matrix)
  • ()卡爾曼濾波 (Kalman Filter)
  • ()三維旋轉表示法 - 歐拉角、旋轉矩陣、旋轉向量、四元數
  • ()最小平方法

文章精選

文章分類

toggle 軟/韌體 (10)
  • VO (32)
  • Windows (2)
  • 程式設計 (7)
  • Linux (25)
  • 網路 (13)
  • 架構 (3)
  • BIOS (2)
  • 數學 (12)
  • 週邊 (7)
  • Embedded Linux (6)
toggle 硬體 (1)
  • 週邊 (4)
  • 未分類文章 (1)

最新文章