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

電路的簡(jiǎn)化框圖如下所示:
?

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

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

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

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

要計(jì)算將導(dǎo)致所需頻率變化的電阻變化,一些數(shù)學(xué)將顯示
?

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

當(dāng)然,該電路存在固有的局限性。主要限制是電位器的步進(jìn)性質(zhì)。由于頻率到電阻的方程式,單個(gè)電位器步進(jìn)會(huì)導(dǎo)致較高頻率下的寬頻率跳變。
此外,在 ISR 中使用 micros() 可能無(wú)法在不同頻率下工作。使用定時(shí)器寄存器可以解決這個(gè)問題。
但是一個(gè)具有多個(gè)應(yīng)用程序的有趣項(xiàng)目。
- 使用Arduino和X9C104控制555定時(shí)器
- 基于FPGA的高性能全數(shù)字鎖相環(huán) 45次下載
- 基于FPGA的寬頻帶數(shù)字鎖相環(huán)的設(shè)計(jì)與實(shí)現(xiàn)簡(jiǎn)介 26次下載
- 數(shù)字電位器X9C103的測(cè)試程序代碼下載 58次下載
- 如何使用FPGA實(shí)現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計(jì) 65次下載
- 如何使用FPGA實(shí)現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計(jì) 20次下載
- 使用FPGA實(shí)現(xiàn)數(shù)字鎖相環(huán)的設(shè)計(jì)資料說明 26次下載
- TMS320C6474 DSP 軟件可編程鎖相環(huán)(PLL)控制器 15次下載
- 詳解FPGA數(shù)字鎖相環(huán)平臺(tái) 18次下載
- 高精度的數(shù)字電位器X9C103特性原理應(yīng)用電路 59次下載
- 基于LMX2315的讀寫器鎖相環(huán)應(yīng)用 18次下載
- 一種基于FPGA實(shí)現(xiàn)的全數(shù)字鎖相環(huán)
- 基于FPGA的全數(shù)字鎖相環(huán)設(shè)計(jì)
- 智能全數(shù)字鎖相環(huán)的設(shè)計(jì)
- 全數(shù)字鎖相環(huán)的設(shè)計(jì)
- 鎖相環(huán)的基本原理和主要作用 3881次閱讀
- 鎖相環(huán)的構(gòu)成和工作原理講解 3364次閱讀
- 鎖相環(huán)原理與公式講解 8917次閱讀
- 數(shù)字控制電位器和電阻器與激光驅(qū)動(dòng)器接口 809次閱讀
- AD8400系列數(shù)字電位器的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn) 3713次閱讀
- AD527x系列數(shù)字電位器的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn) 2229次閱讀
- 基于FPGA器件和CPU控制實(shí)現(xiàn)數(shù)字鎖相環(huán)頻率合成系統(tǒng)的設(shè)計(jì) 1166次閱讀
- 關(guān)于2.4 GHz的低噪聲亞采樣鎖相環(huán)設(shè)計(jì) 1w次閱讀
- 數(shù)字移相器的設(shè)計(jì)電路圖大全(移相電路/倍頻電路/AD5227/鎖相環(huán)) 3.1w次閱讀
- 數(shù)字電位器x9c103應(yīng)用電路 5.1w次閱讀
- 數(shù)字電位器工作原理詳解_數(shù)字電位器應(yīng)用_數(shù)字電位器選型指南 5.9w次閱讀
- 數(shù)字電位器控制原理圖 3.5w次閱讀
- 數(shù)字電位器應(yīng)用實(shí)例_數(shù)字電位器四大應(yīng)用電路 4.6w次閱讀
- 鎖相環(huán)在調(diào)制和解調(diào)中的應(yīng)用及概念解析 1.4w次閱讀
- 一種新型帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計(jì)方案 3016次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論