999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA 的程控可調(diào)電阻模塊設(shè)計(jì)

2022-12-23 12:03:16張子明王從慶劉良勇王洪濤黃紫晗
電子設(shè)計(jì)工程 2022年24期

張子明,王從慶,劉良勇,王洪濤,黃紫晗

(1.中國(guó)人民解放軍第5720 工廠 航空設(shè)備測(cè)控與逆向工程實(shí)驗(yàn)室,安徽蕪湖 241007;2.南京航空航天大學(xué)自動(dòng)化學(xué)院,江蘇南京 211106;3.蕪湖航翼集成設(shè)備有限公司,安徽蕪湖 241000)

目前,常見的可調(diào)電阻是通過手動(dòng)改變電阻接入電路的長(zhǎng)度來(lái)改變阻值,例如滑動(dòng)電阻器和旋鈕電位器[1]。這種機(jī)械式的可變電阻輸出精度低,阻值很難精確控制在特定值,更不容易實(shí)現(xiàn)遠(yuǎn)程控制[2]。而半導(dǎo)體芯片方式的可編程電阻[3-4],通常只有有限的步長(zhǎng)和阻值范圍,電阻的可用功率也很小,其應(yīng)用場(chǎng)合受限。目前,基于憶阻器[5]、厚膜電阻[6]等先進(jìn)技術(shù)正在應(yīng)用于可調(diào)電阻器的研究中。

在VI 電路板測(cè)試設(shè)備阻抗匹配[7-8]、汽車儀表測(cè)試臺(tái)模擬水溫和油量變化[9-10]、各種裝備部附件設(shè)備測(cè)試測(cè)量[11-12]、配電網(wǎng)單相故障檢測(cè)[13]、變壓器直流偏磁治理[14]等眾多場(chǎng)景中,常常需要使用阻值可調(diào)的電阻模塊,而使用滑動(dòng)變阻器、電位計(jì)等方法無(wú)法準(zhǔn)確快速給出所需要阻值的電阻,同時(shí)手動(dòng)控制非常不便,無(wú)法滿足電阻調(diào)節(jié)自動(dòng)化要求;另外使用電子負(fù)載需要相應(yīng)儀器,比較昂貴,所以需要開發(fā)一種電路模塊實(shí)現(xiàn)所需阻值的電阻程控可調(diào)。

針對(duì)以上分析,提出了一種基于FPGA 的程控可調(diào)電阻設(shè)計(jì)方案,通過FPGA 控制繼電器通斷,從而進(jìn)行不同阻值電阻的串聯(lián)組合,實(shí)現(xiàn)輸出電阻的連續(xù)可調(diào)控制。該程控可調(diào)電阻模塊通過USB 形式的UART 串口與上位機(jī)進(jìn)行通信[15],同時(shí)設(shè)計(jì)了通信幀協(xié)議,可接收上位機(jī)發(fā)送的指令,并輸出需要的阻值。

1 設(shè)計(jì)思路

1.1 理論基礎(chǔ)

17 世紀(jì)至18 世紀(jì),德國(guó)數(shù)學(xué)家萊布尼茨是世界上第一個(gè)提出二進(jìn)制記數(shù)法的人[16]。二進(jìn)制記數(shù)只使用0 和1 兩個(gè)符號(hào),無(wú)需其他符號(hào)。根據(jù)以上思想,任意電阻阻值(整數(shù)情況下)可以按二進(jìn)制分解,用矩陣形式寫為:

其中,xn=0 或1,n=1,2,…,N。

數(shù)字電子技術(shù)以及計(jì)算機(jī)技術(shù)的基本思想正是二進(jìn)制原理。在數(shù)字電子電路中,邏輯門的實(shí)現(xiàn)直接應(yīng)用了二進(jìn)制,文中模塊的設(shè)計(jì)也使用這個(gè)思路。

1.2 實(shí)現(xiàn)方法

文中模塊的主要實(shí)現(xiàn)方法為首先搭建繼電器單元,如圖1 所示,將編號(hào)為1,2,…,N的N個(gè)繼電器觸點(diǎn)分別與1,2,…,2N-1等阻值的N個(gè)電阻并聯(lián),此時(shí)如果控制第n個(gè)繼電器的控制端為高電平,則繼電器吸合,該部分相當(dāng)于短路,xn=0;如果控制這個(gè)繼電器的控制端為低電平,則繼電器斷開,該部分相當(dāng)于接入了與其并聯(lián)的電阻,xn=1。然后再將這些繼電器單元串聯(lián)起來(lái),也就是將各個(gè)單元的阻值累加起來(lái),從電子電路的角度實(shí)現(xiàn)了式(1)。

圖1 繼電器單元

2 硬件設(shè)計(jì)

2.1 總體框架

程控可調(diào)電阻模塊以FPGA 為核心主控器件,使用其IO 引腳通過ULN2803 控制1.2 節(jié)介紹的繼電器單元通斷,從而選擇需要組合串聯(lián)的各分立電阻,三個(gè)ULN2803 控制三組繼電器陣列,每組包括八個(gè)繼電器單元;同時(shí),F(xiàn)PGA 還與FT245 的數(shù)據(jù)、控制、狀態(tài)等引腳相連,實(shí)現(xiàn)FT245 與上位機(jī)的數(shù)據(jù)通信,便于接收上位機(jī)發(fā)送的電阻設(shè)置指令以實(shí)現(xiàn)目標(biāo)阻值的電阻輸出。總體框架圖如圖2 所示,圖中的“端子”即為輸出電阻端子。

圖2 程控可調(diào)電阻模塊總體框架

2.2 主控器件

主控器件的硬件設(shè)計(jì)部分采用FPGA 等可編程邏輯器件作為主控器件,利用其IO 資源豐富的特點(diǎn),通過控制IO 引腳輸出高低電平,從而控制繼電器的通斷,這樣就可以使用FPGA 對(duì)多個(gè)繼電器單元進(jìn)行通斷控制;同時(shí),F(xiàn)PGA 的并行運(yùn)行機(jī)制可以使繼電器的控制和動(dòng)作非常快速,滿足了實(shí)時(shí)性要求。該模塊繼電器單元共設(shè)置24組,可以實(shí)現(xiàn)0~16M(224)范圍阻值的電阻連續(xù)調(diào)節(jié)設(shè)置。

2.3 通信接口

在程控的實(shí)現(xiàn)部分,采用FT245 芯片與上位機(jī)的USB 口連接,F(xiàn)T245 芯片可以配置成接口形式為USB 的COM 口(串口),這樣可以使用PC 機(jī)的串口助手向電阻調(diào)節(jié)模塊發(fā)送數(shù)據(jù),控制電阻調(diào)節(jié)模塊輸出相應(yīng)阻值,便于調(diào)試和直觀觀測(cè)。

2.4 驅(qū)動(dòng)隔離

FPGA 的IO 管腳與各電阻相并聯(lián)的繼電器之間選用達(dá)林頓管ULN2803 進(jìn)行驅(qū)動(dòng),該型號(hào)的八路NPN 達(dá)林頓連接晶體管陣系列特別適用于低邏輯電平數(shù)字電路(諸如TTL、CMOS 或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應(yīng)用于計(jì)算機(jī)、工業(yè)用和消費(fèi)類產(chǎn)品中的燈、繼電器、打印錘或其他類似負(fù)載中。所有器件具有集電極開路輸出和續(xù)流鉗位二極管,用于抑制躍變。ULN2803 的設(shè)計(jì)與標(biāo)準(zhǔn)TTL 系列兼容。

2.5 設(shè)計(jì)特點(diǎn)

采用以FPGA 為核心的設(shè)計(jì)可以利用其并行處理的特點(diǎn),通過對(duì)多個(gè)繼電器的同時(shí)控制,實(shí)現(xiàn)程控電阻的實(shí)時(shí)輸出。同時(shí)利用FPGA 很強(qiáng)的可配置性,實(shí)現(xiàn)靈活的應(yīng)用,例如可以根據(jù)實(shí)際情況,通過配置的IO 數(shù)量確定可調(diào)電阻的范圍,可使用各種控制器、處理器、FPGA 等通過串口向其發(fā)送指令實(shí)現(xiàn)程控,而不僅限于PC機(jī),甚至在數(shù)據(jù)處理要求不高時(shí),由FPGA 自身進(jìn)行計(jì)算無(wú)需上位機(jī)即可得到需要輸出的電阻值。

3 軟件設(shè)計(jì)

設(shè)計(jì)的軟件實(shí)際為代碼化的硬件電路,通過編寫硬件描述語(yǔ)言(Verilog HDL)生成FPGA 模塊實(shí)現(xiàn)預(yù)定動(dòng)作。

3.1 通信協(xié)議設(shè)計(jì)

通信協(xié)議協(xié)議具有可自行定義的特點(diǎn),上位機(jī)向電阻調(diào)節(jié)模塊發(fā)送數(shù)據(jù)的通信幀設(shè)置為:第一個(gè)字符為“:”,表示數(shù)據(jù)幀開始;第二個(gè)字符為阻值十進(jìn)制的位數(shù);第三個(gè)字符為空格,表示后面的內(nèi)容為發(fā)送的阻值大小;后面的字符串則為阻值的十進(jìn)制表示,發(fā)送1 000 Ω電阻的數(shù)據(jù)幀及其說明如表1 所示。

表1 控制阻值為1 000 Ω的數(shù)據(jù)幀說明

3.2 狀態(tài)機(jī)設(shè)計(jì)

在FPGA 中的編程采用狀態(tài)機(jī)的思想,根據(jù)不同狀態(tài)采取相應(yīng)的動(dòng)作,各個(gè)狀態(tài)的說明如下。

狀態(tài)0:初始狀態(tài)。如果接收到“:”字符,則進(jìn)入狀態(tài)1;如果接收到其他字符,則留在狀態(tài)0。

狀態(tài)1:接收到字符為“:”后的狀態(tài),表示已經(jīng)接收到數(shù)據(jù)幀的有效字符。在該狀態(tài)中,如果接收到數(shù)字字符,則進(jìn)入狀態(tài)2;如果接收到“:”字符,則仍留在狀態(tài)1;如果接收到其他字符,則進(jìn)入狀態(tài)0。

狀態(tài)2:在狀態(tài)1后,接收到數(shù)字字符后的狀態(tài),表示阻值十進(jìn)制表示情況下的字符串長(zhǎng)度。在該狀態(tài)中,如果接收到空格字符,則進(jìn)入狀態(tài)3;如果接收到“:”字符,則進(jìn)入狀態(tài)1;如果接收到其他字符,則進(jìn)入狀態(tài)0。

狀態(tài)3:在狀態(tài)2后,接收到空格字符后的狀態(tài),表示字符長(zhǎng)短與阻值大小字符串之間的間隔。在該狀態(tài)中,如果接收到數(shù)字字符,則進(jìn)入狀態(tài)4;如果接收到“:”字符,則進(jìn)入狀態(tài)1;如果接收到其他字符,則進(jìn)入狀態(tài)0。

狀態(tài)4:在狀態(tài)3后,接收到數(shù)字字符后的狀態(tài),表示接收到阻值大小的字符串。在該狀態(tài)中,如果接收到數(shù)字字符,且接收的數(shù)字字符串長(zhǎng)度未達(dá)到應(yīng)該接收的長(zhǎng)度,則留在狀態(tài)4;如果接收到“:”字符,則進(jìn)入狀態(tài)1;如果接收到其他字符,或者接收到的數(shù)字字符串長(zhǎng)度達(dá)到應(yīng)該接收的長(zhǎng)度,則進(jìn)入狀態(tài)0。

各狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖3 所示,接收一幀數(shù)據(jù)的代碼流程如圖4 所示。

圖3 狀態(tài)轉(zhuǎn)換關(guān)系

圖4 接收一幀數(shù)據(jù)流程

3.3 FT245通信軟件設(shè)計(jì)

3.3.1 時(shí)序分析

FT245 的操作時(shí)序比較簡(jiǎn)單,主要分為讀取時(shí)序和寫入時(shí)序兩個(gè)方面,分別發(fā)揮讀取接收數(shù)據(jù)和寫入發(fā)送數(shù)據(jù)的作用。

1)讀取時(shí)序

FT245 含一個(gè)256 Byte 的接收Buffer,主要用于緩存接收的數(shù)據(jù),要讀取接收的數(shù)據(jù)就需要按照?qǐng)D5所示的時(shí)序關(guān)系將接收Buffer 中的數(shù)據(jù)提取出來(lái)。當(dāng)RXF 為高時(shí),說明接收FIFO 中無(wú)數(shù)據(jù)或者當(dāng)前時(shí)刻無(wú)法讀取。所以讀取時(shí)序的關(guān)鍵是只有當(dāng)檢測(cè)到RXF 為低時(shí)才可讀取,此時(shí)控制RD 為低電平,在T3(最多50 ns)時(shí)間之后,數(shù)據(jù)線上的數(shù)據(jù)方為此次從接收FIFO 中讀取的數(shù)據(jù)。控制RD 為低的時(shí)間不少于T1(最少50 ns)。

圖5 FT245讀取數(shù)據(jù)時(shí)序圖

2)寫入時(shí)序

FT245 含一個(gè)128 Byte 的發(fā)送Buffer,主要用于緩存將要發(fā)送的數(shù)據(jù),要寫入發(fā)送的數(shù)據(jù)就需要按照?qǐng)D6 所示的時(shí)序關(guān)系將數(shù)據(jù)寫入發(fā)送Buffer 中。當(dāng)TXE 為低時(shí),說明發(fā)送FIFO 中數(shù)據(jù)已滿或者當(dāng)前時(shí)刻無(wú)法寫入。所以寫入時(shí)序的關(guān)鍵是只有當(dāng)檢測(cè)到TXE 為高時(shí)才可寫入,此時(shí)控制WR 為高電平并保持至少T7時(shí)間(50 ns),在WR 回到低電平前T9時(shí)間(20 ns)時(shí),數(shù)據(jù)總線上的數(shù)據(jù)就是此次寫入發(fā)送FIFO 的數(shù)據(jù)。一般而言,為了發(fā)送數(shù)據(jù)更加穩(wěn)定可靠,在WR 由高電平變?yōu)榈碗娖胶螅瑪?shù)據(jù)總線上的數(shù)據(jù)還應(yīng)該保持T10時(shí)間,而FT245 則不需要該階段,T10可以為0,這樣可以進(jìn)一步提高數(shù)據(jù)發(fā)送速率。

圖6 FT245寫入數(shù)據(jù)時(shí)序圖

3.3.2 讀寫模塊設(shè)計(jì)

讀寫模塊內(nèi)部流程如圖7 所示。首先進(jìn)行初始化,也就是FPGA 一上電或者在接收到復(fù)位信號(hào)時(shí)運(yùn)行,初始化將FT245 的控制信號(hào)設(shè)置為無(wú)效狀態(tài),包括RD 輸出高電平,WR 輸出低電平,RST_FT 信號(hào)輸出高電平。另外設(shè)置一個(gè)標(biāo)志flag,表示是否有接收到的數(shù)據(jù)還沒有發(fā)出(如果有則為1,沒有則為0)。

圖7 讀寫模塊內(nèi)部流程

隨后按照讀取和寫入兩個(gè)部分并行執(zhí)行,其中讀取部分以檢測(cè)RXF 信號(hào)為判斷條件,如果檢測(cè)到RXF 信號(hào)為低同時(shí)flag 為0,則輸出RD 為低電平,讀取FT245 接收到的數(shù)據(jù)。為了穩(wěn)定可靠,在RXF 為低同時(shí),RD 信號(hào)為低電平并保持50 ns 后再讀取接收FIFO 中的數(shù)據(jù),讀取完畢后將這個(gè)數(shù)據(jù)保存并輸出RD 為高電平,同時(shí)將flag 賦值為1。

寫入部分以檢測(cè)TXE 信號(hào)為檢測(cè)條件,如果檢測(cè)到TXE 信號(hào)為高同時(shí)flag 為1時(shí),則將接收到的數(shù)據(jù)取反并發(fā)送出去,將數(shù)據(jù)放到數(shù)據(jù)總線上,控制WR 為高電平并保持50 ns,然后將WR 變回低電平,同時(shí)將flag 賦值為0。

3.4 模塊例化

按照以上設(shè)計(jì)思想綜合編寫Verilog HDL 代碼,并且例化為圖8 所示的模塊,該模塊接收FT245 發(fā)送的狀態(tài)信號(hào),并且對(duì)FT245 進(jìn)行控制和數(shù)據(jù)的傳輸,從而實(shí)現(xiàn)與上位機(jī)的通信。同時(shí)該模塊內(nèi)部通過對(duì)上位機(jī)指令的解析,完成對(duì)相應(yīng)繼電器控制IO 的高低電平輸出。在該例化的基礎(chǔ)上完成對(duì)其實(shí)際引腳的配置,該模塊的引腳說明如表2 所示。

表2 模塊引腳說明

圖8 模塊例化

4 試驗(yàn)驗(yàn)證

驗(yàn)證方法為使用串口助手向模塊發(fā)送3.1 節(jié)設(shè)計(jì)格式的指令,同時(shí)使用Hantek365 虛擬萬(wàn)用表對(duì)模塊進(jìn)行阻值測(cè)量,對(duì)比輸出的阻值與實(shí)際產(chǎn)生阻值,從而對(duì)設(shè)計(jì)的程控電阻模塊進(jìn)行驗(yàn)證。

當(dāng)設(shè)置模塊輸出1 000 Ω電阻時(shí),通過串口助手發(fā)送指令字符串“:4 1000”,繼電器動(dòng)作,萬(wàn)用表測(cè)量顯示阻值為0.990 kΩ,誤差為1.00%。

限于篇幅,多次試驗(yàn)的截圖不再給出,綜合試驗(yàn)情況,各輸出阻值與目標(biāo)阻值間的誤差均在3.00%以下,與常規(guī)電阻誤差相近,滿足大多數(shù)應(yīng)用需要。部分試驗(yàn)及誤差情況如表3 所示。

表3 部分試驗(yàn)與誤差情況

5 結(jié)束語(yǔ)

文中項(xiàng)目研究的程控可調(diào)電阻模塊可以連續(xù)地給出所需要的電阻阻值,可應(yīng)用于電子負(fù)載、在設(shè)備中阻抗匹配等場(chǎng)景。試驗(yàn)中出現(xiàn)的誤差完全可以滿足大部分應(yīng)用需求,在滿足成本要求的情況下,可以通過在每個(gè)繼電器單元采用更精密的電阻來(lái)減小誤差。

主站蜘蛛池模板: 免费看a毛片| 久久婷婷色综合老司机| 欧美一级高清片久久99| 久久精品免费国产大片| 色综合成人| 99视频全部免费| 国产精品深爱在线| 亚洲中文久久精品无玛| 午夜啪啪福利| 国产欧美精品一区二区| 亚洲伦理一区二区| 99视频在线看| 精品国产成人国产在线| 蝴蝶伊人久久中文娱乐网| 尤物午夜福利视频| 97国产成人无码精品久久久| 久久午夜夜伦鲁鲁片无码免费| 日韩精品资源| 亚洲五月激情网| 欧美高清日韩| 尤物成AV人片在线观看| 国内熟女少妇一线天| 国产一级妓女av网站| 野花国产精品入口| 久久semm亚洲国产| 成人va亚洲va欧美天堂| 亚洲综合极品香蕉久久网| 麻豆国产精品| 人妻无码一区二区视频| 在线观看亚洲国产| 国产丝袜无码一区二区视频| 久久国产精品影院| 黄色三级毛片网站| 欧美午夜视频在线| 国产日韩丝袜一二三区| 亚洲天堂网2014| 国产精品污视频| 久久婷婷五月综合97色| 91精品啪在线观看国产60岁| 四虎永久在线精品影院| 国产黄色片在线看| 国产亚洲欧美日韩在线一区| 中文字幕亚洲精品2页| 精品国产欧美精品v| 美女无遮挡被啪啪到高潮免费| 色婷婷天天综合在线| 久久视精品| 成人一区在线| 一本色道久久88| 精品乱码久久久久久久| 777国产精品永久免费观看| 美女内射视频WWW网站午夜 | 重口调教一区二区视频| 亚洲香蕉在线| 亚洲中文字幕在线一区播放| 91精品亚洲| 2024av在线无码中文最新| 国产第一页屁屁影院| 亚洲人成在线精品| 99这里只有精品免费视频| 青青草原国产| 亚洲国产欧美国产综合久久 | 亚洲人成影视在线观看| 中文字幕亚洲专区第19页| 亚洲制服丝袜第一页| 国产高清不卡| 国产又色又刺激高潮免费看| 国产麻豆va精品视频| 久久精品无码一区二区日韩免费| 久久婷婷色综合老司机| 99久久99这里只有免费的精品| 91在线无码精品秘九色APP | 91娇喘视频| 免费女人18毛片a级毛片视频| 青青操视频免费观看| 亚洲精品少妇熟女| 国产人人射| 九色视频一区| 国产麻豆精品在线观看| 亚洲国产一区在线观看| 青青草原偷拍视频| 五月婷婷综合色|