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

正文內(nèi)容

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

2025-07-02 10:41本頁面

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

  

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