项目 10 :串行口通信- pda 中的串口( 1 )

21
项项 10 项项项项项项 :- PDA 项项项项1 项项项项项项项项项 串串串串串串串串串 PXA270 串串串串

Upload: harsha

Post on 19-Mar-2016

149 views

Category:

Documents


4 download

DESCRIPTION

项目 10 :串行口通信- PDA 中的串口( 1 ). 本节课程主要知识点 串口通信的基本原理 PXA270 的串行口. 重点和难点. 重点 串口通信的基本原理 难点 PXA270 的串行口. 串口通信的基本原理. 串口通信. 串行通信是微计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用。但现在很多笔记本电脑和 PC 机都不再提供串行通信接口。 在基于 Windows CE 的设备中仍然保留着串口。这是因为目前流行的 Windows CE 设备很多都具备导航、无线通讯等功能,而 GPS 、 GSM/GPRS 及蓝牙模块都是外置串口的终端设备。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 项目 10 :串行口通信- PDA 中的串口( 1 )

项目 10:串行口通信- PDA中的串口( 1) 本节课程主要知识点 串口通信的基本原理 PXA270 的串行口

Page 2: 项目 10 :串行口通信- PDA 中的串口( 1 )

重点和难点重点 串口通信的基本原理 难点 PXA270 的串行口

Page 3: 项目 10 :串行口通信- PDA 中的串口( 1 )

串口通信的基本原理

Page 4: 项目 10 :串行口通信- PDA 中的串口( 1 )

串口通信 串行通信是微计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用。但现在很多笔记本电脑和 P

C 机都不再提供串行通信接口。 在基于 Windows CE 的设备中仍然保留着串口。这是因为目前流行的 Windows

CE 设备很多都具备导航、无线通讯等功能,而 GPS 、 GSM/GPRS 及蓝牙模块都是外置串口的终端设备。

Page 5: 项目 10 :串行口通信- PDA 中的串口( 1 )

Windows CE 的串口通信 串行通信是 Windows CE5.0 支持的最简单的通信方式, Windows CE 支持串行通信的标准函数。这些函数可以用于打开、关闭和操作串行口,传送和接受数据等。

Page 6: 项目 10 :串行口通信- PDA 中的串口( 1 )

串口的接口 RS232 标准采用的接口是 9 芯或 25 芯的

D 型插头,常用的一般是 9 针插头( DB-9 )。

要完成基本的通信功能,实际上只需要RXD 、 TXD 和 GND 即可,

通信距离较近时( <12m ),可以用电缆线直接连接标准 RS232 端口( RS422或 RS485 较远 ) )。

Page 7: 项目 10 :串行口通信- PDA 中的串口( 1 )

串口的电气特性 RS232 标准所定义的高、低电平信号与 PXA27

0 系统的 LVTTL 电路定义的高、低电平信号完全不同。 LVTTL 的标准逻辑 1 对应 2V~3.3V 电平,标准逻辑 0 对应 0V~0.4V 电平。而 RS232 标准采用负逻辑方式,标准逻辑 1 对应 -5V~-15V 电平,标准逻辑 0 对应 +5V~+15V 。 两者间要进行通信,必须经过电平的转换,转换芯片采用 MAX232 。

Page 8: 项目 10 :串行口通信- PDA 中的串口( 1 )

串行通信数据格式 起始位

一般用 0 作起始位。 数据位

5 - 8 位的数据位。 奇偶校验位

1 位的奇偶校验位,也可以不加。 停止位 一般用 1 作停止位。

Page 9: 项目 10 :串行口通信- PDA 中的串口( 1 )

起始位 开始前,线路处于空闲状态,送出连续 1 。 传送开始时首先发一个 0 作为起始位。 然后出现在通信线上的是字符的二进制编码数据。

Page 10: 项目 10 :串行口通信- PDA 中的串口( 1 )

数据位 每个字符的数据位长可以约定为 5 位、 6位、 7 位或 8 位,一般采用 ASCII 编码。 数据位的长度通信双方要一致,否则数据会出错。 标准的数据位长度为 8 位。

Page 11: 项目 10 :串行口通信- PDA 中的串口( 1 )

奇偶校验位 用奇偶校验位将所传送的字符中为 1 的个数凑成奇数个或偶数个。 如果是奇校验,则每帧数据中数据位加上校验位中 1 的个数为奇数个。 如果是偶校验,则每帧数据中数据位加上校验位中 1 的个数为偶数个。 也可以约定不要奇偶校验,这样就取消奇偶校验位。

Page 12: 项目 10 :串行口通信- PDA 中的串口( 1 )

停止位 最后是表示停止位的 1 信号,这个停止位可以约定持续 1 位、 1.5 位或 2 位的时间宽度。 至此一个字符传送完毕,线路又进入空闲,持续为 1 。经过一段随机的时间后,下一个字符开始传送,又发出起始位。

Page 13: 项目 10 :串行口通信- PDA 中的串口( 1 )

波特率 每秒传送的数据位数。 每一个数据位的宽度等于传送波特率的倒数。 常用的波特率为 2400 、 4800 、 9600 、

19200 、 38400 、 57600 、 115200 bps等。 波特率越大,数据传送速度越快,但误码的可能性也越大。

Page 14: 项目 10 :串行口通信- PDA 中的串口( 1 )

PXA270的串行口

Page 15: 项目 10 :串行口通信- PDA 中的串口( 1 )

PXA270 的 UART PXA270 的 UART (通用异步串行口)单元提供三个独立的异步串行 I/O 端口,每个都可以在中断和 DMA 两种模式下进行。它们支持最高波特率 921Kbps 。每个 UART 通道包含 2 个

64 位 FIFO 分别提供给接收和发送。 PXA270 的 UART 可以进行以下参数的设置:可编程的波特率,红外收 / 发模式, 1 或 2 个停止位, 5 位, 6 位, 7 位或 8 位数据宽度和奇偶位校验。

Page 16: 项目 10 :串行口通信- PDA 中的串口( 1 )

UART 的构成 每个 UART 包含波特率发生器,接收器,发送器和控制单元。 波特率发生器以 MCLK 为时钟源。 发送器和接收器包含 64 字节 FIFO寄存器和移位寄存器,当发送数据的时候,数据先写到 FI

FO 然后拷贝到发送移位寄存器,然后从数据输出端口( TxDn )依次被移位输出。 被接收的数据也同样从接收端口( RxDn )移位输入到移位寄存器,然后拷贝到 FIFO 中。

Page 17: 项目 10 :串行口通信- PDA 中的串口( 1 )

PXA270 的 UART PXA270 的 UART (通用异步串行口)单元提供三个独立的异步串行 I/O 端口,每个都可以在中断和 DMA 两种模式下进行。它们支持最高波特率 921Kbps 。每个 UART 通道包含 2 个

64 位 FIFO 分别提供给接收和发送。 PXA270 的 UART 可以进行以下参数的设置:可编程的波特率,红外收 / 发模式, 1 或 2 个停止位, 5 位, 6 位, 7 位或 8 位数据宽度和奇偶位校验。

Page 18: 项目 10 :串行口通信- PDA 中的串口( 1 )

UART 的数据发送 数据发送帧的格式是可编程的,它包含一个开始位, 5到 8 个数据位,一个可选的奇偶位和一个或两个停止位。 发送器也能够产生发送中止条件。中止条件迫使串口输出保持在逻辑 0 状态,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再将中止信号发送给对方。 中止信号发送之后,传送数据连续放到 FIFO中(在不使用 FIFO 模式下,将被放到输出保持寄存器)。

Page 19: 项目 10 :串行口通信- PDA 中的串口( 1 )

UART 的数据接收 与数据发送一样,数据接收的帧也是可以编程的,它包含一个开始位, 5到 8 个数据,一个可选的奇偶位和一位或两位停止位。 接收器能够检测溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都将会将一个错误标志置位。

Page 20: 项目 10 :串行口通信- PDA 中的串口( 1 )

波特率发生器 每个 UART 的波特率发生器为传输提供了串行移位时钟。 波特率可以按照下式确定:

BaudRate = 14.7456/(16*Divisor) Divisor 的值在 Divisor Latch register(DLL 或 DLH) 设置,例如:如果 divisor 是 24 ,则波特率为 38400bps 。

对于 FFUART (全功能串口)和 STURAT (标准串口), Divisor 设置值为 4到 2166-1;对于BTURAT (蓝牙串口), Divisor 设置值为 1到216-1 。

Page 21: 项目 10 :串行口通信- PDA 中的串口( 1 )

PXA270 的 UART 相关寄存器 每个 UART 都有 13 个寄存器。 12 个作为 UA

RT 操作,另外 1 个作为慢速红外设置。 各寄存器地址如下表