終端服務器設計

終端服務器設計
          —馬至晶
摘要
雙串口終端服務器是爲終端到TCP/IP之間完成數據轉換的通信接口協議轉換器。 提供數據雙向透明傳輸,實現串口轉TCP/IP。此終端服務器是基於ARM9 s3c2410芯片實現的,採用的是保定慧通科技公司的 TE2410開發板([url]http://www.witech.com.cn/[/url]TE2410ARM9開發板,基於三星公司的ARM處理器S3C2410A,它適用於工業控制、消費電子等領域。此開發板有兩個串口和一個網口,本次開發就應用這兩個串口和網口實現串口和網口雙向通訊的目的。
工做原理
本次設計思想是在開發板上移植linux 操做系統,而後編寫好應用程序後調試沒有錯誤了,將應用程序作成文件系統燒到開發板上,將兩個串口分別接到兩臺電腦上將網口接到另外一臺電腦上。在各臺電腦上分別起一個超級終端,而後分別給串口發送數據檢測網口是否接收到數據並檢測是否傳輸正確,還有是否是能檢測到是哪一個串口發送過來的數據。經過網口分別對每一個串口發數據,在超級終端下觀察串口接收是否正確,此網口必須能分別獨立的對某個串口發送數據而不影響其餘串口。從而達到全雙工的數據的轉換。
硬件電路
COM1: 串口 1    用於監測程序運行狀況及收發數據
COM2: 串口 2    用於收發數據
以太網口:10.00 Mbps  用於全雙工的轉換收發數據
 
實現方法
一.燒寫linux 內核 到開發板上
 1 .將光盤上的所給的內核鏡像 zImage  拷貝到 你電腦的某個硬盤上,將光盤上所給的
Mytftp.exe 文件拷貝到和 zImage 同一個文件夾下。
 2. 重啓開發板,到vivi 敲空格,而後在vivi> load flash kernel t
 3.啓動 dos 命令  zImage 下輸入 myftp –i 192.168.0.12 PUT zImage  回車
   稍等就會出現vivi>  表示燒寫成功
 
 
二。燒寫空文件系統
  1. 燒寫方法同燒寫linux 內核  root_china.cramfs 拷貝到 mytftp.exe 同一文件夾下
  2. 重啓開發板,到vivi 敲空格,而後在vivi> load flash root  t
  3.啓動 dos 命令  root_china.cramfs 下輸入 myftp –i 192.168.0.12 PUT root_china.cramfs  回車  稍等就會出現vivi>  表示燒寫成功
 
 三。編寫應用程序在linux 下調試
 1.編程思想
 本程序爲了實現雙串口到一網口數據轉換並且要求同時性,因此在程序中引入了兩個進程,每一個進程負責一個串口的收發全雙工的工做。每一個進程中引入了兩個線程,第一個線程負責收數據,另外一個負責發數據。進程之間是分別獨立的且是同時進行的,從而能夠達到預期目的。基於上述考慮編寫了此應用程序  server.c ,見附錄1,調試程序 
 Client.c 見附錄2
2.linux 下的調試方法
新建一個終端,編寫編寫終端服務程序 server.c
交叉編譯server.c   #/opt/host/armv4l/bin/armv4l-unknown-linux-gcc server.c –o  server –pthread
執行#gcc client.c o client pthread
#gcc client1.c o client1 pthread生成client 和、client1 可執行文件。
啓動nfs 服務     #service nfs restart
設置本機的ip     # ifconfig eth0 192.168.0.11 up
新建一終端,啓動#minicom
設置開發板的ip #ifconfig eth0 192.168.0.12 up
測試兩個是否創建鏈接: ping 192.168.0.11 待鏈接成功後將生成的server 可執行文件Mount 到目標板上執行  #mount 192.168.0.11:/ /mnt
進入mnt 目錄下的找到server 可執行文件執行 #./server
切換到第一個終端下執行 #./client 192.168.0.12
server 這邊寫數據看是否  client下可否正確接收,在client 這邊寫數據看是否  server下可否正確接收。若是能正確收發則程序測試經過。
切換到第一個終端下執行 ./client1 192.168.0.12
server 這邊寫數據看是否  client1下可否正確接收,在client1 這邊寫數據看是否  server下可否正確接收。若是能正確收發則程序測試經過。
 
3.製做文件系統
 server拷貝到root_china 文件夾下的bin 文件夾下
 打開root_china 下的linuxrc 文件,在倒數第二行加入
ifconfig eth0 192.168.0.12 up
/bin/server
(注意要加回車)
退到root_china 上一級目錄下執行:#./mkcramfs root_china  root_china.cramfs生成的root_china.cramfs文件,再將此文件 掛到windows下而後燒寫到目標板上就好了,方法步驟與文件系統製做相同。
4.windows 下測試方法同linux 下相似。
結束語
經過這次設計咱們真正理解了串口與網口通訊的機理,以及TCP/IP傳輸機制。咱們只是實現了較簡單的功能,可能還不能知足工業生產要求,可是終端服務器的工做機理咱們已經掌握了。這是它最精華的地方也是其最基本的功能。但本程序有好多不完善的地方可是基本功能已實現,之後好有待改善。
相關文章
相關標籤/搜索