国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于S3C2440 的網(wǎng)絡(luò)適配器模塊的設(shè)計

2022-07-23 07:41馬賽飛馬尚昌
電子設(shè)計工程 2022年14期
關(guān)鍵詞:變送器電路設(shè)計串口

馬賽飛,馬尚昌,劉 鈞

(1.河南省氣象探測數(shù)據(jù)中心,河南鄭州 450003;2.成都信息工程大學(xué)電子工程學(xué)院,四川成都 610225;3.中國華云氣象科技集團(tuán)公司,北京 100000)

結(jié)合當(dāng)前傳感器技術(shù)與微電子技術(shù)的研究成果,以傳感器網(wǎng)絡(luò)技術(shù)和智能信息處理技術(shù)為支撐[1],對傳統(tǒng)氣象要素傳感器進(jìn)行改進(jìn),研制一種智能傳感器。設(shè)計的智能傳感器分為兩個模塊,智能變送器模塊和網(wǎng)絡(luò)適配器模塊。為實現(xiàn)智能傳感器系統(tǒng)的整體設(shè)計,文中設(shè)計是在智能變送器模塊完成的基礎(chǔ)上,主要針對網(wǎng)絡(luò)適配器模塊進(jìn)行設(shè)計,網(wǎng)絡(luò)適配器模塊可以降低智能傳感器的設(shè)計難度,同時在很大程度上能提高傳感器的性能。該設(shè)計的網(wǎng)絡(luò)適配器采用S3C2440 處理器,確保了硬件系統(tǒng)的穩(wěn)定性[2],將設(shè)備連接到網(wǎng)絡(luò)上的通信接口裝置,用于實現(xiàn)對智能變送器的控制,使其具有連網(wǎng)的功能。模塊具有低成本與高性能,互換性好,可良好地應(yīng)用于將來的智能氣象站中,能夠滿足數(shù)字化、智能化的要求。

1 網(wǎng)絡(luò)適配器模塊設(shè)計方案

網(wǎng)絡(luò)適配器模塊主要實現(xiàn)對智能變送器的控制、與智能變送器的通信、有線和無線網(wǎng)絡(luò)的通信以及其余不易在智能變送器模塊實現(xiàn)的功能。網(wǎng)絡(luò)適配器與智能變送器之間通過一個I/O 線的TII接口相連,實現(xiàn)了傳感器的即插即用[3]。計算機可通過向網(wǎng)絡(luò)適配器發(fā)送控制指令來控制其執(zhí)行相應(yīng)的功能,如讀取某傳感器數(shù)據(jù)等操作。網(wǎng)絡(luò)適配器模塊基于S3C2440芯片以及嵌入式Linux 操作系統(tǒng)實現(xiàn)了串口和以太網(wǎng)數(shù)據(jù)的透明傳輸[4],文中編寫了基于Linux 的程序,以確保系統(tǒng)的穩(wěn)定運行,使系統(tǒng)具有了一定的自恢復(fù)能力,最終實現(xiàn)常規(guī)氣象要素傳感器數(shù)據(jù)的高精度測量。圖1 所示為網(wǎng)絡(luò)適配器整體框圖。

圖1 網(wǎng)絡(luò)適配器整體框圖

2 硬件電路設(shè)計

網(wǎng)絡(luò)適配器模塊主要實現(xiàn)與多個智能變送器模塊通信和網(wǎng)絡(luò)傳輸?shù)裙δ?,系統(tǒng)的核心采用S3C2440處理器[5]。系統(tǒng)采用核心板加底板的結(jié)構(gòu),S3C2440最小系統(tǒng)(包括NAND Flash、NOR Flash、晶振、核心電源模塊等)在核心板中已經(jīng)實現(xiàn)[6],底板電路主要包括系統(tǒng)電源、通信電路、溫度傳感器、按鍵以及指示燈等。在底板上預(yù)留核心板接口,核心板使用OK2440III 工業(yè)級核心板,確保硬件系統(tǒng)的穩(wěn)定性[7]。模塊的硬件框圖如圖2 所示。

圖2 模塊硬件框圖

2.1 電源模塊電路設(shè)計

考慮到氣象上傳感器與儀器的供電以12 V為主,網(wǎng)絡(luò)適配器模塊電路采用的電源也為12 V 輸入,通過二級降壓,給整個系統(tǒng)各個模塊進(jìn)行供電,滿足各個模塊對不同電壓的需要。第一級降壓將輸入的直流電壓降到+5 V;第二級降壓將+5 V 降為+3.3 V。模塊電源電路如圖3 所示。該系統(tǒng)在軟件中使用了Linux 的時鐘[8],因此,在電源的設(shè)計上采用了外接電源加電池的方式,當(dāng)系統(tǒng)斷電時,紐扣電池能夠繼續(xù)為系統(tǒng)內(nèi)部的RTC 供電[9],保證時鐘的正常運行。電路在12 V 主電源接口處對系統(tǒng)的電源進(jìn)行了分壓,然后通過AN0 接入ARM9 內(nèi)部的AD 通道,用于主板電壓的采集與監(jiān)控。

圖3 模塊電源電路

2.2 復(fù)位電路設(shè)計

模塊從功能需求上把復(fù)位分為兩種模式,即正常復(fù)位和恢復(fù)出廠設(shè)置。正常復(fù)位即一般的按鍵復(fù)位模式,其電路設(shè)計采用了MAX811芯片,MAX811是一種MCU 電壓監(jiān)視器[10],能監(jiān)視3 V、3.3 V 以及5 V的電壓,低電平有效復(fù)位,具有低功耗以及精密電源監(jiān)控的特點?;謴?fù)出廠設(shè)置是根據(jù)實際需要增加的功能,如果用戶對系統(tǒng)進(jìn)行了錯誤的配置而無法恢復(fù),此時可以通過長按恢復(fù)出廠設(shè)置按鈕使系統(tǒng)恢復(fù)到出廠配置。恢復(fù)出廠設(shè)置功能在硬件上采用按鍵接入外部中斷的方式,在Linux 系統(tǒng)中編寫后臺軟件實現(xiàn)其功能。復(fù)位模塊的電路如圖4 所示。

圖4 復(fù)位模塊的電路

2.3 系統(tǒng)狀態(tài)監(jiān)控電路設(shè)計

為了便于使用者監(jiān)控系統(tǒng)當(dāng)前狀態(tài),添加了一些簡單的監(jiān)控模塊,包括電源電壓、主板溫度以及狀態(tài)燈等。由于輸入電壓高于內(nèi)部ADC 的參考電壓,因此需對輸入的電源電壓進(jìn)行分壓之后接入ARM9內(nèi)部的ADC 通道,通過編寫應(yīng)用軟件獲取當(dāng)前電源電壓值。主板溫度通過DS18B20 測得,DS18B20 采用單總線接口方式,在電路設(shè)計上比較簡單[11-12]。系統(tǒng)有7 個狀態(tài)燈,通過I/O 口接入核心板,其中系統(tǒng)軟件使用了兩燈,用于指示系統(tǒng)工作狀態(tài)以及復(fù)位模式,其余幾個狀態(tài)燈留作擴展。狀態(tài)監(jiān)控電路如圖5 所示。

圖5 系統(tǒng)狀態(tài)監(jiān)控電路

2.4 串口及以太網(wǎng)通信電路設(shè)計

通信電路主要分為兩部分,即串口通信和以太網(wǎng)通信。串口通信模塊采用雙串口設(shè)計,其中COM0 主要用于嵌入式Linux 操作系統(tǒng)終端界面的交互,COM1 主要用于掛接Zigbee 模塊實現(xiàn)與多個STIM 的通信[13],串口芯片使用MAX202,MAX202 使用0.1 μF的電容。網(wǎng)絡(luò)通信電路設(shè)計上采用DM9000加RJ45 接口的方式[14],DM9000 支持10/100 M 自適應(yīng)PHY,其物理協(xié)議層接口支持5 類非屏蔽雙絞線,并且DM9000 的Linux 驅(qū)動程序資源較為豐富,節(jié)省了底層驅(qū)動的開發(fā)周期。RJ45 接口是最常見的網(wǎng)絡(luò)接口,用于網(wǎng)絡(luò)數(shù)據(jù)的傳輸。通信電路如圖6 和圖7 所示。

圖6 以太網(wǎng)通信電路

圖7 串口通信電路

3 軟件設(shè)計

網(wǎng)絡(luò)適配器的軟件設(shè)計主要基于Linux 下的嵌入式C 語言程序編程,采用socket 網(wǎng)絡(luò)編程以及多進(jìn)程和多線程的技術(shù)[15],結(jié)合系統(tǒng)需求對模塊的軟件系統(tǒng)進(jìn)行了設(shè)計。包括網(wǎng)絡(luò)參數(shù)的配置、數(shù)據(jù)雙向通信系統(tǒng)的設(shè)計、進(jìn)程的管理以及守護(hù)進(jìn)程等程序的設(shè)計。

3.1 參數(shù)的配置

系統(tǒng)開機會確認(rèn)是否為首次啟動系統(tǒng),若是則應(yīng)運行原始配置腳本文件,若不是則應(yīng)運行修改后的配置腳本文件,再根據(jù)具體需要運行的模式啟動程序及相應(yīng)守護(hù)進(jìn)程。圖8為網(wǎng)絡(luò)信息的配置流程。

圖8 網(wǎng)絡(luò)信息的配置流程

3.2 主進(jìn)程設(shè)計

系統(tǒng)首先初始化系統(tǒng)參數(shù)以及創(chuàng)建進(jìn)程間通信需要的共享內(nèi)存、信號量及管道,并對SIGCHLD 信號處理進(jìn)行了初始化。在主函數(shù)中添加對SIGCHLD信號的處理代碼signal(SIGCHLD,SIG_IGN),可防止產(chǎn)生僵尸進(jìn)程。服務(wù)器對于每個客戶端的連接都會創(chuàng)建一個子進(jìn)程,子進(jìn)程結(jié)束后,若不進(jìn)行處理則會變成僵尸進(jìn)程,若系統(tǒng)存在大量僵尸進(jìn)程,會在很大程度上造成資源的浪費,因此通過對SIGCHLD 信號進(jìn)行處理,將僵尸進(jìn)程交由內(nèi)核的init 進(jìn)程處理,即可有效清除僵尸進(jìn)程,節(jié)省系統(tǒng)資源。如圖9 所示為主進(jìn)程流程圖。主進(jìn)程通過不同的端口號來區(qū)分不同的客戶端請求,實現(xiàn)不同的服務(wù),如果是上行數(shù)據(jù)和下行數(shù)據(jù)端口,且相應(yīng)端口已經(jīng)建立了正常的數(shù)據(jù)通信連接,那么通常不希望有重復(fù)連接而影響正常的數(shù)據(jù)收發(fā),所以除非上一條連接已經(jīng)關(guān)閉,否則服務(wù)器會拒絕數(shù)據(jù)上行和下行端口的二次重復(fù)連接,文中采用信號量來實現(xiàn)這一功能;指令交互端口是用來查詢與更改串口信息等功能的端口,一般要求只要有權(quán)限對設(shè)備進(jìn)行操作的終端都可以連接,所以允許多個連接同時操作,但必須輸入正確的口令才能對系統(tǒng)參數(shù)進(jìn)行查詢和配置。

圖9 主進(jìn)程流程圖

主進(jìn)程中的定時器主要實現(xiàn)與守護(hù)進(jìn)程的通信[16],守護(hù)進(jìn)程通過通信是否正常來判斷當(dāng)前服務(wù)器程序運行是否正常,若異常則重啟服務(wù)器程序,服務(wù)器與守護(hù)進(jìn)程之間使用Unix 域套接字進(jìn)行通信。定時程序的流程圖如圖10 所示。

圖10 定時通信程序的流程圖

3.3 守護(hù)進(jìn)程設(shè)計

守護(hù)進(jìn)程的目的通常是為了完成一些特殊的任務(wù)或者等待處理某些事件,是獨立于控制終端的,因此通常在終端中不能對其進(jìn)行操作[17]。文中系統(tǒng)設(shè)計了專用的守護(hù)進(jìn)程,如圖11 所示為守護(hù)進(jìn)程的流程圖。正常情況下服務(wù)器主進(jìn)程每隔一段時間便向守護(hù)進(jìn)程發(fā)送一次消息,守護(hù)進(jìn)程在接收到主進(jìn)程連接后重置定時器,若定時時間到,則說明在定時時間內(nèi)主進(jìn)程都未向守護(hù)進(jìn)程發(fā)送消息,出現(xiàn)異常,這時守護(hù)進(jìn)程會清除之前的服務(wù)器進(jìn)程并重啟服務(wù)器,而服務(wù)器重啟后可自動接收主機發(fā)來的連接,保證系統(tǒng)在異常情況下能夠自行處理、自行恢復(fù)。

圖11 守護(hù)進(jìn)程流程圖

4 功能測試

網(wǎng)絡(luò)適配器模塊主要用于實現(xiàn)指令交互和數(shù)據(jù)的收發(fā)。給智能變送器接上溫濕度傳感器,網(wǎng)絡(luò)適配器通過串口線連接電腦,通過串口助手進(jìn)行測試,可以查詢到傳感器數(shù)據(jù),測試結(jié)果如圖12 所示。

圖12 測試結(jié)果

在串口測試軟件中,將虛擬串口發(fā)送波特率設(shè)定為9 600 bit/s,軟件對數(shù)據(jù)進(jìn)行了封包操作,實際傳送的數(shù)據(jù)會大于100 字節(jié),界面中可顯示發(fā)送與接收的數(shù)據(jù)包個數(shù),以及出錯的數(shù)據(jù)包個數(shù);在串口數(shù)據(jù)回送器界面中可顯示實際接收到數(shù)據(jù)的字節(jié)數(shù)。圖13 為軟件實際發(fā)送與接收數(shù)據(jù)的情況,測試時間為24 h。由圖13 中可以看出,在串口測試軟件中,實際發(fā)送的數(shù)據(jù)包為59 328 個,成功接收的數(shù)據(jù)包為59 328 個,錯誤數(shù)據(jù)包為0 個,串口數(shù)據(jù)回送器軟件中可以看到實際成功接收的字節(jié)數(shù)為6 408 180 個。

圖13 發(fā)送與接收數(shù)據(jù)結(jié)果

5 結(jié)束語

以傳感器網(wǎng)絡(luò)技術(shù)和智能信息處理技術(shù)為支撐,對傳統(tǒng)氣象要素傳感器進(jìn)行改進(jìn),實現(xiàn)氣象要素傳感器的網(wǎng)絡(luò)化與智能化,重點介紹了網(wǎng)絡(luò)適配器模塊的硬件設(shè)計電路和軟件設(shè)計思路,通過測試驗證了模塊的可行性。該網(wǎng)絡(luò)適配器模塊設(shè)計的難點主要在于設(shè)計接入智能氣象站中的智能變送器,實現(xiàn)模塊對于傳感器的即插即用和自識別。目前模塊已在觀測場的運用中取得良好效果,相信以后將會獲得廣泛的應(yīng)用。

猜你喜歡
變送器電路設(shè)計串口
LED路燈驅(qū)動電路設(shè)計研究——以寧德東湖沿岸夜景工程為例
基于EM9000工控板高性能雙串口通信模型設(shè)計與實現(xiàn)
MCS—51單片機中的多串口通訊技術(shù)的應(yīng)用
基于實驗箱和Matlab相結(jié)合的信號與系統(tǒng)實驗的改革
科里奧利流量計工作原理分析
微機串口的測試診斷
差壓變送器在應(yīng)用中的故障診斷和分析
PCI9030及其PCI總線接口電路設(shè)計
基于VC串口通信的實現(xiàn)
Protel99中常用快捷鍵的使用
措美县| 台南市| 大邑县| 黄平县| 西平县| 贡山| 榆林市| 商城县| 黔西县| 涞源县| 蕲春县| 商南县| 霍城县| 土默特左旗| 西林县| 台北市| 双辽市| 孙吴县| 陈巴尔虎旗| 当阳市| 桐乡市| 清河县| 西安市| 广饶县| 赤峰市| 碌曲县| 紫金县| 吴江市| 广西| 利津县| 赤峰市| 中江县| 应用必备| 浦北县| 裕民县| 松阳县| 深圳市| 名山县| 吴川市| 文昌市| 临邑县|