串口通信技术-深圳职业技术学院精品课程展示

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

项目10:串行口通信-PDA中的串口(1)本节课程主要知识点串口通信的基本原理PXA270的串行口重点和难点重点串口通信的基本原理难点PXA270的串行口串口通信的基本原理串口通信串行通信是微计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用。但现在很多笔记本电脑和PC机都不再提供串行通信接口。在基于WindowsCE的设备中仍然保留着串口。这是因为目前流行的WindowsCE设备很多都具备导航、无线通讯等功能,而GPS、GSM/GPRS及蓝牙模块都是外置串口的终端设备。WindowsCE的串口通信串行通信是WindowsCE5.0支持的最简单的通信方式,WindowsCE支持串行通信的标准函数。这些函数可以用于打开、关闭和操作串行口,传送和接受数据等。串口的接口RS232标准采用的接口是9芯或25芯的D型插头,常用的一般是9针插头(DB-9)。要完成基本的通信功能,实际上只需要RXD、TXD和GND即可,通信距离较近时(12m),可以用电缆线直接连接标准RS232端口(RS422或RS485较远))。串口的电气特性RS232标准所定义的高、低电平信号与PXA270系统的LVTTL电路定义的高、低电平信号完全不同。LVTTL的标准逻辑1对应2V~3.3V电平,标准逻辑0对应0V~0.4V电平。而RS232标准采用负逻辑方式,标准逻辑1对应-5V~-15V电平,标准逻辑0对应+5V~+15V。两者间要进行通信,必须经过电平的转换,转换芯片采用MAX232。串行通信数据格式起始位一般用0作起始位。数据位5-8位的数据位。奇偶校验位1位的奇偶校验位,也可以不加。停止位一般用1作停止位。起始位开始前,线路处于空闲状态,送出连续1。传送开始时首先发一个0作为起始位。然后出现在通信线上的是字符的二进制编码数据。数据位每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。数据位的长度通信双方要一致,否则数据会出错。标准的数据位长度为8位。奇偶校验位用奇偶校验位将所传送的字符中为1的个数凑成奇数个或偶数个。如果是奇校验,则每帧数据中数据位加上校验位中1的个数为奇数个。如果是偶校验,则每帧数据中数据位加上校验位中1的个数为偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。停止位最后是表示停止位的1信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为1。经过一段随机的时间后,下一个字符开始传送,又发出起始位。波特率每秒传送的数据位数。每一个数据位的宽度等于传送波特率的倒数。常用的波特率为2400、4800、9600、19200、38400、57600、115200bps等。波特率越大,数据传送速度越快,但误码的可能性也越大。PXA270的串行口PXA270的UARTPXA270的UART(通用异步串行口)单元提供三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行。它们支持最高波特率921Kbps。每个UART通道包含2个64位FIFO分别提供给接收和发送。PXA270的UART可以进行以下参数的设置:可编程的波特率,红外收/发模式,1或2个停止位,5位,6位,7位或8位数据宽度和奇偶位校验。UART的构成每个UART包含波特率发生器,接收器,发送器和控制单元。波特率发生器以MCLK为时钟源。发送器和接收器包含64字节FIFO寄存器和移位寄存器,当发送数据的时候,数据先写到FIFO然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO中。PXA270的UARTPXA270的UART(通用异步串行口)单元提供三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行。它们支持最高波特率921Kbps。每个UART通道包含2个64位FIFO分别提供给接收和发送。PXA270的UART可以进行以下参数的设置:可编程的波特率,红外收/发模式,1或2个停止位,5位,6位,7位或8位数据宽度和奇偶位校验。UART的数据发送数据发送帧的格式是可编程的,它包含一个开始位,5到8个数据位,一个可选的奇偶位和一个或两个停止位。发送器也能够产生发送中止条件。中止条件迫使串口输出保持在逻辑0状态,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再将中止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO中(在不使用FIFO模式下,将被放到输出保持寄存器)。UART的数据接收与数据发送一样,数据接收的帧也是可以编程的,它包含一个开始位,5到8个数据,一个可选的奇偶位和一位或两位停止位。接收器能够检测溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都将会将一个错误标志置位。波特率发生器每个UART的波特率发生器为传输提供了串行移位时钟。波特率可以按照下式确定:BaudRate=14.7456/(16*Divisor)Divisor的值在DivisorLatchregister(DLL或DLH)设置,例如:如果divisor是24,则波特率为38400bps。对于FFUART(全功能串口)和STURAT(标准串口),Divisor设置值为4到2166-1;对于BTURAT(蓝牙串口),Divisor设置值为1到216-1。PXA270的UART相关寄存器每个UART都有13个寄存器。12个作为UART操作,另外1个作为慢速红外设置。各寄存器地址如下表

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功