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

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

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

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

在高層次上,操作如下:
- 引腳 7 為高電平時,電容器 C1 通過 R1 和 X9C104 中的可變電阻器充電
- 在某個閾值電壓下,555 定時器內(nèi)部觸發(fā)器 s1 開關(guān)和引腳 7 變?yōu)榈碗娖?/font>
- 然后電容 C1 通過 X9C104 中的可變電阻放電。
- 在較低的閾值電壓下,55 定時器內(nèi)部觸發(fā)器切換回來并重復該循環(huán)。
頻率和占空比的公式如下:
?

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

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

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

當然,該電路存在固有的局限性。主要限制是電位器的步進性質(zhì)。由于頻率到電阻的方程式,單個電位器步進會導致較高頻率下的寬頻率跳變。
此外,在 ISR 中使用 micros() 可能無法在不同頻率下工作。使用定時器寄存器可以解決這個問題。
但是一個具有多個應(yīng)用程序的有趣項目。
- 使用Arduino和X9C104控制555定時器
- 基于FPGA的高性能全數(shù)字鎖相環(huán) 46次下載
- 基于FPGA的寬頻帶數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)簡介 26次下載
- 數(shù)字電位器X9C103的測試程序代碼下載 58次下載
- 如何使用FPGA實現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計 66次下載
- 如何使用FPGA實現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計 20次下載
- 使用FPGA實現(xiàn)數(shù)字鎖相環(huán)的設(shè)計資料說明 26次下載
- TMS320C6474 DSP 軟件可編程鎖相環(huán)(PLL)控制器 15次下載
- 詳解FPGA數(shù)字鎖相環(huán)平臺 19次下載
- 高精度的數(shù)字電位器X9C103特性原理應(yīng)用電路 59次下載
- 基于LMX2315的讀寫器鎖相環(huán)應(yīng)用 18次下載
- 一種基于FPGA實現(xiàn)的全數(shù)字鎖相環(huán)
- 基于FPGA的全數(shù)字鎖相環(huán)設(shè)計
- 智能全數(shù)字鎖相環(huán)的設(shè)計
- 全數(shù)字鎖相環(huán)的設(shè)計
- 鎖相環(huán)的基本原理和主要作用 6.1k次閱讀
- 鎖相環(huán)的構(gòu)成和工作原理講解 4.7k次閱讀
- 鎖相環(huán)原理與公式講解 1.1w次閱讀
- 數(shù)字控制電位器和電阻器與激光驅(qū)動器接口 1.7k次閱讀
- AD8400系列數(shù)字電位器的驅(qū)動設(shè)計與實現(xiàn) 4.9k次閱讀
- AD527x系列數(shù)字電位器的驅(qū)動設(shè)計與實現(xiàn) 3.4k次閱讀
- 基于FPGA器件和CPU控制實現(xiàn)數(shù)字鎖相環(huán)頻率合成系統(tǒng)的設(shè)計 1.6k次閱讀
- 關(guān)于2.4 GHz的低噪聲亞采樣鎖相環(huán)設(shè)計 1.1w次閱讀
- 數(shù)字移相器的設(shè)計電路圖大全(移相電路/倍頻電路/AD5227/鎖相環(huán)) 3.3w次閱讀
- 數(shù)字電位器x9c103應(yīng)用電路 5.6w次閱讀
- 數(shù)字電位器工作原理詳解_數(shù)字電位器應(yīng)用_數(shù)字電位器選型指南 6.2w次閱讀
- 數(shù)字電位器控制原理圖 3.7w次閱讀
- 數(shù)字電位器應(yīng)用實例_數(shù)字電位器四大應(yīng)用電路 4.9w次閱讀
- 鎖相環(huán)在調(diào)制和解調(diào)中的應(yīng)用及概念解析 1.5w次閱讀
- 一種新型帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計方案 3.7k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費
- 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
- 1.21 MB | 1次下載 | 免費
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
- 0.87 MB | 次下載 | 免費
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費
- 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費
- 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費
- 7WD6208A產(chǎn)品規(guī)格書
- 631.24 KB | 次下載 | 免費
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計總結(jié)
- 0.33 MB | 12次下載 | 免費
- 2PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 5次下載 | 免費
- 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費
- 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
- 0.10 MB | 3次下載 | 免費
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
- 0.88 MB | 3次下載 | 免費
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費
- 7怎么為半導體測試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費
- 8SY52341 次級側(cè)同步整流英文手冊
- 0.94 MB | 2次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191469次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論