公告版位
從小害怕寫作文, 文筆不佳到現在, 還請各位讀者大大:
1. 發現有錯誤, 請留言告知. (或者你 '覺得' 不對也行)
2. 用字措辭不當, 請留言告知.
3. 有看沒有懂? 幫到忙也好, 幫倒忙也罷, 總之留個言吧.

目前分類:硬體 (9)

瀏覽方式: 標題列表 簡短摘要

早期的 PC 或 NB 為了要連接串列滑鼠數據機 (modem)以及印表機 都會加購 2S1P 介面卡 (2 個 Serial Port + 1 個 Parallel Port).

isa 2s1p

早先的 2S1P 介面卡 (ISA 介面)

文章標籤

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

發現幾篇好文推薦給有需要的人

ESP8266 相關資料:

  • 模組製造商: Espressif System (中國/上海) 公司網站
  • 核心: 32-bit RISC DPU, Tensilica Xtensa LX106 running at 80 MHz (可以拉高到 160MHz), 是 DPU (CPU+DSP) 喔! 不是一般的 CPU.
文章標籤

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

隨著科技的演進, 在單晶片微控制器及 SoC 的領域中, SPI 及 I2C 這二種串列 (序列) 介面變得十分常見. 這二者與主機間通訊用的非同步串列通訊埠 RS-232 (UART) 非常不一樣

  • 二個都是同步傳輸介面, 主要是用於 CPU 和週邊晶片之間.
  • SPI 及 I2C 二者設計的主要目的在於減少 CPU 和週邊晶片之間的接腳數.
  • SPI 一般需要 4 條接線 (至少三條), 而 I2C 則只要二條線, 這和早期常用的並列匯流排動輒十數條接線有著明顯的差異.
  • SPI 的硬體結構簡單而且傳輸速度快, 一般是 5M/10M/20Mbps 或是更快 (可以到 200Mbps), I2C 的傳輸速度則只有 100Kbps/400Kbps/1Mbps(/3.4Mbps/單向5Mbps).
  • SPI 是全雙工, I2C 則是半雙工

本篇介紹的是 I2C 介面

SPI 的部份在這個連結 SPI (Serial Peripheral Interface) 串列 (序列) 週邊介面

文章標籤

MagicJackTing 發表在 痞客邦 留言(51) 人氣()

I2C Bus 提昇電阻之計算


I2C Bus 和 SPI 一樣也是主從式架構, 不過它不同於 SPI 的點對點或點對多點結構, 它是以匯流排型式介接, 同時匯流排上允許有多個 master (主設備) 和多個 slave (從設備). 介接方法如下圖所示:

I2C Bus

I2C 介接圖

文章標籤

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

隨著科技的演進, 在單晶片微控制器及 SoC 的領域中, SPI 及 I2C 這二種串列 (序列) 介面變得十分常見. 這二者與主機間通訊用的非同步串列通訊埠 RS-232 (UART) 非常不一樣

  • 二個都是同步傳輸介面, 主要是用於 CPU 和週邊晶片之間.
  • SPI 及 I2C 二者設計的主要目的在於減少 CPU 和週邊晶片之間的接腳數.
  • SPI 一般需要 4 條接線 (至少三條), 而 I2C 則只要二條線, 這和早期常用的並列匯流排動輒十數條接線有著明顯的差異.
  • SPI 的硬體結構簡單而且傳輸速度快, 一般是 5M/10M/20Mbps 或是更快 (可以到 200Mbps), I2C 的傳輸速度則只有 100Kbps/400Kbps/1Mbps(/3.4Mbps/單向5Mbps).
  • SPI 是全雙工, I2C 則是半雙工.
  • SPI 使用硬體線路來指定 slave 晶片, I2C 則在傳送的第一個位元組上指定 (7bit位址).
  • SPI 不提供交握機制, 無法確認 slave 晶片是否有跟上. I2C 則有雙向的確認機制.

本篇介紹的是 SPI 介面



文章標籤

MagicJackTing 發表在 痞客邦 留言(39) 人氣()

假設有一個 16bit 硬體計時/計數器 (Timer/Counter) 負責計數外部的訊號. 所以我們直覺的反應是某一段時間之內的訊號個數是本次讀取的計數值減掉上次讀取的計數值, 像這樣 Count = ValCurr - ValPrev. 但是如果上次讀取的內容已經接近上限了 (例如: 65530), 而這一次讀到的內容已經溢位變成一個很小的數值 (例如: 5) 呢?

當下你可能會想到下列幾個:

  • 改用 32bit 來處理.
  • 65536 - (大值 - 小值)
  • ...

其實沒那麼麻煩, 答案很簡單依然是 Count = ValCurr - ValPrev, 只不過記得要用 uint16_t (或者 unsigned short) 來定義這些變數.

文章標籤

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

最近因實驗需要, 上網找到很多人拿來控制 Arduino 的 APC220 UART 轉 RF 的傳輸模組.

由於網路上拍賣網站眾多, 但資料大多不全, 個人研判製造商應該是 APPCON 這家公司, 因為設定工具程式 (網路上找到的) 內有這家公司的相關資訊. 以下資料主要來自從 APPCON 網站下載下來的 datasheet



APC220 套件產品照片


APC220 Front View APC200 Back

可以相容對接的產品還有 APC230 及 APC802, 三者最大的差異是傳輸功率: APC220 是 13dBm (20mW), APC230 是 20dBm (100mW), APC802 是 27dBm (500mW), 當然功率變大電流需求也會變大, 同時也可以傳更遠. 由規格看來, 傳輸功率增加 7dBm, 距離由 800m 增加到 1800m, 20log(1800)-20log(800)=7.04 符合理論計算.

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

給用手機瀏覽的讀者


很抱歉, 這一篇因為用了 MathJax 套件來顯示分數, 目前設定和痞客邦的 "手機版模式" 有點小衝突 (它把行高設定死了), 要等改天有空才能修正. 請先改用 "電腦版模式" 或者換用 PC/平板 來閱讀. 已經修正好了, 如果閱讀上還有問題請留言告知.

UART 接收同步機制


下圖所示是經由 UART 輸送一個 ASCII 字元 'r' (0x72) 的 TTL 輸出 (未經過 RS-232 Transceiver). 圖上的小箭號所指的是接收端取樣訊號的相對時序位置, 上半部是理想狀況下接收 UART 資料的時序圖. 我們設定了鮑率之後, UART 在第一個向下訊號邊緣取得同步 (開始計時) 是為啟始位元, 然後以設定的鮑率開始取樣接收資料. 不過事情總不會如此美好. 萬一接收者和發送者的計時精準度不同 (即使是同樣的廠牌、型號, 總還是有製造上的誤差, 及操作溫度...等等因素的影響), 致使二者不完全一致, 下圖的下半部刻意把誤差放大, 我們很容易就看出一共有 4 個位元的資料錯了.

文章標籤

MagicJackTing 發表在 痞客邦 留言(3) 人氣()

型號


電路版的型號依時間序有

  • Pi rev.1 (2012/02/29)
  • Pi rev.2 (2012/09/05)
  • Pi+ (2014/07/14)
  • Pi2 (2015/02/02)
  • Pi3 (2016/02/28)
  • Pi3+ (2018/03/14)
  • Pi4 (2019/06/24)
  • Pi400 (2020/11/04)

Pi rev.2 和 Pi+ 有分 Model A 和 Model B. 二者的差異是電子零件用料不同 (Model A 用料縮減, 主要為減少 RAM, 網路接口, 及部份 USB 接口)

Pi3+ 相對於 P3 只是 CPU 的執行速度加快 1400 MHz (雙核 ARM Cortex-A53), Ethernet 網路接口改為 10/100/1000 Mbit/s, WiFi 改為 802.11ac Dual band, Bluetooth 改為 4.2 BLE, 以及可以經 PoE 取電 (需另購 PoE HAT 擴充板). (還有總耗電量變大)

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼