欢迎来到天天文库
浏览记录
ID:13272772
大小:171.50 KB
页数:7页
时间:2018-07-21
《基于嵌入式的以太网通讯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于嵌入式的以太网通讯本文章采用三星公司的2410作为微处理器,实现了ARM和PC机的以太网通讯,采用Linux作为操作系统,首先讲一下ARM的结构模式,S3C2410由ARM920T内核(16-/32-bitRISCCPU),独立的16KB指令和16KB数据cacheMMU虚拟内存管理单元,LCD控制器(支持STN和TFT),NANDFlashbootloader,系统管理单元(SDRAM控制器等),3通道UART,4通道DMA,4通道具备PWM功能的定时器,IO口,RTC(实时时钟),8通道10b
2、it精度ADC和触摸屏控制器,IIC总线接口,IIS数字音频总线接口,USB主机,USB设备,SD/MMU卡控制器,2通道SPI和PLL数字锁相环组成。我用到了以太网控制器CS8900CS8900的特点:单芯片IEEE802.3带有ISA总线接口的以太网控制器,在5V的电压下,最大电流消耗为55mA,3V的工作电压,可以在工业温度范围内正常工作,全套软件驱动可以获得,在I/O和内存空间有效的包页结构操作,可以作为从DMA,全双工通讯机制,片内RAM缓存有收发框架,带模拟过滤器的10BASE-T端口,提
3、供自动极性侦查和校正。有10BASE2,10BASE5和10BASE-F的连接单元接口。可编程发送和接受的特点。支持无磁盘系统直接从PROM启动,支持边界扫描和回环测试,提供了连接状态和局域网活动的LED驱动。备用的睡眠模式。CS8900对于ISA结构来说是一个低价值的以太网控制器,它的高度的集成度提高了需要,而别的控制器需要昂贵的外围器件。CS8900包括片内RAM,10BASE-T发送接受过滤器,和一个24mA驱动的ISA总线接口。另外高度的集成,CS8900提供了一个较宽的性能特征和布局选择。它
4、独特的包结构自动适应改变网络交通模式和可利用的系统资源。这样就增加了系统的效率。采用CS8900,系统工程师可以在10平方厘米板子空间下设计一个完整的以太网电路。典型连接框图在PCB图如下所示下面我们了解一下嵌入式Linux的组成,嵌入式Linux大体可以看作有以下部分组成:初始化启动代码:Bootloader嵌入式Linux操作系统内核:kernel根文件系统:rootfs用户应用程序那么如何建立LINUX操作系统平台呢?首先安装交叉编译器,安装完交叉编译器后,我们可以编写用户程序了,当用户程序经过
5、交叉编译器编译以后如果没有错误便可以直接产生板子上可以跑的文件。此时必须把这个文件放到根文件系统中,通过mkcramfs工具和根文件系统一起进行打包,并下载到板子上去进行烧写,这样就可以了。在这里由于Linux文件系统里面已经提供了CS8900的读写函数,所以在Linux平台下编写网络通讯不难,在Linux下的开发工作主要是驱动程序的编写。在安装完交叉编译器后就是进行编译移植内核了,我所采用的是2.4.18的内核。再后就是建立根文件系统,我采用现有的根文件系统,在其基础上进行修改编写程序。在Linux
6、引导启动时,默认使用的文件系统是根文件系统。其中一般都包括一下一些子目录和文件:bin/包含基本的命令行实用程序,例如sh,mkfs,fdisk等。dev/列出可用的设备驱动程序。etc/目录主要含有一些系统配置文件,即包含基本的linux配置命令。lib/列出了几个不同应用程序和linux内核所需的程序库。mnt/可拆卸介质的公共装载点。proc/包含当前运行的所有内核相关的进程。sbin/包含许多系统管理命令。usr/存放库函数,手册和其他一些文件。根文件系统采用的格式是:cramfs.我们先介绍
7、一下cramfs的特点:Cramfs是一种压缩式的文件系统,它并不需要一次性的将文件系统中的内容都解压到内存中,而是在系统需要访问某个位置的数据的时候,马上计算出该数据的cramfs的位置,将其实时地解压缩到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据。Cramfs中的解压缩以及解压缩之后的内存数据放置的位置都是由cramfs文件系统本身进行维护的,用户并不需要了解具体的实现过程,因此这种方式增强了透明度,对开发人员来说,即方便,又节约了存储空间。同时在Windows下自己编一个网络通
8、讯平台如下:在ARM上跑服务器程序,在PC机上跑客户端程序,从客户端的界面上可以看到服务器的地址为192.168.2.223,端口为8000。同时把PC机的IP改为192.168.2.224,然后在Linux下用命令ping192.168.2.224来测试是否跟PC机连接成功。然后就可以进行程序的测试了,在ARM上运行服务器程序,在PC机上运行客户端程序实现数据的回传,来测试网络传送有没有问题。在ARM中的服务器程序的实现如下:#include
此文档下载收益归作者所有