




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章第五章 ARMARM接口设计技术接口设计技术2内容提要内容提要A/D和和D/A转换器接口转换器接口通讯与中断接口通讯与中断接口LCD显示器与触摸屏接口(了解)显示器与触摸屏接口(了解)LED显示器显示器键盘接口键盘接口ARM的的JTAG接口接口3芯片芯片S3C44B0XS3C44B0X S3C44B0X S3C44B0X是基于是基于ARM7TDMIARM7TDMI的体系结构的体系结构, ,是是ARMARM公公司最早为业界普遍认可并且赢得最广泛应用的司最早为业界普遍认可并且赢得最广泛应用的处理核。处理核。4基于ARM架构的32位微处理器Sam sung S3C44B0XLCD显示USB接口
2、 USBN9603两个RS-232串行通信接口JTAG调试端口TCP/IP协议CAN BUS键盘输入16MB非线性Flash(硬盘)8MBSDRM(系统内存)1MB线性Flash(BIOS)lS3C44B0XS3C44B0X具有具有7171个通用多功能输入输出引脚,个通用多功能输入输出引脚,l这些这些I/OI/O口的应用是口的应用是S3C44BOXS3C44BOX处理器的基础应用,处理器的基础应用,分别包含在如下分别包含在如下7 7组端口中组端口中: :56内容提要内容提要A/D和和D/A转换器接口转换器接口通讯与中断接口通讯与中断接口LCD显示器与触摸屏接口(了解)显示器与触摸屏接口(了解)
3、LED显示器显示器键盘接口键盘接口ARM的的JTAG接口接口键盘接口键盘接口 计算机的键实际上就是开关,制造这种键的方计算机的键实际上就是开关,制造这种键的方法是多种多样的,以下是几种常用的按键法是多种多样的,以下是几种常用的按键:机械式按键机械式按键 电容式按键电容式按键 薄膜式按键薄膜式按键 霍耳效应按键霍耳效应按键 7用用ARMARM芯片实现键盘接口芯片实现键盘接口l与与4X4的矩阵键盘接口,采用的矩阵键盘接口,采用 “行扫描法行扫描法”方法方法来检测键盘,只需要来检测键盘,只需要8根口线,根口线,l选取选取PF口作为检测键盘用端口,口作为检测键盘用端口,8PF0PF1PF2PF3S3C
4、44B0XPF4PF5PF6PF7+5V输出扫描码输出扫描码端口端口键值读入口键值读入口矩阵键盘按键的识别方法矩阵键盘按键的识别方法l识别键盘哪一行的键被按下:让所有行线识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否果有列线为低,则说明该列有键被按下,否则说明无键被按下。则说明无键被按下。l如果某列有键被按下,识别键盘哪一行的如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电高电平,检查各列线
5、电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处平变为低电平,则可确定此行此列交叉点处按键被按下。按键被按下。9行扫描法识别矩阵键盘按键行扫描法识别矩阵键盘按键10PF0PF1PF2PF3S3C44B0XPF4PF5PF6PF7+5V某一按键按下所有的行线为低电平逐行为低电平行扫描法获取键值的程序设行扫描法获取键值的程序设计计l寄存器设置寄存器设置 接口中利用了接口中利用了PFPF口的相关寄存器,口的相关寄存器,PFPF口的寄存器有口的寄存器有3 3个个PCONF ,PDATF(PFPCONF ,PDATF(PF口数据寄存器口数据寄存器 ) )和和PUPF(PUPF(口上拉口上拉电阻
6、寄存器电阻寄存器 ) )11PDATF位位描述描述PF8:08:0当端口设定为输入口时,这个寄存器的相应位就对应着引脚的当端口设定为输入口时,这个寄存器的相应位就对应着引脚的状态状态;当端口设定为输出口时,输出引脚的状态与该寄存器的当端口设定为输出口时,输出引脚的状态与该寄存器的相应位相同相应位相同;当端口设定为多功能口时,当端口设定为多功能口时,PDATF中的内容无效中的内容无效PUPF位描述PF8:08:00:相应位的上拉电阻使能1:相应位的上拉电阻禁止寄存器设置寄存器设置l设置设置PCONFPCONF寄存器寄存器 设定设定PF0-3PF0-3为输出口,为输出口,PF4 - 7PF4 -
7、7为输入口,在端为输入口,在端口工作之前设置口工作之前设置 rPCONF rPCONF 000 000 000 00 000 000 000 00 01 01 01 01 B01 01 01 01 B PF4-7 PF4-7为输入为输入 PF0-3PF0-3为输出为输出12寄存器设置寄存器设置l设置设置PDATFPDATF寄存器寄存器PF0-3PF0-3作为输出口输出扫描码时,可采用语句作为输出口输出扫描码时,可采用语句: : rPDATF=Oxf0 /PF0-3 rPDATF=Oxf0 /PF0-3全写入全写入0 0PF4-7PF4-7作为输入口读入键值时,采用语句作为输入口读入键值时,采用
8、语句: : Keyval= Keyval=(rPDATF&0 xf0rPDATF&0 xf0)4;4;l设置设置PUPFPUPF寄存器寄存器设置内部上拉电阻的语句为设置内部上拉电阻的语句为: : rPUPF=0 x00; / rPUPF=0 x00; /使能使能PF0-7PF0-7的内部上拉电阻的内部上拉电阻13编写键盘扫描程序编写键盘扫描程序14开始开始初始化键值为初始化键值为-1PF0-3输出全输出全0PF4-7读入为读入为全全1?PF0-3输出扫描码输出扫描码PF4-7读入为读入为全全1?扫描码指针移位扫描码指针移位获得行号和列号,获得行号和列号,计算键值计算键值返回键值
9、返回键值NYYN15内容提要内容提要A/D和和D/A转换器接口转换器接口通讯与中断接口通讯与中断接口LCD显示器与触摸屏接口(了解)显示器与触摸屏接口(了解)LED显示器显示器键盘接口键盘接口ARM的的JTAG接口接口LEDLED显示器接口概述显示器接口概述lLED(Light Emitting Diode)常称为七段发光二常称为七段发光二极管极管,在专用的微型计算机系统中在专用的微型计算机系统中,特别是在嵌入特别是在嵌入式控制系统中式控制系统中, 应用非常普遍应用非常普遍l价格低廉、体积小、功耗低,而可靠性又很好价格低廉、体积小、功耗低,而可靠性又很好l从单板微型机、袖珍计算机到许多微型机控
10、制从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用系统及数字化仪器都用LED作为输出显示作为输出显示16LED LED 的工作原理的工作原理17l7 7个字段分别称为个字段分别称为a a、b b、c c、d d、e e、f f、g g段,有段,有时还有一个小数点段时还有一个小数点段DPDP。l通过通过7 7个发光段的不同组合,可以显示个发光段的不同组合,可以显示0 0到到9 9和和A A到到F F共共1616个字母数字个字母数字, , 从而实现十六进制的显从而实现十六进制的显示示l位控端口位控端口: :把阴(阳)极控制端接至一输出端口把阴(阳)极控制端接至一输出端口l段控端口段控端
11、口: :把数据显示段接至一个输出端口把数据显示段接至一个输出端口, ,输输出所显示数字的出所显示数字的7 7段代码段代码l译码:译码: 将一个将一个4 4位二进制数位二进制数( (可能为十六进制数或可能为十六进制数或BCDBCD码码) )译为译为LEDLED的的7 7位显示代码。位显示代码。l采用两种方法:采用两种方法: 采用专用芯片采用专用芯片, ,实现对实现对BCDBCD码的译码(码的译码(74744747)软件译码法:在软件设计时软件译码法:在软件设计时, ,将将0 0到到F F共共1616个数字个数字( (或或者者0 0到到9)9)对应的显示代码组成一个表对应的显示代码组成一个表18用
12、用ARMARM芯片实现芯片实现LEDLED显示接口显示接口19l接口电路接口电路7 7段数码段数码LEDLED编程编程l设置设置PCONFPCONF、PCONGPCONG寄存器寄存器rPCONFrPCONF 001 001 001 01 01 01 01 01 001 001 001 01 01 01 01 01 B B0 x125550 x12555;rPCONGrPCONG 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 B B0 x5555;0 x5555;l设置设置PUPFPUPF、PUPGPUPG寄存器寄存器rPUPF=0 x00; /
13、rPUPF=0 x00; /使能使能PF0-7PF0-7的内部上拉电阻的内部上拉电阻rPUPG=0 x00; /rPUPG=0 x00; /使能使能PG0-7PG0-7的内部上拉电阻的内部上拉电阻20在端口工作之前在端口工作之前设置为输出端口设置为输出端口设置内部上拉电设置内部上拉电阻阻l流程图流程图21指向缓冲区首址指向缓冲区首址取显示位指针取显示位指针取要现实的数取要现实的数将数变为段码将数变为段码段码送到段控制通道段码送到段控制通道位码送到位控制通道位码送到位控制通道延迟一段时间延迟一段时间是否最后一位是否最后一位退出退出修改缓冲区指修改缓冲区指针和位码针和位码YNvoid Displa
14、yLedl(unsigned char dis_8_num) unsigned char led_dis =0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92, 0 x82,0 xF8, 0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E,0 x8C; unsigned char i, j, D_val , B_val ; rPCONF 0 x12555; rPCONG0 x5555; rPUPF=0 x00; B_val = 0 x80;220F及及小数位小数位段码表段码表将端口设置为将端口设置为输出端口输出端口使能使能PG和和
15、PF内内部上拉电阻部上拉电阻 for(i=0;i8;i+) D_val = dis_8_numi; rPDATF = led_disD_val; rPDATG = B_val; for(j=0;j 1; 23取出要在取出要在8个个LED数码管上数码管上显示的字符显示的字符延迟一段时间延迟一段时间串行通信概述串行通信概述 串行通信就是使数据一位一位地进行传输而实串行通信就是使数据一位一位地进行传输而实现的通信。现的通信。 l串行数据传送模式:串行数据传送模式:单工单工半双工半双工全双工全双工 24串行通信方式:串行通信方式:同步通信同步通信异步通信异步通信异步通信方式异步通信方式l异步式传输把每
16、一个字符当作独立的信息来传送异步式传输把每一个字符当作独立的信息来传送, , 并按照一固定且预定的时序传送并按照一固定且预定的时序传送, ,但在字符之但在字符之间却取决于字符与字符的任意时序。间却取决于字符与字符的任意时序。 l异步通信必须遵循的两项规定为:异步通信必须遵循的两项规定为:字符的格式字符的格式: : 每个字符传送时,必须前面加一起始位每个字符传送时,必须前面加一起始位,后面加上,后面加上1 1或或1.51.5或或2 2位停止位。要传送字符以其最低位停止位。要传送字符以其最低有效位有效位( (LSB)LSB)先送出的先送出的( (即即D D0 0) )波特率波特率 波特率就是传送数
17、据位的速率,用位波特率就是传送数据位的速率,用位/ /秒秒 ( bit/sbit/s)表示,称之为波特。)表示,称之为波特。25l要传送要传送8 8为位数据为位数据 D D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 126起始起始位位传送传送数据数据偶校验位偶校验位停止位停止位0 0 0 0 1 0 0 1 1 1 1同步通信方式同步通信方式l将许多的字符聚集成一字符块后,在每块信息将许多的字符聚集成一字符块后,在每块信息之前要加上之前要加上1 1至至2 2个同步字符,字符
18、块之后再加个同步字符,字符块之后再加入适当的错误检测数据才传送出去入适当的错误检测数据才传送出去采用同步通信时,在传输线上没有字符传输时,要采用同步通信时,在传输线上没有字符传输时,要发送专用的发送专用的“空闲空闲”字符或同步字符。字符或同步字符。同步方式不仅在字符的本身之间是同步的,而且在同步方式不仅在字符的本身之间是同步的,而且在字符与字符之间的时序仍然是同步的字符与字符之间的时序仍然是同步的 27RS-232CRS-232C串行接口串行接口EIAEIA所定的传送电气规格:所定的传送电气规格:状态状态 “ “L L”(LowLow) “H H”(HightHight)电压范围电压范围 -2
19、5V-25V-3V +3V-3V +3V+25V+25V逻辑逻辑 “1 1” “0 0”名称名称 SPACE MARKSPACE MARKl28lRS-232CRS-232C所用的驱动芯片通常以正负所用的驱动芯片通常以正负1212伏的电源伏的电源来驱动信号线来驱动信号线l微机系统以微机系统以+5V+5V代表逻辑代表逻辑“1 1”,而接地电压代,而接地电压代表逻辑表逻辑“0 0”l输出经输出经RS-232CRS-232C接口内的运算放大器改变为正负接口内的运算放大器改变为正负12V12V的振幅电压的振幅电压, ,再由电线传送到接收端再由电线传送到接收端l数据信号规定负逻辑数据信号规定负逻辑 12
20、V-0V 12V-0V 逻辑逻辑“0 0” -12V-5V -12V-5V 逻辑逻辑“1 1”29lTTLTTL标准与标准与RS-232CRS-232C标准之间的电平转换电路利标准之间的电平转换电路利用集成芯片用集成芯片RS232RS232实现。实现。30RS-232CRS-232C 接口信号接口信号RTSRTS(输出)输出):请求发送请求发送, ,在半双工方式下控制发在半双工方式下控制发送器的开或关送器的开或关;CTSCTS(输入)输入):清除清除( (允许允许) )发送发送DSRDSR(输入)输入):数据装置准备好数据装置准备好DTRDTR(输出)输出): : 数据终端准备好数据终端准备好
21、311CD 2RxD 3TxD 4DTR5GNDDSR6 RTS7 CTS8 R19S3C44BOXS3C44BOX内部集成的内部集成的UART UART lS3C44B0X UARTS3C44B0X UART单元提供了两个异步串口(单元提供了两个异步串口(SIOSIO)每个每个SIOSIO可以操作在中断模式或可以操作在中断模式或DMADMA模式模式支持波特率最大为支持波特率最大为115.2115.2kbps,kbps,每个每个SIOSIO通道都有一个通道都有一个1616字节的接收与发送字节的接收与发送FIFOFIFO缓冲区缓冲区l每个每个UARTUART模块包含以下几个部件:波特率发生器模块
22、包含以下几个部件:波特率发生器,发送器,接收器和控制单元。如图:,发送器,接收器和控制单元。如图:3233URTURT操作操作数据发送数据发送l数据发送的帧格式是可编程的。通过线控制寄数据发送的帧格式是可编程的。通过线控制寄存器存器(UCONn)(UCONn)来设置来设置l发送中止条件迫使串口输出保持在逻辑发送中止条件迫使串口输出保持在逻辑0 0状态,状态,并保持超过一个传输帧的时间长度。并保持超过一个传输帧的时间长度。l中止信号发送之后,传送数据将持续地放入到中止信号发送之后,传送数据将持续地放入到输出输出FIFOFIFO中(在不使用中(在不使用FIFOFIFO模式下,将被放到模式下,将被放
23、到输出保持寄存器)。输出保持寄存器)。34起始位起始位5到到8个数据位个数据位可选的奇偶位可选的奇偶位1到到2个停止位个停止位URTURT操作操作数据接收数据接收l数据接收的帧格式是可编程的数据接收的帧格式是可编程的l接收器可以检测到溢出错误、奇偶校验错误、接收器可以检测到溢出错误、奇偶校验错误、帧错误和中止状况,每种情况下都会将一个错帧错误和中止状况,每种情况下都会将一个错误标志置位误标志置位35URTURT操作操作自动流控制自动流控制(AFC)(AFC)lS3C44B0XS3C44B0X的的UARTUART UART UART: UART UART: 用用nRTS nRTS 和和nCTSn
24、CTS信号进行自动流控制信号进行自动流控制 UART MODEM: UART MODEM: 不支持自动流控制,就应该在不支持自动流控制,就应该在UMCONnUMCONn寄存器中禁止自动流控制,由软件控制寄存器中禁止自动流控制,由软件控制nRTSnRTS和和nCTSnCTS信号信号36l在自动流控制时,在自动流控制时,nRTSnRTS由接收条件控制,由接收条件控制,nCTSnCTS由发送条件控制由发送条件控制l发送时当发送时当nCTSnCTS信号有效时,发送器传输数据到信号有效时,发送器传输数据到FIFOFIFO中中l在接收数据时,当在接收数据时,当FIFOFIFO有多于两个字节的空间有多于两个
25、字节的空间时,时,nRTSnRTS激活激活,FIFO,FIFO剩余空间在一个字节以下时剩余空间在一个字节以下时必须将必须将nRTSnRTS清清0 0,说明,说明“不能在接收不能在接收”37URTURT操作操作非自动流控制非自动流控制l接收操作接收操作选择接收模式(中断或选择接收模式(中断或BDMABDMA模式)模式)( (UCONn)UCONn)。检查检查UFSTATnUFSTATn寄存器中接收寄存器中接收FIFOFIFO计数器的值。如计数器的值。如果值小于果值小于15,15,用户必须设置用户必须设置UMCONn0UMCONn0的值为的值为1( 1(激活激活nRTS)nRTS); 如果它等于或
26、大于如果它等于或大于15,15,用户必须设置该位值为用户必须设置该位值为0 0(不(不激活激活nRTSnRTS)。)。重复第步重复第步38URTURT操作操作非自动流控制非自动流控制l发送操作发送操作选择发送模式(中断或选择发送模式(中断或BDMABDMA模式)模式)检查检查UMSTATn0UMSTATn0的值,如果为的值,如果为1( 1(nCTSnCTS被激活被激活) ),用,用户就可以写数据到输出缓冲区或输出户就可以写数据到输出缓冲区或输出FIFOFIFO寄存器中寄存器中39中断中断DMADMA请求产生器请求产生器lS3C44BOXS3C44BOX的每个的每个UARTUART都有都有7 7
27、个状态信号:个状态信号: 接收接收FIFO/FIFO/缓冲区数据准备好缓冲区数据准备好 发送发送FIFOFIFO缓冲区空缓冲区空 发送移位寄存器空发送移位寄存器空 溢出错误溢出错误 奇偶校验错误奇偶校验错误 帧错误和中止帧错误和中止l所有这些状态都由对应的所有这些状态都由对应的UARTUART状态寄存器状态寄存器(UTRSTATn/UERSTATn)(UTRSTATn/UERSTATn)中的相应位来表现中的相应位来表现。40l当接收器要将接收移位寄存器的数据送到接收当接收器要将接收移位寄存器的数据送到接收FIFO,FIFO,它会激活接收它会激活接收FIFOFIFO满状态信号满状态信号l当发送器
28、从发送当发送器从发送FIFOFIFO中取出数据送到发送移位中取出数据送到发送移位寄存器,那么寄存器,那么FIFOFIFO空状态信号将会被激活空状态信号将会被激活l如果如果控制寄存器中的接收模式选为中断模式,就会引发控制寄存器中的接收模式选为中断模式,就会引发接收中断。接收中断。如果接收发送模式被选为如果接收发送模式被选为DMADMA模式,模式,“接收接收FIFOFIFO满满”和和“发送发送FIFOFIFO空空”状态信号同样可以产生状态信号同样可以产生DMADMA请求请求信号。信号。 41l溢出错误、奇偶校验错误、帧错误和中止状况溢出错误、奇偶校验错误、帧错误和中止状况都被认为是接收错误状态,如
29、果都被认为是接收错误状态,如果UCONnUCONn中的中的“接接收错误状态中断使能位收错误状态中断使能位”被置位,它们中的每被置位,它们中的每一个都能够引发接收错误中断请求。一个都能够引发接收错误中断请求。l当当“接收错误状态中断请求接收错误状态中断请求”被检测到,引发被检测到,引发请求的信号可以通过读取请求的信号可以通过读取UERSTATnUERSTATn来识别。来识别。 42与与FIFOFIFO有关的中断有关的中断43类型类型FIFOFIFO模式模式非非FIFOFIFO模式模式RxRx中断中断每当接收数据达到接收每当接收数据达到接收FIFOFIFO触发电平,触发电平,就产生接收中断;如果就
30、产生接收中断;如果FIFOFIFO非空且连非空且连续续3 3个字时间没有接收到任何数据,个字时间没有接收到任何数据,就产生超时中断;就产生超时中断;每当接收数据满,接每当接收数据满,接收移位寄存器将产生收移位寄存器将产生一个中断;一个中断;TxTx中断中断每当发送数据达到发送每当发送数据达到发送FIFOFIFO触发电平,触发电平,就产生发送中断就产生发送中断;每当发送数据空,发每当发送数据空,发送保持寄存器将产生送保持寄存器将产生一个中断;一个中断;错误中错误中断断帧错误、奇偶校验错误和被检测到并帧错误、奇偶校验错误和被检测到并按字节接收的中止信号,都将产生错按字节接收的中止信号,都将产生错误
31、中断;当达到接收误中断;当达到接收FIFOFIFO的顶部,就的顶部,就会产生溢出错误中断;会产生溢出错误中断;所有错误都会立即产所有错误都会立即产生一个错误中断。但生一个错误中断。但两个错误同时发生,两个错误同时发生,只有一个中断会产生;只有一个中断会产生;UARTUART错误状态错误状态FIFOFIFOlUARTUART具有一个状态具有一个状态FIFO,FIFO,表示了在表示了在FIFOFIFO寄存器中寄存器中,哪一个数据被毫无错误地接收,哪一个数据被毫无错误地接收44虽然虽然UARTUART错误发生错误发生了,但错误中断不了,但错误中断不会产生,因为含有会产生,因为含有错误的字符还没有错误
32、的字符还没有被被CPUCPU读取。只有当读取。只有当字符被读出时错误字符被读出时错误中断才会发生中断才会发生, ,如图:如图:波特率发生器波特率发生器l为传输提供了串行移位时钟为传输提供了串行移位时钟l波特率发生器的时钟源可以通过波特率发生器的时钟源可以通过S3C44BOXS3C44BOX的内的内部系统时钟来选择。部系统时钟来选择。l波特率时钟由通过时钟源的波特率时钟由通过时钟源的1616分频及一个由分频及一个由UARTUART波特率除数寄存器波特率除数寄存器(UBRDIVn)(UBRDIVn)指定的指定的1616位除位除数决定。数决定。45lUBRDIVnUBRDIVn的值可以按照下式确定为
33、:的值可以按照下式确定为: UBRDIVn UBRDIVn( (取整取整)(MCLK/()(MCLK/(波特率波特率16)-116)-1l除数的范围为除数的范围为1 1到到(2(21616-1)-1)l例如例如 如果波特率为如果波特率为115 200 bps,115 200 bps,且系统主频且系统主频(MCLK)(MCLK)为为40 MHz40 MHz,则,则UBRDIVnUBRDIVn的值为:的值为:UBRDIVn =(UBRDIVn =(取整取整)(40 000 000/(115 200)(40 000 000/(115 20016) 16) +0.5)-1+0.5)-122-1 = 2
34、122-1 = 2146回送模式回送模式l回送模式回送模式: S3C44BOX: S3C44BOX的的UARTUART提供的一个测试模式提供的一个测试模式在这种模式下,发送出的数据会立即被接收。在这种模式下,发送出的数据会立即被接收。这一特性用于校验运行处理器内部发送和接收通道的这一特性用于校验运行处理器内部发送和接收通道的功能功能可以通过设置可以通过设置UARTUART控制寄存器控制寄存器(UCONn)(UCONn)中的回送位来实中的回送位来实现。现。47红外通信模式红外通信模式lS3C44BOXS3C44BOX的的UARTUART模块支持红外线(模块支持红外线(IR)IR)发送和接发送和接
35、收收l可以通过设置可以通过设置UARTUART线控制寄存器线控制寄存器(ULCONn)(ULCONn)中的中的红外模式位来选择这一模式红外模式位来选择这一模式l在在IRIR发送模式下,发送阶段是通过正常串行发发送模式下,发送阶段是通过正常串行发送占空比送占空比3/163/16的脉冲波进行调制(当传送的数的脉冲波进行调制(当传送的数据位为据位为0 0值)值)l在在IRIR接收模式下,接收必须通过检测接收模式下,接收必须通过检测 3/163/16脉冲脉冲波来识别波来识别0 0值值48UARTUART寄存器寄存器lUARTUART线控制寄存器线控制寄存器lUARTUART控制寄存器控制寄存器lFIF
36、OFIFO控制寄存器控制寄存器 lModemModem控制寄存器控制寄存器l发送发送/ /接收状态寄存器接收状态寄存器49lUARTUART错误状态寄存器错误状态寄存器lUARTUART的的FIFOFIFO状态寄存器状态寄存器lModemModem状态寄存器状态寄存器lUARTUART发送发送/ /接收保持寄接收保持寄存器存器lUARTUART波特率除数寄存器波特率除数寄存器UARTUART寄存器寄存器线控制寄存器线控制寄存器l作用是用来规定传输帧的格式作用是用来规定传输帧的格式l线控制寄存器线控制寄存器0 0(ULCON0ULCON0)、线控制寄存器)、线控制寄存器1(ULCON1)1(UL
37、CON1)的地址分别为的地址分别为0 x01D000000 x01D00000、0 x01D040000 x01D04000l可读写,可读写, 初始值为初始值为0 x000 x00。50l线控制寄存器的位定义线控制寄存器的位定义51ULCONnULCONn位位描述描述初始初始值值保留保留770 0红外线模红外线模式式66该位确定是否使用红外通信模式该位确定是否使用红外通信模式0 0:正常模式:正常模式 1 1:红外收发模式:红外收发模式0 0奇偶校验奇偶校验模式模式55:33 该位确定奇偶如何产生和校验该位确定奇偶如何产生和校验0 0 xx:xx:无校验位无校验位 100 100:奇校验:奇校
38、验 101 101:偶校验:偶校验 110110:校验位强制:校验位强制/ /检测置检测置1 1111 111:校验位:校验位强制强制/ /检测置检测置0 0000000停止位的停止位的数量数量22该位确定停止位的个数,该位确定停止位的个数,0 0:1 1位停止位位停止位 1 1:2 2位停止位位停止位0 0数据位长数据位长度度11:00该位确定数据位的个数该位确定数据位的个数0000:5 5位位 01 01:6 6位位 10 10:7 7位位 11 11:8 8位位0000UARTUART控制寄存器控制寄存器lUCON0、UCON1的地址分别为的地址分别为0 x01D00004、0 x01D
39、04004l可读写,可读写, 初始值为初始值为0 x00lUARTUART控制寄存器各位的含义见课本表控制寄存器各位的含义见课本表5-245-2452FIFOFIFO控制寄存器控制寄存器 lUFCON0UFCON0、UFCON1UFCON1的地址分别为的地址分别为0 x01D000080 x01D00008、0 x01D040080 x01D04008,可读写,可读写, 初始值为初始值为0 x000 x0053UFCONnUFCONn位描述初始值发送发送FIFOFIFO的触发电的触发电平平7:6这两位确定发送这两位确定发送FIFOFIFO的触发条件的触发条件 00 00:空空 ; 01 01:
40、4 4字节字节 10 10 :8 8字节字节 11 11 :1212字节字节00接收接收FIFOFIFO的的触发电平触发电平5:4这两位确定接收这两位确定接收FIFOFIFO的触发条件的触发条件 00 00 :4 4字节;字节;0101:8 8字节字节 10 10: 12 12字节字节 11 11:1616字节字节00保留保留30发送发送FIFOFIFO复复位位2该位在该位在FIFOFIFO复位后自动清除复位后自动清除 0 0 :正常:正常 1 1:发送:发送FIFOFIFO复位复位0接收接收FIFOFIFO复复位位1该位在该位在FIFOFIFO复位后自动清除复位后自动清除 0 0 :正常:正
41、常 1 1:接收:接收FIFOFIFO复位复位0FIFOFIFO使能使能00 0 :禁止:禁止 FIFO 1 FIFO 1 :FIFO FIFO 使能使能0ModemModem控制寄存器控制寄存器54UMCONnUMCONn位位描述描述初始初始值值保留保留77:55这这3 3位必须为位必须为 0 0000000自动流控自动流控制制4 4AFCAFC是否允许是否允许0 0 :禁止:禁止 1 1 :使能:使能0 0保留保留33:11这这3 3位必须为位必须为 0 0000000请求发送请求发送0如果如果AFCAFC允许允许, ,该位忽略;如果该位忽略;如果AFCAFC禁止,必须由软件来控制禁止,必
42、须由软件来控制nRTSnRTS。0 0 : 高电平(不激活高电平(不激活 nRTSnRTS) 1 1 : 低电平(激活低电平(激活 nRTSnRTS)0 0发送发送/ /接收状态寄存器接收状态寄存器55UTRSTATnUTRSTATn位位描述描述初始状态初始状态发送移位发送移位寄存器为寄存器为空空22当发送移位寄存器中不包含有效数据或移位寄存当发送移位寄存器中不包含有效数据或移位寄存器为空,该位自动被置位。器为空,该位自动被置位。0 0:非空:非空1 1:发送保持和移位寄存器为空:发送保持和移位寄存器为空1 1发送缓冲发送缓冲器为空器为空11当发送缓冲区寄存器中不包含有效数据,这一位当发送缓冲
43、区寄存器中不包含有效数据,这一位将自动被置位将自动被置位 0 0:缓冲区寄存器非空:缓冲区寄存器非空 1 1:空:空如果使用了如果使用了FIFO,FIFO,则用户不用检测这个位,而应则用户不用检测这个位,而应当检测当检测UFSTATUFSTAT中发送中发送FIFOFIFO计数器位和计数器位和FIFOFIFO满位满位1 1接收缓冲接收缓冲器数据准器数据准备好备好00当接收缓冲器寄存器中包含了有效数据,这一位当接收缓冲器寄存器中包含了有效数据,这一位将自动被置位将自动被置位0 0:完全为空:完全为空 1 1:缓冲区寄存器:缓冲区寄存器中包含有效数据中包含有效数据如果使用了如果使用了FIFOFIFO
44、则用户不用检测这个位,而应当则用户不用检测这个位,而应当检测检测UFSTATUFSTAT中接收中接收FIFOFIFO计数器位计数器位0 0UARTUART错误状态寄存器错误状态寄存器 56UERSTATnUERSTATn位位描述描述初始初始值值间隔中断间隔中断33如果接收到某个中止信号,该位将自动如果接收到某个中止信号,该位将自动置置1 1;0 0:未接收到中止信号:未接收到中止信号 1 1:接收到:接收到中止信号中止信号0 0数据帧错误数据帧错误22如果在接收操作中发生了帧错误,该位如果在接收操作中发生了帧错误,该位将自动置将自动置1 1 0 0:接收中没有发生帧错误:接收中没有发生帧错误
45、1 1:帧错误:帧错误0 0奇偶错误奇偶错误11如果在接收操作中发生了奇偶校验错误,如果在接收操作中发生了奇偶校验错误,该位将自动置该位将自动置1 1 1 1:奇偶校验错误:奇偶校验错误 0 0:接收中没有发生:接收中没有发生奇偶校验错误奇偶校验错误0 0OverrunOverrun错错误误00如果在接收操作中发生了溢出错误,该如果在接收操作中发生了溢出错误,该位将自动置位将自动置1 0:1 0:接收中没有发生溢出接收中没有发生溢出错误错误 1 1 :溢出错误:溢出错误0 0UARTUART的的FIFOFIFO状态寄存器状态寄存器57UFSTATnUFSTATn位描述初始值保留保留1515:1
46、010000000000000发送发送FIFOFIFO满满9 9当发送当发送 FIFOFIFO满时该位为满时该位为1 10 0 : 0 0字节字节发送发送 FIFO FIFO 的数的数据个数据个数 15 15字节字节 1 1 :满:满0 0接收接收FIFOFIFO满满8 8当当FIFOFIFO将要满时,该位为将要满时,该位为1 10 0 : 0 0字节字节接收接收 FIFO FIFO 数据数据个数个数 15 15字节字节 1 1 :满:满0 0发送发送FIFOFIFO计计数器数器77:44发送发送FIFOFIFO里的数据数量里的数据数量00000000接收接收FIFOFIFO计计数器数器33:
47、00接收接收 FIFOFIFO里的数据数量里的数据数量00000000ModemModem状态寄存器状态寄存器lUMSTAT0UMSTAT0、UMSTAT1UMSTAT1地址分别为地址分别为0 x01D0001C0 x01D0001C、0 x01D0401C0 x01D0401C,可读,可读, 初始值为初始值为0 x060 x0658UMSTATnUMSTATn位位描述描述初始值初始值CTSCTS变化变化4 4该位指示输入到该位指示输入到S3C44B0XS3C44B0X的的nCTSnCTS信号自从上次读后已经改变状态信号自从上次读后已经改变状态0 0 :未改变:未改变 1 1 :改变:改变0
48、0保留保留33:110 0CTSCTS状态状态0 00 0 : CTS CTS 信号未激活信号未激活( (nCTSnCTS脚为脚为高电平高电平) );1 1: CTS CTS 信号已激活信号已激活( (nCTSnCTS脚为低电平脚为低电平) )0 0UARTUART发送发送/ /接收保持寄存器接收保持寄存器l发送发送/ /接收保持寄存器接收保持寄存器0 0(UTXH0UTXH0)、)、寄存器寄存器1(1(UTXH1)UTXH1)的地址的地址在小模式下分别为在小模式下分别为0 0 x01D00020 x01D00020、0 x01D040200 x01D04020,在大模式下分别为在大模式下分别
49、为0 0 x01D00023x01D00023、0 x01D040230 x01D04023l可写,可写, 初始值可编程初始值可编程59UARTUART波特率除数寄存器波特率除数寄存器lUARTUART波特率除数寄存器波特率除数寄存器0 0(UBRDIV0UBRDIV0)、寄存器)、寄存器1(UBRDIV1)1(UBRDIV1)的地址分别为的地址分别为0 x01D000280 x01D00028、0 x01D040280 x01D04028l可读写,可读写, 初始值可编程初始值可编程60S3C44BOXS3C44BOX的的UARTUART的应用的应用1 1电路接口和电路接口和I/OI/O口设置
50、口设置lS3C44BOXS3C44BOX的串行应用接口电路中的的串行应用接口电路中的PC12(TxD1), PC12(TxD1), PC13(RxD1), PE1(TxD0), PE2(RxD0)PC13(RxD1), PE1(TxD0), PE2(RxD0)是多功能是多功能I/OI/O口口l首先需要对首先需要对PCPC口和口和PEPE口的工作模式进行设置口的工作模式进行设置Rpconc = Ox0f000000|rPCONC;rPUPC = 0 x3000; /设置内部上拉设置内部上拉rPCONE = (rPCONE & Oxfc3)|Oxeb;rPUPE = 0 x6;612.UA
51、RT2.UART初始化初始化l对对UARTUART口的可配置参数进行初始化,使其能够口的可配置参数进行初始化,使其能够按照所要求的通讯方式进行通讯。按照所要求的通讯方式进行通讯。623 3 字符发送程序字符发送程序Uart_SendByteUart_SendBytevoid Uart_SendByte(char ch) if (UartNum=0) if(ch=n) while(! (rUTRSTATO & 0 x2); /等待,直到发送缓冲区为空等待,直到发送缓冲区为空 WrUTXHO(r); /发送回车符发送回车符 while(!(rUTRSTATO &0 x2); /等待
52、,直到发送缓冲区为空等待,直到发送缓冲区为空 Delay(10); WrUTXHO(ch); /发送字符发送字符 63else if(ch=n) while(! (rUTRSTAT1&0 x2); Delay(10); rUTXH1(r); while(!(rUTRSTAT1 &0 x2));/等待,直到发送移位寄存器区为空等待,直到发送移位寄存器区为空 Delay(10); WrUTXH1(ch); 644 4 字符接收程序字符接收程序Uart_GetByte()Uart_GetByte()#define RdUTXH0()(*(volatile unsigned char
53、* )Ox1d00024)#define RdUTXH1()(*(volatile unsigned char * )Ox1d04024) char Uart_GetByte(void) if (UartNum=0) while(! (rUTRSTATO & 0 x1); /等待,接收缓冲区接收数据等待,接收缓冲区接收数据 return RdUTXH0(); /返回接收的数据返回接收的数据 else while(! (rUTRSTAT1 & 0 x1); /等待,接收缓冲区接收数据等待,接收缓冲区接收数据 return RdUTXH1(); /返回接收的数据返回接收的数据 65
54、66内容提要内容提要A/D和和D/A转换器接口转换器接口通讯与通讯与中断接口中断接口LCD显示器与触摸屏接口(了解)显示器与触摸屏接口(了解)LED显示器显示器键盘接口键盘接口ARM的的JTAG接口接口中断接口概述中断接口概述lCPUCPU与外设之间传输数据的控制方式通常有与外设之间传输数据的控制方式通常有3 3种种查询方式、中断方式和查询方式、中断方式和DMADMA方式。方式。l中断方式在嵌入式系统中应用极为广泛中断方式在嵌入式系统中应用极为广泛节省节省CPUCPU时间时间提高提高CPUCPU的利用率的利用率l最初最初ARM7TDMlARM7TDMl内核只有内核只有FIQ(FIQ(快速中断请
55、求快速中断请求) )和和IRQ(IRQ(通用中断请求通用中断请求) )两种中断,各芯片厂家在设两种中断,各芯片厂家在设计芯片时计芯片时为满足外设的需求,又定义、扩充了为满足外设的需求,又定义、扩充了若干个中断源。若干个中断源。67lS3C44B0XS3C44B0X的中断控制器可接受来自的中断控制器可接受来自3030个中断源个中断源的中断请求,的中断请求,只能有只能有1 1个个FIQFIQlIRQIRQ矢量中断模式,具有矢量中断模式,具有CISCCISC结构特征,缩短中结构特征,缩短中断反应时间断反应时间l中断控制器的任务就是经过优先级判定选择,中断控制器的任务就是经过优先级判定选择,再通过再通
56、过FIQFIQ或或IRQIRQ向内核发出中断请求向内核发出中断请求68中断控制器中断控制器lARM7TDMIARM7TDMI有有2 2种类型的中断模式种类型的中断模式: :FIQFIQ和和IRQIRQlIRQIRQ和和FIQFIQ之间的区别是:之间的区别是:对于对于FIQFIQ必须尽快处理事件并离开这个模式;必须尽快处理事件并离开这个模式;IRQIRQ可以被可以被FIQFIQ中断,但中断,但IRQIRQ不能中断不能中断FIQFIQ为了使为了使FIQFIQ更快更快,FIQ,FIQ模式具有更多的私有寄存器。模式具有更多的私有寄存器。69PSRPSR的的F F位和位和I I位位lPSRPSR指指AR
57、M7TDMIARM7TDMI处理器的程序状态寄存器处理器的程序状态寄存器如果如果PSRPSR的的F F位被设置为位被设置为1,1,处理器将不接受来自中断处理器将不接受来自中断控制器的控制器的FIQ;FIQ;如果如果PSRPSR的的I I位被设置为位被设置为1,1,处理器将不接受来自中断处理器将不接受来自中断控制器的控制器的IRQIRQ。l为使能相应中断机制为使能相应中断机制, ,PSRPSR的的F F位或位或I I位位必须被清必须被清0,0,同时中断屏蔽寄存器同时中断屏蔽寄存器INTMSKINTMSK的相应位的相应位也必须也必须被清被清0 0。70中断请求寄存器中断请求寄存器INTPNDINT
58、PNDlINTPNDINTPND的各位指示了某个中断请求是否还未被的各位指示了某个中断请求是否还未被处理。在处理。在INTPNDINTPND中将要或已被置位的中断位称中将要或已被置位的中断位称为为pendingpending位位lINTPNDINTPND是一个只读寄存器,在中断服务程序中是一个只读寄存器,在中断服务程序中要想清除要想清除pendingpending位时,需要对中断服务寄存器位时,需要对中断服务寄存器I_ISPCI_ISPC或或F_ISPCF_ISPC的相应位写入的相应位写入1 1的方式实现的方式实现lINTPNDINTPND寄存器中的寄存器中的2626个位对应着每一个中断源个位
59、对应着每一个中断源当某个中断产生时,当某个中断产生时,INTPNDINTPND中的相应位就会置中的相应位就会置1 1当处理结束后必须软件及时清除该当处理结束后必须软件及时清除该pendingpending位位71中断屏蔽寄存器中断屏蔽寄存器INTMSKINTMSKl该寄存器的某位该寄存器的某位被置被置1 1 与该位对应的中断响与该位对应的中断响应被应被禁止禁止l如果全局屏蔽位被置如果全局屏蔽位被置1 1并且当任一中断发生时,并且当任一中断发生时,中断中断pendingpending位还是会置位,但是所有的中断都位还是会置位,但是所有的中断都不会得到服务不会得到服务l如果如果某个中断在某个中断在
60、INTMSKINTMSK寄存器中的对应位为寄存器中的对应位为1,1,这个中断发生这个中断发生它的它的pendingpending位还是会置位,只是不会自动转入中断服位还是会置位,只是不会自动转入中断服务程序务程序7273发生中断发生中断Pending位置位置1全局屏蔽置全局屏蔽置1? INTMSKINTMSK寄存寄存器对应位为器对应位为1 1NN转入中断服务程序转入中断服务程序屏蔽服务屏蔽服务YY中断源中断源l在在3030个中断源中有个中断源中有2626个中断源提供给中断控制个中断源提供给中断控制器,器,4 4个外部中断个外部中断( (EINT4/5/6/7)EINT4/5/6/7)请求是通过请求是通过“或或”的形式合成为的形式合成为1 1个中断源送至中断控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省通榆县第一中2024-2025学年高三下学期高考仿真模拟历史试题试卷含解析
- 兴业银行基金合同范例
- 上海监理补充合同范例
- 光影设备出售合同范例
- 买卖矿山中介合同范例
- 2025年喀什职业技术学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 银保合规培训
- 铜陵2025年安徽铜陵市郊区事业单位招聘19人笔试历年参考题库附带答案详解
- 阜阳2025年安徽阜阳阜南县张寨镇招考村级后备干部10人笔试历年参考题库附带答案详解
- 2025年内江卫生与健康职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 物理-安徽省天一大联考2024-2025学年(下)2025届高三3月调研考试试题和答案
- 美容行业:美容师简历
- 2025年甘肃白银有色集团股份有限公司招聘笔试参考题库含答案解析
- 2025年上半年安徽明光市事业单位招聘笔试易考易错模拟试题(共500题)试卷后附参考答案
- 湖北省武汉市2024-2025学年高三2月调研考试英语试题
- 教科版三年级下册科学全册同步练习(一课一练)
- 2025年南京信息职业技术学院单招职业技能测试题库参考答案
- 城市公园景观设计教学课件
- 2025年阜阳职业技术学院单招职业适应性测试题库及参考答案
- 【凯度】2025年生鲜消费新趋势
- 《防波堤施工》课件
评论
0/150
提交评论