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

正文內容

tcpip與rs232協(xié)議轉換器的設計-wenkub

2022-11-27 17:10:54 本頁面
 

【正文】 隨著網絡技術的發(fā)展,以以太網和 TCP/ IP為 代表的成熟度較高的開放式網絡技術逐漸在工業(yè)控制領域被廣泛采用,設備網絡化是未來發(fā)展的趨勢,人們希望能夠通過 LAN網絡連接各種設備,讀取控制中心指令,傳輸數(shù)據(jù),實現(xiàn)設備的 IP化控制、管理及數(shù)據(jù)存??;而另一方面,目前工業(yè)領域的大量數(shù)控機床、儀器儀表、傳感器、讀卡器等設備尚不具備網絡接口,這些設備之間最常用的通信接 El為 RS一 232/ 422/485串口。 此為本文拓展的方向, 從于可以更大地降低成本, 使開發(fā)到應用有更大價值。 串口轉換網關使得串口數(shù)據(jù)流到以太網數(shù)據(jù)流的傳輸成為可能。 uclinux。該設備支持服務器和客戶機模式, 為傳統(tǒng)串口設備通過標準 TCP, IP協(xié)議接入 lnter提供了一種低成本解決方案。 本文主要描述了單串口以態(tài)網協(xié)議轉換, 實現(xiàn) RS232 串口數(shù)據(jù)流的收/發(fā)控制 ,封裝/拆封串口幀, 并通過 TCP/ lP 協(xié)議轉換模塊 將以太網發(fā)送緩沖區(qū)的串口幀封裝在 UDP 包中,并傳給 IP 層;同時,接收以太網數(shù)據(jù)幀并向上層層解包,分離應用層數(shù)據(jù),然后數(shù)據(jù)的解析處理交由串口發(fā)送模塊完成,實現(xiàn) RS232 串口流與以太網端口流的透明轉換。 、 武漢工業(yè)學院 2020 畢業(yè)論文 第 4 頁 共 35 頁 前 言 隨著企業(yè)規(guī)模的擴大和 Inter 技術的廣泛普及,全球各個領域的不同企業(yè)已經對 “ 讓設備聯(lián)網 ” 達成共識,而在工業(yè)控制和通信設備中,更多的卻是符合 RS232標準的串行口設備。它能連接 RS232串口設備,并將串口數(shù)據(jù)進行選擇和處理,把 RS232 接口的數(shù)據(jù)流轉化成以太網數(shù)據(jù)流,這樣就可以進行網絡化的數(shù)據(jù)處理,實現(xiàn)串行數(shù)據(jù)的網絡化。 本文主要描述的是單串口以態(tài)網轉換接口的開發(fā),借助 uclinux 的 內核小,效率高 ,在 網絡方面是非常完整的 ,擁有 TCP/IP 和串口驅動,提供了豐富的 API 接口函數(shù),特別是提供了網絡通用的編程接口套接字, 實現(xiàn) TCP 協(xié)議建立連接 等優(yōu)點,進行基于 三星公司的 S3C44B0X 嵌入式系統(tǒng)開發(fā)。在不改變原有設備結構的基礎上為其添加串口/網絡接口,使其通過 TCP/ IP協(xié)議接入互聯(lián)網,是串口設備上網的低成本解決方案。具體要求: ( 1) 程序燒寫工序簡單可靠,系統(tǒng)工作穩(wěn)定 。 系統(tǒng)結構框圖 本系統(tǒng)微處理器 CPU 采用三星公司的 S3C44B0X,8MHz 外部鐘振,內部倍頻至64MHz, Flash ROM 采用 SST39VF16016Mbit( 1M16bit)程序 Flash; RAM: 64Mbit( 41M16bit) PC100/PC133 兼容 SDRAM; 網口控制芯片采用 Realtek 公司的RTL8019,串口控制芯片采用常見的 MAX232。 ARM7TDMI是目前 ARM7系列中應用較廣的處理器核, T、 D、 M、 1分別表示: T一支持 16位 Thumb指 令集; D一支持片上調試 (Debug); M一內嵌硬件乘法器 (Multiplier); 1一支持嵌入式 ICE接口。 S3C44BOX內置 2通道 UART,其中每一路 UART分別包含一個 l6字節(jié)的接受 FIFO和發(fā)送FIFO,波特率可編程控制,最高支持 1 15. 2kbps,支持 5, 6, 7, 8位數(shù)據(jù)長度, 1,2位停止位,支持奇偶校驗,支持 中 斷模式和 DMA模式。 TCP/ lP協(xié)議轉換模塊 它 是一個微型的以太網接入模塊,由微控制器 (s3c44b0)、網卡接口芯片rtl801及輔助元件構成。 MAX232接口電路 MAX232 芯片時 MAXIM 公司生產的低功耗、單電源雙 RS232 發(fā)送 /接收器。 T1IN接 S3C44B0的 TXD0端, R1OUT接 S3C44B0的 RXD0端。具有 16 位數(shù)據(jù)線接口和 20 位地址線接口,支持 8/16 位的數(shù)據(jù)模式,其數(shù)據(jù)端口與 s3c44b0 的低 16 位數(shù)據(jù)線相連,中斷請求端口接武漢工業(yè)學院 2020 畢業(yè)論文 第 9 頁 共 35 頁 CPU 的外部中斷 EINT3 引腳。仿真調試軟件主要采用 AXD。在這里順便介紹一下 Boot Loader。 uClinux是 基于 Linux內核并符合 GNU/ GPL 公約的一種 )開源操作系統(tǒng),不同的是它對 Linux的內存管理和進程管理等部分進行了改寫,以滿足沒有內存管理單元 (MMU)的微處理器的需要。對于不同的處理器和開發(fā)板, uClinux的移植大致可分為 3個層次: (1)架構級。 (3)板級 。 Uclinux是一個完全符合 GNU/GPL公約的操作系統(tǒng),完全開發(fā)代碼,并且免費。 ( 4) Linux內核的結構在 。 建立主機開發(fā)環(huán)境 (1)先安裝 Linux操作系統(tǒng) , 對 uClinux的配置和編譯要 在 linux操作系統(tǒng)下進行。將 拷/opt/下(或者其它目錄),運行解壓命令: tar xvzf 解壓結束后會在 /opt/下生成 uClinuxdist目錄。 cd /home/uClinuxdist make menuconfig 進入 uClinux 配置 (uClinux Configuration), 選中“ Kernel/Library/Defaults Selection224。回到終端,按下 ESC 鍵兩次,敲回車退出。自動切換到用戶選項配置。手動修改的步驟如下: 進入內核配置( Linux Kernel Configuration)。需要選中其中的兩項: * Packet socket ?? [*] TCP/IP working (3) 配置 Networking device Support 選中“ File system ”,敲空格進入。 使用mini 之前,先要配置參數(shù)。 (3) 下載 映像文件 連接好開發(fā)板的串口線,網線,電源線。作為一種多任務、并發(fā)的工作療式,多線程程序可以提高應 用 程序相應, 改善 程序結構。Linux系統(tǒng)將設備看成文件處理,本文系統(tǒng)的兩個串 口 COM1和 COM2分別對應于uClinux系統(tǒng)下/ dev/ ttySO和/ dev/ ttyS 1兩個文件,打 開 或 關 閉設備的操作對應于打開或關閉相應的文件。 //保存標準串口屬性 tcgetattr(fd, amp。 //設置新的串口屬性 newtio. c. cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD。串口的設置主要是設置 struct termios 結構體的各成員值。 /* 控制模式標志 */ unsigned short c_lflag。 (3) 發(fā)送數(shù)據(jù) char buffer[1024]??梢允褂貌僮魑募暮瘮?shù)來實現(xiàn)異步讀取,如 ftl,或者 select等來操作。 TCP/ IP處理模塊 TCP/ IP協(xié)議是目前 lnter 上 用最廣泛的一套協(xié)議簇,它參考開放系統(tǒng)互連(os1)模型,采用一種簡化的 4層模型,分別為應用層、傳輸層、網絡層、鏈路層,各層主要 協(xié)議 如圖 7 所示。 武漢工業(yè)學院 2020 畢業(yè)論文 第 19 頁 共 35 頁 圖 7 TCP/ IP體系結構模型 Linux系統(tǒng)提供 Socket套接字進行網絡編程, Socket最早是在 UNIX系統(tǒng)上為 TCP/ IP網絡通信與開發(fā)的一個接口程序,后來被成功移植到 DOS、 Windows等操作系統(tǒng)上,成為 lnter上網絡開發(fā)最為通用的 API函數(shù)。以 UDP Server 廣 播發(fā)送方式為例, Socket 程序 處理流程如圖 8 所示,該模式將串口接收到的數(shù)據(jù)通過, 廣 播方式發(fā)送到局域 網 中的每臺機器。 protocol:由于我們指定了 type,所以這個地方我們一般只要用 0 來代替就可以了。 listen int listen(int sockfd,int backlog) sockfd:是 bind 后的文件描述符。返回的情況和 bind 一樣。 serv_addr:儲存了服務器端的連接信息。 setsockopt(設置 socket 狀態(tài)) 表頭文件 includesys/ 定義函數(shù) int setsockopt(int s,int level,int optname,const void * optval,socklen_toptlen)。 SO_ERROR 返回 socket 已發(fā)生的錯誤原因 SO_DONTROUTE 送出的數(shù)據(jù)包不要利用路由設備來傳輸。它們的建立步驟一般是 : 服務器端 socketbindlistenaccept。serverAddr, sizeof(serverAddr))。 // set client broadcast mode bzero(amp。 = htonl(INADDR_BROADCAST)。serverAddr, addr_len)。 ???????????????? ret = pthreat_create(amp。 幀的統(tǒng)一化 系統(tǒng) 4個串口源的數(shù)據(jù)要作為以太網幀的一部分,為了向設備提供透明的接口和區(qū)分數(shù)據(jù)源,需要制定統(tǒng)一的幀格式。 圖 9 串口數(shù)據(jù) 幀 發(fā)送格式 圖 10 網口 數(shù)據(jù) 幀 發(fā)送格式 系統(tǒng)數(shù)據(jù)流向分析 串口轉換網關,實現(xiàn) 串口和網口間的數(shù)據(jù)轉換,關鍵是串口數(shù)據(jù)如何送到網絡上、網絡數(shù)據(jù)又怎樣轉到串口。當系統(tǒng)規(guī)定的 UDP武漢工業(yè)學院 2020 畢業(yè)論文 第 24 頁 共 35 頁 打包時間到或已經有串口數(shù)據(jù)幀時,打 UDP 包,并逐層下送,直到把數(shù)據(jù)送上物理介質,完成比特流的傳輸。 這樣,系統(tǒng)對數(shù)據(jù)容量和時間的雙重規(guī)定,能保證具體應用對實時性的要求,并能一次傳輸盡量多的數(shù)據(jù),降低了由于時間上的 “ 空等 ” 造成系統(tǒng)實時性差的可能性。如圖 7 所示,將收到的以太網幀,依次去掉每層的協(xié)議頭分解出應用層數(shù)據(jù),再以 0x24 和 OxOa 為分界分離,根據(jù)串口號字段的值,將信息發(fā)送到相應的設備,完成預定的控制。對于網絡套接字的編程,驅動程序提供的 API 函數(shù) ,由于不兼容性,在參考資料里又沒有一本系統(tǒng)的書,所以編程很困難,對調試要求就更高。 七 致謝 在設計和論文成文的過程中, 由于初次用嵌入式系統(tǒng)進行開發(fā),遇到了不少問難,在 孫江波老師和楊昌老師的大力支持和幫助,才得以順利完成,在次表示深深感謝! 在畢業(yè)設計期間,和張超同學每天堅持 學習,同時還教會了很多 linux 操作系統(tǒng)的知識,還有 宿友 王飛 同學也給予了大力的支持和幫助,在次 也一并表示感謝! 武漢工業(yè)學院 2020 畢業(yè)論文 第 27 頁 共 35 頁 八 附錄 TCP/IP 與 RS232 協(xié)議轉換 程序 : includesys/ includesys/ includesys/ includesys/ includesys/ includesys/ includei/ includearpa/ includei/ include include include include include include include include // include include include include include include include include define PORT 0 define MAX_MSG_SIZE 100 define BAUDRATE B115200 char msg[MAX_MSG_SIZE]。 pthread_mutex_t mutex。 } else { printf(uart0 open success!\n)。 cfmakeraw(amp。 |= (CLOCAL | CREAD)。 amp。 |=CS8。 =0。=~(IXON|IXOFF|IXANY)。newtio, BAUDRATE)。 } /* 函數(shù)名稱: Socket_open( ) 函數(shù)功能: built UDP socket 傳遞參數(shù):
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1