董鵬琳 羅胤 張德平
摘 要:電子設備系統(tǒng)時常要進行電源檢測,判斷電源好壞,但較大系統(tǒng)的電源種類較多,并且分布在各分機,距離比較遠,統(tǒng)一引線到檢測電路板需要大量的導線,增加了分機間連接的復雜度。針對存在的問題,本文提出了一種解決方法。采用單總線(One-Wire)芯片,使用單根導線連接各分機,運用NXP單片機通過這根導線把各分機的電源檢測結果統(tǒng)一送回單片機,由單片機通過RS-232串行總線傳送到主控計算機進行顯示。
關鍵詞:電源檢測;單線協(xié)議;NXP單片機
中圖分類號:TN86 文獻標識碼:A 文章編號:1003-5168(2021)19-0040-04
Abstract: Electronic equipment system often have to power detection, to determine the power is good or bad, but the larger system has kinds of power types, and distributed in the extension, the distance is far, uniform lead to the detection circuit board requires a large number of wires, increase the complexity of the connection between devices. Based on this consideration, this paper presents a solution: use the one-wire protocol chip, use a single wire to connect the devices, and the NXP microcontroller through the wire to obtain the power test results and through the RS-232 serial bus to send it to the host computer to display.
Keywords: power detection;one-wire protocol;NXP microcontroller
大型工廠或者復雜電子設備系統(tǒng)中電源種類較多(正電源、負電源以及電壓數(shù)值多樣化),并且分布在各分機。大部分分機相互之間距離又比較遠[1],若一一引線到電源檢測模塊則需要大量導線,增加了分機間連接的復雜度?;诖?,研究者提出采用單總線協(xié)議芯片,在單線接入點設計電源檢測電路,使用單根導線連接各分機,運用NXP單片機通過這根導線把各分機的電源檢測結果(電源正常、電壓高、電壓低、連接故障)通過串口轉發(fā)到上位機進行實時顯示。
1 總體方案設計
研究者確立了以NXP LPC922單片機芯片與美國達拉斯公司生產(chǎn)的DS2408開關控制芯片為核心芯片的方案,原理如圖1所示。
使用LPC922單片機芯片設計單片機最小系統(tǒng)時,只需接好芯片的接地引腳與電源引腳。LPC922有自己的內(nèi)部復位系統(tǒng)與晶振系統(tǒng)。DS2408是8通道可尋址開關,由單線協(xié)議來控制??偩€上,DS2408按照單線協(xié)議進行通信,有8個PIO管腳。通過上位機向DS2408發(fā)送指令來控制其開與關,當它“開”時,就接收來自電源檢測部分的電壓狀態(tài)信號,并將信號轉換為數(shù)字式。MAX900芯片是MAXIM公司生產(chǎn)的高速、低功耗比較器。
2 基于單線協(xié)議的電源檢測系統(tǒng)硬件設計
2.1 單片機最小系統(tǒng)部分
單片機最小系統(tǒng)部分電路采用LPC922芯片作為控制系統(tǒng)的核心,晶振電路采用LPC922芯片內(nèi)部的晶振源,復位電路也采用其內(nèi)部復位方式。LPC922芯片供電電壓是2.4~3.6 V,可以有適當?shù)娜莶?。由于外部電源供電電壓? V,因此在這部分硬件電路中使用了一個開啟電壓為1.8 V的LED接在5 V電壓與單片機VDD管腳之間,使VDD引腳的輸入電壓為3.3 V。單片機與計算機的串行接口電路采用MAX232芯片進行連接。LPC922芯片的電源引腳對地加了1個100 nF的濾波電容,防止經(jīng)電源線進來的高頻串擾。MAX232芯片的RXD、TXD引腳各串了一個100 Ω的電阻,防止從LPC922芯片出來的電流過大損壞MAX232芯片。LPC922芯片與DS2408芯片的連接是通過單總線進行的,單總線從LPC922芯片的任何一個準雙向I/O口引出都可以。本設計采用P0口(LPC922芯片的引腳20),電路如圖2所示。
2.2 單線芯片及其外圍電路設計
DS2408是一款8通道可編程漏極輸出I/O可尋址開關。因為LPC922芯片的工作電壓是3 V,若對DS2408采用寄生電源供電,則必然要在DS2408的I/O口外接一個上拉電阻(1~10 kΩ),把電壓上拉到5 V,這對PIO的邏輯狀態(tài)是有影響的,所以對DS2408采用外接電源供電的方式。DS2408采用的是標準通信速率,故其單線接口的上拉電阻設定為2.2 kΩ。每片DS2408都有一個單總線數(shù)據(jù)接口,單片機通過向它發(fā)送控制命令來控制其每個通道的開與關。每一片DS2408都有8個PIO管腳(P0~P7),用于接收來自MAX900的TTL電平(晶體管-晶體管邏輯電平),以便芯片對這些TTL電平進行處理。電路如圖3所示。
2.3 電源檢測電路設計
用00、01、10、11表示電源狀態(tài)。系統(tǒng)外的8路電源通過與電壓比較器的基準源進行比較得到高、低TTL電平。DS2408對這些TTL電平進行數(shù)字化處理,然后傳送給單片機芯片,再由單片機通過串口傳送到計算機上顯示。當連接出現(xiàn)問題時,DS2408得到的TTL電平必定是低電平,也就是“00”狀態(tài),故用“11”狀態(tài)表示電源的正常狀態(tài)。電源檢測電路的原理如圖4所示,所有引入的電源電壓都通過電位器來調(diào)整到合適的電壓值,以便檢測。在測試時可以調(diào)節(jié)電位器的阻值。
3 軟件設計
軟件程序主要包括單片機與PC機的串口通信程序、單總線通信程序以及上位機(PC機)可視化界面程序。本設計中,單片機控制器軟件采用高效簡潔的C51語言編寫ISP駐留代碼,編譯后通過LPC922的串口將程序?qū)懭雴纹瑱C芯片中。單片機與PC機的串口通信使用VB實現(xiàn)。MSComm控件具有豐富的與串口通信密切相關的屬性,提供了對串口的各種操作。本設計中采用MSComm控件編寫單片機與上位機的串口通信程序。
每片DS2408內(nèi)均有唯一的64位序列號,最低的8位是產(chǎn)品代碼,其后48位是器件的序列號,最后的8位是前56位的循環(huán)冗余校驗碼。只有獲得這些序列號,才可能對其進行操作。
操作DS2408必須嚴格遵守單線協(xié)議,一般有以下4個過程[2]:①初始化信號;②傳送ROM操作命令;③傳送RAM操作命令;④數(shù)據(jù)交換。設計中應該保證指令的執(zhí)行時間小于或者等于單總線上時序信號中的最小時間。操作過程如圖5所示。
DS2408與LPC922的通信軟件設計流程如圖6所示。
軟件框架采用主程序加中斷調(diào)用方式,以提高功能模塊的內(nèi)聚性[3]。軟件與兩個中斷相關:①串行通信中斷,負責RS-232串口數(shù)據(jù)傳輸;②接收來自DS2408的數(shù)據(jù)的外部中斷,處理來自單線接口數(shù)據(jù)通信的各種事件。主程序在完成全部初始化后進入死循環(huán)的狀態(tài),等待這兩個中斷的發(fā)生,如圖7所示。
4 系統(tǒng)測試
上電后,用手摸一下芯片是否急劇發(fā)熱,若是,則立即關掉電源,排除虛焊短路等問題后再次進行檢測;測試芯片的供電電壓與接地端是否都達到要求,檢測所用的儀器為萬用表[4-5];燒寫代碼,各子程序模塊調(diào)試通過之后再進行系統(tǒng)聯(lián)合調(diào)試。如圖8所示的計算機界面用來顯示電源故障狀態(tài)數(shù)據(jù)。聯(lián)調(diào)成功后,在本界面上用鼠標單擊“查詢”按鈕,就可以實時顯示每一路電源的狀態(tài),如圖9所示。
5 結語
本文針對大型工廠或者復雜電子電器系統(tǒng)中多路電源檢測存在的問題,提出了基于單線協(xié)議的電源狀態(tài)檢測系統(tǒng)軟硬件設計思路與整體系統(tǒng)框架。在只用一根導線的情況下,實現(xiàn)了對8路不同種類的電源實時檢測,并在計算機終端顯控界面上將檢測結果實時顯示出來,有效解決了常規(guī)多路多種類電源檢測系統(tǒng)到處拉線、線路混雜混亂的問題。
參考文獻:
[1]董鵬琳,覃團發(fā),潘成舉.基站蓄電池監(jiān)控系統(tǒng)設計[J].現(xiàn)代電子技術,2018(18):109-112.
[2]張曉宇.單總線數(shù)據(jù)傳輸方案研究[D].南京:南京理工大學,2013:1-70.
[3]楊一鳴,汪貴平.面向?qū)ο蟮臒o人車電源故障檢測專家系統(tǒng)設計[J].汽車技術,2019(6):30-35.
[4]劉波文,劉向宇,黎勝容.51單片機C語言應用開發(fā)實戰(zhàn)精講[M].北京:北京航空航天大學出版社,2011:25.
[5]童詩白,華成英,葉朝輝.模擬電子技術基礎[M].北京:高等教育出版社,2015:15.
3914500338203