freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm的以太網(wǎng)網(wǎng)關設計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-07-02 10:41本頁面

【導讀】實時性和靈活性。以太網(wǎng)作為構筑互連網(wǎng)的一種最普及的局域網(wǎng)技術,具有較好。的穩(wěn)定性和傳輸數(shù)據(jù)的高效性等特點,還能夠支持互連網(wǎng)絡的遠程訪問。不能直接和工業(yè)設備相連進行通信。將兩種不同適用范圍的網(wǎng)絡進行連接以利用。各自的優(yōu)點實現(xiàn)對工業(yè)生產(chǎn)的監(jiān)控和管理,就需要通過網(wǎng)關來實現(xiàn)。種以太網(wǎng)和CAN總線互聯(lián)的網(wǎng)關模型。以SBC6845ARM開發(fā)板(搭載內(nèi)核為ARM9. 總線協(xié)議和TCP/IP協(xié)議進行轉(zhuǎn)換,實現(xiàn)了以太網(wǎng)與CAN總線的互聯(lián)。測試結果表明,本設計實現(xiàn)了系統(tǒng)設

  

【正文】 _TCPSend()。 while(1) { printf(\r\n)。 TCP_Get(amp。SendUpBuf)。 int t = (int)(UpMessageBuf [ SEND_UP_BUFFER_CNT * SEND_UP_BUFFER_SIZE]8)+ UpMessageBuf[ SEND_UP_BUFFER_CNT * SEND_UP_BUFFER_SIZE + 1 ]。 TCP_Write(UpMessageBuf, t)。 sleep(5)。 } Top_TCPSend()為上行數(shù)據(jù)的 TCP 發(fā)送線程,不停地檢測上行數(shù)據(jù)緩沖區(qū)是否有數(shù)據(jù)要向上發(fā)送,如果有則通過 TCP/IP 發(fā)送到服務器上。這里為了提高網(wǎng)絡的通信效率,設置了一個 5s 的睡眠,即 5s 檢測一次,有的話將數(shù)據(jù)打包發(fā)送。 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 21 3. Top_TCPRec()。 while(1) { TCP_RecCnt=TCP_Read()。 if(TCP_RecCnt) { TCP_Put(amp。SendDownBuf)。 printf(\r\n)。 } } Top_TCPRec()為下行數(shù)據(jù)的 TCP 接收線程, 檢測服務器上是否有下發(fā)的數(shù)據(jù),如果檢測到,則存入緩沖區(qū)。 4. Top_CANSend()。 while(1) { printf(\r\n)。 CAN_Get(amp。SendDownBuf)。 int t = DownMessageBuf[126]8 | DownMessageBuf[127]。 CAN_Write(DownMessageBuf,t)。 delay()。 } Top_CANSend()為下行數(shù)據(jù)的 CAN 發(fā)送線程,如果下行數(shù)據(jù)緩沖區(qū)有待發(fā)送的數(shù)據(jù),則通過 CAN 總線發(fā)送出去。 網(wǎng)關協(xié)議轉(zhuǎn)換程序設計 工業(yè)生產(chǎn)現(xiàn)場的智能儀表和設備多種多樣,在實際的工業(yè)生產(chǎn)中可能現(xiàn)場有同一類型和不同類型的很多個設備,而在現(xiàn)場總線控制系統(tǒng)中,從這些設備上采集的數(shù)據(jù)都是通過現(xiàn)場總線傳輸?shù)模?CAN 總線是一種多主總線,每個 CAN節(jié)點都可以作為主機發(fā)送和接收數(shù)據(jù),對于一個完整的從底層現(xiàn)場設備到上層的監(jiān)控室的工業(yè)生產(chǎn)控制系統(tǒng)來說,在控制室內(nèi)監(jiān)控到的生產(chǎn)現(xiàn)場信息要能夠明確的表明是哪個節(jié)點的哪個設備產(chǎn)生的這些信息,進而對相應的設備發(fā)送控制命令。對于一個復雜的多設備控制系統(tǒng)來說,對具體的現(xiàn)場 設備要能夠在發(fā)送的數(shù)據(jù)中提取信息并識別是哪一個設備,因為采用的是 CAN 現(xiàn)場總線,就要在 CAN 數(shù)據(jù)幀中的 8 個字節(jié)的數(shù)據(jù)中開辟出一定的空間填充上必要的標識信息,剩余的部分作為相應設備數(shù)據(jù)的存儲空間,通過這種途徑,在監(jiān)控室內(nèi)基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 22 收到現(xiàn)場發(fā)送來的數(shù)據(jù)后根據(jù)對應的規(guī)則識別出是哪個設備產(chǎn)生的這些信息,然后就可以對這個設備進行監(jiān)控和管理。 在應用程序設計中,采用多線程處理來模擬多個網(wǎng)關進行數(shù)據(jù)的轉(zhuǎn)發(fā),考慮到一般情況下從現(xiàn)場采集到的數(shù)據(jù)比較多,而從控制室發(fā)送的命令信息可能較少,所以在這里建立一個線程負責接收以太網(wǎng)的數(shù)據(jù)一個線程 用于將數(shù)據(jù)轉(zhuǎn)發(fā)到生產(chǎn)現(xiàn)場,建立一個線程專門用于現(xiàn)場總線數(shù)據(jù)的讀取,將讀取的數(shù)據(jù)放到緩沖隊列中,若緩沖區(qū)滿則丟棄收到的數(shù)據(jù),另外建立一個或幾個線程用于將現(xiàn)場總線發(fā)送來的數(shù)據(jù)也就是緩沖區(qū)中的數(shù)據(jù)發(fā)送到以太網(wǎng)上,在排隊模型中這幾個線程相當于服務臺,他們共同為一個隊列中的顧客服務,也就是只設置一個緩沖隊列,每個服務臺都在這個隊列中取數(shù)據(jù)發(fā)送,為防止讀取沖突,線程在讀取數(shù)據(jù)時要對緩沖隊列加鎖防止其他進程修改隊列的頭尾指針 [14]。這樣就可以利用多線程程序設計的處理速度快,占用資源少,并發(fā)處理的優(yōu)點來簡單的模擬多網(wǎng)關系 統(tǒng),但是多線程程序設計要更加的小心,如果一個線程崩潰的話可能會導致一個進程內(nèi)的其他線程無法正確執(zhí)行,并且 CPU 要花時間去維護多線程的切換和執(zhí)行,這是值得我們注意的地方。 協(xié)議轉(zhuǎn)換的流程 如 圖 所示 。 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 23 開始C A N 總線接收數(shù)據(jù)上行數(shù)據(jù)線程 下行數(shù)據(jù)線程取出幀頭、數(shù)據(jù)將幀頭及數(shù)據(jù)封裝通過以太網(wǎng)發(fā)送以太網(wǎng)接收數(shù)據(jù)計算數(shù)據(jù)長度分割數(shù)據(jù)為 C A N 幀通過 C A N 總線依次發(fā)送通訊異常?結束YESNO NO 圖 協(xié)議轉(zhuǎn)換流程圖 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 24 第 5章 系統(tǒng) 測試 為了測試網(wǎng)關系統(tǒng)的工作狀態(tài)及性能,制作了一個帶有 CAN 總線的下位機和一個帶有 TCP 服務器功能的上位機軟件。 測試儀器及工具: 硬件: ● AT91SAM9G45 開發(fā)板 一塊 ● STM32F103 開發(fā)板(帶 CAN 總線接口) 一塊 ● 網(wǎng)線 一條 ● USB 轉(zhuǎn)串口線 一根 ● 12V 電源 一個 軟件: ● SecureCRT 軟件 ● 網(wǎng)絡調(diào)試助手 網(wǎng)口連接測試 由于測試電腦本地連接 IP 地址為: ,因此將網(wǎng)關 IP 地址設置為同一網(wǎng)段的 。連接上網(wǎng)線后,在串口調(diào)試中斷中輸入 “ping ” 指令,則網(wǎng)關會 ping 主機。測試結果如圖 所示 。 圖 網(wǎng)口測試結果 網(wǎng)關工作狀態(tài)測試 以 STM32 開發(fā) 板為硬件載體,編寫了一個采集溫度,并通過 CAN 總線傳輸至網(wǎng)關的測試程序。程序中可以設定 CAN 總線通信速率, CAN 總線工作方式。并基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 25 且每秒發(fā)送 3 次傳感數(shù)據(jù)。發(fā)送的信息格式如下: $T28,H34。正好是 8 個字節(jié),為一幀 CAN 數(shù)據(jù)。 下位機的硬件實物如圖 所示 。 圖 下位機硬件 在 PC 環(huán)境下用 MFC 編寫了一個簡單的 Ether 服務器測試程序來對系統(tǒng)進行測試。在嘗試了不同的數(shù)據(jù)通信速率后發(fā)現(xiàn),當以太網(wǎng)向 CAN 總線發(fā)送數(shù)據(jù)時,數(shù)據(jù)率比較低時能夠通信正常,沒有錯誤。當發(fā)送數(shù)據(jù)的速度超過 CAN 通信速率的時候 ,便會出現(xiàn)數(shù)據(jù)阻塞和數(shù)據(jù)丟失的情況,因為 CAN 總線的通信速率有限來不及將到達的數(shù)據(jù)發(fā)送出去,新的數(shù)據(jù)又到達了?,F(xiàn)場總線的通信速率是個瓶頸。測試軟件的界面 如 圖 所示 。 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 26 圖 網(wǎng)關輸出的調(diào)試信息 圖 上位機測試軟件界面 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 27 圖 系統(tǒng)聯(lián)測圖 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 28 第 6章 結論及展望 工業(yè)現(xiàn)場總線和以太網(wǎng)互聯(lián)進行數(shù)據(jù)傳輸是工業(yè)網(wǎng)絡化控制系統(tǒng)發(fā)展的趨勢,現(xiàn)場總線采集現(xiàn)場數(shù)據(jù),以太網(wǎng)將現(xiàn)場數(shù)據(jù)傳輸?shù)竭h程進行監(jiān)控,進而達到監(jiān)控和管理生產(chǎn)現(xiàn)場設備的目的。本文所作的主要工作是在 AT91SAM9G45 處理器平臺上,嵌入式 Linux 環(huán)境下,通過硬件電路接口設計、數(shù)據(jù)傳輸途徑分析、數(shù)據(jù)經(jīng)網(wǎng)關的轉(zhuǎn)換模型分析、 CAN 模塊和以太網(wǎng)模塊的應用程序設計、 CAN 數(shù)據(jù)幀協(xié)議設計,實現(xiàn)了處理器與現(xiàn)場總線的通信,并能夠?qū)?CAN 總線發(fā)送來的數(shù)據(jù)利用 socket 套接口編程通過以太網(wǎng)發(fā)送出去,并且能夠接收以太網(wǎng)發(fā)送來的數(shù)據(jù)。但是在做課題過程中也有一些不足,沒有考慮優(yōu)先級,所有的數(shù)據(jù)同等級,不能適應對實時性要求較嚴格的場合。另外對于網(wǎng)絡中傳輸?shù)臄?shù)據(jù)安全性和收到錯誤數(shù)據(jù)或產(chǎn)生其他異常的故障處理沒有詳加討論。 本文設計的基于嵌入式的網(wǎng)關基本實現(xiàn)了現(xiàn)場總線和以太網(wǎng) 的數(shù)據(jù)傳輸,但是只是實現(xiàn)了基本的功能,在今后的工作中還應該在以下幾個方面努力: 1)對嵌入式操作系統(tǒng) Linux 的駕馭能力,能做到根據(jù)需要對 Linux 的內(nèi)核進行適當?shù)牟眉?,使之既能滿足要求又不浪費資源。 2)本文只是實現(xiàn)了網(wǎng)關轉(zhuǎn)換的基本的數(shù)據(jù)轉(zhuǎn)換傳輸功能,在此基礎上還可以添加其他功能,比如異常處理,實時顯示,報警等功能。 3) Linux 系統(tǒng)中包含網(wǎng)頁服務功能,可以利用它來設計頁面方便管理。 總而言之,在工業(yè)控制系統(tǒng)中網(wǎng)關有其存在的價值也確實起了很大的作用,相應的網(wǎng)關產(chǎn)品也有著不小的開發(fā)空間,由于嵌入式 Linux、現(xiàn)場總線以及以太網(wǎng)的諸多優(yōu)越性,他們將在工業(yè)生產(chǎn)中有著更加廣發(fā)的應用前景 [15]。 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 29 參考文獻 [1] 王黎明 ,夏立 ,邵英等 .CAN 現(xiàn)場總線系統(tǒng)的設計與應用 .北京 :電子工業(yè)出版社 ,20xx. [2] 陽憲惠 .現(xiàn)場總線技術及應用 .北京 :清華大學出版社 ,20xx. [3] 周明 .現(xiàn)場總線控制 .北京 :中國電力出版社 ,20xx. [4] 周立功 .CAN 現(xiàn)場總線原理與應用 .北京 :北京航空航天大學出版社 ,20xx. [5] .林瑤等譯 .用 TCP/IP進行網(wǎng)際互連 .第一卷 :原理 ,協(xié)議和體 系結構 (第三版 )[M].北京 :電子工業(yè)出版社 ,1998. [6] 李楠 .CAN 總線與以太網(wǎng)連接技術研究 [D].南京 :南京航空航天大學研究生學院民航學院 ,20xx. [7] [M].北京 :清華大學出版社 ,20xx 年9 月第 1 版 . [8] AT91SAM9G45 Datasheet Preliminary Summary [9] MCP2515 datasheet [10] DM9161 datasheet [11] 劉淼 .嵌入 式系統(tǒng)接口設計與 Linux 驅(qū)動程序開發(fā) .北京 :北京航空航天大學出版社,20xx. [12] 吳明暉 ,徐睿 ,黃健 ,徐辰 .基于 ARM 的嵌入式系統(tǒng)開發(fā)與應用 [M].北京 :人民郵電出版社 ,20xx. [13] 孫鑫 .VC++深入詳解 .北京 :電子工業(yè)出版社 ,. [14] 陳賾主編 .ARM9 嵌入式技術及 Linux 高級實踐教程 .北京 :北京航空航天出 版社 ,20xx. [15] 等 .深入理解 LINUX 內(nèi)核 .北京 :中國電力出版社 ,20xx. [16] 星翼電子科技有限公司 .STM32 開發(fā)指南 .廣州 :,20xx. [17] 宋巖 .CortexM3 權威指南 (中文 ).北京 :,20xx. 基于 ARM 的以太網(wǎng)網(wǎng)關 設計與實現(xiàn) 30 致 謝 大學的生活就此結束,在這四年時間內(nèi),得到了很多老師的關心和照顧,值此之際,向他們表示我誠摯的謝意。 感謝我的指導老師畢勝教授。畢老師有著豐富的實際項目經(jīng)驗,在我做畢業(yè)設計期間,提出了很多實際問題。在學習上,老師 嚴謹?shù)闹螌W態(tài)度和淵博的專業(yè)知識,無不激勵著我。在畢老師的安排下,我有幸進入他的研究生實驗室,與很多師兄師姐共同學習,給我提供了一個很好的學習環(huán)境。在此謹向畢老師表示最衷心的感謝。 同時感謝在大學四年學習過程中,所有任課老師對我的悉心指導與幫助;感謝實驗室的劉闖等師兄師姐的指導和幫助;感謝胡曉宇同學及石鎮(zhèn)嘉、王文君學弟的幫助。 感謝我的父母、姐姐,他們給予了我強大的精神上和物質(zhì)上的支持,感謝他們的信任和期望,他們的支持、關心和鼓勵是我不斷前進的動力,是他們使我能全身心的投入到學習中。 最后,向?qū)忛喺撐牡膶<液?老師們致以我最真誠的敬意。
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1