ARM通讯程序的设计说明

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

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

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

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

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

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

5、LCONn指定。接收器可以检测溢出错误和帧错误。2.3功能设计ARM板方面:主要通过Uart_Getch;Uart_SendByte;两个函数负责接收数据并回传数据。 计算机PC平台方面:通过Read;Write;两个函数负责传出数据并接收回显数据。2. 4接口设计 通过UART串口通讯,首先是计算机端获取的键盘输入的数据,经过封装,用函数Write的接口发送到串口。然后在ARM板方面实现各个针脚对应的前提下,ARM板把接口接收到的数据进行解包。回发时又对数据进行封装,然后再通过接口通过串口发送给计算机,计算机通过接口读的回送的数据,然后显示出来。3 硬件设计LPC2132的最小系统以上是LP

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

7、数码管的显示。由于同时只能控制一位七段式数码管,因此需要以动态扫描的形式方能完成完整的显示。4 软件设计4.1 软件流程图在使用ARM芯片时,首先需要将芯片进行设置,这些设置包括PLL的设置,为ARM的各个部分选择合适的时钟源,并未各个端口选择合适的第一,第二或者第三功能。然后根据要完成的目标,为UART0经行初始化,然后将要发送的数据通过串口发送给PC机,PC机通过串口接收数据后,通过键盘讲一个指令通过串口返回给ARM,ARM通过串口接收到数据后,将它在发送给数码管进行显示。4.2使用UART进行串口通信,需要设置以下与UART相关的寄存器。表:UART行控制寄存器ULCONn,其功能及位描

8、述 UART行控制寄存器ULCONn表:UART行控制寄存器ULCONn位描述:表:UART控制寄存器UCONn,其功能及位UART控制寄存器表:UART控制寄存器UCONn位描述表:UART FIFO控制寄存器UFCONn,其功能及位描述UART FIFO控制寄存器表:UART FIFO控制寄存器UFCONn位描述4.3 ARM端主要代码文件4.4软件实现代码/*Copyright *主函数, 调用要实现功能的各函数*/#include config.h#include /*/#defineUART_BPS115200/ 串口通讯波特率char INFO = ARM IS READY!;/*

9、 函数名称 :write595* 函数功能 :向595芯片中写入一个数据* 入口参数 :要向595中写入的数据* 出口参数 :无*/void write595 unsigned char i; IO0CLR=17; fori=0;i if IO0SET=16; else IO0CLR=16; data=1; IO0SET=14; IO0CLR=14; IO0SET=17;/* 函数名称 :void write_data* 函数功能 :在数码管的某一位显示数据* 入口参数 :数码管的位选和数码管的段选* 出口参数 :无*/void write_data write595; write5951;*

10、 函数名称 :DelayNS* 函数功能 :长软件延时*/void DelayNS uint32 i;for 0; dly-for i=0; i;/* 函数名称 :UART0_Init* 函数功能 :串口初始化,设置为8位数据位,1位停止位,无奇偶校验,波特率115200。* 入口参数 :无* 出口参数 :无*/void UART0_Init uint16 Fdiv;PINSEL0 = PINSEL0 & | 0x05;/ 设置I/O连接到UART0U0LCR = 0x83;/ DLAB=1,允许设置波特率Fdiv = / UART_BPS;/ 设置波特率U0DLM = Fdiv / 256;U0DLL = Fdiv % 256;U0LCR = 0x03;/* 函数名称 :UART0_GetChar* 函数功能 :从串口接收字节数据,并等待接收完毕,查询方式。* 入口参数 :无* 出口参数 :Rcv_Data 要返回的数据*/char U

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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