資料介紹
描述
帶 Arduino 和 X9C104 數字控制電位器 (XDCP) 的偽鎖相環
該項目展示了如何使用帶有 X9C104 的 Arduino 來實現頻率發生器,以便使用反饋回路優化頻率。這是 PLL 電路中使用的原理。
該項目展示了 X9C104 IC 如何由 Arduino 控制并在帶有 555 定時器電路的反饋回路中使用以輸出用戶所需的輸入頻率。通過使用連接到 Arduino 中斷的反饋回路將此頻率設置為接近輸入。
?

電路的簡化框圖如下所示:
?

基本操作原理:
- 用戶通過 Arduino 串行監視器輸入所需的頻率。
- Arduino 接受輸入并將 X9C104 編程為初始設置
- 555定時器電路中的X9C104電阻調節振蕩頻率
- 產生的方波被反饋到 Arduino 中斷(引腳 2)
- 使用中斷處理例程,確定方波的頻率
- 將該頻率與要求的頻率進行比較并對 X9C104 進行調整
- 再次測量頻率并執行第二次優化
- 555 定時器輸出方波的頻率穩定到用戶在步驟 1 中設置的值
X9CXXX 集成電路由 Intersil(最近被 Renesas Corporation 收購)制造,代表其數字控制電位器系列。該裝置包括電阻陣列、控制部分和非易失性存儲器。陣列的電阻由三線數字接口控制。
來自 Intersil 數據表的框圖:
?

該器件可用作二端可變電阻器或三端電位器。它包括非易失性存儲器,可在掉電時保存最后一個電阻值,并在隨后的上電時將電阻器陣列設置為此值。
滑動器位置的控制以及電阻由三個數字輸入決定:
- 通過將 CS 拉低來選擇設備。
- 向上/向下 (U/D) 的狀態決定了滑動端是靠近 Vh/Rh 還是靠近 Vl/Rl。
- 每次 INC 被拉低然后返回高電平時,滑動器移動一步。
- 滑動器有 100 個可能的位置 (0 – 99),允許以總阻力的 1% 為增量步長。
- 當游標到達頂部或底部(Vh/Rh 或 Vl/Rl)時,它不會再移動,也不會環繞到另一個極端。
重要的是要記住,對于每個 INC 周期,滑動器移動一個增量。擦拭器不能跨越多個步驟。這意味著從第 10 步移動到第 20 步需要 10 個 INC 周期。
Vh 和 Vl 不能超過 Vcc 和 Vss。
可在 Renesas 網站上找到設備的完整規格。
項目電路
本項目中使用的 555 定時器電路是標準的非穩態振蕩器。有多篇文章記錄了該電路的工作原理,快速搜索即可找到相關說明。
?

在高層次上,操作如下:
- 引腳 7 為高電平時,電容器 C1 通過 R1 和 X9C104 中的可變電阻器充電
- 在某個閾值電壓下,555 定時器內部觸發器 s1 開關和引腳 7 變為低電平
- 然后電容 C1 通過 X9C104 中的可變電阻放電。
- 在較低的閾值電壓下,55 定時器內部觸發器切換回來并重復該循環。
頻率和占空比的公式如下:
?

此處使用的電路中,R2 為 100 kΩ(X9C104),R1 為 1 kΩ。由于存在差異,電路的頻率和占空比實際上由 R2 的值設置,除非 R2 的值非常低。這意味著可以忽略 R1,頻率方程可以簡化為:
?

要計算將導致所需頻率變化的電阻變化,一些數學將顯示
?

選擇 R1、R2 和 C1 的值,以便電路生成可聽頻率范圍內的方波。
本文開頭的照片顯示了物理電路。
Arduino 中斷
Arduino 板核心的 ATmega328P 接受中斷。有效中斷會停止當前程序流并啟動中斷服務例程,該例程會在將控制權交還給先前的程序流之前完成一些操作。
有關 Arduino 中斷的詳細說明,請參閱 Arduino 語言參考和Nick Gammon 撰寫的精彩文章
請注意,Arduino 指令集中可用的一些標準函數(例如 delay() 和 millis())將無法在中斷服務例程中運行,因為這些函數依賴于中斷本身來運行。
在 Arduino 代碼中,使用 attachInterrupt() 命令打開中斷。本項目使用的命令具體版本如下:
attachInterrupt( digitalPinToInterrupt(interruptPin), trig_detected, RISING );
interruptPin 指定 Arduino 上接受中斷的數字引腳,trig_detected 是處理中斷的中斷服務程序 (ISR),RISING 是觸發中斷的狀態變化。
中斷完成其功能后,可以使用以下方法將其關閉:
detachInterrupt(digitalPinToInterrupt(pin))
在這個項目中,由于我們使用方波觸發中斷,每次從低 (0V) 到高 (5V)(上升波形)的轉換都會導致 trig_detected 啟動。
這個項目的Arduino代碼
他的代碼使用了 Arduino 的 Fast X9CXXX 庫。該庫可在 GitHub 上找到:
https://github.com/GitMoDu/FastX9CXXX
在編譯代碼之前,請確保代碼已下載并包含在您的 Arduino 庫文件夾中。
該功能的整體流程在簡介中進行了描述。
程序的設置部分使用 Arduino 的引腳 3、4 和 5 啟動 X9C104 對象。電位器設置為 50 步(中途)。
主循環等待用戶通過串口監視器輸入;此輸入必須是所需的頻率。由于此項目的設計,輸入頻率可以在 80 Hz 和 550 Hz 之間,并作為單個數字輸入(例如 80 或 550)。如果改變C、R1和R2的值,將產生不同的頻率。
一些附加說明:
- 代碼中的中斷服務程序(ISR)稱為void trig_detected()。它返回從 micros() 派生的兩個值,然后將這兩個值相互相減以獲得中斷事件之間的持續時間。該持續時間是方波頻率的倒數。
- 方波持續時間的 12 個樣本被獲取并存儲在一個數組 (trigArray) 中。計算最后 10 個的平均值。
- 這些頻率用于計算 ΔR 值,該值用于設置電位器值。
- 執行兩個調諧例程以使頻率等于輸入值。
最后的話
電路的頻率測量是在各種輸入值下進行的。結果列于下表:
?

當然,該電路存在固有的局限性。主要限制是電位器的步進性質。由于頻率到電阻的方程式,單個電位器步進會導致較高頻率下的寬頻率跳變。
此外,在 ISR 中使用 micros() 可能無法在不同頻率下工作。使用定時器寄存器可以解決這個問題。
但是一個具有多個應用程序的有趣項目。
- 使用Arduino和X9C104控制555定時器
- 基于FPGA的高性能全數字鎖相環 45次下載
- 基于FPGA的寬頻帶數字鎖相環的設計與實現簡介 26次下載
- 數字電位器X9C103的測試程序代碼下載 58次下載
- 如何使用FPGA實現高性能全數字鎖相環的設計 65次下載
- 如何使用FPGA實現高性能全數字鎖相環的設計 20次下載
- 使用FPGA實現數字鎖相環的設計資料說明 26次下載
- TMS320C6474 DSP 軟件可編程鎖相環(PLL)控制器 15次下載
- 詳解FPGA數字鎖相環平臺 18次下載
- 高精度的數字電位器X9C103特性原理應用電路 59次下載
- 基于LMX2315的讀寫器鎖相環應用 18次下載
- 一種基于FPGA實現的全數字鎖相環
- 基于FPGA的全數字鎖相環設計
- 智能全數字鎖相環的設計
- 全數字鎖相環的設計
- 鎖相環的基本原理和主要作用 3881次閱讀
- 鎖相環的構成和工作原理講解 3364次閱讀
- 鎖相環原理與公式講解 8917次閱讀
- 數字控制電位器和電阻器與激光驅動器接口 809次閱讀
- AD8400系列數字電位器的驅動設計與實現 3713次閱讀
- AD527x系列數字電位器的驅動設計與實現 2229次閱讀
- 基于FPGA器件和CPU控制實現數字鎖相環頻率合成系統的設計 1166次閱讀
- 關于2.4 GHz的低噪聲亞采樣鎖相環設計 1w次閱讀
- 數字移相器的設計電路圖大全(移相電路/倍頻電路/AD5227/鎖相環) 3.1w次閱讀
- 數字電位器x9c103應用電路 5.1w次閱讀
- 數字電位器工作原理詳解_數字電位器應用_數字電位器選型指南 5.9w次閱讀
- 數字電位器控制原理圖 3.5w次閱讀
- 數字電位器應用實例_數字電位器四大應用電路 4.6w次閱讀
- 鎖相環在調制和解調中的應用及概念解析 1.4w次閱讀
- 一種新型帶寬自適應全數字鎖相環的設計方案 3016次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網絡安全從業者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論