终端服务器设计
—马至晶
摘要
双串口终端服务器是为终端到TCP/IP之间完成数据转换的通信接口协议转换器。 提供数据双向透明传输,实现串口转TCP/IP。此终端服务器是基于ARM9 s3c2410芯片实现的,采用的是保定慧通科技公司的 TE2410开发板([url]http://www.witech.com.cn/[/url])TE2410型ARM9开发板,基于三星公司的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传输机制。咱们只是实现了较简单的功能,可能还不能知足工业生产要求,可是终端服务器的工做机理咱们已经掌握了。这是它最精华的地方也是其最基本的功能。但本程序有好多不完善的地方可是基本功能已实现,之后好有待改善。