基于ARM9的串行通讯设计.docx

上传人:b****1 文档编号:444351 上传时间:2022-10-10 格式:DOCX 页数:9 大小:417.24KB
下载 相关 举报
基于ARM9的串行通讯设计.docx_第1页
第1页 / 共9页
基于ARM9的串行通讯设计.docx_第2页
第2页 / 共9页
基于ARM9的串行通讯设计.docx_第3页
第3页 / 共9页
基于ARM9的串行通讯设计.docx_第4页
第4页 / 共9页
基于ARM9的串行通讯设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于ARM9的串行通讯设计.docx

《基于ARM9的串行通讯设计.docx》由会员分享,可在线阅读,更多相关《基于ARM9的串行通讯设计.docx(9页珍藏版)》请在冰豆网上搜索。

基于ARM9的串行通讯设计.docx

基于ARM9的串行通讯设计

 

 

《嵌入式系统设计与应用》

课程设计

题目基于ARM9的串行通讯设计

学生姓名王郸

学号20131341003

学院信息与控制学院

专业测控技术与仪器

同组成员赵玉斌、马子涵

指导教师孙伟

 

二O一六年六月五日

 

基于ARM9的串行通讯设计

赵玉斌王郸马子涵

南京信息工程大学信息与控制学院,南京210044

摘要:

嵌入式是以应用为中心,以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,随着嵌入式系统的发展和大规模应用,为了提升系统的整体性能,必须实现PC机和嵌入式计算机之间的通信。

本文通过基于FL2440的嵌入式串口通信的实现,较为详细地介绍了串口通信的硬件电路和软件实现方法。

通过与计算机串口间的连接,实现在ARM平台上,传输率115200bps,接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端,实现监测,与外部设备通信的基本功能。

关键词:

嵌入式系统、串口通信、ARM平台。

DesignofserialcommunicationbasedonARM9

YubinZhaoDanWangZihanMa

SchoolofInformationandControl,NanjingUniversityofInformationScienceandTechnology,Nanjing210044

Abstract:

Embeddedisapplication-centric,basedoncomputertechnology,hardwareandsoftwarecanbetailoredtoadaptapplicationfunctionality,reliability,cost,size,powerconsumption,demandingspecialcomputersystem,withthedevelopmentofembeddedsystemsandapplications,inordertoimprovetheoverallperformanceofthesystem,youmustimplementthecommunicationbetweenPCandembeddedcomputers.ThroughembeddedimplementationofserialportcommunicationbasedonFL2440,describesindetailthehardwareandsoftwareimplementationofserialcommunication.Throughtheconnectionwiththecomputerserialport,achievedonARMplatforms,transmissionrate115200bps,receivedfromtheserialport(viaHyperTerminal)charactersandcharactersthatwillreceivethemessagetoSuperTerminalandthemonitoring,thebasicfunctionofcommunicatingwithexternaldevices.

keywords:

EmbeddedSystem,serial communication,ARMplatform.

一、设计内容

1.1设计任务

编写串口程序,使开发板收到数据后再把数据发回。

本课程设计可以使同学们通过电路设计、安装、调试、整理资料等环节,对ARM920T的嵌入式串口通信系统的实际应用有深入的了解,培养了学生的软硬件动手能力,是对学生所学专业知识、理论、技能和培养学生独立完成基本科研任务能力的一个综合检验,具有一定的效果和意义。

1.2设计目的

(1)注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。

(2)了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。

(3)熟悉ADS集成开发环境的基本功能,熟悉FL2440寄存器配置方法,了解ARM920T的串行口工作原理。

(4)编程实现ARM的UART通讯,通过软硬件设计实现开发板与PC机之间的串行收发数据。

1.3设计要求

实现查询方式串口的收发功能。

接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。

(1)初步掌握电子电路分析和设计的基本方法。

(2)养一定自学能力和独立分析问题、解决问题能力。

(3)掌握安装、布线、调试等基本技能,巩固常用仪器的正确使用方法。

(4)通过严格的科学训练和工程设计实践,树立严肃认真、一丝不苟、实事求是的科学作风,并培养学生具有一定的生产观点、经济观点、全面观点及团结协作的精神。

 

二、设计方案

2.1系统组成

FL2440嵌入式系统开发板上包含串口电路、电源、晶振、复位电路,再通过RS232串口线将PC机和开发板连接到一起,这几部分共同作用实现了嵌入式系统与计算机的串行通信。

图1系统设计框图

2.2系统工作原理

2.2.1S3C2410X串行通信(UART)单元

S3C2410XUART单元提供三个独立的异步串行通信接口,皆可工作于中断和DMA模式,使用系统时钟最高波特率达256Kbps,如果使用外部设备提供的时钟,可以达到更高的速率。

每一个UART单元包含一个16字节的FIFO用于数据的接收和发送。

系统中采用RS-232的电平转换芯片实现串口的通信。

TTL/CMOS输入输出信号与ARM的UART输入/输出口对接[1]。

UART的接收/发送模式在控制寄存器UCONn被设置成中断请求方式[2]。

CMOS是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片,是电脑主板上的一块可读写的RAM芯片。

因为可读写的特性,所以在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据,这个芯片仅仅是用来存放数据的。

TTL逻辑门电路由晶体三极管和电阻构成,具有速度快的特点[3]。

2.2.2波特率的产生

波特率由一个专用的UART波特率分频寄存器(UBRDIVn)控制,计算公式如下:

UBRDIVn=(int)(ULK/(bps×-16))

或者UBRDIVn=(int)(PLK/(bps×16)-1)

其中:

时钟选用ULK还是PLK有UART控制寄存器UCONn[10]的状态决定。

如果UCONn[10]=0用PLK作为波特率发生,否则选用ULK做波特率发生。

UBRDIVn的值必须是1到()之间。

例如:

ULK或者PLK等于40MHz,当波特率为115200时,

UBRIVn=(int)(40000000/115200×16)-1=(int)(21.7)-1=20

2.2.3电气特性

要完成基本的通信功能,实际上值需要RXD、TXD和GND即可,但由于RS-232-C标准所定义的高、低电平信号于S3C2440A系统的LVTTL电路定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2-3.3V,标准逻辑“0”对应0-0.4V,而RS-232C标准采用负逻辑方式,逻辑“1”对应-5――15V,标准逻辑“0”对应+5-+15V。

显然两者间要进行通信,必须经过电平的转换,转换芯片采用max202[4]。

2.2.4串口通信的原理

串行端口的本质功能是作为CPU和串行设备间的编码转换器。

当数从CPU经过串行端口发送出去时,字节数据转换为串行的位。

在接收数据时,串行的位被转换为字节数据。

串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资源(关闭串口)。

2.2.5数据发送与接收

据发送帧的格式是可编程的,它包含一个开始位,5到8个数据位,一个可选的奇偶位和一个或两个停止位,这些可以通过线性控制器(UCONn)来设置。

发送器也能够产生发送中止条件。

中止条件迫使串口输出保持在逻辑0状态,这种状态保持一个传输帧的时间长度。

通常在一帧传输数据完整地传输完之后,在通过这个全0的状态将中止信号发送给对方。

中止信号发送之后,传送数据连续放到FIFO中(在不使用FIFO模式下,将被放到输出保持寄存器)。

数据发送一样,数据接收的帧也是可以编程的,它包含一个开始位,5到8个数据,一个可选的奇偶位和一位到两位停止位,他们是通过线性控制器(ULCONn)来设置的。

接收器能够检测溢出错误,奇偶检验错误,帧错误和中止状况,每种情况下都将会产生一个错误标志置位。

三、硬件设计

3.1设计思路

采用FL2440开发板,核心板6层,底板2层,可稳定运行在400MHz。

接口丰富,功能强大,适用与各种设备。

开发板有一个3通道UART,可以基于DMA模式或中断模式工作。

支持5位、6位、7位或者8位串行数据发送/接收。

支持外部时钟作为UART的运行时钟(UEXTCLK)。

波特率可编程,支持IrDA1.0,具有测试用的回还模式。

每个通道都具有内部64字节的发送FIFO和64字节的接收FIFO。

通过一根RS232串口线将FL2440开发板和PC机连接在一起,实现数据的收发。

在嵌入式多串口服务器中,硬件的核心任务是:

实现多串口的以太网转换网关,它能连接多个RS232串口设备,并将串口数据进行选择和处理,把RS232接口的数据流转换成以太网数据流,这样就可以进行网络化的数据处理,实现串行数据的网络化,从而在原有的网路基础上简化布线复杂度[5]。

3.2系统电路设计

如图所示,RS232接口通过连接DTR、RTS、CTS、RI来控制收发状态,而TXD为发送数据线,RXD为接收数据线,分别控制着数据的发送与接收。

只要给该电路上以5V的电源,保证接地端正常接地,电路就可以正常运行。

图2系统电路图

四、软件设计

4.1设计思路

首先设置定时器寄存器、端口寄存器,然后等待ARM发送请求,当收到请求时,发送一个应答信号,并进行校验和清零,然后发送数据并求校验和,当数据发送完成时,发送校验和,检验ARM是否接受正确,如果接受正确,则返回。

图3系统程序流程图

4.2程序清单

(1)程序初始化

AREA|DATA|,CODE,READONLY

ENTRY

ldrr13,=0x1000

IMPORTTSmain

bTSmain

END

(2)主程序

#defineULCON0(*(volatileunsigned*)0X50000000)//UART线控制寄存器

#defineUCON0(*(volatileunsigned*)0X50000004)//UART控制寄存器

#defineUFCON0(*(volatileunsigned*)0X50000008)//FIFO控制寄存器

#defineUTRSTAT0(*(volatileunsigned*)0X50000010)//UART状态寄存器

#defineUBRDIV0(*(volatileunsigned*)0X50000028)//波特率

#defi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1