ARM通讯程序的设计说明

上传人:xmg****18 文档编号:118731469 上传时间:2019-12-24 格式:DOC 页数:18 大小:378KB
返回 下载 相关 举报
ARM通讯程序的设计说明_第1页
第1页 / 共18页
ARM通讯程序的设计说明_第2页
第2页 / 共18页
ARM通讯程序的设计说明_第3页
第3页 / 共18页
ARM通讯程序的设计说明_第4页
第4页 / 共18页
ARM通讯程序的设计说明_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《ARM通讯程序的设计说明》由会员分享,可在线阅读,更多相关《ARM通讯程序的设计说明(18页珍藏版)》请在金锄头文库上搜索。

1、. . . . .嵌入式系统二课程设计报告ARM通讯程序设计设计日期:2011年07月4日 至 2010年07月8日设计题目:ARM通讯程序设计 设计的主要内容:一、 确定大概的设计框架。二、 具体设计1、 接口设计2、 硬件设计3、 画出软件流程图,编程实现三、总结:存在问题与改善,工作小结指导教师: 2011年7月2日教师评阅意见书:评阅教师: 2011 年 月 日摘 要设计ARM板到主机的网络通信 ,大致是通过在ARM板的RS232接口接收计算机传过来的数据,然后再通过RS232回传对计算机,并在计算机上显示出来。另外,如果数据需要保存,可以保存到一个txt文本文档中。通过UART串口通

2、讯,首先是计算机端通过Console.ReadLine();获取的键盘输入的数据,经过封装,用函数Write()的接口_serialPort.Write(chars,0,1);发送到串口。然后在ARM板方面实现各个针脚对应的前提下,ARM板把接口Uart_Getch();接收到的数据进行解包。回发时又对数据进行封装,然后再通过接口Uart_SendByte(ch);通过串口发送给计算机,计算机通过接口_serialPort.ReadExisting();读的回送的数据,然后显示出来。关键字:ARM,PC机,通讯程序 ,UART1选题的意义本课题是设计ARM板到主机的网络通信。意义在于可以实现A

3、RM板与电脑主机的通讯。可以把ARM板的数据或信息发送到PC机了,数据处理完之后再发送回ARM板。可以弥补ARM板在功能上的很多不足。在微控制领域具有重大的意义。2.1 系统方案设计通过在ARM板的RS232接口接收计算机传过来的数据,然后再通过RS232回传对计算机,并在计算机上显示出来。另外,如果数据需要保存,可以保存到一个txt文本文档中。2.2实现原理 2.2.1 UART原理:S3C2410A的UART提3个独立的异步串行I/O口,他们都可以运行与中断模式或DMA模式。S3C2410的每个UART由波特率发生器、发送器、接收器以及控制单元组成。波特率发生器可以由CLK或UEXTCLK

4、提供时钟。发送器和接收器包含16字节的FIFO和数据移位器。数据被写入FIFO,然后在发送之前拷贝到发送移位器中。接下来数据通过发送数据引脚(TxDn)被移出。同时,接收到的数据从接收数据引脚(RxDn)移入,然后从移位器拷贝到FIFO中。 2.2.2数据的发送:发送的数据帧是可编程的。它包括1个起始位、58个数据为、1个可选的奇偶校验位和12个停止位,具体设置由行控制寄存器(ULCONn)指定。发送器还可以产生暂停条件,使得在帧发送期间迫使串口输出0.暂停信号在当前发送的字完成之后发出。暂停信号发出之后,继续向Tx FIFO发送数据。 2.2.3数据的接收:与数据发送类似,接收的数据帧也是可

5、编程的。它包括1个起始位、58个数据位、1个可选的奇偶校验位和12个停止位,具体设置由行控制寄存器(ULCONn)指定。接收器可以检测溢出错误和帧错误。2.3功能设计ARM板方面:主要通过Uart_Getch();Uart_SendByte(ch);两个函数负责接收数据并回传数据。 计算机PC平台方面:通过Read();Write();两个函数负责传出数据并接收回显数据。2. 4接口设计 通过UART串口通讯,首先是计算机端获取的键盘输入的数据,经过封装,用函数Write()的接口发送到串口。然后在ARM板方面实现各个针脚对应的前提下,ARM板把接口接收到的数据进行解包。回发时又对数据进行封装

6、,然后再通过接口通过串口发送给计算机,计算机通过接口读的回送的数据,然后显示出来。3 硬件设计LPC2132的最小系统以上是LPC2132的最小系统,最小系统是任何单片机开发的最核心部分,它是整个控制模块最关键的部分。如普通单片机一样它包括了外部晶振,复位电路,不过LPC2132在使用时还需另外将几个管脚拉高或者拉低。LPC2132的串口LPC2132的串口于大部分设计一样,由于一般PC机得串口外接处电源电压为5V,因而需要一块MAX232芯片将电平经行转换才行。图中由于在proteus中无法找到具体的串口,因而只有两根线,分别是数据发送和数据接收,另外的一根地线在此省去了。LPC2132的显

7、示电路LPC2132的显示电路由两块74HC595芯片串行控制的,他们在控制时,一块控制位选,一块控制段选段,从而完成对于某一位数码管的显示。由于同时只能控制一位七段式数码管,因此需要以动态扫描的形式方能完成完整的显示。4 软件设计4.1 软件流程图 在使用ARM芯片时,首先需要将芯片进行设置,这些设置包括PLL(锁相环)的设置,为ARM的各个部分选择合适的时钟源,并未各个端口选择合适的第一,第二或者第三功能。然后根据要完成的目标,为UART0经行初始化,然后将要发送的数据通过串口发送给PC机,PC机通过串口接收数据后,通过键盘讲一个指令通过串口返回给ARM,ARM通过串口接收到数据后,将它在

8、发送给数码管进行显示。4.2使用UART进行串口通信,需要设置以下与UART相关的寄存器。表 :UART行控制寄存器(ULCONn),其功能及位描述 UART行控制寄存器(ULCONn)表:UART行控制寄存器(ULCONn)位描述 :表:UART控制寄存器(UCONn),其功能及位UART控制寄存器表:UART控制寄存器(UCONn)位描述表:UART FIFO控制寄存器(UFCONn),其功能及位描述UART FIFO控制寄存器表:UART FIFO控制寄存器(UFCONn)位描述4.3 ARM端主要代码文件4.4 软件实现代码/*Copyright (c)*主函数, 调用要实现功能的各函

9、数*/#include config.h#include /*/#defineUART_BPS115200/ 串口通讯波特率char INFO = ARM IS READY!;/* 函数名称 :write595()* 函数功能 :向595芯片中写入一个数据* 入口参数 :要向595中写入的数据* 出口参数 :无*/void write595(unsigned char data) unsigned char i; IO0CLR=17; for(i=0;i8;i+) if(data&0x80) IO0SET=16; else IO0CLR=16; data=1; IO0SET=14; IO0CL

10、R=14; IO0SET=17;/* 函数名称 :void write_data()* 函数功能 :在数码管的某一位显示数据* 入口参数 :数码管的位选和数码管的段选* 出口参数 :无*/void write_data(unsigned char d,unsigned char n) write595(segd); write595(10; dly-)for (i=0; i50000; i+);/* 函数名称 :UART0_Init()* 函数功能 :串口初始化,设置为8位数据位,1位停止位,无奇偶校验,波特率115200。* 入口参数 :无* 出口参数 :无*/void UART0_Init (void)uint16 Fdiv;PINSEL0 = (PINSEL0 & (0x0F) | 0x05;/ 设置I/O连接到UART0U0LCR = 0x83;/ DLAB=1,允许设置波特率Fdiv = (Fpclk / 16) / UART_BPS;/ 设置波特率U0DLM = Fdiv / 256;U0DLL = Fdiv % 256;U0LCR = 0x03;/* 函数名称 :UART0_GetC

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号