您的位置 首页 IC

根据RS485的PC与ARM之间文件传输的完成

1.引言在产业控制场合中,常会要求通过PC向嵌进式微机传输图片文件、数据文件等。RS485由于价格便宜、操纵简单、使用者可以随意编写应用协议等优点,被广泛应用在中等长间隔的控制通讯中。因此,利

  1. 导言

  在工业操控场合中,常会要求经过PC向嵌进式微机传输图片文件、数据文件等。RS485因为价格便宜、操作简略、运用者能够随意编写运用协议等长处,被广泛运用在中等长距离的操控通讯中。因而,运用RS485完结PC到嵌进式体系的文件传输,非常具有现实意义。

  本文以根据ARM9的三星S3C2410A为嵌进式微处理器,嵌进式Linux为嵌进式操作体系树立一个嵌进式体系,成功完结了PC经过RS485向嵌进式体系传输文件。

  2. RS485接口介绍

  RS485是一种多点、双向、平衡传输规范,被命名为TIA/EIA-485-A规范。

  RS485由RS232开展而来,它改进了RS232通讯距离短、速率低的缺陷。RS485是一种平衡通讯接口,传输速率最高可达10Mbit/s,最大传输距离约为1219m,并答应在一条平衡总线上衔接最多32个设备。RS485的共模输出电压是-7V~+12V[5]。

  3. 硬件规划

  本文选用FriendlyARM公司的Nano2410V2中心板作为中心处理器模块,并配以外围电路。Nano2410V2中心板以S3C2410A为CPU[1]。

  把S3C2410A的UART0分配给RS485总线,由芯片MAX485完结TTL到差分信号的转化,RS485方向操控线占用GPB2,如图1所示[2]。

    

 

  图1 硬件连线图

  PC上运用RS232/RS485转化器,完结RS232到RS485的转化。

  4. RS485驱动程序

  RS485规范只对接口的电气特性作出规定,而不触及插件、电缆或协议[5]。因而,在Linux下运用RS485接口,可凭借串口驱动程序完结。可是,RS485是半双工的,比起RS232,需求多加一个I/O口来操控RS485的方向,该I/O口在发送数据时置高,接纳数据时置低。

  发送数据:

  ioctl(fd485, 1, 0); //fd485:方向操控I/O口驱动设备文件的fd

  write(fdtty, &bufout, 1); //fdtty:串口驱动设备文件的fd

  delay();

  读取数据:

  ioctl(fd485, 0, 0);

  read(fdtty, &bufin, 1) ;

  方向操控线的驱动程序规划:

  界说file_operatiONs[3][4]:

  static struct file_operations io485_fops=

  {

  owner:THIS_MODULE,

  ioctl:io485_ioctl

  };

  函数io485_ioctl用于设置RS485接口的方向:cmd为0时,设为输进;cmd为1时,设为输出[3][4]。

  static int io485_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)

  {

  switch(cmd)

  {

  case 0:

  case 1:

  write_gpio_bit(GPIO_B2, cmd);

  return 0;

  default:

  return -EINVAL;

  }

  }

  5. 自界说数据帧格局

  在这里数据帧格局指的是发送方发送一个文件或许接纳方接纳一个文件的完好进程所需求的每一个字节元素的意义[5]。

  本文界说格局如下:

  (1) 开端符:标志开端传输文件,1个字节。

  (2) 文件名长度:所传输文件的文件名的长度,1个字节。

  (3) 文件名:所传输文件的文件名,字节数由文件名长度决议。

  (4) 文件巨细:所传输文件的巨细,4个字节。

  (5) 文件内容:所传输文件的数据,字节数由文件巨细决议。

  (6) ACK:承认信号。接纳方给发送方的反应信号,表明数据接纳完结,1个字节。

  6. 程序流程

  本文关于传输文件,选用的办法为:发送端翻开要传输的文件,读取文件数据,然后经过串口向外发送;接纳端先树立一个空文件,然后把从RS485接口读到的内容写进该文件里。

  数据校验:为避免文件数据在传输的进程中,丢掉或犯错,进行校验是必要的。在这里,选用的校验办法是:发送端每发送n个字节,就取1个字节作为校验字节。该字节是前n个字节异或运算的成果;接纳端每接纳n个字节,就对该n个字节进行异或运算,并把成果与校验字节作比较,相同则传输继续进行,不同则要求发送端从头发送。

  在本文中,ARM作为文件接纳方,PC作为文件发送方,接纳方程序流程图如图5所示,发送方的程序流程与接纳方互补即可。

    

 

  图2 程序流程图

  7. 结语

  经过PC向嵌进式微机传输文件在嵌进式体系运用中常常需求。而RS485因为其杰出长处,广泛运用在工业操控中。因而经过RS485完结PC到嵌进式体系的文件传输,非常具有现实意义。

  本文作者立异点:提出了一种简略的RS485驱动程序规划办法,并以一种简略、有用、牢靠的办法成功完结了PC经过RS485向ARM传输文件。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/229715.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部