s3c2410串口控制器原理与编程

合集下载

实验2S3C2410GPIO控制实验

实验2S3C2410GPIO控制实验

实验2 S3C2410GPIO控制实验一、实验目的1.熟悉ADS1.2 开发环境,正确使用仿真调试电缆进行编译、下载、调试。

2.了解S3C2410 的通用I/O 接口,3.掌握I/0 功能的复用并熟练的配置,4.对相应I/0接口进行编程实验,控制实验箱LED 灯点亮。

二、实验设备硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。

软件:PC 机操作系统REDHAT LINUX 9.0+超级终端(或X-shell)+ARM-LINUX 开发环境。

三、预备知识S3C2410 CPU 共有117个多功能复用输入输出口,分为8组端口:●4个16位的I/O端口(PORT C、PORT D、PORT E、PORT G)●2个11位的I/O端口(PORT B 和PORT H)●1个8位的I/O端口(PORT F)●1个23位的I/O端口(PORT A)这些通用的GPI/O接口,是可配置的, PORTA除功能口外,它们仅用作输出使用,剩下的PORTB、PORTC、PORTD、PORTE、PORTF、PORTG均可作为输入输出口使用。

配置这些端口,是通过一些寄存器来实现的,这些寄存器均有各自的地址,位长32位。

往该地址中写入相应的数据,即可实现功能及数据配置。

GPACON (0x56000000) //Port A controlGPADAT (0x56000004) //Port A dataGPBCON (0x56000010) //Port B controlGPBDAT (0x56000014) //Port B dataGPBUP (0x56000018) //Pull-up control BGPCCON (0x56000020) //Port C controlGPCDAT (0x56000024) //Port C dataGPCUP (0x56000028) //Pull-up control CGPDCON (0x56000030) //Port D control GPDDAT (0x56000034) //Port D data GPDUP (0x56000038) //Pull-up control D GPECON (0x56000040) //Port E control GPEDAT (0x56000044) //Port E data GPEUP (0x56000048) //Pull-up control E GPFCON (0x56000050) //Port F control GPFDAT (0x56000054) //Port F data GPFUP (0x56000058) //Pull-up control F GPGCON (0x56000060) //Port G control GPGDAT (0x56000064) //Port G data GPGUP (0x56000068) //Pull-up control G GPHCON (0x56000070) //Port H control GPHDAT (0x56000074) //Port H data GPHUP (0x56000078) //Pull-up control H 现用C口举例说明。

S3C2410X UART工作原理_ARM嵌入式系统原理与开发_[共7页]

S3C2410X UART工作原理_ARM嵌入式系统原理与开发_[共7页]

第4章基于S3C2410的硬件结构与接口编程1234.7.3 S3C2410X UART工作原理1.UART的工作机制下面介绍UART的一些工作机制,包括数据发送、数据接收、中断产生、波特率发生等、回环(loop-back)模式、红外模式、自动流控制等。

(1)数据发送发送数据的帧结构是可编程的,它由1个起始位、5~8个数据位、1个可选的奇偶位和1~2个停止位组成,这些可以在线控制寄存器ULCONn中设定。

接收器可以产生一个断点条件—使串行输出保持1帧发送时间的逻辑0状态。

当前发送字被完全发送出去后,这个断点信号随后发送。

断点信号发送之后,继续发送数据到Tx FIFO(如果没有FIFO则发送到Tx保持寄存器)。

(2)数据接收与数据发送一样,接收数据的帧格式也是可编程的。

它由1个起始位、5~8个数据位、1个可选的奇偶位和1~2个停止位组成,这些可以在行控制寄存器ULCONn中设定。

接收器可以探测到溢出错误和帧错误。

溢出错误:在旧数据被读出来之前新的数据覆盖了旧的数据。

帧错误:接收数据没有有效的停止位。

当在3个字时间(与字长度位的设置有关)内没有接收到任何数据并且Rx FIFO非空时,将会产生一个接收超时条件。

(3)自动流控制(AFC)S3C2410X的UART0和UART1通过n RTS and n CTS信号支持自动流控制,如连接到外部UART时。

如果用户希望将UART连接到一个MODEM,可以在UMCON n寄存器中禁止自动流控制,并且通过软件控制nRTS信号。

在AFC时,n RTS由接收器的状态决定,而n CTS信号控制发送器的操作。

只有当n CTS信号有效的时候(在AFC时,n CTS意味着其他UART的FIFO准备接收数据)UART发送器才会发送FIFO中的数据。

在UART接收数据之前,当它的接收FIFO多于2字节的剩余空间时n RTS必须有效,当它的接收FIFO少于1字节的剩余空间时n RTS必须无效(n RTS意味着它自己的接收FIFO开始准备接收数据)。

S3C2410的串口UART及编程ppt课件

S3C2410的串口UART及编程ppt课件



6.2.7 波特率分频寄存器UBRDIV
波特率分频寄存器UBRDIV的定义和使用在6.1.2中已叙述, 不再重复。


6.2.8 UART单元各寄存器的定义
在随书提供的软件包2410test中,在2410addr.h文件中有关于 UART单元各寄存器的定义。
ppt课件 11







//UART #define rULCON0 ( * (volatile unsigned * )0x50000000)//UART 0 Line control #define rUCON0 ( * (volatile unsigned * )0x50000004)//UART 0 control #define rUFCON0 ( * (volatile unsigned * )0x50000008)//UART 0 FIFO control #define rUMCON0 ( * (volatile unsigned * )0x5000000c)//UART 0 Modem control #define rUTRSTAT0 ( * (volatile unsigned * )0x50000010)//UART 0 Tx/Rx status #define rUERSTAT0 ( * (volatile unsigned * )0x50000014)//UART 0 Rx error status #define rUFSTAT0 ( * (volatile unsigned * )0x50000018)//UART 0 FIFO status
ppt课件
9


6.2.4 UART MODEM控制寄存器UMCONn

S3C2410触摸屏驱动程序原理图

S3C2410触摸屏驱动程序原理图

S3C2410触摸屏驱动程序原理图本文介绍了基于三星S3C2410X微处理器,采用SPI接口与ADS7843触摸屏控制器芯片完成触摸屏模块的设计。

具体包括在嵌入式Linux操作系统中的软件驱动开发,采用内核定时器的下半部机制进行了触摸屏硬件中断程序设计,采用16个时钟周期的坐标转换时序,实现触摸点数据采集的方法,给出了坐标采集的流程。

设计完成的触摸屏驱动程序在博创公司教学实验设备UP-NETARM2410-S平台上运行效果良好。

引言随着信息家电和通讯设备的普及,作为与用户交互的终端媒介,触摸屏在生活中得到广泛的应用。

如何在系统中集成触摸屏模块以及在嵌入式操作系统中实现其驱动程序,都成为嵌入式系统设计者需要考虑的问题。

本文主要介绍在三星S3C2410X微处理器的硬件平台上进行基于嵌入式Linux的触摸屏驱动程序设计。

硬件实现方案SPI接口是Motorola推出的一种同步串行接口,采用全双工、四线通信系统,S3C2410X是三星推出的自带触摸屏接口的ARM920T内核芯片,ADS7843为Burr-Brown生产的一款性能优异的触摸屏控制器。

本文采用SPI接口的触摸屏控制器ADS7843外接四线电阻式触摸屏,这种方式最显著的特点是响应速度更快、灵敏度更高,微处理器与触摸屏控制器间的通讯时间大大减少,提高了微处理器的效率。

ADS7843与S3C2410的硬件连接如图1所示,鉴于ADS7843差分工作模式的优点,在硬件电路中将其配置为差分模式。

图1触摸屏输入系统示意图嵌入式Linux系统下的驱动程序设备驱动程序是Linux内核的重要组成部分,控制了操作系统和硬件设备之间的交互。

Linux 的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,成为设备文件。

应用程序可以打开、关闭、读写这些设备文件,对设备的操作就像操作普通的数据文件一样简便。

为开发便利、提高效率,本设计采用可安装模块方式开发调试触摸屏驱动程序。

s3c2440工作原理

s3c2440工作原理

s3c2440工作原理
S3C2440是一款ARM11核心的微处理器,其工作原理可以概括为以下几
个方面:
1. 地址空间管理:S3C2440的存储器控制器具有大小端模式选择、可编程
的访问位宽、8个存储器banks等特点。

每个bank有128M 的字节(总
共1G字节/8个banks)。

其中,前6个存储器bank(bank0-bank5)可以是ROM、SRAM等类型的存储器,而后两个存储器bank(bank6-
bank7)则可以作为ROM、SRAM、SDRAM等类型的存储器。

2. 数据传输方式:S3C2440提供了三个UART端口,每个UART端口都可以通过查询、中断和DMA方式传输数据。

当发送数据时,CPU先将数据写入发送FIFO中,然后UART会自动将FIFO中的数据复制到“发送移位器”中,发送移位器将数据一位一位地发送到TXDn数据线上。

接收数据时,“接收移位器”将RXDn数据线上的数据一位一位地接收进来,然后复制到接收FIFO中,CPU即可从中读取数据。

3. 寄存器配置:S3C2440的UART有3个独立通道,每个通道支持的停止位有1位、2位,数据位有5、6、7、8位,支持校验功能,另外还有红外发送/接收功能。

这些功能通过相应的寄存器进行配置。

以上信息仅供参考,如需了解更多信息,建议查阅S3C2440的硬件手册或相关技术文档。

第六章 S3C2410的串口UART及编程

第六章 S3C2410的串口UART及编程
式。使用系统时钟最高波特率达230. 4 kb/s,如果 使用外部设备提供的时钟,可以达到更高的速率。 每一个UART单元包含一个16字节的FIFO发送缓冲 器和一个16字节的FIFO接收缓冲器,用于数据的接 收和发送。
S3C 2410X UART支持可编程波特率、红外发 送/接收( 只UART2 )、1个或2个停止位、5位/6位/7 位/8位数据宽度和奇偶校验。
发送数据帧是可编程的。一个数据帧包含1个 起始位、5~8个数据位、1个可选的奇偶校验 位和1~2位停止位,停止位位数通过行控制 寄存器ULCONn配置。
6.2 UART的控制寄存器
6.2.1 UART线路控制寄存器ULCONn
该寄存器的位6决定是否使用红外模式, 位5、位4和位3决定校验方式,位2决定 停止位长度,位1和位0决定每帧的数据 位数。具体如表6-1所示:
第六章 S3C2410的串口 UART及编程
主要内容:
6.1 S3C2410的串口UART概述 6.2 UART的控制寄存器 6.3 UART通信程序例子
6.1 S3C2410的串口UART概述
6.1.1 S3C2410串行通信(UART)单元
S3C2410 UART单元提供3个独立的异步串行通信 接口,皆可工作于中断和DMA模
6.1.2 波特率的产生
波特率由一个专用的UART波特率分频寄存 器(UBRDIVn)(n=0~2)控制,计算公式如 下 UBRDIVn=(int)[ULK/(波特率× 16)]-1
或者 UBRDIVn=(int) [PLK/(波特率× 16)]- 1
6.1.3 UART通信操作
下面简略介绍UART操作,关于数据发送、 数据接收、中断产生、波特率产生、查询检 测模式、红外模式和自动流控制的详细介绍, 请参照相关教材和数据手册。

第10~11章S3C2410串口

第10~11章S3C2410串口
NANCHANG UNIVERSITY
§10.2.4 I2C编程 编程
• 详见附录
嵌入式系统设计
南昌大学信息工程学院
• I2C总线是嵌入式系统中常用的网络接口, 它常用于将微控制器链接到系统的总线, 其通信方式采用串行数据传送,可以达到 100kb/s的数据速率。是一种易实现、低 成本、中速的嵌入式网络。 • I2C总线协议包含了2层协议:物理层和数 据链路层。
嵌入式系统设计
南昌大学信息工程学院
南昌大学
NANCHANG UNIVERSITY
南昌大学
NANCHANG UNIVERSITY
嵌入式系统设计
南昌大学信息工程学院 2010年 2010年1月 南昌
嵌入式系统设计
南昌大学信息工程学院
南昌大学
NANCHANG UNIVERSITY
第10~11章 S3C2410的串行接口 S3C2410的串行接口
• S3C2410芯片有3个UART(通用串行接收和 传送)接口,这些接口用于支持异步串行通 信。它们是相互独立的异步串行I/O端口,每 个端口都可在基于中断方式或DMA方式下操 作。 • 每个UART的波特率产生器都为自身的传送器 和接收器提供连续的发送和介绍时钟。波特 率时钟是通过把源时钟(即PCLK或UCLK)和 UART的波特率除数寄存器(UBRDIVn)产生的 16位的除数相除产生的。其计算公式如下: • 除数 = (PCLK/(波特率×16))- 1
南昌大学
NANCHANG UNIVERSITY
§1.3
通信实例
• 下图是一个RS-232接口电路。电路中所采 用的电平转换电路芯片为MAX3232, S3C2410芯片的UART0相关引脚(即:TxD0 、RxD0、nRTS0、nCTS0)经过MAX3232电 平转换后连接到DB9型的插座上。这样就 可以使用S3C2410芯片内部的UART0部件来 控制符合RS-232标准的串行通信。

S3C2410串口通讯

S3C2410串口通讯

项目二串口通讯
姓名:学号:班级:
一、实训任务
1、了解异步串行方式的特点
2、通过实验掌握串行数据通信协议的使用。

3、通过实验掌握S3C2410X 处理器的使用
二、实训内容
1、编写一个S3C2410X处理器的串口通信程序,监视串行口UART0动作,将从
UART0接收到的字符串回送显示。

2、2、写入EEPROM 某一地址,再从该地址读出,输出到超级终端;把读出内
容和写入内容进行比较,检测S3C2410X 处理器通过ic接口,是否可以正常读写。

三、实训过程
1、原理图
2、流程图
打开MDK下的int_test工程,观察发送和接收的函数设定,以便主程序中调用。

#include "uart_test.h"
#include "sys_init.h"
main( )
{
unsigned char data;
sys_init(); /* Initial s3c2410's Clock, MMU, Interrupt,Port and UART */ uart_init(0,9600,UART0); //调用函数
while(1)
{
data=uart_getch(); //接收函数
uart_sendbyte(data); //发送函数
}
}
在PC上运行调试并将硬件的串口线接好,输入想要发送的数字,并以回车键作为发送字符串的结尾标志,观察实验结果。

四、实训体会
本次实验主要是调用例程的程序在主程序中应用,减少了大量的程序编写,同时应该注意程序中设置的波特率应与调试串口的端口设置对应。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◦ 设置相关管脚的中断请求电平触发方式: rEXTINT0=rEXTINT0&(~0x7)|0x2;
◦ 将编程的中断处理函数地址填入中断向量表中的相应项 *pEint0=(unsigned)handleEint0;
◦ 开启相应的中断: Enab兵 20092010下学期
•软件学院 罗家兵 20092010下学期
S3c2410中断控制器的学习还没完全讲完(二级中断、 FIQ中断等),考虑到我们试验过程中需要通过串口打 印信息来监控目标程序(以前的实验是通过发光二极 管来监控目标程序运行状况)以更好地反应目标程序 的运行状况,所以我们先学习串口控制器的原理与编 程后再讲中断控制机的剩余部分。 本周课程主要内容如下:
1. 串口通信概述(大课) 2. S3c2410串口控制器原理(大课) 3. S3c2410串口控制器编程(小课)
学习重点:
➢ S3c2410串口控制器编程——查询方式(小课)
•软件学院 罗家兵 20092010下学期
串行通信接口标准经过使用和发展,目前已经有几 种。但都是在RS-232标准的基础上经过改进而形 成的。所以,以RS-232C为主来讨论。RS-323C 标准是美国EIA(电子工业联合会)与BELL等公司一 起开发的1969年公布的通信协议。它适合于数据 传输速率在0~20000b/s范围内的通信。这个标 准对串行通信接口的有关问题,如信号线功能、电 器特性都作了明确规定。由于通行设备厂商都生产 与RS-232C制式兼容的通信设备,因此,它作为一 种标准,目前已在计算机通信接口中广泛采用。
中断清除的试验:
注释掉ClearPending(BIT_EINT0);后再观察结果并分析原因 注释掉rSRCPND = bit; 后再观察结果并分析原因 注释掉rINTPND = bit; 后再观察结果并分析原因 INTMASK的试验: 在memory的观察窗口中输入0x4a000008,并改为二进制
每个字符的数据位长可以约定为:5位、6位、7位或8 位,一般采用ASCII编码,后面时奇偶校验位,根据约 定,用奇偶校验位将所传的字符中为“1”的位数凑成奇 数个或偶数个。也可以约定不要奇偶校验,这样就取消 奇偶校验位。
最后时表示停止位的“1”信号,这个停止位可以约定连 续1位、1.5位或2位的时间宽度。
•软件学院 罗家兵 20092010下学期
S3C2410 的UART(通用异步串行口)有三个独立的异 步串行I/O 端口:UART0、UART1、UART2,每个串口都 可以在中断和DMA 两种模式下进行收发。UART支持的最 高波特率达230.4kbps。
每个UART 包含:波特率发生器、接收器、发送器和控 制单元。波特率发生器以PCLK或UCLK为时钟源。发送器 和接收器各包含1个16 字节的FIFO 寄存器和移位寄存器。
至此一个字符传送完毕,线路又进入空闲,持续为“1”。 经过一段随机的时间后,下一个字符开始传送。
•软件学院 罗家兵 20092010下学期
传输速率: 每一个数据位的宽度定于发送波特率的倒数。微机异步串行 通信中,常用的波特率为110、150、300、600、1200、 2400、4800、9600、57600、115200等。
•软件学院 罗家兵 20092010下学期
串行通信的传输格式: 串行通信是计算机之间一种常见的近距离通信手段, 因使用方便,编程简单而广泛使用,几乎所有的微 控制器都提供串行通信接口。
•软件学院 罗家兵 20092010下学期
开始前,线路处于空闲状态,送出连续“1”。传送开始 时首先发一个“0”作为起始位,然后出现在通信线桑的 时字符的二进制编码数据。
格式,将最低位改位1,按键观察结果;再将低位改成0,再 观察结果(不按键!)。
CPSR中的I位试验:在寄存器窗口中将cpsr中的0改成1,按 键观察结果;再将cpsr中的1改成0,再观察结果(不按 键!)。
把中断处理程序的关键字“__irq”去掉后在编译链接看能否 正常运行。
参照数据手册改变外部中断0的触发方式,再观察实验结果。
•软件学院 罗家兵 20092010下学期
在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设 备DTE(Data Terminal Equipment)与数据通信设备 DCE(Data Communication Equipment)而制定的。 因此这个标准的制定,并未考虑计算机系统的应用要求。 但目前它又广泛地被借来用于计算机(更准确的说,是 计算机接口)与终端或外设之间的近端连接标准。显然, 这个标准的有些规定及和计算机系统是不一致的,甚至 是相矛盾的。有了对这种背景的了解,我们对RS232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的"发送"和"接收",都是 站在DTE立场上,而不是站在DCE的立场来定义的。由 于在计算机系统中,往往是CPU和I/O设备之间传送信 息,两者都是DTE,因此双方都能发送和接收。
大课S3c2410中断控制器工作原理的一级中断信号传 递过程
小课通过实验验证了s3c2410中断控制器一级中断信号 传递通路中的相关影响因素
学会了s3c2410通过中断的方式使用外部管脚编程的步 骤:
◦ 设置相应管脚为中断输入工作方式: rGPFCON=rGPFCON&(~(0xff<<8|0x3))| (0x55<<8|0x2);
电气特性 要完成基本的通信功能,实际上值仅需要RXD、TXD和GND 即可,但由于RS-232-C标准所定义的高、低电平信号于 S3C32410系统的LVTTL电路定义的高、低电平信号完全不 同,LVTTL的标准逻辑“1”对应2-3.3V,标准逻辑“0”对 应0-0.4V,而RS-232-C标准采用负逻辑方式,逻辑“1” 对应-5――15V,标准逻辑“0”对应+5-+15V。显然两 者间要进行通信,必须经过电平的转换,转换芯片采用 max232
相关文档
最新文档