历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2020年10月19日 | 基于UDP协议的ARM与X86平台之间的通讯方案

2020-10-19 来源:elecfans

  随着人工智能的应用,ARM产品已经遍布到各个领域:工业控制、无线通讯领域、消费类电子产品、成像和安全产品,包括现在流行的数码相机和打印机中绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用,因此,ARM与其它平台之间通讯就显得尤为重要。


  1.UDP协议本质


  UDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。


  UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535.一般来说,大于49151的端口号都代表动态端口。


  数据报的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据工作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。


  UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。


  如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。其实在UDP协议中校验功能是可选的,如果将其关闭可以使系统的性能有所提升。这与TCP协议是不同的,后者要求必须具有校验值。


  2.实现案例

  实现案例如下:在触摸屏进行画图,使其在液晶屏上显示,同时通过网络传输数据,使其在计算机屏幕上显示,并由计算机控制清除液晶屏上的图形。


  步骤如下:

  (1)新建工程

  (2)在main.c文件中编辑初始化网络函数void InitNetWork()//初始化网络{

  U32 ipaddr32,ipmaskaddr32,ipgateaddr32;

  U8 *Mac;

  ipaddr32=Get_ipaddr(); //获取IP地址

  ipmaskaddr32=Get_maskaddr();//获取子网掩码

  ipgateaddr32=Get_gwaddr(); //获取网关

  Mac=Get_mac(); //获取网卡地址NetPortChoose(0);

  //选择网口,必须在配置网络以前进行

  initOSNet(ipaddr32, ipmaskaddr32,

  ipgateaddr32,Mac);//配置网络

  OSTImeDly(1000);//任务挂起1秒

  printk(“init Ethernet and UDP is

  ok!n”);

  }


  (3)定义计算机端套接字,全局变量(4)编写Main_Task任务及消息循环主要负责响应触摸屏消息,在屏幕上画图,然后将数据传输到计算机上。


  对触摸屏消息的处理和键盘消息类似,其消息类型pMsg->Message为OSM_TOUCH_SCREEN,消息参数pMsg->LParam中包含了触摸屏的动作信息,定义如下:

  #define TCHSCR_ACTION_NULL

  0

  #define TCHSCR_ACTION_CLICK 1 //触摸

  屏单击

  #define TCHSCR_ACTION_DBCLICK 2 //触

  摸屏双击

  #define TCHSCR_ACTION_DOWN 3 //触摸

  屏按下

  #define TCHSCR_ACTION_UP 4 //触摸

  屏抬起

  #define TCHSCR_ACTION_MOVE 5 //触摸

  屏移动

  消息参数pMsg->WParam中则包含了触摸

  点的坐标信息,低16位是X坐标值,高16位是Y坐标值。这里当触摸屏产生“按下”动作后采用MoveTo()函数设置绘图起始点坐标,当产生“移动”动作后采用LineTo()函数绘制线段。


推荐阅读

史海拾趣

Elite公司的发展小趣事

随着公司规模的不断扩大和市场的不断拓展,Elite开始实施全球化战略。公司积极开拓国际市场,与全球知名企业建立合作关系,共同推动行业发展。同时,Elite还注重品牌塑造和企业文化建设,通过举办各类公益活动、提升员工福利待遇等方式,增强企业凝聚力和社会影响力。

ConnectBlue公司的发展小趣事

在产品创新的基础上,ConnectBlue公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,与多家海外企业建立了合作关系。同时,公司还注重与产业链上下游企业的合作,与多家供应商和集成商建立了长期稳定的合作关系,共同推动无线通信技术的发展和应用。

艾吉芯(Agertech)公司的发展小趣事

艾吉芯公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。通过引进高素质的研发人才和管理人才,艾吉芯建立了一支高效、专业的团队。同时,公司还注重员工的培训和发展,为员工提供广阔的职业发展空间和良好的工作环境。

Eastman Kodak Company公司的发展小趣事

随着技术的不断进步,伊士曼柯达公司不断推出新的产品和服务,以满足市场的多样化需求。在20世纪初,柯达已成为全球最大的胶卷供应商,并占据了美国摄影市场的绝大部分份额。此外,公司还积极向国际市场扩张,通过设立分支机构和办事处,将产品销往全球各地。这一时期,柯达不仅凭借其优质的产品赢得了广泛的客户基础,还树立了良好的品牌形象。

Advantech公司的发展小趣事

随着技术的不断进步,伊士曼柯达公司不断推出新的产品和服务,以满足市场的多样化需求。在20世纪初,柯达已成为全球最大的胶卷供应商,并占据了美国摄影市场的绝大部分份额。此外,公司还积极向国际市场扩张,通过设立分支机构和办事处,将产品销往全球各地。这一时期,柯达不仅凭借其优质的产品赢得了广泛的客户基础,还树立了良好的品牌形象。

BALLUFF公司的发展小趣事

20世纪50年代初,BALLUFF公司与德国Heller机床制造公司建立了合作关系。根据Heller公司的要求,BALLUFF制造了新型机床电控装置所需的凸轮开关。这一合作的成功不仅让BALLUFF获得了Heller公司的信任,更让其在机床制造领域获得了重要突破。随后,Heller公司进一步委托BALLUFF开发相关产品,这使得BALLUFF在电子机械式极限开关领域取得了重要进展,为其日后的传感器业务发展开辟了新道路。

问答坊 | AI 解惑

68013的GPIO口如何接收串行数据?

大家好,68013的GPIO口一般是用8个端口(如P0-P7)接收8位数据,或16个端口(如P0-P15)接收16位数据,也就是第一个端口接收一位数据,现在我有另一个GPIO接口,只有一条线,输出的数据是以b0,b1~b7,这样的顺序,输完一个字节,又接着输第二个字节. 请问怎样才 ...…

查看全部问答>

延时电路问题

我很菜,现在要用到一个延时5S到30S可调的电路,用这个电路(附件),R1,R2用的是可调的电位器。可是只有积分的作用没有起到延时的作用,望大家多多指点。 谢谢!…

查看全部问答>

如何在evc下使用directDraw???

那位大侠做过evc下使用directDraw???有的话给我个例子,谢谢!!!!! zhangw0407@hotmail.com…

查看全部问答>

wince下计算两个日期差!

比如一个输入  2007-10-21   ,另一个输入   2008-11-12        如何计算这两个input的差值是多少秒 精确到秒 谢谢…

查看全部问答>

STM32的电机应用套件太贵了!

                                 STM32的电机应用套件太贵了!我本想买个学习一下,价格1万多,我退却了,因为TI的DSP电机开发板目前市场才3-4千,,说道 ...…

查看全部问答>

探讨下关于不等电位的MOS管驱动

如图,请大家一起他们探讨下关于这种不等电位的MOS管驱动有哪些办法,不用专门芯片,谢谢 …

查看全部问答>

TI的Zstack,如何剪裁。。。

只需要个开关灯的功能,怎么能编译小于128k啊。。。目前是150k。。。…

查看全部问答>

恳请武林高手出山指点一二

各位大虾:            小弟最近在学习uc/os ii 在arm7 ADuC7026上的移植,想第一步实现操作系统下的简单控制,单任务,比方说LED闪烁控制,希望各位大牛门能帮忙指点一二,帮忙详细讲解一下整 ...…

查看全部问答>

自行车测速、里程计图/程序

自行车测速、里程计图/程序…

查看全部问答>