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

正文內(nèi)容

基于arm的以太網(wǎng)網(wǎng)關(guān)設(shè)計與實現(xiàn)畢業(yè)論文-預(yù)覽頁

2025-08-11 10:41 上一頁面

下一頁面
 

【正文】 本文正是針對現(xiàn)場總線及以太網(wǎng)的當前發(fā)展趨勢,市場 上 CAN 和以太網(wǎng)基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 2 互聯(lián)的產(chǎn)品還不是很成熟的狀況提出來的。 以太網(wǎng)現(xiàn)在已經(jīng)應(yīng)用很廣泛,技術(shù)方面也很成熟,然而在工業(yè)控制中,現(xiàn)場總線的種類和技術(shù)標準卻有很多,并且各種總線之間一般情況下無法相互兼容,每一個開發(fā)廠商都有自己的標準,這種情況導(dǎo)致了如果一個客戶選擇了某一種總線用在工業(yè)控制系統(tǒng)中就很難改變,很難再用另一種現(xiàn)場總線來代替,對設(shè)備及控制系統(tǒng)的升級不利,有可能會影響到生產(chǎn)效益 [3]。 本文的主要 工作 本文的主要任務(wù)是以嵌入式 Linux 為軟件平臺,以 ATMEL 公司的AT91SAM9G45 芯片為微 處理器,以深圳市天漠科技有限公司的 SBC6845ARM 開發(fā)板為硬件平臺,在對 CAN 總線、以太網(wǎng)工作原理深入分析的基礎(chǔ)上設(shè)計 嵌入式CANEther 網(wǎng)關(guān)轉(zhuǎn)換器,實現(xiàn) CAN 總線和以太網(wǎng)的互聯(lián) 通信。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。現(xiàn)場總線是當今自動化領(lǐng)域技術(shù)發(fā)展的熱點之一,被譽為自動化領(lǐng)域的計算機局域網(wǎng)。發(fā)送方通過使總線電平發(fā)生變化,將消息發(fā)送給接收方。兩個以上的單元同時開始發(fā)送消息時,對各消息 ID 的每個位進行逐個仲裁比較。因此在總線上增加單元時,連接在總線上的其它單元的軟硬件及應(yīng)用層都不需要改變。所有單元都可以檢測錯誤(錯誤檢測功能),檢測出錯誤的單元會立即同時通知其他所有單元(錯誤通知功能),基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 4 正在發(fā)送消息的單元一旦檢測出錯誤,會強制結(jié)束當前的發(fā)送。由此功能,當總線上發(fā)生持續(xù)數(shù)據(jù)錯誤時,可將引起此故障 的單元從總線上隔離出去。但實際上可連接的單元數(shù)受總線上的時間延遲及電氣負載的限制。其中 ISO11898 是針對通信速率為 125Kbps~1Mbps 的高速通信標準,而 ISO115192是針對通信速率為 125Kbps 以下的低速通信標準 [5]。各種幀的用途如 下 表所示: 表 CAN 總線幀類型及用途 幀類型 幀用途 數(shù)據(jù)幀 用于發(fā)送單元向 接收單元傳送數(shù)據(jù)的幀 遙控幀 用于接收單元向具有相同 ID 的發(fā)送單元請求數(shù)據(jù)的幀 錯誤幀 用于當檢測出錯誤時向其它單元通知錯誤的幀 基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 5 過載幀 用于接收單元通知其尚未做好接收準備的幀 間隔幀 用于將數(shù)據(jù)幀及遙控幀與前面的幀分離開來的幀 由于篇幅所限,我們這里僅對數(shù)據(jù)幀進行詳細介紹,數(shù)據(jù)幀一般由 7 個段構(gòu)成,即: ( 1)幀起始。 ( 3)控制段。 ( 5) CRC 段。 ( 7)幀結(jié)束。 仲裁段,表示數(shù)據(jù)優(yōu)先級的段,標準幀和擴展幀格式在本段有所區(qū)別,如圖 所示: 圖 數(shù)據(jù)幀仲裁段構(gòu)成 標準格式的 ID 有 11 個位?;?ID 從 ID28 到ID18,擴展 ID 由 ID17 到 ID0 表示。 控制段,由 6 個位構(gòu)成,表示數(shù)據(jù)段的字節(jié)數(shù)。從最高位( MSB)開始輸出,標準幀和擴展幀在這個段的定義都是一樣的 , 如圖 所示: 圖 數(shù)據(jù)幀數(shù)據(jù)段構(gòu)成 CRC 段,該段用于檢查幀傳輸錯誤。由 ACK 槽( ACK Slot)和 ACK 界定符 2 個位組成。 幀結(jié)束,這個段也比較簡單,標準幀和擴展幀在這個段格式一樣,由 7 個位的隱性位組成。 以太網(wǎng)現(xiàn)在已經(jīng)應(yīng)用很廣泛,技術(shù)方面也很 成熟,然而在工業(yè)控制中,現(xiàn)場總線的種類和技術(shù)標準卻有很多,并且各種總線之間一般情況下無法相互兼容,每一個開發(fā)廠商都有自己的標準,這種情況導(dǎo)致了如果一個客戶選擇了某一種總線用在工業(yè)控制系統(tǒng)中就很難改變,很難再用另一種現(xiàn)場總線來代替,對設(shè)備及控制系統(tǒng)的升級不利,有可能會影響到生產(chǎn)效益。 基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 9 第 3章 系統(tǒng) 硬件 設(shè)計 本文所設(shè)計的嵌入式協(xié)議轉(zhuǎn)換網(wǎng) 關(guān), 實現(xiàn) 了 CAN 總線與以太網(wǎng)的互聯(lián),即 以太網(wǎng)能夠通過網(wǎng)關(guān)讀取 CAN 總線上的數(shù)據(jù),同時也可以向 CAN 總線發(fā)送命令以實現(xiàn)上位機對現(xiàn)場設(shè)備的監(jiān)控 , 網(wǎng)關(guān) 工作示意圖 如圖 所示。網(wǎng)關(guān)轉(zhuǎn)換的必不可少的部分是以太網(wǎng)控制器芯片、 CAN 控制器芯片和 CAN 收發(fā)器的選擇和接口設(shè)計。 核心模塊的外圍電路設(shè)計包括一下幾個部分: ●電源電路 :設(shè)計電路所需的 5V 和 電壓; ●串口電路:提供系統(tǒng)所必需的傳輸控制命令的通道; ●CAN 模塊: AT91SAM9G45 通過 SPI 控制 CAN 控制器; ●以太網(wǎng)模塊: AT91SAM9G45 通過控制 DM9161,進行網(wǎng)絡(luò)訪問。 AT91SAM9G45 支持最新 的用來存儲程序和數(shù)據(jù)的 DDR2 和 NAND Flash 儲存器接口。 AT91SAM9G45 電源管理控制器使用門控時鐘( clock gating)和電池備份組件使得在活動和就緒模式下把功耗降到最低。MCP2515 與 MCU 的 連 接 是 通 過 業(yè) 界 標 準 串 行 外 設(shè) 接 口 ( Serial Peripheral Interface, SPI)來實現(xiàn)的。 CAN 模塊的功能是處理所有 CAN 總線上的報文接收和發(fā)送。會對 CAN 總線上檢測到的任何報文進行錯誤檢查,然后與用戶定義的濾波器進行匹配,以確定是否將報文移到兩個接收緩沖器中的一個。器件上有一基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 13 個多用途中斷引腳及各接收緩沖器的專用中斷引腳,用于指示有效報文是否被接收并載入接收緩沖器。是否使用這些引腳由用戶決定;若不使用,也可利用控制寄存器(通過 SPI 接口訪問)來啟動報文發(fā)送。 圖 CAN 控制器( MCP2515)電路原理圖 圖 CAN 收發(fā)器電路 以太網(wǎng)電路 DM9161 是一款完全集成的和 符合成本效益單芯片快速以太網(wǎng) PHY,提供數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)傳輸?shù)茸饔谩_@是完全符合 IEEE 規(guī)格。 芯片 特點 : LQFP 封裝 : , IO 供電電壓 ,模擬部分 MII 和 RMII 連接方式(推薦使用 MII) ( AUTOmix) TCP/IP 硬加速 95%的廠家的 MCU 完全兼容,是 ATMEL 推薦使用的單口 PHY[10]。 以太網(wǎng)發(fā)送和接收分別有指示燈指示其工作狀態(tài)。 。 ,系統(tǒng)軟件一般都是固化在存儲 FLASH中,這樣做能夠提高系統(tǒng)可靠性和運行速度。本系統(tǒng)所實現(xiàn)的網(wǎng)關(guān)是基于嵌入式 Linux 操作系統(tǒng),在 ARM9處理器 S3C2440 平臺下進行開發(fā)的。兩邊的開發(fā)環(huán)境都搭建完成后,便可以進行網(wǎng)關(guān)相關(guān)程序的開發(fā)了 [11]。本文中使用的設(shè)置參數(shù)是: CAN 總線通信速率500Kbps、無過濾器、普通工作方式。 UDP 是無連接的傳輸協(xié)議,提供面向事務(wù)的簡單不可靠信息傳輸服務(wù); TCP 是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。 本文的嵌入式網(wǎng)關(guān)搭載的是客戶端,客戶端建立連接的流程 如 圖 所示 : 開始建立s o c k e t描述符設(shè)置對方 IP 地址c o n n e c t結(jié)束成功?YESNO 圖 TCP 客戶端建立連接流程圖 以太網(wǎng)發(fā)送和接收數(shù)據(jù) 由于底層的驅(qū)動程序已經(jīng)由開發(fā)板提供,要想實現(xiàn)以太網(wǎng)數(shù)據(jù)的收發(fā),在建立連接后, 直接讀寫 socket 設(shè)備文件即可。 網(wǎng)關(guān)應(yīng)用程序 設(shè)計 基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 19 通過上述的分析和介紹,現(xiàn)在對網(wǎng)絡(luò)通信已經(jīng)有了比較清晰的認識,針對CANEther 網(wǎng)關(guān)的應(yīng)用程序設(shè)計發(fā)送和接收過程都比較簡單。 從以太網(wǎng)上接收數(shù)據(jù)時,將數(shù)據(jù)送到指定的緩沖區(qū),然后調(diào)用 CAN 模塊的應(yīng)用程序?qū)?shù)據(jù)拆分打包成 CAN 數(shù)據(jù)幀,通過 SPI 接口發(fā)送到現(xiàn)場總線上。所以最好的解決辦法是緩沖區(qū)的重復(fù)利用。 //緩沖區(qū)非空條件判斷 pthread_cond_t notfull。 以上行數(shù)據(jù)控制結(jié)構(gòu)體為例: char SendUpBuffer[SEND_UP_BUFFER_CNT][SEND_UP_BUFFER_SIZE]。如果 writepos 或 readpos 等于SEND_UP_BUFFER_CNT,則讓它們歸零,便實現(xiàn)了緩沖區(qū)的重復(fù)利用,即循環(huán)緩沖。當多個任務(wù)可以并行執(zhí)行時,可以為每個任務(wù)啟動一個線程 [13]。 CAN_Read()。 2. Top_TCPSend()。 int t = (int)(UpMessageBuf [ SEND_UP_BUFFER_CNT * SEND_UP_BUFFER_SIZE]8)+ UpMessageBuf[ SEND_UP_BUFFER_CNT * SEND_UP_BUFFER_SIZE + 1 ]。這里為了提高網(wǎng)絡(luò)的通信效率,設(shè)置了一個 5s 的睡眠,即 5s 檢測一次,有的話將數(shù)據(jù)打包發(fā)送。SendDownBuf)。 while(1) { printf(\r\n)。 CAN_Write(DownMessageBuf,t)。對于一個復(fù)雜的多設(shè)備控制系統(tǒng)來說,對具體的現(xiàn)場 設(shè)備要能夠在發(fā)送的數(shù)據(jù)中提取信息并識別是哪一個設(shè)備,因為采用的是 CAN 現(xiàn)場總線,就要在 CAN 數(shù)據(jù)幀中的 8 個字節(jié)的數(shù)據(jù)中開辟出一定的空間填充上必要的標識信息,剩余的部分作為相應(yīng)設(shè)備數(shù)據(jù)的存儲空間,通過這種途徑,在監(jiān)控室內(nèi)基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 22 收到現(xiàn)場發(fā)送來的數(shù)據(jù)后根據(jù)對應(yīng)的規(guī)則識別出是哪個設(shè)備產(chǎn)生的這些信息,然后就可以對這個設(shè)備進行監(jiān)控和管理。 基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(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ā)送通訊異常?結(jié)束YESNO NO 圖 協(xié)議轉(zhuǎn)換流程圖 基于 ARM 的以太網(wǎng)網(wǎng)關(guān) 設(shè)計與實現(xiàn) 24 第 5章 系統(tǒng) 測試 為了測試網(wǎng)關(guān)系統(tǒng)的工作狀態(tài)及性能,制作了一個帶有 CAN 總線的下位機和一個帶有 TCP 服務(wù)器功能的上位機軟件。 圖 網(wǎng)口測試結(jié)果 網(wǎng)關(guān)工作狀態(tài)測試 以 STM32 開發(fā) 板為硬件載體,編寫了一個采集溫度,并通過 CAN 總線傳輸至網(wǎng)關(guān)的測試程序。正好是 8 個字節(jié),為一幀 CAN 數(shù)據(jù)。當發(fā)送數(shù)據(jù)的速度超過 CAN 通信速率的時候 ,便會出現(xiàn)數(shù)據(jù)阻塞和數(shù)據(jù)丟失的情況,因為 CAN 總線的通信速率有限來不及將到達的數(shù)據(jù)發(fā)送出去,新的數(shù)據(jù)又到達了。本文所作的主要工作是在 AT91SAM9G45 處理器平臺上,嵌入式 Linux 環(huán)境下,通過硬件電路接口設(shè)計、數(shù)據(jù)傳輸途徑分析、數(shù)據(jù)經(jīng)網(wǎng)關(guān)的轉(zhuǎn)換模型分析、 CAN 模塊和以太網(wǎng)模塊的應(yīng)用程序設(shè)計、 CAN 數(shù)據(jù)幀協(xié)議設(shè)計,實現(xiàn)了處理器與現(xiàn)場總線的通信,并能夠?qū)?CAN 總線發(fā)送來的數(shù)據(jù)利用 socket 套接口編程通過以太網(wǎng)發(fā)送出去,并且能夠接收以太網(wǎng)發(fā)送來的數(shù)據(jù)。 2)本文只是實現(xiàn)了網(wǎng)關(guān)轉(zhuǎn)換的基本的數(shù)據(jù)轉(zhuǎn)換傳輸功能,在此基礎(chǔ)上還可以添加其他功能,比如異常處理,實時顯示,報警等功能。 感謝我的指導(dǎo)老師畢勝教授。在此謹向畢老師表示最衷心的感謝。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1